/* ============================================================
   BEAUMONT COOPER LTD — DESIGN TOKENS
   All design values live here. Nothing hardcoded elsewhere.
   ============================================================ */

:root {
  /* ─── COLOUR PALETTE ─── */

  /* Primary surfaces */
  --bc-ivory:        #F8F5EE;   /* Page background */
  --bc-parchment:    #EFECE3;   /* Section alternates, card bg */
  --bc-white:        #FDFCF8;   /* Pure card / panel surface */

  /* Typography */
  --bc-ink:          #1A1A18;   /* Primary headings */
  --bc-charcoal:     #2E2E2A;   /* Body text */
  --bc-mid:          #6B6860;   /* Secondary text, captions */
  --bc-muted:        #9E9B93;   /* Labels, placeholders */

  /* Brand accents */
  --bc-gold:         #A08C5B;   /* Primary accent — CTAs, rules, highlights */
  --bc-gold-light:   #C4A96A;   /* Hover states, reversed contexts */
  --bc-forest:       #2D3D2F;   /* Dark accent — footer, dark panels */
  --bc-forest-mid:   #3E5440;   /* Forest hover states */

  /* Borders */
  --bc-border:       rgba(160, 140, 91, 0.18);    /* Standard border */
  --bc-border-strong: rgba(160, 140, 91, 0.40);   /* Emphasis border */
  --bc-border-dark:  rgba(255, 255, 255, 0.12);   /* Dark bg border */

  /* Status */
  --bc-success:      #3A6B3C;
  --bc-warning:      #8B6914;
  --bc-error:        #7A2828;

  /* ─── TYPOGRAPHY ─── */
  --font-display:    'Cormorant Garamond', 'Palatino Linotype', Georgia, serif;
  --font-body:       'Inter', 'Helvetica Neue', Arial, sans-serif;
  --font-label:      'Inter', sans-serif;

  /* Type scale */
  --t-hero:     clamp(3.5rem,  7vw,  6rem);
  --t-h1:       clamp(2.5rem,  5vw,  4rem);
  --t-h2:       clamp(2rem,    3.5vw, 3rem);
  --t-h3:       clamp(1.5rem,  2.5vw, 2rem);
  --t-h4:       clamp(1.25rem, 2vw,  1.5rem);
  --t-body-lg:  1.125rem;
  --t-body:     1rem;
  --t-small:    0.875rem;
  --t-label:    0.75rem;
  --t-micro:    0.6875rem;

  /* Leading */
  --leading-display: 1.08;
  --leading-heading: 1.18;
  --leading-body:    1.72;
  --leading-tight:   1.3;

  /* Letter spacing */
  --ls-display:   -0.02em;
  --ls-heading:   -0.01em;
  --ls-label:      0.1em;
  --ls-caps:       0.18em;

  /* ─── SPACING ─── */
  --sp-1:   0.25rem;
  --sp-2:   0.5rem;
  --sp-3:   0.75rem;
  --sp-4:   1rem;
  --sp-5:   1.25rem;
  --sp-6:   1.5rem;
  --sp-8:   2rem;
  --sp-10:  2.5rem;
  --sp-12:  3rem;
  --sp-16:  4rem;
  --sp-20:  5rem;
  --sp-24:  6rem;
  --sp-32:  8rem;
  --sp-40:  10rem;
  --sp-48:  12rem;

  /* ─── LAYOUT ─── */
  --max-width:       1280px;
  --max-width-text:  720px;
  --max-width-narrow: 560px;
  --gutter:          clamp(1.5rem, 5vw, 4rem);

  /* ─── BORDERS & RADIUS ─── */
  --radius-sm:   3px;
  --radius-md:   6px;
  --radius-lg:   12px;
  --radius-full: 9999px;
  --border-width: 1px;

  /* ─── SHADOWS ─── */
  --shadow-sm:   0 1px 2px rgba(26, 26, 24, 0.04),
                 0 2px 8px rgba(26, 26, 24, 0.03);
  --shadow-md:   0 2px 8px rgba(26, 26, 24, 0.06),
                 0 8px 24px rgba(26, 26, 24, 0.05);
  --shadow-lg:   0 4px 16px rgba(26, 26, 24, 0.08),
                 0 16px 48px rgba(26, 26, 24, 0.07);
  --shadow-hover: 0 8px 32px rgba(26, 26, 24, 0.12),
                  0 2px 8px rgba(26, 26, 24, 0.06);

  /* ─── TRANSITIONS ─── */
  --ease-standard: cubic-bezier(0.4, 0, 0.2, 1);
  --ease-enter:    cubic-bezier(0, 0, 0.2, 1);
  --ease-exit:     cubic-bezier(0.4, 0, 1, 1);
  --duration-fast: 150ms;
  --duration-base: 250ms;
  --duration-slow: 400ms;

  /* ─── Z-INDEX ─── */
  --z-base:    0;
  --z-raised:  10;
  --z-overlay: 100;
  --z-nav:     200;
  --z-modal:   300;
}

/* ─── DARK MODE TOKENS ─── */
[data-theme="dark"] {
  --bc-ivory:        #141410;
  --bc-parchment:    #1C1C18;
  --bc-white:        #222220;
  --bc-ink:          #F0EDE4;
  --bc-charcoal:     #D8D4C8;
  --bc-mid:          #8C8880;
  --bc-muted:        #5E5C55;
  --bc-gold:         #C4A96A;
  --bc-gold-light:   #D9C088;
  --bc-forest:       #A8BCA9;
  --bc-border:       rgba(196, 169, 106, 0.15);
  --bc-border-strong: rgba(196, 169, 106, 0.30);
  --shadow-sm:  0 1px 2px rgba(0,0,0,0.3),   0 2px 8px rgba(0,0,0,0.2);
  --shadow-md:  0 2px 8px rgba(0,0,0,0.4),   0 8px 24px rgba(0,0,0,0.3);
  --shadow-lg:  0 4px 16px rgba(0,0,0,0.5),  0 16px 48px rgba(0,0,0,0.4);
}

/* Dark-mode surface used where --bc-forest would vanish against text
   (forest token flips to a pale green for text usage in dark mode) */
:root {
  --bc-panel-dark:   #2D3D2F;   /* Always-dark panel surface, both themes */
  --bc-panel-darker: #243126;   /* Deeper variant for portal sidebars */
}
[data-theme="dark"] {
  --bc-panel-dark:   #1F2A20;
  --bc-panel-darker: #181F19;
}
