/* WP AI ChatBot Widget v1.2 — RTL Isolated */

/* ── Reset + Tokens ──
   نکته مهم: این ریست با :where() پوشانده شده تا specificity صفر داشته باشد.
   نسخه قبلی به‌خاطر داشتن #id در سلکتور، با !important روی تمام پدینگ/مارجین‌های
   اختصاصی (فرم، اینپوت‌ها، دکمه‌ها) غالب می‌شد و باعث می‌شد پنل و فرم پیش‌چت
   بدون پدینگ و بهم‌ریخته نمایش داده شوند. */
:where(
  #wpaichat-widget-root,
  #wpaichat-widget-root *,
  #wpaichat-widget-root *::before,
  #wpaichat-widget-root *::after
) {
  box-sizing:border-box!important;
  margin:0!important; padding:0!important;
  font-family:inherit!important; /* فونت را از قالب/تم سایت بگیر، نه یک استک ثابت */
  -webkit-font-smoothing:antialiased;
}

#wpaichat-widget-root {
  --p:var(--wpaichat-primary,#4F46E5);
  --p-dk:var(--wpaichat-dark,#3730A3);
  --p-lt-color:var(--wpaichat-light,#8B7CF6);
  --p-lt:color-mix(in srgb, var(--p-lt-color) 15%, transparent);
  --surface:#fff;
  --surface2:#F7F8FF;
  --border:#E4E4F0;
  --text:#1A1B2E;
  --muted:#6B6C88;
  --online:#22C55E;
  --shadow-fab:0 8px 28px rgba(79,70,229,.32),0 2px 8px rgba(0,0,0,.1);
  --shadow-panel:0 20px 60px rgba(30,27,75,.2),0 4px 16px rgba(0,0,0,.08);
  --ease-spring:cubic-bezier(.34,1.56,.64,1);
  --ease-out:cubic-bezier(.22,1,.36,1);

  position:fixed!important;
  bottom:24px!important;
  z-index:2147483647!important;
  direction:rtl!important;
  font-size:14px!important;
  color:var(--text)!important;
  unicode-bidi:embed!important;
}

#wpaichat-widget-root.wpaichat-pos-right{right:24px!important;left:auto!important}
#wpaichat-widget-root.wpaichat-pos-left {left:24px!important;right:auto!important}

/* ── FAB ── */
#wpaichat-fab-wrap{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
}

#wpaichat-toggle-btn{
  width:62px!important; height:62px!important;
  border-radius:50%!important; border:none!important;
  background:var(--p)!important; color:#fff!important;
  display:flex!important; align-items:center!important; justify-content:center!important;
  cursor:pointer!important;
  box-shadow:var(--shadow-fab)!important;
  position:relative!important; overflow:visible!important;
  transition:transform 200ms var(--ease-out)!important;
  animation:vc-fab-in 450ms var(--ease-spring) both!important;
  touch-action:manipulation!important;
  -webkit-tap-highlight-color:transparent!important;
}
#wpaichat-toggle-btn:hover {transform:scale(1.08)!important}
#wpaichat-toggle-btn:active{transform:scale(.94)!important}
#wpaichat-toggle-btn:focus-visible{outline:3px solid var(--p)!important;outline-offset:4px!important}
@keyframes vc-fab-in{from{opacity:0;transform:scale(.3) translateY(24px)}to{opacity:1;transform:scale(1) translateY(0)}}

.wpaichat-icon{width:26px!important;height:26px!important;fill:#fff!important;display:block!important}
.wpaichat-fab-avatar{width:44px!important;height:44px!important;border-radius:50%!important;object-fit:cover!important}

/* نقطه آنلاین — سمت چپ (RTL) */
.wpaichat-fab-ping{
  position:absolute!important;
  top:3px!important; left:3px!important; right:auto!important;
  width:13px!important; height:13px!important;
  border-radius:50%!important;
  background:var(--online)!important;
  border:2.5px solid #fff!important;
  animation:vc-pulse 2.5s ease-in-out infinite!important;
}
@keyframes vc-pulse{0%,100%{box-shadow:0 0 0 0 rgba(34,197,94,.5)}50%{box-shadow:0 0 0 7px rgba(34,197,94,0)}}

.wpaichat-unread-badge{
  position:absolute!important;
  top:-4px!important; left:-4px!important; right:auto!important;
  min-width:22px!important; height:22px!important; padding:0 5px!important;
  border-radius:11px!important;
  background:#EF4444!important; color:#fff!important;
  font-size:12px!important; font-weight:700!important;
  display:flex!important; align-items:center!important; justify-content:center!important;
  border:2px solid #fff!important;
  animation:vc-pop 320ms var(--ease-spring) both!important;
}

/* ── Popup Bubble ── */
#wpaichat-popup-bubble{
  position:absolute!important; bottom:74px!important;
  background:var(--surface)!important;
  border-radius:16px 16px 4px 16px!important;
  padding:10px 14px 10px 36px!important;
  box-shadow:0 8px 28px rgba(0,0,0,.14)!important;
  font-size:13.5px!important; line-height:1.5!important;
  white-space:nowrap!important; max-width:240px!important;
  border:1px solid var(--border)!important;
  color:var(--text)!important;
  direction:rtl!important; text-align:right!important;
  animation:vc-pop 320ms var(--ease-spring) both!important;
}
#wpaichat-widget-root.wpaichat-pos-right #wpaichat-popup-bubble{right:0!important;left:auto!important}
#wpaichat-widget-root.wpaichat-pos-left  #wpaichat-popup-bubble{left:0!important;right:auto!important}
@keyframes vc-pop{from{opacity:0;transform:scale(.8) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}

#wpaichat-popup-close{
  position:absolute!important;
  left:10px!important; right:auto!important;
  top:50%!important; transform:translateY(-50%)!important;
  border:none!important; background:none!important;
  cursor:pointer!important; font-size:18px!important;
  color:var(--muted)!important; line-height:1!important;
}

/* ── Panel ── */
#wpaichat-panel{
  position:absolute!important; bottom:78px!important;
  width:370px!important; max-width:calc(100vw - 48px)!important;
  height:540px!important; max-height:calc(100dvh - 120px)!important;
  background:var(--surface)!important;
  border-radius:22px!important;
  box-shadow:var(--shadow-panel)!important;
  display:flex!important; flex-direction:column!important;
  overflow:hidden!important;
  direction:rtl!important;
  border:1px solid rgba(0,0,0,.06)!important;
  transition:opacity 220ms var(--ease-out),transform 220ms var(--ease-out)!important;
}
#wpaichat-widget-root.wpaichat-pos-right #wpaichat-panel{right:0!important;left:auto!important}
#wpaichat-widget-root.wpaichat-pos-left  #wpaichat-panel{left:0!important;right:auto!important}
#wpaichat-panel.wpaichat-panel-closed{
  opacity:0!important; transform:translateY(18px) scale(.95)!important;
  pointer-events:none!important; visibility:hidden!important;
}

/* ── Header ── */
.wpaichat-header{
  background:linear-gradient(135deg,var(--p) 0%,var(--p-dk) 100%)!important;
  color:#fff!important;
  padding:13px 15px!important;
  display:flex!important; flex-direction:row!important;
  align-items:center!important; justify-content:space-between!important;
  flex-shrink:0!important; gap:10px!important;
  direction:rtl!important;
}
.wpaichat-header-info{
  display:flex!important; flex-direction:row!important;
  align-items:center!important; gap:10px!important;
  flex:1!important; min-width:0!important;
}
.wpaichat-header-avatar{
  width:40px!important; height:40px!important;
  border-radius:50%!important; object-fit:cover!important;
  border:2px solid rgba(255,255,255,.35)!important; flex-shrink:0!important;
}
.wpaichat-header-avatar-default{
  width:40px!important; height:40px!important; border-radius:50%!important;
  background:rgba(255,255,255,.2)!important;
  display:flex!important; align-items:center!important; justify-content:center!important;
  flex-shrink:0!important;
}
.wpaichat-header-avatar-default svg{width:22px!important;height:22px!important;fill:#fff!important}
.wpaichat-header-title{
  font-size:15px!important; font-weight:700!important; color:#fff!important;
  white-space:nowrap!important; overflow:hidden!important; text-overflow:ellipsis!important;
  display:block!important; line-height:1.3!important;
  direction:rtl!important; text-align:right!important;
}
.wpaichat-header-status{
  display:flex!important; flex-direction:row!important;
  align-items:center!important; gap:5px!important;
  font-size:12px!important; opacity:.85!important; color:#fff!important;
  margin-top:2px!important; direction:rtl!important; text-align:right!important;
}
.wpaichat-status-dot{
  width:7px!important; height:7px!important; border-radius:50%!important;
  background:#4ade80!important; flex-shrink:0!important; display:inline-block!important;
  animation:vc-pulse 2.5s ease-in-out infinite!important;
}
#wpaichat-close-btn{
  background:rgba(255,255,255,.15)!important; border:none!important; color:#fff!important;
  width:36px!important; height:36px!important; border-radius:10px!important;
  display:flex!important; align-items:center!important; justify-content:center!important;
  cursor:pointer!important; flex-shrink:0!important;
  transition:background 150ms!important;
}
#wpaichat-close-btn:hover{background:rgba(255,255,255,.28)!important}
#wpaichat-close-btn svg{width:18px!important;height:18px!important;fill:#fff!important;display:block!important}

/* ── Prechat ── */
.wpaichat-prechat{
  padding:20px 18px!important; overflow-y:auto!important;
  background:var(--surface2)!important;
  direction:rtl!important;
}
.wpaichat-prechat-intro{
  font-size:13.5px!important; color:var(--muted)!important;
  margin-bottom:16px!important; line-height:1.6!important;
  text-align:right!important;
}
.wpaichat-field{margin-bottom:14px!important;}
.wpaichat-field label{
  display:block!important; font-size:13px!important; font-weight:600!important;
  color:var(--text)!important; margin-bottom:6px!important;
  text-align:right!important;
}
.wpaichat-optional{color:var(--muted)!important;font-weight:400!important;}
.wpaichat-field input{
  display:block!important; width:100%!important;
  border:1.5px solid var(--border)!important; border-radius:10px!important;
  padding:11px 13px!important; font-size:14px!important; min-height:46px!important;
  background:var(--surface)!important; color:var(--text)!important;
  direction:rtl!important; text-align:right!important; outline:none!important;
  transition:border-color 150ms,box-shadow 150ms!important;
}
.wpaichat-field input:focus{
  border-color:var(--p)!important;
  box-shadow:0 0 0 3px var(--p-lt)!important;
}
.wpaichat-prechat-error{
  color:#DC2626!important; font-size:13px!important;
  padding:8px 12px!important; background:#FEF2F2!important;
  border-radius:8px!important; border:1px solid #FECACA!important;
  margin-bottom:12px!important; direction:rtl!important; text-align:right!important;
}
.wpaichat-prechat-submit{
  display:block!important; width:100%!important; min-height:48px!important;
  border:none!important; border-radius:12px!important;
  background:var(--p)!important; color:#fff!important;
  font-size:15px!important; font-weight:600!important; cursor:pointer!important;
  transition:opacity 150ms,transform 100ms!important;
}
.wpaichat-prechat-submit:hover{opacity:.9!important}
.wpaichat-prechat-submit:active{transform:scale(.98)!important}

/* ── Chat Area ── */
#wpaichat-chat-area{display:flex!important;flex-direction:column!important;flex:1!important;min-height:0!important;}

/* ── Messages ── */
#wpaichat-messages{
  flex:1!important; overflow-y:auto!important;
  padding:16px 14px!important;
  display:flex!important; flex-direction:column!important; gap:10px!important;
  background:var(--surface2)!important; direction:rtl!important;
}
#wpaichat-messages::-webkit-scrollbar{width:4px!important}
#wpaichat-messages::-webkit-scrollbar-thumb{background:var(--border)!important;border-radius:4px!important}

/* ── Bubbles ── */
.wpaichat-bubble{
  max-width:82%!important;
  padding:10px 14px!important; border-radius:16px!important;
  font-size:14px!important; line-height:1.7!important;
  word-break:break-word!important; white-space:pre-wrap!important;
  display:flex!important; flex-direction:row!important;
  align-items:flex-start!important; gap:8px!important;
  animation:vc-bbl 200ms var(--ease-out) both!important;
}
@keyframes vc-bbl{from{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:none}}

/* پیام بات — چسبیده به راست */
.wpaichat-bubble-bot,
.wpaichat-bubble-admin{
  align-self:flex-start!important;       /* راست‌چین در RTL = flex-start */
  background:var(--surface)!important;
  color:var(--text)!important;
  border:1px solid var(--border)!important;
  border-top-right-radius:4px!important; /* گوشه بالا-راست تیز */
  box-shadow:0 1px 4px rgba(0,0,0,.06)!important;
  direction:rtl!important; text-align:right!important;
}
.wpaichat-bubble-admin{
  background:var(--p-lt)!important;
  border-color:rgba(79,70,229,.25)!important;
}

/* پیام کاربر — چسبیده به چپ */
.wpaichat-bubble-user{
  align-self:flex-end!important;         /* چپ‌چین در RTL = flex-end */
  background:var(--p)!important; color:#fff!important;
  border-top-left-radius:4px!important;  /* گوشه بالا-چپ تیز */
  flex-direction:row-reverse!important;
  direction:rtl!important; text-align:right!important;
}

.wpaichat-bubble-avatar{
  width:26px!important; height:26px!important; border-radius:50%!important;
  object-fit:cover!important; flex-shrink:0!important; margin-top:1px!important;
}
.wpaichat-bubble-img{display:block!important;max-width:180px!important;max-height:180px!important;border-radius:12px!important;margin-bottom:6px!important;object-fit:cover!important;}
.wpaichat-bubble-audio{display:block!important;width:200px!important;margin-bottom:4px!important;}
.wpaichat-audio-error{font-size:12.5px!important;color:#DC2626!important;background:#FEF2F2!important;border:1px solid #FECACA!important;border-radius:8px!important;padding:7px 10px!important;}

.wpaichat-bubble-content{display:flex!important;flex-direction:column!important;gap:4px!important;min-width:0!important;flex:1!important;}

.wpaichat-bubble-text{flex:1!important;direction:rtl!important;text-align:right!important;}
.wpaichat-bubble-text a{
  color:inherit!important; text-decoration:underline!important;
  word-break:break-all!important; font-weight:600!important;
}
.wpaichat-bubble-bot .wpaichat-bubble-text a,
.wpaichat-bubble-admin .wpaichat-bubble-text a{ color:var(--p)!important; }
.wpaichat-bubble-label{
  display:block!important; font-size:10.5px!important; font-weight:700!important;
  color:var(--p)!important; margin-bottom:4px!important;
}

/* ── FAQs ── */
#wpaichat-faqs{
  padding:10px 14px 8px!important;
  background:var(--surface2)!important;
  border-top:1px solid var(--border)!important;
  direction:rtl!important;
}
.wpaichat-faqs-label{
  font-size:11.5px!important; color:var(--muted)!important;
  font-weight:600!important; margin-bottom:8px!important;
  display:block!important; text-align:right!important;
}
.wpaichat-faq-btn{
  display:block!important; width:100%!important; text-align:right!important;
  background:var(--surface)!important; border:1.5px solid var(--border)!important;
  border-radius:10px!important; padding:9px 13px!important;
  font-size:13.5px!important; color:var(--text)!important; cursor:pointer!important;
  margin-bottom:7px!important; line-height:1.5!important;
  transition:border-color 150ms,background 150ms,transform 100ms!important;
  direction:rtl!important;
}
.wpaichat-faq-btn:hover{border-color:var(--p)!important;background:var(--p-lt)!important}
.wpaichat-faq-btn:active{transform:scale(.98)!important}
.wpaichat-faq-btn:last-child{margin-bottom:0!important}

/* ── Typing ── */
#wpaichat-typing{
  padding:8px 16px!important;
  display:flex!important; flex-direction:row!important; gap:5px!important;
  align-items:center!important;
  background:var(--surface2)!important; flex-shrink:0!important;
}
.wpaichat-dot{
  width:7px!important; height:7px!important; border-radius:50%!important;
  background:var(--muted)!important; opacity:.5!important;
  display:inline-block!important;
  animation:vc-bounce 1.3s ease-in-out infinite!important;
}
.wpaichat-dot:nth-child(2){animation-delay:.17s!important}
.wpaichat-dot:nth-child(3){animation-delay:.34s!important}
@keyframes vc-bounce{0%,60%,100%{transform:translateY(0);opacity:.5}30%{transform:translateY(-5px);opacity:1}}
@media(prefers-reduced-motion:reduce){.wpaichat-dot{animation:none!important;opacity:.7!important}}

/* ── Form ── */
.wpaichat-attach-btn{
  width:38px!important; height:38px!important; border-radius:10px!important;
  display:flex!important; align-items:center!important; justify-content:center!important;
  cursor:pointer!important; flex-shrink:0!important; color:var(--muted)!important;
  transition:background 150ms!important;
}
.wpaichat-attach-btn:hover{background:var(--p-lt)!important}
.wpaichat-attach-btn svg{width:20px!important;height:20px!important;fill:currentColor!important;display:block!important}

.wpaichat-image-preview{
  display:flex!important; align-items:center!important; gap:8px!important;
  padding:8px 13px!important; background:var(--surface2)!important;
  border-top:1px solid var(--border)!important;
}
.wpaichat-image-preview img{
  width:44px!important; height:44px!important; border-radius:8px!important;
  object-fit:cover!important; border:1px solid var(--border)!important;
}
#wpaichat-image-remove{
  background:rgba(0,0,0,.08)!important; border:none!important; border-radius:50%!important;
  width:22px!important; height:22px!important; cursor:pointer!important; font-size:12px!important;
  color:var(--muted)!important;
}

.wpaichat-recording-bar{
  display:flex!important; align-items:center!important; gap:10px!important;
  padding:9px 13px!important; background:#FEF2F2!important;
  border-top:1px solid #FECACA!important; direction:rtl!important;
}
.wpaichat-rec-dot{
  width:10px!important; height:10px!important; border-radius:50%!important;
  background:var(--danger)!important; flex-shrink:0!important;
  animation:vc-pulse 1.2s ease-in-out infinite!important;
}
#wpaichat-rec-timer{font-size:13px!important;font-weight:700!important;color:var(--text)!important;flex-shrink:0!important;}
.wpaichat-rec-label{font-size:12.5px!important;color:var(--muted)!important;flex:1!important;}
#wpaichat-rec-cancel{
  background:none!important; border:none!important; color:var(--muted)!important;
  font-size:12.5px!important; cursor:pointer!important; padding:4px 8px!important;
}
#wpaichat-rec-send{
  background:var(--p)!important; color:#fff!important; border:none!important;
  border-radius:8px!important; font-size:12.5px!important; font-weight:600!important;
  padding:6px 12px!important; cursor:pointer!important;
}

#wpaichat-form{
  display:flex!important; flex-direction:row!important; gap:8px!important;
  padding:12px 13px!important;
  border-top:1px solid var(--border)!important;
  background:var(--surface)!important; flex-shrink:0!important;
  align-items:center!important; direction:rtl!important;
}
#wpaichat-input{
  flex:1!important; border:1.5px solid var(--border)!important;
  border-radius:12px!important; padding:11px 14px!important;
  font-size:14px!important; min-height:46px!important;
  background:var(--surface2)!important; color:var(--text)!important;
  direction:rtl!important; text-align:right!important; outline:none!important;
  unicode-bidi:plaintext!important;
  transition:border-color 150ms,box-shadow 150ms,background 150ms!important;
}
#wpaichat-input:focus{
  border-color:var(--p)!important; background:var(--surface)!important;
  box-shadow:0 0 0 3px var(--p-lt)!important;
}
#wpaichat-send-btn{
  width:46px!important; height:46px!important; border-radius:12px!important;
  border:none!important; background:var(--p)!important; color:#fff!important;
  display:flex!important; align-items:center!important; justify-content:center!important;
  cursor:pointer!important; flex-shrink:0!important;
  transition:opacity 150ms,transform 100ms!important;
}
#wpaichat-send-btn:hover{opacity:.9!important}
#wpaichat-send-btn:active{transform:scale(.92)!important}
#wpaichat-send-btn svg{width:20px!important;height:20px!important;fill:#fff!important;display:block!important}

/* ── Utils ── */
.wpaichat-sr-only{
  position:absolute!important;width:1px!important;height:1px!important;
  padding:0!important;margin:-1px!important;overflow:hidden!important;
  clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;
}
.wpaichat-hidden{display:none!important}

/* ── Mobile ── */
@media(max-width:480px){
  #wpaichat-panel{
    position:fixed!important; inset:0!important;
    width:100%!important; height:100%!important;
    max-width:100%!important; max-height:100%!important;
    border-radius:0!important; bottom:0!important;
  }
  #wpaichat-widget-root.wpaichat-pos-right #wpaichat-panel,
  #wpaichat-widget-root.wpaichat-pos-left  #wpaichat-panel{
    right:0!important; left:0!important;
  }
}

/* وقتی لانچر چسبان جدید فعال است و دکمه پیش‌فرض چت باید پنهان شود */
#wpaichat-widget-root.wpaichat-fab-hidden #wpaichat-fab-wrap { display: none !important; }
