/* Sitewide contrast fixes — Appily-Ninetyfive / Techstop Innovations
   Loaded after page skins so text meets WCAG AA on pale & bright surfaces.
   Keeps brand hues; deepens links / CTA fills; fixes mute/placeholder/stars. */

/* —— Harborline (legacy pages) —— */
body.a95-store a:hover,
body.bespoke.harbor a:hover {
  color: var(--color-primary-hover, #083D54);
}

body.a95-store,
body.bespoke.harbor {
  --color-accent: #D94A3F;
  --color-accent-hover: #B83A32;
  --color-secondary: #455A5D;
  --color-text-muted: #3F4A56;
}

/* —— Shared: deepen in-content links on pale skins —— */
body.volt-bazaar a { color: #B02A00; }
body.volt-bazaar a:hover,
body.volt-bazaar a:focus-visible { color: #7A1C00; }

body.windrow-broadcast a { color: #145234; }
body.windrow-broadcast a:hover,
body.windrow-broadcast a:focus-visible { color: #0E3C26; }

body.filmstrip-bay a { color: #B01048; }
body.filmstrip-bay a:hover,
body.filmstrip-bay a:focus-visible { color: #7A0A32; }

body.fizz-counter a { color: #B01038; }
body.fizz-counter a:hover,
body.fizz-counter a:focus-visible { color: #7A0A28; }

body.chime-rail a { color: #B01038; }
body.chime-rail a:hover,
body.chime-rail a:focus-visible { color: #7A0A28; }

body.conveyor-bowl a { color: #B01030; }
body.conveyor-bowl a:hover,
body.conveyor-bowl a:focus-visible { color: #7A0A20; }

body.marble-run a { color: #B83200; }
body.marble-run a:hover,
body.marble-run a:focus-visible { color: #7A2200; }

body.franking-desk a { color: #B01048; }
body.franking-desk a:hover,
body.franking-desk a:focus-visible { color: #7A0A32; }

body.patchbay-desk a { color: #A01090; }
body.patchbay-desk a:hover,
body.patchbay-desk a:focus-visible { color: #6E0A62; }

body.paper-plane-route a { color: #C22818; }
body.paper-plane-route a:hover,
body.paper-plane-route a:focus-visible { color: #8A1A10; }

body.trapeze-booth a { color: #B00A40; }
body.trapeze-booth a:hover,
body.trapeze-booth a:focus-visible { color: #7A062C; }

body.pneumatic-desk a { color: #B83200; }
body.pneumatic-desk a:hover,
body.pneumatic-desk a:focus-visible { color: #7A2200; }

body.scratch-ticket-desk a { color: #A01060; }
body.scratch-ticket-desk a:hover,
body.scratch-ticket-desk a:focus-visible { color: #6E0A42; }

body.comic-frame-desk a { color: #B01048; }
body.comic-frame-desk a:hover,
body.comic-frame-desk a:focus-visible { color: #7A0A32; }

body.keybed-index a { color: #B83800; }
body.keybed-index a:hover,
body.keybed-index a:focus-visible { color: #7A2600; }

body.frequency-desk a { color: #9F1239; }
body.frequency-desk a:hover,
body.frequency-desk a:focus-visible { color: #6E0C28; }

/* —— Bright CTAs / skips / hop badges: darken fill so white text clears AA —— */
body.volt-bazaar .skip-link,
body.volt-bazaar .a95-volt-btn--volt,
body.volt-bazaar .a95-volt-sail-mark,
body.volt-bazaar .a95-volt-pennant--2 {
  background-color: #C23000 !important;
  color: #FFFDF8 !important;
}

body.windrow-broadcast .skip-link,
body.windrow-broadcast .a95-wr-btn--moss,
body.windrow-broadcast .a95-wr-brand-mark {
  background-color: #145234 !important;
  color: #F3F6F1 !important;
}

body.windrow-broadcast .a95-wr-btn--rust {
  background-color: #8F3816 !important;
  color: #FFF8F2 !important;
}

body.windrow-broadcast .a95-wr-hero-copy > p {
  color: rgba(243, 246, 241, 0.92) !important;
}

body.filmstrip-bay .skip-link,
body.filmstrip-bay .a95-film-cta:not(.is-disabled),
body.filmstrip-bay .a95-film-apply,
body.filmstrip-bay .a95-film-hops a em {
  background-color: #C21850 !important;
  color: #FFFDF8 !important;
}

body.fizz-counter .skip-link,
body.fizz-counter .a95-fizz-btn--cherry {
  background-color: #C21840 !important;
  color: #FFFDF8 !important;
}

body.chime-rail .skip-link,
body.chime-rail .a95-chime-btn--strike {
  background-color: #C21840 !important;
  color: #FFFDF8 !important;
}

body.conveyor-bowl .skip-link,
body.conveyor-bowl .a95-bowl-btn--chili,
body.conveyor-bowl .a95-bowl-cta {
  background-color: #C21838 !important;
  color: #FFFDF8 !important;
}

body.marble-run .skip-link,
body.marble-run .a95-marble-btn--ember {
  background-color: #C23800 !important;
  color: #FFFDF8 !important;
}

body.franking-desk .skip-link,
body.franking-desk .a95-frank-btn--flamingo {
  background-color: #C21850 !important;
  color: #FFFDF8 !important;
}

body.patchbay-desk .skip-link,
body.patchbay-desk .a95-patch-cta {
  background-color: #B01098 !important;
  color: #FFFDF8 !important;
}

body.paper-plane-route .skip-link,
body.paper-plane-route .a95-plane-btn--coral {
  background-color: #C22818 !important;
  color: #FFFDF8 !important;
}

body.trapeze-booth .skip-link,
body.trapeze-booth .a95-trap-btn--hot {
  background-color: #C21048 !important;
  color: #FFFDF8 !important;
}

body.pneumatic-desk .skip-link,
body.pneumatic-desk .a95-pneu-btn--blaze {
  background-color: #C23800 !important;
  color: #FFFDF8 !important;
}

body.scratch-ticket-desk .skip-link,
body.scratch-ticket-desk .a95-sc-btn--hot {
  background-color: #B01068 !important;
  color: #FFFDF8 !important;
}

body.comic-frame-desk .skip-link,
body.comic-frame-desk .a95-cm-btn--pop {
  background-color: #C21850 !important;
  color: #FFFDF8 !important;
}

body.keybed-index .skip-link,
body.keybed-index .a95-key-btn--blaze {
  background-color: #C23800 !important;
  color: #FFFDF8 !important;
}

body.frequency-desk .skip-link,
body.frequency-desk .a95-fq-btn--rose {
  background-color: #BE123C !important;
  color: #FFFDF8 !important;
}

/* —— Teal / azure hops & scroll-top: dark text on mid teal OR darker teal + white —— */
body.paper-plane-route .a95-plane-hops a:hover,
body.paper-plane-route .a95-plane-chip.is-live,
body.paper-plane-route .a95-plane-btn--azure,
body.paper-plane-route .a95-scroll-top {
  background-color: #1568B8 !important;
  color: #FFFDF8 !important;
}

body.franking-desk .a95-frank-hops a:hover,
body.franking-desk .a95-frank-btn--teal,
body.franking-desk .a95-scroll-top {
  background-color: #007A72 !important;
  color: #FFFDF8 !important;
}

body.conveyor-bowl .a95-bowl-hops a:hover,
body.conveyor-bowl .a95-scroll-top {
  background-color: #007A6C !important;
  color: #FFFDF8 !important;
}

body.marble-run .a95-marble-hops a:hover,
body.marble-run .a95-marble-pill.is-transit,
body.marble-run .a95-scroll-top {
  background-color: #1A5FCC !important;
  color: #FFFDF8 !important;
}

body.pneumatic-desk .a95-pneu-hops a:hover,
body.pneumatic-desk .a95-scroll-top {
  background-color: #1A4A9E !important;
  color: #FFFDF8 !important;
}

body.frequency-desk .a95-fq-hops a:hover,
body.frequency-desk .a95-scroll-top {
  background-color: #0F766E !important;
  color: #FFFDF8 !important;
}

/* —— Kickers / meta that used neon accents on pale paper —— */
body.patchbay-desk .a95-patch-kicker {
  color: #A01090 !important;
}

body.keybed-index .a95-key-kicker {
  color: #B83800 !important;
}

body.trapeze-booth .a95-trap-stock {
  color: #007A74 !important;
  background: rgba(0, 122, 116, 0.12);
}

/* —— Trap stars: near-invisible empty + gold-on-pink —— */
body.trapeze-booth .a95-trap-star {
  color: #6B5560 !important;
  opacity: 1 !important;
}

body.trapeze-booth .a95-trap-star.is-filled {
  color: #9A6A00 !important;
}

/* —— Fizz active lever labels: mint/pink on foam —— */
body.fizz-counter .a95-fizz-lever.is-active .a95-fizz-lever-label {
  color: #007A5C !important;
}

body.fizz-counter .a95-fizz-lever[data-tab="signin"].is-active .a95-fizz-lever-label {
  color: #B01038 !important;
}

/* —— Film dark search placeholder —— */
body.filmstrip-bay .a95-film-search input::placeholder {
  color: rgba(255, 240, 245, 0.78) !important;
}

/* —— Mute / secondary body copy: slightly deepen where skins use soft mute —— */
body.volt-bazaar {
  --vb-mute: #4A3A58;
}
body.windrow-broadcast {
  --wr-mute: #3E4A40;
}
body.filmstrip-bay {
  --fm-mute: #4A3A42;
}
body.fizz-counter {
  --fz-mute: #44555E;
}
body.chime-rail {
  --ch-mute: #3A444E;
}
body.conveyor-bowl {
  --bw-mute: #3A444C;
}
body.marble-run {
  --mb-mute: #3A4A3E;
}
body.franking-desk {
  --fk-mute: #3A4450;
}
body.patchbay-desk {
  --pb-mute: #3A444C;
}
body.paper-plane-route {
  --pl-mute: #3A4654;
}
body.trapeze-booth {
  --tr-mute: #3A3840;
}
body.pneumatic-desk {
  --pn-mute: #3A4654;
}
body.scratch-ticket-desk {
  --sc-mute: #3A3844;
}
body.comic-frame-desk {
  --cm-mute: #3A444C;
}
body.keybed-index {
  --ky-mute: #3A4654;
}
body.frequency-desk {
  --fq-mute: #344048;
}

/* —— Filebay footer: ember mark / lagoon CTA / brass mail —— */
.a95-filebay .a95-fb-mark,
.a95-filebay .a95-fb-chip:not(.a95-fb-chip--quiet) {
  background-color: #A64100 !important;
  color: #FFF8F2 !important;
}

.a95-filebay .a95-fb-slot-btn,
.a95-filebay .a95-fb-chip--quiet {
  background-color: #0A7A6E !important;
  color: #F4FFFD !important;
}

.a95-filebay .a95-fb-slot-btn:hover,
.a95-filebay .a95-fb-slot-btn:focus-visible {
  background-color: #086257 !important;
  color: #F4FFFD !important;
}

.a95-filebay .a95-fb-blurb,
.a95-filebay .a95-fb-toekick > span:first-child {
  color: #C5CEDA !important;
}

.a95-filebay .a95-fb-toekick {
  color: #B8C2D0 !important;
}

.a95-filebay .a95-fb-mail {
  color: #E0C070 !important;
}

.a95-filebay .a95-fb-mail:hover,
.a95-filebay .a95-fb-mail:focus-visible {
  color: #FFE6A8 !important;
}

.a95-filebay .a95-fb-tray a:hover,
.a95-filebay .a95-fb-tray a:focus-visible {
  color: #A64100 !important;
}

.a95-filebay .a95-fb-drawer--lagoon .a95-fb-tray a:hover,
.a95-filebay .a95-fb-drawer--lagoon .a95-fb-tray a:focus-visible {
  color: #0A7A6E !important;
}

.a95-filebay .a95-fb-drawer--brass .a95-fb-tray a:hover,
.a95-filebay .a95-fb-drawer--brass .a95-fb-tray a:focus-visible {
  color: #7A6430 !important;
}

.a95-filebay .a95-fb-drawer--slate .a95-fb-tray a:hover,
.a95-filebay .a95-fb-drawer--slate .a95-fb-tray a:focus-visible {
  color: #445260 !important;
}

/* —— Form placeholders (pale fields) —— */
body.bespoke input::placeholder,
body.bespoke textarea::placeholder,
body.a95-store input::placeholder,
body.a95-store textarea::placeholder {
  color: #5A6570 !important;
  opacity: 1;
}

body.filmstrip-bay .a95-film-search input::placeholder {
  color: rgba(255, 240, 245, 0.78) !important;
}

/* —— Disabled / ghost text —— */
body.bespoke [aria-disabled="true"],
body.bespoke .is-disabled,
body.bespoke :disabled {
  opacity: 0.72;
  color: inherit;
}

/* —— Extra dark-panel secondary copy (labels / hints) —— */
body.filmstrip-bay .a95-film-search > span,
body.filmstrip-bay .a95-film-aperture > span,
body.filmstrip-bay .a95-film-price-note,
body.filmstrip-bay .a95-film-edge-cat {
  color: rgba(255, 240, 245, 0.85) !important;
}

body.patchbay-desk .a95-patch-jack > span:first-child,
body.patchbay-desk .a95-patch-policy,
body.patchbay-desk .a95-patch-jack-hint {
  color: rgba(238, 255, 246, 0.85) !important;
}

body.patchbay-desk .a95-patch-error {
  color: #FFE8F7 !important;
}

body.trapeze-booth .a95-trap-grip {
  color: rgba(255, 232, 242, 0.85) !important;
}

body.franking-desk .a95-frank-count span {
  color: rgba(232, 240, 255, 0.88) !important;
}

body.conveyor-bowl .a95-bowl-belt-head p {
  color: rgba(240, 255, 232, 0.88) !important;
}

body.chime-rail .a95-chime-door-meta {
  color: rgba(234, 246, 255, 0.88) !important;
}

body.marble-run .a95-marble-gate {
  color: rgba(229, 246, 220, 0.88) !important;
}
