/* Home 2026: homepage-only styles (not part of the ported design copy
   under assets/css/). du2026-form-error is defined ahead of the lead form
   itself (Task 12) so assets.php has a real stylesheet to enqueue as
   du2026-home from its first commit. Tokens only — see assets/css/tokens.css. */

.du2026-form-error {
  display: block;
  margin-top: 4px;
  color: var(--destructive-foreground);
  font-size: var(--text-caption-size);
  line-height: var(--text-caption-line);
  font-weight: var(--text-caption-weight);
}

.du2026-form-error[hidden] {
  display: none;
}

/* A lead form's submit button while its request is in flight (lead.js's
   callers set aria-busy and ignore a second submit meanwhile): a progress
   cursor and the opacity the design gives its own disabled controls
   (button.css, form.css). No pointer-events: none, which would hide that
   cursor, and no colour of its own. */
[data-du2026-lead] button[type="submit"][aria-busy="true"] {
  cursor: progress;
  opacity: 0.5;
}

/* Ruling R22: css/variants/industrial.css's "square everything" reset
   (`html[data-style="industrial"] :not(.showreel, ..., .sticker, .sticker *)
   { border-radius: 0 !important; }`) is loaded on the homepage unscoped, as
   a plain copy of the design file, and its exemption list names the
   design's own `.sticker`/`.sticker--tile`, not our dul- prefixed rename —
   so it squares off the footer's certification badges. Restoring it needs
   the same specificity plus !important to win the cascade; matching the
   offending selector's shape here (html[data-style="industrial"] + classes)
   ties or beats it, and this file loads after it (inc/assets.php), so a tie
   is broken by source order in our favour.
   Ruling R33 (shape: seal|tile) needs two rules, not one: a tile badge
   carries both dul-sticker and dul-sticker--tile, so the plainer, equal-
   specificity first rule would otherwise also round it off fully. The
   second rule's extra class gives it strictly higher specificity, so it
   wins for tiles regardless of source order; the sheen pseudo-element
   (::after) needs no rule of its own — it is clipped to whichever radius
   the parent ends up with by the parent's own overflow: hidden, not by its
   own border-radius: inherit.
   Ruling R36: both values below are the design's own literals, not tokens
   — 50% and 24%, exactly what footer-closing.css gives `.sticker` and
   `.sticker--tile` ($DESIGN/assets/css/sections/footer-closing.css:212,215).
   The "tokens, never raw values" house rule (R22) targets raw *colours*; a
   corner radius the design itself states as a bare percentage is not that,
   and layout.css's own generated `.dul-sticker--tile` rule already carries
   the same literal 24% from this same source file. */
html[data-style="industrial"] .dul-sticker {
  border-radius: 50% !important;
}
html[data-style="industrial"] .dul-sticker.dul-sticker--tile {
  border-radius: 24% !important;
}

/* Spec §5, Ruling R37: restore .showreel__catcher's own display (block: showreel.css sets no display for it, so position: absolute blockifies the <button> UA default of inline-block, confirmed by clearing data-media-pending in the browser and reading getComputedStyle) now that the overlay has a real file to open — assets/css/pages/home.css:93 hides it together with .showreel__control: since item 02 replaced that class with .showreel__bar in showreel.php's markup, that half of the rule is inert (matches nothing); .showreel__bar is not targeted by it. */
.home-editorial .showreel[data-media-pending="true"] .showreel__catcher {
  display: block;
}

/* Globe pins stay round (QA, 23 Oct 2026: "remove the square background on
   the Pins"). The industrial variant squares every ::before
   (variants/industrial.css, border-radius: 0 !important) and the design
   turns the chosen pin into a square pixel (world-globe.css), so each pin's
   halo, its box-shadow, drew a square behind cobe's round marker. Rounding
   the dot rounds its halo too, chosen pin included; this selector's three
   classes outrank the industrial rule's two. */
.home-editorial .world-globe .world-globe__pin::before {
  border-radius: 50% !important;
}
