/* Xtudio Company — floating support assistant.
   Hoja propia y autonoma: la cargan tambien privacy.html y terms.html, que no
   usan styles.css. Por eso declara sus propias variables de reserva en vez de
   dar por hecho las del sitio. */
.xassist-fab,.xassist{
  --xa-card:var(--card,#121218);
  --xa-bg2:var(--bg-2,#0e0e13);
  --xa-text:var(--text,#f4f4f7);
  --xa-muted:var(--muted,#9a9aa8);
  --xa-line:var(--line,#22222c);
  --xa-ease:var(--ease,cubic-bezier(.22,1,.36,1));
  --xa-grad:var(--grad,linear-gradient(135deg,#7c5cff,#22d3ee));
}
/* Floating launcher + docked panel: the assistant is reachable from every page,
   so it cannot be a section of one of them. It sits under the cart drawer
   (z-index 9998/9999) so the cart overlay covers it when the cart is open. */
.xassist-fab{position:fixed;right:22px;bottom:22px;z-index:9990;display:inline-flex;align-items:center;gap:10px;padding:13px 20px 13px 16px;border:1px solid rgba(124,92,255,.45);border-radius:40px;background:linear-gradient(135deg,rgba(20,20,32,.96),rgba(30,24,54,.96));backdrop-filter:blur(12px);color:var(--xa-text);font-family:inherit;font-size:.92rem;font-weight:600;letter-spacing:.01em;cursor:pointer;box-shadow:0 14px 40px rgba(0,0,0,.5),0 0 0 1px rgba(255,255,255,.03) inset;transition:transform .25s var(--xa-ease),box-shadow .25s var(--xa-ease),border-color .25s var(--xa-ease)}
.xassist-fab:hover{transform:translateY(-3px);border-color:rgba(124,92,255,.8);box-shadow:0 18px 50px rgba(0,0,0,.55),0 0 26px rgba(124,92,255,.22)}
.xassist-fab:focus-visible{outline:2px solid rgba(124,92,255,.9);outline-offset:3px}
.xassist-fab__icon{display:flex;color:#a78bfa}
.xassist-fab.is-open{opacity:0;pointer-events:none;transform:translateY(12px) scale(.94)}
.xassist{position:fixed;right:22px;bottom:22px;z-index:9991;width:min(400px,calc(100vw - 32px));max-height:min(620px,calc(100vh - 44px));display:flex;flex-direction:column;background:var(--xa-card);border:1px solid var(--xa-line);border-radius:20px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.6);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(18px) scale(.97);transition:opacity .28s var(--xa-ease),transform .28s var(--xa-ease),visibility .28s var(--xa-ease)}
/* display:flex beats the browser's [hidden]{display:none}: without this the
   closed panel stays in the layer and swallows the clicks meant for the fab. */
.xassist[hidden]{display:none}
.xassist.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:none}
.xassist__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--xa-line);background:var(--xa-bg2)}
.xassist__id{display:flex;align-items:center;gap:10px;min-width:0}
.xassist__dot{width:9px;height:9px;flex:none;border-radius:50%;background:#22C55E;box-shadow:0 0 10px rgba(34,197,94,.8)}
.xassist__title{margin:0;font-size:.95rem;font-weight:700;line-height:1.3}
.xassist__sub{margin:2px 0 0;font-size:.76rem;color:var(--xa-muted);letter-spacing:.04em}
.xassist__close{flex:none;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--xa-line);border-radius:50%;background:transparent;color:var(--xa-muted);cursor:pointer;transition:color .2s var(--xa-ease),border-color .2s var(--xa-ease)}
.xassist__close:hover{color:var(--xa-text);border-color:rgba(124,92,255,.6)}
.xassist__log{flex:1;padding:18px;min-height:150px;max-height:none}
.xassist .assist__form{padding:12px}
.xassist .assist__input{padding:12px 16px;font-size:.92rem}
.xassist .assist__send{padding:0 20px;font-size:.85rem}
.xassist .assist__msg{max-width:88%;font-size:.92rem;padding:12px 15px}
.xassist__mail{margin:0;padding:10px 16px 14px;border-top:1px solid var(--xa-line);background:var(--xa-bg2);color:var(--xa-muted);font-size:.78rem;line-height:1.5;text-align:center}
.xassist__mail a{color:#a78bfa;text-decoration:none}
.xassist__mail a:hover{text-decoration:underline}
@media (max-width:520px){
  .xassist-fab__label{display:none}
  .xassist-fab{padding:14px;gap:0}
  .xassist{right:12px;left:12px;bottom:12px;width:auto;max-height:min(560px,calc(100vh - 24px))}
}
@media (prefers-reduced-motion:reduce){
  .xassist,.xassist-fab{transition:none}
}
[dir="rtl"] .xassist-fab,[dir="rtl"] .xassist{right:auto;left:22px}
@media (max-width:520px){[dir="rtl"] .xassist{left:12px;right:12px}}
.assist__log{padding:26px;min-height:160px;max-height:min(60vh,560px);overflow-y:auto;display:flex;flex-direction:column;gap:16px;scroll-behavior:smooth}
.assist__log::-webkit-scrollbar{width:8px}
.assist__log::-webkit-scrollbar-thumb{background:rgba(124,92,255,.35);border-radius:8px}
.assist__log::-webkit-scrollbar-track{background:transparent}
.assist__msg{max-width:80%;padding:14px 18px;border-radius:16px;font-size:.97rem;line-height:1.6;white-space:pre-wrap;word-wrap:break-word}
.assist__msg--bot{align-self:flex-start;background:rgba(124,92,255,.12);border:1px solid rgba(124,92,255,.28);color:var(--xa-text);border-bottom-left-radius:4px}
.assist__msg--user{align-self:flex-end;background:var(--xa-grad);color:#0a0a0f;font-weight:500;border-bottom-right-radius:4px}
.assist__msg--typing{align-self:flex-start;color:var(--xa-muted);font-size:.9rem;font-style:italic}
body[dir="rtl"] .assist__msg--bot{align-self:flex-end;border-bottom-left-radius:14px;border-bottom-right-radius:4px}
body[dir="rtl"] .assist__msg--user{align-self:flex-start;border-bottom-right-radius:14px;border-bottom-left-radius:4px}
.assist__form{display:flex;gap:10px;padding:16px;border-top:1px solid var(--xa-line);background:var(--xa-bg2)}
.assist__input{flex:1;background:rgba(255,255,255,.05);border:1px solid var(--xa-line);border-radius:40px;padding:14px 20px;color:var(--xa-text);font-family:inherit;font-size:1rem;transition:border-color .3s}
.assist__input::placeholder{color:#7a7a88}
.assist__input:focus{outline:none;border-color:rgba(124,92,255,.7);background:rgba(255,255,255,.08)}
.assist__send{border:0;border-radius:40px;padding:0 26px;font-family:inherit;font-size:.9rem;font-weight:700;letter-spacing:.04em;cursor:pointer;background:var(--xa-grad);color:#0a0a0f;transition:transform .2s,opacity .2s;white-space:nowrap}
.assist__send:hover{transform:translateY(-2px)}
.assist__send:disabled{opacity:.5;cursor:not-allowed;transform:none}
/* Tema claro. El panel ya seguia al sitio porque pinta con --card/--bg2, pero el
   lanzador tenia el degradado oscuro escrito a mano y el texto sale de --text:
   en claro ese texto pasa a #121218, asi que quedaba casi negro sobre casi
   negro. Aqui el lanzador se aclara igual que el panel. */
body.light-theme .xassist-fab{background:linear-gradient(135deg,#fff,#f3f0ff);border-color:rgba(124,92,255,.42);box-shadow:0 14px 34px rgba(30,41,59,.16),0 0 0 1px rgba(255,255,255,.7) inset}
body.light-theme .xassist-fab:hover{border-color:rgba(104,69,216,.75);box-shadow:0 18px 44px rgba(30,41,59,.2),0 0 22px rgba(124,92,255,.18)}
body.light-theme .xassist-fab__icon{color:#6845d8}
body.light-theme .xassist{box-shadow:0 30px 80px rgba(30,41,59,.22)}
body.light-theme .xassist__mail a{color:#6845d8}
