/* Chat guiado de precotización. Tokens del diseño vigente (fondo #E8EDEE, texto #16232C, encabezado #090F14). */
.cz-launch,.cz-panel{--cz-bg:#e8edee;--cz-ink:#16232c;--cz-muted:#4a5a64;--cz-head:#090f14;--cz-yellow:#ffda42;--cz-ease:cubic-bezier(.2,.8,.2,1);font-family:"COMJESA Sans","Avenir Next","Segoe UI",sans-serif}
.cz-launch[hidden],.cz-panel[hidden],#contact-form[hidden]{display:none!important}

/* Botón flotante: siempre a mano con el pulgar */
.cz-launch{position:fixed;right:16px;bottom:16px;z-index:1001;display:flex;align-items:center;gap:10px;min-height:56px;padding:0 22px 0 18px;border:0;border-radius:999px;background:var(--cz-yellow);color:#17202a;font-size:16px;font-weight:700;cursor:pointer;box-shadow:0 8px 24px rgba(9,15,20,.28);transition:transform .1s ease-out}
.cz-launch svg{width:22px;height:22px}
.cz-launch:active{transform:scale(.97)}
.cz-launch:focus-visible{outline:3px solid #075e8b;outline-offset:3px}

/* Panel: nace desde el botón (abajo a la derecha) y vuelve por el mismo camino */
.cz-panel{position:fixed;right:16px;bottom:16px;z-index:1002;display:flex;flex-direction:column;width:400px;max-width:calc(100vw - 32px);height:min(640px,calc(100dvh - 32px));background:var(--cz-bg);color:var(--cz-ink);border-radius:16px;overflow:hidden;box-shadow:0 24px 64px rgba(9,15,20,.35);transform-origin:bottom right;opacity:0;transform:translateY(16px) scale(.98);transition:opacity .24s var(--cz-ease),transform .24s var(--cz-ease)}
.cz-panel.cz-open{opacity:1;transform:none}
.cz-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 8px 14px 20px;background:var(--cz-head);color:#fff}
.cz-head .cz-title{margin:0;font-size:17px;font-weight:700;letter-spacing:-.01em;line-height:1.2;color:#fff}
.cz-head p:not(.cz-title){margin:2px 0 0;font-size:14px;color:#c9d3d8}
.cz-close{display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:999px;background:transparent;color:#fff;cursor:pointer}
.cz-close svg{width:22px;height:22px}
.cz-close:active{background:rgba(255,255,255,.12)}
.cz-close:focus-visible{outline:3px solid var(--cz-yellow);outline-offset:-3px}

/* Conversación */
.cz-log{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:20px 16px 8px;display:flex;flex-direction:column;gap:10px}
.cz-msg{margin:0;max-width:85%;padding:11px 14px;font-size:16px;line-height:1.45;border-radius:14px;white-space:pre-line;opacity:0;transform:translateY(8px);transition:opacity .2s ease-out,transform .2s ease-out}
.cz-msg.cz-in{opacity:1;transform:none}
.cz-bot{align-self:flex-start;background:#fff;color:var(--cz-ink);border-bottom-left-radius:4px}
.cz-yo{align-self:flex-end;background:var(--cz-ink);color:#fff;border-bottom-right-radius:4px}
.cz-preview{align-self:stretch;max-width:none;background:#fff;color:var(--cz-ink);font-size:15px;border-left:4px solid var(--cz-yellow);border-radius:4px}

/* Respuestas */
.cz-input{display:flex;flex-direction:column;gap:10px;padding:12px 16px 16px;background:var(--cz-bg)}
.cz-chips{display:flex;flex-wrap:wrap;gap:8px}
.cz-chip{min-height:44px;padding:10px 16px;border:0;border-radius:999px;background:#fff;color:var(--cz-ink);font:inherit;font-size:15px;font-weight:600;cursor:pointer;transition:background-color .15s ease-out,color .15s ease-out,transform .1s ease-out}
.cz-chip:hover{background:#d6e0e3}
.cz-chip:active{transform:scale(.97)}
.cz-chip[aria-pressed="true"]{background:var(--cz-ink);color:#fff}
.cz-input select,.cz-input input{width:100%;min-height:48px;padding:10px 12px;border:1px solid #b9c6cb;border-radius:8px;background:#fff;color:var(--cz-ink);font:inherit;font-size:16px}
.cz-input select:disabled{opacity:.55}
.cz-send{display:flex;align-items:center;justify-content:center;min-height:52px;padding:12px 20px;border:0;border-radius:999px;background:var(--cz-yellow);color:#17202a;font:inherit;font-size:16px;font-weight:700;text-decoration:none;cursor:pointer;transition:transform .1s ease-out}
.cz-send:active{transform:scale(.97)}
.cz-send:disabled{background:#d3dadc;color:#5d6b73;cursor:not-allowed}
.cz-alt{min-height:44px;padding:8px;border:0;background:transparent;color:var(--cz-ink);font:inherit;font-size:15px;font-weight:600;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.cz-help{margin:0;font-size:14px;color:var(--cz-muted)}
.cz-link{color:#075e8b;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.cz-bot .cz-link{display:inline-block;padding:4px 0}

/* Barra para escribir preguntas libres */
.cz-ask{display:flex;gap:8px;margin:0;padding:10px 12px 12px;background:#dfe6e8}
.cz-ask[hidden]{display:none}
.cz-ask input{flex:1;min-width:0;min-height:48px;padding:10px 16px;border:1px solid #b9c6cb;border-radius:999px;background:#fff;color:var(--cz-ink);font:inherit;font-size:16px}
.cz-qsend{display:grid;place-items:center;flex:none;width:48px;height:48px;border:0;border-radius:999px;background:var(--cz-ink);color:#fff;cursor:pointer;transition:transform .1s ease-out}
.cz-qsend svg{width:22px;height:22px}
.cz-qsend:active{transform:scale(.94)}
.cz-ask input:focus-visible,.cz-qsend:focus-visible{outline:3px solid #075e8b;outline-offset:2px}
.cz-input :focus-visible,.cz-chip:focus-visible,.cz-send:focus-visible,.cz-alt:focus-visible{outline:3px solid #075e8b;outline-offset:2px}
.cz-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Entrada al chat dentro de #contacto, en lugar del formulario anterior */
.cz-card{padding:28px;background:#fff;border-radius:16px;color:#16232c;font-family:"COMJESA Sans","Avenir Next",sans-serif}
.cz-card-title{margin:0 0 8px;font-size:22px;font-weight:700;letter-spacing:-.02em;line-height:1.2}
.cz-card p{font-size:16px;line-height:1.5;color:#3d4d57}
.cz-start{width:100%;min-height:56px;margin-top:8px;border:0;border-radius:999px;background:#ffda42;color:#17202a;font:inherit;font-size:17px;font-weight:700;cursor:pointer;transition:transform .1s ease-out}
.cz-start:active{transform:scale(.97)}
.cz-start:focus-visible{outline:3px solid #075e8b;outline-offset:3px}

/* Celular: hoja que sube desde abajo, a todo lo ancho */
@media (max-width:560px){
  .cz-launch{right:12px;bottom:12px}
  .cz-panel{right:0;bottom:0;width:100%;max-width:none;height:88dvh;border-radius:16px 16px 0 0;transform-origin:bottom center}
}
@media (prefers-reduced-motion:reduce){
  .cz-panel,.cz-msg{transform:none!important;transition:opacity .15s linear}
  .cz-launch,.cz-chip,.cz-send,.cz-start{transition:none}
}
