/*
  FloAire HVAC — design tokens
  VISUAL_RECON: values measured from the live source site and the Duda
  export CSS (old-site/Style/*.css). See docs/04-design-system.json for the
  full extraction notes, confidence levels, and open items per token.
*/

:root {
  /* Color — brand */
  --color-brand-primary: #05C7F2;      /* cyan — default button bg, confirmed against manifest.json theme_color */
  --color-brand-primary-text: #00789A; /* the cyan for TEXT on light surfaces: 5.06:1 on white, 4.36:1 on #EEE (#05C7F2 is 2.0:1). Phase 7 accessibility fix; backgrounds keep the true brand cyan */
  --color-brand-accent-red: #DA0D1E;   /* full-bleed section bands + button hover bg — see contrast note below */
  --color-brand-accent-red-source: #F21D2F; /* the un-adjusted source value, kept for reference only, not used */

  /* Color — text */
  --color-text-primary: #000000;
  --color-text-on-red: #FFFFFF;          /* confirmed live on the footer/CTA bands — Phase 2's black reading was a mistargeted element */
  --color-button-text-on-brand: #463939; /* dark warm brown-gray — default (cyan) button state only */

  /* Color — surface */
  --color-surface-page: #EEEEEE;
  --color-surface-header-row: #F4F4F4;
  --color-surface-utility-bar: #FFFFFF;

  /*
    Contrast fix (Phase 4, permitted under the accessibility floor, not a
    redesign): the source's red (#F21D2F) under dark text measured 2.62:1
    on the button hover state, and under its own established white text on
    the footer/CTA bands measured 4.21:1 — both fail WCAG AA for normal
    text (4.5:1). A single hue-preserving darken to #DA0D1E (same hue and
    saturation, ~4% lower lightness) clears 5.18:1 with white text
    everywhere the red appears as a background. Button hover text switches
    from the default state's dark brown-gray to white to match — which
    also matches the site's own established white-on-red convention on the
    footer/CTA bands, so it's a consistency fix, not a foreign choice.
    A placeholder --color-dark-navy from Phase 2 was retracted this phase:
    a live re-check of every top-level row background on /services found
    only the confirmed cyan and red, no distinct navy — the earlier
    screenshot read was likely rendering/compression, not a real element.
  */

  /* Typography — self-hosted, see assets/css/fonts.css.
     "Source Sans 3" is Adobe's current name for Source Sans Pro (same face). */
  --font-body: "Source Sans 3", sans-serif;
  --font-heading-primary: "Poppins", sans-serif;   /* h2, nav links, buttons */
  --font-heading-secondary: "Oswald", sans-serif;  /* h3 */

  --font-size-body: 16px;
  --font-weight-body: 400;
  --font-size-h2: 30px;
  --font-weight-h2: 700;
  --font-size-h3: 24px;
  --font-weight-h3: 700;
  --font-size-nav: 16px;
  --font-weight-nav: 700;
  --letter-spacing-nav: 0.48px;
  --font-size-button: 16px;
  --font-weight-button: 300;
  --line-height-button: 22px;

  /* Geometry — container discipline: exactly one default, no wide variant */
  --container: 1200px;
  --gutter: clamp(1.25rem, 5vw, 4rem);
  --measure: 68ch;

  --radius-button: 6px;

  /* Breakpoints (reference values — real media queries confirmed from source) */
  --bp-tablet: 768px;
  --bp-desktop: 1025px;
  --bp-desktop-large: 1400px;
}
