/* RSST OCR OCR - Frontend CSS v2.0.0 */
@import url('https://fonts.googleapis.com/css2?family=Vazirmatn:wght@300;400;500;600;700&display=swap');

.rsst-ocr-wrap *,.rsst-ocr-wrap *::before,.rsst-ocr-wrap *::after{box-sizing:border-box;margin:0;padding:0}

.rsst-ocr-wrap{font-family:'Vazirmatn',Tahoma,sans-serif;direction:rtl;max-width:800px;margin:32px auto;color:#1e293b;position:relative}

/* ── Card ── */
.rsst-card{background:#fff;border-radius:20px;box-shadow:0 4px 32px rgba(0,0,0,.09),0 1px 4px rgba(0,0,0,.04);overflow:hidden}
.rsst-card-body{padding:28px 32px}

/* ── Steps ── */
.rsst-step{
  margin-bottom:16px;
  border-radius:16px;
  border:1.5px solid #e2e8f0;
  background:#fff;
  transition:border-color .3s, box-shadow .3s;
  overflow:hidden;
}
.rsst-step-active{
  border-color:#6366f1;
  box-shadow:0 0 0 4px rgba(99,102,241,.08), 0 4px 20px rgba(99,102,241,.10);
}
.rsst-step-locked{opacity:.4;pointer-events:none}
.rsst-step-done{border-color:#10b981;box-shadow:none}

/* ── Step Header ── */
.rsst-step-header{
  display:flex;align-items:center;gap:12px;
  padding:16px 20px;
  cursor:pointer;user-select:none;
  background:#f8fafc;
  font-weight:600;font-size:15px;color:#1e293b;
  transition:background .2s;
  position:relative;
}
.rsst-step-active .rsst-step-header{
  background:linear-gradient(135deg,rgba(99,102,241,.06),rgba(139,92,246,.04));
}
.rsst-step-done .rsst-step-header{
  background:linear-gradient(135deg,rgba(16,185,129,.05),rgba(5,150,105,.03));
}
.rsst-step-header:hover{background:rgba(99,102,241,.07)}
.rsst-step-done .rsst-step-header:hover{background:rgba(16,185,129,.09)}

/* chevron arrow */
.rsst-step-header::after{
  content:'';
  margin-right:auto;
  width:18px;height:18px;flex-shrink:0;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:center;background-size:contain;
  transition:transform .3s cubic-bezier(.4,0,.2,1), opacity .2s;
  opacity:.7;
}
.rsst-step-done .rsst-step-header::after{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2310b981' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  opacity:1;
}
/* rotate chevron when collapsed (body hidden) */
.rsst-step-collapsed .rsst-step-header::after{
  transform:rotate(-90deg);
}
/* hide chevron for locked/active steps that aren't collapsible */
.rsst-step-locked .rsst-step-header::after,
.rsst-step-active:not(.rsst-step-done) .rsst-step-header::after{
  display:none;
}

/* ── Step Number Badge ── */
.rsst-step-num{
  width:30px;height:30px;border-radius:50%;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  background:#cbd5e1;color:#fff;font-size:13px;font-weight:700;
  transition:background .3s, box-shadow .3s;
}
.rsst-step-active .rsst-step-num{
  background:linear-gradient(135deg,#6366f1,#8b5cf6);
  box-shadow:0 2px 8px rgba(99,102,241,.4);
}
.rsst-step-done .rsst-step-num{
  background:linear-gradient(135deg,#10b981,#059669);
  box-shadow:0 2px 8px rgba(16,185,129,.35);
}

/* ── Step title label ── */
.rsst-step-header > span:not(.rsst-step-num){
  flex:1;
}
.rsst-step-active .rsst-step-header > span:not(.rsst-step-num){
  color:#4f46e5;
}
.rsst-step-done .rsst-step-header > span:not(.rsst-step-num){
  color:#059669;
}

/* ── Divider between header and body ── */
.rsst-step-active .rsst-step-header,
.rsst-step-done:not(.rsst-step-collapsed) .rsst-step-header{
  border-bottom:1px solid #e2e8f0;
}

/* ── Step Body — smooth open/close ── */
.rsst-step-body{
  padding:20px;
  /* open state */
  max-height:2000px;
  overflow:hidden;
  transition:max-height .45s cubic-bezier(.4,0,.2,1),
             padding .3s cubic-bezier(.4,0,.2,1),
             opacity .3s ease;
  opacity:1;
}
.rsst-step-collapsed .rsst-step-body{
  max-height:0 !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
  opacity:0;
  pointer-events:none;
}

/* ── Tabs ── */
.rsst-tabs{display:flex;gap:8px;border-bottom:1px solid #e2e8f0;margin:-18px -18px 16px;padding:0 18px}
.rsst-tab{padding:10px 16px;border:none;background:none;cursor:pointer;font-family:inherit;font-size:14px;color:#64748b;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .2s;border-radius:6px 6px 0 0}
.rsst-tab:hover{color:#6366f1;background:#f0f1ff}
.rsst-tab-active{color:#6366f1;border-bottom-color:#6366f1;font-weight:600}
.rsst-tab-pane{display:none;padding-top:16px}
.rsst-tab-pane-active{display:block}

/* ── Dropzone ── */
.rsst-dropzone{position:relative;border:2px dashed #c7d2fe;border-radius:12px;padding:36px 20px;text-align:center;cursor:pointer;transition:all .25s;background:#fafbff}
/* هاور: کادر اصلی مخفی می‌شود و فقط خط‌چینِ در حال حرکت — هم‌رنگ و هم‌ضخامت کادر اصلی — دیده می‌شود؛
   پس از خروج از هاور، کادر اصلی برمی‌گردد. خط‌چین‌ها با stroke-dashoffset در جهت عقربه‌های ساعت حرکت می‌کنند */
.rsst-dropzone:hover,.rsst-dropzone.rsst-drag-over{border-color:transparent;background:#eef2ff}
.rsst-dz-dash{position:absolute;top:-2px;left:-2px;width:calc(100% + 4px);height:calc(100% + 4px);overflow:visible;pointer-events:none;opacity:0;transition:opacity .25s}
.rsst-dz-dash rect{fill:none;stroke-width:2;stroke-dasharray:6 4;stroke-linecap:butt;animation:rsst-dz-march 1.2s linear infinite;animation-play-state:paused}
.rsst-dropzone:hover .rsst-dz-dash,.rsst-dropzone.rsst-drag-over .rsst-dz-dash{opacity:1}
.rsst-dropzone:hover .rsst-dz-dash rect,.rsst-dropzone.rsst-drag-over .rsst-dz-dash rect{stroke:#c7d2fe;animation-play-state:running}
@keyframes rsst-dz-march{to{stroke-dashoffset:-20}}
.rsst-dropzone-icon{font-size:40px;margin-bottom:8px}
.rsst-drop-text{font-size:16px;font-weight:600;color:#374151;margin-bottom:4px}
.rsst-drop-sub{font-size:13px;color:#9ca3af;margin:8px 0}
.rsst-drop-formats{font-size:12px;color:#9ca3af;margin-top:10px}

/* ── File preview ── */
.rsst-file-preview{margin-top:12px}
.rsst-file-info{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px}
.rsst-file-icon{font-size:28px}
.rsst-file-name{font-size:14px;font-weight:600;color:#166534}
.rsst-file-size{font-size:12px;color:#6b7280;margin-top:2px}
.rsst-remove-file{margin-right:auto;background:none;border:none;cursor:pointer;color:#9ca3af;width:26px;height:26px;padding:0;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;line-height:1;border-radius:50%;transition:all .2s}
.rsst-remove-file:hover{background:#fee2e2;color:#ef4444}

/* ── File rows (multi-file list) ── */
.rsst-file-rows{margin-top:14px;display:flex;flex-direction:column;gap:10px}
.rsst-file-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;flex-wrap:wrap}
.rsst-file-row-info{display:flex;align-items:center;gap:12px;min-width:0}
.rsst-file-row-info .rsst-file-name{font-size:14px;font-weight:600;color:#166534;word-break:break-all}
.rsst-file-meta{font-size:12px;color:#6b7280;margin-top:2px}
.rsst-file-row-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.rsst-free-trial-btn:disabled{opacity:.5;cursor:not-allowed;background:#f1f5f9}
.rsst-order-tag{font-weight:700;color:#6366f1;direction:ltr;display:inline-block}
.rsst-file-row-ready{border-color:#10b981;background:#ecfdf5}
.rsst-pages-badge{font-size:12px;color:#059669;font-weight:600;margin-top:4px}
.rsst-attn-pulse{animation:rsst-pulse 2s infinite}

/* ── Specify-pages modal ── */
.rsst-modal-overlay{position:fixed;inset:0;background:rgba(15,23,42,.55);display:flex;align-items:center;justify-content:center;z-index:2147483647;padding:16px}
.rsst-modal{background:#fff;border-radius:16px;max-width:420px;width:100%;box-shadow:0 20px 60px rgba(0,0,0,.25);overflow:hidden}
.rsst-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e2e8f0}
.rsst-modal-header h3{font-size:16px;font-weight:700;color:#1e293b;display:flex;align-items:center;gap:8px}
.rsst-faq-header-icon{color:#4338ca;flex-shrink:0}
.rsst-modal-close{background:none;border:none;cursor:pointer;font-size:16px;color:#9ca3af;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:background-color .18s ease,color .18s ease}
.rsst-modal-close:hover{background:#f1f5f9;color:#475569}
.rsst-modal-close:hover{color:#ef4444}
.rsst-modal-body{padding:18px 20px;display:flex;flex-direction:column;gap:12px}
.rsst-radio-row{display:flex;align-items:center;gap:10px;font-size:14px;color:#374151;cursor:pointer;padding:10px 12px;border:1.5px solid #e2e8f0;border-radius:10px;transition:all .2s;margin-bottom:10px}
.rsst-radio-row:hover{border-color:#a5b4fc;background:#f0f1ff}
.rsst-range-fields{display:flex;gap:12px}
.rsst-range-fields .rsst-input-group{flex:1;margin-bottom:0}
.rsst-modal-hint{font-size:13px;color:#6366f1;background:#eef2ff;border:1px solid #c7d2fe;border-radius:8px;padding:8px 12px;margin-bottom:10px;margin-top:0}
#rsst-modal-audio-mode .rsst-range-fields input{font-family:monospace;font-size:14px;letter-spacing:1px}
.rsst-modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid #e2e8f0;background:#f8fafc}

/* ── Input ── */
.rsst-input-group{margin-bottom:16px}
.rsst-input-group label{display:block;font-size:13px;font-weight:600;color:#374151;margin-bottom:8px}
.rsst-input{width:100%;padding:10px 14px;border:1.5px solid #e2e8f0;border-radius:10px;font-family:inherit;font-size:14px;color:#1e293b;transition:border-color .2s;outline:none}
.rsst-input:focus{border-color:#6366f1;box-shadow:0 0 0 3px rgba(99,102,241,.12)}
.rsst-hint{font-size:12px;color:#6b7280;margin-top:6px}

/* ── Info banner ── */
.rsst-info-banner{padding:16px 20px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;font-size:14px;color:#1e40af;margin-bottom:14px;display:flex;gap:14px;flex-wrap:wrap;align-items:center;direction:rtl;text-align:right}
.rsst-info-banner strong{font-size:16px}
/* برچسب قیمت: چیپ طلایی-قرمز درجه‌یک با برق متحرک و مبلغ درشت — برای ترغیب به خرید */
.rsst-price-tag{position:relative;overflow:hidden;background:linear-gradient(135deg,#fbbf24,#f59e0b 45%,#ef4444);border:1px solid rgba(255,255,255,.4);color:#fff;padding:12px 22px;border-radius:16px;font-weight:700;font-size:15px;box-shadow:0 6px 18px rgba(239,68,68,.35),0 2px 5px rgba(0,0,0,.08),inset 0 1px 0 rgba(255,255,255,.45);display:inline-flex;align-items:center;gap:8px;margin-top:4px;letter-spacing:.3px;transition:transform .2s,box-shadow .2s}
.rsst-price-tag:not(.rsst-price-paid){text-shadow:0 1px 2px rgba(0,0,0,.18)}
.rsst-price-tag:not(.rsst-price-paid)::after{content:"";position:absolute;top:-10%;bottom:-10%;width:45%;left:-60%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);animation:rsst-price-shine 2.8s ease-in-out infinite}
@keyframes rsst-price-shine{0%{left:-60%}55%,100%{left:130%}}
.rsst-price-tag:not(.rsst-price-paid):hover{transform:translateY(-1px);box-shadow:0 9px 24px rgba(239,68,68,.45),0 2px 5px rgba(0,0,0,.08),inset 0 1px 0 rgba(255,255,255,.45)}
.rsst-price-tag svg{width:20px;height:20px;flex:0 0 auto}
.rsst-price-tag strong{font-size:23px;font-weight:900;color:inherit;letter-spacing:0;margin-inline-start:2px}
.rsst-price-tag.rsst-price-paid{box-shadow:0 4px 14px rgba(22,163,74,.25),inset 0 1px 0 rgba(255,255,255,.5)}
@media (prefers-reduced-motion: reduce){.rsst-price-tag::after{animation:none;display:none}}
/* موبایل: تگ قیمت تمام‌عرض بنر اطلاعات می‌شود تا خواناتر و برجسته‌تر باشد */
@media (max-width:560px){
  .rsst-info-banner .rsst-price-tag{width:100%;justify-content:center;flex:1 1 100%}
}

/* ═══════════════════════════════════════════════════════════════
   بازطراحی مدرن جدول تاریخچهٔ سفارش‌های کاربر (rsst-history-table)
   — فقط بخش کاربری؛ جدول مدیریت (rsst-hist-table در admin.css) دست‌نخورده
═══════════════════════════════════════════════════════════════ */
.rsst-history-table-wrap{
  overflow-x:auto; border-radius:16px;
  border:1px solid #e2e8f0;
  box-shadow:0 1px 2px rgba(15,23,42,.04), 0 12px 32px -12px rgba(99,102,241,.14);
  background:#fff;
}
.rsst-history-table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px;background:transparent}
.rsst-history-table thead tr{
  /* گرادیان یکپارچه روی کل ردیف هدر — بدون درز در مرز ستون‌ها */
  background:linear-gradient(135deg,#312e81 0%,#4338ca 60%,#6366f1 100%);
}
.rsst-history-table thead th{
  position:sticky; top:0; z-index:1;
  background:transparent;
  color:#e0e7ff; padding:13px 16px; text-align:right; font-weight:700; font-size:12px;
  letter-spacing:.2px; white-space:nowrap; border:none;
}
.rsst-history-table thead th:first-child{border-radius:0 14px 0 0}
.rsst-history-table thead th:last-child{border-radius:14px 0 0 0}
.rsst-history-table tbody td{
  padding:13px 16px; border-bottom:1px solid #eef2f7; color:#334155; vertical-align:middle;
  background:#fff; transition:background .15s;
}
/* زیگزاگی نرم + هاور بنفشِ کم‌رنگ */
.rsst-history-table tbody tr:nth-child(even) td{background:#fafaff}
.rsst-history-table tbody tr:hover td{background:#f5f3ff}
.rsst-history-table tbody tr:last-child td{border-bottom:none}
.rsst-history-table tbody tr:last-child td:first-child{border-radius:0 0 14px 0}
.rsst-history-table tbody tr:last-child td:last-child{border-radius:0 0 0 14px}

/* نام فایل: با آیکن و وزن بیشتر — ستون اصلی ردیف */
.rsst-history-table .rsst-td-name{font-weight:600;color:#1e293b;max-width:180px}
/* قیمت: چیپ سبز مالی */
.rsst-history-table .rsst-td-price{font-weight:800;color:#047857;white-space:nowrap}
/* تاریخ: خاکستری ظریف */
.rsst-history-table .rsst-td-date{white-space:nowrap;color:#94a3b8;font-size:12px}
/* تراکنش: مونو با پس‌زمینهٔ ظریف */
.rsst-history-table .rsst-td-track{
  direction:ltr;text-align:center;font-family:ui-monospace,monospace;font-size:11.5px;color:#4338ca;
  background:#f8f8ff;border:1px solid #eef2ff;border-radius:8px;padding:4px 8px;white-space:nowrap;
}
.rsst-history-table .rsst-td-dash{color:#cbd5e1}

/* تگ شماره سفارش: چیپ نیلی مدرن */
.rsst-history-table .rsst-order-tag{
  display:inline-flex;align-items:center;gap:5px;
  background:linear-gradient(135deg,#eef2ff,#e0e7ff); color:#4338ca;
  border:1px solid #c7d2fe; border-radius:999px; padding:4px 12px;
  font-family:ui-monospace,monospace; font-size:11.5px; font-weight:700; direction:ltr;
  box-shadow:0 1px 2px rgba(67,56,202,.08);
}

/* بج وضعیت: با دات رنگی + رنگ پس‌زمینهٔ نرم */
.rsst-history-table .rsst-badge{
  display:inline-flex;align-items:center;gap:6px;
  padding:4px 12px;border-radius:999px;font-size:11.5px;font-weight:700;
}
.rsst-history-table .rsst-badge::before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor;flex:0 0 auto}
.rsst-history-table .rsst-badge svg{display:none}

/* دکمه‌های دانلود: گرینِ سبز مالی هماهنگ با ستون قیمت؛ هاور تیره‌تر */
.rsst-history-table .rsst-dl-btn{
  display:inline-flex;align-items:center;gap:5px;
  background:#ecfdf5;color:#047857 !important;border:1px solid #a7f3d0;
  border-radius:999px;padding:5px 12px;font-size:11.5px;font-weight:800;
  text-decoration:none !important;margin:2px 0 2px 6px;white-space:nowrap;
  transition:background .15s,color .15s,transform .12s,box-shadow .15s;
}
.rsst-history-table .rsst-dl-btn svg{stroke:#047857}
.rsst-history-table .rsst-dl-btn svg{flex:0 0 auto}
.rsst-history-table .rsst-dl-btn:hover{
  background:linear-gradient(135deg,#059669,#047857) !important;color:#fff !important;border-color:transparent;
  transform:translateY(-1px);box-shadow:0 4px 12px rgba(5,150,105,.35);
}
.rsst-history-table .rsst-dl-btn:hover svg{stroke:#fff}

/* موبایل: ردیف‌های کارت‌نما */
@media (max-width:640px){
  .rsst-history-table thead{display:none}
  .rsst-history-table, .rsst-history-table tbody, .rsst-history-table tr, .rsst-history-table td{display:block;width:100%}
  .rsst-history-table tbody tr{
    border:1px solid #e2e8f0;border-radius:14px;margin:10px 8px;padding:4px 2px;
    background:#fff;box-shadow:0 1px 6px rgba(15,23,42,.06);
  }
  .rsst-history-table tbody tr:last-child td{border-radius:0}
  .rsst-history-table tbody td{
    display:flex;align-items:center;justify-content:space-between;gap:10px;
    border:none;border-bottom:1px dashed #eef2f7;padding:9px 14px;background:transparent !important;
  }
  .rsst-history-table tbody td:last-child{border-bottom:none}
  .rsst-history-table tbody td::before{
    content:attr(data-label);font-size:11px;font-weight:700;color:#94a3b8;flex:0 0 auto;
  }
  .rsst-history-table .rsst-td-name{max-width:60%}
}
/* برچسب‌های موبایل فقط در همان مدیا نمایش داده شوند */
.rsst-history-table td[data-label]::before{display:none}
@media (max-width:640px){
  .rsst-history-table td[data-label]::before{display:inline}
}

/* ── Method grid ── */
.rsst-method-grid{display:grid;gap:8px;grid-template-columns:repeat(4,1fr)}
@media(max-width:560px){.rsst-method-grid{grid-template-columns:repeat(2,1fr)}}

.rsst-method-card,.rsst-output-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:12px 8px;border:1.5px solid #e2e8f0;border-radius:10px;cursor:pointer;transition:all .2s;text-align:center;font-size:13px}
.rsst-method-card input,.rsst-output-card input{display:none}
.rsst-method-card:hover,.rsst-output-card:hover{border-color:#a5b4fc;background:#f0f1ff}
.rsst-method-selected,.rsst-output-selected{border-color:#6366f1;background:#eef2ff;color:#4338ca;font-weight:600}
.rsst-method-num{font-size:20px;font-weight:700;color:#6366f1}
.rsst-method-label{font-size:11px;color:#64748b}
.rsst-method-selected .rsst-method-label{color:#4338ca}

/* ── مرحلهٔ سوم (فایل صوتی) — دراپ‌داون مدرن انتخاب زبان ── */
.rsst-select-wrap{position:relative;display:block;width:100%}
.rsst-modern-select{
  width:100%;box-sizing:border-box;appearance:none;-webkit-appearance:none;-moz-appearance:none;
  background:#fff;border:1.5px solid #e2e8f0;border-radius:12px;
  padding:17px 20px 40px 48px;font-size:14px;font-family:inherit;color:#1e293b;
  cursor:pointer;transition:border-color .2s,box-shadow .2s,background .2s;
}
.rsst-modern-select:hover{border-color:#a5b4fc;background:#f8f8ff}
.rsst-modern-select:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px rgba(99,102,241,.15)}
.rsst-select-wrap .rsst-select-arrow{
  position:absolute;top:50%;left:16px;transform:translateY(-50%);
  pointer-events:none;color:#6366f1;font-size:12px;transition:transform .2s;
}
.rsst-select-wrap:focus-within .rsst-select-arrow{transform:translateY(-50%) rotate(180deg)}
.rsst-method-card.rsst-method-disabled{opacity:.28;pointer-events:none;filter:grayscale(1);cursor:not-allowed;border-style:dashed}

/* ── Tooltip شناور مدرن برای کارت‌های روش تبدیل (مرحله ۳) ──
   با JS و position:fixed رندر می‌شود (نه pseudo-element) تا از برش‌خوردن توسط
   overflow:hidden والدین (.rsst-card / .rsst-step / .rsst-step-body) در امان بماند
   و همیشه بالای همهٔ المان‌های فرم قرار بگیرد. */
.rsst-tooltip-float{
  position:fixed;
  top:0;left:0;
  width:max-content;
  max-width:250px;
  padding:10px 14px;
  border-radius:14px;
  background:linear-gradient(155deg,#312e81 0%,#4338ca 55%,#6366f1 100%);
  color:#fff;
  font-family:'Vazirmatn',Tahoma,sans-serif;
  font-size:12.5px;
  font-weight:500;
  line-height:1.65;
  text-align:center;
  white-space:normal;
  box-shadow:0 14px 34px -8px rgba(67,56,202,.5),0 4px 12px rgba(15,23,42,.15);
  z-index:2147483647;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  /* توجه: هیچ translateX ثابتی در transform نیست — موقعیت افقی/عمودی دقیق
     همیشه با JS (getBoundingClientRect) محاسبه و مستقیماً روی left/top ست می‌شود */
  transform:translateY(6px) scale(.92);
  transform-origin:bottom center;
  transition:opacity .2s cubic-bezier(.16,1,.3,1),transform .2s cubic-bezier(.16,1,.3,1),visibility .2s;
}
.rsst-tooltip-float.rsst-tooltip-visible{
  opacity:1;
  visibility:visible;
  transform:translateY(0) scale(1);
}
.rsst-tooltip-float.rsst-tooltip-flip{
  transform-origin:top center;
}
.rsst-tooltip-float.rsst-tooltip-flip:not(.rsst-tooltip-visible){
  transform:translateY(-6px) scale(.92);
}
.rsst-tooltip-float::after{
  content:'';
  position:absolute;
  bottom:-5px;
  left:50%;
  width:11px;height:11px;
  background:#4338ca;
  border-radius:2px;
  transform:translateX(-50%) rotate(45deg);
}
.rsst-tooltip-float.rsst-tooltip-flip::after{
  bottom:auto;top:-5px;
}
@media(max-width:560px){
  .rsst-tooltip-float{max-width:170px;font-size:11.5px;padding:8px 10px}
}

/* ── Buttons ── */
.rsst-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border-radius:10px;border:1.5px solid transparent;cursor:pointer;font-family:inherit;font-size:14px;font-weight:600;transition:all .2s;text-decoration:none}
.rsst-btn:disabled{opacity:.6;cursor:not-allowed}
.rsst-btn-full{width:100%;margin-top:16px}
.rsst-btn-sm{padding:8px 14px;font-size:13px;border-radius:8px}
.rsst-btn-primary{background:#6366f1;color:#fff;border-color:#6366f1}
.rsst-btn-primary:hover:not(:disabled){background:#4f46e5}
.rsst-btn-success{background:#10b981;color:#fff;border-color:#10b981}
.rsst-btn-success:hover:not(:disabled){background:#059669}
.rsst-btn-pay{background:linear-gradient(135deg,#7c3aed,#4f46e5);color:#fff;border-color:#4f46e5;box-shadow:0 4px 14px rgba(79,70,229,.35);font-size:16px;font-weight:700}
.rsst-btn-pay:hover:not(:disabled){background:linear-gradient(135deg,#6d28d9,#4338ca)}
.rsst-btn-danger{background:#ef4444;color:#fff;border-color:#ef4444}
.rsst-btn-danger:hover:not(:disabled){background:#dc2626}
.rsst-btn-outline{background:#fff;color:#6366f1;border-color:#c7d2fe}
.rsst-btn-outline:hover:not(:disabled){background:#eef2ff}
.rsst-btn-download{background:#0ea5e9;color:#fff;border-color:#0ea5e9}
.rsst-btn-download:hover{background:#0284c7}
/* ── دکمهٔ «تعیین صفحات / تعیین بازه»: CTA متمایز با نبض ملایم برای جلب توجه ── */
.rsst-specify-pages-btn{background:linear-gradient(135deg,#6366f1,#7c3aed);color:#fff;border-color:#4f46e5;font-weight:700;padding:8px 16px;box-shadow:0 3px 10px rgba(99,102,241,.35);animation:rsst-cta-pulse 2s infinite}
.rsst-specify-pages-btn:hover:not(:disabled){background:linear-gradient(135deg,#4f46e5,#6d28d9);animation:none;box-shadow:0 5px 16px rgba(99,102,241,.5);transform:translateY(-1px)}
.rsst-specify-pages-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 6px rgba(99,102,241,.4)}
@keyframes rsst-cta-pulse{0%,100%{box-shadow:0 3px 10px rgba(99,102,241,.35),0 0 0 0 rgba(99,102,241,.45)}50%{box-shadow:0 3px 10px rgba(99,102,241,.35),0 0 0 9px rgba(99,102,241,0)}}

/* ── Spinner ── */
.rsst-spinner{width:18px;height:18px;border:2.5px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:rsst-spin .7s linear infinite}
@keyframes rsst-spin{to{transform:rotate(360deg)}}
@keyframes rsst-pulse{0%,100%{box-shadow:0 0 0 0 rgba(99,102,241,.7);}50%{box-shadow:0 0 0 10px rgba(99,102,241,0);}}

/* ── File actions ── */
.rsst-file-actions{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}

/* ── Audio progress ── */
.rsst-audio-progress-box{border:1.5px solid #e2e8f0;border-radius:14px;padding:18px;margin-top:16px}
.rsst-progress-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;font-size:14px;font-weight:600;color:#374151}
.rsst-progress-bar-wrap{height:10px;background:#e2e8f0;border-radius:99px;overflow:hidden}
.rsst-progress-bar{height:100%;background:linear-gradient(90deg,#6366f1,#8b5cf6);border-radius:99px;transition:width .5s;width:0%}
.rsst-progress-text{text-align:center;font-size:13px;color:#6b7280;margin-top:8px}
.rsst-live-output-box{margin-bottom:16px}
.rsst-live-output-box h4{font-size:13px;color:#374151;margin-bottom:6px}
.rsst-live-output-textarea{width:100%;box-sizing:border-box;padding:12px;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:8px;font-size:13px;line-height:1.7;resize:vertical;font-family:inherit;color:#1e293b}

/* ── Result ── */
.rsst-result-success{text-align:center;padding:20px 18px}
.rsst-check-icon{margin-bottom:10px;display:flex;justify-content:center}
/* آیکن تیک موفقیت — ترسیم متحرک دایره و تیک + پاپ و درخشش */
.rsst-check-icon .rsst-success-check{overflow:visible;animation:rsst-check-pop .5s cubic-bezier(.34,1.56,.64,1) both;filter:drop-shadow(0 10px 22px rgba(34,197,94,.35))}
.rsst-check-ring{stroke-dasharray:148;stroke-dashoffset:148;animation:rsst-draw .55s ease-out .1s forwards}
.rsst-check-mark{stroke-dasharray:32;stroke-dashoffset:32;animation:rsst-draw .4s ease-out .5s forwards}
@keyframes rsst-draw{to{stroke-dashoffset:0}}
@keyframes rsst-check-pop{0%{transform:scale(.3);opacity:0}60%{transform:scale(1.12);opacity:1}100%{transform:scale(1)}}
@media (prefers-reduced-motion: reduce){
  .rsst-check-ring,.rsst-check-mark{animation:none;stroke-dashoffset:0}
  .rsst-check-icon .rsst-success-check{animation:none}
}
.rsst-result-success h3{font-size:18px;color:#166534;margin-bottom:16px}
.rsst-result-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.rsst-result-hint{margin:14px 0 0;font-size:13px;color:#6366f1;background:#eef2ff;border:1px solid #c7d2fe;border-radius:8px;padding:8px 14px;display:inline-block}
.rsst-text-result{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:16px;font-size:14px;line-height:1.8;white-space:pre-wrap;max-height:360px;overflow-y:auto;text-align:justify;direction:rtl}
.rsst-dl-link{margin-top:10px;word-break:break-all}
.rsst-dl-direct-link{font-size:12px;color:#6366f1;direction:ltr;display:inline-block}

/* ── Messages ── */
#rsst-messages{margin-top:12px}
.rsst-alert{padding:12px 16px;border-radius:10px;font-size:14px;margin-top:10px;display:flex;align-items:flex-start;gap:8px}
.rsst-alert-error{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c}
.rsst-alert-success{background:#f0fdf4;border:1px solid #bbf7d0;color:#166534}
.rsst-alert-info{background:#eff6ff;border:1px solid #bfdbfe;color:#1d4ed8}
.rsst-alert-warning{background:#fffbeb;border:1px solid #fde68a;color:#92400e}
.rsst-alert-icon{flex-shrink:0;display:flex;align-items:center;margin-top:2px}

/* ────────────────────────────────
   HISTORY TABLE
──────────────────────────────── */
.rsst-history-wrap{font-family:'Vazirmatn',Tahoma,sans-serif;direction:rtl;max-width:100%;margin:24px 0}
.rsst-history-title{font-size:18px;font-weight:700;color:#1e293b;margin-bottom:16px}
.rsst-history-table-wrap{overflow-x:auto;border-radius:12px;box-shadow:0 1px 8px rgba(0,0,0,.07)}
.rsst-history-table{width:100%;border-collapse:collapse;font-size:13px;background:#fff}
.rsst-history-table th{background:#f8fafc;padding:12px 14px;text-align:right;font-weight:600;color:#374151;border-bottom:2px solid #e2e8f0;white-space:nowrap}
.rsst-history-table td{padding:11px 14px;border-bottom:1px solid #f1f5f9;color:#374151;vertical-align:middle}
.rsst-history-table tr:last-child td{border-bottom:none}
.rsst-history-table tr:hover td{background:#fafbff}
.rsst-td-name{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rsst-td-dl{min-width:120px}
.rsst-dl-link{margin-top:6px;word-break:break-all}
.rsst-dl-direct-link{font-size:11px;color:#6366f1;direction:ltr;display:inline-block;line-height:1.4}

/* Badges */
.rsst-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:20px;font-size:12px;font-weight:600;white-space:nowrap}
.rsst-badge-done{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0}
.rsst-badge-pending{background:#fffbeb;color:#92400e;border:1px solid #fde68a}
.rsst-badge-error{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}
.rsst-badge-cancelled{background:#f8fafc;color:#64748b;border:1px solid #e2e8f0}

/* Pagination */
.rsst-pagination{display:flex;gap:6px;margin-top:16px;flex-wrap:wrap}
.rsst-page-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;border:1.5px solid #e2e8f0;color:#374151;font-family:inherit;font-size:14px;text-decoration:none;transition:all .2s}
.rsst-page-btn:hover{border-color:#6366f1;color:#6366f1;background:#eef2ff}
.rsst-page-btn-active{border-color:#6366f1;background:#6366f1;color:#fff}

/* ── Responsive ── */
@media(max-width:520px){.rsst-card-body{padding:18px 16px}.rsst-step-body{padding:14px}}

.rsst-ocr-wrap,.rsst-history-wrap{text-align:right;direction:rtl}
.rsst-step-header,.rsst-input-group label,.rsst-tabs,.rsst-tab-pane,.rsst-file-info,.rsst-hint,.rsst-alert,.rsst-card-body,.rsst-step-body{direction:rtl;text-align:right}
.rsst-info-banner strong{font-size:inherit}
.rsst-method-desc,.rsst-output-desc{font-size:10px;color:#64748b}


/* RSST OCR UI FIXES */
body, .rsst-ocr {
    direction: rtl;
    text-align: right;
}

.rsst-price {
    font-size: 22px;
    font-weight: bold;
}

.ocr-method-desc,
.ocr-output-desc {
    font-size: 11px;
    color: #666;
}

.download-link {
    display: none !important;
}

/* ── Credit Widget ── */
.rsst-credit-widget {
  background: linear-gradient(135deg,#f0f7ff,#f5f3ff);
  border: 1.5px solid #c7d2fe;
  border-radius: 14px;
  padding: 14px 18px;
  margin-bottom: 20px;
  direction: rtl;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.rsst-credit-top {
  display: flex;
  align-items: center;
  gap: 8px;
}
.rsst-credit-icon { font-size: 1.3rem; }
.rsst-credit-text { font-size: 14px; font-weight: 600; color: #374151; }
.rsst-credit-text strong { color: #4f46e5; font-size: 18px; margin: 0 3px; }

/* ── Package Buttons (تم روشن، گرید ریسپانسیو) ── */
.rsst-credit-packages {
  display: grid;
  grid-template-columns: repeat(2, 1fr); /* موبایل: دو ستونه، تمام عرض فرم */
  gap: 12px;
  width: 100%;
}
.rsst-credit-pkg-title {
  grid-column: 1 / -1;
  font-size: 13px; font-weight: 700; color: #6366f1;
  margin-bottom: 2px; letter-spacing: .3px;
}
@media (min-width: 641px) and (max-width: 900px) {
  .rsst-credit-packages { grid-template-columns: repeat(3, 1fr); } /* تبلت: سه ستونه، تمام عرض */
}
@media (min-width: 901px) {
  .rsst-credit-packages { grid-template-columns: repeat(4, 1fr); } /* دسکتاپ */
}

.rsst-pkg-buy-btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: 100%;
  margin-top: 22px; /* فضای رزروشده برای برچسب شناوری که بالای کارت قرار می‌گیرد */
  padding: 18px 10px 14px;
  border: 1.5px solid #e5e7eb;
  border-radius: 16px;
  background: #ffffff;
  color: #1e293b;
  cursor: pointer;
  font-family: inherit;
  text-align: center;
  transition: all .22s ease;
  box-shadow: 0 2px 8px rgba(15,23,42,.06);
  position: relative;
}
.rsst-pkg-buy-btn:hover {
  border-color: #a5b4fc;
  background: #f8faff;
  transform: translateY(-4px);
  box-shadow: 0 14px 28px -8px rgba(99,102,241,.28), 0 3px 8px rgba(15,23,42,.06);
}
.rsst-pkg-buy-btn:active { transform: translateY(-1px); box-shadow: 0 6px 14px -4px rgba(99,102,241,.2); }
.rsst-pkg-buy-btn:disabled { opacity: .5; pointer-events: none; transform: none; box-shadow: none; }
.rsst-pkg-btn-icon  { font-size: 26px; line-height: 1; }
.rsst-pkg-btn-pages { font-size: 16px; font-weight: 800; color: #1e293b; line-height: 1.2; }
/* برچسب بسته (مثل «پیشنهادی»/«پرفروش‌ترین») همیشه بالای هر بسته و با رنگی کاملاً
   متمایز از بقیهٔ کارت (کهربایی/نارنجی در برابر تم بنفش/آبی) نمایش داده می‌شود */
.rsst-pkg-btn-label {
  position: absolute;
  top: -25px;
  left: 50%;
  transform: translateX(-50%);
  height: 35px;
  padding: 0px 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 10.5px; font-weight: 800;
  background: linear-gradient(135deg,#f59e0b,#f97316);
  color: #fff;
  border-radius: 999px;
  box-shadow: 0 3px 10px -2px rgba(249,115,22,.5);
  white-space: nowrap;
  z-index: 2;
}
.rsst-pkg-btn-price { font-size: 12.5px; font-weight: 700; color: #6366f1; }

/* ── Manual credit purchase (fallback) ── */
.rsst-credit-purchase {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  font-size: 14px;
}
.rsst-credit-balance {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: .9rem;
  font-weight: 600;
  color: #1e40af;
}
.rsst-credit-icon { font-size: 1.3rem; }
.rsst-credit-purchase {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  font-size: .85rem;
  color: #374151;
}
.rsst-input-sm {
  border: 1px solid #d1d5db;
  border-radius: 6px;
  padding: 4px 8px;
  font-size: .85rem;
  outline: none;
  text-align: center;
  direction: ltr;
}
.rsst-input-sm:focus { border-color: #2563eb; box-shadow: 0 0 0 2px rgba(37,99,235,.15); }
.rsst-price-paid { background: #dcfce7 !important; color: #15803d !important; }

/* Credit badge */
.rsst-badge-credit {
    background: #dbeafe;
    color: #2563eb;
    font-weight: 600;
    padding: 2px 8px;
    border-radius: 4px;
}

/* Used method card (already converted) */
.rsst-method-used {
    opacity: 0.45;
    cursor: not-allowed;
    position: relative;
}
.rsst-method-used::after {
    content: '✓ انجام شد';
    position: absolute;
    top: 6px;
    left: 6px;
    background: #2563eb;
    color: #fff;
    font-size: 10px;
    padding: 1px 6px;
    border-radius: 10px;
    font-weight: 600;
}

/* ═══════════════════════════════════════════
   Modern History Table — v2.6.5
═══════════════════════════════════════════ */
.rsst-hist-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 14px;
}
.rsst-hist-perpage-form {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: .85rem;
}
.rsst-hist-perpage-form select {
    border: 1px solid #d1d5db;
    border-radius: 6px;
    padding: 4px 8px;
    font-size: .85rem;
}

/* Table wrapper */
.rsst-history-table-wrap,
.rsst-hist-table-wrap {
    overflow-x: auto;
    border-radius: 12px;
    box-shadow: 0 1px 4px rgba(0,0,0,.08);
}

/* Table base */
.rsst-hist-table {
    width: 100%;
    border-collapse: collapse;
    font-size: .875rem;
    background: #fff;
}
.rsst-hist-table thead tr {
    background: linear-gradient(135deg, #1e40af 0%, #2563eb 100%);
    color: #fff;
}
.rsst-hist-table thead th {
    padding: 12px 14px;
    text-align: right;
    font-weight: 600;
    white-space: nowrap;
    border: none;
}
.rsst-hist-table tbody tr {
    border-bottom: 1px solid #f1f5f9;
    transition: background .15s;
}
.rsst-hist-table tbody tr:last-child { border-bottom: none; }
.rsst-hist-table tbody tr:hover { background: #f8faff; }
.rsst-hist-table tbody td {
    padding: 11px 14px;
    vertical-align: middle;
    color: #374151;
}

/* Column helpers */
.rsst-td-id    { color: #9ca3af; font-size: .8rem; width: 36px; }
.rsst-td-center{ text-align: center; }
.rsst-td-price { font-weight: 600; color: #047857; white-space: nowrap; }
.rsst-td-date  { white-space: nowrap; font-size: .8rem; color: #6b7280; }
.rsst-td-name  { max-width: 160px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rsst-td-dl    { min-width: 120px; }
.rsst-td-dash  { color: #d1d5db; }
.rsst-td-track { direction: ltr; text-align: center; font-family: monospace; font-size: .8rem; color: #4338ca; white-space: nowrap; }

/* Order tag */
.rsst-td-order  { white-space: nowrap; }
.rsst-order-tag {
    display: inline-block;
    background: #eff6ff;
    color: #1d4ed8;
    border: 1px solid #bfdbfe;
    border-radius: 6px;
    padding: 2px 8px;
    font-size: .75rem;
    font-family: monospace;
    font-weight: 600;
    letter-spacing: .03em;
}

/* Download buttons */
.rsst-dl-btn {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: #2563eb;
    color: #fff !important;
    border-radius: 6px;
    padding: 4px 10px;
    font-size: .78rem;
    font-weight: 600;
    text-decoration: none !important;
    margin: 2px 2px 2px 0;
    transition: background .15s, transform .1s;
    white-space: nowrap;
}
.rsst-dl-btn:hover {
    background: #1d4ed8;
    transform: translateY(-1px);
}

/* Status badges */
.rsst-hist-badge,
.rsst-badge {
    display: inline-block;
    padding: 3px 9px;
    border-radius: 20px;
    font-size: .75rem;
    font-weight: 600;
    white-space: nowrap;
}
.rsst-hist-done,   .rsst-badge-done      { background:#dcfce7; color:#166534; }
.rsst-hist-pending,.rsst-badge-pending   { background:#fef9c3; color:#854d0e; }
.rsst-hist-error,  .rsst-badge-error     { background:#fee2e2; color:#991b1b; }
.rsst-hist-cancelled,.rsst-badge-cancelled{ background:#f3f4f6; color:#4b5563; }
.rsst-hist-credit, .rsst-badge-credit    { background:#dbeafe; color:#1d4ed8; }

/* Pagination */
.rsst-pagination,
.rsst-hist-pagination {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 14px;
    flex-wrap: wrap;
}
.rsst-page-btn,
.rsst-pag-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 34px;
    height: 34px;
    padding: 0 10px;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    background: #fff;
    color: #374151;
    font-size: .85rem;
    text-decoration: none;
    transition: all .15s;
}
.rsst-page-btn:hover, .rsst-pag-btn:hover {
    background: #eff6ff;
    border-color: #2563eb;
    color: #2563eb;
}
.rsst-page-btn-active,
.rsst-pag-active {
    background: #2563eb !important;
    border-color: #2563eb !important;
    color: #fff !important;
    font-weight: 700;
}

/* Admin card header */
.rsst-hist-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 12px;
}
.rsst-hist-total {
    background: #eff6ff;
    color: #1d4ed8;
    border-radius: 20px;
    padding: 3px 12px;
    font-size: .8rem;
    font-weight: 600;
}
.rsst-hist-empty { color: #9ca3af; padding: 20px 0; text-align: center; }

/* ══════════════════════════════════════════
   سوالات متداول (FAQ) — دکمهٔ باز کردن + پنل آکاردئونی
   ══════════════════════════════════════════ */
/* کانتینر مشترک دکمه‌های شناور FAQ و پشتیبانی: در دسکتاپ و پیش از اینکه دکمه‌ها
   واقعاً بچسبند (حالت اولیهٔ صفحه)، به‌صورت افقی و کنار هم نمایش داده می‌شوند.
   به‌محض اینکه دکمهٔ FAQ (که زودتر به آستانهٔ چسبندگی می‌رسد) واقعاً بچسبد، کلاس
   rsst-fab-toolbar-stacked توسط جاوااسکریپت اضافه می‌شود و چیدمان به همان حالت
   عمودی/چسبیدهٔ قبلی (بدون هیچ تغییری) برمی‌گردد. در موبایل این کانتینر از ابتدا
   block است، یعنی دقیقاً همان رفتار قبلی (بدون تغییر) حفظ می‌شود. */
.rsst-fab-toolbar{
  display:flex;
  flex-direction:row;
  align-items:flex-start;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom:14px;
}
.rsst-fab-toolbar.rsst-fab-toolbar-stacked{
  display:block;
}
@media(max-width:900px){
  .rsst-fab-toolbar{display:block}
}

.rsst-faq-fab-wrap{
  position:sticky;
  top:16px;
  z-index:50;
  display:flex;
  justify-content:flex-start;
  margin-bottom:0;
}

.rsst-faq-fab{
  display:inline-flex;align-items:center;gap:8px;
  background:#ffffff;
  color:#4338ca;
  border:1.5px solid #e5e7eb;
  border-radius:999px;
  padding:11px 20px;
  font-size:14px;font-weight:700;font-family:inherit;
  cursor:pointer;white-space:nowrap;
  box-shadow:0 4px 16px -4px rgba(15,23,42,.14),0 2px 6px rgba(15,23,42,.06);
  transition:all .22s ease;
}
.rsst-faq-fab:hover{
  background:#f5f7ff;
  border-color:#a5b4fc;
  color:#312e81;
  transform:translateY(-2px);
  box-shadow:0 12px 26px -6px rgba(99,102,241,.28),0 3px 8px rgba(15,23,42,.08);
}
.rsst-faq-fab:active{transform:translateY(0)}
.rsst-faq-fab-icon{font-size:17px;line-height:1}
.rsst-faq-fab-text{white-space:nowrap;transition:opacity .15s ease}

/* حالت واقعاً «چسبیده»: وقتی IntersectionObserver تشخیص دهد دکمه به لبهٔ بالای
   صفحه پین شده (نه صرفاً در جریان عادی سند)، برای جلوگیری از اشغال فضا،
   به یک دکمهٔ دایره‌ای کوچک با فقط آیکن تبدیل می‌شود؛ همان موقعیت/ظاهر پایه حفظ می‌شود */
.rsst-faq-fab-wrap.rsst-faq-fab-stuck .rsst-faq-fab{
  width:46px;height:46px;
  padding:0;
  border-radius:50%;
  justify-content:center;
  gap:0;
}
.rsst-faq-fab-wrap.rsst-faq-fab-stuck .rsst-faq-fab-text{
  width:0;opacity:0;overflow:hidden;position:absolute;pointer-events:none;
}
.rsst-faq-fab-wrap.rsst-faq-fab-stuck .rsst-faq-fab-icon{font-size:19px}

@media(max-width:560px){
  .rsst-faq-fab{padding:9px 16px;font-size:13px}
  .rsst-faq-fab-icon{font-size:15px}
}

/* Overlay مودال FAQ: خودِ overlay اسکرول می‌شود (نه یک ناحیهٔ داخلی)، تا هدر و
   لیست سوالات هرگز فشرده نشوند و همیشه با ارتفاع طبیعی خودشان نمایش داده شوند */
.rsst-faq-modal-overlay{
  overflow-y:auto;
  align-items:flex-start;
  padding:40px 16px;
  z-index:2147483647;
}
.rsst-faq-modal{
  max-width:620px;width:100%;background:#ffffff;
  margin:auto; /* هم‌مرکز عمودی/افقی، و در صورت طولانی بودن، امکان اسکرول کامل به بالا/پایین */
  max-height:none;
}
.rsst-faq-modal-header{background:linear-gradient(135deg,#eef2ff 0%,#f8faff 100%)}
.rsst-faq-modal-body{background:#fbfcff;max-height:none;overflow:visible}

.rsst-faq-item{border:1px solid #e5e7eb;border-radius:12px;margin-bottom:10px;overflow:hidden;background:#fff;transition:border-color .2s ease,box-shadow .2s ease}
.rsst-faq-item:last-child{margin-bottom:0}
.rsst-faq-item:hover{border-color:#c7d2fe}
.rsst-faq-item.rsst-faq-open{border-color:#a5b4fc;box-shadow:0 6px 18px -6px rgba(99,102,241,.18)}

.rsst-faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;background:#f8faff;border:none;cursor:pointer;text-align:right;font-size:14px;font-weight:700;color:#1e293b;font-family:inherit;transition:background-color .2s ease}
.rsst-faq-q:hover{background:#eef2ff}
.rsst-faq-item.rsst-faq-open .rsst-faq-q{background:#eef2ff;color:#4338ca}
.rsst-faq-q-text{flex:1}

.rsst-faq-arrow{flex-shrink:0;width:22px;height:22px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#e0e7ff;color:#4338ca;transition:transform .32s cubic-bezier(.16,1,.3,1),background-color .2s ease,color .2s ease}
.rsst-faq-item.rsst-faq-open .rsst-faq-arrow{transform:rotate(180deg);background:#4338ca;color:#fff}

/* آکاردئون با max-height محاسبه‌شده در JS (scrollHeight) — برخلاف تکنیک
   grid-template-rows که برای متن‌های طولانی گاهی نصف محتوا را برش می‌داد،
   این روش همیشه دقیقاً به اندازهٔ ارتفاع واقعی محتوا باز می‌شود */
.rsst-faq-a{max-height:0;overflow:hidden;transition:max-height .35s cubic-bezier(.16,1,.3,1)}
.rsst-faq-a-inner{padding:12px 16px 16px;color:#475569;font-size:13.5px;line-height:1.9}
.rsst-faq-a-inner strong,.rsst-faq-a-inner b{font-weight:700;color:#1e293b}
.rsst-faq-a-inner em,.rsst-faq-a-inner i{font-style:italic}
.rsst-faq-a-inner u{text-decoration:underline}
.rsst-faq-a-inner ul,.rsst-faq-a-inner ol{margin:8px 0 8px 20px;padding:0}
.rsst-faq-a-inner li{margin-bottom:4px}
.rsst-faq-a-inner a{color:#4338ca;font-weight:600;text-decoration:underline}
.rsst-faq-a-inner a:hover{color:#312e81}

@media(max-width:560px){
  .rsst-faq-modal{max-width:100%}
  .rsst-faq-modal-overlay{padding:20px 10px}
}

/* هم‌ترازی عمودی آیکن‌های SVG سبک با متن اطرافشان در سراسر بخش کاربری */
.rsst-icon{vertical-align:-3px;flex-shrink:0}
.rsst-faq-fab-icon svg,.rsst-credit-icon svg,.rsst-pkg-btn-icon svg{display:block}

/* ══════════════════════════════════════════
   نظرسنجی ۵ ستاره‌ای بعد از تبدیل PDF/تصویر
   ══════════════════════════════════════════ */
.rsst-rating-box{
  margin-top:18px;
  padding:18px 16px 16px;
  border-radius:16px;
  background:linear-gradient(135deg,#fffbeb 0%,#fef3c7 100%);
  border:1.5px solid #fde68a;
  text-align:center;
  transition:transform .25s ease;
}
.rsst-rating-box.rsst-rating-attention{ animation:rsstRatingAttention 1.5s ease; }
@keyframes rsstRatingAttention{
  0%,100%{ transform:scale(1); }
  15%{ transform:scale(1.045) rotate(-.5deg); }
  32%{ transform:scale(.98)  rotate(.5deg); }
  50%{ transform:scale(1.03) rotate(-.5deg); }
  70%{ transform:scale(1); }
}
.rsst-rating-title{ font-size:13.5px; font-weight:700; color:#92400e; margin:0 0 12px; }
.rsst-rating-stars{ display:flex; justify-content:center; gap:4px; direction:ltr; }
.rsst-rating-star{
  background:none; border:none; cursor:pointer; padding:4px;
  color:#d1d5db; line-height:0;
  transition:transform .2s cubic-bezier(.34,1.56,.64,1), color .2s ease;
}
.rsst-rating-star svg{ display:block; fill:currentColor; stroke:currentColor; }
.rsst-rating-star:hover{ transform:scale(1.2) rotate(-6deg); }
.rsst-rating-star.rsst-star-active{ color:#f59e0b; transform:scale(1.12); }
.rsst-rating-box.rsst-rating-submitted .rsst-rating-star{ cursor:default; }
.rsst-rating-box.rsst-rating-submitted .rsst-rating-star:hover{ transform:none; }
.rsst-rating-hint{ min-height:18px; font-size:12.5px; font-weight:800; color:#b45309; margin:8px 0 0; }
.rsst-rating-thanks{
  display:none; align-items:center; justify-content:center; gap:6px;
  font-size:14px; font-weight:800; color:#92400e; margin-top:4px;
}
.rsst-rating-thanks-icon{ font-size:19px; animation:rsstThanksPop .5s cubic-bezier(.34,1.56,.64,1); display:inline-block; }
.rsst-rating-box.rsst-rating-pop{ animation:rsstRatingPop .5s cubic-bezier(.34,1.56,.64,1); }
@keyframes rsstRatingPop{
  0%{ transform:scale(1); }
  45%{ transform:scale(1.05); }
  100%{ transform:scale(1); }
}
@keyframes rsstThanksPop{
  0%{ transform:scale(0) rotate(-20deg); }
  60%{ transform:scale(1.3) rotate(8deg); }
  100%{ transform:scale(1) rotate(0); }
}

/* ══════════════════════════════════════════
   آپلود دسته‌ای (چند فایل PDF/تصویر) — یک ردیف مستقل به‌ازای هر فایل در مرحله ۳
   ══════════════════════════════════════════ */
.rsst-btn-full{width:100%;justify-content:center}
.rsst-batch-row{border:1.5px solid #e5e7eb;border-radius:14px;padding:14px;margin-bottom:14px;background:#fff}
.rsst-batch-row:last-child{margin-bottom:0}
.rsst-batch-row-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px;font-size:13.5px}
.rsst-batch-row-name{display:flex;align-items:center;gap:6px;font-weight:700;color:#1e293b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rsst-batch-row-pages{flex-shrink:0;background:#eef2ff;color:#4338ca;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:700}
.rsst-batch-method-grid{margin-bottom:6px}
.rsst-method-card-done{
  background:linear-gradient(150deg,#16a34a 0%,#15803d 100%);
  border-color:#15803d;color:#ffffff;
  text-decoration:none;cursor:pointer;
  box-shadow:0 6px 16px -4px rgba(22,163,74,.45);
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}
.rsst-method-card-done:hover{
  background:linear-gradient(150deg,#15803d 0%,#166534 100%);
  border-color:#166534;
  transform:translateY(-2px);
  box-shadow:0 10px 22px -4px rgba(22,163,74,.55);
}
.rsst-method-card-done .rsst-method-num{color:#ffffff}
.rsst-method-card-done .rsst-method-num svg{display:block;width:30px;height:30px}
.rsst-method-card-done .rsst-method-label{font-size:22px;font-weight:700;color:#ffffff}
.rsst-batch-row-result{margin-top:6px;display:flex;flex-direction:column;gap:8px}
.rsst-batch-row-error{color:#b91c1c;font-size:13px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:8px 12px;margin:0}

/* ══════════════════════════════════════════
   دکمهٔ شناور «پشتیبانی» — دقیقاً با ظاهر دکمهٔ سوالات متداول
   ══════════════════════════════════════════ */
.rsst-support-fab-wrap{
  position:sticky;
  top:74px; /* درست زیر دکمهٔ سوالات متداول (که در top:16px می‌چسبد) */
  z-index:49;
  display:flex;
  justify-content:flex-start;
  margin-bottom:0;
}
.rsst-support-fab{
  display:inline-flex;align-items:center;gap:8px;
  background:#ffffff;
  color:#0f766e;
  border:1.5px solid #e5e7eb;
  border-radius:999px;
  padding:11px 20px;
  font-size:14px;font-weight:700;font-family:inherit;
  cursor:pointer;white-space:nowrap;
  box-shadow:0 4px 16px -4px rgba(15,23,42,.14),0 2px 6px rgba(15,23,42,.06);
  transition:all .22s ease;
}
.rsst-support-fab:hover{
  background:#f0fdfa;
  border-color:#5eead4;
  color:#115e59;
  transform:translateY(-2px);
  box-shadow:0 12px 26px -6px rgba(20,184,166,.28),0 3px 8px rgba(15,23,42,.08);
}
.rsst-support-fab:active{transform:translateY(0)}
.rsst-support-fab-icon{font-size:17px;line-height:1;animation:rsstSupportPulse 2.4s ease-in-out infinite}
.rsst-support-fab-text{white-space:nowrap;transition:opacity .15s ease}
@keyframes rsstSupportPulse{
  0%,100%{transform:scale(1)}
  50%{transform:scale(1.12)}
}

.rsst-support-fab-wrap.rsst-support-fab-stuck .rsst-support-fab{
  width:46px;height:46px;
  padding:0;
  border-radius:50%;
  justify-content:center;
  gap:0;
}
.rsst-support-fab-wrap.rsst-support-fab-stuck .rsst-support-fab-text{
  width:0;opacity:0;overflow:hidden;position:absolute;pointer-events:none;
}
.rsst-support-fab-wrap.rsst-support-fab-stuck .rsst-support-fab-icon{font-size:19px}

@media(max-width:900px){
  .rsst-support-fab-wrap{position:static;top:auto}
}
@media(max-width:560px){
  .rsst-support-fab{padding:9px 16px;font-size:13px}
  .rsst-support-fab-icon{font-size:15px}
}

/* ══════════════════════════════════════════
   مودال پشتیبانی — شیک و مینیمال
   ══════════════════════════════════════════ */
.rsst-support-modal{max-width:420px;width:100%;background:#ffffff}
.rsst-support-modal-header{background:linear-gradient(135deg,#f0fdfa 0%,#f8fafc 100%)}
.rsst-support-modal-header h3{gap:8px}
.rsst-support-header-icon{color:#0f766e;flex-shrink:0;display:flex}
.rsst-support-modal-body{padding:20px}
.rsst-support-modal-hint{margin:0 0 16px;font-size:13px;color:#64748b;text-align:center}

.rsst-support-options{display:flex;flex-direction:column;gap:12px}
.rsst-support-option{
  display:flex;align-items:center;gap:14px;
  padding:14px 16px;
  border:1.5px solid #e5e7eb;
  border-radius:14px;
  text-decoration:none;
  background:#fbfcff;
  transition:all .22s cubic-bezier(.16,1,.3,1);
  opacity:0;
  animation:rsstSupportOptionIn .4s ease forwards;
}
.rsst-support-option:nth-child(1){animation-delay:.05s}
.rsst-support-option:nth-child(2){animation-delay:.15s}
@keyframes rsstSupportOptionIn{
  from{opacity:0;transform:translateY(8px)}
  to{opacity:1;transform:translateY(0)}
}
.rsst-support-option-icon{
  flex-shrink:0;
  width:44px;height:44px;
  display:flex;align-items:center;justify-content:center;
  border-radius:50%;
  transition:transform .25s cubic-bezier(.34,1.56,.64,1),background-color .2s ease;
}
.rsst-support-option-phone .rsst-support-option-icon{background:#e0f2fe;color:#0369a1}
.rsst-support-option-email .rsst-support-option-icon{background:#ede9fe;color:#6d28d9}
.rsst-support-option-text{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}
.rsst-support-option-text strong{font-size:14px;color:#1e293b}
.rsst-support-option-text span{font-size:12.5px;color:#64748b;overflow:hidden;text-overflow:ellipsis}
.rsst-support-option-arrow{flex-shrink:0;color:#cbd5e1;transition:transform .22s ease,color .22s ease}

.rsst-support-option:hover{
  border-color:#99f6e4;
  background:#f0fdfa;
  transform:translateY(-3px);
  box-shadow:0 12px 24px -8px rgba(15,23,42,.12);
}
.rsst-support-option:hover .rsst-support-option-icon{transform:scale(1.1) rotate(-6deg)}
.rsst-support-option:hover .rsst-support-option-arrow{transform:translateX(-4px);color:#0f766e}

/* گزینهٔ ایمیل اکنون <button> است، نه <a>؛ ریست استایل پیش‌فرض دکمه */
button.rsst-support-option{font-family:inherit;font-size:inherit;cursor:pointer;text-align:right;width:100%}

/* ══════════════════════════════════════════
   مودال ارسال ایمیل به پشتیبانی (عنوان + متن پیام)
   ══════════════════════════════════════════ */
.rsst-support-email-modal{max-width:440px;width:100%;background:#ffffff}
.rsst-support-email-textarea{resize:vertical;min-height:110px;line-height:1.7}
#rsst-support-email-send:disabled,#rsst-support-email-send.rsst-btn-loading{opacity:.65;cursor:not-allowed}
