/* Self-hosted fonts for Evision Weddings — Playfair Display + Source Sans 3 (latin) */
/* Variable woff2 slices from Google Fonts, served locally. font-display:swap kept. */

/* ── Playfair Display — normal (weights 500/600/700; 600 = hero H1 LCP) ── */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 500 700;
  font-display: swap;
  src: url(../fonts/playfair-display-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* ── Playfair Display — italic (weights 400/600) ── */
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 400 600;
  font-display: swap;
  src: url(../fonts/playfair-display-italic-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* ── Source Sans 3 — normal (weights 400/500/600/700) ── */
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(../fonts/source-sans-3-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ── CLS-reducing local fallback metrics (matches existing site stack) ── */
@font-face {
  font-family: 'Playfair Fallback';
  src: local('Georgia');
  size-adjust: 112%;
  ascent-override: 95%;
  descent-override: 22%;
  line-gap-override: 0%;
}
@font-face {
  font-family: 'Source Fallback';
  src: local('Arial');
  size-adjust: 99%;
  ascent-override: 101%;
  descent-override: 22%;
  line-gap-override: 0%;
}

/* ── WCAG AA contrast fix (shared, scoped) ───────────────────────────────
   When a .cta-panel lands inside an .ivory (cream #f4eadb) section, the
   per-page inline rule `.cta-panel p { color: var(--muted) }` (#cfc0aa)
   wins the specificity tie against `.ivory p` (#3c352c) by source order,
   leaving body text at ~1.50:1 on ivory — fails AA (needs >=4.5:1).
   This higher-specificity override (0,2,1) restores the ivory body-text
   ink (#3c352c -> 10.15:1, PASS) for CTA paragraphs ONLY, scoped to ivory
   sections. It does not touch --muted globally, dark-section CTAs, or any
   heading/link. Lives in the only stylesheet shared across all pages so it
   holds regardless of which pages render the CTA on ivory. */
.ivory .cta-panel p { color: #3c352c; }
