/* Retro-Futurist contrast safety net — loaded last */
/* Direction 5: primary footer, paper/ink pages, hard borders preserved. */

:root {
  --a92-ink: #14213D;
  --a92-paper: #FDF0D5;
  --a92-white: #FFFCF5;
  --a92-primary: #FF6B35;
  --a92-accent: #F7C548;
  --a92-mute: #3D4A66;
  --a92-alert: #E84A2F;
  --a92-mint: #F7C548;
  --font-display: "Righteous", "Arial Black", Impact, sans-serif;
  --font-body: "Work Sans", "Segoe UI", sans-serif;
}

/* Newsletter — navy block ahead of primary footer */
.a92-newsletter {
  color: var(--a92-white) !important;
  background: var(--a92-ink) !important;
}
.a92-newsletter h2 { color: var(--a92-accent) !important; }
.a92-newsletter p { color: rgba(255, 252, 245, 0.85) !important; }
.a92-newsletter-form input {
  color: var(--a92-ink) !important;
  background: var(--a92-white) !important;
}
.a92-newsletter-form button {
  color: var(--a92-white) !important;
  background: var(--a92-primary) !important;
}

/* Footer — bold Primary color block (Direction 5) */
.a92-footer {
  color: var(--a92-white) !important;
  background: var(--a92-primary) !important;
}
.a92-footer a { color: var(--a92-white) !important; }
.a92-footer a:hover {
  color: var(--a92-ink) !important;
  border-bottom-color: var(--a92-accent) !important;
  background: transparent !important;
}
.a92-footer-col h4 { color: var(--a92-accent) !important; }
.a92-footer-brand > p,
.a92-footer-base { color: rgba(255, 252, 245, 0.9) !important; }
.a92-brand--footer .a92-brand-word { color: var(--a92-white) !important; }
.a92-brand--footer .a92-brand-kicker { color: var(--a92-accent) !important; }

/* Form controls: never light-on-light */
body.a92-bespoke input:not([type="checkbox"]):not([type="radio"]),
body.a92-bespoke select,
body.a92-bespoke textarea {
  color: var(--a92-ink);
}
body.a92-bespoke input::placeholder,
body.a92-bespoke textarea::placeholder {
  color: var(--a92-mute);
  opacity: 1;
}

/* Page shells default to paper + ink */
body.stage-product,
body.page-runway-checkout,
body.page-geo-status,
body.brutal-contact,
body.page-kinetic-help,
body.page-track,
body.page-ledger-orders,
body.page-split-account,
body.page-cart,
body.page-shop,
body.page-portal-index,
body.a92-bespoke.page-catalog,
body.a92-bespoke.page-company,
body.a92-bespoke.page-order-success,
body.a92-bespoke.page-catalog-comb,
body.a92-bespoke.page-company-topo,
body.a92-bespoke.page-success-stub {
  color: var(--a92-ink);
  background-color: var(--a92-paper);
}

body.brutal-contact {
  background: var(--a92-paper) !important;
  color: var(--a92-ink) !important;
}

/* Hide panels until explicitly opened */
[hidden] { display: none !important; }
.a92-mega:not(.is-open),
.a92-mobile-drawer:not(.is-open) {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
  opacity: 0 !important;
}

/* Legacy stamp/spine chrome stays suppressed */
.a92-stamp-rail,
.a92-flap-stack,
.a92-flaps,
.a92-brand-block,
.a92-cancel {
  display: none !important;
}

/* Form / field labels stay in normal flow — never sticky, fixed, or absolute overlays */
main label:not(.visually-hidden):not([hidden]),
main legend,
main .a92-runway-label,
main .brutal-field > span,
form label:not(.visually-hidden):not([hidden]),
form legend,
.split-form label,
.telemetry-form label,
.a92-geo-support label,
.paper-search label,
.stage-choice legend,
fieldset > label,
.chip-cloud label {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  inset: auto !important;
}

/* Page side panels with labels must scroll with content */
.a92-stub-departures,
.a92-shop-filters,
.a92-seal-ledger,
.a92-atlas-meter-wrap,
.a92-atlas-concierge,
.a92-lantern-rack,
.a92-tote-tag,
.a92-route-ticket,
.a92-radar-anomaly,
.radial-utility,
.summary-box {
  position: relative !important;
  top: auto !important;
}
