/* Brassavola AI v1.0 - estilos aislados para no afectar el sitio */
#bbs-ai-root, #bbs-ai-root * { box-sizing: border-box; }
#bbs-ai-root { --bbs-blue:#0c3b68; --bbs-blue2:#15558c; --bbs-gold:#e5b84b; --bbs-bg:#f5f7fb; --bbs-text:#172033; --bbs-muted:#667085; font-family: Arial, Helvetica, sans-serif; }
.bbs-ai-launcher { position:fixed; right:22px; bottom:22px; width:62px; height:62px; border:0; border-radius:50%; background:var(--bbs-blue); color:#fff; box-shadow:0 10px 30px rgba(0,0,0,.22); cursor:pointer; z-index:2147483000; display:flex; align-items:center; justify-content:center; font-weight:800; font-size:15px; }
.bbs-ai-launcher:hover { transform:translateY(-1px); }
.bbs-ai-launcher .bbs-ai-badge { width:42px; height:42px; border-radius:50%; display:grid; place-items:center; border:2px solid rgba(255,255,255,.8); }
.bbs-ai-panel { position:fixed; right:22px; bottom:96px; width:min(390px, calc(100vw - 24px)); height:min(610px, calc(100vh - 125px)); background:#fff; border-radius:18px; overflow:hidden; box-shadow:0 18px 55px rgba(12,59,104,.28); z-index:2147483000; display:none; flex-direction:column; border:1px solid rgba(12,59,104,.12); }
.bbs-ai-panel.bbs-ai-open { display:flex; }
.bbs-ai-header { background:linear-gradient(135deg,var(--bbs-blue),var(--bbs-blue2)); color:#fff; padding:15px 16px; display:flex; align-items:center; gap:11px; }
.bbs-ai-logo { width:42px; height:42px; border-radius:50%; background:#fff; color:var(--bbs-blue); display:grid; place-items:center; font-size:13px; font-weight:900; border:2px solid var(--bbs-gold); flex:0 0 auto; }
.bbs-ai-title { flex:1; min-width:0; }
.bbs-ai-title strong { display:block; font-size:16px; line-height:1.2; }
.bbs-ai-title small { display:block; opacity:.87; margin-top:3px; font-size:12px; }
.bbs-ai-close { border:0; background:transparent; color:#fff; font-size:25px; line-height:1; cursor:pointer; padding:4px; }
.bbs-ai-messages { flex:1; overflow:auto; padding:16px; background:var(--bbs-bg); scroll-behavior:smooth; }
.bbs-ai-msg { display:flex; margin:0 0 12px; }
.bbs-ai-msg.user { justify-content:flex-end; }
.bbs-ai-bubble { max-width:86%; padding:11px 13px; border-radius:15px; font-size:14px; line-height:1.45; white-space:pre-wrap; overflow-wrap:anywhere; }
.bbs-ai-msg.bot .bbs-ai-bubble { background:#fff; color:var(--bbs-text); border:1px solid #e3e8ef; border-bottom-left-radius:5px; }
.bbs-ai-msg.user .bbs-ai-bubble { background:var(--bbs-blue); color:#fff; border-bottom-right-radius:5px; }
.bbs-ai-quick { display:flex; gap:7px; flex-wrap:wrap; padding:0 14px 10px; background:var(--bbs-bg); }
.bbs-ai-quick button { border:1px solid #cbd5e1; background:#fff; color:var(--bbs-blue); border-radius:999px; padding:7px 10px; cursor:pointer; font-size:12px; }
.bbs-ai-form { display:flex; gap:8px; padding:11px; border-top:1px solid #e7eaf0; background:#fff; }
.bbs-ai-input { flex:1; border:1px solid #cfd7e3; border-radius:12px; padding:11px 12px; outline:none; font-size:14px; color:var(--bbs-text); min-width:0; }
.bbs-ai-input:focus { border-color:var(--bbs-blue2); box-shadow:0 0 0 3px rgba(21,85,140,.10); }
.bbs-ai-send { border:0; background:var(--bbs-blue); color:#fff; min-width:48px; border-radius:12px; cursor:pointer; font-size:18px; }
.bbs-ai-send:disabled, .bbs-ai-input:disabled { opacity:.58; cursor:not-allowed; }
.bbs-ai-note { font-size:10.5px; color:var(--bbs-muted); text-align:center; padding:0 12px 8px; background:#fff; }
.bbs-ai-typing { display:inline-flex; gap:4px; align-items:center; }
.bbs-ai-typing i { width:6px; height:6px; border-radius:50%; background:#98a2b3; display:block; animation:bbsTyping 1.2s infinite ease-in-out; }
.bbs-ai-typing i:nth-child(2){animation-delay:.15s}.bbs-ai-typing i:nth-child(3){animation-delay:.3s}
@keyframes bbsTyping { 0%,60%,100%{transform:translateY(0);opacity:.55}30%{transform:translateY(-4px);opacity:1} }
@media (max-width:600px){ .bbs-ai-launcher{right:14px;bottom:14px;width:58px;height:58px}.bbs-ai-panel{right:8px;bottom:80px;width:calc(100vw - 16px);height:calc(100vh - 95px);border-radius:16px} }


/* Brassavola AI v2 - identificación opcional y captación voluntaria */
.bbs-ai-chat[hidden], .bbs-ai-intro[hidden] { display:none!important; }
.bbs-ai-chat { flex:1; min-height:0; display:flex; flex-direction:column; }
.bbs-ai-intro { flex:1; overflow:auto; padding:24px 20px; background:var(--bbs-bg); color:var(--bbs-text); text-align:center; }
.bbs-ai-intro-icon { width:58px; height:58px; margin:3px auto 14px; border-radius:50%; display:grid; place-items:center; font-weight:900; color:#fff; background:linear-gradient(135deg,var(--bbs-blue),var(--bbs-blue2)); border:3px solid #fff; box-shadow:0 7px 20px rgba(12,59,104,.18); }
.bbs-ai-intro h3 { margin:0 0 8px; color:var(--bbs-blue); font-size:19px; }
.bbs-ai-intro p { margin:0 auto 18px; max-width:310px; color:var(--bbs-muted); font-size:13px; line-height:1.5; }
.bbs-ai-name-form { display:grid; gap:9px; max-width:310px; margin:0 auto 13px; text-align:left; }
.bbs-ai-name-form label, .bbs-ai-lead-form label { font-size:12px; font-weight:800; color:var(--bbs-text); }
.bbs-ai-name-form input, .bbs-ai-lead-form input { width:100%; margin-top:5px; border:1px solid #cfd7e3; border-radius:11px; padding:10px 11px; font:inherit; color:var(--bbs-text); background:#fff; }
.bbs-ai-name-form input:focus, .bbs-ai-lead-form input:focus { outline:none; border-color:var(--bbs-blue2); box-shadow:0 0 0 3px rgba(21,85,140,.10); }
.bbs-ai-intro > small { display:block; max-width:310px; margin:0 auto; color:var(--bbs-muted); font-size:10.5px; line-height:1.45; }
.bbs-ai-primary, .bbs-ai-secondary { border:0; border-radius:11px; padding:10px 12px; font-weight:800; cursor:pointer; font-size:12px; }
.bbs-ai-primary { background:var(--bbs-blue); color:#fff; }
.bbs-ai-secondary { background:#fff; color:var(--bbs-blue); border:1px solid #cbd5e1; }
.bbs-ai-lead-offer, .bbs-ai-lead-card, .bbs-ai-lead-success { margin:6px 0 13px; padding:13px; background:#fff; border:1px solid #d9e2ec; border-radius:14px; box-shadow:0 4px 14px rgba(12,59,104,.06); color:var(--bbs-text); }
.bbs-ai-lead-offer strong, .bbs-ai-lead-card > strong, .bbs-ai-lead-success strong { display:block; color:var(--bbs-blue); font-size:13px; margin-bottom:5px; }
.bbs-ai-lead-offer > span, .bbs-ai-lead-success span { display:block; color:var(--bbs-muted); font-size:11.5px; line-height:1.45; }
.bbs-ai-lead-offer > div { display:flex; gap:7px; flex-wrap:wrap; margin-top:10px; }
.bbs-ai-lead-offer button { border-radius:999px; padding:7px 10px; border:1px solid #cbd5e1; background:#fff; color:var(--bbs-blue); font-size:11px; font-weight:800; cursor:pointer; }
.bbs-ai-lead-offer .bbs-ai-lead-yes { background:var(--bbs-blue); color:#fff; border-color:var(--bbs-blue); }
.bbs-ai-lead-form { display:grid; gap:8px; margin-top:8px; }
.bbs-ai-lead-form label small { font-weight:500; color:var(--bbs-muted); }
.bbs-ai-consent { display:flex!important; gap:7px; align-items:flex-start; font-weight:500!important; line-height:1.35; color:var(--bbs-muted)!important; }
.bbs-ai-consent input { width:auto!important; margin:2px 0 0!important; flex:0 0 auto; }
.bbs-ai-lead-actions { display:flex; gap:7px; }
.bbs-ai-lead-actions button { flex:1; }
.bbs-ai-lead-error { color:#b42318; font-size:11px; min-height:14px; }
.bbs-ai-hp { position:absolute!important; left:-9999px!important; opacity:0!important; pointer-events:none!important; }
.bbs-ai-lead-success { background:#eef8f1; border-color:#cfe7d5; }
@media (max-width:600px){ .bbs-ai-intro{padding:20px 16px}.bbs-ai-lead-actions{flex-direction:column} }
