/* ═══════════════════════════════════════════════
   فروش فوق‌العاده v5 — Mobile-First, Two-Col Desktop
   ═══════════════════════════════════════════════ */

/* فونت از پوستهٔ سایت/پشتهٔ محلی تأمین می‌شود (بدون درخواست به گوگل‌فونتس که در ایران کند/مسدود است). */

/* ── Tokens ── */
:root {
  --bg:         #ffffff;
  --surface:    #f5f8fc;
  --surface2:   #eef2f8;
  --border:     #e4e9f2;
  --border2:    #cdd6e4;

  --text:       #0f172a;
  --sub:        #334155;
  --muted:      #64748b;

  --accent:     #2563eb;
  --accent-dk:  #1d4ed8;
  --accent-dr:  #1e3a8a;
  --accent-lt:  #eef4ff;
  --accent-grad: linear-gradient(135deg, #3b74ff 0%, #1d4ed8 100%);

  --green:      #16a34a;
  --green-dk:   #15803d;
  --green-lt:   #f0fdf4;
  --green-grad: linear-gradient(135deg, #22c55e 0%, #16a34a 100%);

  --warn:       #c2680a;
  --warn-bg:    #fff7ed;
  --warn-bd:    #fed7aa;
  --danger:     #dc2626;

  --r-sm:       8px;
  --r:          12px;
  --r-lg:       18px;

  --shadow:     0 1px 2px rgba(15,23,42,.05), 0 1px 3px rgba(15,23,42,.07);
  --shadow-md:  0 6px 18px rgba(15,23,42,.08);
  --shadow-lg:  0 16px 40px rgba(15,23,42,.13);

  --font:       'Vazirmatn', 'IRANYekanX', 'IRANSans', 'Yekan Bakh', 'Shabnam', 'Sahel', Tahoma, system-ui, -apple-system, 'Segoe UI', sans-serif;
  --topbar-h:   56px;
  --aside-w:    340px;
  --gap:        30px;
  --max-w:      1140px;
}

/* ── Base ── */
.vs-page, .vs-page * { box-sizing: border-box; margin: 0; padding: 0; }
.vs-page {
  font-family: var(--font);
  direction: rtl;
  color: var(--text);
  background: var(--bg);
  font-size: 14px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  font-feature-settings: "kern" 1, "liga" 1;
  font-kerning: normal;
}
.vs-page a { text-decoration: none; color: inherit; }
.vs-page img { display: block; max-width: 100%; }
.vs-page button { font-family: var(--font); cursor: pointer; border: none; }
.vs-page :focus-visible { outline: 3px solid var(--accent-lt); outline-offset: 2px; border-radius: 6px; }

/* ════════════════════════════════
   TOP BAR
════════════════════════════════ */
.vs-topbar {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(255,255,255,.9);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--border);
}
.vs-topbar-inner {
  max-width: var(--max-w);
  margin: 0 auto;
  padding: 0 20px;
  height: var(--topbar-h);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.vs-topbar-back {
  font-size: 14px;
  font-weight: 600;
  color: var(--muted);
  white-space: nowrap;
  flex-shrink: 0;
  transition: color .15s;
}
.vs-topbar-back:hover { color: var(--accent); }
.vs-topbar-title {
  font-size: 13px;
  font-weight: 700;
  color: var(--sub);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1;
  text-align: center;
}
.vs-topbar-cta {
  flex-shrink: 0;
  background: var(--accent-grad);
  color: #fff;
  font-size: 13px;
  font-weight: 800;
  padding: 8px 18px;
  border-radius: 50px;
  box-shadow: 0 2px 8px rgba(37,99,235,.28);
  transition: transform .15s, box-shadow .15s, filter .15s;
  white-space: nowrap;
}
.vs-topbar-cta:hover { transform: translateY(-1px); box-shadow: 0 4px 14px rgba(37,99,235,.38); filter: brightness(1.03); }

/* ════════════════════════════════
   LAYOUT — MOBILE FIRST
════════════════════════════════ */
.vs-single-layout {
  max-width: var(--max-w);
  margin: 0 auto;
  padding: 22px 16px 36px;
  display: block;
}

/* ════════════════════════════════
   TITLE BLOCK
════════════════════════════════ */
.vs-title-block { margin-bottom: 16px; }
.vs-brand-tag {
  display: inline-block;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .03em;
  color: var(--accent);
  background: var(--accent-lt);
  padding: 4px 13px;
  border-radius: 50px;
  margin-bottom: 10px;
}
.vs-title {
  font-size: 25px;
  font-weight: 900;
  line-height: 1.22;
  letter-spacing: -.02em;
  color: var(--text);
  margin-bottom: 6px;
}
.vs-year { font-size: 13px; color: var(--muted); font-weight: 500; }

/* expire */
.vs-expire {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--warn-bg);
  border: 1px solid var(--warn-bd);
  color: var(--warn);
  font-size: 13px;
  font-weight: 600;
  padding: 8px 15px;
  border-radius: 10px;
  margin-bottom: 18px;
}

/* ════════════════════════════════
   SLIDER
════════════════════════════════ */
.vs-slider-wrap { margin-bottom: 20px; }
.vs-slider {
  position: relative;
  border-radius: var(--r-lg);
  overflow: hidden;
  background: var(--surface);
  aspect-ratio: 16/9;
  box-shadow: var(--shadow-md);
}
.vs-slider-track {
  display: flex;
  height: 100%;
  transition: transform .42s cubic-bezier(.4,0,.2,1);
  will-change: transform;
}
.vs-slide { min-width: 100%; height: 100%; }
.vs-slide img { width: 100%; height: 100%; object-fit: cover; }

.vs-sbtn {
  position: absolute;
  top: 50%; transform: translateY(-50%);
  width: 40px; height: 40px;
  border-radius: 50%;
  background: rgba(255,255,255,.92);
  box-shadow: var(--shadow-md);
  font-size: 19px;
  color: var(--text);
  display: flex; align-items: center; justify-content: center;
  z-index: 2;
  transition: background .15s, transform .15s;
}
.vs-sbtn:hover { background: #fff; transform: translateY(-50%) scale(1.06); }
.vs-sbtn--prev { right: 12px; }
.vs-sbtn--next { left: 12px; }

.vs-dots {
  display: flex;
  justify-content: center;
  gap: 6px;
  margin-top: 12px;
}
.vs-dot {
  width: 7px; height: 7px;
  border-radius: 50%;
  background: var(--border2);
  transition: background .2s, transform .2s, width .2s;
  padding: 0;
}
.vs-dot.is-on { background: var(--accent); transform: scale(1.4); }

/* ════════════════════════════════
   KPI ROW
════════════════════════════════ */
.vs-kpi-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 12px;
  margin-bottom: 16px;
}
.vs-kpi {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--r);
  padding: 15px 16px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.vs-kpi--accent {
  background: var(--accent-lt);
  border-color: #cfe0ff;
}
.vs-kpi-label {
  font-size: 12px;
  font-weight: 700;
  color: var(--muted);
  letter-spacing: .02em;
}
.vs-kpi-val {
  font-size: 16px;
  font-weight: 800;
  color: var(--text);
  line-height: 1.2;
}
.vs-kpi--accent .vs-kpi-val { color: var(--accent-dk); }

/* ════════════════════════════════
   CHIPS
════════════════════════════════ */
.vs-chips {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-bottom: 20px;
}
.vs-chip {
  display: flex;
  align-items: center;
  gap: 11px;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--r);
  padding: 13px 15px;
}
.vs-chip-ic { font-size: 18px; flex-shrink: 0; line-height: 1; }
.vs-chip-lbl { font-size: 12px; color: var(--muted); font-weight: 600; margin-bottom: 3px; }
.vs-chip-val { font-size: 14px; font-weight: 700; color: var(--sub); }

/* ════════════════════════════════
   TABLE
════════════════════════════════ */
.vs-table-box {
  border: 1px solid var(--border);
  border-radius: var(--r-lg);
  overflow: hidden;
  margin-bottom: 18px;
  box-shadow: var(--shadow);
}
.vs-table-hd {
  padding: 14px 18px;
  background: var(--surface);
  border-bottom: 1px solid var(--border);
  font-size: 13px;
  font-weight: 800;
  color: var(--text);
}
.vs-table-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.vs-tbl { width: 100%; border-collapse: collapse; font-size: 13px; }
.vs-tbl thead th {
  padding: 12px 16px;
  text-align: right;
  font-size: 12px;
  font-weight: 800;
  color: var(--muted);
  letter-spacing: .02em;
  background: var(--surface2);
  white-space: nowrap;
}
.vs-tbl tbody tr { border-top: 1px solid var(--border); transition: background .12s; }
.vs-tbl tbody tr:hover { background: var(--surface); }
.vs-tbl tbody td {
  padding: 14px 16px;
  text-align: right;
  white-space: nowrap;
  font-size: 14px;
  font-weight: 600;
  color: var(--sub);
}
.vs-tbl .is-hi { color: var(--accent-dk); font-weight: 800; font-size: 13px; }

/* ════════════════════════════════
   NOTES
════════════════════════════════ */
.vs-notes {
  padding: 15px 17px;
  background: #fffbeb;
  border: 1px solid #fde68a;
  border-radius: var(--r);
  font-size: 14px;
  line-height: 1.85;
  color: #854d0e;
  margin-bottom: 20px;
}

/* ════════════════════════════════
   BUTTONS (call / whatsapp)
════════════════════════════════ */
.vs-btn-call, .vs-btn-wa {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 13px 18px;
  border-radius: var(--r);
  font-size: 13px;
  font-weight: 800;
  color: #fff;
  transition: transform .15s, box-shadow .15s, filter .15s;
}
.vs-btn-call { background: var(--accent-grad); box-shadow: 0 3px 10px rgba(37,99,235,.25); }
.vs-btn-wa   { background: var(--green-grad); box-shadow: 0 3px 10px rgba(22,163,74,.25); }
.vs-btn-call:hover, .vs-btn-wa:hover { transform: translateY(-1px); filter: brightness(1.04); }

/* ════════════════════════════════
   STICKY ASIDE (desktop only)
════════════════════════════════ */
.vs-aside-col { display: none; }

.vs-sticky-box {
  position: sticky;
  top: calc(var(--topbar-h) + 16px);
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: var(--r-lg);
  box-shadow: var(--shadow-lg);
  padding: 24px;
}
.vs-aside-price {
  display: flex;
  flex-direction: column;
  gap: 5px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--border);
  margin-bottom: 18px;
}
.vs-aside-price-lbl { font-size: 12px; font-weight: 700; color: var(--muted); letter-spacing: .03em; }
.vs-aside-price-val { font-size: 24px; font-weight: 900; color: var(--accent-dk); letter-spacing: -.02em; }

.vs-aside-phones { display: flex; flex-direction: column; gap: 10px; }
.vs-aside-phones .vs-btn-call,
.vs-aside-phones .vs-btn-wa { width: 100%; }

.vs-aside-divider { border-top: 1px solid var(--border); margin: 18px 0; }

.vs-aside-form-title {
  font-size: 15px;
  font-weight: 800;
  color: var(--text);
  margin-bottom: 16px;
}

/* ════════════════════════════════
   FORM
════════════════════════════════ */
.vs-form { display: grid; gap: 13px; }
.vs-fg label {
  display: block;
  font-size: 13px;
  font-weight: 700;
  color: var(--sub);
  margin-bottom: 6px;
}
.vs-fg input,
.vs-fg textarea {
  width: 100%;
  padding: 12px 14px;
  border: 1.5px solid var(--border2);
  border-radius: var(--r);
  font-family: var(--font);
  font-size: 13px;
  color: var(--text);
  background: var(--bg);
  transition: border-color .18s, box-shadow .18s;
  direction: rtl;
  -webkit-appearance: none;
}
.vs-fg input::placeholder,
.vs-fg textarea::placeholder { color: #9aa6b8; }
.vs-fg input:focus,
.vs-fg textarea:focus {
  outline: none;
  border-color: var(--accent);
  box-shadow: 0 0 0 3px rgba(37,99,235,.13);
}
.vs-fg textarea { resize: vertical; min-height: 84px; }

.vs-submit {
  width: 100%;
  padding: 15px;
  background: var(--accent-grad);
  color: #fff;
  border-radius: var(--r);
  font-size: 14px;
  font-weight: 800;
  box-shadow: 0 4px 14px rgba(37,99,235,.3);
  transition: transform .15s, box-shadow .15s, filter .15s;
}
.vs-submit:hover  { transform: translateY(-1px); box-shadow: 0 6px 18px rgba(37,99,235,.4); filter: brightness(1.03); }
.vs-submit:active { transform: translateY(0); }
.vs-submit:disabled { opacity: .6; cursor: not-allowed; transform: none; filter: none; }

.vs-form-msg {
  padding: 11px 14px;
  border-radius: var(--r);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.7;
  display: none;
}
.vs-form-msg.is-ok  { background: var(--green-lt); border: 1px solid #bbf7d0; color: var(--green-dk); }
.vs-form-msg.is-err { background: #fef2f2; border: 1px solid #fecaca; color: var(--danger); }

/* ════════════════════════════════
   LOGIN GATE
════════════════════════════════ */
.vs-login-gate {
  text-align: center;
  padding: 24px 20px;
  background: var(--accent-lt);
  border: 1px solid #cfe0ff;
  border-radius: var(--r-lg);
}
.vs-login-gate-ic { font-size: 30px; margin-bottom: 10px; }
.vs-login-gate-title { font-size: 15px; font-weight: 800; color: var(--text); margin-bottom: 8px; }
.vs-login-gate-text { font-size: 14px; color: var(--sub); line-height: 1.85; margin-bottom: 18px; }
.vs-login-gate-btn {
  display: block;
  width: 100%;
  padding: 14px;
  border-radius: var(--r);
  background: var(--accent-grad);
  color: #fff;
  font-weight: 800;
  font-size: 14px;
  box-shadow: 0 4px 14px rgba(37,99,235,.3);
  transition: transform .15s, box-shadow .15s, filter .15s;
}
.vs-login-gate-btn:hover { transform: translateY(-1px); box-shadow: 0 6px 18px rgba(37,99,235,.4); filter: brightness(1.03); }

/* ════════════════════════════════
   MOBILE BOTTOM FORM
════════════════════════════════ */
.vs-mobile-bottom-form {
  background: var(--surface);
  border-top: 1px solid var(--border);
  margin-top: 30px;
}
.vs-mf-inner {
  max-width: 620px;
  margin: 0 auto;
  padding: 28px 18px 40px;
}
.vs-mf-inner .vs-aside-form-title { font-size: 17px; }

/* ════════════════════════════════
   FIXED BOTTOM BAR (mobile only)
════════════════════════════════ */
.vs-bottombar { display: none; }

/* ════════════════════════════════
   ARCHIVE
════════════════════════════════ */
.vs-archive-wrap {
  max-width: var(--max-w);
  margin: 0 auto;
  padding: 28px 16px 72px;
}
.vs-archive-hero {
  position: relative;
  text-align: center;
  padding: 40px 20px 42px;
  margin-bottom: 28px;
  border-radius: var(--r-lg);
  background:
    radial-gradient(120% 120% at 50% -10%, rgba(37,99,235,.10) 0%, rgba(37,99,235,0) 60%),
    var(--surface);
  border: 1px solid var(--border);
}
.vs-archive-hero h1 {
  font-size: clamp(1.65rem, 4.5vw, 2.6rem);
  font-weight: 900;
  letter-spacing: -.025em;
  margin-bottom: 10px;
  color: var(--text);
}
.vs-archive-hero h1 em { font-style: normal; color: var(--accent); }
.vs-archive-hero p { color: var(--muted); font-size: 13px; line-height: 1.6; }

.vs-filters { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 26px; }
.vs-filter-pill {
  padding: 8px 18px;
  border-radius: 50px;
  border: 1.5px solid var(--border2);
  background: var(--bg);
  color: var(--muted);
  font-size: 14px;
  font-weight: 700;
  transition: all .17s;
}
.vs-filter-pill:hover { border-color: var(--accent); color: var(--accent); }
.vs-filter-pill.is-active { background: var(--accent-grad); border-color: transparent; color: #fff; box-shadow: 0 3px 10px rgba(37,99,235,.25); }

.vs-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
}

/* Card = full clickable link, vertical layout on every breakpoint */
.vs-card {
  display: flex;
  flex-direction: column;
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: var(--r-lg);
  overflow: hidden;
  box-shadow: var(--shadow);
  transition: box-shadow .2s, border-color .2s, transform .2s;
}
.vs-card:hover { box-shadow: var(--shadow-lg); border-color: var(--border2); transform: translateY(-3px); }
.vs-card-img-wrap {
  width: 100%;
  aspect-ratio: 16/9;
  background: var(--surface);
  overflow: hidden;
}
.vs-card-img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.vs-card:hover .vs-card-img { transform: scale(1.04); }
.vs-card-img-placeholder {
  width: 100%; height: 100%;
  display: flex; align-items: center; justify-content: center;
  font-size: 36px; color: var(--border2);
}
.vs-card-body {
  padding: 16px 18px 18px;
  display: flex; flex-direction: column;
  gap: 7px;
  flex: 1;
}
.vs-card-brand {
  align-self: flex-start;
  font-size: 11px; font-weight: 800;
  color: var(--accent); background: var(--accent-lt);
  padding: 3px 10px; border-radius: 50px;
}
.vs-card-title { font-size: 15px; font-weight: 800; line-height: 1.35; color: var(--text); }

/* spec list */
.vs-card-specs { display: flex; flex-direction: column; gap: 0; margin-top: 4px; }
.vs-spec {
  display: flex; align-items: center; justify-content: space-between; gap: 10px;
  font-size: 13px;
  padding: 7px 0;
  border-bottom: 1px dashed var(--border);
}
.vs-spec:last-child { border-bottom: none; }
.vs-spec-lbl { color: var(--muted); font-weight: 600; }
.vs-spec-val { color: var(--sub); font-weight: 800; }
.vs-spec-val--accent { color: var(--accent-dk); }

/* installments block */
.vs-card-insta {
  margin-top: 10px;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--r);
  padding: 11px 13px;
}
.vs-card-insta-hd {
  display: block;
  font-size: 12px; font-weight: 800; color: var(--muted);
  margin-bottom: 8px; letter-spacing: .02em;
}
.vs-insta-row {
  display: flex; align-items: center; justify-content: space-between;
  font-size: 13px; padding: 4px 0;
}
.vs-insta-m { color: var(--sub); font-weight: 700; }
.vs-insta-v { color: var(--accent-dk); font-weight: 800; }

.vs-card-cta {
  margin-top: auto;
  padding-top: 14px;
  font-size: 14px;
  font-weight: 800;
  color: var(--accent);
  transition: gap .15s;
}
.vs-card:hover .vs-card-cta { text-decoration: underline; }

.vs-empty { text-align: center; padding: 64px 0; color: var(--muted); font-size: 15px; }

.vs-pagination { display: flex; justify-content: center; gap: 5px; margin-top: 42px; flex-wrap: wrap; }
.vs-pagination .page-numbers {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 40px; height: 40px; padding: 0 8px;
  border-radius: 10px; border: 1.5px solid var(--border);
  font-size: 14px; font-weight: 700; color: var(--text);
  transition: all .15s;
}
.vs-pagination .page-numbers:hover,
.vs-pagination .page-numbers.current { background: var(--accent-grad); border-color: transparent; color: #fff; }

/* ════════════════════════════════
   ARCHIVE GRID BREAKPOINTS
════════════════════════════════ */
@media (min-width: 560px) {
  .vs-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ════════════════════════════════
   DESKTOP SINGLE — ≥ 860px
════════════════════════════════ */
@media (min-width: 860px) {
  .vs-title { font-size: 32px; }

  /* mobile-only pieces hidden, sidebar shown */
  .vs-mobile-bottom-form { display: none; }
  .vs-bottombar { display: none !important; }
  .vs-aside-col { display: block; }

  .vs-single-layout {
    display: grid;
    grid-template-columns: 1fr var(--aside-w);
    grid-template-areas: "main aside";
    gap: var(--gap);
    align-items: start;
    padding: 30px 24px 60px;
  }
  .vs-main-col  { grid-area: main; }
  .vs-aside-col { grid-area: aside; }
}

@media (min-width: 1024px) {
  :root { --aside-w: 360px; }
  .vs-grid { grid-template-columns: repeat(3, 1fr); }
  .vs-title { font-size: 36px; }
  .vs-kpi-val { font-size: 16px; }
}

/* ════════════════════════════════
   MOBILE BOTTOM BAR — < 860px
════════════════════════════════ */
@media (max-width: 859px) {
  .vs-bottombar {
    position: fixed;
    bottom: 0; left: 0; right: 0;
    z-index: 95;
    display: flex;
    gap: 10px;
    padding: 10px 14px;
    padding-bottom: calc(10px + env(safe-area-inset-bottom, 0px));
    background: rgba(255,255,255,.96);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-top: 1px solid var(--border);
    box-shadow: 0 -6px 20px rgba(15,23,42,.1);
  }
  .vs-bb-btn {
    flex: 1;
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    padding: 14px;
    border-radius: var(--r);
    font-size: 13px; font-weight: 800; color: #fff;
    transition: filter .15s, transform .12s;
  }
  .vs-bb-btn:active { transform: scale(.98); }
  .vs-bb-ic { font-size: 16px; }
  .vs-bb-call { background: var(--accent-grad); }
  .vs-bb-wa   { background: var(--green-grad); }

  /* reserve space so the fixed bar never covers content */
  body.vs-has-bottombar .vs-page { padding-bottom: 80px; }
}

/* ════════════════════════════════
   SMALL MOBILE < 400px
════════════════════════════════ */
@media (max-width: 400px) {
  .vs-title { font-size: 21px; }
  .vs-chips { grid-template-columns: 1fr; }
  .vs-kpi-row { grid-template-columns: 1fr; }
  .vs-tbl { font-size: 13px; }
  .vs-tbl thead th, .vs-tbl tbody td { padding: 11px 12px; }
  .vs-topbar-title { display: none; }
}

/* ════════════════════════════════
   CONDITION BADGES + USED-CAR SPECS (v2.2.0)
════════════════════════════════ */

/* Badge near single title */
.vs-cond-badge {
  display: inline-block;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .02em;
  padding: 4px 13px;
  border-radius: 50px;
  margin-bottom: 10px;
  margin-left: 6px;
}
.vs-cond-badge.is-new  { color: var(--green-dk); background: var(--green-lt); border: 1px solid #bbf7d0; }
.vs-cond-badge.is-used { color: var(--warn);     background: var(--warn-bg);  border: 1px solid var(--warn-bd); }

/* Used-car specs box (single) */
.vs-used-box {
  border: 1px solid var(--border);
  border-radius: var(--r-lg);
  overflow: hidden;
  margin-bottom: 18px;
  box-shadow: var(--shadow);
}
.vs-used-hd {
  padding: 14px 18px;
  background: var(--warn-bg);
  border-bottom: 1px solid var(--warn-bd);
  font-size: 13px;
  font-weight: 800;
  color: var(--warn);
}
.vs-used-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  padding: 14px;
}
.vs-used-item {
  display: flex;
  align-items: center;
  gap: 11px;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--r);
  padding: 12px 14px;
}
.vs-used-ic  { font-size: 18px; flex-shrink: 0; line-height: 1; }
.vs-used-lbl { font-size: 12px; color: var(--muted); font-weight: 600; margin-bottom: 3px; }
.vs-used-val { font-size: 14px;  color: var(--sub);   font-weight: 800; }

/* Condition badge on archive card image */
.vs-card-img-wrap { position: relative; }
.vs-card-cond-badge {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 2;
  font-size: 12px;
  font-weight: 800;
  padding: 4px 12px;
  border-radius: 50px;
  color: #fff;
  box-shadow: 0 2px 8px rgba(15,23,42,.18);
  backdrop-filter: blur(2px);
}
.vs-card-cond-badge.is-new  { background: var(--green-grad); }
.vs-card-cond-badge.is-used { background: linear-gradient(135deg, #f59e0b 0%, #c2680a 100%); }

/* Condition filter row */
.vs-filters--cond { align-items: center; margin-top: -10px; }
.vs-filters-label { font-size: 14px; font-weight: 800; color: var(--sub); margin-left: 4px; }

@media (max-width: 400px) {
  .vs-used-grid { grid-template-columns: 1fr; }
}

/* ════════════════════════════════
   PURCHASE FLOW (v2.3.0)
════════════════════════════════ */

/* ── CTA in single page aside / mobile ── */
.vs-aside-buy { display:flex; flex-direction:column; gap:6px; margin-top:12px; }
.vs-aside-buy-btn {
  display:flex; align-items:center; justify-content:center; gap:8px;
  padding:14px; border-radius:var(--r);
  background:var(--green-grad); color:#fff;
  font-size: 14px; font-weight:800;
  box-shadow:0 4px 14px rgba(22,163,74,.3);
  transition:transform .15s, box-shadow .15s, filter .15s;
}
.vs-aside-buy-btn:hover { transform:translateY(-1px); filter:brightness(1.04); box-shadow:0 6px 18px rgba(22,163,74,.4); }
.vs-aside-buy-sub { font-size: 12px; color:var(--muted); text-align:center; font-weight:600; }

/* ── Process section on single page ── */
.vs-process-box {
  border:1px solid #bbf7d0; border-radius:var(--r-lg);
  overflow:hidden; margin-bottom:20px; box-shadow:var(--shadow);
}
.vs-process-hd {
  padding:14px 18px; background:var(--green-lt);
  border-bottom:1px solid #bbf7d0;
  font-size: 13px; font-weight:800; color:var(--green-dk);
}
.vs-process-body { padding:18px; }
.vs-process-intro { font-size: 14px; color:var(--sub); margin-bottom:14px; line-height:1.9; }
.vs-process-steps { list-style:none; display:grid; gap:8px; margin-bottom:16px; }
.vs-process-steps li {
  display:flex; align-items:center; gap:10px;
  background:var(--surface); border:1px solid var(--border);
  border-radius:var(--r); padding:10px 13px;
  font-size: 14px; font-weight:600; color:var(--sub);
}
.vs-process-n {
  flex-shrink:0; width:26px; height:26px; border-radius:50%;
  background:var(--accent-grad); color:#fff;
  display:flex; align-items:center; justify-content:center;
  font-size: 13px; font-weight:800;
}
.vs-process-details { margin-bottom:10px; border:1px solid var(--border); border-radius:var(--r); overflow:hidden; }
.vs-process-details summary {
  cursor:pointer; padding:11px 14px; background:var(--surface);
  font-size: 14px; font-weight:800; color:var(--text);
  list-style:none;
}
.vs-process-details summary::-webkit-details-marker { display:none; }
.vs-process-details[open] summary { border-bottom:1px solid var(--border); }
.vs-process-details ul { margin:0; padding:12px 30px 12px 14px; display:grid; gap:6px; }
.vs-process-details li { font-size: 14px; color:var(--sub); line-height:1.8; }
.vs-process-cta {
  display:flex; align-items:center; justify-content:center;
  margin-top:14px; padding:15px; border-radius:var(--r);
  background:var(--green-grad); color:#fff;
  font-size: 14px; font-weight:800;
  box-shadow:0 4px 14px rgba(22,163,74,.3);
  transition:transform .15s, filter .15s;
}
.vs-process-cta:hover { transform:translateY(-1px); filter:brightness(1.04); }
.vs-process-foot { margin-top:10px; font-size: 12px; color:var(--warn); line-height:1.8; }

/* ── Flow page (shortcode) ── */
.vs-flow-page { max-width:860px; margin:0 auto; padding:30px 16px 70px; font-family:var(--font); }
.vs-flow-h1 { font-size: 22px; font-weight:900; margin-bottom:18px; color:var(--text); letter-spacing:-.02em; }
.vs-flow-h2 { font-size: 16px; font-weight:800; margin:24px 0 14px; color:var(--text); }
.vs-flow-card {
  background:var(--bg); border:1px solid var(--border);
  border-radius:var(--r-lg); box-shadow:var(--shadow-md);
  padding:24px; margin-bottom:22px;
}
.vs-flow-card-hd { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:16px; flex-wrap:wrap; }
.vs-flow-meta { font-size: 12px; color:var(--muted); font-weight:600; }
.vs-flow-empty { text-align:center; padding:46px 0 22px; color:var(--muted); font-size: 14px; }

.vs-flow-badge { padding:5px 14px; border-radius:50px; font-size: 12px; font-weight:800; }
.vs-flow-badge.is-active    { background:var(--accent-lt); color:var(--accent-dk); border:1px solid #cfe0ff; }
.vs-flow-badge.is-rejected  { background:#fef2f2; color:var(--danger); border:1px solid #fecaca; }
.vs-flow-badge.is-completed { background:var(--green-lt); color:var(--green-dk); border:1px solid #bbf7d0; }

.vs-flow-notice { padding:13px 16px; border-radius:var(--r); font-size: 14px; font-weight:600; line-height:1.9; margin-bottom:16px; }
.vs-flow-notice.is-ok   { background:var(--green-lt); border:1px solid #bbf7d0; color:var(--green-dk); }
.vs-flow-notice.is-err  { background:#fef2f2; border:1px solid #fecaca; color:var(--danger); }
.vs-flow-notice.is-warn { background:var(--warn-bg); border:1px solid var(--warn-bd); color:var(--warn); }

/* ── Stepper ── */
.vs-stepper { list-style:none; margin:0 0 18px; padding:0; display:grid; gap:0; }
.vs-stepper li {
  display:flex; align-items:flex-start; gap:12px;
  padding:9px 0; position:relative;
}
.vs-stepper li::before {
  content:''; position:absolute; top:36px; bottom:-6px; right:13px;
  width:2px; background:var(--border);
}
.vs-stepper li:last-child::before { display:none; }
.vs-stepper-n {
  flex-shrink:0; width:28px; height:28px; border-radius:50%;
  background:var(--surface2); border:2px solid var(--border2);
  color:var(--muted); display:flex; align-items:center; justify-content:center;
  font-size: 13px; font-weight:800; position:relative; z-index:1;
}
.vs-stepper-lbl { font-size: 14px; font-weight:600; color:var(--muted); padding-top:4px; line-height:1.6; }
.vs-stepper li.is-done .vs-stepper-n { background:var(--green); border-color:var(--green); color:#fff; }
.vs-stepper li.is-done .vs-stepper-lbl { color:var(--sub); }
.vs-stepper li.is-done::before { background:var(--green); }
.vs-stepper li.is-current .vs-stepper-n { background:var(--accent-grad); border-color:var(--accent); color:#fff; box-shadow:0 0 0 4px var(--accent-lt); }
.vs-stepper li.is-current .vs-stepper-lbl { color:var(--accent-dk); font-weight:800; }

/* ── Current step action box ── */
.vs-flow-action {
  background:var(--accent-lt); border:1px solid #cfe0ff;
  border-radius:var(--r); padding:18px; margin-bottom:16px;
  font-size: 13px; line-height:1.9; color:var(--sub);
}
.vs-flow-action.is-wait { background:var(--surface); border-color:var(--border); }
.vs-flow-warn-line { font-size: 13px; color:var(--warn); margin:8px 0; }
.vs-flow-okline { color:var(--green-dk); font-weight:700; margin:8px 0; }

.vs-flow-btn {
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:13px 26px; border-radius:var(--r); border:none; cursor:pointer;
  background:var(--accent-grad); color:#fff !important;
  font-family:var(--font); font-size: 13px; font-weight:800;
  box-shadow:0 4px 14px rgba(37,99,235,.3);
  transition:transform .15s, filter .15s;
  text-decoration:none;
}
.vs-flow-btn:hover { transform:translateY(-1px); filter:brightness(1.04); }
.vs-flow-btn--lg { width:100%; padding:16px; font-size: 14px; margin-top:16px; }
.vs-flow-btn--pay { background:var(--green-grad); box-shadow:0 4px 14px rgba(22,163,74,.3); margin:6px 0; }
.vs-flow-btn--ghost { background:var(--bg); color:var(--accent) !important; border:1.5px solid var(--accent); box-shadow:none; }
.vs-flow-payform { display:inline-block; margin-left:8px; }

/* ── Amounts row ── */
.vs-flow-amounts { display:grid; grid-template-columns:repeat(auto-fit, minmax(170px,1fr)); gap:12px; margin-bottom:18px; }
.vs-flow-amount {
  background:var(--surface); border:1px solid var(--border); border-radius:var(--r);
  padding:13px 15px; display:flex; flex-direction:column; gap:5px;
}
.vs-flow-amount span { font-size: 12px; font-weight:700; color:var(--muted); }
.vs-flow-amount strong { font-size: 14px; font-weight:800; color:var(--accent-dk); }

/* ── Details / lists ── */
.vs-flow-details { margin-bottom:12px; border:1px solid var(--border); border-radius:var(--r); overflow:hidden; }
.vs-flow-details summary { cursor:pointer; padding:12px 15px; background:var(--surface); font-size: 14px; font-weight:800; list-style:none; }
.vs-flow-details summary::-webkit-details-marker { display:none; }
.vs-flow-details[open] summary { border-bottom:1px solid var(--border); }
.vs-flow-list { margin:0; padding:12px 30px 12px 14px; display:grid; gap:6px; }
.vs-flow-list li { font-size: 14px; color:var(--sub); line-height:1.8; }

/* ── Questionnaire form ── */
.vs-flow-form { display:grid; gap:14px; margin-top:6px; }
.vs-flow-grid2 { display:grid; grid-template-columns:1fr 1fr; gap:13px; }
.vs-flow-full { grid-column:1/-1; }
.vs-flow-form select {
  width:100%; padding:12px 14px; border:1.5px solid var(--border2); border-radius:var(--r);
  font-family:var(--font); font-size: 13px; color:var(--text); background:var(--bg); direction:rtl;
}
.vs-flow-form select:focus { outline:none; border-color:var(--accent); box-shadow:0 0 0 3px rgba(37,99,235,.13); }
.vs-flow-sub { font-size: 13px; font-weight:800; color:var(--text); margin-bottom:10px; }
.vs-flow-sub small { font-weight:600; color:var(--muted); }
.vs-flow-guarantor { background:var(--surface); border:1px dashed var(--border2); border-radius:var(--r); padding:16px; }
.vs-flow-check {
  display:flex; align-items:flex-start; gap:9px;
  font-size: 14px; color:var(--sub); line-height:1.8; cursor:pointer;
}
.vs-flow-check input { margin-top:5px; flex-shrink:0; }

/* ── Docs upload ── */
.vs-flow-docs-form { display:grid; gap:10px; margin-top:12px; }
.vs-flow-doc {
  background:var(--bg); border:1px solid var(--border); border-radius:var(--r);
  padding:12px 14px; display:grid; gap:7px;
}
.vs-flow-doc.is-done { border-color:#bbf7d0; background:var(--green-lt); }
.vs-flow-doc-lbl { font-size: 14px; font-weight:700; color:var(--sub); }
.vs-flow-doc input[type=file] { font-family:var(--font); font-size: 13px; }
.vs-flow-doc-note { font-size: 12px; color:var(--green-dk); font-weight:600; }
.vs-flow-doc-btns { display:flex; gap:10px; flex-wrap:wrap; margin-top:6px; }

/* ── Payments table ── */
.vs-flow-table { width:100%; border-collapse:collapse; font-size: 13px; }
.vs-flow-table th { background:var(--surface2); padding:9px 12px; text-align:right; font-weight:800; color:var(--muted); white-space:nowrap; }
.vs-flow-table td { padding:10px 12px; border-top:1px solid var(--border); color:var(--sub); font-weight:600; white-space:nowrap; }
.vs-flow-pill { padding:2px 10px; border-radius:50px; font-size: 12px; font-weight:800; background:var(--surface2); color:var(--muted); }
.vs-flow-pill.is-ok  { background:var(--green-lt); color:var(--green-dk); }
.vs-flow-pill.is-bad { background:#fef2f2; color:var(--danger); }

@media (max-width: 560px) {
  .vs-flow-grid2 { grid-template-columns:1fr; }
  .vs-flow-card { padding:18px 14px; }
  .vs-flow-table { display:block; overflow-x:auto; }
}

/* ── Shahkar integration (v2.4.0) ── */
.vs-shahkar-gate { text-align:center; padding:26px 14px 10px; }
.vs-shahkar-gate-ic { font-size: 46px; margin-bottom:10px; }
.vs-shahkar-gate-title { font-size: 16px; font-weight:900; color:var(--text); margin-bottom:10px; }
.vs-shahkar-gate-text { font-size: 14px; color:var(--sub); line-height:2; max-width:520px; margin:0 auto 8px; }
.vs-flow-form input.is-locked {
  background:var(--green-lt); border-color:#bbf7d0; color:var(--green-dk);
  font-weight:800; cursor:not-allowed;
}
.vs-sh-tag {
  display:inline-block; margin-right:6px; padding:1px 8px; border-radius:50px;
  background:var(--green-lt); color:var(--green-dk); border:1px solid #bbf7d0;
  font-size: 11px; font-weight:800;
}
.vs-sh-badge {
  display:inline-block; padding:2px 10px; border-radius:50px;
  background:var(--green-lt); color:var(--green-dk); border:1px solid #bbf7d0;
  font-size: 12px; font-weight:800;
}
.vs-process-shahkar {
  background:var(--warn-bg); border:1px solid var(--warn-bd); color:var(--warn);
  border-radius:var(--r); padding:11px 14px; font-size: 13px; font-weight:600;
  line-height:1.9; margin-bottom:14px;
}

/* ═══════════════════════════════════════════════
   v2.5.0 — صفحهٔ تمام‌عرض روند خرید + بهبود تایپوگرافی
   ═══════════════════════════════════════════════ */

/* ── قالب تمام‌عرض (templates/flow-page.php) ── */
.vs-flow-canvas { width:100%; }
.vs-flow-canvas .vs-flow-page { max-width:1080px; }

/* ── حذف سایدبار و تمام‌عرض‌کردن محتوا روی صفحهٔ روند خرید ──
   این قواعد ساختارهای رایج پوسته‌ها و المنتور را تمام‌عرض می‌کنند و
   سایدبار را پنهان می‌کنند؛ scope شده به body.vs-flow-fullwidth تا
   صفحات دیگر سایت دست‌نخورده بمانند. */
body.vs-flow-fullwidth #secondary,
body.vs-flow-fullwidth .sidebar,
body.vs-flow-fullwidth .widget-area,
body.vs-flow-fullwidth aside.sidebar,
body.vs-flow-fullwidth .elementor-page-title,
body.vs-flow-fullwidth .page-header-sidebar { display:none !important; }

body.vs-flow-fullwidth #primary,
body.vs-flow-fullwidth #content,
body.vs-flow-fullwidth .content-area,
body.vs-flow-fullwidth .site-content .content-area,
body.vs-flow-fullwidth main.site-main,
body.vs-flow-fullwidth .entry-content,
body.vs-flow-fullwidth .elementor-section-boxed > .elementor-container,
body.vs-flow-fullwidth .container.content-area {
  width:100% !important;
  max-width:100% !important;
  margin-inline:0 !important;
  float:none !important;
}

/* صفحهٔ خرید کمی پهن‌تر و راحت‌تر برای چشم */
.vs-flow-page { max-width:1080px; }

/* ── بهبود تایپوگرافی صفحهٔ خرید ── */
.vs-flow-page,
.vs-flow-card { letter-spacing:-.003em; }

.vs-flow-h1 { font-size: 24px; line-height:1.5; letter-spacing:-.025em; }
.vs-flow-h2 { letter-spacing:-.015em; }

/* ارقام جدولی و هم‌تراز برای مبالغ، جداول و کد رهگیری (ظاهر مالی تمیزتر) */
.vs-flow-amount strong,
.vs-flow-table,
.vs-flow-table td,
.vs-flow-meta,
.vs-flow-pill,
.vs-aside-price-val,
.vs-tbl,
.vs-chip-val { font-variant-numeric:tabular-nums; font-feature-settings:"tnum" 1, "ss01" 1; }

/* فاصلهٔ خوانش بهتر در فهرست شرایط/مدارک */
.vs-flow-list li { line-height:1.95; }
.vs-flow-action { line-height:2; }

/* فیلدهای فرم — کمی نرم‌تر و مدرن‌تر */
.vs-fg input,
.vs-fg textarea,
.vs-flow-form select {
  border-radius:12px;
  transition:border-color .15s, box-shadow .15s;
}

/* ── تاگل بخش ضامن ── */
.vs-flow-guarantor {
  transition:opacity .2s ease;
}
/* وقتی JS فعال است و باکس مربوط نیست → مخفی */
.vs-flow-guarantor.is-collapsible:not(.is-visible) { display:none; }
.vs-flow-guarantor.is-visible { animation:vsFadeIn .25s ease; }
.vs-flow-guarantor-hint {
  font-size: 13px; color:var(--warn); font-weight:700;
  margin-bottom:12px; line-height:1.8;
}
@keyframes vsFadeIn {
  from { opacity:0; transform:translateY(-4px); }
  to   { opacity:1; transform:translateY(0); }
}

@media (max-width: 600px) {
  .vs-flow-h1 { font-size: 20px; }
}

/* ═══════════════════════════════════════════════
   v2.6.0 — سؤالات سفارشی + پرداخت با رسید بانکی
   ═══════════════════════════════════════════════ */

/* ── سؤالات تکمیلی هر خودرو در پرسشنامه ── */
.vs-flow-customs {
  margin-top:18px; padding-top:16px;
  border-top:1px dashed var(--line);
}
.vs-flow-check {
  display:flex; align-items:center; gap:9px;
  font-size: 14px; font-weight:700; cursor:pointer;
  padding:11px 14px; border:1.5px solid var(--line);
  border-radius:12px; background:var(--surface2);
  transition:border-color .15s;
}
.vs-flow-check:hover { border-color:var(--accent); }
.vs-flow-check input[type="checkbox"] { width:17px; height:17px; accent-color:var(--accent); }

/* ── بخش پرداخت با رسید (مرحله ۴) ── */
.vs-flow-receipts {
  margin-top:14px;
  border:1.5px dashed var(--accent);
  background:linear-gradient(180deg, #f8faff, #fff);
}
.vs-flow-bankbox {
  margin:12px 0; padding:13px 16px;
  background:var(--surface2); border:1px solid var(--line);
  border-radius:var(--r);
}
.vs-flow-bankbox-ttl { display:block; font-size: 13px; font-weight:800; margin-bottom:8px; color:var(--text); }
.vs-flow-bankline {
  font-size: 13px; font-weight:700; line-height:2;
  font-variant-numeric:tabular-nums; letter-spacing:.02em;
  direction:rtl; unicode-bidi:plaintext;
}

/* فهرست رسیدهای ثبت‌شده */
.vs-flow-rcpt-list { margin:14px 0 6px; display:flex; flex-direction:column; gap:8px; }
.vs-flow-rcpt {
  display:flex; align-items:center; gap:10px; flex-wrap:wrap;
  padding:10px 14px; background:var(--bg);
  border:1px solid var(--line); border-radius:12px;
  font-size: 13px;
}
.vs-flow-rcpt-amt  { font-weight:800; font-variant-numeric:tabular-nums; }
.vs-flow-rcpt-note { color:var(--muted); font-weight:600; }
.vs-flow-rcpt-date { color:var(--muted); font-size: 12px; margin-inline-start:auto; }

/* فرم آپلود رسید */
.vs-flow-rcpt-form { margin-top:14px; padding-top:14px; border-top:1px dashed var(--line); }
.vs-flow-rcpt-form input[type="file"] {
  width:100%; padding:10px; border:1.5px dashed var(--line);
  border-radius:12px; background:var(--surface2);
  font-family:var(--font); font-size: 13px; cursor:pointer;
}
.vs-flow-rcpt-form input[type="file"]:hover { border-color:var(--accent); }
.vs-flow-rcpt-form input[type="file"]::file-selector-button {
  font-family:var(--font); font-weight:700; font-size: 13px;
  padding:7px 14px; margin-inline-end:10px;
  border:none; border-radius:9px; cursor:pointer;
  background:var(--accent); color:#fff;
}

/* ═══════════════════════════════════════════════
   v2.8.0 — انتخابگر طرح‌های فروش
   ═══════════════════════════════════════════════ */
.vs-flow-plans { margin-bottom: 18px; }
.vs-flow-plan-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
}
.vs-flow-plan {
  position: relative;
  display: flex; flex-direction: column; gap: 8px;
  padding: 14px 16px;
  border: 2px solid var(--line);
  border-radius: var(--r);
  background: var(--surface2);
  cursor: pointer;
  transition: border-color .15s, box-shadow .15s, background .15s;
}
.vs-flow-plan:hover { border-color: var(--accent); }
.vs-flow-plan.is-active {
  border-color: var(--accent);
  background: #f4f8ff;
  box-shadow: 0 4px 14px rgba(37,99,235,.12);
}
.vs-flow-plan input[type="radio"] { position: absolute; inset-inline-start: 12px; top: 14px; accent-color: var(--accent); width: 18px; height: 18px; }
.vs-flow-plan-name { font-weight: 800; font-size: 13px; padding-inline-start: 26px; }
.vs-flow-plan-meta { display: flex; flex-wrap: wrap; gap: 6px; }
.vs-flow-plan-meta span {
  font-size: 12px; font-weight: 700;
  background: var(--bg); color: var(--muted);
  border: 1px solid var(--line); border-radius: 50px;
  padding: 3px 10px;
  font-variant-numeric: tabular-nums;
}
.vs-flow-plan.is-active .vs-flow-plan-meta span { border-color: #bcd0ff; color: var(--accent); }

/* ── استعلام کد پستی ── */
.vs-postal-hint { font-size: 12px; margin-top: 5px; line-height: 1.7; min-height: 1em; }
.vs-postal-hint.is-loading { color: var(--muted); }
.vs-postal-hint.is-ok { color: var(--green-dk, #0a7d33); font-weight: 700; }
.vs-postal-hint.is-err { color: var(--warn, #b45309); }

/* ── بهبود ظاهری عمومی فرم خرید ── */
.vs-flow-card { box-shadow: 0 2px 18px rgba(15,23,42,.05); }
.vs-fg input:focus, .vs-fg textarea:focus, .vs-flow-form select:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px rgba(37,99,235,.12);
  outline: none;
}
.vs-flow-btn--lg { transition: transform .12s ease, box-shadow .15s ease; }
.vs-flow-btn--lg:hover { transform: translateY(-1px); box-shadow: 0 8px 20px rgba(37,99,235,.22); }

/* ── انواع جدید فیلد سفارشی ── */
.vs-cf-help { display:block; font-size: 12px; color:var(--muted); font-weight:500; margin-top:2px; }
.vs-cf-heading { font-size: 14px; font-weight:800; color:var(--text); margin:10px 0 2px; padding-top:10px; border-top:1px solid var(--line); }
.vs-cf-radios { display:flex; flex-wrap:wrap; gap:8px; margin-top:4px; }
.vs-cf-radio {
  display:inline-flex; align-items:center; gap:6px;
  padding:8px 14px; border:1.5px solid var(--line); border-radius:50px;
  font-size: 14px; font-weight:600; cursor:pointer; background:var(--surface2);
  transition:border-color .15s, background .15s;
}
.vs-cf-radio:hover { border-color:var(--accent); }
.vs-cf-radio input { accent-color:var(--accent); }

/* ═══════════════════════════════════════════════
   v3.2.0 — ویجت اعتبارسنجی سمت کاربر + بهبود UI/UX
   ═══════════════════════════════════════════════ */
.vs-credit {
  border: 1.5px solid #dbe4ff;
  background: linear-gradient(160deg, #f7faff, #ffffff);
  border-radius: 18px;
  padding: 22px;
}
.vs-credit-head { display: flex; align-items: center; gap: 10px; margin-bottom: 6px; }
.vs-credit-head h3 { margin: 0; font-size: 16px; font-weight: 800; color: var(--text); }
.vs-credit-step {
  font-size: 12px; font-weight: 800; color: var(--accent);
  background: #eaf1ff; border: 1px solid #cfe0ff; border-radius: 50px; padding: 3px 10px;
}
.vs-credit-desc { font-size: 14px; color: var(--muted); line-height: 1.9; margin: 4px 0 14px; }
.vs-credit-fee {
  display: flex; align-items: center; justify-content: space-between;
  background: #fff; border: 1.5px dashed var(--accent); border-radius: 14px;
  padding: 14px 18px; margin-bottom: 14px;
}
.vs-credit-fee span { font-weight: 700; color: var(--muted); }
.vs-credit-fee strong { font-size: 19px; font-weight: 900; color: var(--accent); font-variant-numeric: tabular-nums; }
.vs-credit-points { list-style: none; margin: 0 0 16px; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.vs-credit-points li {
  font-size: 14px; color: var(--text); line-height: 1.8;
  padding-inline-start: 26px; position: relative;
}
.vs-credit-points li::before { content: "✓"; position: absolute; inset-inline-start: 0; color: var(--green-dk, #0a7d33); font-weight: 900; }

.vs-credit-otp-form { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 6px; }
.vs-credit-otp {
  flex: 1; min-width: 160px;
  text-align: center; letter-spacing: .5em; font-size: 20px; font-weight: 800;
  font-variant-numeric: tabular-nums;
  padding: 12px; border: 2px solid var(--line); border-radius: 14px;
}
.vs-credit-otp:focus { border-color: var(--accent); box-shadow: 0 0 0 4px rgba(37,99,235,.12); outline: none; }
.vs-credit-resend { font-size: 13px; color: var(--muted); margin: 12px 0 0; text-align: center; }

/* نتیجهٔ اعتبارسنجی روی تراکر */
.vs-credit-result {
  display: flex; align-items: center; gap: 12px;
  border-radius: 14px; padding: 14px 18px; margin: 12px 0; font-weight: 700;
}
.vs-credit-result.is-ok  { background: var(--green-lt, #ecfdf3); border: 1px solid #abefc6; color: var(--green-dk, #0a7d33); }
.vs-credit-result.is-bad { background: #fef3f2; border: 1px solid #fecdca; color: #b42318; }
.vs-credit-grade-badge {
  width: 44px; height: 44px; display: grid; place-items: center;
  border-radius: 12px; font-size: 19px; font-weight: 900; background: #fff;
}

/* ── بهبود عمومی فرم/تراکر ── */
.vs-flow-amount { transition: transform .12s ease; }
.vs-flow-amount:hover { transform: translateY(-2px); }
.vs-flow-action { border-radius: 16px; }
.vs-flow-details summary { cursor: pointer; transition: color .15s; }
.vs-flow-details summary:hover { color: var(--accent); }

/* دکمهٔ ارسال مجدد کد (لینک‌مانند) */
.vs-credit-link {
  background: none; border: none; padding: 0; cursor: pointer;
  color: var(--accent); font-weight: 700; font-family: inherit; font-size: inherit;
  text-decoration: underline;
}
.vs-credit-resend-form { margin: 0; }

/* ═══════════════════════════════════════════════
   v3.5.0 — دسترسی‌پذیری: فونت‌های بزرگ‌تر و خواناتر
   (مخصوص کاربران میان‌سال/مسن — تارگت‌های لمسی بزرگ‌تر)
   سلکتورها با .vs-page پیشوند دارند تا بر مقادیر قبلی غلبه کنند.
   ═══════════════════════════════════════════════ */

/* پایه */
.vs-page { font-size: 14px; line-height: 1.72; }
.vs-page .vs-flow-page { max-width: 1120px; }

/* کارت‌ها فضای بیشتر */
.vs-page .vs-flow-card { padding: 28px; border-radius: 20px; }

/* عناوین */
.vs-page .vs-flow-h1 { font-size: 22px; line-height: 1.5; margin-bottom: 22px; }
.vs-page .vs-flow-h2 { font-size: 17px; margin: 28px 0 16px; }
.vs-page .vs-flow-sub { font-size: 15px; }
.vs-page .vs-flow-sub small { font-size: 14px; }

/* متن‌های راهنما و فهرست‌ها — بزرگ‌تر و با فاصلهٔ بیشتر */
.vs-page .vs-flow-list li { font-size: 15px; line-height: 1.85; }
.vs-page .vs-flow-action { font-size: 14px; line-height: 1.78; padding: 22px; }
.vs-page .vs-flow-warn-line { font-size: 14px; }
.vs-page .vs-flow-notice { font-size: 15px; padding: 16px 20px; }
.vs-page .vs-cf-help, .vs-page .vs-postal-hint { font-size: 14px; }

/* برچسب و فیلدهای فرم — بزرگ، با ارتفاع راحت برای لمس */
.vs-page .vs-fg label { font-size: 15px; font-weight: 700; margin-bottom: 8px; }
.vs-page .vs-fg label small { font-size: 14px; font-weight: 500; }
.vs-page .vs-fg input,
.vs-page .vs-fg textarea,
.vs-page .vs-flow-form select {
  font-size: 14px;
  padding: 15px 16px;
  border-radius: 14px;
  border-width: 1.5px;
}
.vs-page .vs-fg input { min-height: 56px; }
.vs-page .vs-flow-form select { min-height: 56px; }
.vs-page .vs-fg textarea { min-height: 110px; line-height: 1.72; }

/* چک‌باکس‌ها و رادیوها بزرگ‌تر */
.vs-page .vs-flow-check { font-size: 15px; line-height: 1.78; gap: 12px; padding: 14px 16px; }
.vs-page .vs-flow-check input[type="checkbox"] { width: 22px; height: 22px; flex-shrink: 0; }
.vs-page .vs-cf-radio { font-size: 14px; padding: 11px 18px; }
.vs-page .vs-cf-radio input { width: 20px; height: 20px; }

/* دکمه‌ها — بزرگ و واضح */
.vs-page .vs-flow-btn { font-size: 14px; padding: 16px 30px; border-radius: 14px; min-height: 56px; }
.vs-page .vs-flow-btn--lg { font-size: 16px; padding: 19px; min-height: 64px; }

/* مراحل (stepper) خواناتر */
.vs-page .vs-stepper-lbl { font-size: 15px; line-height: 1.8; padding-top: 6px; }
.vs-page .vs-stepper-n { width: 34px; height: 34px; font-size: 14px; }
.vs-page .vs-stepper li::before { top: 42px; right: 16px; }

/* مبالغ */
.vs-page .vs-flow-amount span { font-size: 13px; }
.vs-page .vs-flow-amount strong { font-size: 17px; }

/* طرح‌ها */
.vs-page .vs-flow-plan-name { font-size: 15px; }
.vs-page .vs-flow-plan-meta span { font-size: 13px; padding: 5px 12px; }

/* ویجت اعتبارسنجی */
.vs-page .vs-credit-head h3 { font-size: 17px; }
.vs-page .vs-credit-desc { font-size: 14px; line-height: 1.78; }
.vs-page .vs-credit-fee strong { font-size: 20px; }
.vs-page .vs-credit-fee span { font-size: 15px; }
.vs-page .vs-credit-points li { font-size: 15px; line-height: 1.78; }
.vs-page .vs-credit-otp { font-size: 20px; padding: 16px; letter-spacing: .4em; }
.vs-page .vs-credit-step { font-size: 13px; padding: 5px 14px; }
.vs-page .vs-credit-resend, .vs-page .vs-credit-link { font-size: 14px; }

/* جمع‌بندی/تراکر */
.vs-page .vs-flow-details summary { font-size: 14px; padding: 6px 0; }
.vs-page .vs-credit-result { font-size: 14px; }
.vs-page .vs-credit-grade-badge { width: 52px; height: 52px; font-size: 19px; }

/* موبایل: کمی کوچک‌تر ولی همچنان خوانا */
@media (max-width: 600px) {
  .vs-page { font-size: 14px; }
  .vs-page .vs-flow-card { padding: 20px; }
  .vs-page .vs-flow-h1 { font-size: 19px; }
  .vs-page .vs-flow-h2 { font-size: 16px; }
  .vs-page .vs-flow-btn--lg { font-size: 14px; }
  .vs-page .vs-credit-otp { font-size: 18px; letter-spacing: .3em; }
}

/* ── بهبود ساختاری/حرفه‌ای ── */
.vs-page .vs-flow-grid2 { gap: 18px; }
.vs-page .vs-flow-card { box-shadow: 0 4px 24px rgba(15,23,42,.07); border: 1px solid var(--border); }
.vs-page .vs-flow-amounts { gap: 14px; }
.vs-page .vs-flow-amount { padding: 16px 18px; border-radius: 16px; }
.vs-page .vs-fg { margin-bottom: 4px; }
.vs-page .vs-flow-details { border-radius: 14px; margin-bottom: 14px; }
/* فاصلهٔ راحت بین بخش‌های فرم */
.vs-page .vs-flow-customs, .vs-page .vs-flow-guarantor { margin-top: 22px; padding-top: 20px; }

/* ═══════════════════════════════════════════════
   v3.6.0 — بازطراحی صفحهٔ آرشیو (لیست خودروها)
   ساختاریافته‌تر، خواناتر، حرفه‌ای‌تر
   ═══════════════════════════════════════════════ */

/* عرض و فاصلهٔ کلی */
.vs-page .vs-archive-wrap { padding: 32px 18px 80px; }

/* Hero */
.vs-page .vs-archive-hero { padding: 48px 24px; margin-bottom: 32px; }
.vs-page .vs-archive-hero p { font-size: 14px; line-height: 1.72; }

/* فیلترها — بزرگ‌تر و واضح‌تر */
.vs-page .vs-filters { gap: 10px; margin-bottom: 22px; }
.vs-page .vs-filter-pill {
  font-size: 14px; padding: 11px 22px; border-width: 2px;
}
.vs-page .vs-filters-label { font-size: 14px; }
.vs-page .vs-filters--cond { margin-top: 4px; margin-bottom: 30px; }

/* گرید — فاصلهٔ بیشتر بین کارت‌ها */
.vs-page .vs-grid { gap: 24px; }

/* کارت */
.vs-page .vs-card {
  border-radius: 22px; border: 1px solid var(--border);
  box-shadow: 0 6px 26px rgba(15,23,42,.08);
}
.vs-page .vs-card:hover { box-shadow: 0 18px 44px rgba(15,23,42,.16); transform: translateY(-4px); }
.vs-page .vs-card-img-wrap { aspect-ratio: 16/10; }

/* بدنهٔ کارت — فضای راحت‌تر */
.vs-page .vs-card-body { padding: 20px 20px 22px; gap: 12px; }

/* برند */
.vs-page .vs-card-brand { font-size: 13px; padding: 5px 14px; }

/* عنوان خودرو */
.vs-page .vs-card-title { font-size: 17px; font-weight: 900; line-height: 1.55; }

/* بَج صفر/کارکرده */
.vs-page .vs-card-cond-badge { font-size: 13px; padding: 7px 16px; border-radius: 50px; }

/* مشخصات */
.vs-page .vs-card-specs { margin-top: 2px; }
.vs-page .vs-spec { font-size: 14px; padding: 12px 0; }
.vs-page .vs-spec-lbl { font-weight: 700; color: var(--muted); }
.vs-page .vs-spec-val { font-weight: 900; }
.vs-page .vs-spec-val { font-variant-numeric: tabular-nums; }

/* بلوک اقساط — جمع‌وجور، تمیز و خوانا */
.vs-page .vs-card-insta {
  margin-top: 4px;
  background: linear-gradient(180deg, var(--accent-lt), #fbfdff);
  border: 1.5px solid #d4e2ff;
  border-radius: 16px;
  padding: 14px 16px;
}
.vs-page .vs-card-insta-hd {
  font-size: 15px; font-weight: 900; color: var(--accent-dk);
  margin-bottom: 8px; display: flex; align-items: center; gap: 7px;
}
.vs-page .vs-card-insta-hd::before { content: "📅"; }
.vs-page .vs-insta-row {
  font-size: 15px; padding: 8px 0;
  border-bottom: 1px dashed #cdddf7;
}
.vs-page .vs-insta-row:last-child { border-bottom: none; }
.vs-page .vs-insta-m { font-weight: 800; color: var(--sub); }
.vs-page .vs-insta-v { font-weight: 900; color: var(--accent-dk); font-variant-numeric: tabular-nums; }

/* CTA — دکمهٔ واقعی تمام‌عرض */
.vs-page .vs-card-cta {
  margin-top: 16px;
  display: flex; align-items: center; justify-content: center; gap: 8px;
  padding: 14px; border-radius: 14px;
  background: var(--accent-grad); color: #fff !important;
  font-size: 14px; font-weight: 800;
  box-shadow: 0 4px 14px rgba(37,99,235,.28);
  transition: filter .15s, transform .12s;
}
.vs-page .vs-card:hover .vs-card-cta { filter: brightness(1.06); text-decoration: none; }

/* خالی/صفحه‌بندی */
.vs-page .vs-empty { font-size: 15px; padding: 80px 0; }
.vs-page .vs-pagination .page-numbers { min-width: 46px; height: 46px; font-size: 15px; border-radius: 12px; }

@media (max-width: 600px) {
  .vs-page .vs-card-title { font-size: 15px; }
  .vs-page .vs-archive-hero { padding: 34px 18px; }
  .vs-page .vs-filter-pill { font-size: 13px; padding: 10px 18px; }
}

/* ═══════════════════════════════════════════════
   v3.7.0 — بازطراحی صفحهٔ تکی خودرو (خواناتر و تمیزتر)
   سلکتورها با .vs-page برای غلبه بر مقادیر قبلی
   ═══════════════════════════════════════════════ */

/* عنوان و برند */
.vs-page .vs-title { font-size: 22px; font-weight: 900; line-height: 1.5; }
.vs-page .vs-brand-tag { font-size: 14px; padding: 5px 14px; }
.vs-page .vs-year { font-size: 14px; }
.vs-page .vs-title-block { margin-bottom: 22px; }

/* KPI ها (نرخ سود، تسهیلات و…) — بزرگ و واضح */
.vs-page .vs-kpi { padding: 18px; border-radius: 16px; gap: 8px; }
.vs-page .vs-kpi-label { font-size: 14px; }
.vs-page .vs-kpi-val { font-size: 17px; font-variant-numeric: tabular-nums; }

/* چیپ‌های مشخصات */
.vs-page .vs-chips { gap: 12px; margin-bottom: 24px; }
.vs-page .vs-chip { padding: 15px 17px; border-radius: 16px; gap: 13px; }
.vs-page .vs-chip-ic { font-size: 19px; }
.vs-page .vs-chip-lbl { font-size: 13px; margin-bottom: 4px; }
.vs-page .vs-chip-val { font-size: 14px; font-weight: 800; color: var(--text); }

/* جدول اقساط — تیتر و سلول‌های درشت‌تر و خواناتر */
.vs-page .vs-table-box { border-radius: 18px; box-shadow: 0 4px 20px rgba(15,23,42,.07); margin-bottom: 22px; }
.vs-page .vs-table-hd { font-size: 15px; padding: 16px 20px; }
.vs-page .vs-tbl { font-size: 15px; }
.vs-page .vs-tbl thead th { font-size: 13px; padding: 14px 16px; }
.vs-page .vs-tbl tbody td { font-size: 15px; padding: 16px; font-weight: 700; font-variant-numeric: tabular-nums; }
.vs-page .vs-tbl .is-hi { font-size: 14px; }

/* یادداشت‌ها */
.vs-page .vs-notes { font-size: 15px; line-height: 1.78; padding: 18px 20px; border-radius: 16px; }

/* جعبهٔ مشخصات خودروی کارکرده */
.vs-page .vs-used-box { border-radius: 18px; }
.vs-page .vs-used-hd { font-size: 14px; }
.vs-page .vs-used-item { padding: 14px 16px; }
.vs-page .vs-used-ic { font-size: 18px; }
.vs-page .vs-used-lbl { font-size: 13px; margin-bottom: 4px; }
.vs-page .vs-used-val { font-size: 14px; }

/* ستون کناری (قیمت/خرید/تماس) */
.vs-page .vs-aside-price-lbl { font-size: 14px; }
.vs-page .vs-aside-price-val { font-size: 24px; }
.vs-page .vs-aside-form-title { font-size: 17px; }
.vs-page .vs-aside-buy-btn { font-size: 15px; padding: 17px; min-height: 60px; border-radius: 14px; }
.vs-page .vs-aside-buy-sub { font-size: 14px; }

/* جعبهٔ مراحل خرید (فرایند ۸ مرحله‌ای) */
.vs-page .vs-process-hd { font-size: 17px; }
.vs-page .vs-process-intro { font-size: 15px; line-height: 1.78; }
.vs-page .vs-process-n { width: 32px; height: 32px; font-size: 14px; }
.vs-page .vs-process-steps li { font-size: 15px; line-height: 1.72; }
.vs-page .vs-process-cta { font-size: 14px; padding: 16px; min-height: 58px; }
.vs-page .vs-process-shahkar { font-size: 14px; line-height: 1.72; }

/* دکمه‌های تماس/واتساپ */
.vs-page .vs-btn-call, .vs-page .vs-btn-wa { font-size: 14px; padding: 15px; min-height: 56px; }

/* فرم درخواست مشاوره */
.vs-page .vs-form .vs-fg label { font-size: 15px; font-weight: 700; }
.vs-page .vs-form .vs-fg input, .vs-page .vs-form .vs-fg textarea, .vs-page .vs-form .vs-fg select {
  font-size: 14px; padding: 14px 16px; min-height: 54px; border-radius: 13px;
}
.vs-page .vs-submit { font-size: 15px; padding: 16px; min-height: 60px; }

/* گیت ورود */
.vs-page .vs-login-gate-title { font-size: 17px; }
.vs-page .vs-login-gate-text { font-size: 15px; line-height: 1.78; }
.vs-page .vs-login-gate-btn { font-size: 14px; padding: 14px 28px; min-height: 56px; }

/* نوار بالای موبایل */
.vs-page .vs-topbar-title { font-size: 15px; }
.vs-page .vs-topbar-cta { font-size: 14px; }

@media (max-width: 600px) {
  .vs-page .vs-title { font-size: 18px; }
  .vs-page .vs-aside-price-val { font-size: 20px; }
  .vs-page .vs-tbl { font-size: 14px; }
  .vs-page .vs-tbl tbody td { padding: 13px 12px; }
}

/* یادداشت کارت‌هایی که فقط تسهیلات دارند */
.vs-page .vs-card-onlyfacility {
  font-size: 14px; color: var(--sub); line-height: 1.72;
  background: var(--surface); border: 1px dashed var(--border2);
  border-radius: 14px; padding: 13px 15px; margin-top: 4px;
}
/* بدنهٔ کارت کمی جمع‌تر */
.vs-page .vs-card-body { padding: 20px 20px 22px; gap: 11px; }

/* ═══════════════════════════════════════════════
   v5 POLISH LAYER — آرشیو و تک‌محصول (آیکون‌محور، تمیز)
   فقط ظاهرِ صفحات آرشیو/تک را پولیش می‌کند؛ صفحهٔ فرایند خرید دست‌نخورده است.
   ═══════════════════════════════════════════════ */

/* آیکون‌ها */
.vs-page .vs-i { flex-shrink:0; vertical-align:-3px; }
.vs-page .vs-i path, .vs-page .vs-i circle, .vs-page .vs-i rect { vector-effect:non-scaling-stroke; }

/* برچسب‌هایی که آیکون درون‌خطی دارند → هم‌تراز */
.vs-spec-lbl, .vs-kpi-label, .vs-card-insta-hd, .vs-table-hd, .vs-used-hd,
.vs-process-hd, .vs-topbar-back, .vs-aside-buy-sub, .vs-btn-call, .vs-btn-wa,
.vs-card-cta, .vs-process-cta, .vs-aside-buy-btn, .vs-bb-btn {
  display:inline-flex; align-items:center; gap:7px;
}
.vs-spec-lbl { color:var(--muted); font-weight:600; }
.vs-spec-lbl .vs-i { color:var(--muted); }

/* نوت/شاهکار/هشدار → آیکون بالای خط، متن کنارش */
.vs-notes, .vs-process-shahkar, .vs-process-foot { display:flex; align-items:flex-start; gap:9px; }
.vs-notes .vs-i, .vs-process-shahkar .vs-i, .vs-process-foot .vs-i { margin-top:2px; }

/* ── HERO ── */
.vs-archive-hero { text-align:center; }
.vs-hero-kicker {
  display:inline-flex; align-items:center; gap:7px;
  background:var(--accent-lt); color:var(--accent-dk);
  font-weight:700; font-size:13px; padding:6px 14px; border-radius:999px;
  margin-bottom:14px;
}
.vs-hero-kicker .vs-i { color:var(--accent); }
.vs-hero-trust {
  display:flex; flex-wrap:wrap; justify-content:center; gap:9px 18px; margin-top:18px;
}
.vs-hero-trust span {
  display:inline-flex; align-items:center; gap:6px;
  font-size:13.5px; font-weight:600; color:var(--sub);
}
.vs-hero-trust .vs-i { color:var(--green); }

/* ── ARCHIVE CARD ── */
.vs-card { transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease; }
.vs-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-lg); border-color:var(--border2); }
.vs-card-img-placeholder { display:flex; align-items:center; justify-content:center; color:var(--border2); background:linear-gradient(180deg,#fff,var(--surface)); }
.vs-card-insta-hd .vs-i { color:var(--accent); }
.vs-card-cta {
  justify-content:center; margin-top:14px;
  background:var(--accent-lt); color:var(--accent-dk);
  font-weight:700; padding:10px; border-radius:var(--r-sm);
  transition:background .15s ease, color .15s ease;
}
.vs-card:hover .vs-card-cta { background:var(--accent); color:#fff; }
.vs-card-cta .vs-i { transition:transform .15s ease; }
.vs-card:hover .vs-card-cta .vs-i { transform:translateX(-3px); }

/* ── EMPTY ── */
.vs-empty {
  grid-column:1/-1; display:flex; flex-direction:column; align-items:center; gap:12px;
  padding:56px 20px; color:var(--muted); background:var(--surface);
  border:1px dashed var(--border2); border-radius:var(--r-lg); font-weight:600;
}
.vs-empty .vs-i { color:var(--border2); }

/* ── SINGLE: title tags row ── */
.vs-title-tags { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:10px; }

/* ── KPI emphasis ── */
.vs-kpi-label .vs-i { color:var(--muted); }
.vs-kpi--accent { border-color:transparent; background:var(--accent-lt); }
.vs-kpi--accent .vs-kpi-label, .vs-kpi--accent .vs-kpi-label .vs-i { color:var(--accent-dk); }
.vs-kpi--accent .vs-kpi-val { color:var(--accent-dr); }

/* ── chips / used icons ── */
.vs-chip-ic, .vs-used-ic { display:inline-flex; align-items:center; justify-content:center; color:var(--accent); }
.vs-table-hd .vs-i, .vs-used-hd .vs-i, .vs-process-hd .vs-i { color:var(--accent); }
.vs-notes .vs-i { color:var(--accent); }

/* ── PROCESS BOX — دعوت‌کننده و واضح ── */
.vs-process-hd { font-size: 16px; }
.vs-process-cta {
  display:flex; align-items:center; justify-content:center; gap:9px;
  width:100%; text-align:center; font-weight:800; font-size: 13.5px;
  padding:15px; border-radius:var(--r); color:#fff;
  background:var(--green-grad); box-shadow:0 8px 22px rgba(22,163,74,.28);
  transition:transform .15s ease, box-shadow .15s ease;
}
.vs-process-cta:hover { transform:translateY(-2px); box-shadow:0 12px 28px rgba(22,163,74,.38); }
.vs-process-shahkar { background:var(--accent-lt); border-radius:var(--r-sm); padding:11px 13px; color:var(--accent-dr); }
.vs-process-shahkar .vs-i { color:var(--accent); }
.vs-process-foot .vs-i { color:var(--warn); }

/* ── BUY / CALL / WA buttons ── */
.vs-aside-buy-btn { display:flex; align-items:center; justify-content:center; gap:8px; }
.vs-aside-buy-sub { justify-content:center; opacity:.92; }
.vs-aside-buy-sub .vs-i { opacity:.85; }
.vs-btn-call, .vs-btn-wa { justify-content:center; }
.vs-bb-btn .vs-bb-ic { display:inline-flex; }

/* ── LOGIN GATE icon ── */
.vs-login-gate-ic { display:flex; align-items:center; justify-content:center; color:var(--accent); }

/* اطمینان از خوانایی متن نوت‌ها */
.vs-notes span, .vs-process-shahkar span, .vs-process-foot span { flex:1; }

/* ── v5.1: هیروِ خلوت‌تر + نشانِ نرخ سود پالس‌دار ── */
.vs-archive-hero { padding:42px 20px 30px; }
.vs-archive-hero h1 { margin:8px 0 12px; line-height:1.55; }
.vs-archive-hero h1 em { font-style:normal; color:var(--accent); margin:0 .3em; white-space:nowrap; }
.vs-archive-hero p { max-width:580px; margin:0 auto; color:var(--sub); }
.vs-hero-trust { margin-top:22px; }

/* نشان نرخ سود بانکی — ویژه، پالس‌دار */
.vs-card-rate {
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  margin-top:12px; padding:9px 8px 9px 12px;
  background:linear-gradient(135deg,#fff7ed,#ffedd5);
  border:1px solid #fed7aa; border-radius:var(--r-sm);
}
.vs-card-rate-lbl { display:inline-flex; align-items:center; gap:6px; font-weight:700; font-size:12.5px; color:#9a3412; }
.vs-card-rate-lbl .vs-i { color:#ea580c; }
.vs-card-rate-num {
  font-weight:800; font-size: 13px; color:#fff; line-height:1;
  background:linear-gradient(135deg,#fb923c,#ea580c);
  padding:6px 14px; border-radius:999px; flex-shrink:0;
  animation:vs-rate-pulse 1.5s ease-in-out infinite;
}
@keyframes vs-rate-pulse {
  0%,100% { transform:scale(1);    box-shadow:0 0 0 0 rgba(234,88,12,.55); }
  50%     { transform:scale(1.09); box-shadow:0 0 0 9px rgba(234,88,12,0); }
}
@media (prefers-reduced-motion:reduce){ .vs-card-rate-num { animation:none; } }

/* ── v5.2: انتخابگر طرح/پیش‌پرداخت در صفحهٔ تکی ── */
.vs-plans { background:var(--surface); border:1px solid var(--border2); border-radius:16px; padding:18px; margin:18px 0; }
.vs-plans-hd { display:inline-flex; align-items:center; gap:8px; font-size: 16px; font-weight:800; color:var(--text); margin-bottom:6px; }
.vs-plans-hd .vs-i { color:var(--accent); }
.vs-plans-help { font-size:13.5px; color:var(--sub); margin:6px 0 14px; line-height:1.85; }
.vs-plan-tabs { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:16px; }
.vs-plan-tab { flex:1 1 150px; display:flex; flex-direction:column; gap:4px; align-items:flex-start; cursor:pointer; text-align:right; padding:11px 15px; border:2px solid var(--border2); border-radius:12px; background:#fff; transition:border-color .15s, background .15s, box-shadow .15s; }
.vs-plan-tab:hover { border-color:var(--accent); }
.vs-plan-tab.is-active { border-color:var(--accent); background:var(--accent-lt); box-shadow:0 4px 14px rgba(37,99,235,.14); }
.vs-plan-tab-lbl { display:inline-flex; align-items:center; gap:5px; font-size:12px; font-weight:700; color:var(--muted); }
.vs-plan-tab-lbl .vs-i { color:var(--muted); }
.vs-plan-tab.is-active .vs-plan-tab-lbl, .vs-plan-tab.is-active .vs-plan-tab-lbl .vs-i { color:var(--accent-dk); }
.vs-plan-tab-val { font-size: 13px; font-weight:800; color:var(--text); }
.vs-plan-tab.is-active .vs-plan-tab-val { color:var(--accent-dr); }
.vs-plan-panel { display:none; }
.vs-plan-panel.is-active { display:block; animation:vs-plan-fade .25s ease; }
@keyframes vs-plan-fade { from { opacity:0; transform:translateY(4px); } to { opacity:1; transform:none; } }
.vs-plan-name { font-size: 13px; font-weight:800; color:var(--accent-dk); margin-bottom:10px; }
.vs-plan-figures { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:10px; margin-bottom:14px; }
.vs-pf { background:#fff; border:1px solid var(--border2); border-radius:10px; padding:10px 12px; display:flex; flex-direction:column; gap:5px; }
.vs-pf span { display:inline-flex; align-items:center; gap:5px; font-size:12.5px; font-weight:600; color:var(--muted); }
.vs-pf span .vs-i { color:var(--accent); }
.vs-pf strong { font-size: 13px; font-weight:800; color:var(--text); font-variant-numeric:tabular-nums; }
.vs-plan-tbl { width:100%; }
@media (max-width:600px){
  .vs-plans { padding:14px; }
  .vs-plan-tab { flex:1 1 100%; }
}
