/**
 * CONTRAST NUKE, absolute last stylesheet for ALL Ready themes.
 * One law, no theme-by-theme whack-a-mole:
 *  1) Filled chips / roles / cues ALWAYS use --cta-bg + --cta-fg together
 *  2) scheme-dark page type is cream/white, never #141210 on dark fills
 *  3) Light fills (white solids, luminous CTAs, null hero) keep dark labels
 */

/* , ,  1) Filled micro-labels: pair fill + label (beats ink !important leaks) , ,  */
body.atelier[class*="theme-t"] :is(
  .an-complete__role,
  .an-product__cue,
  .an-product__quick,
  .an-look__tag,
  .b02-nav__live,
  .b02-card-drop,
  .hx__stamp,
  .hx__strip-label
) {
  background: var(--cta-bg, #141210) !important;
  color: var(--cta-fg, #ffffff) !important;
  -webkit-text-fill-color: var(--cta-fg, #ffffff) !important;
  border-color: var(--cta-border, var(--cta-bg, #141210)) !important;
  opacity: 1 !important;
  visibility: visible !important;
  text-shadow: none !important;
}

/* Selected chips / filters */
body.atelier[class*="theme-t"] :is(
  .an-filter.is-on,
  .ui-chip.is-on,
  .ui-chip--accent,
  .an-chip.is-on,
  .chip.is-on,
  .an-chip:has(input:checked),
  .chip:has(input:checked)
) {
  background: var(--cta-bg, #141210) !important;
  color: var(--cta-fg, #ffffff) !important;
  -webkit-text-fill-color: var(--cta-fg, #ffffff) !important;
  border-color: var(--cta-border, var(--cta-bg, #141210)) !important;
}
body.atelier[class*="theme-t"] :is(
  .an-filter.is-on, .ui-chip.is-on, .an-chip.is-on, .chip.is-on
) :is(span, small, strong) {
  color: inherit !important;
  -webkit-text-fill-color: inherit !important;
}

/* , ,  2) Dark scheme page type: cream, never near-black , ,  */
body.atelier.scheme-dark,
body.atelier.scheme-dark main,
body.atelier.scheme-dark .b02-stage {
  color: #f4efe6;
}
body.atelier.scheme-dark main :is(
  .an-h2, .an-lead, .an-kicker:not(.an-kicker--on-dark),
  .an-buy h1, .an-buy .rte, .an-buy .an-accordion p,
  .an-product__meta h3, .an-product__social, .an-product__invite,
  .an-look h3, .an-look p, .an-review h3, .an-review p, .an-review__quote,
  .an-journal h3, .an-journal p, .an-takeaway p, .an-craft li,
  .an-footer__brand, .an-footer__tag, .an-footer__legal,
  .an-footer a:not(.an-btn), .an-press__label, .an-press__mark,
  .an-stars__count, .an-trust, .an-trust span,
  .an-trust-item strong, .an-trust-item span,
  .an-trust-convert__row strong, .an-trust-convert__row span,
  .an-aov-nudge__copy p, .an-aov-nudge__sub, .an-global__msg,
  .an-policy__block p, .an-cart-line__meta p, .an-option__legend,
  .an-chip > span, .an-field__label, .an-check__text,
  .an-complete__meta h3, .an-complete__meta p, .an-complete__add,
  .an-chrome-note, .an-chrome-note strong,
  .b02-card-kicker, .b02-card-dek, .b02-card-care, .b02-card-sku,
  .b02-card-lot, .b02-card-pulse, .b02-card-specs li,
  .an-price > span, .rte, p, li, h1, h2, h3, h4, label, legend, dt, dd
) {
  color: var(--ink, #f4efe6) !important;
  -webkit-text-fill-color: var(--ink, #f4efe6) !important;
  opacity: 1 !important;
}
body.atelier.scheme-dark :is(
  .an-header .an-util, .an-header .an-logo__theme,
  .b02-nav__logo, .b02-nav__word, .b02-nav__cmd
),
body.atelier.scheme-dark :is(
  .an-header .an-nav a,
  .b02-nav a, .b02-nav__stack-link, .b02-nav__tab, .b02-nav__rail-stack a
):not(:hover):not(:focus-visible):not(:active) {
  color: var(--ink, #f4efe6) !important;
  -webkit-text-fill-color: var(--ink, #f4efe6) !important;
}

/* Dark scheme chips that were light-wash + #141210 */
body.atelier.scheme-dark :is(
  .an-feature-badge, .an-feature-badge span,
  .an-filter:not(.is-on), .ui-chip:not(.is-on),
  .an-chip:not(.is-on), .chip:not(.is-on),
  .ui-badge:not(.ui-badge--ok):not(.ui-badge--sale):not(.ui-badge--soft),
  .an-global__pill:not(.is-on)
) {
  background: rgba(255, 255, 255, 0.08) !important;
  border-color: rgba(255, 255, 255, 0.22) !important;
  color: #f4efe6 !important;
  -webkit-text-fill-color: #f4efe6 !important;
}
body.atelier.scheme-dark .an-feature-badge .an-icon {
  color: #f4efe6 !important;
  -webkit-text-fill-color: #f4efe6 !important;
}

/* , ,  3) Exceptions: dark labels ONLY on known light / luminous fills , ,  */
body.atelier.scheme-dark main .hx--null :is(
  h1, h2, h3, p, span:not(.an-btn__label), .hx__brand, .hx__line, .hx__sub, .hx__kicker, .an-kicker
) {
  color: #141210 !important;
  -webkit-text-fill-color: #141210 !important;
}
body.atelier[class*="theme-t"] main :is(
  .hx:not(.hx--null):not(.hx--grove),
  .an-news, .an-sale-banner, .an-cta-band--urgency, .an-topbar
) :is(.an-btn--solid, .ui-btn--solid, .ui-btn--invert),
body.atelier[class*="theme-t"] main :is(
  .hx:not(.hx--null):not(.hx--grove),
  .an-news, .an-sale-banner, .an-cta-band--urgency, .an-topbar
) :is(.an-btn--solid, .ui-btn--solid, .ui-btn--invert) .an-btn__label {
  background: #ffffff !important;
  border-color: #ffffff !important;
  color: #141210 !important;
  -webkit-text-fill-color: #141210 !important;
}

/* Solid CTAs / bag CTAs keep token pair (may be dark-on-luminous on dark pages) */
body.atelier[class*="theme-t"] :is(.an-btn--solid, .ui-btn--solid, .an-bag-cta, .an-convert-dock__cta) {
  background: var(--cta-bg, #141210) !important;
  border-color: var(--cta-border, var(--cta-bg, #141210)) !important;
  color: var(--cta-fg, #ffffff) !important;
  -webkit-text-fill-color: var(--cta-fg, #ffffff) !important;
}
body.atelier[class*="theme-t"] :is(.an-btn--solid, .ui-btn--solid, .an-bag-cta)
  :is(.an-btn__label, .an-bag-cta__label, span:not(.an-bag-cta__count), .an-icon) {
  color: var(--cta-fg, #ffffff) !important;
  -webkit-text-fill-color: var(--cta-fg, #ffffff) !important;
}

/* Sale badges stay white-on-sale */
body.atelier[class*="theme-t"] :is(
  .an-product__badge, .an-product__badge--sale, .an-fomo__badge, .an-sale-banner__badge
) {
  background: var(--sale, #b91c1c) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* Strikethrough may stay muted */
body.atelier .an-price s,
body.atelier s {
  color: var(--muted) !important;
  -webkit-text-fill-color: var(--muted) !important;
}

/* Lab switcher never inherits storefront, Shopify green stripe · white type */
body.atelier .an-switcher,
body.atelier .an-switcher a,
body.atelier .an-switcher select,
body.atelier .an-switcher .an-switcher__label,
body.atelier .an-switcher label#an-theme-picker-label {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
}
body.atelier .an-switcher .an-picker__trigger,
body.atelier .an-switcher .an-picker__value,
body.atelier .an-switcher .an-picker__panel,
body.atelier .an-switcher .an-picker__panel button,
body.atelier .an-switcher .an-picker__panel input,
body.atelier .an-switcher .an-picker__card-name,
body.atelier .an-switcher .an-picker__detail h3 {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
body.atelier .an-switcher .an-picker__card-id,
body.atelier .an-switcher .an-picker__detail-kicker {
  color: #95bf47 !important;
  -webkit-text-fill-color: #95bf47 !important;
}
body.atelier .an-switcher .an-picker__card-dir,
body.atelier .an-switcher .an-picker__hint,
body.atelier .an-switcher .an-picker__detail p,
body.atelier .an-switcher .an-picker__muted {
  color: #d8f0e4 !important;
  -webkit-text-fill-color: #d8f0e4 !important;
}
body.atelier .an-switcher__chip.is-on {
  background: #ffffff !important;
  color: #004c3f !important;
  -webkit-text-fill-color: #004c3f !important;
  border-color: #ffffff !important;
}

/* , ,  Nav hover: never keep page-ink on a dark fill (T1–Tx) , ,  */
body.atelier[class*="theme-t"] .an-header .an-nav a:is(:hover, :focus-visible),
body.atelier[class*="theme-t"] .an-header__links a:is(:hover, :focus-visible) {
  opacity: 1 !important;
  visibility: visible !important;
}
/* Dark-pill hover (App Street + any classic ink fill), light label */
body.atelier.theme-t2 .an-nav a:is(:hover, :focus-visible),
body.atelier.theme-t2 .an-nav a:is(:hover, :focus-visible) .an-btn__label {
  background: #12100e !important;
  color: #fff7ef !important;
  -webkit-text-fill-color: #fff7ef !important;
  text-decoration: none !important;
}
/* Sale chip on dark / sale fill keeps light type on hover */
body.atelier.theme-t2 .an-header .an-nav__sale:is(:hover, :focus-visible),
body.atelier.theme-t10 .an-header .an-nav__sale:is(:hover, :focus-visible) {
  color: #fff7ef !important;
  -webkit-text-fill-color: #fff7ef !important;
}
/* Batch navs: hover must keep theme color (unlock from ink locks above) */
body.atelier[class*="theme-t"] :is(
  .b02-nav a, .b03-nav a, .b04-nav a, .b05-nav a, .b06-nav a, .b07-nav a
):is(:hover, :focus-visible) {
  opacity: 1 !important;
  visibility: visible !important;
}
/* Classic default hover: moss/ink with matching fill (beats residual locks) */
body.atelier.chrome-nav-classic:not(.theme-t2):not(.theme-t1):not(.theme-t9)
  .an-header .an-nav a:not(.an-nav__sale):is(:hover, :focus-visible) {
  color: var(--moss, var(--ink)) !important;
  -webkit-text-fill-color: var(--moss, var(--ink)) !important;
}
body.atelier.theme-t3.chrome-nav-classic .an-header .an-nav a:is(:hover, :focus-visible) {
  color: #047857 !important;
  -webkit-text-fill-color: #047857 !important;
}
body.atelier.theme-t5.chrome-nav-classic .an-header .an-nav a:is(:hover, :focus-visible) {
  color: #0f766e !important;
  -webkit-text-fill-color: #0f766e !important;
}
/* Noir / cinema bars already light type, keep light on hover */
body.atelier.theme-t1 .an-header .an-nav a:is(:hover, :focus-visible),
body.atelier.theme-t9 .an-header .an-nav a:is(:hover, :focus-visible) {
  color: #f4efe6 !important;
  -webkit-text-fill-color: #f4efe6 !important;
}

