/* Appily Fortyone — text + button contrast safety net (loaded last) */

:root {
  --a41-text: #1f1a12;
  --a41-text-soft: #3d362c;
  --a41-text-on-dark: #ffffff;
  --a41-text-accent: #8a640d;
  --a41-muted: #4a4338;
  color-scheme: light;
}

html {
  color-scheme: light;
  background: #ffffff;
}

body.a41-store {
  color: var(--a41-text);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  background: #ffffff;
  color-scheme: light;
}

body.a41-store .page-wrap,
body.a41-store .page-main,
body.a41-store .a41-topbar,
body.a41-store .a41-header,
body.a41-store .a41-footer {
  background-color: #ffffff;
}

/* ---------- Base readable copy ---------- */
body.a41-store .page-main,
body.a41-store .a41-topbar,
body.a41-store .a41-header,
body.a41-store .a41-footer,
body.a41-store .panel,
body.a41-store [class*="-sheet"],
body.a41-store [class*="-card"]:not([class*="tone-"]),
body.a41-store [class*="-dossier"],
body.a41-store [class*="-checkout"],
body.a41-store [class*="-summary"],
body.a41-store [class*="-empty"],
body.a41-store .a41-passport-entry,
body.a41-store .a41-lens-buy,
body.a41-store .a41-bazaar,
body.a41-store .a41-basket,
body.a41-store .a41-canopy,
body.a41-store .a41-gate,
body.a41-store .a41-wire,
body.a41-store .a41-guide,
body.a41-store .a41-roots,
body.a41-store .a41-trail,
body.a41-store .a41-radar,
body.a41-store .a41-pulse,
body.a41-store .a41-spark {
  color: var(--a41-text);
}

body.a41-store .a41-topbar-promo {
  color: #1f1a12 !important;
  font-weight: 700 !important;
}

body.a41-store .a41-topbar-search input::placeholder,
body.a41-store input::placeholder,
body.a41-store textarea::placeholder {
  color: #5a5346 !important;
  opacity: 1 !important;
}

body.a41-store .a41-nav-link,
body.a41-store .a41-brand,
body.a41-store .a41-brand-word {
  color: var(--a41-text) !important;
}

body.a41-store .a41-nav-link:hover,
body.a41-store .a41-nav-link.is-active,
body.a41-store .a41-brand:hover {
  color: var(--a41-olive-dark) !important;
}

body.a41-store .a41-footer a,
body.a41-store .a41-footer h4,
body.a41-store .a41-footer p {
  color: var(--a41-text) !important;
}

body.a41-store .a41-footer a:hover {
  color: var(--a41-olive-dark) !important;
}

/* Soft supporting copy on light UI */
body.a41-store .lead,
body.a41-store .mini-copy,
body.a41-store .sub,
body.a41-store .last-updated,
body.a41-store [class*="-meta"],
body.a41-store [class*="-crumb"],
body.a41-store [class*="-muted"],
body.a41-store .a41-policy-sheet .last-updated {
  color: var(--a41-text-soft) !important;
  opacity: 1 !important;
}

/* Kickers / eyebrows on light surfaces */
body.a41-store [class*="-eyebrow"],
body.a41-store [class*="-kicker"] {
  color: var(--a41-text-accent) !important;
  opacity: 1 !important;
}

/* Light heroes keep dark headings */
body.a41-store .a41-basket-hero,
body.a41-store .a41-roots-hero,
body.a41-store .a41-guide-hero,
body.a41-store .a41-gate-hero,
body.a41-store .a41-canopy-hero,
body.a41-store .a41-pulse-hero,
body.a41-store .a41-contact-hero,
body.a41-store .a41-orders-hero,
body.a41-store .a41-bazaar-hero,
body.a41-store .a41-wire-hero,
body.a41-store .a41-trail-hero,
body.a41-store .a41-radar-hero,
body.a41-store .a41-spark-hero,
body.a41-store .a41-basket-hero h1,
body.a41-store .a41-roots-hero h1,
body.a41-store .a41-guide-hero h1,
body.a41-store .a41-gate-hero h1,
body.a41-store .a41-canopy-hero h1,
body.a41-store .a41-pulse-hero h1,
body.a41-store .a41-contact-hero h1,
body.a41-store .a41-orders-hero h1,
body.a41-store .a41-bazaar-hero h1,
body.a41-store .a41-wire-hero h1,
body.a41-store .a41-trail-hero h1,
body.a41-store .a41-radar-hero h1,
body.a41-store .a41-spark-hero h1 {
  color: var(--a41-text) !important;
}

/* Forms */
body.a41-store input:not([type="checkbox"]):not([type="radio"]),
body.a41-store select,
body.a41-store textarea {
  color: var(--a41-text) !important;
  background-color: #fff !important;
}

body.a41-store label {
  color: var(--a41-text-soft) !important;
  opacity: 1 !important;
}

/* ---------- Buttons ---------- */

/* Gold / primary CTAs: dark ink on gold (never white-on-gold) */
body.a41-store [class*="btn--gold"],
body.a41-store [class*="-btn--gold"],
body.a41-store [class*="btn--primary"],
body.a41-store [class*="-btn--primary"],
body.a41-store [class*="-btn-primary"],
body.a41-store .a41-btn--gold,
body.a41-store .btn-primary,
body.a41-store .a41-sow-cta--primary,
body.a41-store .a41-bazaar-empty-cta,
body.a41-store .a41-passport-btn--gold,
body.a41-store .a41-basket-btn--gold,
body.a41-store .a41-gate-btn--gold,
body.a41-store .a41-lens-btn--gold,
body.a41-store .a41-canopy-btn--gold,
body.a41-store .a41-wire-btn--gold,
body.a41-store .a41-pulse-btn--gold,
body.a41-store .a41-trail-btn--gold,
body.a41-store .a41-radar-btn--gold,
body.a41-store .a41-roots-btn--gold,
body.a41-store .a41-spark-btn--gold,
body.a41-store .a41-guide-cta {
  color: #1f1a12 !important;
}

/* Outline / ghost on LIGHT UI: dark olive */
body.a41-store [class*="btn--outline"],
body.a41-store [class*="-btn--outline"],
body.a41-store [class*="btn--ghost"],
body.a41-store [class*="-btn--ghost"],
body.a41-store .btn-outline,
body.a41-store .a41-basket-btn--outline,
body.a41-store .a41-lens-btn--outline {
  color: #3f4a2e !important;
}

/* Soft buttons on light UI default to dark olive (page CSS may restyle dark panels) */
body.a41-store [class*="btn--soft"],
body.a41-store [class*="-btn--soft"] {
  color: #3f4a2e !important;
}

/* Olive filled controls (GO, active chips with olive fill, search submit) */
body.a41-store .a41-bazaar-search-btn,
body.a41-store .a41-gallery-chip.is-active,
body.a41-store .pagination-num.is-active,
body.a41-store .a41-guide-nav-btn.is-active,
body.a41-store .a41-newsletter-form button {
  color: #fff !important;
}

/* Inactive bazaar chips / counts must stay readable */
body.a41-store .a41-bazaar-chip,
body.a41-store .a41-bazaar-chip-label {
  color: #2c261c !important;
}
body.a41-store .a41-bazaar-chip-count {
  color: #1f1a12 !important;
  font-weight: 800 !important;
  opacity: 1 !important;
}

body.a41-store .a41-bazaar-sort-btn:not(.is-active) {
  color: #2c261c !important;
}
body.a41-store .a41-bazaar-sort-btn.is-active {
  color: #fff !important;
}
body.a41-store .a41-bazaar-filter-block h3,
body.a41-store .a41-bazaar-filters-head h2 {
  color: #3f4a2e !important;
}
body.a41-store .a41-bazaar-stat,
body.a41-store .a41-bazaar-stat strong,
body.a41-store .a41-bazaar-stat span {
  color: #2c261c !important;
}

body.a41-store .a41-policy-tab {
  color: #2c261c !important;
}
body.a41-store .a41-policy-tab.is-active {
  color: var(--a41-olive-dark) !important;
  background: #fff !important;
}

/* Account entry tabs */
body.a41-store .a41-passport-entry-tab,
body.a41-store .a41-passport-entry-tab span:not(.a41-passport-entry-tab-mark) {
  color: #1f1a12 !important;
  opacity: 1 !important;
}
body.a41-store .a41-passport-entry-tab.is-active,
body.a41-store .a41-passport-entry-tab.is-active span:not(.a41-passport-entry-tab-mark) {
  color: #2f3a1f !important;
}

/* ---------- Dark surfaces: white copy ---------- */
body.a41-store .a41-policy-hero,
body.a41-store .a41-policy-hero *,
body.a41-store .a41-sow-hero,
body.a41-store .a41-sow-hero *,
body.a41-store .a41-passport-cover-copy,
body.a41-store .a41-passport-cover-copy *,
body.a41-store .a41-passport-spine,
body.a41-store .a41-passport-spine *,
body.a41-store .a41-passport-perks,
body.a41-store .a41-passport-perks *,
body.a41-store .a41-passport-vine-text,
body.a41-store .a41-passport-vine-num,
body.a41-store .a41-passport-vine-copy,
body.a41-store .a41-passport-vine-copy *,
body.a41-store .buy-panel,
body.a41-store .buy-panel *,
body.a41-store .auth-split-tabs,
body.a41-store .auth-split-tab,
body.a41-store [class*="-spotlight"],
body.a41-store [class*="-spotlight"] *,
body.a41-store .a41-guide-band-card--cta,
body.a41-store .a41-guide-band-card--cta *,
body.a41-store .a41-sow-strip,
body.a41-store .a41-sow-strip * {
  color: #ffffff !important;
}

/* Ghost / soft on DARK panels must stay light (beats earlier olive rule) */
body.a41-store .a41-passport-spine [class*="btn--ghost"],
body.a41-store .a41-passport-spine [class*="btn--soft"],
body.a41-store .a41-passport-perks [class*="btn--ghost"],
body.a41-store .a41-passport-perks [class*="btn--soft"],
body.a41-store .a41-passport-btn--ghost,
body.a41-store .a41-sow-cta--ghost,
body.a41-store .a41-sow-strip [class*="btn--ghost"],
body.a41-store .a41-sow-strip [class*="btn--soft"],
body.a41-store .buy-panel [class*="btn--ghost"],
body.a41-store .buy-panel [class*="btn--outline"],
body.a41-store [class*="-spotlight"] [class*="btn--ghost"],
body.a41-store [class*="-spotlight"] [class*="btn--outline"],
body.a41-store .a41-guide-band-card--cta a,
body.a41-store .a41-roots-btn--ghost,
body.a41-store .a41-passport-spine-btn {
  color: #ffffff !important;
  border-color: rgba(255, 255, 255, 0.55) !important;
}

/* Soft CTA on light account forms (e.g. reset link) */
body.a41-store .a41-passport-entry .a41-passport-btn--soft,
body.a41-store .a41-passport-btn--soft {
  color: #2f3a1f !important;
  background: rgba(101, 117, 59, 0.1) !important;
  border: 1px solid rgba(101, 117, 59, 0.28) !important;
}

body.a41-store .a41-passport-spine .a41-passport-btn--soft,
body.a41-store .a41-passport-perks .a41-passport-btn--soft {
  color: #ffffff !important;
  background: rgba(255, 255, 255, 0.14) !important;
  border: 1px solid rgba(255, 255, 255, 0.28) !important;
}

/* Gold accents on dark */
body.a41-store .a41-policy-kicker,
body.a41-store .a41-passport-kicker,
body.a41-store .a41-passport-perks-kicker,
body.a41-store .a41-passport-cover-copy h1 em,
body.a41-store .a41-passport-chips span,
body.a41-store .a41-passport-book-chip,
body.a41-store .a41-passport-book-mark,
body.a41-store .a41-passport-vine-num,
body.a41-store .a41-sow-hero .a41-sow-brand,
body.a41-store .a41-sow-hero .a41-sow-kicker,
body.a41-store [class*="-spotlight"] h1 em,
body.a41-store .auth-split-tabs .auth-split-tab.is-active:not(.a41-passport-entry-tab) {
  color: var(--a41-gold) !important;
}

/* Primary CTAs on dark panels stay dark-ink-on-gold */
body.a41-store .a41-sow-hero .a41-sow-cta--primary,
body.a41-store .a41-passport-perks [class*="btn--gold"],
body.a41-store .a41-passport-spine [class*="btn--gold"],
body.a41-store .a41-sow-strip [class*="btn--gold"],
body.a41-store [class*="-spotlight"] [class*="btn--gold"],
body.a41-store .buy-panel [class*="btn--gold"],
body.a41-store .a41-guide-band-card--cta .a41-guide-cta {
  color: #1f1a12 !important;
}

/* Dark surface ledes stay white (override soft-lede rule) */
body.a41-store .a41-policy-hero [class*="-lede"],
body.a41-store .a41-sow-hero [class*="-lede"],
body.a41-store .a41-passport-cover-copy [class*="-lede"],
body.a41-store .a41-passport-cover-copy .lead,
body.a41-store .buy-panel .lead,
body.a41-store [class*="-spotlight"] [class*="-lede"] {
  color: rgba(255, 255, 255, 0.92) !important;
}

body.a41-store .a41-policy-hero [class*="-kicker"],
body.a41-store .a41-sow-hero [class*="-kicker"],
body.a41-store .a41-passport-cover-copy [class*="-kicker"] {
  color: var(--a41-gold) !important;
}

/* Nuclear contrast locks — account dark panels + gold buttons */
html body.a41-store.page-account-passport aside.a41-passport-perks,
html body.a41-store.page-account-passport aside.a41-passport-perks h2,
html body.a41-store.page-account-passport aside.a41-passport-perks li,
html body.a41-store.page-account-passport aside.a41-passport-perks .a41-passport-vine-text,
html body.a41-store.page-account-passport aside.a41-passport-perks .a41-passport-vine-node,
html body.a41-store.page-account-passport .a41-passport-cover-copy,
html body.a41-store.page-account-passport .a41-passport-cover-copy h1,
html body.a41-store.page-account-passport .a41-passport-cover-copy p,
html body.a41-store.page-account-passport .a41-passport-cover-copy .a41-passport-lede {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
html body.a41-store.page-account-passport aside.a41-passport-perks .a41-passport-perks-kicker,
html body.a41-store.page-account-passport aside.a41-passport-perks .a41-passport-vine-num,
html body.a41-store.page-account-passport .a41-passport-cover-copy h1 em,
html body.a41-store.page-account-passport .a41-passport-chips span {
  color: #e5a823 !important;
  -webkit-text-fill-color: #e5a823 !important;
}
html body.a41-store [class*="btn--gold"],
html body.a41-store [class*="-btn--gold"],
html body.a41-store .a41-btn--gold,
html body.a41-store .btn-primary {
  color: #1f1a12 !important;
  -webkit-text-fill-color: #1f1a12 !important;
}

html body.a41-store .a41-passport-entry-tab,
html body.a41-store .a41-passport-entry-tab span:not(.a41-passport-entry-tab-mark) {
  color: #1f1a12 !important;
  -webkit-text-fill-color: #1f1a12 !important;
  opacity: 1 !important;
}
html body.a41-store .a41-passport-chips span {
  color: #f3d27a !important;
  -webkit-text-fill-color: #f3d27a !important;
  border-color: #f3d27a !important;
}
html body.a41-store .a41-bazaar-sort-btn:not(.is-active),
html body.a41-store .a41-bazaar-chip,
html body.a41-store .a41-bazaar-chip-label,
html body.a41-store .a41-bazaar-chip-count {
  color: #1f1a12 !important;
  -webkit-text-fill-color: #1f1a12 !important;
  opacity: 1 !important;
}


