:root {
  --bg-sanjab-cream: rgb(243, 240, 215);
  --bg-sanjab-cream-light: rgb(248, 246, 234);
  --bg-sanjab-cream-deep: rgb(237, 233, 210);
  --bg-primary: var(--bg-sanjab-cream);
  --bg-surface: var(--bg-sanjab-cream-light);
  --bg-elevated: var(--bg-sanjab-cream-light);
  --bg-stone-soft: rgb(245, 242, 228);
  --bg-hero: rgb(247, 244, 232);
  --border-default: #E6E2D9;
  --text-primary: #1A1A1A;
  --text-secondary: #5F5B53;
  --text-muted: #6B665D;
  --accent-gold: #C8A96E;
  --accent-gold-hover: #B8924F;
  --accent-gold-text: #8A6A2F;
  --accent-brass: #B8924F;
  --accent-stone: #E6E2D9;
  --border-stone: #DED6C8;
  --border-sanjab: rgba(84, 65, 42, 0.16);
  --badge-bg: #F1E5C8;
  --status-success: #5C7A5E;
  --status-warning: #9A7B4F;
  --status-error: #8B5A5A;
  --overlay-dark: rgba(26, 26, 26, 0.62);
  --shadow-soft: 0 4px 24px rgba(0, 0, 0, 0.06);
  --shadow-card: 0 12px 32px rgba(0, 0, 0, 0.06);
  --shadow-elevated: 0 16px 40px rgba(0, 0, 0, 0.08);
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --radius-xl: 20px;
  --radius-pill: 999px;
  --font-fa: 'IRANYekanX', Tahoma, sans-serif;
  --font-en: 'Inter', system-ui, sans-serif;
  --section-padding: 96px;
  --section-padding-mobile: 64px;
  --whatsapp: #25D366;
}

[data-theme="dark"] {
  --bg-sanjab-cream: #050508;
  --bg-sanjab-cream-light: #0a0a10;
  --bg-sanjab-cream-deep: #030304;
  --bg-primary: #050508;
  --bg-surface: rgba(255, 255, 255, 0.035);
  --bg-elevated: rgba(255, 255, 255, 0.055);
  --bg-stone-soft: #08080e;
  --bg-hero: #050508;
  --border-default: rgba(255, 255, 255, 0.08);
  --text-primary: #f4f2ed;
  --text-secondary: rgba(244, 242, 237, 0.68);
  --text-muted: rgba(244, 242, 237, 0.42);
  --accent-gold: #d4af5a;
  --accent-gold-hover: #e8c878;
  --accent-gold-text: #d4af5a;
  --accent-brass: #b8924f;
  --accent-stone: rgba(255, 255, 255, 0.1);
  --border-stone: rgba(255, 255, 255, 0.08);
  --border-sanjab: rgba(212, 175, 90, 0.12);
  --badge-bg: rgba(212, 175, 90, 0.12);
  --overlay-dark: rgba(3, 3, 4, 0.82);
  --shadow-soft: 0 8px 32px rgba(0, 0, 0, 0.45);
  --shadow-card: 0 16px 48px rgba(0, 0, 0, 0.55);
  --shadow-elevated: 0 24px 64px rgba(0, 0, 0, 0.65);
  --glass-bg: rgba(255, 255, 255, 0.04);
  --glass-border: rgba(255, 255, 255, 0.09);
  --glow-gold: rgba(212, 175, 90, 0.22);
  --glow-cool: rgba(100, 120, 255, 0.1);
  --glow-warm: rgba(180, 110, 50, 0.08);
  --scroll-light: 0;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  font-family: var(--font-fa);
  background: var(--bg-primary);
  color: var(--text-primary);
  line-height: 1.85;
  font-size: 16px;
  transition: background 0.3s ease, color 0.3s ease;
}

[dir="ltr"] body,
[dir="ltr"] .font-en {
  font-family: var(--font-en);
}

h1, h2, h3, h4, h5, h6 {
  font-weight: 700;
  line-height: 1.35;
  color: var(--text-primary);
}

a {
  color: inherit;
  text-decoration: none;
  transition: color 0.2s, border-color 0.2s, background 0.2s;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

.section-padding {
  padding: var(--section-padding) 0;
}

.section-padding-lg { padding: var(--section-padding) 0; }

.bg-golden-white,
.bg-stone-soft,
.bg-surface {
  background: linear-gradient(
    180deg,
    color-mix(in srgb, var(--bg-sanjab-cream-deep) 14%, var(--bg-sanjab-cream)) 0%,
    var(--bg-sanjab-cream) 18%,
    var(--bg-sanjab-cream) 82%,
    color-mix(in srgb, var(--bg-sanjab-cream-deep) 10%, var(--bg-sanjab-cream)) 100%
  );
}
.bg-dark-panel { background: #1A1A1A; }
.bg-dark-deep { background: #050505; }

[data-theme="dark"] .bg-dark-panel { background: #050505; }
[data-theme="dark"] .bg-dark-deep { background: #050505; }

.text-gold { color: var(--accent-gold); }
.text-gold-muted { color: var(--accent-gold-text); }
.text-secondary-custom { color: var(--text-secondary); }
.text-muted-custom { color: var(--text-muted); }
.text-caption {
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.02em;
}
.border-stone { border-color: var(--accent-stone) !important; }
.shadow-soft { box-shadow: var(--shadow-soft); }

@media (max-width: 768px) {
  :root { --section-padding: 64px; }
}