/* Shared corrections to the ported partner designs.
   Loaded on every partner page, after the design's own stylesheet. */

/* The real typeface.
   ------------------------------------------------------------------
   The design exports ask for `"Helvetica Neue", Helvetica, Arial` and stop
   there. No Linux or Windows machine has Helvetica Neue, and fontconfig quietly
   substitutes a lookalike whose vertical metrics differ — so copy sat off-centre
   inside the fixed-height CTAs and banded blocks.

   The LIVE partner sites solve this by shipping the real faces under their own
   names, served from partners-engine. The same files are vendored in this repo
   under the SAME family names. Declaring them under their own name rather than
   aliasing "Helvetica Neue" matters: an aliased family can still lose to a local
   substitution, which is what made the first attempt at this look fixed while
   measuring wrong.

   THE @font-face DECLARATIONS ARE NOT HERE — they live in
   `public/assets/css/fonts.css`, the one file that declares every face. This
   sheet is loaded only by `PartnerShell`, so while it owned them a partner's
   SiteShell-routed pages (checkout, contact) had no Helvneue at all and fell
   back to the theme's Poppins: two typefaces on one site. `PartnerShell` now
   links `fonts.css` as well, so both paths get the faces from one declaration.

   THE BODY FACE IS 55 (Roman), NOT 45 (Light) — corrected 2026-09-03.
   The design exports declare `Helvneue55` and point at
   `/assets/font/HelvNeue55.woff2`, which did not exist in this repo; only
   `HelvNeue45` and `HelvNeue75_W1G` had been vendored. Because this file loads
   LAST on every partner page, its `body { font-family: "Helvneue45" }` won, so
   the pages rendered in Light where the live sites render Roman — a wrong
   weight, silently, on every Orange page. (Not an Arial fallback: this file's
   faces did load.)

   The real `HelvNeue55.woff2` and `HelvNeue75.woff2` are now vendored from the
   live host, so the design's own declarations resolve and this file no longer
   needs to substitute anything. `Helvneue45` is gone — nothing referenced it
   but the override that caused the defect. */

/* THE FAMILY IS THE SITE'S, NOT THIS FILE'S. This sheet loads LAST on every
   partner page, so naming a face here overrides whatever brand is actually
   rendering: it hardcoded Orange's Helvneue55 and so drew Bouygues Telecom's
   pages in it too, against that brand's own Bouygues Read. The token is set by
   each brand layer; the fallback is only for a partner that has not set one. */
body {
  font-family: var(--font-body, Arial, sans-serif);
}
/* HEADINGS TAKE THE BRAND'S OWN MEDIUM WEIGHT (owner, 2026-09-03: "the hero etc
   on the current dev version is too heavy compared to live").
   Measured on both at 1280px: live draws "Pay as you go" and the USP "4G+" in
   Helvneue55 at font-weight 500, and its Helvneue75 face reports as UNLOADED —
   the live site never downloads the bold at all. This rule used to swap every
   heading onto Helvneue75, so ours rendered the genuine bold typeface against
   live's Roman. That is the whole weight difference.
   Weight 500 against a family with one 400 face is a slight synthetic step, and
   it is exactly what live asks for. */
b, strong, h1, h2, h3, h4, h5, h6, .fw-bold {
  font-weight: var(--weight-medium, 500);
}

/* Footer links must not vanish on hover.
   ------------------------------------------------------------------
   Handled per-rule in each design's own stylesheet: every rule that paints a
   near-white colour gets a matching :hover that repeats it, generated by the
   port pipeline. That covers the black footers AND the dark contact bands,
   which is where the white links actually live — an earlier attempt scoped this
   to `footer` and so missed the "Any Questions?" section entirely.

   Nothing is needed here; the note stays so the next person looks in the right
   place. See tools/design-port/assemble.py. */

/* A DISCLOSURE'S TWO-STATE ICON.
   ------------------------------------------------------------------
   Every partner FAQ ships both glyphs on each row and shows the one that
   matches the row's state — orange-zen a fa-plus/fa-minus pair, Bouygues two
   ico-simops characters. The rule is behaviour, not branding, so it lives here
   rather than being copied into each brand's own base sheet, which is where it
   started life. */
details[open] .state-closed,
details:not([open]) .state-open {
  display: none;
}
