/* ==========================================================================
   Dhan Valley — design tokens
   Ported verbatim from "Dhan Valley Design System" tokens/*.css.
   Source of truth: C:\work\dhanvalley\Dhan Valley Design System\tokens\
   ========================================================================== */

@import url("https://fonts.googleapis.com/css2?family=Zilla+Slab:ital,wght@0,400;0,500;0,600;0,700;1,400&family=Gelasio:ital,wght@0,400;0,500;0,600;0,700;1,400&family=Montserrat:ital,wght@0,400;0,500;0,600;0,700;0,800;1,400&family=Caveat:wght@500;600;700&family=Noto+Nastaliq+Urdu:wght@400;600;700&display=swap");

:root{
  /* ---- Colour: Pothohar green ---- */
  --dv-green-900:#1B2620;
  --dv-green-800:#232F27;
  --dv-green-700:#283830;
  --dv-green-600:#38473C;
  --dv-green-500:#4A5B4E;

  /* ---- Colour: olive & leaf (farm) ---- */
  --dv-olive-700:#5E5F00;
  --dv-olive-600:#7F8000;
  --dv-olive-500:#96991F;
  --dv-leaf-600:#1C6E39;
  --dv-leaf-500:#238747;

  /* ---- Colour: sage & daylight ---- */
  --dv-sage-400:#B7CDA1;
  --dv-sage-300:#C8D8B8;
  --dv-sage-200:#D2E8A8;
  --dv-sage-100:#E6EFDC;

  /* ---- Colour: gold, amber, tan ---- */
  --dv-gold-500:#BB9F26;
  --dv-amber-500:#D88828;
  --dv-amber-600:#B96F1C;
  --dv-clay-600:#A86800;
  --dv-tan-400:#C19158;
  --dv-tan-300:#D8B183;
  --dv-sun-400:#F2D64B;

  /* ---- Colour: paper & ink ---- */
  --dv-cream-50:#FFFCF5;
  --dv-paper-0:#FFFFFF;
  --dv-ink-800:#384033;
  --dv-ink-600:#5A6353;

  /* ---- Semantic surfaces ---- */
  --surface-page:var(--dv-cream-50);
  --surface-card:var(--dv-paper-0);
  --surface-deep:var(--dv-green-700);
  --surface-deep-alt:var(--dv-green-800);
  --surface-sage:var(--dv-sage-300);
  --surface-daylight:var(--dv-sage-200);

  /* ---- Semantic text ---- */
  --text-primary:var(--dv-ink-800);
  --text-secondary:var(--dv-ink-600);
  --text-on-deep:var(--dv-cream-50);
  --text-on-deep-soft:var(--dv-tan-400);
  --text-price:var(--dv-tan-400);
  --text-accent:var(--dv-amber-500);
  --text-link:var(--dv-olive-600);
  --text-link-hover:var(--dv-green-700);

  /* ---- Semantic accents ---- */
  --accent:var(--dv-amber-500);
  --accent-hover:var(--dv-amber-600);
  --accent-press:#A05F14;
  --accent-quiet:var(--dv-olive-600);
  --accent-farm:var(--dv-leaf-500);

  /* ---- Lines ---- */
  --border-hairline:rgba(193,145,88,.45);
  --border-strong:var(--dv-tan-400);
  --border-sage:rgba(56,64,51,.18);

  /* ---- Status (UI-only extrapolation) ---- */
  --status-ok:var(--dv-leaf-500);
  --status-warn:var(--dv-amber-500);
  --status-error:#9E2B1E;

  /* ---- Type families ---- */
  --font-display:"Zilla Slab",Georgia,serif;
  --font-serif:"Gelasio",Georgia,"Book Antiqua",serif;
  --font-sans:"Montserrat",system-ui,sans-serif;
  --font-script:"Caveat",cursive;
  --font-urdu:"Noto Nastaliq Urdu",serif;

  /* ---- Type sizes ---- */
  --text-2xs:11px;
  --text-xs:12px;
  --text-sm:14px;
  --text-base:16px;
  --text-md:18px;
  --text-lg:21px;
  --text-xl:26px;
  --text-2xl:32px;
  --text-3xl:42px;
  --text-4xl:56px;
  --text-5xl:72px;

  /* ---- Weights ---- */
  --weight-regular:400;
  --weight-medium:500;
  --weight-semibold:600;
  --weight-bold:700;
  --weight-black:800;

  /* ---- Line heights ---- */
  --leading-tight:1.05;
  --leading-snug:1.2;
  --leading-normal:1.45;
  --leading-relaxed:1.65;
  --leading-urdu:2.1;

  /* ---- Tracking ---- */
  --tracking-tight:-0.02em;
  --tracking-normal:0;
  --tracking-wide:0.06em;
  --tracking-widest:0.16em;

  /* ---- Spacing ---- */
  --space-0:0;
  --space-1:4px;
  --space-2:8px;
  --space-3:12px;
  --space-4:16px;
  --space-5:20px;
  --space-6:24px;
  --space-8:32px;
  --space-10:40px;
  --space-12:48px;
  --space-16:64px;
  --space-20:80px;
  --space-24:96px;

  --menu-row-gap:9px;
  --menu-section-gap:34px;
  --menu-gutter:56px;
  --menu-spine:96px;

  --page-max:1200px;
  --prose-max:62ch;

  /* ---- Radii ---- */
  --radius-xs:4px;
  --radius-sm:8px;
  --radius-md:12px;
  --radius-lg:18px;
  --radius-xl:24px;
  --radius-pill:999px;
  --radius-label:22px 12px 22px 12px;
  --radius-label-urdu:12px 22px 12px 22px;
  --radius-photo:14px;

  /* ---- Elevation ---- */
  --shadow-none:none;
  --shadow-xs:0 1px 2px rgba(27,38,32,.08);
  --shadow-sm:0 2px 6px rgba(27,38,32,.10);
  --shadow-md:0 6px 18px rgba(27,38,32,.12);
  --shadow-lg:0 16px 40px rgba(27,38,32,.16);
  --shadow-photo:0 10px 24px rgba(27,38,32,.22);
  --shadow-inset-deep:inset 0 0 0 1px rgba(193,145,88,.28);
  --scrim-bottom:linear-gradient(to top,rgba(27,38,32,.82) 0%,rgba(27,38,32,.45) 45%,rgba(27,38,32,0) 100%);
  --scrim-flat:rgba(27,38,32,.55);

  /* ---- Motion ---- */
  --ease-standard:cubic-bezier(.22,.61,.36,1);
  --ease-out:cubic-bezier(0,0,.2,1);
  --ease-in-out:cubic-bezier(.45,0,.55,1);
  --duration-instant:80ms;
  --duration-fast:140ms;
  --duration-base:220ms;
  --duration-slow:380ms;
  --transition-base:all var(--duration-base) var(--ease-standard);
}
