/* ══════════════════════════════════════════════════════════
   IQSentral — Chatbot de Preguntas Frecuentes (v1.0)
   Respuestas predefinidas, sin IA. Usa las variables de color
   y tipografía ya definidas en main.css (:root).
   Pegar al final de main.css o encolar como archivo aparte.
   ══════════════════════════════════════════════════════════ */

.iq-faq-chat{position:fixed;right:24px;bottom:24px;z-index:200;font-family:'DM Sans',sans-serif;}

/* Botón flotante */
.iq-faq-toggle{position:relative;width:60px;height:60px;border-radius:50%;border:none;cursor:pointer;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 28px rgba(15,45,90,0.35);transition:background .22s,transform .22s,box-shadow .22s;}
.iq-faq-toggle:hover{background:var(--navy-mid);transform:translateY(-3px);box-shadow:0 14px 34px rgba(15,45,90,0.4);}
.iq-faq-toggle svg{width:26px;height:26px;position:absolute;transition:opacity .2s,transform .2s;}
.iq-faq-toggle .iq-faq-icon-close{opacity:0;transform:rotate(-45deg) scale(.6);}
.iq-faq-toggle.is-active .iq-faq-icon-chat{opacity:0;transform:rotate(45deg) scale(.6);}
.iq-faq-toggle.is-active .iq-faq-icon-close{opacity:1;transform:rotate(0) scale(1);}
.iq-faq-badge{position:absolute;top:-2px;right:-2px;width:18px;height:18px;border-radius:50%;background:var(--green);color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 2px #fff;}
.iq-faq-toggle.is-active .iq-faq-badge{display:none;}

/* Panel */
.iq-faq-panel{position:absolute;right:0;bottom:76px;width:360px;max-width:calc(100vw - 32px);max-height:min(560px,70vh);background:var(--white);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden;opacity:0;visibility:hidden;transform:translateY(16px) scale(.97);transform-origin:bottom right;transition:opacity .25s ease,transform .25s cubic-bezier(.34,1.56,.64,1),visibility .25s;}
.iq-faq-panel.is-open{opacity:1;visibility:visible;transform:translateY(0) scale(1);}

.iq-faq-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 18px;background:var(--navy);color:#fff;flex-shrink:0;}
.iq-faq-header-info{display:flex;align-items:center;gap:10px;}
.iq-faq-avatar{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.14);display:flex;align-items:center;justify-content:center;font-size:17px;flex-shrink:0;}
.iq-faq-header-info strong{display:block;font-family:'Sora',sans-serif;font-size:14px;font-weight:700;letter-spacing:-.2px;}
.iq-faq-status{display:flex;align-items:center;gap:5px;font-size:11.5px;color:rgba(255,255,255,.7);}
.iq-faq-status::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--green);}
.iq-faq-close{background:none;border:none;color:#fff;font-size:22px;line-height:1;cursor:pointer;padding:4px 8px;border-radius:8px;opacity:.8;transition:opacity .2s,background .2s;}
.iq-faq-close:hover{opacity:1;background:rgba(255,255,255,.12);}

.iq-faq-body{flex:1;overflow-y:auto;padding:18px;display:flex;flex-direction:column;gap:12px;background:var(--off-white);scroll-behavior:smooth;}
.iq-faq-body::-webkit-scrollbar{width:6px;}
.iq-faq-body::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px;}

.iq-faq-msg{max-width:86%;padding:11px 14px;border-radius:14px;font-size:13.5px;line-height:1.6;animation:iqFaqIn .28s ease both;}
@keyframes iqFaqIn{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:translateY(0);}}
.iq-faq-msg.bot{align-self:flex-start;background:var(--white);border:1px solid var(--border);color:var(--text-primary);border-bottom-left-radius:4px;}
.iq-faq-msg.user{align-self:flex-end;background:var(--navy);color:#fff;border-bottom-right-radius:4px;}

.iq-faq-questions{display:flex;flex-direction:column;gap:8px;align-self:stretch;}
.iq-faq-q-btn{text-align:left;background:var(--white);border:1px solid var(--border);color:var(--navy);font-family:'DM Sans',sans-serif;font-weight:500;font-size:13.5px;padding:10px 14px;border-radius:var(--radius-sm);cursor:pointer;transition:border-color .2s,background .2s,transform .2s,color .2s;}
.iq-faq-q-btn:hover{border-color:var(--navy);background:var(--navy-pale);transform:translateX(2px);}
.iq-faq-q-btn:focus-visible{outline:2px solid var(--navy);outline-offset:2px;}

.iq-faq-restart{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;background:var(--green-pale);color:var(--green-dark);border:1px solid var(--green-mid);font-family:'DM Sans',sans-serif;font-weight:600;font-size:12.5px;padding:8px 14px;border-radius:var(--radius-pill);cursor:pointer;transition:background .2s,transform .2s;}
.iq-faq-restart:hover{background:var(--green-mid);transform:translateY(-1px);}

.iq-faq-footer{flex-shrink:0;padding:12px 18px;border-top:1px solid var(--border);background:var(--white);text-align:center;}
.iq-faq-footer a{font-size:12.5px;font-weight:600;color:var(--navy);text-decoration:none;}
.iq-faq-footer a:hover{color:var(--green-dark);}

@media(max-width:480px){
  .iq-faq-chat{right:14px;bottom:14px;}
  .iq-faq-panel{width:calc(100vw - 28px);right:-8px;bottom:74px;}
}
