/* Chat de la tienda (etapa 3, paso 2): botón flotante y ventana. Usa las variables de tienda.css. */
.chat-raiz{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:calc(env(safe-area-inset-bottom,0px) + 16px);z-index:60;display:grid;justify-items:end;gap:10px}
.chat-boton{position:relative;display:flex;align-items:center;gap:8px;padding:13px 18px;border:0;cursor:pointer;color:#fff;background:linear-gradient(90deg,var(--fucsia),var(--lila));font:400 16px/1 var(--titulo);text-transform:uppercase;letter-spacing:.04em;clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%);box-shadow:0 10px 30px #FF2E9355}
.chat-boton span{font-size:20px}
.chat-boton i{position:absolute;top:-6px;right:2px;min-width:22px;height:22px;padding:0 6px;display:grid;place-items:center;background:var(--lima);color:var(--tinta);font:700 12px/1 var(--hud);border-radius:11px;font-style:normal}
.chat-raiz.abierto .chat-boton{display:none}
.chat-panel{width:min(380px,calc(100vw - 32px));height:min(580px,calc(100dvh - 120px));display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;background:var(--panel);border:1px solid var(--borde);box-shadow:0 30px 60px -20px #000;clip-path:var(--corte)}
.chat-panel[hidden]{display:none}
.chat-encab{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;border-bottom:1px solid var(--borde);background:linear-gradient(90deg,#FF2E9322,#9B5CFF22)}
.chat-encab b{display:block;font:400 17px/1.1 var(--titulo);text-transform:uppercase}
.chat-encab small{color:var(--suave);font-size:13px}
.chat-cerrar{width:38px;height:38px;border:1px solid var(--borde);background:var(--noche);color:var(--texto);cursor:pointer}
.chat-lista{overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px;overscroll-behavior:contain}
.chat-vacio{margin:auto 0;text-align:center;color:var(--suave);padding:10px}
.chat-vacio b{display:block;color:var(--texto);font:400 20px/1.2 var(--titulo);margin-bottom:6px}
.chat-vacio p{margin:6px 0}
.chat-horario{font-size:13px}
.chat-msj{max-width:85%;padding:9px 12px;font-size:15px;line-height:1.4;overflow-wrap:anywhere}
.chat-msj p{margin:0}
.chat-msj time{display:block;margin-top:4px;font-size:11px;opacity:.7;text-align:right}
.chat-msj.mio{align-self:flex-end;background:linear-gradient(135deg,#FF2E93,#C2257A);color:#fff}
.chat-msj.equipo{align-self:flex-start;background:var(--noche2);border:1px solid var(--borde)}
.chat-msj.del-sistema{align-self:center;max-width:95%;background:#C6F43212;border:1px dashed #C6F43266;font-size:14px}
.chat-de{display:block;font:700 11px/1.3 var(--hud);letter-spacing:.08em;text-transform:uppercase;color:var(--lima);margin-bottom:3px}
.chat-pedido{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;margin-bottom:6px}
.chat-pedido b{font:700 14px/1.2 var(--hud);letter-spacing:.06em;color:var(--lima)}
.chat-pedido span{font-size:13px;color:var(--suave)}
.chat-pedido a{font-size:13px;color:var(--menta)}
.chat-foto{display:block;margin-top:6px;padding:0;border:0;background:var(--noche);cursor:zoom-in;color:var(--suave);font-size:13px;min-height:40px;min-width:120px}
.chat-foto img{display:block;max-width:220px;max-height:260px;width:auto;height:auto}
.chat-error{margin:0;padding:8px 14px;color:var(--rosa);font-size:13px;border-top:1px solid var(--borde)}
.chat-escribir{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:end;padding:10px;border-top:1px solid var(--borde);background:var(--noche2)}
.chat-escribir textarea{resize:none;min-height:42px;max-height:120px;padding:10px 12px;background:var(--noche);border:1px solid var(--borde);color:var(--texto);font:500 16px/1.35 var(--body)}
.chat-escribir textarea:focus{outline:2px solid var(--fucsia);outline-offset:-1px}
.chat-adjuntar{position:relative;display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--borde);background:var(--noche);cursor:pointer;font-size:18px}
.chat-adjuntar input{position:absolute;opacity:0;width:1px;height:1px}
.chat-adjuntar:focus-within{outline:2px solid var(--fucsia)}
.chat-enviar{width:46px;height:42px;border:0;cursor:pointer;background:linear-gradient(90deg,var(--fucsia),var(--lila));color:#fff;font-size:18px}
.solo-lector{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.chat-capa{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:16px;background:#0C0612ee;cursor:zoom-out}
.chat-capa img{max-width:100%;max-height:100%}
@media (max-width:600px){
  .chat-raiz.abierto{inset:0;right:0;bottom:0}
  .chat-raiz.abierto .chat-panel{width:100vw;height:100dvh;clip-path:none;border:0;padding-bottom:env(safe-area-inset-bottom,0px)}
}

/* ---- Tarjeta de precios y videos (paso 4b) ---- */
.chat-video{margin-top:6px;color:var(--suave);font-size:13px}
.chat-video video{display:block;width:100%;max-width:260px;max-height:360px;background:#000}
.chat-precios{margin-top:4px;display:grid;gap:5px;min-width:220px}
.chat-precios-cab{display:grid;gap:2px;margin-bottom:4px}
.chat-precios-cab b{font:400 16px/1.1 var(--titulo);text-transform:uppercase;color:var(--lima)}
.chat-precios-cab span{font-size:12px;color:var(--suave)}
.chat-precios-grupo{margin-top:6px;font:700 11px/1 var(--hud);letter-spacing:.1em;text-transform:uppercase;color:var(--rosa)}
.chat-paquete{display:flex;justify-content:space-between;gap:10px;align-items:center;width:100%;padding:9px 10px;border:1px solid var(--borde);background:var(--noche);color:var(--texto);cursor:pointer;font:600 14px/1.2 var(--body);text-align:left}
.chat-paquete b{font:700 13px/1 var(--hud);color:var(--lima);white-space:nowrap}
.chat-paquete:hover,.chat-paquete:focus-visible{border-color:var(--fucsia);background:#FF2E931a}
.chat-precios-pie{margin:4px 0 0;font-size:12px;color:var(--suave)}

/* ---- Estilo de app de mensajes (12/oct, Paula: «sí», como la bandeja): cabecera con avatar, separadores de día,
   globos redondeados con quién y la hora debajo, y caja de escribir redonda con 📎 y enviar redondo. ---- */
.chat-encab{justify-content:flex-start;gap:12px}
.chat-encab-t{flex:1;min-width:0}
.chat-av{position:relative;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;flex:none;font:400 17px/1 var(--titulo);color:#fff;
  background:radial-gradient(circle at 30% 25%,#ffffff44,transparent 60%),linear-gradient(135deg,var(--fucsia),var(--lila))}
.chat-av.en-linea::after{content:"";position:absolute;right:0;bottom:1px;width:11px;height:11px;border-radius:50%;background:var(--menta);border:2px solid var(--panel)}
.chat-cerrar{border-radius:50%;border-color:transparent;background:#ffffff0d}
.chat-lista{gap:4px;padding:14px 14px 10px}
.chat-dia{align-self:center;margin:12px 0 6px;padding:5px 12px;border-radius:999px;background:#ffffff0a;color:var(--suave);font:600 12px/1 var(--body)}
.chat-msj{padding:0;background:none!important;border:0!important;max-width:82%;display:flex;flex-direction:column;gap:3px;margin-top:6px}
.chat-msj.mio{align-items:flex-end}
.chat-msj.equipo{align-items:flex-start}
.chat-msj.del-sistema{align-self:center;max-width:94%;align-items:center}
.chat-msj>time{margin:0 6px;font-size:11px;color:var(--suave);opacity:1;text-align:inherit}
.chat-globo{padding:10px 14px;border-radius:20px;font-size:15px;line-height:1.42;overflow-wrap:anywhere;max-width:100%}
.chat-globo p{margin:0}
.chat-msj.mio .chat-globo{background:linear-gradient(135deg,var(--fucsia),#B02CC8);color:#fff;border-bottom-right-radius:6px;box-shadow:0 6px 16px #FF2E9333}
.chat-msj.mio .chat-globo a{color:#fff}
.chat-msj.equipo .chat-globo{background:#2A1D3B;border-bottom-left-radius:6px}
.chat-msj.del-sistema .chat-globo{background:#ffffff08;border:1px solid #ffffff16;border-radius:16px;font-size:14px}
.chat-globo .chat-foto{margin:2px -6px -4px;background:none;border-radius:14px;overflow:hidden}
.chat-globo .chat-foto img{border-radius:14px}
.chat-globo .chat-paquete{border-radius:10px}
.chat-escribir{display:block;padding:10px 12px 12px;background:transparent}
.chat-caja{display:flex;align-items:flex-end;gap:2px;padding:4px 4px 4px 6px;border-radius:26px;background:#ffffff0a;border:1px solid var(--borde)}
.chat-caja:focus-within{border-color:#FF2E9380}
.chat-escribir textarea{flex:1;min-width:0;min-height:40px;padding:9px 6px;border:0;background:none;outline:none}
.chat-escribir textarea:focus{outline:none}
.chat-adjuntar{width:40px;height:40px;border:0;border-radius:50%;background:none}
.chat-adjuntar:hover{background:#ffffff12}
.chat-adjuntar:focus-within{outline:2px solid var(--fucsia);outline-offset:-2px}
.chat-enviar{width:40px;height:40px;border-radius:50%;flex:none;font-size:16px;box-shadow:0 4px 14px #FF2E9350}

/* ---- El mensaje del pedido, distinto (12/oct, Paula: «debería ser de color diferente puesto que es el pedido»):
   tarjeta verde lima, el número grande, el estado como etiqueta de color y «Ver mi pedido» como botón. ---- */
.chat-msj.con-pedido{max-width:94%;width:100%}
.chat-msj.con-pedido .chat-globo{width:100%;padding:0;overflow:hidden;border-radius:16px;background:linear-gradient(160deg,#C6F4321f,#C6F43208);border:1px solid #C6F43266;box-shadow:0 8px 22px -10px #C6F43255}
.chat-msj.con-pedido .chat-globo>p{padding:10px 14px 0;font-size:14px}
.chat-msj.con-pedido .chat-pedido{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 10px;margin:0;padding:10px 14px;background:#C6F4321a;border-bottom:1px solid #C6F43233}
.chat-pedido .cp-t{font:600 13px/1.2 var(--body);color:var(--texto)}
.cp-t b{font:700 16px/1 var(--hud);letter-spacing:.06em;color:var(--lima);margin-left:2px}
.chat-pedido .cp-est{padding:4px 9px;border-radius:999px;font:700 11px/1.1 var(--body);border:1px solid currentColor;color:var(--oro);background:#00000026}
.chat-pedido .cp-est.est-comprobante_ok,.chat-pedido .cp-est.est-pago_aprobado,.chat-pedido .cp-est.est-entregado{color:var(--menta)}
.chat-pedido .cp-est.est-enviando,.chat-pedido .cp-est.est-por_revisar{color:#B98CFF}
.chat-pedido .cp-est.est-rechazado,.chat-pedido .cp-est.est-cancelado{color:var(--rosa)}
.cp-ver{display:block;margin:10px 14px 12px;padding:9px 12px;border-radius:10px;background:var(--lima);color:#151a00!important;text-align:center;text-decoration:none;font:700 13px/1 var(--body)}
.cp-ver:hover{filter:brightness(1.08)}
.chat-msj.con-pedido .chat-globo>:last-child:not(.cp-ver){margin-bottom:12px}

/* ---- Tarjeta de precios (12/oct, Paula): el precio en una píldora verde para que resalte, y «🛒 Hacer mi pedido aquí»
   (elegir varios paquetes en el chat, ver el total, poner el ID e inmediata/reserva y mandarlo). ---- */
.chat-paquete b{padding:5px 9px;border-radius:8px;background:var(--lima);color:#151a00;font:700 13px/1 var(--body);letter-spacing:0}
.chat-precios-pie{line-height:1.4}
.chat-armar-abrir{margin-top:4px;width:100%;padding:11px 12px;border:0;border-radius:12px;cursor:pointer;color:#fff;font:700 14px/1.2 var(--body);
  background:linear-gradient(135deg,var(--fucsia),var(--lila));box-shadow:0 6px 16px -6px #FF2E9399}
.chat-armar-abrir:hover{filter:brightness(1.08)}
.chat-paquete.eligiendo{padding:0;gap:0;cursor:default}
.chat-paquete.eligiendo .cp-sumar{flex:1;min-width:0;display:flex;justify-content:space-between;align-items:center;gap:8px;padding:9px 6px 9px 10px;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}
.chat-paquete.eligiendo.activo{border-color:var(--lima);background:#C6F43212}
.cp-cant{display:flex;align-items:center;gap:2px;padding-right:6px;flex:none}
.cp-cant button{width:28px;height:28px;border-radius:50%;border:1px solid var(--borde);background:#ffffff0d;color:var(--texto);font:700 16px/1 var(--body);cursor:pointer}
.cp-cant button:hover{border-color:var(--lima)}
.cp-cant i{min-width:18px;text-align:center;font:700 14px/1 var(--body);font-style:normal;color:var(--lima)}
.chat-armar{display:grid;gap:8px;margin-top:6px;padding:10px;border-radius:12px;background:#ffffff08;border:1px solid #ffffff14}
.ca-total{margin:0;font-size:14px;color:var(--suave)}
.ca-total b{color:var(--lima);font-size:16px}
.ca-campos{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px}
.ca-campos label{display:grid;gap:4px;font-size:12px;color:var(--suave)}
.ca-campos input,.ca-campos select{width:100%;min-width:0;padding:9px 10px;border-radius:10px;border:1px solid var(--borde);background:var(--noche);color:var(--texto);font:500 15px/1.2 var(--body)}
.ca-campos input:focus,.ca-campos select:focus{outline:none;border-color:var(--fucsia)}
.ca-nota{margin:0;font-size:13px;color:var(--suave)}
.ca-tipo{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.ca-tipo button{padding:9px 6px;border-radius:10px;border:1px solid var(--borde);background:none;color:var(--texto);font:600 13px/1.2 var(--body);cursor:pointer}
.ca-tipo button[aria-pressed="true"]{border-color:var(--lima);background:#C6F4321a;color:var(--lima)}
.ca-error{margin:0;font-size:13px;color:var(--rosa)}
.ca-botones{display:flex;gap:8px}
.ca-enviar{flex:1;padding:11px 12px;border:0;border-radius:12px;background:var(--lima);color:#151a00;font:700 14px/1.2 var(--body);cursor:pointer}
.ca-enviar:disabled{opacity:.45;cursor:not-allowed}
.ca-cancelar{padding:11px 12px;border-radius:12px;border:1px solid var(--borde);background:none;color:var(--suave);font:600 13px/1.2 var(--body);cursor:pointer}
.chat-precios-cab+.chat-precios-pie{margin:0 0 2px}
.chat-precios-cab+.chat-precios-pie+.chat-armar-abrir{margin:0 0 6px}
.ca-barra{position:sticky;bottom:6px;z-index:2;display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;width:100%;margin-top:6px;padding:10px 12px;border:0;border-radius:12px;cursor:pointer;text-align:left;
  background:var(--lima);color:#151a00;font:600 14px/1.2 var(--body);box-shadow:0 8px 20px -6px #000c}
.ca-barra b{font-weight:800}
.ca-barra span{margin-left:auto;font-weight:800}
/* Eligiendo: el nombre arriba y el precio debajo (sin partir las palabras), las cantidades a la derecha; la tarjeta más ancha. */
.chat-msj.equipo:has(.chat-precios){max-width:94%}
.chat-paquete span{overflow-wrap:normal;word-break:normal}
.chat-paquete.eligiendo .cp-sumar{flex-direction:column;align-items:flex-start;gap:6px}
/* «Verificar mi ID»: el nombre de la cuenta encontrada, o que no existe (y entonces no se puede enviar). */
.ca-ver{margin:0;padding:8px 10px;border-radius:10px;font-size:13px;line-height:1.35;background:#ffffff0a;color:var(--suave)}
.ca-ver.ok{background:#3EE6A614;color:var(--menta)}
.ca-ver.ok b{color:var(--texto)}
.ca-ver.no_existe{background:#FF86C414;color:var(--rosa)}
/* Botón del chat (12/oct, Paula: «la burbuja sale cortada, no como círculo», «la letra CHAT se pierde un poco»): el corte
   va en el fondo (::before) y no en el botón, así el globito del número sale redondo y completo; fondo más oscuro y la
   letra con sombra para que se lea mejor. */
.chat-boton{clip-path:none;background:none;isolation:isolate;box-shadow:none;filter:drop-shadow(0 8px 16px #FF2E9350);font-size:17px;letter-spacing:.06em;text-shadow:0 1px 3px #0008}
.chat-boton::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#E8137A,#7A35E8);clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%)}
.chat-boton i{top:-10px;right:-8px;box-sizing:border-box;min-width:24px;height:24px;padding:0 6px;border-radius:12px;border:2px solid var(--noche);font-size:12px;text-shadow:none}
/* Venezuela: el equivalente en bolívares debajo del nombre del paquete (12/oct). */
.cp-bs{display:block;margin-top:2px;font:500 11.5px/1.2 var(--body);color:var(--suave)}
/* Antes de cambiar a otro chat por un enlace (12/oct, seguridad) */
.chat-cambiar{display:grid;gap:6px;margin-bottom:8px;padding:12px;border-radius:14px;border:1px solid #FFC94A66;background:#FFC94A14;font-size:14px}
.chat-cambiar p{margin:0;color:var(--suave)}
.chat-cambiar span{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}
.chat-cambiar button{padding:9px 12px;border-radius:10px;border:1px solid var(--borde);background:var(--noche);color:var(--texto);cursor:pointer;font:600 13px/1 var(--body)}
.chat-cambiar button.no{background:var(--lima);color:#151a00;border-color:transparent}

/* Avisos al aparato del cliente (12/oct): el ofrecimiento arriba del chat. */
.chat-avisos{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;padding:10px 14px;border-bottom:1px solid var(--borde);background:linear-gradient(90deg,#9B5CFF1f,#FF2E931a);font-size:13.5px;line-height:1.35}
.chat-avisos[hidden]{display:none}
.chat-avisos>span:first-child{flex:1 1 200px}
.ca-av-botones{display:flex;gap:6px}
.chat-avisos button{padding:8px 12px;border-radius:999px;border:1px solid var(--borde);background:var(--noche);color:var(--texto);cursor:pointer;font:600 12.5px/1 var(--body)}
.chat-avisos button[data-avisos="si"]{background:var(--lima);color:#151a00;border-color:transparent}
.chat-panel{grid-template-rows:auto auto minmax(0,1fr) auto auto}
.chat-encab{grid-row:1}.chat-avisos{grid-row:2}.chat-lista{grid-row:3}.chat-error{grid-row:4}.chat-escribir{grid-row:5}

/* Etiquetas del paquete en la tarjeta de precios del chat (12/oct), como en la tienda */
.cp-aviso{display:block;width:max-content;max-width:100%;margin-top:4px;padding:3px 7px;border-radius:6px;font:700 10.5px/1.2 var(--body)}
.cp-aviso-demora{background:var(--oro);color:var(--tinta)}
.cp-aviso-eventos{background:linear-gradient(90deg,var(--fucsia),var(--lila));color:#fff}

/* Medios de pago en el chat (12/oct): cada dato con «Copiar» y el QR con «Guardar QR» */
.chat-pagos{margin-top:4px;display:grid;gap:8px;min-width:min(250px,100%)}
.chat-pagos-cab{display:grid;gap:2px}
.chat-pagos-cab b{font:400 16px/1.1 var(--titulo);text-transform:uppercase;color:var(--lima)}
.chat-pagos-cab span{font-size:12px;color:var(--suave)}
.cpg-medio{display:grid;gap:6px;padding:10px;border:1px solid var(--borde);border-radius:10px;background:var(--noche)}
.cpg-medio>b{font:700 12.5px/1.2 var(--hud);letter-spacing:.05em;text-transform:uppercase;color:var(--rosa)}
.cpg-linea{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center}
.cpg-linea span{font-size:12px;color:var(--suave)}
.cpg-linea code{font:700 14px/1.3 var(--hud);letter-spacing:.03em;overflow-wrap:anywhere;color:var(--texto)}
.cpg-copiar{border:0;border-radius:8px;padding:6px 10px;cursor:pointer;background:var(--lima);color:#151a00;font:700 12px/1 var(--body)}
.cpg-copiar.hecho{background:var(--menta)}
.cpg-nota,.cpg-aviso,.cpg-pie{margin:0;font-size:12.5px;line-height:1.4;color:var(--suave)}
.cpg-aviso{color:var(--texto)}
.cpg-qr{display:grid;justify-items:center;gap:6px;margin-top:2px}
.chat-qr{border:0;padding:0;background:none;cursor:zoom-in;display:block}
.chat-qr img{display:block;width:180px;max-width:100%;height:auto;border-radius:10px;background:#fff}
.cpg-guardar{display:inline-block;padding:6px 12px;border-radius:8px;border:1px solid var(--borde);background:var(--panel);color:var(--texto);font:700 12px/1 var(--body);text-decoration:none}
.cpg-guardar:hover,.cpg-copiar:focus-visible,.cpg-guardar:focus-visible{outline:2px solid var(--lima);outline-offset:1px}
/* El nombre del dato arriba y el valor con todo el ancho (los números largos no se parten feo) */
.cpg-linea{grid-template-columns:minmax(0,1fr) auto;row-gap:1px}
.cpg-linea span{grid-column:1/-1}
.cpg-linea i{display:none}

/* Tarjeta segura de datos de acceso (Call of Duty, 13/oct) */
.chat-acceso{margin-top:6px}
.cac-form{display:grid;gap:8px;padding:10px;border:1px solid #FFC94A66;border-radius:12px;background:#FFC94A10}
.cac-form label{display:grid;gap:4px;font:600 12.5px/1.3 var(--body);color:var(--suave)}
.cac-form input[type=email],.cac-form input[type=password],.cac-form input[type=text]{min-width:0;padding:9px 10px;border-radius:9px;border:1px solid var(--borde);background:var(--noche);color:var(--texto);font:500 15px/1.2 var(--body)}
.cac-clave{display:flex;gap:4px}
.cac-clave input{flex:1}
.cac-clave button{flex:none;width:40px;border:1px solid var(--borde);border-radius:9px;background:var(--noche2);color:var(--texto);cursor:pointer}
.cac-acepta{display:flex!important;grid-template-columns:none;align-items:flex-start;gap:8px!important;color:var(--texto)!important;cursor:pointer}
.cac-acepta input{margin-top:2px;width:17px;height:17px;flex:none;accent-color:var(--lima)}
/* Con qué entra y los pantallazos de los códigos (13/oct) */
.cac-entra{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;border:0;min-width:0}
.cac-entra legend{padding:0;margin-bottom:5px;font:600 12.5px/1.3 var(--body);color:var(--suave)}
.cac-form .cac-entra label{position:relative;display:inline-flex;align-items:center;padding:8px 12px;border:1px solid var(--borde);border-radius:999px;background:var(--noche);color:var(--texto);cursor:pointer;font:600 13px/1 var(--body)}
.cac-entra input{position:absolute;opacity:0;width:1px;height:1px}
.cac-form .cac-entra label:has(input:checked){border-color:var(--lima);background:#C6F4321f;color:var(--lima)}
.cac-entra label:has(input:focus-visible){outline:2px solid var(--lima);outline-offset:2px}
.cac-codigos{display:grid;gap:7px;padding:9px 10px;border-radius:10px;background:#00000030;font-size:12.5px;line-height:1.4}
.cac-codigos[hidden]{display:none}
.cac-codigos p{margin:0}
.cac-cod-ayuda{justify-self:start;color:var(--lima);font-weight:700}
.cac-fotos{display:flex;flex-wrap:wrap;gap:6px}
.cac-fotos:empty{display:none}
.cac-foto{position:relative;width:62px;height:82px;border-radius:8px;overflow:hidden;border:1px solid var(--borde);background:#000}
.cac-foto img{width:100%;height:100%;object-fit:cover}
.cac-foto button{position:absolute;top:3px;right:3px;width:22px;height:22px;border:0;border-radius:50%;background:#000c;color:#fff;cursor:pointer;font-size:14px;line-height:1}
.cac-form .cac-subir{position:relative;justify-self:start;display:inline-flex;padding:9px 12px;border:1px solid var(--lima);border-radius:9px;color:var(--lima);cursor:pointer;font:700 13px/1 var(--body)}
.cac-form .cac-subir[hidden]{display:none}
.cac-subir input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.cac-error{margin:0;color:#ff8fb8;font-size:12.5px}
.cac-enviar{padding:10px 12px;border:0;border-radius:10px;background:var(--lima);color:#151a00;font:700 14px/1 var(--body);cursor:pointer}
.cac-enviar:disabled{opacity:.6;cursor:default}
.cac-listo{margin:0;padding:9px 11px;border-radius:10px;background:#3EE6A61a;border:1px solid #3EE6A655;font-size:13px}
.cp-acceso{color:var(--texto)!important}

/* Roblox (13/oct): los grupos en la tarjeta de precios */
.cp-grupos{display:flex;flex-wrap:wrap;gap:5px;margin:2px 0 4px}
.cp-grupos p{flex-basis:100%;margin:0 0 2px;font-size:12.5px;line-height:1.4;color:var(--texto)}
.cp-grupos a{padding:5px 9px;border-radius:8px;border:1px solid var(--borde);background:var(--noche);color:var(--texto);font:600 12px/1.2 var(--body);text-decoration:none}
.cp-grupos a:hover{border-color:var(--lima)}

/* La foto de la asesora al lado de sus mensajes (13/oct) */
.chat-msj.equipo.con-foto{position:relative;margin-left:36px}
.chat-msj-foto{position:absolute;left:-36px;top:0;width:28px;height:28px;border-radius:50%;overflow:hidden;display:grid;place-items:center;
  background:radial-gradient(circle at 30% 25%,#ffffff55,transparent 60%),#B98CFF;color:#160b20;font:800 12px/1 var(--body,system-ui,sans-serif)}
.chat-msj-foto img{width:100%;height:100%;object-fit:cover;display:block}
.chat-msj.equipo.con-foto.con-pedido{width:calc(100% - 36px);max-width:calc(94% - 36px)}
#chat-av.con-foto{background:#1B0F28}
#chat-av.con-foto img{width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block}
.chat-msj.mio.con-foto{position:relative;margin-right:36px}
.chat-msj.mio .chat-msj-foto{left:auto;right:-36px}
.chat-msj.mio.con-foto.con-pedido{width:calc(100% - 36px);max-width:calc(94% - 36px)}
/* Un solo punto verde de «en línea», arriba (13/oct, Paula: «sale doble círculo verde… el de al lado no porque tapa la foto») */
.chat-av.en-linea::after{display:none}
.chat-av.en-linea::before{position:absolute;top:0;left:0;margin:0;width:10px;height:10px;border:2px solid var(--panel);z-index:1}

/* ---- Tarjetita de estado del pedido (13/oct, Paula: «mensajes más profesionales»): título con el color del estado,
   el número del pedido, los datos en filas y el siguiente paso. Verde: pago y entregado; morado: recibido y en proceso;
   dorado: reserva; rosa: rechazado y anulado. ---- */
.chat-msj.con-estado{max-width:94%;width:100%}
.chat-msj.con-estado .chat-globo{width:100%;padding:0;overflow:hidden;border-radius:16px;background:#ffffff08;border:1px solid #ffffff1f}
.chat-msj.con-estado .chat-globo:has(.est-pago),.chat-msj.con-estado .chat-globo:has(.est-entregado){border-color:#3EE6A655}
.chat-msj.con-estado .chat-globo:has(.est-rechazado),.chat-msj.con-estado .chat-globo:has(.est-anulado){border-color:#FF86C455}
.chat-msj.con-estado .chat-globo:has(.est-reserva){border-color:#FFC94A55}
.chat-estado{--ce:#B98CFF;display:grid}
.chat-estado.est-pago,.chat-estado.est-entregado{--ce:var(--menta)}
.chat-estado.est-reserva{--ce:var(--oro)}
.chat-estado.est-rechazado,.chat-estado.est-anulado{--ce:var(--rosa)}
.ce-cab{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:11px 14px;background:#ffffff0a;background:color-mix(in srgb,var(--ce) 13%,transparent);border-bottom:1px solid #ffffff14}
.ce-ico{font-size:16px;line-height:1}
.ce-tit{font:700 14.5px/1.25 var(--body);color:var(--ce)}
.ce-ped{margin-left:auto;padding:4px 9px;border-radius:999px;background:#00000033;font:700 12.5px/1 var(--hud);letter-spacing:.06em;color:var(--texto)}
.ce-cuerpo{display:grid;gap:8px;padding:12px 14px 13px}
.ce-filas{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 14px;margin:0;font-size:13.5px}
.ce-filas dt{color:var(--suave)}
.ce-filas dd{margin:0;font-weight:700;overflow-wrap:anywhere}
.ce-texto{margin:0;font-size:14px;line-height:1.5}
.ce-pie{margin:0;font-size:13px;color:var(--suave)}
.chat-msj.con-estado .cp-ver{margin-top:0}

/* «🧾 Ver mi recibo» en la tarjetita de «Recarga completada» y la ventana del recibo (13/oct) */
.ce-recibo{justify-self:start;margin-top:2px;padding:9px 14px;border-radius:12px;border:1px solid #3EE6A688;background:#3EE6A61a;color:var(--menta);font:700 13.5px/1 var(--body);cursor:pointer}
.ce-recibo:hover{background:#3EE6A62e}
.recibo-capa{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:16px;background:#05020acc;overflow:auto}
.recibo-caja{width:min(460px,100%);display:grid;gap:12px;padding:16px;border-radius:18px;background:#160e20;border:1px solid #ffffff1f;box-shadow:0 20px 60px #000a}
.recibo-cab{display:flex;align-items:center;gap:10px}
.recibo-cab b{font:700 16px/1.2 var(--body)}
.recibo-x{margin-left:auto;width:36px;height:36px;border:0;border-radius:10px;background:#ffffff14;color:var(--texto);font-size:16px;cursor:pointer}
.recibo-img{width:100%;height:auto;border-radius:12px}
.recibo-guardar{display:block;padding:12px;border-radius:12px;background:var(--lima);color:#151a00!important;text-align:center;text-decoration:none;font:700 14px/1 var(--body)}
.recibo-nota,.recibo-cargando{margin:0;font-size:12.5px;color:var(--suave);text-align:center}
