/* AIOTA Assistant widget v1.0.0 — every rule is scoped under .aias-root so theme / Elementor styles cannot leak in or out */
.aias-root{
  --aias-brand:#0f6b63; --aias-bg:#ffffff; --aias-soft:#f3f6f5; --aias-ink:#16212a; --aias-muted:#5e6b74; --aias-line:#e2e7e5;
  --aias-user:var(--aias-brand); --aias-shadow:0 18px 50px rgba(15,33,43,.22); --aias-r:18px;
  position:fixed; bottom:20px; z-index:99990; font-family:"Vazirmatn","Vazir","IRANSans",Tahoma,"Segoe UI",system-ui,sans-serif;
  font-size:14px; line-height:1.75; color:var(--aias-ink);
}
@media (prefers-color-scheme: dark){
  .aias-root.aias-auto-dark{ --aias-bg:#141c21; --aias-soft:#1c262c; --aias-ink:#e7eef0; --aias-muted:#9aa9b1; --aias-line:#2a363d; }
}
.aias-root.aias-right{ right:20px; } .aias-root.aias-left{ left:20px; }
.aias-root *,.aias-root *::before,.aias-root *::after{ box-sizing:border-box; }
.aias-root button{ font:inherit; color:inherit; background:none; border:0; margin:0; padding:0; cursor:pointer; text-transform:none; letter-spacing:normal; box-shadow:none; }
.aias-root button:focus-visible,.aias-root a:focus-visible,.aias-root textarea:focus-visible{ outline:2px solid var(--aias-brand); outline-offset:2px; }
.aias-root svg{ display:block; }
.aias-root [hidden]{ display:none !important; }

/* ------------------------------------------------------------ robot button */
.aias-fab{ position:relative; width:64px; height:64px; border-radius:50%; background:var(--aias-bg) !important; box-shadow:var(--aias-shadow) !important;
  display:grid; place-items:center; transition:transform .2s ease; }
.aias-fab:hover{ transform:translateY(-2px) scale(1.04); }
.aias-fab .aias-robot{ width:44px; height:44px; }
.aias-fab-img{ width:56px; height:56px; object-fit:contain; border-radius:50%; }
.aias-fab-pulse{ position:absolute; inset:-4px; border-radius:50%; border:2px solid var(--aias-brand); opacity:0; animation:aias-pulse 3.2s ease-out 1s 3; pointer-events:none; }
.aias-root.is-open .aias-fab-pulse{ display:none; }
@keyframes aias-pulse{ 0%{ transform:scale(.9); opacity:.7 } 100%{ transform:scale(1.35); opacity:0 } }

.aias-robot .r-head{ fill:var(--aias-brand); }
.aias-robot .r-face{ fill:#eaf6f4; }
.aias-robot .r-eye{ fill:#10262c; transform-origin:center; transform-box:fill-box; animation:aias-blink 5s infinite; }
.aias-robot .r-mouth{ fill:none; stroke:#10262c; stroke-width:2.4; stroke-linecap:round; }
.aias-robot .r-stroke{ stroke:var(--aias-brand); stroke-width:3; stroke-linecap:round; }
.aias-robot .r-accent{ fill:#f2b33d; }
@keyframes aias-blink{ 0%,92%,100%{ transform:scaleY(1) } 95%{ transform:scaleY(.1) } }
.aias-root.aias-thinking .aias-antenna{ animation:aias-glow .9s ease-in-out infinite alternate; }
.aias-root.aias-thinking .aias-eyes{ animation:aias-look 1.6s ease-in-out infinite; }
.aias-root.aias-talking .aias-mouth{ animation:aias-talk .28s ease-in-out infinite alternate; transform-origin:center; transform-box:fill-box; }
@keyframes aias-glow{ from{ fill:#f2b33d } to{ fill:#ffe39c } }
@keyframes aias-look{ 0%,100%{ transform:translateX(0) } 30%{ transform:translateX(-2px) } 70%{ transform:translateX(2px) } }
@keyframes aias-talk{ from{ transform:scaleY(1) } to{ transform:scaleY(1.9) } }

/* ------------------------------------------------------------ panel */
.aias-panel{ position:absolute; bottom:78px; width:390px; max-width:calc(100vw - 32px); height:min(640px, calc(100vh - 120px));
  background:var(--aias-bg); border-radius:var(--aias-r); box-shadow:var(--aias-shadow); border:1px solid var(--aias-line);
  display:flex; flex-direction:column; overflow:hidden; animation:aias-open .22s ease-out; }
.aias-right .aias-panel{ right:0; } .aias-left .aias-panel{ left:0; }
@keyframes aias-open{ from{ opacity:0; transform:translateY(10px) scale(.98) } to{ opacity:1; transform:none } }

.aias-head{ display:flex; align-items:center; gap:8px; padding:12px 12px 12px 14px; background:var(--aias-brand); color:#fff; }
.aias-avatar{ width:38px; height:38px; border-radius:50%; background:#fff; display:grid; place-items:center; flex:none; }
.aias-avatar .aias-robot{ width:28px; height:28px; } .aias-avatar .aias-mascot-img{ width:34px; height:34px; border-radius:50%; object-fit:contain; }
.aias-title{ flex:1; min-width:0; display:flex; flex-direction:column; line-height:1.35; }
.aias-title b{ font-size:15px; font-weight:700; color:#fff; }
.aias-quota{ font-size:12px; opacity:.85; } .aias-quota.is-out{ opacity:1; color:#ffd88a; }
.aias-ic{ width:34px; height:34px; border-radius:10px; display:grid; place-items:center; flex:none; }
.aias-ic svg{ width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.aias-head .aias-ic:hover{ background:rgba(255,255,255,.16); }

.aias-body{ flex:1; min-height:0; position:relative; background:var(--aias-soft); }
.aias-msgs,.aias-hist{ position:absolute; inset:0; overflow-y:auto; padding:16px 14px; display:flex; flex-direction:column; gap:12px; scroll-behavior:smooth; }

/* ------------------------------------------------------------ welcome */
.aias-welcome{ text-align:center; padding:18px 6px 4px; display:flex; flex-direction:column; align-items:center; gap:6px; }
.aias-welcome-bot{ width:76px; height:76px; border-radius:50%; background:var(--aias-bg); display:grid; place-items:center; box-shadow:0 6px 18px rgba(15,33,43,.08); }
.aias-welcome-bot .aias-robot{ width:54px; height:54px; } .aias-welcome-bot .aias-mascot-img{ width:66px; height:66px; object-fit:contain; border-radius:50%; }
.aias-welcome b{ font-size:16px; margin-top:6px; } .aias-welcome p{ margin:0; color:var(--aias-muted); max-width:30ch; }
.aias-sugg{ display:flex; flex-direction:column; gap:8px; width:100%; margin-top:12px; }
.aias-chip{ background:var(--aias-bg) !important; border:1px solid var(--aias-line) !important; border-radius:12px; padding:9px 12px !important; text-align:start;
  color:var(--aias-ink) !important; transition:border-color .15s, transform .15s; }
.aias-chip:hover{ border-color:var(--aias-brand) !important; transform:translateY(-1px); }
.aias-cta{ display:inline-block; margin-top:10px; padding:8px 16px; border-radius:10px; background:var(--aias-brand); color:#fff !important; text-decoration:none !important; font-weight:600; }

/* ------------------------------------------------------------ messages */
.aias-msg{ display:flex; gap:8px; max-width:100%; }
.aias-msg.aias-in{ animation:aias-rise .25s ease-out; }
@keyframes aias-rise{ from{ opacity:0; transform:translateY(6px) } to{ opacity:1; transform:none } }
.aias-user{ justify-content:flex-end; }
.aias-user .aias-bubble{ background:var(--aias-user); color:#fff; border-radius:16px 16px 4px 16px; max-width:85%; }
[dir="rtl"] .aias-user .aias-bubble{ border-radius:16px 16px 16px 4px; }
.aias-av{ width:28px; height:28px; border-radius:50%; background:var(--aias-bg); display:grid; place-items:center; flex:none; margin-top:2px; }
.aias-av .aias-robot{ width:20px; height:20px; } .aias-av .aias-mascot-img{ width:26px; height:26px; border-radius:50%; object-fit:contain; }
.aias-col{ min-width:0; max-width:calc(100% - 36px); display:flex; flex-direction:column; gap:6px; }
.aias-bubble{ padding:9px 13px; border-radius:16px; word-wrap:break-word; overflow-wrap:anywhere; }
.aias-assistant .aias-bubble{ background:var(--aias-bg); border:1px solid var(--aias-line); border-radius:16px 16px 16px 4px; }
[dir="rtl"] .aias-assistant .aias-bubble{ border-radius:16px 16px 4px 16px; }
.aias-bubble p{ margin:0 0 6px; } .aias-bubble p:last-child{ margin-bottom:0; }
.aias-bubble ul,.aias-bubble ol{ margin:2px 0 6px; padding-inline-start:20px; } .aias-bubble li{ margin:2px 0; }
.aias-bubble b{ font-weight:700; }
.aias-st-refused_off_topic .aias-bubble,.aias-st-quota_exceeded .aias-bubble{ background:#fff8ec; border-color:#f3dfb8; }
.aias-st-error .aias-bubble{ background:#fdf0ef; border-color:#f1cfcb; }

.aias-typing .aias-bubble{ display:flex; align-items:center; gap:10px; color:var(--aias-muted); font-size:13px; }
.aias-dots{ display:inline-flex; gap:4px; } .aias-dots i{ width:6px; height:6px; border-radius:50%; background:var(--aias-brand); animation:aias-dot 1.2s infinite ease-in-out; }
.aias-dots i:nth-child(2){ animation-delay:.15s } .aias-dots i:nth-child(3){ animation-delay:.3s }
@keyframes aias-dot{ 0%,80%,100%{ opacity:.25; transform:translateY(0) } 40%{ opacity:1; transform:translateY(-3px) } }

/* video card */
.aias-vid{ display:flex; gap:10px; align-items:center; background:var(--aias-bg); border:1px solid var(--aias-line); border-radius:12px; padding:6px;
  text-decoration:none !important; color:var(--aias-ink) !important; transition:border-color .15s; }
.aias-vid:hover{ border-color:var(--aias-brand); }
.aias-vid-th{ position:relative; width:96px; aspect-ratio:16/9; border-radius:8px; overflow:hidden; flex:none; background:#0f2129; display:grid; place-items:center; }
.aias-vid-th img{ width:100%; height:100%; object-fit:cover; }
.aias-vid-play{ position:absolute; inset:0; display:grid; place-items:center; }
.aias-vid-play svg,.aias-vid-ph svg{ width:26px; height:26px; fill:#fff; filter:drop-shadow(0 1px 3px rgba(0,0,0,.5)); }
.aias-vid.is-locked .aias-vid-ph svg{ width:22px; height:22px; fill:none; stroke:#fff; stroke-width:2; }
.aias-vid-tx{ min-width:0; display:flex; flex-direction:column; line-height:1.4; }
.aias-vid-tx small{ color:var(--aias-brand); font-size:11px; font-weight:600; }
.aias-vid-tx b{ font-size:13px; overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.aias-vid-tx span{ font-size:12px; color:var(--aias-muted); }
.aias-vid.is-locked .aias-vid-th img{ filter:blur(3px) brightness(.7); }
.aias-lock{ display:inline-flex; align-items:center; gap:4px; } .aias-lock svg{ width:13px; height:13px; fill:none; stroke:currentColor; stroke-width:2; }

/* feedback */
.aias-fb{ display:flex; align-items:center; gap:2px; }
.aias-fbb{ width:28px; height:28px; border-radius:8px; display:grid; place-items:center; color:var(--aias-muted) !important; }
.aias-fbb svg{ width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linejoin:round; }
.aias-fbb:hover{ background:var(--aias-bg) !important; color:var(--aias-ink) !important; }
.aias-fbb.on{ color:var(--aias-brand) !important; } .aias-fbb.on svg{ fill:currentColor; fill-opacity:.15; }
.aias-thanks{ font-size:12px; color:var(--aias-muted); margin-inline-start:6px; }

.aias-err{ display:flex; align-items:center; justify-content:space-between; gap:10px; padding:9px 12px; border-radius:12px; background:#fdf0ef; border:1px solid #f1cfcb; font-size:13px; }
.aias-err button{ color:var(--aias-brand) !important; font-weight:600; white-space:nowrap; }

/* ------------------------------------------------------------ history */
.aias-back{ align-self:flex-start; color:var(--aias-brand) !important; font-weight:600; }
.aias-hi{ display:flex; align-items:center; gap:4px; background:var(--aias-bg); border:1px solid var(--aias-line); border-radius:12px; padding:4px; flex-wrap:wrap; }
.aias-hi-open{ flex:1; min-width:0; text-align:start; padding:6px 8px !important; display:flex; flex-direction:column; line-height:1.4; }
.aias-hi-open small{ color:var(--aias-muted); font-size:12px; }
.aias-hi-del{ color:var(--aias-muted) !important; } .aias-hi-del:hover{ color:#b3261e !important; }
.aias-confirm{ width:100%; display:flex; align-items:center; gap:8px; padding:4px 8px 6px; font-size:13px; flex-wrap:wrap; }
.aias-confirm [data-y]{ color:#b3261e !important; font-weight:600; } .aias-confirm [data-n]{ color:var(--aias-muted) !important; }
.aias-empty{ color:var(--aias-muted); text-align:center; margin-top:30px; }

/* ------------------------------------------------------------ composer */
.aias-foot{ border-top:1px solid var(--aias-line); background:var(--aias-bg); padding:10px 12px 8px; }
.aias-form{ display:flex; align-items:flex-end; gap:8px; margin:0; }
.aias-input{ flex:1; resize:none; min-height:42px; max-height:140px; padding:10px 12px !important; border:1px solid var(--aias-line) !important; border-radius:12px !important;
  background:var(--aias-soft) !important; color:var(--aias-ink) !important; font:inherit !important; line-height:1.6 !important; box-shadow:none !important; margin:0 !important; }
.aias-input:focus{ border-color:var(--aias-brand) !important; outline:none; }
.aias-send{ width:42px; height:42px; border-radius:12px; background:var(--aias-brand) !important; display:grid; place-items:center; flex:none; transition:opacity .15s; }
.aias-send svg{ width:19px; height:19px; fill:#fff; }
[dir="rtl"] .aias-send svg{ transform:scaleX(-1); }
.aias-send:disabled{ opacity:.45; cursor:default; }
.aias-disc{ font-size:11px; color:var(--aias-muted); text-align:center; margin-top:6px; }

/* ------------------------------------------------------------ character image (transparent art: no circle, larger, gentle float) */
.aias-has-img .aias-fab{ width:92px; height:92px; border-radius:0; background:transparent !important; box-shadow:none !important; }
.aias-has-img .aias-fab:hover{ transform:translateY(-3px) scale(1.05); }
.aias-has-img .aias-fab-pulse{ display:none; }
.aias-has-img .aias-fab-img{ width:92px; height:92px; border-radius:0; object-fit:contain;
  filter:drop-shadow(0 10px 16px rgba(10,20,15,.30)); animation:aias-float 4s ease-in-out infinite; }
.aias-has-img .aias-panel{ bottom:104px; }
.aias-has-img .aias-avatar,.aias-has-img .aias-av,.aias-has-img .aias-welcome-bot{ background:transparent; box-shadow:none; border-radius:0; }
.aias-has-img .aias-avatar{ width:44px; height:44px; }
.aias-has-img .aias-avatar .aias-mascot-img{ width:44px; height:44px; border-radius:0; filter:drop-shadow(0 2px 4px rgba(0,0,0,.25)); }
.aias-has-img .aias-av{ width:32px; height:32px; }
.aias-has-img .aias-av .aias-mascot-img{ width:32px; height:32px; border-radius:0; }
.aias-has-img .aias-welcome-bot{ width:120px; height:120px; }
.aias-has-img .aias-welcome-bot .aias-mascot-img{ width:120px; height:120px; border-radius:0; filter:drop-shadow(0 10px 18px rgba(10,20,15,.18)); }
.aias-has-img.aias-thinking .aias-mascot-img{ animation:aias-bob .7s ease-in-out infinite alternate; }
.aias-has-img.aias-talking .aias-mascot-img{ animation:aias-nod .35s ease-in-out infinite alternate; }
@keyframes aias-float{ 0%,100%{ transform:translateY(0) } 50%{ transform:translateY(-5px) } }
@keyframes aias-bob{ from{ transform:translateY(0) rotate(-2deg) } to{ transform:translateY(-4px) rotate(2deg) } }
@keyframes aias-nod{ from{ transform:scale(1) } to{ transform:scale(1.04) } }

/* launcher shortcode button */
.aias-open-btn{ cursor:pointer; }

/* ------------------------------------------------------------ phones: full screen */
@media (max-width: 520px){
  .aias-root{ bottom:14px; } .aias-root.aias-right{ right:14px; } .aias-root.aias-left{ left:14px; }
  .aias-panel{ position:fixed; inset:0; width:100vw; max-width:none; height:100%; border-radius:0; border:0;
    padding-top:env(safe-area-inset-top, 0px); padding-bottom:env(safe-area-inset-bottom, 0px); }
  .aias-root.is-open .aias-fab{ display:none; }
  .aias-has-img .aias-fab,.aias-has-img .aias-fab-img{ width:76px; height:76px; }
}
@media (prefers-reduced-motion: reduce){
  .aias-root *,.aias-root *::before,.aias-root *::after{ animation:none !important; transition:none !important; }
}
