/* Site-wide readability lock — loaded LAST. Fixes invisible text on light/dark surfaces. */

/* ========== BASE ========== */
body.a87-store {
  color: #12181F;
  -webkit-font-smoothing: antialiased;
}
body.a87-store ::placeholder {
  color: #5A6672 !important;
  opacity: 1 !important;
}
body.a87-store .notice {
  color: #12181F !important;
}
body.a87-store .notice.error { color: #922B21 !important; }
body.a87-store .notice.success { color: #1E5631 !important; }
body.a87-store .notice.warning { color: #7A5C00 !important; }

/* ========== GLOBAL BUTTONS ========== */
/* Solid / primary → white label */
body.a87-store .btn-primary,
body.a87-store a.btn-primary,
body.a87-store .a87-btn-shop:not(.a87-btn-shop--ghost),
body.a87-store .a87-btn-shop--dark,
body.a87-store .a87-btn-all,
body.a87-store .a87-vault-btn--primary,
body.a87-store .a87-tray-btn--primary,
body.a87-store .a87-ledger-btn--primary,
body.a87-store .a87-pier-btn--primary,
body.a87-store .a87-beacon-btn--primary,
body.a87-store .a87-loom-btn--cart,
body.a87-store span.a87-loom-btn--cart,
body.a87-store .a87-ink-btn--primary,
body.a87-store .a87-chime-btn--primary,
body.a87-store .a87-charter-btn--primary,
body.a87-store .a87-archive-btn--primary,
body.a87-store .a87-river-filter-btn,
body.a87-store .a87-price-apply,
body.a87-store .a87-obs-btn--solid,
body.a87-store .a87-obs-add,
body.a87-store .a87-pulse-go,
body.a87-store .a87-signal-desk-btn,
body.a87-store .a87-frame-news-btn,
body.a87-store .a87-search-sheet button[type="submit"],
body.a87-store .a87-plate-flag,
body.a87-store .pagination-btn.is-active,
body.a87-store .a87-page-num.is-active {
  color: #FFFFFF !important;
}
body.a87-store .btn-primary:hover,
body.a87-store .btn-primary:focus-visible,
body.a87-store .a87-btn-shop:not(.a87-btn-shop--ghost):hover,
body.a87-store .a87-btn-all:hover,
body.a87-store .a87-vault-btn--primary:hover,
body.a87-store .a87-tray-btn--primary:hover,
body.a87-store .a87-ledger-btn--primary:hover,
body.a87-store .a87-pier-btn--primary:hover,
body.a87-store .a87-beacon-btn--primary:hover,
body.a87-store .a87-loom-btn--cart:hover,
body.a87-store .a87-ink-btn--primary:hover,
body.a87-store .a87-chime-btn--primary:hover,
body.a87-store .a87-charter-btn--primary:hover,
body.a87-store .a87-archive-btn--primary:hover,
body.a87-store .a87-river-filter-btn:hover,
body.a87-store .a87-price-apply:hover,
body.a87-store .a87-obs-btn--solid:hover,
body.a87-store .a87-obs-add:hover,
body.a87-store .a87-pulse-go:hover,
body.a87-store .a87-signal-desk-btn:hover,
body.a87-store .a87-frame-news-btn:hover,
body.a87-store .a87-page-num:hover,
body.a87-store .a87-page-arrow:hover {
  color: #FFFFFF !important;
}

/* Quiet / light / outline → dark ink */
body.a87-store .btn-light,
body.a87-store .a87-btn-shop--ghost,
body.a87-store .a87-tray-btn--quiet,
body.a87-store .a87-pier-btn--quiet,
body.a87-store .a87-beacon-btn--quiet,
body.a87-store .a87-loom-btn--buy,
body.a87-store span.a87-loom-btn--buy,
body.a87-store .a87-chime-btn--quiet,
body.a87-store .a87-charter-btn--quiet,
body.a87-store .a87-search-dismiss,
body.a87-store .a87-river-chip:not(.is-active),
body.a87-store .a87-view-btn:not(.is-active):not(:hover),
body.a87-store .a87-loom-chip:not(.is-active),
body.a87-store .a87-loom-tab:not(.is-active),
body.a87-store .a87-page-num:not(.is-active):not(:hover),
body.a87-store .a87-page-arrow:not(:hover) {
  color: #12181F !important;
}
body.a87-store .a87-tray-btn--ghost,
body.a87-store .a87-ledger-btn--ghost {
  color: #0A5C56 !important;
}
body.a87-store .a87-loom-chip.is-active,
body.a87-store .a87-loom-tab.is-active {
  color: #1D4ED8 !important;
}

/* Disabled stays readable grey */
body.a87-store .a87-loom-btn.is-disabled,
body.a87-store span.a87-loom-btn.is-disabled,
body.a87-store button:disabled,
body.a87-store .btn:disabled {
  color: #3D4A56 !important;
  background: #CBD5DE !important;
  opacity: 1 !important;
  border-color: #CBD5DE !important;
}

/* ========== NAVBAR (Bloom) ========== */
/* Default white on dark glass — EXCEPT yellow Menu and active petal */
.a87-bloom a.a87-bloom-brand,
.a87-bloom a.a87-bloom-petal:not(.is-active),
.a87-bloom a.a87-bloom-node,
.a87-bloom button.a87-bloom-petal:not(.is-active),
.a87-bloom button.a87-bloom-node,
.a87-bloom .a87-bloom-mark,
.a87-bloom .a87-bloom-word strong,
.a87-bloom .a87-bloom-node span {
  color: #FFFFFF !important;
}
/* Menu / Close = dark on yellow (must beat .a87-bloom button) */
.a87-bloom button.a87-bloom-toggle,
.a87-bloom button.a87-bloom-toggle span,
.a87-bloom button.a87-bloom-toggle:hover,
.a87-bloom button.a87-bloom-toggle:focus-visible,
.a87-bloom[data-open="true"] button.a87-bloom-toggle,
.a87-bloom[data-open="true"] button.a87-bloom-toggle span {
  background: #F5C518 !important;
  color: #03050A !important;
}
.a87-bloom[data-open="true"] button.a87-bloom-toggle {
  background: #FFE566 !important;
}
.a87-bloom .a87-bloom-word em {
  color: #FFE566 !important;
}
.a87-bloom a.a87-bloom-petal:hover,
.a87-bloom a.a87-bloom-petal:focus-visible,
.a87-bloom button.a87-bloom-petal:hover,
.a87-bloom button.a87-bloom-petal:focus-visible,
.a87-bloom a.a87-bloom-node:hover,
.a87-bloom a.a87-bloom-node:focus-visible,
.a87-bloom button.a87-bloom-node:hover,
.a87-bloom button.a87-bloom-node:focus-visible {
  color: #FFFFFF !important;
}
/* Active petal = dark on yellow */
.a87-bloom a.a87-bloom-petal.is-active,
.a87-bloom a.a87-bloom-petal.is-active:hover,
.a87-bloom button.a87-bloom-petal.is-active,
.a87-bloom button.a87-bloom-petal.is-active:hover {
  background: #F5C518 !important;
  color: #03050A !important;
}
.a87-bloom a.a87-bloom-petal.is-hot:not(.is-active) {
  color: #FFE566 !important;
}
.a87-bloom a.a87-bloom-petal.is-hot:not(.is-active):hover {
  background: #F5C518 !important;
  color: #03050A !important;
}
.a87-bloom .a87-bloom-badge {
  background: #F5C518 !important;
  color: #03050A !important;
}
.a87-bloom .a87-bloom-ico {
  color: #4AF0FF !important;
}

/* Mega menu */
.a87-mega,
.a87-mega a,
.a87-mega h4,
.a87-mega h4 a,
.a87-mega-promo,
.a87-mega-promo strong,
.a87-mega-promo span {
  color: #FFFFFF !important;
}
.a87-mega a:hover,
.a87-mega a:focus-visible {
  color: #FFE566 !important;
}
.a87-mega-promo small {
  color: #FFE566 !important;
}

/* Search sheet */
.a87-search-sheet input {
  color: #03050A !important;
}
.a87-search-sheet input::placeholder {
  color: #5A6672 !important;
}
.a87-search-sheet button[type="submit"] {
  color: #FFFFFF !important;
}
.a87-search-dismiss {
  color: #03050A !important;
}

/* ========== FOOTER ========== */
.a87-frame,
.a87-frame-blurb,
.a87-frame-copy,
.a87-frame-pay,
.a87-frame-social a,
.a87-frame-col a,
.a87-frame-col h4,
.a87-frame-brand,
.a87-frame-brand-text span:first-child {
  color: #FBFCFD !important;
}
.a87-frame-brand-text span:last-child,
.a87-frame-news-label,
.a87-frame-top,
.a87-back-top {
  color: #FFE566 !important;
}
.a87-frame-brand-mark,
.a87-frame-news-btn,
.a87-frame a.a87-frame-news-btn {
  color: #FFFFFF !important;
}
.a87-frame-news-row input[type="email"] {
  color: #FBFCFD !important;
}
.a87-frame-news-row input[type="email"]::placeholder {
  color: rgba(251, 252, 253, 0.7) !important;
}
.a87-frame-social a:hover,
.a87-frame-col a:hover,
.a87-frame-top:hover,
.a87-back-top:hover {
  color: #FFE566 !important;
}

/* ========== DARK PANELS ========== */
.a87-vault-rail,
.a87-vault-rail h2,
.a87-vault-tab,
.a87-vault-perks,
.a87-vault-perks h3,
.a87-vault-perks li,
.a87-signal-desk,
.a87-signal-desk h3,
.a87-signal-desk > p,
.a87-signal-desk-box,
.a87-signal-desk-hours,
.a87-pulse-scan,
.a87-pulse-scan h2,
.a87-pulse-scan > p,
.a87-pulse-field span,
.a87-obs-lanes--dark,
.a87-obs-lanes--dark h2,
.a87-obs-product h3 a,
.a87-obs-product h3,
.buy-panel,
.buy-panel *,
.buy-form label,
.a87-vault-toast,
.auth-split-tabs,
.auth-split-tab {
  color: #FBFCFD !important;
}
.a87-vault-pill,
.a87-vault-btn--link,
.a87-vault-perks em,
.a87-signal-desk-mail,
.a87-signal-desk-box strong,
.a87-pulse-reset,
.a87-obs-lanes--dark .a87-obs-eyebrow,
.a87-obs-product p,
.price-lg,
.auth-split-tab.is-active {
  color: #FFE566 !important;
}
.a87-vault-btn--ghost {
  color: #FFFFFF !important;
}
.a87-vault-canvas .a87-vault-btn--ghost,
.a87-vault-gate .a87-vault-btn--ghost {
  color: #12181F !important;
}
.a87-vault-btn--danger {
  color: #FFB4BE !important;
}
.a87-vault-btn--danger:hover {
  color: #FFFFFF !important;
}
.a87-vault-tab.is-active {
  color: #FFFFFF !important;
}
.a87-pulse-field input {
  color: #FFFFFF !important;
}
.a87-pulse-field input::placeholder {
  color: rgba(255, 255, 255, 0.72) !important;
}
.a87-signal-desk-nav a,
.a87-signal-freq.is-active,
.a87-signal-freq.is-active strong,
.a87-signal-freq.is-active small,
.a87-river-chip.is-active,
.a87-river-chip.is-active em,
.a87-view-btn.is-active,
.a87-view-btn:hover,
.a87-obs-metric--action,
.a87-obs-metric--action strong,
.a87-obs-metric--action span,
.a87-pulse-beat-ring,
.a87-pier-pay-badge,
.a87-pier-step.is-on i,
.a87-chime-banner-tag,
.a87-chime-steps li.is-done span,
.a87-chime-steps li.is-live span {
  color: #FFFFFF !important;
}

/* ========== HERO / HOME ========== */
.a87-obs-hero,
.a87-obs-hero h1,
.a87-obs-hero .a87-obs-lede,
.a87-obs-lede,
.a87-obs-brand span {
  color: #FBFCFD !important;
}
.a87-obs-brand span:last-child {
  color: #93C5FD !important;
}
.a87-obs-hero .a87-obs-kicker {
  color: #FFE566 !important;
}
.a87-obs-hero .a87-obs-btn--ghost,
.a87-obs-lanes--dark .a87-obs-btn--ghost {
  color: #FFFFFF !important;
}
.a87-obs-hero .a87-obs-btn--ghost:hover,
.a87-obs-lanes--dark .a87-obs-btn--ghost:hover {
  color: #12181F !important;
  background: #FFFFFF !important;
}
.a87-obs-lane-meta,
.a87-obs-lane-meta em,
.a87-obs-lane-meta strong,
.a87-obs-lane-meta small,
.a87-obs-lane-controls button {
  color: #FFFFFF !important;
}
.a87-obs-lanes--dark .a87-obs-lane-head h2 {
  color: #FFFFFF !important;
}

/* ========== LIGHT PAGE COPY ========== */
/* Eyebrows: tide on light (never citrus-on-fog) */
[class*="a87-"][class*="-eyebrow"],
.a87-obs-eyebrow,
.a87-vault-eyebrow,
.a87-signal-eyebrow,
.a87-river-eyebrow,
.a87-pulse-eyebrow,
.a87-tray-eyebrow,
.a87-ledger-eyebrow,
.a87-pier-eyebrow,
.a87-beacon-eyebrow,
.a87-loom-eyebrow,
.a87-ink-eyebrow,
.a87-ink-channels-eyebrow,
.a87-chime-eyebrow,
.a87-charter-eyebrow,
.a87-archive-eyebrow,
.a87-tray-dock-eyebrow,
.a87-pier-slip-eyebrow,
.a87-beacon-desk-eyebrow {
  color: #0F766E !important;
}
.a87-obs-lanes--dark .a87-obs-eyebrow {
  color: #FFE566 !important;
}

/* Ledes / secondary paragraphs on light (exclude hero lede on dark image) */
[class*="a87-"][class*="-lede"]:not(.a87-obs-lede),
.a87-obs-split-copy p,
.a87-vault-mast-copy > p:last-child,
.a87-vault-panel-head p,
.a87-vault-flip-panel .lead,
.a87-vault-field span,
.a87-signal-hero-copy > p:last-child,
.a87-signal-freq:not(.is-active) small,
.a87-signal-qa-a,
.a87-signal-qa summary,
.a87-river-query,
.a87-river-count,
.a87-river-sort,
.a87-price-note,
.a87-pulse-mast p,
.a87-pulse-beat small,
.a87-pulse-hit dt,
.a87-pulse-note p,
.a87-tray-lede,
.a87-ledger-lede,
.a87-pier-lede,
.a87-beacon-lede,
.a87-loom-lede,
.a87-loom-muted,
.a87-ink-lede,
.a87-ink-pad-lede,
.a87-chime-lede,
.a87-charter-muted,
.a87-archive-lede,
.a87-plate-price s,
.product-lede,
.empty-state,
.page-hero .hero-lede,
.a87-loom-qty label,
.a87-ink-topics li,
.fine-print,
.mini-copy {
  color: #3D4A56 !important;
}

/* Headings on light */
.a87-vault-mast h1,
.a87-vault-panel-head h3,
.a87-vault-flip-panel h2,
.a87-signal-hero h1,
.a87-river-mast h1,
.a87-pulse-mast h1,
.a87-tray-mast h1,
.a87-ledger-mast h1,
.a87-pier-mast h1,
.a87-beacon-mast h1,
.a87-loom-info h1,
.a87-ink-mast h1,
.a87-chime-mast h1,
.a87-charter-mast h1,
.a87-archive-mast h1,
.a87-obs-split-copy h2,
.a87-obs-lane-head h2,
.a87-obs-metric strong,
.a87-plate-body h3 a,
.a87-tray-slot-body h3 a,
.a87-chime-link strong,
.a87-archive-bay-head h3 a {
  color: #12181F !important;
}
.a87-obs-metric--action strong,
.a87-obs-metric--action span {
  color: #FFFFFF !important;
}

/* Forms on light */
.a87-vault-flip-tab { color: #3D4A56 !important; }
.a87-vault-flip-tab.is-active { color: #12181F !important; }
.a87-vault-field input,
.a87-ink-field input,
.a87-ink-field textarea,
.a87-ink-field select,
.a87-pier-field input,
.a87-pier-field select,
.a87-pier-field textarea,
.a87-beacon-field input,
.a87-beacon-field select,
.a87-beacon-field textarea,
.a87-river-sort select,
.a87-loom-stepper input {
  color: #12181F !important;
}

/* Policy / help leftovers in pages.css */
.policy-nav a,
.help-list a {
  color: #1D4ED8 !important;
}
.policy-body,
.policy-body p,
.policy-body li {
  color: #3D4A56 !important;
}
.policy-body h1,
.policy-body h2,
.policy-body h3 {
  color: #12181F !important;
}

/* Chime quick links on light cards */
.a87-chime-link,
.a87-chime-link strong,
.a87-chime-link span {
  color: #12181F !important;
}
.a87-chime-link span {
  color: #3D4A56 !important;
}

/* Pulse links */
.a87-pulse-links a {
  color: #12181F !important;
}
.a87-pulse-links a:hover {
  color: #FFFFFF !important;
}

/* Final overrides — dark hero must win over generic -lede rules */
.a87-obs-hero .a87-obs-lede,
.a87-obs-hero .a87-obs-kicker,
.a87-obs-hero h1,
.a87-obs-hero .a87-obs-brand span {
  color: #FBFCFD !important;
}
.a87-obs-hero .a87-obs-brand span:last-child {
  color: #93C5FD !important;
}
.a87-obs-hero .a87-obs-kicker {
  color: #FFE566 !important;
}
.a87-bloom button.a87-bloom-toggle,
.a87-bloom button.a87-bloom-toggle * {
  color: #03050A !important;
}
.a87-bloom a.a87-bloom-petal.is-active,
.a87-bloom a.a87-bloom-petal.is-active * {
  color: #03050A !important;
}
