/* Edsby re-skin — base layer. Load after tokens.css.
   This replaces the look of the theme's existing type and control styles.
   It is deliberately low-specificity so theme rules can still win where they must;
   where the theme fights it, repoint the theme's own declaration at the variables
   rather than adding !important here. */

/* Fonts: add to <head> (or enqueue) before this file.
   <link rel="preconnect" href="https://fonts.googleapis.com">
   <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
   <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@500;600;700;800&family=Public+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400&family=DM+Serif+Display&display=swap">
   DM Serif Display is used for ONE glyph (the opening quote mark). If the weight
   budget matters, subset it to that character. */

body {
  margin: 0;
  background: var(--eds-white);
  color: var(--eds-navy);
  font-family: var(--eds-font-body);
  font-size: var(--eds-body);
  line-height: var(--eds-body-lh);
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 { font-family: var(--eds-font-display); color: var(--eds-navy); margin: 0; }
h1 { font-size: var(--eds-h1); line-height: var(--eds-h1-lh); font-weight: 700; letter-spacing: -.6px; }
h2 { font-size: var(--eds-h2); line-height: var(--eds-h2-lh); font-weight: 700; }
h3 { font-size: var(--eds-h3); line-height: var(--eds-h3-lh); font-weight: 700; }
p  { margin: 0; }

/* Eyebrow: the small uppercase label above a section title. */
.eds-eyebrow {
  font-family: var(--eds-font-display);
  font-size: var(--eds-eyebrow); line-height: var(--eds-eyebrow-lh);
  font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase;
  color: var(--eds-blue);
}
/* On navy the eyebrow is gold, because blue on navy is too dark. */
.eds-on-navy .eds-eyebrow { color: var(--eds-gold); }

/* Links. Blue on white only. On Mist use navy; on navy use white or gold. */
a { color: var(--eds-blue); }
/* Links: see DESIGN-NOTES.md. A plain text link keeps its colour and gains an underline on hover and focus. */
a:where(:not([class])):hover, a:where(:not([class])):focus-visible { text-decoration: underline; text-underline-offset: 3px; }
.eds-on-navy a { color: var(--eds-white); }
.eds-on-mist a { color: var(--eds-navy); }

/* ------------------------------------------------------------------ buttons
   Three only. Do not invent a fourth. */
.eds-btn {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 15px 32px; border: 0; border-radius: var(--eds-radius-pill);
  font-family: var(--eds-font-body); font-size: var(--eds-body); line-height: 26px;
  font-weight: 600; text-decoration: none; cursor: pointer;
  transition: transform var(--eds-t-hover) var(--eds-ease),
              box-shadow var(--eds-t-hover) var(--eds-ease),
              background-color var(--eds-t-hover) var(--eds-ease),
              color var(--eds-t-hover) var(--eds-ease);
}
.eds-btn--primary { background: var(--eds-gold); color: var(--eds-navy); }       /* the ask */
.eds-btn--secondary { background: var(--eds-blue); color: var(--eds-white); }    /* header CTA */
.eds-btn--ghost { background: transparent; color: var(--eds-navy); border: 1.5px solid var(--eds-navy); padding: 13.5px 28px; }
.eds-on-navy .eds-btn--ghost { color: var(--eds-white); border-color: rgba(255,255,255,.75); }

.eds-btn:hover { transform: translateY(-1px); box-shadow: var(--eds-shadow-lift); }
.eds-btn:active { transform: translateY(0); box-shadow: none; transition-duration: var(--eds-t-press); }
.eds-btn .eds-arrow { transition: transform var(--eds-t-hover) var(--eds-ease); }
.eds-btn:hover .eds-arrow { transform: translateX(3px); }

/* Outlined button: fills on hover. Used for the four Help CTAs. */
.eds-btn--outline { background: var(--eds-white); color: var(--eds-blue); border: 1.5px solid var(--eds-blue); padding: 11px 16px; border-radius: var(--eds-radius-sm); }
.eds-btn--outline:hover { background: var(--eds-blue); color: var(--eds-white); box-shadow: 0 4px 12px rgba(16,117,185,.22); }

/* ------------------------------------------------------------------- focus
   Every interactive element, no exceptions. Gold reads on white, navy and blue. */
a:focus-visible, button:focus-visible, input:focus-visible,
select:focus-visible, textarea:focus-visible, [tabindex]:focus-visible {
  outline: 3px solid var(--eds-gold);
  outline-offset: 2px;
  border-radius: var(--eds-radius-sm);
}
/* On gold grounds the ring switches to navy so it stays visible. */
.eds-on-gold a:focus-visible, .eds-on-gold button:focus-visible { outline-color: var(--eds-navy); }

/* ------------------------------------------------------------------ layout */
.eds-section { box-sizing: border-box; padding: var(--eds-section-y) var(--eds-gutter-desktop); }
.eds-section--navy { background: var(--eds-navy); color: var(--eds-white); }
.eds-section--mist { background: var(--eds-mist); }
.eds-section--blue { background: var(--eds-blue); color: var(--eds-white); }

/* Cards and product screens are square-cornered. Only pills, menu rows and the
   few named components in tokens.css carry a radius. */
.eds-card { background: var(--eds-white); border: 1px solid var(--eds-grey); border-radius: var(--eds-radius-none); }

/* -------------------------------------------------------------- breakpoints */
@media (max-width: 1023px) {
  .eds-section { padding: var(--eds-section-y-tablet) var(--eds-gutter-tablet); }
  :root { --eds-h1: 46px; --eds-h1-lh: 56px; --eds-h1-hero: 44px; --eds-h1-hero-lh: 52px;
          --eds-h2: 32px; --eds-h2-lh: 40px; --eds-h2-lg: 34px; --eds-h2-lg-lh: 42px; }
}
@media (max-width: 599px) {
  .eds-section { padding: var(--eds-section-y-phone) var(--eds-gutter-phone); }
  :root { --eds-h1: 34px; --eds-h1-lh: 42px; --eds-h1-hero: 34px; --eds-h1-hero-lh: 42px;
          --eds-h2: 28px; --eds-h2-lh: 36px; --eds-h2-lg: 28px; --eds-h2-lg-lh: 36px;
          --eds-lead: 17px; --eds-lead-lh: 27px; }
  body { font-size: var(--eds-body); }
}

/* ------------------------------------------------------------------ motion */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
  .eds-btn:hover { transform: none; }
}
