/* Estilos aislados del sitio: ningún selector global. */
#jb-chat { --jb-bottom:110px; --jb-gold:#D4AF37; position:fixed; right:20px; bottom:var(--jb-bottom); z-index:2147483000; color:#fff; font:14px/1.5 Arial,sans-serif; color-scheme:dark; text-align:left; }
#jb-chat *, #jb-chat *::before, #jb-chat *::after { box-sizing:border-box; }
#jb-chat button, #jb-chat textarea { font:inherit; margin:0; letter-spacing:normal; text-transform:none; }
#jb-chat button { cursor:pointer; }
#jb-chat button:focus-visible, #jb-chat textarea:focus-visible { outline:2px solid #D4AF37; outline-offset:3px; }
#jb-chat .jb-launch { display:grid; place-items:center; width:58px; height:58px; padding:14px; border:1px solid #e8c96b; border-radius:50%; background:linear-gradient(135deg,#e9cb79,#C89B3C); color:#050505; box-shadow:0 8px 28px #0005; transition:transform .2s; touch-action:none; user-select:none; }
#jb-chat .jb-launch:hover { transform:translateY(-3px); }
#jb-chat svg { width:30px; height:30px; fill:none; stroke:currentColor; stroke-width:1.4; stroke-linejoin:round; }
#jb-chat .jb-panel { position:absolute; right:0; bottom:72px; width:360px; height:580px; max-height:min(600px,calc(100dvh - var(--jb-bottom) - 86px)); display:flex; flex-direction:column; overflow:hidden; border:1px solid #806924; border-radius:20px; background:#050505; box-shadow:0 20px 65px #0008; opacity:0; visibility:hidden; transform:translateY(12px) scale(.98); transition:opacity .2s,transform .2s,visibility .2s; }
#jb-chat.jb-open .jb-panel { opacity:1; visibility:visible; transform:none; }
#jb-chat .jb-header { display:flex; align-items:center; gap:12px; padding:18px; border-bottom:1px solid #ffffff16; flex-shrink:0; }
#jb-chat .jb-mark { color:var(--jb-gold); font-size:34px; line-height:1; }
#jb-chat .jb-header strong { display:block; color:#fff; font-family:Georgia,serif; font-size:18px; font-weight:normal; }
#jb-chat .jb-header span:not(.jb-mark) { display:block; color:#afafaf; font-size:11px; }
#jb-chat .jb-close { margin-left:auto; border:0; background:transparent; color:#afafaf; font-size:27px; width:36px; height:36px; padding:0; }
#jb-chat .jb-log { padding:18px 14px 8px; flex:1; min-height:0; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:#655420 #111; }
#jb-chat .jb-message { padding:12px 14px; border-radius:14px 14px 14px 3px; margin:0 22px 12px 0; white-space:pre-wrap; overflow-wrap:anywhere; font-size:13px; line-height:1.6; }
#jb-chat .jb-agent { background:#151515; color:#fff; border:1px solid #ffffff08; }
#jb-chat .jb-user { background:var(--jb-gold); color:#050505; margin-left:22px; margin-right:0; border-radius:14px 14px 3px 14px; }
#jb-chat .jb-quick { display:flex; flex-wrap:wrap; gap:6px; padding:8px 14px 12px; flex-shrink:0; }
#jb-chat .jb-action { display:block; border:1px solid #806924; color:#e2c66e; background:transparent; border-radius:16px; padding:7px 10px; font-size:11px; line-height:1.3; }
#jb-chat .jb-message .jb-action { margin-top:10px; }
#jb-chat .jb-action:hover { background:#d4af3715; }
#jb-chat .jb-form { display:flex; align-items:flex-end; gap:8px; margin:0 14px; padding:7px; border:1px solid #ffffff24; border-radius:12px; background:#111; flex-shrink:0; }
#jb-chat .jb-form textarea { width:0; min-width:0; flex:1; border:0; padding:6px; color:#fff; background:transparent; font-size:16px; line-height:22px; height:100px; min-height:100px; max-height:100px; resize:none; overflow-y:auto; overflow-x:hidden; white-space:pre-wrap; overflow-wrap:anywhere; }
#jb-chat .jb-form textarea::placeholder { color:#afafaf; font-size:13px; }
#jb-chat .jb-form button { flex-shrink:0; width:34px; height:34px; padding:0; border:0; border-radius:8px; background:var(--jb-gold); color:#050505; font-size:23px; }
#jb-chat button:disabled { opacity:.45; cursor:wait; }
#jb-chat .jb-note { text-align:center; padding:9px; font-size:8px; letter-spacing:1.8px; color:#afafaf; }
#jb-chat .jb-sr { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
#jb-chat .jb-typing { animation:jb-pulse 1s infinite alternate; }
@keyframes jb-pulse { to { opacity:.5; } }
@media(max-width:1024px), (pointer:coarse) and (max-width:1366px) {
  #jb-chat .jb-panel { position:fixed; left:var(--jb-view-left,0px); top:var(--jb-view-top,0px); right:auto; bottom:auto; width:var(--jb-view-width,100vw); height:var(--jb-view-height,100dvh); max-height:none; border-radius:0; padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left); }
  #jb-chat.jb-open .jb-launch { visibility:hidden; }
  #jb-chat .jb-close { width:44px; height:44px; }
}
@media(max-height:500px) {
  #jb-chat .jb-header { padding:6px 14px; }
  #jb-chat .jb-quick { flex-wrap:nowrap; overflow-x:auto; padding:5px 14px; }
  #jb-chat .jb-quick .jb-action { flex-shrink:0; }
  #jb-chat .jb-note { padding:3px; }
}
@media(prefers-reduced-motion:reduce) { #jb-chat .jb-panel, #jb-chat .jb-launch { transition:none; } #jb-chat .jb-typing { animation:none; } }

#jb-chat .jb-form .jb-mic { display:flex; align-items:center; justify-content:center; background:transparent; color:var(--jb-gold); border:1px solid #ffffff24; }
#jb-chat .jb-mic svg { width:19px; height:23px; }
#jb-chat .jb-form .jb-mic[aria-pressed="true"] { background:var(--jb-gold); color:#050505; box-shadow:0 0 0 2px #ffffff66; }
#jb-chat .jb-voice-status { padding:7px 16px 0; font-size:12px; line-height:1.4; color:#d4c69f; flex-shrink:0; }
