/* ── Static-rebuild additions (kept out of main.css to preserve it verbatim) ──
   The ONLY rule needed on top of the original stylesheets: the booking
   wizard's honeypot field (replaces the WP nonce inputs — see spec §0b.2). */

/* Honeypot (#inputWebsite, name="website") — must be invisible to humans;
   bots that fill it get a silent 204 from the platform. Standard
   visually-removed clip, !important so no theme rule can ever reveal it. */
.hp-field {
  position: absolute !important;
  inset-inline-start: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip-path: inset(50%) !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* .program-card sets its own `display: flex` in main.css (an author rule),
 * which beats the user-agent `[hidden] { display: none }` regardless of
 * source order (origin, not specificity, decides). The seasonal cards start
 * `hidden` in the static markup (ported behaviour from 06a9d9b) so an expired
 * campaign can never flash before syncHomePrograms() reveals a still-live
 * one — without this override the `hidden` attribute would sit on the
 * element and do nothing. */
.program-card[hidden] { display: none !important; }

/* Company / legal information footer block (v2.2 addendum). Minimal, matches
 * the existing muted footer typography rather than introducing a new visual
 * language for four lines of statutory text. */
.footer__legal {
  border-top: 1px solid var(--border);
  margin-top: 1.5rem;
  padding-top: 1.25rem;
  display: flex;
  flex-wrap: wrap;
  gap: .35rem 1.5rem;
}
.footer__legal-row {
  color: var(--muted);
  font-size: .85rem;
  line-height: 1.5;
}
.footer__legal-row span:first-child {
  color: var(--text);
}
