/* ==========================================================================
   nest-coldbrew / tokens.css — ENTIRE visual identity (contract §7)
   coldbrewnest.com — "Gece yarısı kafé, amber ışıltı"  ★ DARK SITE ★
   Motion: data-motion="settle" — liquid pours in and settles; marquee glow.
   --------------------------------------------------------------------------
   3-layer structure: primitives → semantic overrides → brand physics.
   THE dark-mode proof for the whole system: components must never assume a
   light background — elevation here comes from lighter surfaces + deeper
   shadows (--shadow-color override below), not gray-on-white.
   @font-face lives in the skin's font CSS enqueued by functions.php.
   ========================================================================== */

/* ---- 1. Primitives: the midnight café palette ---------------------------- */
:root {
  --cb-espresso:   #100C0A;  /* near-black roast — page ground              */
  --cb-roast:      #1E1714;  /* lifted dark surface — cards, bars           */
  --cb-crema:      #EFE3CE;  /* crema foam — primary text                   */
  --cb-crema-dim:  #C7B294;  /* settled crema — secondary text              */
  --cb-amber:      #D98E32;  /* backlit amber — brand & CTA                 */
  --cb-copper:     #8C5A2B;  /* copper kettle — deep warm support           */
  --cb-glacier:    #9FB8C4;  /* ice cube blue — cool sparing accent         */
  --cb-grounds:    #32261E;  /* wet grounds — hairlines on dark             */
}

/* ---- 2. Semantic overrides (contract §2) --------------------------------- */
:root {
  --color-bg:       var(--cb-espresso);
  --color-surface:  var(--cb-roast);
  --color-ink:      var(--cb-crema);
  --color-ink-soft: var(--cb-crema-dim);
  --color-brand:    var(--cb-amber);
  --color-accent:   var(--cb-glacier);
  --color-cta:      var(--cb-amber);
  --color-cta-ink:  var(--cb-espresso);
  --color-line:     var(--cb-grounds);

  /* Dark site: shadows must be near-black and much stronger to read
     against the espresso ground (parent default is a faint warm gray). */
  --shadow-color: rgb(0 0 0 / 0.55);
}

/* ---- 3. Brand physics -----------------------------------------------------
   settle: medium-long pours on a liquid out-curve — momentum, then rest. */
:root {
  --radius-base: 6px;                              /* soft glassware edge   */
  --dur-reveal: 800ms;                             /* viscous, unhurried    */
  --ease-brand: cubic-bezier(0.16, 1, 0.3, 1);     /* pour → settle         */

  /* Typography: syrupy display serif + matter-of-fact grotesque body. */
  --font-display: "Fraunces", "Iowan Old Style", "Palatino Linotype",
                  Georgia, serif;
  --font-body: "Work Sans", system-ui, -apple-system, "Segoe UI",
               "Helvetica Neue", Arial, sans-serif;
}

/* DARK identity: this is the one declaration that tells the browser to
   render native form controls, scrollbars and the UA default canvas dark.
   Without it, selects/inputs flash white inside the espresso layout. */
:root {
  color-scheme: dark;
}

/* Copper is support-only (dividers in art, logo strokes) — kept out of the
   semantic set so contrast on dark stays AA. Exposed for skin assets. */
:root {
  --brand-garnish: var(--cb-copper);
}

/* ---- 4. Contrast receipts (WCAG, computed — keep updated if palette moves)
   ink      / bg       15.34:1  AAA
   ink      / surface  13.93:1  AAA  (cards keep full readability)
   ink-soft / bg        9.48:1  AAA
   brand    / bg        7.29:1  AAA  (amber works as text on espresso)
   cta-ink  / cta       7.29:1  AAA  (espresso text on amber button)
   accent   / bg        9.39:1  AAA  (glacier blue reads crisply)
   Best contrast spread in the family — the dark site is also the most
   accessible one. Shadows: see --shadow-color override above (elevation
   on dark needs near-black, high-alpha shadows + lighter surfaces).
   ------------------------------------------------------------------------ */
