/* ═══════════════════════════════════════════════════════════
   PEASGOLD — Premium Design System
   RTL / Vazirmatn / Emerald & Gold palette (CR palette update)
   ═══════════════════════════════════════════════════════════ */

/* ── Font-face ───────────────────────────────────────────── */
@font-face {
  font-family: 'Vazirmatn';
  src: url('/assets/fonts/Vazirmatn-Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Vazirmatn';
  src: url('/assets/fonts/Vazirmatn-Medium.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Vazirmatn';
  src: url('/assets/fonts/Vazirmatn-Bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/* ── CSS Variables ───────────────────────────────────────── */
:root {
  /* Palette */
  --c-primary:        #0D6E63;
  --c-primary-dark:   #0D6E63;
  --c-primary-light:  #0D6E63;
  --c-primary-muted:  rgba(18,32,25,.08);
  --c-gold:           #C5A059;
  --c-gold-dark:      #9A7B3E;
  --c-gold-light:     #E6C587;
  --c-text:           #2C332E;
  --c-text-light:     #56635C;
  --c-text-muted:     #7A857F;
  --c-text-invert:    #E8EAE8;
  --c-bg:             #FFFFFF;
  --c-surface:        #F8F7F4;
  --c-surface-2:      #F1EFE9;
  --c-border:         rgba(18,32,25,.12);
  --c-dark:           #0D6E63;
  --c-footer:         #0D6E63;

  /* Typography */
  --ff-body:    'Vazirmatn', Tahoma, Arial, sans-serif;
  --fs-xs:      0.75rem;
  --fs-sm:      0.875rem;
  --fs-base:    1rem;
  --fs-md:      1.0625rem;
  --fs-lg:      1.125rem;
  --fs-xl:      1.25rem;
  --fs-2xl:     clamp(1.4rem, 3vw, 1.75rem);
  --fs-3xl:     clamp(1.6rem, 3.5vw, 2.125rem);
  --fs-hero:    clamp(1.9rem, 4.5vw, 2.75rem);

  /* Spacing */
  --sp-1:  4px;
  --sp-2:  8px;
  --sp-3:  12px;
  --sp-4:  16px;
  --sp-5:  20px;
  --sp-6:  24px;
  --sp-8:  32px;
  --sp-10: 40px;
  --sp-12: 48px;
  --sp-16: 64px;
  --sp-20: 80px;
  --sp-24: 96px;
  --section-y: clamp(56px, 9vw, 96px);

  /* Border radius */
  --r-sm:  8px;
  --r-md:  14px;
  --r-lg:  22px;
  --r-xl:  32px;

  /* Shadows (brand-tinted) */
  --shadow-xs:  0 1px 3px rgba(18,32,25,.08);
  --shadow-sm:  0 1px 3px rgba(18,32,25,.08), 0 4px 12px rgba(18,32,25,.08);
  --shadow-md:  0 2px 4px rgba(18,32,25,.08), 0 8px 24px rgba(18,32,25,.10), 0 20px 48px rgba(18,32,25,.10);
  --shadow-lg:  0 4px 8px rgba(18,32,25,.10), 0 16px 40px rgba(18,32,25,.14), 0 40px 80px rgba(18,32,25,.16);
  --shadow-gold: 0 4px 20px rgba(197,160,89,.30);

  /* Transitions */
  --tr-fast:   150ms ease;
  --tr-base:   250ms ease;
  --tr-slow:   400ms ease;

  /* Nav */
  --nav-h: 72px;
}

/* Mobil: Fließtext etwas größer & lesbarer */
@media (max-width: 768px) {
  :root {
    --fs-xs:   0.8125rem;
    --fs-sm:   0.9375rem;
    --fs-base: 1.0625rem;
    --fs-md:   1.125rem;
  }
}

/* ── Reset ───────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html {
  scroll-behavior: smooth;
  overflow-x: hidden;
}
body {
  font-family: var(--ff-body);
  font-size: var(--fs-base);
  font-weight: 400;
  line-height: 2;
  color: var(--c-text);
  background: var(--c-bg);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
  direction: rtl;
}
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
ul, ol { list-style: none; }
button, input, select, textarea {
  font-family: inherit;
  font-size: inherit;
}
::selection { background: rgba(18,32,25,.18); color: var(--c-primary-dark); }

/* ── Container ───────────────────────────────────────────── */
.container {
  max-width: 1220px;
  margin-inline: auto;
  padding-inline: clamp(16px, 4vw, 48px);
}

/* ── Section layout ──────────────────────────────────────── */
.section { padding-block: var(--section-y); }
.section--surface { background: var(--c-surface); }
.section--dark { background: var(--c-dark); color: var(--c-text-invert); }

.section-header {
  text-align: center;
  margin-bottom: var(--sp-10);
}
.section-header h2 {
  font-size: var(--fs-3xl);
  font-weight: 700;
  line-height: 1.25;
  color: var(--c-text);
  margin-bottom: var(--sp-3);
  text-wrap: balance;
}
.section-header p {
  font-size: var(--fs-md);
  color: var(--c-text-light);
  max-width: 52ch;
  margin-inline: auto;
}

/* ── Eyebrow label ───────────────────────────────────────── */
/* CR#1269 + #1272: larger, bolder, higher-contrast pill on every page */
.eyebrow {
  display: inline-block;
  font-size: var(--fs-base);
  font-weight: 800;
  color: var(--c-primary-dark, #0D6E63);
  background: var(--c-primary-muted);
  border: 1.5px solid rgba(18,32,25,.38);
  border-radius: var(--r-xl);
  padding: 8px 20px;
  margin-bottom: var(--sp-3);
  letter-spacing: .01em;
  line-height: 1.5;
}
@media (max-width: 480px) {
  .eyebrow { font-size: var(--fs-sm); padding: 7px 16px; }
}

/* ── Buttons ─────────────────────────────────────────────── */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--sp-2);
  padding: 13px 28px;
  border-radius: var(--r-md);
  font-size: var(--fs-base);
  font-weight: 700;
  cursor: pointer;
  border: 2px solid transparent;
  transition: background var(--tr-base), color var(--tr-base),
              border-color var(--tr-base), box-shadow var(--tr-base),
              transform var(--tr-fast);
  white-space: nowrap;
  line-height: 1.4;
}
.btn:focus-visible {
  outline: 3px solid var(--c-gold);
  outline-offset: 3px;
}
.btn:active { transform: translateY(1px); }

.btn--primary {
  background: var(--c-primary);
  color: #fff;
  border-color: var(--c-primary);
  box-shadow: var(--shadow-sm);
}
.btn--primary:hover {
  background: var(--c-primary-dark);
  border-color: var(--c-primary-dark);
  box-shadow: var(--shadow-md);
}

.btn--gold {
  background: var(--c-gold);
  color: #fff;
  border-color: var(--c-gold);
  box-shadow: var(--shadow-gold);
}
.btn--gold:hover {
  background: var(--c-gold-dark);
  border-color: var(--c-gold-dark);
  box-shadow: 0 6px 28px rgba(197,160,89,.45);
}

.btn--outline {
  background: transparent;
  color: var(--c-primary);
  border-color: var(--c-primary);
}
.btn--outline:hover {
  background: var(--c-primary-muted);
}

.btn--outline-dark {
  background: transparent;
  color: var(--c-text);
  border-color: rgba(44,51,46,.30);
}
.btn--outline-dark:hover {
  background: rgba(44,51,46,.06);
  border-color: var(--c-text);
}

.btn--outline-white {
  background: transparent;
  color: #fff;
  border-color: rgba(255,255,255,.55);
}
.btn--outline-white:hover {
  background: rgba(255,255,255,.12);
  border-color: #fff;
}

.btn--ghost {
  background: transparent;
  color: var(--c-primary);
  border-color: transparent;
  padding-inline: 0;
}
.btn--ghost:hover { color: var(--c-primary-dark); }

.btn--sm {
  padding: 9px 18px;
  font-size: var(--fs-sm);
}

/* ── ================================================================
   NAVBAR
   ================================================================ */
.site-nav {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(255,255,255,.95);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--c-border);
  height: var(--nav-h);
  transition: box-shadow var(--tr-base);
}
.site-nav.scrolled { box-shadow: var(--shadow-sm); }

.nav-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 100%;
  gap: var(--sp-6);
}

/* Brand */
.nav-brand {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  font-size: var(--fs-xl);
  font-weight: 700;
  color: var(--c-primary);
  flex-shrink: 0;
}
.nav-brand__logo {
  width: 40px;
  height: 40px;
  background: var(--c-primary);
  border-radius: var(--r-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--c-gold);
  font-weight: 700;
  font-size: 14px;
  letter-spacing: -.5px;
  overflow: hidden;
}
/* CR#1126: transparent brand mark, optically centred inside the square */
.nav-brand__logo img {
  display: block;
  width: 78%;
  height: 78%;
  object-fit: contain;
}
.nav-brand:hover { color: var(--c-primary-dark); }

/* Nav links */
.nav-links {
  display: flex;
  align-items: center;
  gap: var(--sp-1);
  flex: 1;
  justify-content: center;
}
.nav-links a {
  font-size: var(--fs-sm);
  font-weight: 500;
  color: var(--c-text-light);
  padding: 6px 14px;
  border-radius: var(--r-sm);
  transition: color var(--tr-fast), background var(--tr-fast);
  white-space: nowrap;
}
.nav-links a:hover,
.nav-links a.active {
  color: var(--c-primary);
  background: var(--c-primary-muted);
}

/* Nav actions */
.nav-actions {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  flex-shrink: 0;
}
.nav-lang {
  font-size: var(--fs-xs);
  font-weight: 600;
  color: var(--c-text-light);
  padding: 5px 10px;
  border: 1px solid var(--c-border);
  border-radius: var(--r-sm);
  cursor: pointer;
  transition: all var(--tr-fast);
}
.nav-lang:hover {
  color: var(--c-primary);
  border-color: var(--c-primary);
}

/* Hamburger */
.nav-toggle {
  display: none;
  flex-direction: column;
  gap: 5px;
  cursor: pointer;
  padding: 8px;
  border-radius: var(--r-sm);
  background: none;
  border: none;
  color: var(--c-text);
}
.nav-toggle span {
  display: block;
  width: 22px;
  height: 2px;
  background: currentColor;
  border-radius: 2px;
  transition: transform var(--tr-base), opacity var(--tr-base);
}

/* Mobile drawer */
.nav-drawer {
  display: none;
  position: fixed;
  inset: var(--nav-h) 0 0 0;
  background: #fff;
  z-index: 99;
  padding: var(--sp-6) var(--sp-6) var(--sp-12);
  overflow-y: auto;
  flex-direction: column;
  gap: var(--sp-3);
  box-shadow: var(--shadow-lg);
}
.nav-drawer.open { display: flex; }
.nav-drawer a {
  font-size: var(--fs-lg);
  font-weight: 500;
  color: var(--c-text);
  padding: var(--sp-3) var(--sp-4);
  border-radius: var(--r-sm);
  border-bottom: 1px solid var(--c-border);
}
.nav-drawer a:hover {
  color: var(--c-primary);
  background: var(--c-primary-muted);
}
.nav-drawer .drawer-actions {
  display: flex;
  flex-direction: column;
  gap: var(--sp-3);
  margin-top: var(--sp-4);
}

/* Mobile quick-nav strip (desktop-active options surfaced in mobile header) */
.nav-mobile-quick { display: none; }
.nav-mobile-quick a {
  font-size: var(--fs-sm);
  font-weight: 500;
  color: var(--c-text-light);
  padding: 6px 10px;
  border-radius: var(--r-sm);
  white-space: nowrap;
  transition: color var(--tr-fast), background var(--tr-fast);
}
.nav-mobile-quick a:hover,
.nav-mobile-quick a.active {
  color: var(--c-primary);
  background: var(--c-primary-muted);
}

/* CR: هر گزینهٔ هدر یک آیکون SVG دارد — روی موبایل و دسکتاپ یکسان (مطابق تصویر مشتری) */
.nav-links a,
.nav-mobile-quick a,
.nav-drawer a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.nav-links a .nav-ic,
.nav-mobile-quick a .nav-ic,
.nav-drawer a .nav-ic {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}

/* ── ================================================================
   HERO
   ================================================================ */
.hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  color: #f5f7f5;
  background: #0D6E63;
  min-height: min(760px, calc(100vh - var(--nav-h)));
  padding-top: clamp(44px, 7vw, 84px);
}
.hero::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -3;
  background:
    radial-gradient(circle at 76% 9%, rgba(197,160,89,.16), transparent 25%),
    radial-gradient(circle at 18% 82%, rgba(25,154,142,.15), transparent 27%),
    linear-gradient(135deg, #0D6E63 0%, #0D6E63 48%, #0D6E63 100%);
  pointer-events: none;
}
.hero__ambient {
  position: absolute;
  z-index: -2;
  border-radius: 50%;
  filter: blur(45px);
  pointer-events: none;
}
.hero__ambient--gold {
  top: -180px;
  right: -100px;
  width: 560px;
  height: 480px;
  background: rgba(211,167,73,.16);
  animation: heroGlowDrift 18s ease-in-out infinite;
  will-change: transform;
}
.hero__ambient--teal {
  bottom: -220px;
  left: -120px;
  width: 560px;
  height: 460px;
  background: rgba(11,151,140,.18);
}
.hero__particles {
  position: absolute;
  z-index: -1;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: .62;
  pointer-events: none;
}
.hero__container {
  position: relative;
  z-index: 1;
}
.hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr);
  gap: clamp(44px, 8vw, 120px);
  align-items: center;
  min-height: 540px;
  padding-bottom: clamp(48px, 7vw, 84px);
}
.hero__content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: clamp(16px, 2.1vw, 24px);
  max-width: 660px;
}
.hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #d8bb7a;
  border: 1px solid rgba(216,187,122,.26);
  background: rgba(197,160,89,.08);
  border-radius: 999px;
  padding: 5px 13px;
  font-size: var(--fs-xs);
  font-weight: 500;
}
.hero__eyebrow::before {
  content: '';
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #d9b968;
  box-shadow: 0 0 10px #d9b968;
}
.hero__title {
  max-width: 11ch;
  color: #f6f8f5;
  font-size: clamp(2.15rem, 5.3vw, 4.25rem);
  font-weight: 700;
  line-height: 1.32;
  letter-spacing: -.035em;
  text-wrap: balance;
}
.hero__title span {
  color: #d9b86b;
  background: linear-gradient(110deg, #f0d18b, #bc8b32);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.hero__subtitle {
  max-width: 54ch;
  color: rgba(231,239,235,.7);
  font-size: clamp(.95rem, 1.5vw, 1.12rem);
  line-height: 2.05;
}
.hero__subtitle bdi { color: #f0d18b; }
.hero__cta {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  margin-top: 5px;
}
.hero__cta .btn {
  min-height: 48px;
  padding-inline: 20px;
  gap: 9px;
}
.hero__cta .btn svg { transition: transform var(--tr-fast); }
.hero__cta .btn:hover svg { transform: translateX(-3px); }
.hero__trust {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 18px;
  color: rgba(218,231,224,.56);
  font-size: var(--fs-xs);
}
.hero__trust span { display: inline-flex; align-items: center; gap: 6px; }
.hero__trust i {
  display: inline-grid;
  place-items: center;
  width: 15px;
  height: 15px;
  border: 1px solid rgba(129,209,176,.5);
  border-radius: 50%;
  color: #86d5b3;
  font-size: 10px;
  font-style: normal;
  line-height: 1;
}
.hero__visual {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 440px;
  direction: ltr;
}
.hero__visual-ring {
  position: absolute;
  width: min(480px, 94%);
  aspect-ratio: 1;
  border: 1px solid rgba(201,164,86,.18);
  border-radius: 50%;
  box-shadow: 0 0 0 28px rgba(197,160,89,.025), 0 0 80px rgba(197,160,89,.1);
}
.hero__visual-ring::before,
.hero__visual-ring::after {
  content: '';
  position: absolute;
  border-radius: 50%;
  border: 1px solid rgba(68,190,174,.14);
}
.hero__visual-ring::before { inset: 11%; }
.hero__visual-ring::after { inset: 23%; border-color: rgba(197,160,89,.12); }
.hero__media {
  position: relative;
  z-index: 2;
  width: min(390px, 86%);
  aspect-ratio: 4 / 5;
  max-width: 100%;
  overflow: hidden;
  border: 1px solid rgba(158,213,186,.23);
  border-radius: 18px;
  box-shadow: 0 30px 75px rgba(0,0,0,.38), inset 0 1px rgba(255,255,255,.1), 0 0 55px rgba(35,170,155,.12);
}
.hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.hero__floating-card {
  position: absolute;
  z-index: 3;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 10px 12px 10px 14px;
  color: #eaf4ee;
  background: rgba(14,42,37,.9);
  border: 1px solid rgba(168,218,191,.2);
  border-radius: 11px;
  box-shadow: 0 14px 30px rgba(0,0,0,.28);
  direction: rtl;
}
.hero__floating-card--top { top: 8%; right: 2%; }
.hero__floating-card--bottom { bottom: 11%; left: 1%; }
.hero__floating-card b { display: block; color: #e9c779; font-size: 12px; line-height: 1.4; }
.hero__floating-card small { display: block; color: rgba(225,239,231,.55); font-size: 9px; line-height: 1.5; }
.hero__floating-icon {
  display: grid;
  place-items: center;
  width: 27px;
  height: 27px;
  border-radius: 8px;
  color: #f2cf7a;
  background: rgba(197,160,89,.15);
  font-size: 16px;
}
.hero__floating-icon--teal { color: #80d9b2; background: rgba(51,183,151,.14); }
.hero__stats {
  position: relative;
  z-index: 1;
  border-top: 1px solid rgba(196,220,207,.12);
  background: rgba(5,20,16,.46);
  padding-block: 20px;
  backdrop-filter: blur(10px);
}
.stats-strip {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  flex-wrap: wrap;
}
.stat-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  padding-inline: clamp(24px, 5vw, 64px);
  text-align: center;
}
.stat-item__num { color: #e4c477; font-size: clamp(1.45rem, 3vw, 2rem); font-weight: 700; line-height: 1; }
.stat-item__label { color: rgba(225,239,231,.54); font-size: var(--fs-xs); font-weight: 500; }
.stat-divider { width: 1px; height: 35px; flex-shrink: 0; background: rgba(196,220,207,.16); }

/* ── ================================================================
   SERVICES
   ================================================================ */
.services { padding-block: var(--section-y); }

/* Category tabs */
.cat-tabs {
  display: flex;
  gap: var(--sp-2);
  margin-bottom: var(--sp-8);
  flex-wrap: wrap;
  justify-content: center;
}
.cat-tab {
  padding: 10px 22px;
  border-radius: var(--r-xl);
  font-size: var(--fs-sm);
  font-weight: 600;
  color: var(--c-text-light);
  background: var(--c-surface);
  border: 1.5px solid var(--c-border);
  cursor: pointer;
  transition: all var(--tr-base);
}
.cat-tab:hover {
  color: var(--c-primary);
  border-color: var(--c-primary);
}
.cat-tab--active,
.cat-tab[aria-selected="true"] {
  background: var(--c-primary);
  color: #fff;
  border-color: var(--c-primary);
  box-shadow: var(--shadow-sm);
}
.cat-tab:focus-visible {
  outline: 3px solid var(--c-gold);
  outline-offset: 3px;
}

/* Services grid */
.services-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: var(--sp-6);
}

/* Service card */
.service-card {
  background: var(--c-bg);
  border: 1.5px solid var(--c-border);
  border-radius: var(--r-md);
  overflow: hidden;
  box-shadow: var(--shadow-xs);
  transition: box-shadow var(--tr-base), transform var(--tr-base), border-color var(--tr-base);
  display: flex;
  flex-direction: column;
}
.service-card:hover {
  box-shadow: var(--shadow-sm);
  transform: translateY(-4px);
  border-color: var(--c-gold);
}
.service-card.hidden { display: none; }

.service-card__img {
  position: relative;
  aspect-ratio: 4/3;
  overflow: hidden;
}
.service-card__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--tr-slow);
}
.service-card:hover .service-card__img img {
  transform: scale(1.05);
}
.service-card__cat {
  position: absolute;
  top: 12px;
  right: 12px;
  background: rgba(18,32,25,.90);
  color: #fff;
  font-size: var(--fs-xs);
  font-weight: 600;
  padding: 4px 10px;
  border-radius: var(--r-xl);
  backdrop-filter: blur(4px);
}

.service-card__body {
  padding: var(--sp-5) var(--sp-5) var(--sp-4);
  display: flex;
  flex-direction: column;
  gap: var(--sp-2);
  flex: 1;
}
.service-card__body h3 {
  font-size: var(--fs-md);
  font-weight: 700;
  color: var(--c-text);
  line-height: 1.4;
}
.service-card__desc {
  font-size: var(--fs-sm);
  color: var(--c-text-light);
  line-height: 1.7;
}
.service-card__price {
  font-size: var(--fs-sm);
  font-weight: 600;
  color: var(--c-primary);
  margin-top: auto;
}
.service-card__price--free {
  color: var(--c-gold-dark);
}
.service-card__link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: var(--fs-sm);
  font-weight: 600;
  color: var(--c-primary);
  margin-top: var(--sp-3);
  padding-top: var(--sp-3);
  border-top: 1px solid var(--c-border);
  transition: color var(--tr-fast), gap var(--tr-fast);
}
.service-card__link:hover {
  color: var(--c-primary-dark);
  gap: 10px;
}

/* ── ================================================================
   HOW IT WORKS
   ================================================================ */
.how-it-works {
  background: var(--c-surface);
  padding-block: var(--section-y);
}
.steps-row {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr;
  gap: var(--sp-4);
  align-items: start;
  margin-top: var(--sp-8);
}
.step {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: var(--sp-4);
}
.step__circle {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: var(--c-primary);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  font-weight: 700;
  box-shadow: 0 4px 20px rgba(18,32,25,.30);
  position: relative;
  flex-shrink: 0;
}
.step__icon-wrap {
  width: 56px;
  height: 56px;
  border-radius: var(--r-md);
  background: rgba(18,32,25,.10);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--c-primary);
}
.step h3 {
  font-size: var(--fs-md);
  font-weight: 700;
  color: var(--c-text);
}
.step p {
  font-size: var(--fs-sm);
  color: var(--c-text-light);
  line-height: 1.7;
  max-width: 22ch;
  margin-inline: auto;
}
.step-arrow {
  display: flex;
  align-items: center;
  padding-top: 36px;
  color: var(--c-gold);
  opacity: .7;
}

/* ── ================================================================
   BRANCH NETWORK
   ================================================================ */
.branch-network {
  padding-block: var(--section-y);
}
.branch-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--sp-12);
  align-items: center;
}
.branch-content {
  display: flex;
  flex-direction: column;
  gap: var(--sp-5);
}
.branch-content h2 {
  font-size: var(--fs-3xl);
  font-weight: 700;
  color: var(--c-text);
  line-height: 1.3;
}
.branch-content p {
  font-size: var(--fs-md);
  color: var(--c-text-light);
  line-height: 1.9;
}
.country-pills {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-2);
}
.country-pill {
  padding: 6px 14px;
  background: var(--c-primary-muted);
  border: 1px solid rgba(18,32,25,.18);
  border-radius: var(--r-xl);
  font-size: var(--fs-sm);
  font-weight: 600;
  color: var(--c-primary);
}

.branch-visual {
  position: relative;
}
.branch-photo {
  border-radius: var(--r-lg);
  overflow: hidden;
  aspect-ratio: 4/3;
  box-shadow: var(--shadow-lg);
}
.branch-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
/* Stats overlay card */
.branch-stats-card {
  position: absolute;
  bottom: -20px;
  right: var(--sp-5);
  max-width: calc(100% - var(--sp-6));
  background: var(--c-primary);
  color: #fff;
  border-radius: var(--r-md);
  padding: var(--sp-6) var(--sp-5);
  box-shadow: var(--shadow-md);
  display: flex;
  align-items: stretch;
  gap: 0;
}
.bsc-item {
  text-align: center;
  padding-inline: var(--sp-5);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.bsc-item + .bsc-item {
  border-inline-start: 1px solid rgba(255, 255, 255, .45);
}
.bsc-item__num {
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--c-gold-light);
  line-height: 1;
  display: inline-flex;
  align-items: baseline;
  justify-content: center;
  gap: 1px;
  white-space: nowrap;
}
.bsc-item__plus {
  font-size: .85em;
  font-weight: 700;
}
.bsc-item__label {
  font-size: var(--fs-base);
  margin-top: 7px;
  opacity: 1;
  color: #fff;
  font-weight: 500;
}

/* ── ================================================================
   TRUST STRIP
   ================================================================ */
.trust {
  background: var(--c-surface);
  padding-block: clamp(40px, 6vw, 64px);
}
.trust-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: var(--sp-4);
}
.trust-badge {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: var(--sp-3);
  padding: var(--sp-6) var(--sp-4);
  background: var(--c-bg);
  border: 1.5px solid rgba(197,160,89,.30);
  border-radius: var(--r-md);
  transition: box-shadow var(--tr-base), border-color var(--tr-base);
}
.trust-badge:hover {
  box-shadow: var(--shadow-sm);
  border-color: var(--c-gold);
}
.trust-badge__icon {
  width: 48px;
  height: 48px;
  padding: 11px;
  box-sizing: border-box;
  color: var(--c-primary);
  background: rgba(13,110,99,.12);
  border-radius: 50%;
}
.trust-badge h4 {
  font-size: var(--fs-sm);
  font-weight: 700;
  color: var(--c-text);
  line-height: 1.4;
}
.trust-badge > p {
  margin: 0;
  font-size: var(--fs-xs);
  color: var(--c-text-light);
  line-height: 1.6;
}

/* ── Homepage features (section#features): 4-card grid per design ref ── */
#features .trust-grid {
  grid-template-columns: repeat(4, 1fr);
  gap: var(--sp-6);
}
#features .trust-badge {
  background: var(--c-bg);
  border: 1px solid rgba(18,32,25,.08);
  border-radius: var(--r-lg);
  box-shadow: var(--shadow-sm);
  padding: var(--sp-8) var(--sp-6);
  transition: box-shadow var(--tr-base), border-color var(--tr-base),
              transform var(--tr-fast);
}
#features .trust-badge:hover {
  box-shadow: var(--shadow-md);
  border-color: rgba(197,160,89,.45);
  transform: translateY(-4px);
}
.trust-badge__tile {
  width: 56px;
  height: 56px;
  border-radius: 14px;
  background: var(--c-primary);
  color: var(--c-gold);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: var(--shadow-sm);
}
.trust-badge__tile svg {
  width: 28px;
  height: 28px;
}
#features .trust-badge h4 {
  font-size: var(--fs-md);
}
#features .trust-badge p {
  font-size: var(--fs-sm);
  color: var(--c-text-light);
  line-height: 2;
  margin: 0;
}

/* ── ================================================================
   TESTIMONIALS
   ================================================================ */
.testimonials {
  padding-block: var(--section-y);
}
.testimonials-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--sp-6);
  margin-top: var(--sp-8);
}
.testi-card {
  background: var(--c-bg);
  border: 1.5px solid var(--c-border);
  border-radius: var(--r-md);
  padding: var(--sp-6);
  display: flex;
  flex-direction: column;
  gap: var(--sp-4);
  box-shadow: var(--shadow-xs);
  transition: box-shadow var(--tr-base);
}
.testi-card:hover { box-shadow: var(--shadow-sm); }
.testi-stars {
  display: flex;
  gap: 3px;
  color: var(--c-gold);
}
.testi-text {
  font-size: var(--fs-sm);
  color: var(--c-text-light);
  line-height: 1.9;
  flex: 1;
}
.testi-text::before { content: '«'; }
.testi-text::after  { content: '»'; }
.testi-author {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  padding-top: var(--sp-3);
  border-top: 1px solid var(--c-border);
}
.testi-avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--c-primary);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--fs-sm);
  font-weight: 700;
  flex-shrink: 0;
}
.testi-author-info h4 {
  font-size: var(--fs-sm);
  font-weight: 700;
  color: var(--c-text);
}
.testi-author-info p {
  font-size: var(--fs-xs);
  color: var(--c-text-muted);
}

/* ── ================================================================
   CTA BAND
   ================================================================ */
.cta-band {
  background: linear-gradient(135deg, var(--c-primary-dark) 0%, var(--c-primary) 100%);
  padding-block: clamp(48px, 8vw, 80px);
  position: relative;
  overflow: hidden;
}
.cta-band::before {
  content: '';
  position: absolute;
  top: -80px;
  right: -80px;
  width: 300px;
  height: 300px;
  background: rgba(197,160,89,.12);
  border-radius: 50%;
  pointer-events: none;
}
/* CR#1127: two balanced columns — poster and text, vertically centred */
.cta-band__inner {
  text-align: center;
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: center;
  justify-items: center;
  gap: clamp(28px, 5vw, 56px);
}
.cta-band__text {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--sp-5);
  max-width: 46ch;
}
.cta-band__media {
  width: 100%;
  display: flex;
  justify-content: center;
}
/* CR: هیرو «حساب اختصاصی خود را بسازید» — کارت PISA GOLD بدون قاب گرد،
   فقط خود تصویر با سایهٔ ملایم، اندازهٔ بزرگ‌تر و کمی مایل (مطابق اسکرین‌شات) */
.cta-band__media img {
  width: 100%;
  max-width: 500px;
  height: auto;
  border-radius: 0;          /* قاب گرد حذف شد — فقط خود تصویر کارت */
  box-shadow: none;
  /* سایهٔ ملایم که دقیقاً شکل کارت و شمش‌ها را دنبال می‌کند */
  filter: drop-shadow(0 22px 40px rgba(0,0,0,.22));
}
.cta-band h2 {
  font-size: var(--fs-hero);
  font-weight: 800;
  color: #002E2B;
  line-height: 1.25;
  text-wrap: balance;
}
.cta-band p {
  font-size: var(--fs-md);
  color: #154F49;
  max-width: 46ch;
}

/* ── ================================================================
   FOOTER
   ================================================================ */
.site-footer {
  background: var(--c-footer);
  color: rgba(255,255,255,.80);
  padding-top: var(--sp-16);
}
.footer-top {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1fr;
  gap: var(--sp-10);
  padding-bottom: var(--sp-10);
}
.footer-brand-col {
  display: flex;
  flex-direction: column;
  gap: var(--sp-4);
}
.footer-logo {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  color: #fff;
  font-size: var(--fs-xl);
  font-weight: 700;
}
.footer-logo__icon {
  width: 44px;
  height: 44px;
  border: 1.5px solid var(--c-gold);
  border-radius: var(--r-md);
  box-shadow: 0 0 14px rgba(197,160,89,.25);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  font-weight: 700;
  color: var(--c-gold);
  flex-shrink: 0;
}
.footer-logo__txt {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.footer-logo__name { font-size: var(--fs-xl); line-height: 1.1; }
.footer-logo__sub {
  font-size: var(--fs-xs);
  font-weight: 400;
  color: rgba(255,255,255,.50);
}
.footer-tagline {
  font-size: var(--fs-sm);
  line-height: 1.8;
  color: rgba(255,255,255,.60);
  max-width: 32ch;
}
.footer-phone {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  color: var(--c-gold);
  font-size: var(--fs-md);
  font-weight: 700;
  direction: ltr;
}
.footer-col h4 {
  font-size: var(--fs-sm);
  font-weight: 700;
  color: #fff;
  margin-bottom: var(--sp-4);
}
.footer-col ul {
  display: flex;
  flex-direction: column;
  gap: var(--sp-2);
}
.footer-col ul a {
  font-size: var(--fs-sm);
  color: rgba(255,255,255,.60);
  transition: color var(--tr-fast);
}
.footer-col ul a:hover { color: var(--c-gold); }
.footer-contact-item {
  display: flex;
  align-items: flex-start;
  gap: var(--sp-2);
  font-size: var(--fs-sm);
  color: rgba(255,255,255,.65);
  line-height: 1.6;
  margin-bottom: var(--sp-3);
}
.footer-contact-item svg { flex-shrink: 0; margin-top: 3px; color: var(--c-gold); }
.footer-socials {
  display: flex;
  direction: ltr;
  justify-content: flex-end;
  gap: var(--sp-3);
  margin-top: var(--sp-2);
}
.footer-social-link {
  width: 38px;
  height: 38px;
  border-radius: var(--r-sm);
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.10);
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255,255,255,.70);
  transition: background var(--tr-fast), color var(--tr-fast);
}
.footer-social-link:hover {
  background: var(--c-gold);
  color: #fff;
}

.footer-divider {
  height: 1px;
  background: rgba(255,255,255,.07);
}
.footer-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-block: var(--sp-5);
  font-size: var(--fs-xs);
  color: rgba(255,255,255,.45);
  flex-wrap: wrap;
  gap: var(--sp-3);
}
.footer-meta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--sp-5);
  flex-wrap: wrap;
}
.footer-meta__link {
  color: rgba(255,255,255,.55);
  transition: color var(--tr-fast);
  cursor: default;
}
a.footer-meta__link {
  cursor: pointer;
}
a.footer-meta__link:hover {
  color: rgba(255,255,255,.85);
}
.footer-badge {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-2);
  color: var(--c-gold);
  font-weight: 600;
}

/* ── ================================================================
   ABOUT / INTERIOR HERO (reused on inner pages)
   ================================================================ */
.page-hero {
  background: linear-gradient(135deg, var(--c-primary-dark) 0%, var(--c-primary) 100%);
  padding-block: clamp(48px, 8vw, 80px);
  color: #fff;
  text-align: center;
}
.page-hero h1 {
  font-size: var(--fs-3xl);
  font-weight: 700;
  margin-bottom: var(--sp-3);
}
.page-hero p {
  font-size: var(--fs-md);
  opacity: .85;
}

/* ── ================================================================
   FORMS (login / register / contact)
   ================================================================ */
.form-card {
  background: var(--c-bg);
  border: 1.5px solid var(--c-border);
  border-radius: var(--r-lg);
  padding: clamp(24px, 5vw, 48px);
  box-shadow: var(--shadow-md);
  max-width: 480px;
  margin-inline: auto;
}
.form-title {
  font-size: var(--fs-xl);
  font-weight: 700;
  color: var(--c-text);
  margin-bottom: var(--sp-6);
  text-align: center;
}
.form-group {
  margin-bottom: var(--sp-5);
}
.form-label {
  display: block;
  font-size: var(--fs-sm);
  font-weight: 600;
  color: var(--c-text);
  margin-bottom: var(--sp-2);
}
.form-control {
  width: 100%;
  padding: 12px 16px;
  border: 1.5px solid var(--c-border);
  border-radius: var(--r-sm);
  font-size: var(--fs-base);
  font-family: inherit;
  color: var(--c-text);
  background: var(--c-bg);
  transition: border-color var(--tr-fast), box-shadow var(--tr-fast);
  direction: inherit;
}
.form-control::placeholder { color: var(--c-text-muted); }
.form-control:focus {
  outline: none;
  border-color: var(--c-primary);
  box-shadow: 0 0 0 3px rgba(18,32,25,.12);
}
.form-control:invalid:not(:placeholder-shown) { border-color: #e53935; }
.form-hint {
  font-size: var(--fs-xs);
  color: var(--c-text-muted);
  margin-top: var(--sp-1);
}
.form-select {
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%235A6978' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: left 14px center;
}
.alert {
  padding: var(--sp-3) var(--sp-4);
  border-radius: var(--r-sm);
  font-size: var(--fs-sm);
  font-weight: 500;
  margin-bottom: var(--sp-4);
}
.alert--success { background: rgba(18,32,25,.10); color: var(--c-primary); border: 1px solid rgba(18,32,25,.20); }
.alert--error   { background: rgba(229,57,53,.08); color: #c62828; border: 1px solid rgba(229,57,53,.20); }

/* ── ================================================================
   ACCOUNT / DASHBOARD (stubs)
   ================================================================ */
.account-wrap {
  max-width: 900px;
  margin-inline: auto;
  padding-block: var(--section-y);
}
.account-card {
  background: var(--c-bg);
  border: 1.5px solid var(--c-border);
  border-radius: var(--r-md);
  padding: var(--sp-6);
  box-shadow: var(--shadow-xs);
  margin-bottom: var(--sp-5);
}
.account-no {
  font-size: var(--fs-xl);
  font-weight: 700;
  color: var(--c-primary);
  direction: ltr;
}

/* ── Account sidebar menu (panel-per-section) ── */
/* ── CR: پنل کاربر تمام‌عرض — حذف فضای خالی کناری (طرح مشتری) ──
   کانتینرِ پنل و چیدمان حساب دیگر در عرض محدود نمی‌شوند تا فضای خالیِ
   دو طرف (که مشتری با رنگ زرد مشخص کرده بود) حذف شود. چیدمان المان‌ها
   دست‌نخورده می‌ماند، فقط عرضِ مفید افزایش می‌یابد. فقط صفحات پنل (.panel-body). */
.panel-body .container { max-width: none; }
.account-layout {
  display: flex;
  gap: var(--sp-6);
  align-items: flex-start;
  max-width: none;
  margin-inline: auto;
  padding-block: var(--section-y);
}
.account-sidebar {
  flex: 0 0 300px;
  position: sticky;
  top: 90px;
  display: flex;
  flex-direction: column;
  gap: var(--sp-5);
}
.account-main { flex: 1 1 auto; min-width: 0; }
.acc-profile {
  background: var(--c-bg);
  border: 1.5px solid var(--c-border);
  border-radius: var(--r-md);
  padding: var(--sp-6);
  box-shadow: var(--shadow-xs);
  text-align: center;
}
.acc-profile__avatar {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: var(--c-primary-muted);
  color: var(--c-primary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: var(--sp-3);
}
.acc-profile__name { font-weight: 700; font-size: var(--fs-lg); }
.acc-profile__phone {
  direction: ltr;
  color: var(--c-text-muted);
  font-size: var(--fs-sm);
  margin-top: 4px;
}
.acc-profile__flag {
  display: inline-block;
  vertical-align: middle;
  margin-inline-start: 6px;
  border-radius: 2px;
  max-width: 100%;
}
.acc-menu {
  background: var(--c-bg);
  border: 1.5px solid var(--c-border);
  border-radius: var(--r-lg);
  box-shadow: var(--shadow-sm);
  padding: var(--sp-3);
  display: flex;
  flex-direction: column;
  gap: 4px;
}
/* ── CR: سربرگ منو با دکمهٔ گرد باز/بسته‌کردن (مطابق طرح مشتری) ── */
.acc-menu__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-2);
  padding: 2px 6px var(--sp-2);
  margin-bottom: 2px;
  border-bottom: 1px solid var(--c-border);
}
.acc-menu__title {
  font-size: var(--fs-sm);
  font-weight: 700;
  color: var(--c-text-muted);
  white-space: nowrap;
  overflow: hidden;
  opacity: 1;
  transition: opacity var(--tr-base), max-width var(--tr-base);
  max-width: 220px;
}
.acc-menu__collapse {
  flex: 0 0 auto;
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  border-radius: 50%;
  /* حالت باز (مطابق عکس مشتری): دایرهٔ سبزِ پر با فلش سفید */
  background: var(--c-primary);
  color: #fff;
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(13,110,99,.28);
  transition: background var(--tr-fast), color var(--tr-fast), transform var(--tr-fast), box-shadow var(--tr-fast);
}
.acc-menu__collapse:hover { background: #0b5a51; transform: translateY(-1px); box-shadow: 0 4px 12px rgba(13,110,99,.34); }
.acc-menu__collapse:active { transform: translateY(0); }
.acc-menu__collapse:focus-visible { outline: 2px solid var(--c-gold); outline-offset: 2px; }
/* حالت بسته (مطابق عکس مشتری): دایرهٔ سبزِ کم‌رنگ با فلش سبز */
.account-sidebar.is-collapsed .acc-menu__collapse { background: rgba(13,110,99,.12); color: var(--c-primary); box-shadow: 0 1px 4px rgba(13,110,99,.14); }
.account-sidebar.is-collapsed .acc-menu__collapse:hover { background: rgba(13,110,99,.2); color: var(--c-primary); }
.acc-menu__chev { display: block; transition: transform var(--tr-base); }
.acc-menu__item {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  width: 100%;
  padding: .7rem .9rem;
  border: 0;
  background: transparent;
  border-radius: var(--r-md);
  font-family: inherit;
  font-size: var(--fs-base);
  font-weight: 600;
  color: var(--c-text);
  cursor: pointer;
  text-align: start;
  transition: background var(--tr-fast), color var(--tr-fast);
}
.acc-menu__item:hover { background: var(--c-primary-muted); color: var(--c-primary); }
.acc-menu__item.is-active { background: var(--c-primary); color: #fff; box-shadow: 0 4px 12px rgba(13,110,99,.22); }
.acc-menu__ic {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
}
.acc-menu__ic svg { display: block; }
.acc-menu__label {
  flex: 1 1 auto;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  opacity: 1;
  transition: opacity var(--tr-base);
}
/* ── CR: زیرمنوی «کیف پول» (واریز/برداشت) ── */
.acc-submenu {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin: 2px 0 2px;
  padding-inline-start: calc(20px + var(--sp-3));
}
.acc-submenu__item {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  width: 100%;
  padding: .5rem .7rem;
  border: 0;
  background: transparent;
  border-radius: var(--r-md);
  font-family: inherit;
  font-size: var(--fs-sm);
  font-weight: 600;
  color: var(--c-text-soft, var(--c-text));
  cursor: pointer;
  text-align: start;
  transition: background var(--tr-fast), color var(--tr-fast);
}
.acc-submenu__item:hover { background: var(--c-primary-muted); color: var(--c-primary); }
.acc-submenu__item.is-active { background: var(--c-primary); color: #fff; }
.acc-submenu__ic {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
}
.acc-submenu__ic svg { display: block; }
.acc-submenu__label {
  flex: 1 1 auto;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
}

/* ── CR: حالت بستهٔ منو (ریل فقط‌آیکون) — فقط دسکتاپ، با انیمیشن ── */
@media (min-width: 769px) {
  .account-sidebar { transition: flex-basis var(--tr-base); }
  .account-sidebar.is-collapsed { flex-basis: 76px; }
  .account-sidebar.is-collapsed .acc-menu { padding: var(--sp-3) 10px; }
  .account-sidebar.is-collapsed .acc-menu__head { justify-content: center; border-bottom-color: transparent; padding-inline: 0; }
  .account-sidebar.is-collapsed .acc-menu__title { max-width: 0; opacity: 0; margin: 0; }
  .account-sidebar.is-collapsed .acc-menu__chev { transform: rotate(180deg); }
  .account-sidebar.is-collapsed .acc-menu__item,
  .account-sidebar.is-collapsed .acc-logout { justify-content: center; gap: 0; padding-inline: 0; }
  .account-sidebar.is-collapsed .acc-menu__label { max-width: 0; width: 0; opacity: 0; overflow: hidden; }
  .account-sidebar.is-collapsed .acc-submenu { display: none; }
  .account-sidebar.is-collapsed .acc-menu__kyc { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .account-sidebar,
  .acc-menu__title,
  .acc-menu__label,
  .acc-menu__chev,
  .acc-menu__collapse { transition: none; }
}
.acc-panel { display: none; }
.acc-panel.is-active { display: block; }
/* ── CR: صفحه‌بندی تراکنش‌ها ── */
.tx-pager {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: var(--sp-4);
  margin-top: var(--sp-5);
  padding-top: var(--sp-4);
  border-top: 1px solid var(--c-border);
}
.tx-pager__info {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--sp-3) var(--sp-5);
  font-size: var(--fs-sm);
  color: var(--c-text-light);
}
.tx-pager__perpage { display: flex; align-items: center; gap: var(--sp-2); margin: 0; }
.tx-pager__perpage label { font-size: var(--fs-sm); color: var(--c-text-light); }
.tx-pager__perpage select {
  font: inherit;
  font-size: var(--fs-sm);
  color: var(--c-text);
  padding: .4rem 1.8rem .4rem .7rem;
  border: 1px solid var(--c-border);
  border-radius: var(--r-sm);
  background: #fff;
  cursor: pointer;
}
.tx-pager__pages {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--sp-2);
  list-style: none;
  margin: 0;
  padding: 0;
}
.tx-pager__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  height: 36px;
  padding: 0 .55rem;
  border: 1px solid var(--c-border);
  border-radius: var(--r-sm);
  background: #fff;
  color: var(--c-text);
  font-size: var(--fs-sm);
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
  transition: background .15s, color .15s, border-color .15s;
}
.tx-pager__btn:hover { border-color: var(--c-primary); color: var(--c-primary); }
.tx-pager__btn.is-current {
  background: var(--c-primary);
  border-color: var(--c-primary);
  color: #fff;
}
.tx-pager__btn.is-disabled {
  opacity: .45;
  pointer-events: none;
}
.tx-pager__gap { padding: 0 .3rem; color: var(--c-text-muted); }
@media (max-width: 768px) {
  .tx-pager { justify-content: center; }
  .tx-pager__info { justify-content: center; width: 100%; text-align: center; }
  .tx-pager__pages { justify-content: center; width: 100%; }
}
.acc-logout {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--sp-3);
  width: 100%;
  padding: .7rem .9rem;
  border: 1.5px solid #da0000;
  border-radius: var(--r-md);
  background: #da0000;
  font-family: inherit;
  font-size: var(--fs-base);
  font-weight: 700;
  color: #fff;
  cursor: pointer;
  text-align: center;
  transition: background .15s, border-color .15s;
}
.acc-logout:hover { background: #b00000; border-color: #b00000; color: #fff; }
.acc-logout svg { flex: 0 0 auto; }
.acc-menu .acc-logout { margin-top: var(--sp-2); }

/* ── CR: درخواست انتقال — بازطراحی فرم انتقال (مطابق طرح مشتری) ── */
.wt-form { display: flex; flex-direction: column; gap: var(--sp-4); }
.wt-field { display: flex; flex-direction: column; min-width: 0; }
.wt-label { font-size: var(--fs-sm); font-weight: 700; color: var(--c-text); margin-bottom: var(--sp-2); }
.wt-input {
  width: 100%;
  padding: .7rem .9rem;
  border: 1.5px solid var(--c-border);
  border-radius: var(--r-sm);
  font-family: inherit;
  font-size: var(--fs-base);
  color: var(--c-text);
  background: var(--c-bg);
}
.wt-input:focus { outline: none; border-color: var(--c-primary); }
.wt-search { position: relative; }
.wt-search .wt-input { padding-left: 2.6rem; }
.wt-search__icon {
  position: absolute;
  left: .9rem;
  top: 50%;
  transform: translateY(-50%);
  color: var(--c-text-muted);
  pointer-events: none;
}
.wt-row {
  display: grid;
  grid-template-columns: 1fr minmax(130px, .7fr);
  gap: var(--sp-4);
  align-items: end;
}
.wt-box {
  width: 100%;
  min-height: 46px;
  padding: .7rem .9rem;
  border: 1.5px solid var(--c-border);
  border-radius: var(--r-sm);
  background: var(--c-surface);
  font-weight: 800;
  color: var(--c-primary);
  display: flex;
  align-items: center;
}
.wt-asset {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  border: 1.5px solid var(--c-border);
  border-radius: var(--r-sm);
  background: var(--c-bg);
  padding-inline-start: .9rem;
}
.wt-asset:focus-within { border-color: var(--c-primary); }
.wt-asset__icon { flex: 0 0 auto; color: #C5A059; }
.wt-asset select {
  flex: 1 1 auto;
  width: 100%;
  border: 0;
  background: transparent;
  padding: .7rem .6rem;
  font-family: inherit;
  font-size: var(--fs-base);
  color: var(--c-text);
  cursor: pointer;
}
.wt-asset select:focus { outline: none; }
.wt-amount {
  display: flex;
  align-items: stretch;
  border: 1.5px solid var(--c-border);
  border-radius: var(--r-sm);
  background: var(--c-bg);
  overflow: hidden;
}
.wt-amount:focus-within { border-color: var(--c-primary); }
.wt-amount__input {
  flex: 1 1 auto;
  width: 100%;
  min-width: 0;
  border: 0;
  background: transparent;
  padding: .7rem .9rem;
  font-family: inherit;
  font-size: var(--fs-base);
  color: var(--c-text);
  text-align: right;
}
.wt-amount__input:focus { outline: none; }
.wt-amount__unit {
  display: flex;
  align-items: center;
  padding: 0 .9rem;
  background: var(--c-surface);
  color: var(--c-text-light);
  font-size: var(--fs-sm);
  font-weight: 700;
  border-inline-start: 1.5px solid var(--c-border);
  white-space: nowrap;
}
.wt-pcts { display: flex; gap: var(--sp-2); margin-top: var(--sp-3); flex-wrap: wrap; justify-content: flex-end; }
.wt-pct {
  flex: 1 1 auto;
  min-width: 64px;
  padding: .45rem .6rem;
  border: 1.5px solid var(--c-border);
  border-radius: var(--r-sm);
  background: var(--c-bg);
  color: var(--c-primary);
  font-family: inherit;
  font-weight: 700;
  font-size: var(--fs-sm);
  cursor: pointer;
  transition: background .15s, color .15s, border-color .15s;
}
.wt-pct:hover { background: var(--c-primary-muted); border-color: var(--c-primary); }
.wt-textarea { resize: vertical; min-height: 60px; line-height: 1.6; }
.wt-summary {
  border: 1.5px solid var(--c-border);
  border-radius: var(--r-md);
  background: var(--c-surface);
  padding: var(--sp-4) var(--sp-5);
  display: flex;
  flex-direction: column;
  gap: var(--sp-2);
}
.wt-summary__row { display: flex; justify-content: space-between; align-items: center; font-size: var(--fs-sm); color: var(--c-text-light); }
.wt-summary__row strong { color: var(--c-text); font-weight: 700; }
.wt-summary__row--total { border-top: 1px dashed var(--c-border); padding-top: var(--sp-2); margin-top: 2px; font-size: var(--fs-base); }
.wt-summary__row--total strong { color: var(--c-primary); font-weight: 800; }
.wt-submit { width: 100%; margin-top: var(--sp-2); }

/* ── CR: نشانگر مرحله‌ها + فاکتور انتقال ── */
.wt-step[hidden], .wt-steps__back[hidden], .wt-summary__row[hidden], .wt-step1-err[hidden] { display: none !important; }
.wt-steps {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  flex-wrap: wrap;
  margin-bottom: var(--sp-4);
}
.wt-steps__back {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  padding: 0;
  border: 1.5px solid var(--c-border);
  border-radius: 999px;
  background: #fff;
  color: var(--c-primary);
  cursor: pointer;
  transition: background .15s, border-color .15s;
}
.wt-steps__back:hover { background: var(--c-primary-muted); border-color: var(--c-primary); }
.wt-steps__bar {
  flex: 1 1 120px;
  height: 4px;
  border-radius: 999px;
  background: var(--c-border);
  overflow: hidden;
}
.wt-steps__fill {
  display: block;
  height: 100%;
  width: 50%;
  border-radius: 999px;
  background: var(--c-primary);
  transition: width .25s ease;
}
.wt-steps__label {
  flex: 0 0 auto;
  font-size: var(--fs-sm);
  font-weight: 700;
  color: var(--c-text-muted);
  margin: 0;
}
.wt-invoice { display: flex; flex-direction: column; gap: var(--sp-4); }
.wt-invoice__head { display: flex; align-items: center; gap: var(--sp-3); flex-wrap: wrap; }
.wt-invoice__badge {
  background: var(--c-primary-muted);
  color: var(--c-primary-dark, #0D6E63);
  border-radius: 999px;
  padding: .3rem .8rem;
  font-size: var(--fs-xs);
  font-weight: 700;
  white-space: nowrap;
}
.wt-invoice__title { font-size: var(--fs-lg); font-weight: 700; margin: 0; }
.wt-invoice__hint { font-size: var(--fs-sm); color: var(--c-text-muted); margin: 0; }
.wt-invoice__actions { display: flex; gap: var(--sp-3); flex-wrap: wrap; }
.wt-invoice__actions .btn { flex: 1 1 auto; }
.wt-step1-err {
  background: #FFEBEE;
  color: #B71C1C;
  border: 1px solid #FFCDD2;
  border-radius: 10px;
  padding: .7rem .9rem;
  font-size: var(--fs-sm);
  margin: 0;
}

/* ── CR: پیش‌فاکتور مرحلهٔ ۲ انتقال به کاربر دیگر ── */
.wt-pv {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--sp-4);
  border: 1.5px solid var(--c-border);
  border-radius: var(--r-lg);
  background: #fff;
  padding: var(--sp-6) var(--sp-5) var(--sp-5);
  overflow: hidden;
}
.wt-pv::before {
  content: "";
  position: absolute;
  inset-block-start: 0;
  inset-inline: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--c-primary) 0%, var(--c-primary-light) 45%, var(--c-gold) 100%);
}
.wt-pv__k { display: block; font-size: var(--fs-xs); color: var(--c-text-muted); margin-bottom: 2px; }
.wt-pv__top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: var(--sp-4);
  flex-wrap: wrap;
}
.wt-pv__type { display: flex; align-items: center; gap: var(--sp-3); }
.wt-pv__type-ic {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 12px;
  background: var(--c-primary-muted);
  color: var(--c-primary);
}
.wt-pv__v { display: inline-flex; align-items: center; gap: 4px; font-size: var(--fs-base); font-weight: 700; color: var(--c-text); }
.wt-pv__spark { color: var(--c-gold); flex: 0 0 auto; }
.wt-pv__trk {
  flex: 0 0 auto;
  text-align: center;
  background: var(--c-surface);
  border: 1px dashed var(--c-border);
  border-radius: 12px;
  padding: var(--sp-2) var(--sp-4);
}
.wt-pv__trk-k { display: block; font-size: var(--fs-xs); color: var(--c-text-muted); margin-bottom: 3px; }
.wt-pv__trk-v { font-size: var(--fs-sm); font-weight: 800; color: var(--c-primary-dark); letter-spacing: .5px; }
.wt-pv__rcpt {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--sp-4);
  flex-wrap: wrap;
  background: var(--c-surface);
  border: 1.5px solid var(--c-border);
  border-radius: var(--r-md);
  padding: var(--sp-4);
}
.wt-pv__rcpt-main { display: flex; align-items: center; gap: var(--sp-3); min-width: 0; }
.wt-pv__avatar {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--c-primary);
  color: #fff;
  font-weight: 800;
  font-size: var(--fs-sm);
  letter-spacing: .5px;
}
.wt-pv__rcpt-info { min-width: 0; }
.wt-pv__rcpt-head { display: flex; align-items: center; gap: var(--sp-2); flex-wrap: wrap; }
.wt-pv__badge {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  border-radius: 999px;
  padding: .15rem .55rem;
  font-size: var(--fs-xs);
  font-weight: 700;
  white-space: nowrap;
}
.wt-pv__badge--ok { background: #E8F5E9; color: #1B5E20; }
.wt-pv__acct-line { display: flex; align-items: center; gap: var(--sp-2); margin-top: 3px; }
.wt-pv__acct { font-size: var(--fs-sm); font-weight: 700; color: var(--c-text); word-break: break-all; }
.wt-pv__rcpt-name { display: block; font-size: var(--fs-sm); font-weight: 700; color: var(--c-text); margin-top: 3px; word-break: break-word; }
.wt-pv__copy {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  padding: 0;
  border: 1px solid var(--c-border);
  border-radius: 8px;
  background: #fff;
  color: var(--c-primary);
  cursor: pointer;
  transition: background .15s, border-color .15s;
}
.wt-pv__copy:hover { background: var(--c-primary-muted); border-color: var(--c-primary); }
.wt-pv__instant {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  flex: 0 0 auto;
  font-size: var(--fs-xs);
  font-weight: 700;
  color: var(--c-gold-dark);
  white-space: nowrap;
}
.wt-pv__rows { display: flex; flex-direction: column; gap: var(--sp-1); }
.wt-pv__row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--sp-3);
  padding: var(--sp-3) 0;
  border-bottom: 1px dashed var(--c-border);
}
.wt-pv__row:last-child { border-bottom: 0; }
.wt-pv__label {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-2);
  font-size: var(--fs-sm);
  color: var(--c-text-light);
}
.wt-pv__label-ic { flex: 0 0 auto; color: var(--c-primary); }
.wt-pv__amt { display: flex; flex-direction: column; align-items: flex-start; gap: 1px; text-align: start; }
.wt-pv__amt strong { font-size: var(--fs-base); font-weight: 800; color: var(--c-text); }
.wt-pv__amt small { font-size: var(--fs-xs); color: var(--c-text-muted); }
.wt-pv__pill {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: .3rem .8rem;
  font-size: var(--fs-xs);
  font-weight: 700;
  white-space: nowrap;
}
.wt-pv__pill--gold { background: var(--c-gold-light); color: var(--c-gold-dark); }
.wt-pv__pill--free { background: #E8F5E9; color: #1B5E20; }
.wt-pv__total {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--sp-3);
  background: var(--c-surface);
  border: 1.5px solid var(--c-primary);
  border-radius: var(--r-md);
  padding: var(--sp-4) var(--sp-5);
}
.wt-pv__label--total { font-weight: 700; color: var(--c-text); }
.wt-pv__amt--total strong { color: var(--c-primary); font-size: var(--fs-lg); }
.wt-pv__note {
  display: flex;
  gap: var(--sp-3);
  background: #FFF8E1;
  border: 1px solid #F2D98C;
  border-radius: var(--r-md);
  padding: var(--sp-4);
}
.wt-pv__note-ic { flex: 0 0 auto; color: #9A7B3E; margin-top: 1px; }
.wt-pv__note-txt { margin: 0; font-size: var(--fs-xs); line-height: 1.8; color: #6B5311; }
.wt-pv__note-txt strong { color: #8D6E00; }
.wt-pv .wt-invoice__actions .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}
.wt-pv .wt-confirm { flex: 1.6 1 auto; }
.wt-pv .wt-edit    { flex: 1 1 auto; }

@media (max-width: 768px) {
  .account-layout {
    flex-direction: column;
    gap: var(--sp-5);
    padding-block: var(--sp-8);
  }
  .account-sidebar {
    flex-basis: auto;
    width: 100%;
    position: static;
  }
  /* ── CR: در موبایل ستون اصلی هم تمام‌عرض شود تا کارت‌های خرید/فروش هم‌عرض کارت پروفایل و وسط‌چین باشند ── */
  .account-main { width: 100%; }
  /* ── CR: در موبایل «منوی حساب کاربری» نمایش داده نشود (ناوبری از نوار پایین انجام می‌شود) ── */
  .account-sidebar .acc-menu { display: none; }
  /* ── CR: در موبایل همان دکمهٔ گردِ سربرگ به‌عنوان «باز/بسته‌کردن» لیست عمل می‌کند
         (آکاردئون). حالت بسته = فقط سربرگ، حالت باز = همهٔ آیتم‌ها + خروج. ── */
  .account-sidebar.is-collapsed .acc-menu__head { border-bottom-color: transparent; margin-bottom: 0; padding-bottom: 2px; }
  .account-sidebar.is-collapsed .acc-menu__chev { transform: rotate(90deg); }
  .account-sidebar.is-collapsed .acc-menu__item,
  .account-sidebar.is-collapsed .acc-logout { display: none; }
  .wt-row { grid-template-columns: 1fr; }
  .wt-pct { min-width: 0; }
  /* ── CR: پیش‌فاکتور مرحلهٔ ۲ در موبایل ── */
  .wt-pv { padding: var(--sp-5) var(--sp-4) var(--sp-4); }
  .wt-pv__top { flex-direction: column; gap: var(--sp-3); }
  .wt-pv__trk { align-self: stretch; text-align: center; }
  .wt-pv__rcpt { align-items: flex-start; }
  .wt-pv__instant { align-self: flex-start; }
  .wt-pv__row { align-items: flex-start; }
  .wt-pv__amt { align-items: flex-end; text-align: end; }
  .wt-pv .wt-invoice__actions { flex-direction: column; }
  .wt-pv .wt-invoice__actions .btn { width: 100%; flex: 1 1 auto; }
}

/* ── CR: مرحلهٔ ۳ انتقال — فاکتور پرداخت‌شده ── */
.wt-done { display: flex; flex-direction: column; gap: var(--sp-5); }
.wt-done__hero {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: var(--sp-3);
  margin-bottom: var(--sp-2);
  padding: var(--sp-8) var(--sp-6);
  border: 1px solid #A5D6A7;
  border-radius: var(--r-lg);
  background: linear-gradient(180deg, #F5FBF6 0%, #E7F5EB 100%);
  box-shadow: 0 1px 2px rgba(13,110,99,.06), 0 14px 36px rgba(13,110,99,.10);
}
.wt-done__check {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  margin-bottom: var(--sp-2);
  border-radius: 999px;
  border: 4px solid #fff;
  background: var(--c-primary);
  color: #fff;
  box-shadow: 0 8px 20px rgba(13,110,99,.28);
}
.wt-done__title { font-size: var(--fs-xl); font-weight: 800; color: var(--c-primary-dark, #0D6E63); margin: 0; }
.wt-done__sub { font-size: var(--fs-sm); color: var(--c-text-muted); margin: 0; max-width: 440px; }
.wt-done__status {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: var(--sp-2);
  padding: .5rem 1rem;
  border-radius: 999px;
  background: var(--c-primary);
  color: #fff;
  font-size: var(--fs-sm);
  font-weight: 700;
}
.wt-rcpt {
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 16px;
  background: #fff;
  padding: var(--sp-6);
}
.wt-rcpt__head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: var(--sp-4);
  flex-wrap: wrap;
  padding-bottom: var(--sp-5);
  margin-bottom: var(--sp-5);
  border-bottom: 1px dashed var(--c-border);
}
.wt-rcpt__title { font-size: var(--fs-lg); font-weight: 800; color: var(--c-text); margin: 0 0 3px; }
.wt-rcpt__org { font-size: var(--fs-xs); color: var(--c-text-muted); margin: 0; }
.wt-rcpt__trk { text-align: start; }
.wt-rcpt__trk-k { display: block; font-size: var(--fs-xs); color: var(--c-text-muted); margin-bottom: 3px; }
.wt-rcpt__trk-v { font-size: var(--fs-sm); font-weight: 800; color: var(--c-primary-dark, #0D6E63); letter-spacing: .5px; }
.wt-rcpt__grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-3); }
.wt-rcpt__cell {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: var(--sp-4);
  border-radius: 12px;
  background: var(--c-surface, #F6F8F7);
}
.wt-rcpt__k { font-size: var(--fs-xs); color: var(--c-text-muted); }
.wt-rcpt__v { font-size: var(--fs-base); font-weight: 700; color: var(--c-text); word-break: break-word; }
.wt-rcpt__v--gold { color: var(--c-primary-dark, #0D6E63); }
.wt-done__actions { display: flex; gap: var(--sp-3); flex-wrap: wrap; margin-top: var(--sp-5); }
.wt-done__actions .btn { flex: 1 1 auto; display: inline-flex; align-items: center; justify-content: center; gap: 6px; }
.wt-done__soft {
  background: var(--c-primary-muted);
  color: var(--c-primary-dark, #0D6E63);
  border: 1px solid #A5D6A7;
}
.wt-done__soft:hover { background: #D7EFDB; }

@media (max-width: 768px) {
  .wt-rcpt { padding: var(--sp-5) var(--sp-4); }
  .wt-rcpt__head { flex-direction: column; gap: var(--sp-2); }
  .wt-rcpt__grid { grid-template-columns: 1fr; }
  .wt-done__actions { flex-direction: column; }
  .wt-done__actions .btn { width: 100%; }
}

/* ── ================================================================
   BREADCRUMB
   ================================================================ */
.breadcrumb {
  display: flex;
  gap: var(--sp-2);
  align-items: center;
  font-size: var(--fs-xs);
  color: var(--c-text-muted);
  margin-bottom: var(--sp-6);
  flex-wrap: wrap;
}
.breadcrumb a { color: var(--c-primary); }
.breadcrumb a:hover { text-decoration: underline; }
.breadcrumb__sep { opacity: .5; }

/* ── ================================================================
   UTILITY
   ================================================================ */
.text-center { text-align: center; }
.text-primary { color: var(--c-primary); }
.text-gold    { color: var(--c-gold); }
.text-muted   { color: var(--c-text-muted); }
.mt-auto      { margin-top: auto; }
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
}
.d-flex { display: flex; }
.gap-3  { gap: var(--sp-3); }
.align-center { align-items: center; }

/* ── ================================================================
   ANIMATIONS
   ================================================================ */
@keyframes fadeUp {
  from { opacity: 0; transform: translateY(24px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes heroGlowDrift {
  0%   { transform: translate(0, 0); }
  25%  { transform: translate(-26px, 18px); }
  50%  { transform: translate(14px, 30px); }
  75%  { transform: translate(22px, 10px); }
  100% { transform: translate(0, 0); }
}
@keyframes pulse-ring {
  0%   { box-shadow: 0 0 0 0 rgba(18,32,25,.35); }
  70%  { box-shadow: 0 0 0 12px rgba(18,32,25,0); }
  100% { box-shadow: 0 0 0 0 rgba(18,32,25,0); }
}
.animate-fade-up { animation: fadeUp .6s ease both; }
.animate-fade-up:nth-child(2) { animation-delay: .1s; }
.animate-fade-up:nth-child(3) { animation-delay: .2s; }
.animate-fade-up:nth-child(4) { animation-delay: .3s; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
  .hero__ambient--gold { animation: none !important; will-change: auto; transform: none; }
}

/* ── ================================================================
   RESPONSIVE — 1024px
   ================================================================ */
@media (max-width: 1024px) {
  .footer-top {
    grid-template-columns: 1fr 1fr;
    gap: var(--sp-8);
  }
  .trust-grid {
    grid-template-columns: repeat(3, 1fr);
  }
  #features .trust-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* ── CR: نوار ناوبری هشت‌گزینه‌ای فقط وقتی در یک ردیف جا می‌شود (دسکتاپ پهن ≥۱۲۲۰px)
   نمایش داده می‌شود؛ در عرض‌های کوچک‌تر همان نوار جمع‌وجور موبایل (همبرگر + نوار سریع
   چندردیفه) به‌کار می‌رود تا دکمه‌های «حساب من/خروج» از کادر بیرون نزنند. ── */
@media (min-width: 769px) and (max-width: 1219px) {
  .nav-links  { display: none; }
  .nav-actions .btn { display: none; }
  .nav-actions .nav-lang { display: none; }
  .nav-toggle { display: flex; }
  .nav-mobile-quick {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: var(--sp-1);
    padding: var(--sp-2) var(--sp-4);
    background: #fff;
    border-bottom: 1px solid var(--c-border);
  }
}

/* ── ================================================================
   RESPONSIVE — 768px
   ================================================================ */
@media (max-width: 768px) {
  .nav-links  { display: none; }
  .nav-actions .btn { display: none; }
  .nav-actions .nav-lang { display: none; }
  .nav-toggle { display: flex; }

  .nav-mobile-quick {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: var(--sp-1);
    padding: var(--sp-2) var(--sp-4);
    background: #fff;
    border-bottom: 1px solid var(--c-border);
  }

  .hero__grid {
    grid-template-columns: 1fr;
    gap: var(--sp-8);
    min-height: auto;
  }
  .hero__content {
    order: 2;
    align-items: center;
    max-width: 720px;
    text-align: center;
  }
  .hero__visual {
    order: 1;
    min-height: 390px;
    width: 100%;
  }
  .hero__visual-ring { width: min(420px, 88%); }

  .steps-row {
    grid-template-columns: 1fr;
    gap: var(--sp-6);
  }
  .step-arrow { display: none; }

  .branch-inner {
    grid-template-columns: 1fr;
    gap: var(--sp-8);
  }
  .branch-stats-card {
    position: static;
    margin-top: var(--sp-4);
    margin-inline: auto;
    right: auto;
    max-width: 100%;
    width: fit-content;
    justify-content: center;
  }
  .bsc-item {
    padding-inline: var(--sp-4);
  }

  .testimonials-grid {
    grid-template-columns: 1fr;
  }

  .trust-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  #features .trust-grid {
    grid-template-columns: 1fr;
  }
}

/* ── ================================================================
   RESPONSIVE — 390px (mobile-first fine-tuning)
   ================================================================ */
@media (max-width: 480px) {
  :root { --nav-h: 60px; }

  .hero { padding-top: 34px; }
  .hero__grid { gap: 12px; }
  .hero__visual { min-height: 350px; }
  .hero__media { width: min(350px, 92%); }
  .hero__floating-card { padding: 8px 9px; }
  .hero__floating-card--top { top: 3%; right: -2px; }
  .hero__floating-card--bottom { bottom: 4%; left: -2px; }
  .hero__floating-card small { font-size: 8px; }
  .hero__cta { flex-direction: column; width: 100%; }
  .hero__cta .btn { width: 100%; justify-content: center; }
  .hero__trust { gap: 8px 12px; font-size: 10px; }

  .services-grid {
    grid-template-columns: 1fr;
  }

  .stats-strip { gap: 0; }
  .stat-item { padding-inline: 16px; }
  .stat-divider { height: 32px; }

  .cat-tabs { gap: var(--sp-1); }
  .cat-tab  { padding: 8px 14px; font-size: var(--fs-xs); }

  .trust-grid { grid-template-columns: 1fr 1fr; }

  .footer-top {
    grid-template-columns: 1fr;
    gap: var(--sp-8);
  }
  .footer-bottom {
    flex-direction: column;
    text-align: center;
  }

  .form-card { padding: var(--sp-5); }
}

/* ── ================================================================
   CART BADGE (nav)
   ================================================================ */
.nav-cart {
  gap: var(--sp-2);
  position: relative;
}
.cart-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--c-gold);
  color: #fff;
  border-radius: 999px;
  min-width: 18px;
  height: 18px;
  font-size: 10px;
  font-weight: 700;
  padding: 0 4px;
  line-height: 1;
  margin-right: 2px;
}

/* ── ================================================================
   SHOP — product grid
   ================================================================ */
.shop-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: var(--sp-6);
}
/* reuses .service-card, .service-card__img, etc. */
.product-card__weight {
  font-size: var(--fs-xs);
  color: var(--c-text-muted);
  font-weight: 500;
}

/* ── ================================================================
   PRODUCT DETAIL
   ================================================================ */
.product-detail {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--sp-12);
  align-items: start;
  padding-block: var(--section-y);
}
.product-gallery__main {
  border-radius: var(--r-lg);
  overflow: hidden;
  aspect-ratio: 4/3;
  box-shadow: var(--shadow-lg);
  cursor: pointer;
}
.product-gallery__main img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--tr-slow);
}
.product-gallery__main:hover img { transform: scale(1.03); }

.product-gallery__thumbs {
  display: flex;
  gap: var(--sp-2);
  margin-top: var(--sp-3);
  flex-wrap: wrap;
}
.product-gallery__thumb {
  border-radius: var(--r-sm);
  overflow: hidden;
  width: 76px;
  height: 76px;
  cursor: pointer;
  border: 2.5px solid transparent;
  flex-shrink: 0;
  transition: border-color var(--tr-fast);
}
.product-gallery__thumb.active,
.product-gallery__thumb:hover { border-color: var(--c-primary); }
.product-gallery__thumb img { width: 100%; height: 100%; object-fit: cover; }

.product-info {
  display: flex;
  flex-direction: column;
  gap: var(--sp-5);
  padding-top: var(--sp-3);
}
.product-price {
  font-size: var(--fs-3xl);
  font-weight: 700;
  color: var(--c-primary);
  line-height: 1.2;
}
.product-price__unit {
  font-size: var(--fs-sm);
  font-weight: 400;
  color: var(--c-text-muted);
  margin-right: var(--sp-2);
}
.product-meta {
  display: flex;
  flex-direction: column;
  gap: var(--sp-2);
}
.product-meta__row {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  font-size: var(--fs-sm);
}
.product-meta__label {
  color: var(--c-text-muted);
  width: 80px;
  flex-shrink: 0;
}
.product-meta__val {
  font-weight: 600;
  color: var(--c-text);
}

/* Size selector (related variants) */
.size-selector {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-2);
}
.size-btn {
  padding: 8px 18px;
  border-radius: var(--r-sm);
  font-size: var(--fs-sm);
  font-weight: 600;
  border: 2px solid var(--c-border);
  background: var(--c-bg);
  color: var(--c-text);
  cursor: pointer;
  text-decoration: none;
  display: inline-block;
  transition: all var(--tr-fast);
  line-height: 1.5;
}
.size-btn:hover {
  border-color: var(--c-primary);
  color: var(--c-primary);
  background: var(--c-primary-muted);
}
.size-btn--active {
  border-color: var(--c-primary);
  background: var(--c-primary);
  color: #fff;
}

/* Quantity control */
.qty-control {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
}
.qty-btn {
  width: 40px;
  height: 40px;
  border: 1.5px solid var(--c-border);
  border-radius: var(--r-sm);
  background: var(--c-surface);
  font-size: 1.25rem;
  font-weight: 700;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--c-text);
  transition: background var(--tr-fast), border-color var(--tr-fast);
  line-height: 1;
  flex-shrink: 0;
}
.qty-btn:hover { background: var(--c-primary-muted); border-color: var(--c-primary); }
.qty-input {
  width: 64px;
  text-align: center;
  font-size: var(--fs-lg);
  font-weight: 700;
  padding: 8px;
  border: 1.5px solid var(--c-border);
  border-radius: var(--r-sm);
  color: var(--c-text);
  background: var(--c-bg);
  font-family: inherit;
}
.qty-input:focus { outline: none; border-color: var(--c-primary); box-shadow: 0 0 0 3px rgba(18,32,25,.12); }

/* ── ================================================================
   CART
   ================================================================ */
.cart-wrap {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: var(--sp-8);
  align-items: start;
  padding-block: var(--section-y);
}
.cart-table {
  background: var(--c-bg);
  border: 1.5px solid var(--c-border);
  border-radius: var(--r-md);
  overflow: hidden;
  box-shadow: var(--shadow-xs);
}
.cart-table-head {
  display: grid;
  grid-template-columns: 76px 1fr 140px 140px 56px;
  gap: var(--sp-3);
  padding: var(--sp-4) var(--sp-5);
  background: var(--c-surface);
  font-size: var(--fs-xs);
  font-weight: 700;
  color: var(--c-text-muted);
  border-bottom: 1px solid var(--c-border);
}
.cart-row {
  display: grid;
  grid-template-columns: 76px 1fr 140px 140px 56px;
  gap: var(--sp-3);
  padding: var(--sp-4) var(--sp-5);
  align-items: center;
  border-bottom: 1px solid var(--c-border);
}
.cart-row:last-child { border-bottom: none; }
.cart-row__img {
  width: 68px;
  height: 68px;
  border-radius: var(--r-sm);
  overflow: hidden;
  flex-shrink: 0;
}
.cart-row__img img { width: 100%; height: 100%; object-fit: cover; }
.cart-row__name {
  font-size: var(--fs-sm);
  font-weight: 600;
  color: var(--c-text);
  line-height: 1.5;
}
.cart-row__price {
  font-size: var(--fs-sm);
  font-weight: 600;
  color: var(--c-primary);
  direction: ltr;
  text-align: center;
}
/* CR#1131: weight column replaces the former unit-price column */
.cart-row__weight {
  font-size: var(--fs-sm);
  font-weight: 600;
  color: var(--c-primary);
  text-align: center;
}
.price-notice {
  font-size: var(--fs-sm);
  line-height: 1.9;
  color: var(--c-text);
  background: var(--c-surface);
  border: 1px solid var(--c-border);
  border-right: 3px solid var(--c-primary);
  border-radius: var(--r-sm);
  padding: var(--sp-3) var(--sp-4);
  margin-block: var(--sp-4) 0;
}
.cart-row__qty {
  display: flex;
  align-items: center;
  gap: 6px;
  justify-content: center;
}
.cart-qty-input {
  width: 48px;
  text-align: center;
  font-size: var(--fs-sm);
  font-weight: 600;
  padding: 6px 4px;
  border: 1.5px solid var(--c-border);
  border-radius: var(--r-sm);
  color: var(--c-text);
  background: var(--c-bg);
  font-family: inherit;
}
.cart-qty-input:focus { outline: none; border-color: var(--c-primary); }
.cart-qty-btn {
  width: 28px;
  height: 28px;
  border: 1.5px solid var(--c-border);
  border-radius: var(--r-sm);
  background: var(--c-surface);
  font-size: var(--fs-md);
  font-weight: 700;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--c-text);
  transition: all var(--tr-fast);
  line-height: 1;
  flex-shrink: 0;
}
.cart-qty-btn:hover { background: var(--c-primary-muted); border-color: var(--c-primary); }
.cart-row__remove {
  display: flex;
  align-items: center;
  justify-content: center;
  background: none;
  border: none;
  cursor: pointer;
  color: var(--c-text-muted);
  padding: 6px;
  border-radius: var(--r-sm);
  transition: color var(--tr-fast), background var(--tr-fast);
}
.cart-row__remove:hover { color: #e53935; background: rgba(229,57,53,.08); }

.cart-summary-card {
  background: var(--c-bg);
  border: 1.5px solid var(--c-border);
  border-radius: var(--r-md);
  padding: var(--sp-6);
  box-shadow: var(--shadow-xs);
  position: sticky;
  top: calc(var(--nav-h) + 16px);
}
.cart-summary-card h3 {
  font-size: var(--fs-lg);
  font-weight: 700;
  color: var(--c-text);
  margin-bottom: var(--sp-5);
  padding-bottom: var(--sp-4);
  border-bottom: 1px solid var(--c-border);
}
.cart-summary-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-block: var(--sp-3);
  font-size: var(--fs-sm);
  color: var(--c-text-light);
}
.cart-summary-row--total {
  font-size: var(--fs-md);
  font-weight: 700;
  color: var(--c-text);
  border-top: 1px solid var(--c-border);
  margin-top: var(--sp-2);
  padding-top: var(--sp-4);
}
.cart-summary-row--total span:last-child { color: var(--c-primary); }

/* Empty cart state */
.cart-empty {
  text-align: center;
  padding: clamp(48px, 10vw, 80px) var(--sp-6);
  color: var(--c-text-muted);
}
.cart-empty svg { color: var(--c-text-muted); margin: 0 auto var(--sp-5); opacity: .4; }
.cart-empty h2 { font-size: var(--fs-2xl); font-weight: 700; color: var(--c-text); margin-bottom: var(--sp-3); }
.cart-empty p  { font-size: var(--fs-md); margin-bottom: var(--sp-6); }

/* ── ================================================================
   CHECKOUT
   ================================================================ */
.checkout-wrap {
  display: grid;
  grid-template-columns: 1fr 360px;
  gap: var(--sp-8);
  align-items: start;
  padding-block: var(--section-y);
}
.checkout-form-card {
  background: var(--c-bg);
  border: 1.5px solid var(--c-border);
  border-radius: var(--r-md);
  padding: var(--sp-8);
  box-shadow: var(--shadow-xs);
}
.checkout-form-card h2 {
  font-size: var(--fs-xl);
  font-weight: 700;
  color: var(--c-text);
  margin-bottom: var(--sp-6);
  padding-bottom: var(--sp-4);
  border-bottom: 1px solid var(--c-border);
}
.checkout-summary-card {
  background: var(--c-bg);
  border: 1.5px solid var(--c-border);
  border-radius: var(--r-md);
  padding: var(--sp-5);
  box-shadow: var(--shadow-xs);
  position: sticky;
  top: calc(var(--nav-h) + 16px);
}
.checkout-summary-card h3 {
  font-size: var(--fs-md);
  font-weight: 700;
  color: var(--c-text);
  margin-bottom: var(--sp-4);
  padding-bottom: var(--sp-3);
  border-bottom: 1px solid var(--c-border);
}
.checkout-item {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: var(--sp-3);
  padding-block: var(--sp-3);
  border-bottom: 1px solid var(--c-border);
  font-size: var(--fs-sm);
}
.checkout-item:last-of-type { border-bottom: none; }
.checkout-item__name { color: var(--c-text); flex: 1; line-height: 1.5; }
.checkout-item__qty  { color: var(--c-text-muted); flex-shrink: 0; }
.checkout-item__price { color: var(--c-primary); font-weight: 600; flex-shrink: 0; direction: ltr; text-align: left; }
.checkout-total {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: var(--fs-md);
  font-weight: 700;
  color: var(--c-text);
  padding-top: var(--sp-4);
  border-top: 1.5px solid var(--c-border);
  margin-top: var(--sp-3);
}
.checkout-total span:last-child { color: var(--c-primary); }

/* Order success card */
.order-success {
  text-align: center;
  padding: clamp(48px, 10vw, 80px) var(--sp-6);
  max-width: 560px;
  margin-inline: auto;
}
.order-success__icon {
  width: 80px;
  height: 80px;
  background: rgba(18,32,25,.10);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--c-primary);
  margin: 0 auto var(--sp-5);
}
.order-success h2 { font-size: var(--fs-3xl); font-weight: 700; color: var(--c-text); margin-bottom: var(--sp-3); }
.order-success p  { font-size: var(--fs-md); color: var(--c-text-light); margin-bottom: var(--sp-4); }
.order-no-display {
  display: inline-block;
  background: var(--c-primary-muted);
  border: 1px solid rgba(18,32,25,.20);
  border-radius: var(--r-sm);
  padding: var(--sp-3) var(--sp-5);
  font-size: var(--fs-lg);
  font-weight: 700;
  color: var(--c-primary);
  direction: ltr;
  letter-spacing: .05em;
  margin-bottom: var(--sp-6);
}

/* ── ================================================================
   RESPONSIVE additions for shop/product/cart/checkout
   ================================================================ */
@media (max-width: 1024px) {
  .cart-wrap      { grid-template-columns: 1fr 280px; }
  .checkout-wrap  { grid-template-columns: 1fr 300px; }
}

@media (max-width: 768px) {
  .product-detail { grid-template-columns: 1fr; gap: var(--sp-8); }

  .cart-wrap, .checkout-wrap {
    grid-template-columns: 1fr;
  }
  .cart-summary-card,
  .checkout-summary-card { position: static; }

  .cart-table-head { display: none; }
  .cart-row {
    grid-template-columns: 68px 1fr auto;
    grid-template-rows: auto auto;
    gap: var(--sp-2) var(--sp-3);
  }
  .cart-row__price  { grid-column: 2; }
  .cart-row__weight { grid-column: 2; text-align: right; }
  .cart-row__qty   { grid-column: 2; justify-content: flex-start; }
  .cart-row__remove { grid-column: 3; grid-row: 1; }

  .checkout-form-card { padding: var(--sp-5); }

  /* CR#1127: stack the CTA band — text first, poster underneath */
  .cta-band__inner { grid-template-columns: 1fr; }
  .cta-band__text  { order: 1; }
  .cta-band__media { order: 2; }
  .cta-band__media img { max-width: 340px; }
}

@media (max-width: 480px) {
  .shop-grid { grid-template-columns: 1fr; }
  .product-gallery__thumbs { gap: var(--sp-1); }
  .product-gallery__thumb  { width: 60px; height: 60px; }
  .size-btn { padding: 7px 14px; font-size: var(--fs-xs); }
}


/* ── CR#1273: Footer-Markenzeichen ────────────────────────────────────────────
   Das Markenlogo ist GOLD und sass auf einem GOLDENEN Kasten -- unsichtbar.
   Dazu fehlte (anders als im Header) jede img-Regel, also wurde das 222x160-Logo
   per object-fit:fill in ein 34x34-Quadrat gequetscht. Kasten transparent,
   Seitenverhaeltnis erhalten, exakt mittig. */
.footer-logo__icon {
  background: transparent;
  overflow: hidden;
}
.footer-logo__icon img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}
/* Telefonnummer ist jetzt ein tel:-Link -- Optik unveraendert lassen. */
a.footer-phone { text-decoration: none; }
a.footer-phone:hover { color: #fff; }
/* ── CR: Gold-Kauf/Verkauf-Konverter im پنل کاربری (خرید و فروش طلا) ───────────
   Dunkle Konverter-Karte nach Kundenvorlage; Betrag + Währungs-Chip pro Zeile,
   Tausch-Knopf in der Mitte, goldener CTA. RTL-sicher, kein Overflow bei 390px. */
.gx { background:#0D6E63; border:1px solid rgba(255,255,255,.08); border-radius:18px;
  padding:var(--sp-6); max-width:460px; }
.gx__title { color:#fff; font-weight:700; font-size:var(--fs-lg); margin-bottom:var(--sp-5); }
.gx__row { display:flex; align-items:stretch; gap:var(--sp-2); background:#0D6E63;
  border:1px solid rgba(255,255,255,.08); border-radius:12px; padding:6px; margin-bottom:var(--sp-2); }
.gx__amt { flex:1; min-width:0; background:transparent; border:none; outline:none; color:#fff;
  font-size:var(--fs-base); font-weight:600; padding:.6rem .7rem; direction:rtl; text-align:right; }
.gx__amt::placeholder { color:rgba(255,255,255,.4); font-weight:400; }
.gx__amt--get { color:rgba(255,255,255,.75); }
.gx__cur { display:flex; align-items:center; gap:.4rem; background:#0D6E63; border-radius:9px;
  padding:.5rem .9rem; color:#fff; font-weight:700; font-size:var(--fs-sm); white-space:nowrap; flex-shrink:0; }
.gx__cur--gold .gx__cur-lbl { color:var(--c-gold); }
.gx__mid { display:flex; align-items:center; justify-content:space-between; gap:var(--sp-3); margin:var(--sp-3) 0; }
.gx__rate { color:rgba(255,255,255,.65); font-size:var(--fs-xs); line-height:1.7; }
.gx__rate bdi, .gx__rate span { color:#fff; font-weight:700; }
.gx__swap { flex-shrink:0; width:40px; height:40px; border-radius:10px;
  border:1px solid rgba(255,255,255,.15); background:#0D6E63; color:#fff; cursor:pointer;
  display:flex; align-items:center; justify-content:center; transition:background .15s; }
.gx__swap:hover { background:#0A5A51; }
.gx__bal { color:rgba(255,255,255,.6); font-size:var(--fs-xs); margin:var(--sp-4) 0 0; }
.gx__bal strong { color:#fff; }
.gx__err { color:#ffb4ab; font-size:var(--fs-sm); margin:var(--sp-3) 0 0; }
.gx__cta { display:flex; align-items:center; justify-content:center; gap:.4rem; width:100%;
  margin-top:var(--sp-5); background:var(--c-gold); color:#1a1200; border:none; border-radius:12px;
  padding:.95rem 1rem; font-family:inherit; font-weight:800; font-size:var(--fs-base);
  cursor:pointer; transition:background .15s; }
.gx__cta:hover { background:var(--c-gold-dark); }

@media (max-width:768px) {
  .gx { padding:var(--sp-5); max-width:100%; }
  .gx__cta { padding:1rem; }
}

/* ── CR: جدول قیمت زندهٔ ارزها، طلا و سکه (پنل خرید و فروش) ── */
.pt-head__top { display:flex; align-items:center; justify-content:space-between; gap:var(--sp-3); flex-wrap:wrap; margin-bottom:var(--sp-4); }
.pt-badge { display:inline-flex; align-items:center; gap:.4rem; background:var(--c-primary-muted); color:var(--c-primary);
  font-weight:700; font-size:var(--fs-sm); padding:.45rem .85rem; border-radius:999px; }
.pt-live { display:inline-flex; align-items:center; gap:.45rem; color:var(--c-text-light); font-size:var(--fs-sm); font-weight:600; }
.pt-live__dot { width:9px; height:9px; border-radius:50%; background:#2E9E5B; box-shadow:0 0 0 4px rgba(46,158,91,.16); flex-shrink:0; }
.pt-head__title { font-size:var(--fs-xl); font-weight:800; color:var(--c-text); margin-bottom:var(--sp-2); }
.pt-head__sub { font-size:var(--fs-sm); color:var(--c-primary-light); line-height:1.8; }

.pt-card__top { display:flex; align-items:flex-start; justify-content:space-between; gap:var(--sp-4); flex-wrap:wrap; margin-bottom:var(--sp-5); }
.pt-card__title { font-size:var(--fs-lg); font-weight:800; color:var(--c-text); margin-bottom:4px; }
.pt-card__sub { font-size:var(--fs-sm); color:var(--c-text-muted); }
.pt-tabs { display:flex; align-items:center; gap:.5rem; flex-wrap:wrap; }
.pt-tab { font-family:inherit; font-size:var(--fs-sm); font-weight:700; color:var(--c-text-light); cursor:pointer;
  background:var(--c-primary-muted); border:1px solid transparent; border-radius:999px; padding:.5rem 1rem; transition:background .15s,color .15s; }
.pt-tab:hover { background:rgba(18,32,25,.14); }
.pt-tab.is-active { background:var(--c-primary); color:#fff; }

.pt-search { position:relative; margin-bottom:var(--sp-5); }
.pt-search__input { width:100%; font-family:inherit; font-size:var(--fs-base); color:var(--c-text);
  background:rgba(18,32,25,.04); border:1.5px solid var(--c-border); border-radius:12px;
  padding:.8rem 1rem; outline:none; transition:border-color .15s,background .15s; }
.pt-search__input::placeholder { color:var(--c-text-muted); }
.pt-search__input:focus { border-color:var(--c-primary); background:#fff; }

.pt-table-wrap { width:100%; }
.pt-table { width:100%; border-collapse:collapse; }
.pt-table thead th { font-size:var(--fs-xs); font-weight:700; color:var(--c-text-muted); text-align:right;
  padding:0 .6rem var(--sp-3); white-space:nowrap; border-bottom:1.5px solid var(--c-border); }
.pt-table tbody td { padding:var(--sp-4) .6rem; border-bottom:1px solid rgba(18,32,25,.08);
  font-size:var(--fs-sm); color:var(--c-text); vertical-align:middle; white-space:nowrap; }
.pt-table tbody tr:last-child td { border-bottom:none; }
.pt-col-name { text-align:right; }
.pt-asset { display:inline-flex; align-items:center; gap:.65rem; }
.pt-asset__icon { display:inline-flex; align-items:center; justify-content:center; width:38px; height:38px; flex-shrink:0;
  border-radius:11px; background:var(--c-primary-muted); color:var(--c-primary); }
.pt-asset__txt { display:flex; flex-direction:column; gap:1px; min-width:0; }
.pt-asset__name { font-weight:700; color:var(--c-text); }
.pt-asset__code { font-size:var(--fs-xs); color:var(--c-text-muted); font-weight:600; letter-spacing:.5px; }
.pt-price { font-weight:700; color:var(--c-text); }
.pt-chg { display:inline-flex; align-items:center; gap:.25rem; font-weight:700; font-size:var(--fs-xs);
  padding:.3rem .6rem; border-radius:999px; }
.pt-chg--up { color:#1E8A4C; background:rgba(46,158,91,.12); }
.pt-chg--down { color:#C0392B; background:rgba(192,57,43,.10); }
.pt-trade { display:inline-flex; align-items:center; gap:.4rem; }
.pt-trade__btn { display:inline-flex; align-items:center; justify-content:center; font-family:inherit; font-weight:700; font-size:var(--fs-xs);
  border:1px solid transparent; border-radius:999px; padding:.45rem .95rem; cursor:pointer; transition:background .15s, color .15s; white-space:nowrap; }
.pt-trade__btn--buy { color:#fff; background:var(--c-primary); }
.pt-trade__btn--buy:hover { background:var(--c-primary-dark, #0E241A); }
.pt-trade__btn--sell { color:var(--c-primary); background:var(--c-primary-muted); }
.pt-trade__btn--sell:hover { background:rgba(18,32,25,.16); }
.pt-empty { text-align:center; color:var(--c-text-muted); font-size:var(--fs-sm); padding:var(--sp-5) 0 var(--sp-2); }

@media (max-width:768px) {
  .pt-card__top { flex-direction:column; gap:var(--sp-4); }
  .pt-tabs { width:100%; }
  .pt-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
  .pt-table, .pt-table tbody, .pt-table tr, .pt-table td { display:block; width:100%; }
  .pt-table tbody tr { border:1.5px solid var(--c-border); border-radius:14px; padding:var(--sp-3); margin-bottom:var(--sp-4); }
  .pt-table tbody tr[hidden] { display:none !important; }
  .pt-table tbody td { display:flex; align-items:center; justify-content:space-between; gap:var(--sp-3);
    padding:.55rem 0; border-bottom:1px solid rgba(18,32,25,.08); white-space:normal; }
  .pt-table tbody tr td:last-child { border-bottom:none; }
  .pt-table tbody td::before { content:attr(data-label); font-size:var(--fs-xs); font-weight:700; color:var(--c-text-muted); }
  .pt-col-name::before { display:none; }
  .pt-col-name { padding-top:0; }
}

/* ── CR: تب فولدری «تراکنش‌های من» / «گردش کیف پول» (صفحهٔ حساب کاربری) ── */
.actx { margin-bottom: var(--sp-5); }
.actx__tabs { display:flex; align-items:flex-end; gap:.4rem; flex-wrap:wrap;
  position:relative; z-index:2; }
.actx__tab { display:inline-flex; align-items:center; gap:.5rem; font-family:inherit;
  font-size:var(--fs-sm); font-weight:700; color:var(--c-text-light); cursor:pointer;
  background:#E9EBEE; border:1px solid transparent; border-bottom:none;
  border-radius:14px 14px 0 0; padding:.7rem 1.1rem; line-height:1;
  transition:background .15s, color .15s; }
.actx__tab:hover { background:#E1E4E8; }
.actx__tab.is-active { order:-1; background:var(--c-bg); color:var(--c-text);
  box-shadow:0 -3px 10px rgba(18,32,25,.06); position:relative; margin-bottom:-1px; }
.actx__ico { flex:0 0 auto; opacity:.85; }
.actx__count { display:inline-flex; align-items:center; justify-content:center;
  min-width:1.5rem; height:1.5rem; padding:0 .45rem; border-radius:999px;
  background:rgba(0,0,0,.08); color:var(--c-text-light); font-size:var(--fs-xs); font-weight:800; }
.actx__tab.is-active .actx__count { background:var(--c-primary); color:#fff; }
.actx__body { position:relative; z-index:1; }
.actx__pane { display:none; }
.actx__pane.is-active { display:block; }
.actx__empty { color:var(--c-text-muted); font-size:var(--fs-sm); }

/* تراکنش‌های من — کارت‌ها */
.tx-list { display:grid; gap:var(--sp-4); }
.tx-card { border:1px solid rgba(0,0,0,.08); border-radius:14px; padding:var(--sp-5); background:#fff; }
.tx-card__head { display:flex; justify-content:space-between; align-items:center; gap:var(--sp-3); flex-wrap:wrap; }
.tx-card__title { display:flex; align-items:center; gap:.5rem; font-weight:700; color:var(--c-text); }
.tx-card__dot { width:9px; height:9px; border-radius:50%; background:#E6A817; flex:0 0 auto; }
.tx-card__badge { border-radius:999px; padding:.3rem .85rem; font-size:var(--fs-xs); font-weight:700; white-space:nowrap; }
.tx-card__meta { display:flex; justify-content:space-between; align-items:center; gap:var(--sp-3);
  flex-wrap:wrap; margin-top:var(--sp-4); font-size:var(--fs-sm); color:var(--c-text-muted); }
.tx-card__meta strong { color:var(--c-text); font-weight:700; }
.tx-card__sep { color:var(--c-border); margin-inline:.35rem; }
.tx-card__date { display:inline-flex; align-items:center; gap:.4rem; white-space:nowrap; }
.tx-card__date svg { flex:0 0 auto; opacity:.75; }
.tx-card__foot { display:flex; justify-content:space-between; align-items:center; gap:var(--sp-3);
  flex-wrap:wrap; margin-top:var(--sp-4); padding-top:var(--sp-3);
  border-top:1px solid rgba(0,0,0,.06); font-size:var(--fs-sm); color:var(--c-text-muted); }
.tx-card__trk { margin-top:var(--sp-3); font-size:var(--fs-sm); color:var(--c-text-muted); }
.tx-card__trk-v { color:var(--c-text); font-weight:700; }
.tx-card__exact { color:var(--c-text); font-weight:700; }
.tx-card__result { display:inline-flex; align-items:center; gap:.4rem; font-weight:700; }
.tx-card__result svg { flex:0 0 auto; }
.tx-card__note { font-size:var(--fs-xs); color:var(--c-text-muted); }
.tx-card__adminnote { font-size:var(--fs-xs); color:var(--c-text-muted); margin-top:4px; }
/* تراکنش‌های من — کلیک روی سربرگ، جزئیات را زیر آن نمایش می‌دهد */
.tx-card__head { width:100%; font-family:inherit; color:inherit; background:none; border:none;
  padding:0; margin:0; cursor:pointer; text-align:inherit; }
.tx-card__head-side { display:inline-flex; align-items:center; gap:.6rem; flex:0 0 auto; }
.tx-card__chev { flex:0 0 auto; opacity:.55; transition:transform .2s; }
.tx-card.is-open .tx-card__chev { transform:rotate(180deg); }
.tx-card__details { display:none; }
.tx-card.is-open .tx-card__details { display:block; }
/* خلاصهٔ حالت بسته: گرم و تاریخ همیشه روی سربرگ دیده شود، هنگام باز شدن پنهان می‌شود */
.tx-card__summary { flex:1 0 100%; display:flex; justify-content:space-between; align-items:center;
  gap:var(--sp-3); flex-wrap:wrap; margin-top:var(--sp-3); font-size:var(--fs-sm); color:var(--c-text-muted); }
.tx-card__summary strong { color:var(--c-text); font-weight:700; }
.tx-card__summary-date { display:inline-flex; align-items:center; gap:.4rem; white-space:nowrap; }
.tx-card__summary-date svg { flex:0 0 auto; opacity:.75; }
.tx-card.is-open .tx-card__summary { display:none; }

/* گردش کیف پول — ردیف‌ها */
.wtrn-list { display:grid; gap:var(--sp-3); }
.wtrn { display:flex; align-items:center; justify-content:space-between; gap:var(--sp-4);
  flex-wrap:wrap; border:1px solid rgba(0,0,0,.08); border-radius:14px; padding:.85rem 1.1rem; background:#fff; }
.wtrn__main { min-width:0; }
.wtrn__title { font-size:var(--fs-sm); font-weight:700; color:var(--c-text); }
.wtrn__date { font-size:var(--fs-xs); color:var(--c-text-muted); margin-top:3px; }
.wtrn__meta { font-size:var(--fs-xs); color:var(--c-text-muted); margin-top:4px; line-height:1.6; }
.wtrn__meta strong { color:var(--c-text); font-weight:700; }
.wtrn__side { display:flex; align-items:center; gap:.7rem; flex:0 0 auto; }
.wtrn__ico { display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px;
  border-radius:50%; flex:0 0 auto; }
.wtrn__ico.is-in { background:#E8F5E9; color:#1B5E20; }
.wtrn__ico.is-out { background:#FEF3DD; color:#B45309; }
.wtrn__ico.is-trade { background:#FEF3DD; color:#B45309; }
.wtrn__amt { font-weight:800; white-space:nowrap; }
.wtrn__amt.is-in { color:#1B5E20; }
.wtrn__amt.is-out { color:#B91C1C; }

@media (max-width:768px){
  .actx__tab { flex:1 1 auto; justify-content:center; padding:.6rem .55rem; font-size:var(--fs-xs); gap:.35rem; }
  .tx-card__meta, .tx-card__foot, .tx-card__summary { flex-direction:column; align-items:flex-start; gap:.45rem; }
  .tx-card__date, .tx-card__summary-date { white-space:normal; }
  .wtrn__side { width:100%; justify-content:space-between; }
}

/* ── CR: عملیات کیف پول — افزایش موجودی / برداشت ریالی / کارت‌های بانکی متصل ── */
.wallet-head { display:flex; align-items:center; justify-content:space-between; gap:var(--sp-3);
  flex-wrap:wrap; margin-bottom:var(--sp-5); }
.wallet-head__title { font-size:var(--fs-lg); font-weight:700; margin:0; }
.wallet-head__status { display:inline-flex; align-items:center; gap:.45rem;
  background:var(--c-primary-muted); color:var(--c-primary-dark); border:1px solid rgba(18,32,25,.18);
  border-radius:999px; padding:.4rem .9rem; font-size:var(--fs-xs); font-weight:700; white-space:nowrap; }
.wallet-head__dot { width:9px; height:9px; border-radius:50%; background:#1DB954; flex:0 0 auto;
  box-shadow:0 0 0 3px rgba(29,185,84,.18); }

.wops { margin-top:var(--sp-5); }
.wops__tabs { display:flex; align-items:center; justify-content:flex-end; gap:.5rem;
  flex-wrap:wrap; margin-bottom:var(--sp-5); }
.wops__tab { display:inline-flex; align-items:center; gap:.5rem; font-family:inherit;
  font-size:var(--fs-sm); font-weight:700; color:var(--c-text-light); cursor:pointer;
  background:#E9EBEE; border:1px solid transparent; border-radius:999px; padding:.6rem 1.05rem;
  line-height:1; transition:background .15s, color .15s; }
.wops__tab svg { flex:0 0 auto; opacity:.85; }
.wops__tab:hover { background:#E1E4E8; }
.wops__tab.is-active { background:var(--c-primary); color:#fff; }
.wops__tab.is-active svg { opacity:1; }
.wops__pane { display:none; }
.wops__pane.is-active { display:block; }
.wops__grid { display:grid; grid-template-columns:1fr 1fr; gap:var(--sp-4); align-items:end; }
.wops__num { direction:ltr; text-align:right; }
.wops__select select { width:100%; min-width:0; }
.wops__hint { display:flex; align-items:flex-start; gap:.5rem; margin-top:var(--sp-4);
  color:var(--c-primary-dark); font-size:var(--fs-sm); }
.wops__hint svg { flex:0 0 auto; margin-top:2px; color:var(--c-primary); }
.wops__msg { border-radius:10px; padding:.7rem .9rem; font-size:var(--fs-sm); margin-top:var(--sp-4); }
.wops__msg--err { background:#FFEBEE; color:#B71C1C; border:1px solid #FFCDD2; }
.wops__msg--ok { background:#E8F5E9; color:#1B5E20; border:1px solid #A5D6A7; }
.wops__submit { width:100%; margin-top:var(--sp-5); white-space:nowrap; }

.wops__cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:var(--sp-4); }
.wops__addcard { display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:.6rem; min-height:168px; border:2px dashed var(--c-border); border-radius:var(--r-md);
  background:var(--c-bg); color:var(--c-text-light); font-family:inherit; font-size:var(--fs-sm);
  font-weight:700; cursor:pointer; transition:border-color .15s, color .15s, background .15s; }
.wops__addcard:hover { border-color:var(--c-primary); color:var(--c-primary); background:var(--c-primary-muted); }
.wops__addcard-ic { display:inline-flex; align-items:center; justify-content:center; width:46px; height:46px;
  border-radius:50%; background:var(--c-surface); color:var(--c-primary); }
.wops__bankcard { min-height:168px; border-radius:var(--r-md); padding:var(--sp-5);
  background:linear-gradient(135deg,#0D6E63,#0D6E63); color:#fff; display:flex; flex-direction:column;
  justify-content:space-between; gap:var(--sp-4); }
.wops__bankcard-head { display:flex; align-items:center; justify-content:space-between; gap:var(--sp-3); }
.wops__bankcard-bank { font-weight:700; font-size:var(--fs-base); }
.wops__bankcard-chip { opacity:.9; color:#C5A059; }
.wops__bankcard-num { font-size:1.1rem; font-weight:700; letter-spacing:.04em; word-break:break-word; }
.wops__bankcard-foot { display:flex; align-items:center; justify-content:space-between; gap:var(--sp-3); flex-wrap:wrap; }
.wops__bankcard-owner { font-size:var(--fs-xs); opacity:.85; }
.wops__bankcard-badge { display:inline-flex; align-items:center; gap:.3rem; background:rgba(29,185,84,.2);
  color:#4ade80; border-radius:999px; padding:.25rem .7rem; font-size:var(--fs-xs); font-weight:700; white-space:nowrap; }
.wops__cardform { margin-top:var(--sp-5); border-top:1px solid var(--c-border); padding-top:var(--sp-5); }
.wops__cardform-actions { display:flex; gap:var(--sp-3); margin-top:var(--sp-4); flex-wrap:wrap; }

@media (max-width:768px){
  .wops__tabs { justify-content:stretch; }
  .wops__tab { flex:1 1 auto; justify-content:center; padding:.6rem .5rem; font-size:var(--fs-xs); gap:.35rem; }
  .wops__grid { grid-template-columns:1fr; }
  .wops__cards { grid-template-columns:1fr; }
  .wops__cardform-actions .btn { flex:1 1 auto; }
}

/* ── CR: کارت به کارت / شتاب — انتخاب حساب مقصد، ثبت فیش واریزی و تاریخچه ── */
.c2c__title { font-weight:700; font-size:var(--fs-base); color:var(--c-text); margin-bottom:var(--sp-4); }
.c2c__title--mt { margin-top:var(--sp-6); }
.c2c__banks { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:var(--sp-3); margin-bottom:var(--sp-5); }
.c2c__bank { position:relative; display:flex; flex-direction:column; align-items:center; gap:.5rem;
  border:1.5px solid var(--c-border); border-radius:var(--r-md); background:var(--c-bg); cursor:pointer;
  padding:var(--sp-4) var(--sp-3); font-family:inherit; font-size:var(--fs-sm); font-weight:700; color:var(--c-text);
  transition:border-color .15s, background .15s, box-shadow .15s; }
.c2c__bank:hover { border-color:var(--c-primary); }
.c2c__bank.is-active { border-color:var(--c-primary); background:var(--c-primary-muted); box-shadow:0 0 0 1px var(--c-primary) inset; }
.c2c__bank-ic { color:var(--c-primary); }
.c2c__bank-tick { position:absolute; inset-inline-start:.5rem; top:.5rem; display:none;
  align-items:center; justify-content:center; width:20px; height:20px; border-radius:50%;
  background:var(--c-primary); color:#fff; }
.c2c__bank.is-active .c2c__bank-tick { display:inline-flex; }
.c2c__dest { display:none; border-radius:var(--r-md); padding:var(--sp-5);
  background:linear-gradient(135deg,#0f5132,#1a7a4a); color:#fff; margin-bottom:var(--sp-5); }
.c2c__dest.is-active { display:block; }
.c2c__dest-head { display:flex; align-items:center; justify-content:space-between; gap:var(--sp-3); flex-wrap:wrap; margin-bottom:var(--sp-3); }
.c2c__dest-badge { display:inline-flex; align-items:center; gap:.3rem; background:rgba(255,255,255,.18);
  border-radius:999px; padding:.25rem .7rem; font-size:var(--fs-xs); font-weight:700; }
.c2c__dest-bank { font-weight:700; font-size:var(--fs-base); }
.c2c__dest-owner { font-size:var(--fs-sm); font-weight:700; margin-bottom:var(--sp-4); opacity:.95; }
.c2c__dest-row { display:flex; align-items:center; gap:var(--sp-3); flex-wrap:wrap;
  padding:.55rem 0; border-top:1px solid rgba(255,255,255,.14); }
.c2c__dest-lbl { font-size:var(--fs-xs); opacity:.85; flex:0 0 auto; min-width:70px; }
.c2c__dest-val { font-weight:700; letter-spacing:.03em; word-break:break-word; flex:1 1 auto; }
.c2c__copy { display:inline-flex; align-items:center; gap:.3rem; flex:0 0 auto; cursor:pointer;
  font-family:inherit; font-size:var(--fs-xs); font-weight:700; color:#fff;
  background:rgba(255,255,255,.16); border:1px solid rgba(255,255,255,.28); border-radius:999px; padding:.3rem .7rem;
  transition:background .15s; }
.c2c__copy:hover { background:rgba(255,255,255,.28); }
.c2c__dest-foot { font-size:var(--fs-xs); opacity:.8; margin-top:var(--sp-3); }
.c2c__chips-field { display:flex; flex-direction:column; margin-top:var(--sp-4); margin-bottom:var(--sp-4); }
.c2c__chips { display:flex; flex-wrap:wrap; gap:.5rem; }
.c2c__chip { cursor:pointer; font-family:inherit; font-size:var(--fs-xs); font-weight:700; color:var(--c-primary-dark);
  background:var(--c-primary-muted); border:1px solid var(--c-border); border-radius:999px; padding:.45rem .9rem;
  white-space:nowrap; transition:background .15s, border-color .15s; }
.c2c__chip:hover { border-color:var(--c-primary); background:#fff; }
.c2c__upload { display:flex; flex-direction:column; align-items:center; gap:.4rem; cursor:pointer; text-align:center;
  border:1.5px dashed var(--c-border); border-radius:var(--r-md); background:var(--c-surface); padding:var(--sp-6) var(--sp-4);
  transition:border-color .15s; }
.c2c__upload:hover { border-color:var(--c-primary); }
.c2c__upload-ic { display:inline-flex; align-items:center; justify-content:center; width:46px; height:46px;
  border-radius:14px; background:var(--c-bg); border:1.5px solid var(--c-border); color:var(--c-primary); }
.c2c__upload-txt { font-weight:700; color:var(--c-text); font-size:var(--fs-sm); }
.c2c__upload-hint { font-size:var(--fs-xs); color:var(--c-text-muted); }
.c2c__upload-file { font-size:var(--fs-xs); color:var(--c-primary); font-weight:700; word-break:break-all; }
.c2c__upload-input { display:none; }
.c2c__note { display:flex; align-items:flex-start; gap:.5rem; margin-top:var(--sp-5);
  background:#FFF8E1; color:#8D6E00; border:1px solid #FFE082; border-radius:10px; padding:.8rem .95rem;
  font-size:var(--fs-sm); line-height:1.8; }
.c2c__note svg { flex:0 0 auto; margin-top:2px; color:#C79100; }
.c2c__note strong { color:#7A5E00; }
.c2c__hist-wrap { margin-top:var(--sp-4); }
.c2c__hist { width:100%; border-collapse:collapse; font-size:var(--fs-sm); }
.c2c__hist th, .c2c__hist td { padding:.65rem .6rem; text-align:right; border-bottom:1px solid var(--c-border); }
.c2c__hist thead th { font-size:var(--fs-xs); color:var(--c-text-muted); font-weight:700; background:var(--c-surface); }
.c2c__status { display:inline-flex; align-items:center; gap:.3rem; border-radius:999px; padding:.2rem .6rem; font-size:var(--fs-xs); font-weight:700; white-space:nowrap; }
.c2c__status--pending { background:#FFF3E0; color:#E65100; }
.c2c__hist-empty { color:var(--c-text-muted); font-size:var(--fs-sm); text-align:center; padding:var(--sp-5) 0; }

@media (max-width:768px){
  .c2c__banks { grid-template-columns:1fr 1fr; }
  .c2c__hist thead { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
  .c2c__hist, .c2c__hist tbody, .c2c__hist tr, .c2c__hist td { display:block; width:100%; }
  .c2c__hist tr { border:1px solid var(--c-border); border-radius:var(--r-sm); margin-bottom:var(--sp-3); padding:.3rem .2rem; }
  .c2c__hist td { border-bottom:1px dashed var(--c-border); display:flex; justify-content:space-between; gap:var(--sp-3); text-align:left; }
  .c2c__hist td:last-child { border-bottom:0; }
  .c2c__hist td::before { content:attr(data-label); font-weight:700; color:var(--c-text-muted); text-align:right; }
}

/* ── CR: نمای کلی داشبورد کاربر — کارت‌های وضعیت، دسترسی سریع و آخرین تراکنش‌ها ── */
.dash-grid2 { display:grid; grid-template-columns:1fr 1fr; gap:var(--sp-5); margin-bottom:var(--sp-5); }
.dash-stat { display:flex; align-items:center; justify-content:space-between; gap:var(--sp-4); margin-bottom:0; }
.dash-stat__body { min-width:0; }
.dash-stat__label { font-size:var(--fs-sm); font-weight:700; color:var(--c-primary); margin-bottom:6px; }
.dash-stat__value { font-size:var(--fs-lg); font-weight:800; color:var(--c-text); display:flex; align-items:center;
  gap:.4rem; line-height:1.4; }
.dash-stat__value svg { flex:0 0 auto; }
.dash-stat__value--ok { color:#1B5E20; }
.dash-stat__value--bad { color:#B91C1C; }
.dash-stat__value--wait { color:#8D6E00; }
.dash-stat__value--gold { color:var(--c-gold-dark); }
.dash-stat__sub { font-size:var(--fs-xs); color:var(--c-text-muted); margin-top:5px; }
.dash-stat__icon { display:inline-flex; align-items:center; justify-content:center; width:52px; height:52px;
  border-radius:14px; flex:0 0 auto; }
.dash-stat__icon--id { background:var(--c-primary-muted); color:var(--c-primary); }
.dash-stat__icon--gold { background:rgba(197,160,89,.14); color:var(--c-gold-dark); }

.dash-head { display:flex; align-items:center; gap:var(--sp-3); margin-bottom:var(--sp-5); }
.dash-head--between { justify-content:space-between; }
.dash-head__l { display:flex; align-items:center; gap:var(--sp-3); min-width:0; }
.dash-head__ic { display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px;
  border-radius:10px; background:var(--c-primary-muted); color:var(--c-primary); flex:0 0 auto; }
.dash-head__title { font-size:var(--fs-lg); font-weight:700; }
.dash-seeall { border:0; background:transparent; color:var(--c-primary); font-family:inherit; font-size:var(--fs-sm);
  font-weight:700; cursor:pointer; padding:.3rem .5rem; border-radius:var(--r-sm); white-space:nowrap; }
.dash-seeall:hover { background:var(--c-primary-muted); }

.dash-quick { display:grid; grid-template-columns:repeat(4,1fr); gap:var(--sp-4); }
.dash-quick__btn { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:var(--sp-3);
  text-align:center; padding:var(--sp-5) var(--sp-3); border:1.5px solid var(--c-border); border-radius:var(--r-md);
  background:var(--c-surface); color:var(--c-text); font-family:inherit; font-size:var(--fs-sm); font-weight:700;
  cursor:pointer; transition:border-color .15s, background .15s, transform .15s; }
.dash-quick__btn:hover { border-color:var(--c-primary); background:var(--c-primary-muted); transform:translateY(-2px); }
.dash-quick__btn--accent { background:#FFF8E8; border-color:rgba(197,160,89,.45); }
.dash-quick__btn--accent:hover { border-color:var(--c-gold-dark); background:#FCEFD0; }
.dash-quick__ic { display:inline-flex; align-items:center; justify-content:center; width:46px; height:46px;
  border-radius:50%; background:#fff; color:var(--c-primary); box-shadow:var(--shadow-xs); }
.dash-quick__btn--accent .dash-quick__ic { color:var(--c-gold-dark); }
.dash-quick__lbl { line-height:1.5; }

.dash-tx { display:grid; gap:var(--sp-3); }
.dash-tx__item { display:flex; align-items:center; gap:var(--sp-4); border:1px solid rgba(0,0,0,.08);
  border-radius:14px; padding:.85rem 1.1rem; background:#fff; }
.dash-tx__info { flex:1 1 auto; min-width:0; }
.dash-tx__title { font-size:var(--fs-sm); font-weight:700; color:var(--c-primary); overflow-wrap:anywhere; }
.dash-tx__meta { font-size:var(--fs-xs); color:var(--c-text-muted); margin-top:3px; }
.dash-tx__end { display:flex; flex-direction:column; align-items:flex-end; gap:5px; flex:0 0 auto; }
.dash-tx__amt { font-weight:800; white-space:nowrap; font-size:var(--fs-sm); }
.dash-tx__amt.is-in { color:#1B5E20; }
.dash-tx__amt.is-out { color:#B91C1C; }
.dash-tx__badge { background:#E8F5E9; color:#1B5E20; border-radius:999px; padding:.15rem .6rem;
  font-size:var(--fs-xs); font-weight:700; white-space:nowrap; }
.dash-tx__ico { display:inline-flex; align-items:center; justify-content:center; width:42px; height:42px;
  border-radius:50%; flex:0 0 auto; }
.dash-tx__ico.is-in { background:#E8F5E9; color:#1B5E20; }
.dash-tx__ico.is-out { background:#FEF3DD; color:#B45309; }

@media (max-width:768px){
  .dash-grid2 { grid-template-columns:1fr; gap:var(--sp-4); }
  .dash-quick { grid-template-columns:1fr 1fr; gap:var(--sp-3); }
  .dash-quick__btn { padding:var(--sp-4) var(--sp-2); }
  .dash-tx__item { flex-wrap:wrap; }
  .dash-tx__ico { display:none; }
  .dash-tx__end { flex-direction:row; align-items:center; gap:.6rem; margin-inline-start:auto; }
}

/* ── CR: احراز هویت — کارت وضعیت حساب + ارزیابی هویتی چندمرحله‌ای ── */
.kyc-pane[hidden] { display:none !important; }

/* کارت وضعیت حساب */
.kyc-status { position:relative; overflow:hidden; }
.kyc-status::before {
  content:''; position:absolute; inset-block:0; inset-inline-start:0; width:5px;
  background:var(--c-primary);
}
.kyc-status__top {
  display:flex; justify-content:space-between; align-items:flex-start;
  gap:var(--sp-5); flex-wrap:wrap;
}
.kyc-status__head { display:flex; gap:var(--sp-3); align-items:flex-start; min-width:0; }
.kyc-status__shield {
  flex:0 0 auto; display:inline-flex; align-items:center; justify-content:center;
  width:48px; height:48px; border-radius:var(--r-sm);
  background:var(--c-primary-muted); color:var(--c-primary);
}
.kyc-status__title {
  display:flex; align-items:center; gap:var(--sp-2); flex-wrap:wrap;
  font-weight:700; margin-bottom:4px;
}
.kyc-status__title strong { color:var(--c-gold-dark); font-weight:800; }
.kyc-status__badge {
  background:var(--c-surface-2); color:var(--c-text-light);
  border-radius:999px; padding:.15rem .7rem; font-size:var(--fs-xs); font-weight:700;
  white-space:nowrap;
}
.kyc-status__badge.is-ok { background:#E8F5E9; color:#1B5E20; }
.kyc-status__sub { font-size:var(--fs-sm); color:var(--c-text-light); line-height:1.7; }
.kyc-status__limits { display:flex; gap:var(--sp-3); flex-wrap:wrap; }
.kyc-limit {
  border:1.5px solid var(--c-border); border-radius:var(--r-sm);
  background:var(--c-surface); padding:.5rem .8rem; min-width:140px;
  display:flex; flex-direction:column; gap:3px;
}
.kyc-limit__label { font-size:var(--fs-xs); color:var(--c-text-muted); }
.kyc-limit__val { font-size:var(--fs-sm); font-weight:700; color:var(--c-text); }
.kyc-limit--l2 { border-color:var(--c-primary); background:var(--c-primary-muted); }
.kyc-limit--l2 .kyc-limit__val { color:var(--c-primary-dark); }
.kyc-status__levels { display:flex; gap:var(--sp-3); flex-wrap:wrap; margin-top:var(--sp-4); }
.kyc-level {
  flex:1 1 280px; display:flex; align-items:center; gap:var(--sp-2);
  border:1.5px solid var(--c-border); border-radius:var(--r-sm);
  background:var(--c-surface); padding:.55rem .8rem;
  font-size:var(--fs-sm); color:var(--c-text-light);
}
.kyc-level svg { flex:0 0 auto; color:var(--c-text-muted); }
.kyc-level.is-done { background:var(--c-primary-muted); border-color:var(--c-border); color:var(--c-text); }
.kyc-level.is-done svg { color:var(--c-primary); }

/* کارت ارزیابی هویتی (ویزارد) */
.kyc-wizard__head {
  display:flex; justify-content:space-between; align-items:center;
  gap:var(--sp-3); flex-wrap:wrap;
}
.kyc-wizard__title {
  display:flex; align-items:center; gap:var(--sp-2);
  font-size:var(--fs-lg); font-weight:700; color:var(--c-text);
}
.kyc-wizard__title svg { color:var(--c-primary); flex:0 0 auto; }
.kyc-wizard__badge {
  background:var(--c-surface-2); color:var(--c-text-light);
  border-radius:999px; padding:.25rem .8rem; font-size:var(--fs-sm); font-weight:700;
  white-space:nowrap;
}
.kyc-wizard__hint { font-size:var(--fs-sm); color:var(--c-text-muted); margin-top:4px; }

/* نشانگر مرحله‌ها */
.kyc-stepper {
  list-style:none; padding:0; margin:var(--sp-6) 0;
  display:flex;
}
.kyc-step-ind {
  flex:1 1 0; position:relative; min-width:0;
  display:flex; flex-direction:column; align-items:center; text-align:center; gap:6px;
}
.kyc-step-ind:not(:first-child)::before {
  content:''; position:absolute; top:21px; height:3px; z-index:0;
  inset-inline-end:50%; width:100%; background:var(--c-border);
}
.kyc-step-ind.is-active::before,
.kyc-step-ind.is-done::before { background:var(--c-primary); }
.kyc-step-ind__icon {
  position:relative; z-index:1;
  display:inline-flex; align-items:center; justify-content:center;
  width:44px; height:44px; border-radius:14px;
  background:var(--c-surface-2); color:var(--c-text-muted);
  transition:background .2s, color .2s;
}
.kyc-step-ind.is-active .kyc-step-ind__icon,
.kyc-step-ind.is-done .kyc-step-ind__icon { background:var(--c-primary); color:#fff; }
.kyc-step-ind__check { display:none; }
.kyc-step-ind.is-done .kyc-step-ind__glyph { display:none; }
.kyc-step-ind.is-done .kyc-step-ind__check { display:inline-flex; }
.kyc-step-ind__label { font-size:var(--fs-sm); font-weight:700; color:var(--c-text-muted); }
.kyc-step-ind.is-active .kyc-step-ind__label { color:var(--c-primary); }
.kyc-step-ind.is-done .kyc-step-ind__label { color:var(--c-text); }
.kyc-step-ind__num { font-size:var(--fs-xs); color:var(--c-text-muted); }

/* فرم چندمرحله‌ای */
.kyc-grid { display:grid; grid-template-columns:1fr 1fr; gap:var(--sp-4); }
.kyc-grid__full { grid-column:1 / -1; }
.kyc-note {
  display:flex; gap:var(--sp-2); align-items:flex-start;
  background:#FFF8E1; border:1px solid #FFE3A3; color:#8D6E00;
  border-radius:var(--r-sm); padding:.75rem .9rem;
  font-size:var(--fs-sm); line-height:1.7; margin-bottom:var(--sp-4);
}
.kyc-note svg { flex:0 0 auto; margin-top:2px; }
.kyc-note--info {
  background:var(--c-primary-muted); border-color:var(--c-border);
  color:var(--c-primary-dark); margin-top:var(--sp-4); margin-bottom:0;
}
.kyc-note--info svg { color:var(--c-primary); }

/* بارگذاری مدارک */
.kyc-uploads { display:grid; grid-template-columns:1fr 1fr; gap:var(--sp-4); }
.kyc-upload {
  border:1.5px dashed var(--c-border); border-radius:var(--r-md);
  background:var(--c-surface); padding:var(--sp-6) var(--sp-4);
  text-align:center; display:flex; flex-direction:column; align-items:center; gap:var(--sp-2);
}
.kyc-upload.is-error { border-color:#E53935; }
.kyc-upload__icon {
  display:inline-flex; align-items:center; justify-content:center;
  width:46px; height:46px; border-radius:14px;
  background:var(--c-bg); border:1.5px solid var(--c-border); color:var(--c-primary);
}
.kyc-upload__title { font-weight:700; color:var(--c-text); }
.kyc-upload__hint { font-size:var(--fs-xs); color:var(--c-text-muted); }
.kyc-upload__btn {
  display:inline-block; cursor:pointer; margin-top:var(--sp-2);
  border:1.5px solid var(--c-border); border-radius:var(--r-sm);
  padding:.45rem 1rem; font-size:var(--fs-sm); font-weight:700;
  color:var(--c-primary); background:var(--c-bg);
}
.kyc-upload__btn:hover { border-color:var(--c-primary); }
.kyc-upload__input { display:none; }
.kyc-upload__file { font-size:var(--fs-xs); color:var(--c-primary); word-break:break-all; }
.kyc-upload__file.is-error { color:#E53935; }

/* گروه‌بندی آدرس در مرحلهٔ ۱ */
.kyc-addr {
  margin-top:var(--sp-5);
  border:1px solid var(--c-border); border-radius:var(--r-md);
  background:var(--c-surface); padding:var(--sp-5);
}
.kyc-addr__title {
  display:flex; align-items:center; gap:var(--sp-2);
  font-weight:700; color:var(--c-primary);
  font-size:var(--fs-md); margin-bottom:var(--sp-4);
}

/* راهنمای سلفی (مرحلهٔ ۲) */
.kyc-guide {
  background:#E8F5E9; border:1px solid #A5D6A7; border-radius:var(--r-sm);
  padding:.75rem .9rem; margin-bottom:var(--sp-4);
  color:#1B5E20; font-size:var(--fs-sm); line-height:1.9;
}
.kyc-guide__title { display:flex; align-items:center; gap:var(--sp-2); font-weight:700; margin-bottom:.4rem; }
.kyc-guide__tips { list-style:none; padding:0; margin:0; display:flex; gap:var(--sp-4); flex-wrap:wrap; }
.kyc-guide__tips li { display:flex; align-items:center; gap:.35rem; }

/* کادر آپلود سلفی */
.kyc-selfie-drop {
  border:1.5px dashed var(--c-border); border-radius:var(--r-md);
  background:var(--c-surface); padding:var(--sp-6) var(--sp-4);
  text-align:center; display:flex; flex-direction:column; align-items:center; gap:var(--sp-3);
}
.kyc-selfie-drop.is-error { border-color:#E53935; }
.kyc-selfie-drop [hidden] { display:none !important; }
.kyc-selfie-ic {
  display:inline-flex; align-items:center; justify-content:center;
  width:56px; height:56px; border-radius:16px;
  background:#E8F5E9; border:1.5px solid #A5D6A7; color:var(--c-primary);
}
.kyc-selfie-title { font-weight:800; color:var(--c-text); font-size:var(--fs-md); }
.kyc-selfie-sub { font-size:var(--fs-sm); color:var(--c-text-muted); line-height:1.9; max-width:46ch; }
.kyc-selfie-actions { display:flex; gap:var(--sp-3); flex-wrap:wrap; justify-content:center; }
.kyc-selfie-video, .kyc-selfie-preview {
  max-width:100%; width:340px; border-radius:var(--r-sm);
  border:1px solid var(--c-border); background:#000;
}
.kyc-selfie-video { transform:scaleX(-1); }
.kyc-selfie-file { font-size:var(--fs-sm); color:var(--c-primary); word-break:break-all; }
.kyc-selfie-picked { display:flex; flex-direction:column; align-items:center; gap:var(--sp-2); }
.kyc-selfie-err { font-size:var(--fs-sm); color:#B71C1C; }

/* مرحلهٔ ۲ طبق طرح مشتری: راهنمای روشن، کادر نقطه‌چین روشن، دکمه‌های قرصی */
.kyc-pane[data-pane="2"] .kyc-guide { background:#f1fdf8; border:1px solid #d7f5e5; color:#195c4b; }
.kyc-pane[data-pane="2"] .kyc-guide__tips li { color:#64748b; }
.kyc-pane[data-pane="2"] .kyc-guide__tips svg { color:#047857; }
.kyc-selfie-drop { background:#fbfcfd; border-color:#dbe2ea; }
.kyc-selfie-ic { background:#d1fae5; border-color:#d1fae5; color:#047857; }
.kyc-selfie-title { color:#1e293b; }
.kyc-selfie-sub { color:#808da0; }
.kyc-pane[data-pane="2"] .kyc-selfie-actions .btn--primary { background:#047857; border-color:#047857; border-radius:999px; }
.kyc-pane[data-pane="2"] .kyc-selfie-actions .btn--primary:hover { background:#065f46; border-color:#065f46; }
.kyc-pane[data-pane="2"] .kyc-selfie-actions label.btn--outline { background:#fff; border-color:#e2e8f0; color:#1e293b; border-radius:999px; }
.kyc-pane[data-pane="2"] .kyc-selfie-actions label.btn--outline svg { color:#047857; }

/* خلاصه و تأیید */
.kyc-review {
  border:1.5px solid var(--c-border); border-radius:var(--r-md);
  background:var(--c-surface); padding:var(--sp-5);
}
.kyc-review__title { font-weight:700; color:var(--c-text); margin-bottom:var(--sp-4); }
.kyc-review__grid { display:grid; grid-template-columns:1fr 1fr; gap:var(--sp-3) var(--sp-6); }
.kyc-review__row {
  display:flex; gap:var(--sp-2); align-items:baseline;
  font-size:var(--fs-sm); border-bottom:1px dashed var(--c-border); padding-bottom:var(--sp-2);
}
.kyc-review__row span { color:var(--c-text-muted); flex:0 0 auto; }
.kyc-review__row strong { color:var(--c-primary-dark); font-weight:700; }
.kyc-review__row--full { grid-column:1 / -1; }
.kyc-confirm {
  display:flex; gap:var(--sp-2); align-items:flex-start; cursor:pointer;
  margin-top:var(--sp-4); padding:.8rem .9rem;
  background:var(--c-surface); border:1px solid var(--c-border); border-radius:var(--r-sm);
  font-size:var(--fs-sm); line-height:1.7;
}
.kyc-confirm input {
  flex:0 0 auto; width:18px; height:18px; margin-top:3px; accent-color:var(--c-primary);
}

/* ناوبری مرحله‌ها */
.kyc-nav {
  display:flex; align-items:center; gap:var(--sp-3);
  margin-top:var(--sp-6); flex-wrap:wrap;
}
.kyc-nav__back { order:0; }
.kyc-nav__next,
.kyc-nav__submit { order:1; margin-inline-start:auto; }
.kyc-nav .btn[hidden] { display:none !important; }

@media (max-width:768px){
  .kyc-status__top { flex-direction:column; gap:var(--sp-4); }
  .kyc-status__limits { width:100%; }
  .kyc-limit { flex:1 1 140px; }
  .kyc-level { flex:1 1 100%; }
  .kyc-grid { grid-template-columns:1fr; }
  .kyc-addr { padding:var(--sp-4); }
  .kyc-guide__tips { flex-direction:column; gap:var(--sp-2); align-items:flex-start; }
  .kyc-selfie-actions { width:100%; }
  .kyc-selfie-actions .btn { flex:1 1 auto; justify-content:center; }
  .kyc-uploads { grid-template-columns:1fr; }
  .kyc-review__grid { grid-template-columns:1fr; }
  .kyc-step-ind__label { font-size:var(--fs-xs); }
  .kyc-step-ind__num { display:none; }
  .kyc-nav { gap:var(--sp-2); }
  .kyc-nav .btn { flex:1 1 auto; }
}

/* ── CR: مرحلهٔ ۳ انتقال — تکمیل مطابق طرح مشتری (کپی کد/متن + فاکتور PDF) ── */
.wt-done__status { border-radius: 10px; }

/* کد پیگیری به‌صورت پیل افقی همراه دکمهٔ کپی */
.wt-rcpt__trk {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-2);
  padding: .45rem .7rem;
  border: 1px solid var(--c-border);
  border-radius: 10px;
  background: var(--c-surface, #F8F7F4);
  text-align: start;
}
.wt-rcpt__trk-k { display: inline; margin: 0; }

/* دکمه‌های کپی (کد پیگیری و سلول‌های حساب) */
.wt-rcpt__copy {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border: 1px solid var(--c-border);
  border-radius: 8px;
  background: #fff;
  color: var(--c-primary);
  cursor: pointer;
  flex: 0 0 auto;
  transition: background .15s, border-color .15s;
}
.wt-rcpt__copy:hover { background: var(--c-primary-muted); border-color: var(--c-primary); }
.wt-rcpt__cell--copy { position: relative; padding-inline-end: 44px; }
.wt-rcpt__copy--cell { position: absolute; inset-inline-end: var(--sp-3); top: var(--sp-3); }

/* دکمهٔ «کپی متن خلاصه رسید» */
.wt-rcpt__sharerow {
  display: flex;
  align-items: stretch;
  gap: 8px;
  margin-top: var(--sp-4);
}
.wt-rcpt__copytext {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  flex: 1 1 auto;
  padding: .7rem 1rem;
  border: 1px dashed var(--c-primary);
  border-radius: 12px;
  background: var(--c-primary-muted);
  color: var(--c-primary-dark, #0D6E63);
  font-family: inherit;
  font-size: var(--fs-sm);
  font-weight: 700;
  cursor: pointer;
  transition: background .15s;
}
.wt-rcpt__copytext:hover { background: rgba(18,32,25,.14); }
.wt-rcpt__copytext svg { flex: 0 0 auto; }
.wt-rcpt__sharebtn {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 46px;
  padding: .7rem;
  border: 1px dashed var(--c-primary);
  border-radius: 12px;
  background: var(--c-primary-muted);
  color: var(--c-primary-dark, #0D6E63);
  cursor: pointer;
  transition: background .15s;
}
.wt-rcpt__sharebtn:hover { background: rgba(18,32,25,.14); }
.wt-rcpt__sharebtn svg { flex: 0 0 auto; }

/* ── CR: نمای فاکتور رسمی (Invoice PDF) — مودال مطابق طرح مشتری ── */
.wt-pdf[hidden] { display: none !important; }
.wt-pdf {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--sp-4);
}
.wt-pdf__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(16,24,33,.68);
}
.wt-pdf__dialog {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 720px;
  max-height: 92vh;
  border-radius: 16px;
  background: #fff;
  overflow: hidden;
  box-shadow: 0 24px 60px rgba(0,0,0,.35);
}
.wt-pdf__bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-3);
  padding: var(--sp-4) var(--sp-5);
  background: #15202B;
  color: #fff;
}
.wt-pdf__bar-title { display: inline-flex; align-items: center; gap: 8px; font-size: var(--fs-sm); font-weight: 700; }
.wt-pdf__bar-actions { display: inline-flex; align-items: center; gap: var(--sp-2); }
.wt-pdf__print {
  display: inline-flex; align-items: center; gap: 6px;
  padding: .45rem .8rem;
  border: 0; border-radius: 9px;
  background: var(--c-primary); color: #fff;
  font-family: inherit; font-size: var(--fs-xs); font-weight: 700;
  cursor: pointer;
}
.wt-pdf__print:hover { background: var(--c-primary-light); }
.wt-pdf__x {
  display: inline-flex; align-items: center; justify-content: center;
  width: 34px; height: 34px;
  border: 0; border-radius: 9px;
  background: rgba(255,255,255,.1); color: #fff;
  cursor: pointer;
}
.wt-pdf__x:hover { background: rgba(255,255,255,.2); }
.wt-pdf__scroll { overflow-y: auto; padding: var(--sp-6); background: #F4F6F8; }
.wt-pdf__foot {
  display: flex; align-items: center; justify-content: space-between; gap: var(--sp-3);
  padding: var(--sp-4) var(--sp-5);
  background: #F7F3E8;
  border-top: 1px solid var(--c-border);
}
.wt-pdf__foot-note { margin: 0; font-size: var(--fs-xs); color: var(--c-text-light); }
.wt-pdf__foot .btn { flex: 0 0 auto; }

/* سند فاکتور */
.wt-inv {
  background: #fff;
  border-radius: 12px;
  padding: var(--sp-6);
  color: var(--c-text);
  box-shadow: 0 2px 10px rgba(0,0,0,.05);
}
.wt-inv__top {
  display: flex; justify-content: space-between; gap: var(--sp-4);
  flex-wrap: wrap;
  padding-bottom: var(--sp-5);
  border-bottom: 2px solid #15202B;
}
.wt-inv__brand { display: flex; align-items: flex-start; gap: var(--sp-3); }
.wt-inv__logo {
  display: inline-flex; align-items: center; justify-content: center;
  width: 42px; height: 42px; flex: 0 0 auto;
  border-radius: 10px;
  background: #E8912D; color: #fff;
  font-weight: 800; font-size: var(--fs-lg);
}
.wt-inv__brand-txt { display: flex; flex-direction: column; gap: 2px; }
.wt-inv__brand-txt strong { font-size: var(--fs-base); font-weight: 800; }
.wt-inv__brand-txt span { font-size: var(--fs-xs); color: var(--c-text-muted); }
.wt-inv__brand-en { letter-spacing: .3px; }
.wt-inv__meta { display: flex; flex-direction: column; gap: 3px; font-size: var(--fs-xs); color: var(--c-text-light); text-align: start; }
.wt-inv__meta i { color: var(--c-text-muted); font-style: normal; }
.wt-inv__vbadge {
  margin-top: 4px;
  align-self: flex-start;
  padding: .2rem .6rem;
  border-radius: 7px;
  background: #E8F5E9; color: #1B5E20;
  font-weight: 700;
}
.wt-inv__vbadge i { color: #1B5E20; }
.wt-inv__parties {
  display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-3);
  margin: var(--sp-5) 0;
}
.wt-inv__party {
  border: 1px solid var(--c-border);
  border-radius: 10px;
  padding: var(--sp-4);
  background: #FAFBFC;
}
.wt-inv__party-h { margin: 0 0 var(--sp-2); font-size: var(--fs-sm); font-weight: 800; color: var(--c-primary-dark, #0D6E63); }
.wt-inv__party p { margin: 4px 0; font-size: var(--fs-xs); }
.wt-inv__party p span { color: var(--c-text-muted); }
.wt-inv__table { width: 100%; border-collapse: collapse; margin: var(--sp-4) 0; font-size: var(--fs-xs); }
.wt-inv__table thead th {
  background: #15202B; color: #fff;
  padding: .6rem .5rem; font-weight: 700; text-align: center;
}
.wt-inv__table thead th:first-child { border-start-start-radius: 8px; }
.wt-inv__table thead th:last-child { border-start-end-radius: 8px; }
.wt-inv__table tbody td {
  padding: .7rem .5rem; text-align: center;
  border-bottom: 1px solid var(--c-border);
}
.wt-inv__table tbody td:nth-child(2) { text-align: start; }
.wt-inv__sum {
  margin: var(--sp-4) 0 var(--sp-4) auto;
  max-width: 320px;
  background: #15202B; color: #fff;
  border-radius: 10px;
  padding: var(--sp-4);
}
.wt-inv__sum-row { display: flex; justify-content: space-between; gap: var(--sp-3); font-size: var(--fs-xs); padding: 3px 0; }
.wt-inv__sum-row span { color: rgba(255,255,255,.7); }
.wt-inv__sum-row--total {
  margin-top: 6px; padding-top: 8px;
  border-top: 1px solid rgba(255,255,255,.2);
  font-size: var(--fs-sm);
}
.wt-inv__sum-row--total strong { color: var(--c-gold-light); }
.wt-inv__verify {
  display: flex; align-items: center; justify-content: space-between; gap: var(--sp-4);
  flex-wrap: wrap;
  margin-top: var(--sp-5);
  padding-top: var(--sp-5);
  border-top: 1px dashed var(--c-border);
}
.wt-inv__vtext { flex: 1 1 200px; }
.wt-inv__vhead { display: inline-flex; align-items: center; gap: 6px; margin: 0 0 4px; font-size: var(--fs-sm); font-weight: 700; color: var(--c-primary); }
.wt-inv__vnote { margin: 0; font-size: 10px; line-height: 1.7; color: var(--c-text-muted); max-width: 320px; }
.wt-inv__qr { display: flex; flex-direction: column; align-items: center; gap: 4px; flex: 0 0 auto; }
.wt-inv__qr span { font-size: 9px; color: var(--c-text-muted); }
.wt-inv__qr svg { border: 1px solid var(--c-border); border-radius: 6px; }
.wt-inv__stamp {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 2px; flex: 0 0 auto;
  width: 96px; height: 96px;
  border: 2px solid #1B8A5A;
  border-radius: 50%;
  color: #1B8A5A;
  text-align: center;
  transform: rotate(-8deg);
}
.wt-inv__stamp-top { font-size: 9px; }
.wt-inv__stamp-mid { font-size: var(--fs-sm); font-weight: 800; }
.wt-inv__stamp-bot { font-size: 7px; letter-spacing: .3px; }

@media (max-width: 768px) {
  .wt-rcpt__trk { align-self: stretch; justify-content: space-between; }
  .wt-pdf { padding: 0; }
  .wt-pdf__dialog { max-width: 100%; max-height: 100vh; height: 100%; border-radius: 0; }
  .wt-pdf__scroll { padding: var(--sp-4); }
  .wt-pdf__bar-title { font-size: var(--fs-xs); }
  .wt-inv { padding: var(--sp-4); }
  .wt-inv__top { flex-direction: column; }
  .wt-inv__parties { grid-template-columns: 1fr; }
  .wt-inv__sum { max-width: 100%; }
  .wt-inv__verify { flex-direction: column; align-items: flex-start; }
  .wt-inv__table { font-size: 10px; }
}

/* ── Profile section rebuild — pixel-match reference mockup (RTL) ── */
.acc-profile { position: relative; padding: 0 0 var(--sp-5); overflow: hidden; }
.acc-profile__band {
  display: block;
  height: 58px;
  background: var(--c-primary);
  border-radius: var(--r-md) var(--r-md) 0 0;
}
.acc-profile__avatar {
  position: relative;
  width: 72px;
  height: 72px;
  margin: -32px auto 0;
  border: 3px solid #fff;
  font-size: var(--fs-xl);
  font-weight: 800;
  background: #b9b2a2;
  color: #fff;
}
.acc-profile__cam {
  position: absolute;
  bottom: -3px;
  inset-inline-end: -3px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: var(--c-gold);
  color: #fff;
  border: 2px solid #fff;
}
.acc-profile__name { margin-top: var(--sp-2); }
.acc-profile__ir {
  display: inline-flex;
  align-items: center;
  vertical-align: middle;
  margin-inline-start: 6px;
  border-radius: 3px;
  overflow: hidden;
  border: 1px solid rgba(0, 0, 0, .12);
  line-height: 0;
}
.acc-profile__ir svg { display: block; }
/* ── CR: کارت پروفایل فقط در نسخهٔ موبایل و فقط در بخش پروفایل نمایش داده شود ── */
.acc-profile { display: none; }
@media (max-width: 768px) {
  .account-layout:has(#acc-profile.acc-panel.is-active) .acc-profile { display: block; }
}
.acc-menu__kyc {
  margin-inline-start: auto;
  background: #e6f4ea;
  color: #1b8a5a;
  border-radius: 999px;
  padding: .15rem .6rem;
  font-size: var(--fs-xs);
  font-weight: 700;
  white-space: nowrap;
}
.acc-menu__item.is-active .acc-menu__kyc { background: rgba(255,255,255,.18); color: #fff; }

/* ── Profile main panel ── */
.pf-card { padding: var(--sp-6); }
.pf-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--sp-4);
  padding-bottom: var(--sp-5);
  border-bottom: 1px solid var(--c-border);
  margin-bottom: var(--sp-5);
}
.pf-head__title { font-size: var(--fs-lg); font-weight: 800; color: var(--c-text); margin: 0; }
.pf-head__sub { font-size: var(--fs-xs); color: var(--c-text-muted); margin: 4px 0 0; }
.pf-edit {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--c-primary);
  border: 1px solid var(--c-primary);
  border-radius: 10px;
  padding: .55rem 1rem;
  font-family: inherit;
  font-size: var(--fs-sm);
  font-weight: 700;
  color: #fff;
  cursor: pointer;
  white-space: nowrap;
  transition: background .15s;
}
.pf-edit:hover { background: var(--c-primary-light); color: #fff; }
.pf-acct {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-4);
  flex-wrap: wrap;
  background: #faf5ea;
  border: 1px solid #e9dfc7;
  border-radius: 12px;
  padding: var(--sp-4) var(--sp-5);
  margin-bottom: var(--sp-5);
}
.pf-acct__label { font-size: var(--fs-xs); color: var(--c-text-muted); margin: 0 0 4px; }
.pf-acct__num {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  margin: 0;
  font-size: var(--fs-lg);
  font-weight: 800;
  color: var(--c-text);
  letter-spacing: .5px;
}
.pf-acct__ic {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: var(--c-primary);
  color: #fff;
  flex: 0 0 auto;
}
.pf-acct__actions {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  flex: 0 0 auto;
}
.pf-copy {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #fff;
  border: 1px solid var(--c-border);
  border-radius: 10px;
  padding: .5rem .9rem;
  font-family: inherit;
  font-size: var(--fs-xs);
  font-weight: 700;
  color: var(--c-text);
  cursor: pointer;
  white-space: nowrap;
  transition: border-color .15s, color .15s;
}
.pf-copy:hover { border-color: var(--c-primary); color: var(--c-primary); }
.pf-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--sp-4);
}
.pf-field { min-width: 0; }
.pf-field__label {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  font-size: var(--fs-xs);
  color: var(--c-text-muted);
  margin: 0 0 6px;
  text-align: center;
}
.pf-field__val {
  margin: 0;
  background: #f5f2ea;
  border-radius: 10px;
  padding: .8rem 1rem;
  font-weight: 700;
  color: var(--c-text);
  text-align: center;
  overflow-wrap: break-word;
}
.pf-note {
  margin-top: var(--sp-5);
  padding-top: var(--sp-4);
  border-top: 1px solid var(--c-border);
}
.pf-note p {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  flex-wrap: wrap;
  margin: 0;
  font-size: var(--fs-xs);
  color: var(--c-text-muted);
  text-align: center;
  line-height: 1.9;
}
.pf-note svg { flex: 0 0 auto; color: #1b8a5a; }

@media (max-width: 768px) {
  .pf-card { padding: var(--sp-4); }
  .pf-head { flex-direction: column; align-items: stretch; }
  .pf-edit { justify-content: center; width: 100%; }
  .pf-acct { flex-direction: column; align-items: stretch; text-align: center; }
  .pf-acct__num { justify-content: center; font-size: var(--fs-base); }
  .pf-copy { justify-content: center; width: 100%; }
  .pf-grid { grid-template-columns: 1fr; }
}

@media print {
  body.wt-printing * { visibility: hidden !important; }
  body.wt-printing .wt-pdf, body.wt-printing .wt-pdf * { visibility: visible !important; }
  body.wt-printing .wt-pdf { position: absolute; inset: 0; padding: 0; display: block; }
  body.wt-printing .wt-pdf__backdrop,
  body.wt-printing .wt-pdf__bar,
  body.wt-printing .wt-pdf__foot { display: none !important; }
  body.wt-printing .wt-pdf__dialog { max-width: 100%; max-height: none; height: auto; box-shadow: none; border-radius: 0; }
  body.wt-printing .wt-pdf__scroll { overflow: visible; padding: 0; background: #fff; }
}

/* ── CR: پنل خرید و فروش طلا ۱۸ عیار (/account › خرید و فروش) ───────────────── */
.gt-symbol-wrap { position: relative; display: inline-block; margin: 0 0 var(--sp-5); }
.gt-symbol {
  display: inline-flex; align-items: center; gap: .5rem;
  padding: .5rem .85rem;
  border: 1.5px solid var(--c-border); border-radius: var(--r-md);
  background: var(--c-bg); box-shadow: var(--shadow-xs);
  font-size: var(--fs-sm); font-weight: 700; color: var(--c-text);
}
.gt-symbol--btn { font-family: inherit; cursor: pointer; text-align: start; transition: border-color var(--tr-fast); }
.gt-symbol--btn:hover { border-color: var(--c-primary); }
.gt-symbol__ic { display: inline-flex; flex: 0 0 auto; width: 20px; height: 20px; color: var(--c-primary); }
.gt-symbol__ic svg { width: 100%; height: 100%; }
.gt-symbol__text { display: inline-flex; flex-direction: column; line-height: 1.25; }
.gt-symbol__dot { width: 9px; height: 9px; border-radius: 50%; background: #1a9e62; flex: 0 0 auto; }
.gt-symbol__code { font-size: var(--fs-xs); color: var(--c-text-muted); direction: ltr; letter-spacing: .5px; font-weight: 600; }
.gt-symbol__caret { width: 16px; height: 16px; flex: 0 0 auto; margin-inline-start: .35rem; color: var(--c-text-muted); transition: transform var(--tr-fast); }
.gt-symbol--btn[aria-expanded="true"] .gt-symbol__caret { transform: rotate(180deg); }

.gt-assets {
  position: absolute; z-index: 40; top: calc(100% + 6px); inset-inline-start: 0;
  width: max(100%, 300px); max-height: 320px; overflow-y: auto;
  padding: .45rem; background: var(--c-bg);
  border: 1.5px solid var(--c-border); border-radius: var(--r-md); box-shadow: var(--shadow-md);
}
.gt-assets[hidden] { display: none; }
.gt-assets__head { margin: .25rem .4rem .5rem; font-size: var(--fs-xs); font-weight: 700; color: var(--c-text-muted); }
.gt-assets__item {
  display: flex; align-items: center; gap: .6rem; width: 100%;
  padding: .55rem .5rem; border: 0; border-radius: var(--r-sm);
  background: transparent; font-family: inherit; color: var(--c-text); cursor: pointer; text-align: start;
  transition: background var(--tr-fast);
}
.gt-assets__item:hover { background: var(--c-surface); }
.gt-assets__item.is-active { background: rgba(26,158,98,.1); }
.gt-assets__ic { display: inline-flex; flex: 0 0 auto; width: 22px; height: 22px; color: var(--c-primary); }
.gt-assets__ic svg { width: 100%; height: 100%; }
.gt-assets__txt { display: flex; flex-direction: column; line-height: 1.25; min-width: 0; }
.gt-assets__name { font-size: var(--fs-sm); font-weight: 700; }
.gt-assets__code { font-size: var(--fs-xs); color: var(--c-text-muted); direction: ltr; letter-spacing: .5px; }
.gt-assets__price { margin-inline-start: auto; font-size: var(--fs-sm); font-weight: 700; color: var(--c-text); white-space: nowrap; direction: ltr; }
.gt-assets__price .gt-unit { font-size: var(--fs-xs); font-weight: 600; color: var(--c-text-muted); }
.gt-flash { padding: .7rem .9rem; border-radius: var(--r-sm); font-size: var(--fs-sm); font-weight: 600; margin-bottom: var(--sp-4); }
.gt-flash--ok  { background: rgba(26,158,98,.12); color: #116c43; border: 1px solid rgba(26,158,98,.3); }
.gt-flash--err { background: rgba(192,57,43,.1); color: #a23325; border: 1px solid rgba(192,57,43,.28); }

.gt-grid { display: grid; grid-template-columns: minmax(0,480px); justify-content: center; gap: var(--sp-5); align-items: start; }

/* ── ستون معامله ── */
.gt-trade { margin-bottom: 0; }
.gt-side { display: grid; grid-template-columns: 1fr 1fr; gap: .4rem; padding: .35rem; background: var(--c-surface); border-radius: var(--r-md); margin-bottom: var(--sp-5); }
.gt-side__btn { font-family: inherit; font-size: var(--fs-sm); font-weight: 700; padding: .75rem .5rem; border: 0; border-radius: var(--r-sm); background: transparent; color: var(--c-text-light); cursor: pointer; transition: background var(--tr-fast), color var(--tr-fast); white-space: nowrap; }
.gt-side__btn:hover { color: var(--c-text); }
.gt-side__btn--buy.is-active  { background: var(--c-primary); color: #fff; }
.gt-side__btn--sell.is-active { background: #b23b2e; color: #fff; }

.gt-otype-row { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-3); margin-bottom: var(--sp-4); }
.gt-otype-row__lbl { display: inline-flex; align-items: center; gap: .4rem; font-size: var(--fs-sm); font-weight: 600; color: var(--c-text-light); }
.gt-otype { display: inline-flex; gap: .4rem; }
.gt-otype__btn { font-family: inherit; font-size: var(--fs-xs); font-weight: 700; padding: .45rem .8rem; border: 1px solid var(--c-border); border-radius: 999px; background: var(--c-bg); color: var(--c-text-light); cursor: pointer; transition: all var(--tr-fast); white-space: nowrap; }
.gt-otype__btn.is-active { background: var(--c-gold); border-color: var(--c-gold); color: #3a2c10; }

.gt-field { border: 1.5px solid var(--c-border); border-radius: var(--r-md); padding: .85rem 1rem; margin-bottom: var(--sp-3); background: var(--c-bg); }
.gt-field--avail { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-3); background: var(--c-surface); }
.gt-field__lbl { font-size: var(--fs-sm); color: var(--c-text-light); }
.gt-field__val--avail { font-size: var(--fs-md); font-weight: 800; color: #116c43; direction: rtl; }
.gt-field__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: .35rem; }
.gt-field__code { font-size: var(--fs-xs); color: var(--c-text-muted); direction: ltr; }
.gt-num { width: 100%; border: 0; background: transparent; font-family: inherit; font-size: var(--fs-xl); font-weight: 800; color: var(--c-text); text-align: left; direction: ltr; padding: 0; }
.gt-num:focus { outline: none; }
.gt-num--amount::placeholder { color: var(--c-text-muted); }
.gt-num--edit { color: var(--c-gold-dark); }

.gt-pct { display: grid; grid-template-columns: repeat(4, 1fr); gap: .5rem; margin: var(--sp-4) 0; }
.gt-pct__btn { font-family: inherit; font-size: var(--fs-sm); font-weight: 700; padding: .65rem .3rem; border: 1px solid var(--c-border); border-radius: var(--r-sm); background: var(--c-surface); color: var(--c-text); cursor: pointer; transition: all var(--tr-fast); }
.gt-pct__btn:hover { background: var(--c-primary-muted); border-color: var(--c-primary); }

.gt-summary { background: var(--c-surface); }
.gt-summary__row { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-3); }
.gt-summary__row + .gt-summary__row { margin-top: .5rem; }
.gt-summary__total { font-size: var(--fs-md); font-weight: 800; color: var(--c-text); }
.gt-summary__fee { font-size: var(--fs-sm); font-weight: 700; color: var(--c-gold-dark); }

.gt-note { font-size: var(--fs-xs); color: var(--c-text-light); background: rgba(197,160,89,.1); border-radius: var(--r-sm); padding: .6rem .75rem; margin: var(--sp-3) 0 0; line-height: 1.8; }
.gt-err { font-size: var(--fs-sm); color: #a23325; margin: var(--sp-3) 0 0; }
.gt-cta-row { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; margin-top: var(--sp-4); }
.gt-cta { width: 100%; min-width: 0; justify-content: center; gap: .4rem; font-size: var(--fs-sm); padding-left: 12px; padding-right: 12px; }
.gt-cta--sell { background: #b23b2e; color: #fff; border-color: #b23b2e; box-shadow: 0 4px 20px rgba(178,59,46,.30); }
.gt-cta--sell:hover { background: #8f2f24; border-color: #8f2f24; box-shadow: 0 6px 28px rgba(178,59,46,.45); }

/* ── ستون بازار / دفتر سفارش ── */
.gt-book { margin-bottom: 0; }
.gt-book__tabs { display: flex; gap: .4rem; margin-bottom: var(--sp-4); }
.gt-book__tab { font-family: inherit; font-size: var(--fs-xs); font-weight: 700; padding: .55rem .8rem; border: 1px solid var(--c-border); border-radius: var(--r-sm); background: var(--c-surface); color: var(--c-text-light); cursor: pointer; transition: all var(--tr-fast); white-space: nowrap; }
.gt-book__tab.is-active { background: var(--c-gold); border-color: var(--c-gold); color: #3a2c10; }
.gt-book__pane { display: none; }
.gt-book__pane.is-active { display: block; }
.gt-book__meta { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-3); flex-wrap: wrap; margin-bottom: var(--sp-3); font-size: var(--fs-xs); }
.gt-chg { display: inline-flex; align-items: center; gap: .35rem; font-weight: 700; color: #116c43; background: rgba(26,158,98,.1); padding: .3rem .6rem; border-radius: 999px; }
.gt-live { display: inline-flex; align-items: center; gap: .35rem; color: var(--c-text-muted); }

.gt-ob { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: var(--sp-3); }
.gt-ob__tbl { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: var(--fs-xs); }
.gt-ob__tbl thead th { font-size: 11px; font-weight: 700; color: var(--c-text-muted); background: var(--c-surface); padding: .5rem .4rem; text-align: right; line-height: 1.4; }
.gt-ob__tbl tbody td { padding: .5rem .4rem; border-bottom: 1px solid var(--c-border); white-space: nowrap; }
.gt-ob__amt { color: var(--c-text); direction: ltr; text-align: right; }
.gt-ob__p { font-weight: 700; direction: ltr; text-align: left; }
.gt-ob__p--buy  { color: #116c43; }
.gt-ob__p--sell { color: #b23b2e; }

.gt-daily { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-4); flex-wrap: wrap; margin-top: var(--sp-5); font-size: var(--fs-xs); font-weight: 600; color: var(--c-gold-dark); }
.gt-daily bdi { direction: ltr; }
.gt-guard { display: inline-flex; align-items: center; gap: .45rem; margin-top: var(--sp-4); padding: .55rem .85rem; border: 1px solid var(--c-border); border-radius: var(--r-sm); background: var(--c-surface); font-size: var(--fs-xs); font-weight: 600; color: var(--c-primary); }

.gt-lt__tbl { width: 100%; border-collapse: collapse; font-size: var(--fs-sm); }
.gt-lt__tbl thead th { font-size: var(--fs-xs); font-weight: 700; color: var(--c-text-muted); background: var(--c-surface); padding: .55rem .6rem; text-align: right; }
.gt-lt__tbl tbody td { padding: .6rem .6rem; border-bottom: 1px solid var(--c-border); font-weight: 600; }
.gt-lt__time { color: var(--c-text-muted); font-weight: 500; font-size: var(--fs-xs); }
.gt-lt__empty { color: var(--c-text-muted); font-size: var(--fs-sm); text-align: center; padding: var(--sp-6) 0; }

/* ── موبایل: چیدمان تک‌ستونی ── */
@media (max-width: 768px) {
  .gt-grid { grid-template-columns: 1fr; gap: var(--sp-4); }
  .gt-symbol-wrap { display: block; width: 100%; }
  .gt-symbol { width: 100%; justify-content: flex-start; }
  .gt-assets { width: 100%; }
  .gt-otype-row { flex-direction: column; align-items: stretch; gap: .5rem; }
  .gt-otype { justify-content: stretch; }
  .gt-otype__btn { flex: 1 1 auto; }
  .gt-cta { font-size: var(--fs-xs); padding-left: 8px; padding-right: 8px; }
  .gt-daily { gap: var(--sp-2); }
  .gt-ob { gap: var(--sp-2); }
  .gt-ob__tbl { font-size: 10px; }
  .gt-ob__tbl thead th { font-size: 9px; padding: .45rem .3rem; }
  .gt-ob__tbl tbody td { padding: .45rem .3rem; }
  .gt-field__val--avail { font-size: var(--fs-sm); }
}

/* ── CR: عکس پروفایل کاربر + دکمهٔ دوربین + صفحهٔ بارگذاری ── */
.acc-profile__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
  display: block;
}
.acc-profile__cam {
  padding: 0;
  cursor: pointer;
  font: inherit;
  appearance: none;
  -webkit-appearance: none;
}
.acc-profile__cam:focus-visible { outline: 2px solid var(--c-primary); outline-offset: 2px; }
.avatar-form { display: grid; justify-items: center; gap: var(--sp-4); }
.avatar-form__preview {
  width: 112px;
  height: 112px;
  border-radius: 50%;
  overflow: hidden;
  border: 3px solid #fff;
  box-shadow: var(--shadow-xs);
  background: #b9b2a2;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--fs-2xl);
  font-weight: 800;
}
.avatar-form__preview img { width: 100%; height: 100%; object-fit: cover; display: block; }
.avatar-form .kyc-upload { width: 100%; max-width: 360px; }
.avatar-form__submit { width: 100%; max-width: 360px; }

/* ── نوار قیمت لحظه‌ای بالای هدر (صفحهٔ اصلی) ───────────────────── */
.price-ticker {
  background: #141517;
  border-bottom: 1px solid rgba(197,160,89,.22);
  overflow: hidden;
  position: relative;
}
.price-ticker__track {
  display: flex;
  width: max-content;
  animation: price-ticker-move 70s linear infinite;
  will-change: transform;
}
.price-ticker__group { display: flex; flex-shrink: 0; min-width: 100vw; justify-content: space-around; }
.ptk-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 9px 18px;
  font-size: 13px;
  line-height: 1;
  white-space: nowrap;
  color: #E8EAE8;
  border-left: 1px solid rgba(255,255,255,.07);
}
.ptk-dot, .ptk-ic { color: var(--c-gold); flex-shrink: 0; }
.ptk-name { color: #C9CEC9; }
.ptk-val { color: #fff; font-weight: 700; direction: ltr; unicode-bidi: isolate; }
.ptk-val--free { color: var(--c-gold-light); }
.ptk-item--fee .ptk-name { color: #E8EAE8; }
.ptk-chg {
  font-size: 11px;
  font-weight: 700;
  padding: 2px 6px;
  border-radius: 5px;
  direction: ltr;
  unicode-bidi: isolate;
}
.ptk-chg--up { color: #4ADE80; background: rgba(74,222,128,.12); }
.ptk-chg--down { color: #F87171; background: rgba(248,113,113,.12); }

@keyframes price-ticker-move {
  from { transform: translateX(0); }
  to   { transform: translateX(50%); }
}
@media (max-width: 768px) {
  .ptk-item { padding: 8px 14px; font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .price-ticker__track { animation: none; }
}

/* ═══ CR: چیدمان داشبورد پنل کاربری (نسخهٔ دسکتاپ، مطابق طرح مشتری — رنگ‌بندی سایت حفظ شده) ═══ */
.dx-top{background:linear-gradient(120deg,#0e2a20 0%,#1f5a4a 100%);color:#fff;border-radius:var(--r-md);padding:var(--sp-5);margin-bottom:var(--sp-5);box-shadow:var(--shadow-xs)}
.dx-bal{display:flex;flex-direction:column;gap:8px;min-width:0}
.dx-bal__head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3)}
.dx-bal__label{font-size:var(--fs-sm);font-weight:700;color:rgba(255,255,255,.92)}
.dx-bal__ic{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:9px;background:rgba(255,255,255,.12);color:#fff;flex-shrink:0}
.dx-bal__amt{font-size:var(--fs-2xl,1.9rem);font-weight:800;line-height:1.15;color:#fff;direction:rtl}
.dx-bal__cur{font-size:var(--fs-base);font-weight:700;color:rgba(255,255,255,.9)}
.dx-bal__sub{font-size:var(--fs-xs);color:rgba(255,255,255,.72)}
.dx-top__actions{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}
.dx-warn{display:inline-flex;align-items:center;gap:6px;background:#FDECEC;color:#B91C1C;border:1px solid rgba(185,28,28,.25);border-radius:999px;padding:7px 14px;font-size:var(--fs-sm);font-weight:700;text-decoration:none;white-space:nowrap}
.dx-warn:hover{background:#FBE0E0}
.dx-btn{display:inline-flex;align-items:center;gap:6px;border-radius:10px;padding:9px 18px;font-family:inherit;font-size:var(--fs-sm);font-weight:700;cursor:pointer;white-space:nowrap;border:1.5px solid transparent;transition:background .15s,border-color .15s,color .15s}
.dx-btn--primary{background:var(--c-primary);color:#fff}
.dx-btn--primary:hover{background:var(--c-primary-dark)}
.dx-btn--ghost{background:var(--c-bg);color:var(--c-text);border-color:var(--c-border)}
.dx-btn--ghost:hover{border-color:var(--c-primary);color:var(--c-primary)}

.dx-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--sp-5);align-items:start;margin-bottom:var(--sp-5)}
.dx-wallet{margin-bottom:0}
.dx-wallet__head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);flex-wrap:wrap;margin-bottom:var(--sp-4)}
.dx-wallet__title{font-size:var(--fs-xl);font-weight:700}
.dx-tabs{display:inline-flex;gap:4px;background:var(--c-surface);border:1px solid var(--c-border);border-radius:999px;padding:4px}
.dx-tab{border:0;background:transparent;font-family:inherit;font-size:var(--fs-xs);font-weight:700;color:var(--c-text-light);padding:6px 12px;border-radius:999px;cursor:pointer;white-space:nowrap}
.dx-tab:hover{color:var(--c-primary)}
.dx-tab.is-active{background:var(--c-primary);color:#fff}

.dx-wtable{display:flex;flex-direction:column}
.dx-wrow{display:grid;grid-template-columns:1.7fr 1fr 1.2fr auto;align-items:center;gap:var(--sp-3);padding:14px 2px;border-bottom:1px solid var(--c-border)}
.dx-wtable .dx-wrow:last-child{border-bottom:0}
.dx-wrow--head{font-size:var(--fs-xs);font-weight:700;color:var(--c-text-muted);padding-block:8px}
.dx-asset{display:flex;align-items:center;gap:10px;min-width:0}
.dx-asset__ic{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;flex-shrink:0}
.dx-asset__ic--gold,.dx-asset__ic--coin{background:rgba(197,160,89,.16);color:var(--c-gold-dark)}
.dx-asset__ic--toman{background:var(--c-primary-muted);color:var(--c-primary)}
.dx-asset__meta{display:flex;flex-direction:column;min-width:0}
.dx-asset__meta b{font-size:var(--fs-sm);font-weight:700;color:var(--c-text)}
.dx-asset__meta i{font-size:11px;font-style:normal;color:var(--c-text-muted)}
.dx-wcell{font-size:var(--fs-sm);font-weight:600;color:var(--c-text);direction:rtl;overflow-wrap:anywhere}
.dx-wops{display:inline-flex;gap:6px;justify-content:flex-end}
.dx-op{border:1.5px solid transparent;border-radius:9px;padding:7px 16px;font-family:inherit;font-size:var(--fs-xs);font-weight:700;cursor:pointer;white-space:nowrap}
.dx-op--buy{background:var(--c-primary);color:#fff}
.dx-op--buy:hover{background:var(--c-primary-dark)}
.dx-op--sell{background:var(--c-bg);color:var(--c-primary);border-color:var(--c-primary)}
.dx-op--sell:hover{background:var(--c-primary-muted)}
.dx-wempty{padding:28px 10px;text-align:center;font-size:var(--fs-sm);color:var(--c-text-muted)}

.dx-side{display:flex;flex-direction:column;gap:var(--sp-5)}
.dx-fee{margin-bottom:0}
.dx-fee__head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);margin-bottom:var(--sp-3)}
.dx-fee__title{font-size:var(--fs-base);font-weight:700}
.dx-fee__badge{font-size:11px;font-weight:700;background:var(--c-primary-muted);color:var(--c-primary);border-radius:999px;padding:3px 10px}
.dx-fee__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.dx-fee__list li{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);padding:7px 0;border-bottom:1px dashed var(--c-border);font-size:var(--fs-sm)}
.dx-fee__list li:last-child{border-bottom:0}
.dx-fee__list li span{color:var(--c-text-light)}
.dx-fee__list li b{color:var(--c-text);font-weight:700}
.dx-fee__foot{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);margin-top:var(--sp-3);padding-top:var(--sp-3);border-top:1px solid var(--c-border);font-size:var(--fs-xs)}
.dx-fee__foot span{color:var(--c-text-muted)}
.dx-fee__foot b{color:var(--c-primary);font-weight:800}

.dx-promo{background:linear-gradient(135deg,var(--c-primary),#0b574e);color:#fff;border-radius:var(--r-md);padding:var(--sp-5);box-shadow:var(--shadow-xs)}
.dx-promo__badge{display:inline-block;font-size:11px;font-weight:700;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.28);color:#fff;border-radius:999px;padding:3px 10px;margin-bottom:var(--sp-3)}
.dx-promo__title{font-size:var(--fs-lg);font-weight:800;line-height:1.5;margin-bottom:var(--sp-2)}
.dx-promo__text{font-size:var(--fs-xs);line-height:1.9;opacity:.9;margin-bottom:var(--sp-4)}
.dx-promo__btn{display:inline-flex;align-items:center;gap:6px;background:#fff;color:var(--c-primary);border:0;border-radius:10px;padding:9px 16px;font-family:inherit;font-size:var(--fs-sm);font-weight:700;cursor:pointer}
.dx-promo__btn:hover{background:var(--c-surface)}

.dx-notif{margin-bottom:0}
.dx-notif__head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);margin-bottom:var(--sp-2)}
.dx-notif__title{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-base);font-weight:700}
.dx-notif__sub{font-size:11px;color:var(--c-text-muted)}
.dx-notif__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.dx-notif__list li{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:10px 0;border-top:1px solid var(--c-border);font-size:var(--fs-sm)}
.dx-notif__list li:first-child{border-top:0}
.dx-notif__txt{color:var(--c-text)}
.dx-notif__date{font-size:11px;color:var(--c-text-muted);white-space:nowrap;direction:ltr}

@media (max-width:768px){
  .dx-grid{grid-template-columns:1fr;gap:var(--sp-4)}
  .dx-top{gap:var(--sp-3)}
  .dx-top__actions{width:100%}
  .dx-top__actions .dx-btn{flex:1 1 auto;justify-content:center}
  .dx-warn{display:none}
  .dx-wrow{grid-template-columns:1fr 1fr;gap:8px 10px}
  .dx-wrow--head{display:none}
  .dx-asset{grid-column:1 / -1}
  .dx-wcell[data-label]::before{content:attr(data-label) "؛ ";color:var(--c-text-muted);font-weight:600;font-size:11px}
  .dx-wops{grid-column:1 / -1;justify-content:stretch}
  .dx-op{flex:1 1 auto;text-align:center}
}
