/* ==========================================================
   OLB BASE ADAPTER v1.1 — IKKE en canonical Design System-fil.
   Kobler semantiske HTML-elementer til eksisterende OLB-tokens.
   Indeholder ingen værdier, kun var(--…) – undtagen root-font-size 100 %
   (Typografimaster §16.17: "Browser root-font-size er 100 %").

   Kilde for rollerne: OLB_TYPOGRAFISYSTEM_MASTER §4.1 (headings),
   §14 (tracking), §11 (checkout 100 % Inter), §16 (Bricks governance);
   v0.9.8-CSS note G-18 (H1 bruger display line-height/tracking).
   Loades EFTER den canonical kæde og har lav specificitet (element-selectors),
   så enhver .olb-* komponentklasse vinder.
   ========================================================== */

/* Bricks sætter html { font-size: 62.5% } (1rem = 10px). OLB-tokens er rem-baserede
   og forudsætter 100 % (1rem = 16px). */
html {
  font-size: 100%;
}

body {
  background-color: var(--color-page);
  color: var(--color-text-primary);
  font-family: var(--font-family-body);
  font-size: var(--font-size-body);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-body);
  letter-spacing: var(--tracking-normal);
}

/* Display/H1/H2 = Bricolage (§16.3) */
h1 {
  font-family: var(--font-family-heading);
  font-size: var(--font-size-h1);
  font-weight: var(--font-weight-heading);
  line-height: var(--line-height-display);   /* G-18 */
  letter-spacing: var(--tracking-display);   /* G-18, §14 Display/H1 */
}

h2 {
  font-family: var(--font-family-heading);
  font-size: var(--font-size-h2);
  font-weight: var(--font-weight-heading);
  line-height: var(--line-height-heading);
  letter-spacing: var(--tracking-heading);
}

/* H3/H4 = Inter (§16.4) */
h3 {
  font-family: var(--font-family-body);
  font-size: var(--font-size-h3);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-subheading);
  letter-spacing: var(--tracking-subheading);
}

h4 {
  font-family: var(--font-family-body);
  font-size: var(--font-size-h4);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-card);      /* 1.30 = master §4.1 H4; eget H4-token findes ikke */
  letter-spacing: var(--tracking-normal);    /* H4 står ikke i §14 */
}

/* Checkout er altid 100 % Inter (§11, §16.5). Forhindrer at Bricolage lækker ind.
   Størrelser i checkout ejes af checkout-komponenternes egne klasser. */
body.woocommerce-checkout :is(h1, h2, h3, h4) {
  font-family: var(--font-family-checkout-heading);
}

/* ----------------------------------------------------------
   SECTION SPACING — Layout master v1.0 LOCKED §12
   Masteren definerer relationer ("A → næste"), derfor ejer den
   FOREGÅENDE sektion afstanden via margin-block-end. Kun end-margin:
   ingen dobbelt luft, ingen margin-collapse-tvivl.
   Header → første sektion er ikke defineret i masteren og sættes ikke.
   ---------------------------------------------------------- */

/* Produktsektion → produktsektion: 32 / 40 / 48 */
.olb-section {
  margin-block-end: var(--section-space);
}

/* Kampagne/info → næste: 48 / 64 / 80 */
.olb-section--lg {
  margin-block-end: var(--section-space-lg);
}

/* Hero → første produktsektion: 24 / 32 / 40 */
.olb-section--hero {
  margin-block-end: var(--hero-to-content-space);
}

/* Sidste content → footer: 48 / 64 / 80 (vinder over modifiers) */
.olb-section:last-child {
  margin-block-end: var(--section-space-lg);
}

/* Section title → grid: 16 / 20 / 24 */
.olb-section__heading {
  margin-block-end: var(--section-heading-gap);
}
