/* drpashmforoosh.com — design tokens (Phase 1)
   Single source of truth. The mockups import this file; the child theme will ship it unchanged.
   Palette: navy leads (it is already on the site and on every banner and infographic), the logo's green
   is the accent. Contrast is enforced by design/scripts/check_contrast.py — run it after any edit.
   Latin digits in this file are fine: Vazirmatn FD draws every digit as Persian on screen. */

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

:root {
  /* ── Navy — brand primary (banners: #1d4177 → #1564bb) ── */
  --c-navy-50:  #EEF3FB;
  --c-navy-100: #DCE6F5;
  --c-navy-200: #B9CBE8;
  --c-navy-400: #5A7FB8;
  --c-navy-600: #1F4F94;
  --c-navy-700: #1D4177;
  --c-navy-800: #163362;
  --c-navy-900: #0D2140;

  /* ── Green — from the logo (#4A8142 … #73B945). Accent, and the booking CTA ── */
  --c-green-50:  #F0F7EB;
  --c-green-100: #DDEFD1;
  --c-green-400: #7CC34F;
  --c-green-500: #4F9637;
  --c-green-600: #43873A;
  --c-green-700: #37722F;
  --c-green-800: #2A5A24;

  /* ── Neutrals ── */
  --c-ink:       #0F1C2E;
  --c-text:      #2A3547;
  --c-muted:     #566376;
  --c-line:      #DDE4EE;
  --c-surface:   #FFFFFF;
  --c-surface-2: #F5F8FC;
  --c-white:     #FFFFFF;

  /* ── Semantic ── */
  --c-red-50:  #FEF3F2;
  --c-red-600: #C8372D;
  --c-red-700: #A8261D;
  --c-link:    #1F55A8;
  --c-focus:   #2563C9;

  /* Aliases the components use */
  --brand: var(--c-navy-700);
  --brand-strong: var(--c-navy-800);
  --accent: var(--c-green-500);
  --cta: var(--c-green-700);
  --cta-strong: var(--c-green-800);

  /* ── Type ── */
  --font: "Vazirmatn FD", "Vazirmatn", Tahoma, "Segoe UI", sans-serif;
  --fs-display: clamp(1.75rem, 1.35rem + 1.8vw, 2.625rem);   /* 28 → 42 */
  --fs-h1:      clamp(1.625rem, 1.35rem + 1.2vw, 2.25rem);   /* 26 → 36 */
  --fs-h2:      clamp(1.3125rem, 1.18rem + .6vw, 1.625rem);  /* 21 → 26 */
  --fs-h3:      clamp(1.125rem, 1.06rem + .3vw, 1.3125rem);  /* 18 → 21 */
  --fs-h4:      1.0625rem;                                   /* 17 */
  --fs-body-lg: clamp(1.0625rem, 1.02rem + .2vw, 1.1875rem); /* 17 → 19 — article body */
  --fs-body:    1rem;                                        /* 16 */
  --fs-small:   .9375rem;                                    /* 15 */
  --fs-caption: .875rem;                                     /* 14 — the floor for Persian */
  --lh-body: 2;
  --lh-ui: 1.7;
  --lh-head: 1.55;
  --fw-regular: 400;
  --fw-medium: 500;
  --fw-bold: 700;
  --measure: 42rem; /* ≈ 68 Persian characters at body-lg */

  /* ── Space (4px base) ── */
  --s-1: 4px;  --s-2: 8px;  --s-3: 12px; --s-4: 16px; --s-5: 24px;
  --s-6: 32px; --s-7: 48px; --s-8: 64px; --s-9: 96px;
  --gutter: 16px;
  --container: 1200px;

  /* ── Shape ── */
  --r-sm: 8px;
  --r-md: 12px;
  --r-lg: 20px;
  --r-pill: 999px; /* chips and badges only */

  /* ── Elevation: exactly three ── */
  --e-1: 0 1px 2px rgba(13, 33, 64, .06), 0 1px 1px rgba(13, 33, 64, .04);
  --e-2: 0 4px 14px rgba(13, 33, 64, .08);
  --e-3: 0 12px 32px rgba(13, 33, 64, .14);

  /* ── Motion ── */
  --ease: cubic-bezier(.2, .8, .2, 1);
  --t-fast: 150ms;
  --t-med: 240ms;

  /* ── Chrome sizes ── */
  --header-h: 64px;
  --bar-h: 64px;
}

@media (min-width: 1024px) {
  :root { --gutter: 24px; --header-h: 76px; }
}

@media (prefers-reduced-motion: reduce) {
  :root { --t-fast: 0ms; --t-med: 0ms; }
}
