/**
 * Design tokens — ported verbatim from .docs/mockup/css/tokens.css
 * Source:  .docs/mockup/css/tokens.css (frozen, signed-off mockup)
 * Ported:  6 August 2026
 *
 * This file is the complete set of default design tokens for the signed-off
 * Ocean Calm design system. Theme Settings (admin-only) overrides individual
 * values via a separate inline <style> block emitted after this file — it
 * never rewrites this file. DO NOT EDIT THIS FILE FROM WP ADMIN. Changes to
 * the design system itself must be made in the mockup source and re-ported.
 */
:root {
  /* Ocean Calm Palette */
  --deep-ocean: #1B5E7A;
  --deep-ocean-hover: #164D65;
  --eucalypt: #2D7A5F;
  --eucalypt-hover: #246A51;
  --terracotta: #C97B5A;
  --terracotta-hover: #A8623F;
  --coastal-blue: #A8C8D4;
  --coastal-soft: #D6E4EA;
  /* Eucalypt is the success/eco colour, but at #2D7A5F it is far too dark to
     read on Deep Ocean. This is the mockup's own lift of it (build.html's
     free-shipping confirmation), named here so the one place that needed it
     stops being a bare literal. 4.71:1 on --deep-ocean, clears AA. */
  --eucalypt-on-dark: #9FE0B4;
  --pebble: #F2EDE6;
  --off-white: #FAFAF7;
  --charcoal: #2A2D33;
  --graphite: #6B6B6B;
  --hairline: #E0DACE;
  --hairline-soft: rgba(27, 94, 122, 0.08);

  /* Typography */
  --font-heading: 'Plus Jakarta Sans', sans-serif;
  --font-body: 'Inter', sans-serif;

  /* Fluid Type Scale */
  --text-hero: clamp(52px, 6.8vw, 100px);
  --text-h1: clamp(40px, 5vw, 72px);
  --text-h2: clamp(32px, 4vw, 56px);
  --text-h3: clamp(20px, 1.2vw + 0.6rem, 26px);
  --text-h4: clamp(16px, 0.8vw + 0.5rem, 20px);
  --text-body: clamp(16px, 0.2vw + 0.9rem, 18px);
  --text-lead: clamp(17px, 0.4vw + 0.95rem, 21px);
  --text-small: clamp(13px, 0.15vw + 0.75rem, 15px);
  --text-eyebrow: 11px;

  /* Fluid Spacing Scale */
  --space-3xs: clamp(4px, 0.5vw, 6px);
  --space-2xs: clamp(8px, 1vw, 12px);
  --space-xs: clamp(12px, 1.5vw, 18px);
  --space-s: clamp(16px, 2vw, 24px);
  --space-m: clamp(24px, 3vw, 36px);
  --space-l: clamp(32px, 4vw, 52px);
  --space-xl: clamp(48px, 6vw, 72px);
  --space-2xl: clamp(64px, 8vw, 96px);

  /* Section Spacing */
  --section-space-s: clamp(48px, 6vw, 80px);
  --section-space-m: clamp(80px, 10vw, 140px);
  --section-space-l: clamp(96px, 12vw, 160px);

  /* Layout */
  --space-gutter: clamp(20px, 3vw, 40px);
  --container: 1380px;

  /* Radii */
  --radius-sm: 6px;
  --radius-md: 12px;
  --radius-lg: 20px;
  --radius-pill: 100px;

  /* Shadows */
  --shadow-sm: 0 2px 8px rgba(27, 94, 122, 0.06);
  --shadow-md: 0 8px 24px rgba(27, 94, 122, 0.1);
  --shadow-lg: 0 16px 48px rgba(27, 94, 122, 0.14);

  /* Transitions */
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --duration-fast: 150ms;
  --duration-normal: 280ms;
}

/* ---------------------------------------------------------------------------
 * Button component tokens — ADDED BY THE THEME, not present in the mockup.
 *
 * The mockup hardcodes these values inside css/components.css, which means
 * Theme Settings has nothing to override and every button silently opts out of
 * the design system. The values below are lifted from that file unchanged, so
 * rendering is byte-for-byte identical to the signed-off design — this only
 * gives the values a name.
 *
 * The primary and secondary buttons genuinely differ on two properties
 * (padding-inline 32px vs 28px, font-weight 700 vs 600). Unifying them would
 * visibly change the approved design, so both are tokenised separately rather
 * than collapsed into one.
 * ------------------------------------------------------------------------- */
:root {
  --btn-radius: var(--radius-sm);
  --btn-padding-block: 18px;
  --btn-padding-inline: 32px;
  --btn-padding-inline-secondary: 28px;
  --btn-font-size: 14px;
  --btn-font-weight: 700;
  --btn-font-weight-secondary: 600;
  --btn-letter-spacing: 0.5px;
  --btn-text-transform: uppercase;
  --btn-border-width: 1.5px;

  /* Pure white. The mockup uses #fff in eleven places across seven sections
     for card surfaces and text on dark backgrounds. It is NOT --off-white
     (#FAFAF7), which is the warm page background — so the literal was faithful
     but left those eleven surfaces unable to follow Theme Settings. Naming it
     fixes that. Deliberately not exposed as a field: it is a fixed structural
     colour, like the zero point of the radius scale. */
  --white: #fff;
}
