/* ===========================================================
   Asistente virtual Strategik — widget de chat
   Tokens alineados con el tema (Manrope + azul Strategik).
   =========================================================== */
.sa-root{
  --sa-blue:#2C5EFB;--sa-blue-deep:#1A3FBF;--sa-ink:#0A0E1A;--sa-ink-2:#2A3142;
  --sa-ink-3:#5A6376;--sa-ink-4:#8A92A6;--sa-paper:#fff;--sa-paper-2:#F5F7FB;
  --sa-line:#E8EAF0;--sa-shadow:0 18px 48px rgba(16,24,40,.22);
  font-family:'Manrope',system-ui,sans-serif;
}
.sa-root *{box-sizing:border-box}

/* Lanzador */
.sa-launch{
  position:fixed;right:22px;bottom:88px;z-index:99998;
  display:inline-flex;align-items:center;justify-content:center;
  width:60px;height:60px;padding:0;border-radius:50%;
  background:var(--sa-blue);color:#fff;border:0;cursor:pointer;
  box-shadow:var(--sa-shadow);transition:transform .18s ease,background .18s ease;
}
.sa-launch:hover{background:var(--sa-blue-deep);transform:translateY(-2px)}
.sa-launch svg{width:26px;height:26px;flex:none}
.sa-launch .sa-launch-t,.sa-launch .sa-dot{display:none}
/* Tooltip con estilo propio, a la izquierda del icono */
.sa-launch::after{content:attr(data-tip);position:absolute;right:70px;top:50%;transform:translateY(-50%) translateX(6px);background:var(--sa-ink-2);color:#fff;font-size:.82rem;font-weight:600;padding:7px 12px;border-radius:9px;white-space:nowrap;box-shadow:var(--sa-shadow);opacity:0;pointer-events:none;transition:opacity .18s ease,transform .18s ease}
.sa-launch:hover::after{opacity:1;transform:translateY(-50%) translateX(0)}
@media (max-width:520px){.sa-launch{bottom:80px}.sa-launch::after{display:none}}

/* Aviso de entrada (una vez, descartable) */
.sa-nudge{position:fixed;right:22px;bottom:152px;z-index:99998;max-width:264px;background:#fff;border:1px solid var(--sa-line);border-radius:14px;box-shadow:var(--sa-shadow);padding:13px 32px 13px 15px;cursor:pointer;animation:sa-in .25s ease}
.sa-nudge-t{font-size:.9rem;font-weight:600;color:var(--sa-ink-2);line-height:1.4;display:block}
.sa-nudge-x{position:absolute;top:5px;right:8px;background:none;border:0;color:var(--sa-ink-4);font-size:1.15rem;line-height:1;cursor:pointer;padding:2px}
.sa-nudge::after{content:"";position:absolute;right:28px;bottom:-7px;width:13px;height:13px;background:#fff;border-right:1px solid var(--sa-line);border-bottom:1px solid var(--sa-line);transform:rotate(45deg)}
@media (max-width:520px){.sa-launch{bottom:80px}.sa-nudge{right:16px;bottom:142px;max-width:calc(100vw - 90px)}}

/* Panel */
.sa-panel{
  position:fixed;right:22px;bottom:22px;z-index:99999;
  width:390px;max-width:calc(100vw - 32px);height:600px;max-height:calc(100vh - 44px);
  background:var(--sa-paper);border:1px solid var(--sa-line);border-radius:20px;
  box-shadow:var(--sa-shadow);display:none;flex-direction:column;overflow:hidden;
}
.sa-panel.sa-open{display:flex;animation:sa-in .22s ease}
@keyframes sa-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media (max-width:520px){.sa-panel{right:0;bottom:0;width:100vw;height:100dvh;max-height:100dvh;border-radius:0;border:0}}

/* Cabecera */
.sa-head{background:linear-gradient(135deg,var(--sa-blue),var(--sa-blue-deep));color:#fff;padding:16px 18px;display:flex;align-items:center;gap:12px}
.sa-head-ic{width:38px;height:38px;border-radius:11px;background:rgba(255,255,255,.16);display:grid;place-items:center;flex:none}
.sa-head-ic svg{width:21px;height:21px}
.sa-head-t{font-weight:800;font-size:1rem;line-height:1.15}
.sa-head-s{font-size:.76rem;opacity:.85;display:flex;align-items:center;gap:6px;margin-top:2px}
.sa-head-s .sa-dot{width:7px;height:7px;border-radius:50%;background:#49E27B}
.sa-close{margin-left:auto;background:rgba(255,255,255,.12);border:0;color:#fff;width:32px;height:32px;border-radius:9px;cursor:pointer;font-size:1.1rem;line-height:1;transition:background .15s}
.sa-close:hover{background:rgba(255,255,255,.26)}

/* Mensajes */
.sa-body{flex:1;overflow-y:auto;padding:18px;background:var(--sa-paper-2);display:flex;flex-direction:column;gap:12px;scroll-behavior:smooth}
.sa-msg{max-width:88%;padding:11px 14px;border-radius:14px;font-size:.92rem;line-height:1.5;white-space:pre-wrap;word-wrap:break-word}
.sa-bot{background:#fff;border:1px solid var(--sa-line);color:var(--sa-ink-2);align-self:flex-start;border-bottom-left-radius:5px}
.sa-user{background:var(--sa-blue);color:#fff;align-self:flex-end;border-bottom-right-radius:5px}
.sa-links-cap{align-self:flex-start;max-width:88%;font-size:.82rem;color:var(--sa-ink-3);margin:2px 2px -2px}
.sa-links{display:flex;flex-direction:column;gap:7px;align-self:flex-start;max-width:88%}
.sa-link{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--sa-line);border-left:3px solid var(--sa-blue);color:var(--sa-ink-2);text-decoration:none;padding:9px 12px;border-radius:10px;font-size:.86rem;font-weight:600;transition:border-color .15s,transform .15s}
.sa-link:hover{border-color:var(--sa-blue);transform:translateX(2px)}
.sa-link .sa-arr{margin-left:auto;color:var(--sa-blue)}
.sa-book{display:inline-flex;align-items:center;gap:9px;align-self:flex-start;background:var(--sa-blue);color:#fff;border:0;cursor:pointer;padding:11px 16px;border-radius:11px;font-weight:700;font-size:.9rem;text-decoration:none;box-shadow:0 6px 16px rgba(44,94,251,.28);transition:background .15s}
.sa-book:hover{background:var(--sa-blue-deep)}
.sa-book svg{width:17px;height:17px}

/* Chips de sugerencias */
.sa-chips{display:flex;flex-wrap:wrap;gap:7px;align-self:flex-start;max-width:100%}
.sa-chip{background:#fff;border:1px solid var(--sa-line);color:var(--sa-ink-2);cursor:pointer;padding:8px 12px;border-radius:999px;font-size:.82rem;font-weight:600;transition:border-color .15s,color .15s}
.sa-chip:hover{border-color:var(--sa-blue);color:var(--sa-blue)}

/* Typing */
.sa-typing{display:inline-flex;gap:4px;padding:13px 15px}
.sa-typing span{width:7px;height:7px;border-radius:50%;background:var(--sa-ink-4);animation:sa-bl 1.2s infinite ease-in-out}
.sa-typing span:nth-child(2){animation-delay:.18s}.sa-typing span:nth-child(3){animation-delay:.36s}
@keyframes sa-bl{0%,60%,100%{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}

/* Pie / input */
.sa-foot{border-top:1px solid var(--sa-line);background:#fff;padding:12px 14px}
.sa-inrow{display:flex;gap:9px;align-items:flex-end}
.sa-in{flex:1;border:1px solid var(--sa-line);border-radius:12px;padding:11px 13px;font-family:inherit;font-size:.92rem;resize:none;max-height:120px;line-height:1.4;color:var(--sa-ink);outline:none;transition:border-color .15s}
.sa-in:focus{border-color:var(--sa-blue)}
.sa-send{flex:none;width:42px;height:42px;border-radius:12px;background:var(--sa-blue);border:0;color:#fff;cursor:pointer;display:grid;place-items:center;transition:background .15s}
.sa-send:hover{background:var(--sa-blue-deep)}
.sa-send:disabled{background:var(--sa-ink-4);cursor:default}
.sa-send svg{width:19px;height:19px}
.sa-legal{margin:9px 2px 0;font-size:.68rem;color:var(--sa-ink-4);line-height:1.45}
.sa-legal a{color:var(--sa-ink-3)}

/* Modal de reserva (Bookings embebido) */
.sa-modal{position:fixed;inset:0;z-index:100000;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(10,14,26,.55)}
.sa-modal.sa-open{display:flex}
.sa-modal-box{background:#fff;border-radius:16px;width:min(920px,100%);height:min(86vh,760px);display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--sa-shadow)}
.sa-modal-head{display:flex;align-items:center;gap:10px;padding:13px 16px;border-bottom:1px solid var(--sa-line);font-weight:800;color:var(--sa-ink-2)}
.sa-modal-head svg{width:18px;height:18px;flex:none}
.sa-modal-open{margin-left:auto;font-size:.8rem;font-weight:700;color:var(--sa-blue);text-decoration:none}
.sa-modal-open:hover{text-decoration:underline}
.sa-modal-head .sa-close{margin-left:12px;background:var(--sa-paper-2);color:var(--sa-ink-3)}
.sa-modal-head .sa-close:hover{background:var(--sa-line)}
.sa-modal iframe{flex:1;width:100%;border:0}
