/**
 * CONTRAST FINAL, loads after contrast-lock + batch02-fix.
 * Fixes: (1) light heroes forced white-on-white
 *        (2) dark-scheme pills/kickers painted #141210 on dark fills
 *        (3) CTA label/fill pairing via tokens (not forced white)
 *        (4) B02 dark theme bands + page type
 */

/* , ,  1) Light / type heroes: dark ink, never photo-white , , 
 * Must beat body.atelier.scheme-* main .hx :is(...) white locks.
 */
body.atelier.scheme-light main .hx--null,
body.atelier.scheme-dark main .hx--null,
body.atelier.scheme-light main .hx--null .hx__stage,
body.atelier.scheme-dark main .hx--null .hx__stage,
body.atelier.scheme-light main .hx--null .hx__frame,
body.atelier.scheme-dark main .hx--null .hx__frame {
  color: #141210 !important;
  background: #ffffff;
}
body.atelier.scheme-light main .hx--null :is(
  h1, h2, h3, p, span:not(.an-btn__label), small, strong,
  .hx__brand, .hx__line, .hx__sub, .hx__proof, .hx__kicker, .hx__chip, .an-kicker
),
body.atelier.scheme-dark main .hx--null :is(
  h1, h2, h3, p, span:not(.an-btn__label), small, strong,
  .hx__brand, .hx__line, .hx__sub, .hx__proof, .hx__kicker, .hx__chip, .an-kicker
),
body.atelier[class*="theme-t"] main .hx--null :is(
  h1, h2, h3, p, span:not(.an-btn__label), small, strong,
  .hx__brand, .hx__line, .hx__sub, .hx__proof, .hx__kicker, .hx__chip, .an-kicker
) {
  color: #141210 !important;
  -webkit-text-fill-color: #141210 !important;
  text-shadow: none !important;
  opacity: 1 !important;
}
body.atelier.scheme-light main .hx--grove .hx__split-copy,
body.atelier.scheme-dark main .hx--grove .hx__split-copy,
body.atelier[class*="theme-t"] main .hx--grove .hx__split-copy,
body.atelier.scheme-light main .hx--grove .hx__split-copy :is(
  h1, h2, h3, p, span:not(.an-btn__label), .hx__brand, .hx__line, .hx__sub, .hx__kicker, .an-kicker
),
body.atelier.scheme-dark main .hx--grove .hx__split-copy :is(
  h1, h2, h3, p, span:not(.an-btn__label), .hx__brand, .hx__line, .hx__sub, .hx__kicker, .an-kicker
),
body.atelier[class*="theme-t"] main .hx--grove .hx__split-copy :is(
  h1, h2, h3, p, span:not(.an-btn__label), .hx__brand, .hx__line, .hx__sub, .hx__kicker, .an-kicker
) {
  color: var(--ink) !important;
  -webkit-text-fill-color: var(--ink) !important;
  text-shadow: none !important;
  opacity: 1 !important;
}

/* , ,  2) Dark scheme: never hardcode #141210 on page chrome , ,  */
body.atelier.scheme-dark main .an-retain .an-kicker,
body.atelier.scheme-dark .an-global__pill,
body.atelier.scheme-dark .an-global__pill span,
body.atelier.scheme-dark .ui-badge:not(.ui-badge--ok):not(.ui-badge--sale):not(.ui-badge--soft),
body.atelier.scheme-dark .an-checkout-ship__badge {
  color: #f4efe6 !important;
  -webkit-text-fill-color: #f4efe6 !important;
}
body.atelier.scheme-dark .an-global__pill,
body.atelier.scheme-dark .ui-badge:not(.ui-badge--ok):not(.ui-badge--sale):not(.ui-badge--soft) {
  background: rgba(255, 255, 255, 0.1) !important;
  border-color: rgba(255, 255, 255, 0.28) !important;
}
body.atelier.scheme-dark .an-global__pill.is-on {
  background: #f4efe6 !important;
  color: #141210 !important;
  -webkit-text-fill-color: #141210 !important;
  border-color: #f4efe6 !important;
}
body.atelier.scheme-dark main .an-feature-badge,
body.atelier.scheme-dark main .an-feature-badge span {
  background: #1c1a18 !important;
  border-color: rgba(255, 255, 255, 0.18) !important;
  color: #f4efe6 !important;
  -webkit-text-fill-color: #f4efe6 !important;
}
body.atelier.scheme-dark main .an-feature-badge span { background: transparent !important; }
body.atelier.scheme-dark main .an-feature-badge .an-icon {
  color: #f4efe6 !important;
  -webkit-text-fill-color: #f4efe6 !important;
}

/* Page type on dark schemes, solid cream/white, never muted wash */
body.atelier.scheme-dark main :is(
  .an-h2, .an-lead, .an-product__meta h3, .an-product__social, .an-product__invite,
  .an-look h3, .an-look p, .an-review h3, .an-review p, .an-journal h3, .an-journal p,
  .an-buy h1, .an-buy .rte, .an-footer__brand, .an-footer__tag, .an-footer__legal,
  .an-footer a:not(.an-btn), .an-takeaway p, .an-craft li, .an-option__legend,
  .an-trust-item strong, .an-trust-item span, .an-chrome-note, .an-chrome-note strong
),
body.atelier.scheme-dark .an-header :is(.an-util, .an-logo__theme, .an-menu-btn),
body.atelier.scheme-dark .an-header .an-nav a:not(:hover):not(:focus-visible):not(:active),
body.atelier.scheme-dark :is(.b02-nav__logo, .b02-nav__word),
body.atelier.scheme-dark :is(.b02-nav a, .b02-nav__sale:not(.is-sale)):not(:hover):not(:focus-visible):not(:active) {
  color: var(--ink) !important;
  -webkit-text-fill-color: var(--ink) !important;
  opacity: 1 !important;
}

/* , ,  3) CTA pair from tokens (luminous dark-page chips keep dark labels) , ,  */
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;
}
/* Photo / dark commerce bands: inverted white solid */
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;
}
/* Light heroes use token CTA (dark fill + light label) */
body.atelier[class*="theme-t"] main .hx--null :is(.an-btn--solid, .ui-btn--solid),
body.atelier[class*="theme-t"] main .hx--null :is(.an-btn--solid, .ui-btn--solid) .an-btn__label,
body.atelier[class*="theme-t"] main .hx--grove .hx__split-copy :is(.an-btn--solid, .ui-btn--solid),
body.atelier[class*="theme-t"] main .hx--grove .hx__split-copy :is(.an-btn--solid, .ui-btn--solid) .an-btn__label {
  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;
}

/* Selected chips / filters follow CTA pair */
body.atelier[class*="theme-t"] :is(.an-filter.is-on, .ui-chip.is-on, .an-chip.is-on, .chip.is-on) {
  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;
}

/* , ,  4) Dark bands for B02 dark themes (never light wash + white type) , ,  */
body.atelier.scheme-dark main .an-news,
body.atelier.scheme-dark main .an-news[data-surface="dark"] {
  background: #0a0a0a !important;
  color: #f4efe6 !important;
}
body.atelier.theme-t14 main .an-news { background: #0a0a0a !important; }
body.atelier.theme-t16 main .an-news { background: #0d1117 !important; }
body.atelier.theme-t20 main .an-news { background: #020617 !important; }
body.atelier.scheme-dark main .an-cta-band--urgency {
  background: #0f172a !important;
  color: #ffffff !important;
}
body.atelier.theme-t14 main .an-cta-band--urgency { background: #1a1a1a !important; }
body.atelier.theme-t16 main .an-cta-band--urgency { background: #0d1117 !important; }
body.atelier.theme-t20 main .an-cta-band--urgency { background: #020617 !important; }
body.atelier.scheme-dark main .an-proof-band {
  background: #0f172a !important;
  color: #ffffff !important;
}
body.atelier.scheme-dark main .an-proof-band :is(
  h1, h2, h3, p, strong, small, span:not(.an-btn__label), .an-trust-item strong, .an-trust-item span
) {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* Dark-scheme kickers: luminous accent or cream, never black */
body.atelier.scheme-dark main .an-kicker:not(.an-kicker--on-dark) {
  color: var(--kicker, var(--moss, #f4efe6)) !important;
  -webkit-text-fill-color: var(--kicker, var(--moss, #f4efe6)) !important;
}

/* Nav fills that are dark (megah / command) keep light type */
body.atelier.theme-t14 .b02-nav--megah,
body.atelier.theme-t14 .b02-nav--megah a,
body.atelier.theme-t14 .b02-nav__word,
body.atelier.theme-t16 .b02-nav--command,
body.atelier.theme-t16 .b02-nav--command a {
  color: #f4efe6 !important;
  -webkit-text-fill-color: #f4efe6 !important;
}
body.atelier.theme-t14 .b02-nav--megah a.is-sale,
body.atelier.theme-t14 .b02-nav__megah-links a.is-sale {
  color: var(--sale) !important;
  -webkit-text-fill-color: var(--sale) !important;
}

/* Bottom nav ink bar, on-ink type (not page ink which is white-on-white risk) */
body.chrome-nav-bottom .b02-nav--bottom {
  background: var(--cta-bg, #141210) !important;
  color: var(--cta-fg, #ffffff) !important;
}
body.chrome-nav-bottom .b02-nav--bottom a {
  color: var(--cta-fg, #ffffff) !important;
  -webkit-text-fill-color: var(--cta-fg, #ffffff) !important;
}

/* , ,  6) Dark-scheme FOMO, never #141210 type on dark page fills (T20 Pulse Window) , , 
 * Lock F6 assumes light cutsheet shells; on scheme-dark those shells inherit --bg.
 */
body.atelier.scheme-dark main :is(
  .an-pdp-fomo--cutsheet,
  .an-pdp-fomo--plaque,
  .an-pdp-fomo--proof,
  .an-pdp-fomo--ribbon,
  .an-pdp-fomo--sku,
  .an-pdp-fomo--push,
  .an-pdp-fomo--still,
  .an-footer-cta__fomo.an-pdp-fomo--cutsheet,
  .an-footer-cta__fomo.an-pdp-fomo--plaque,
  .an-footer-cta__fomo.an-pdp-fomo--proof,
  .an-footer-cta__fomo.an-pdp-fomo--ribbon,
  .an-footer-cta__fomo.an-pdp-fomo--sku,
  .an-footer-cta__fomo.an-pdp-fomo--push,
  .an-footer-cta__fomo.an-pdp-fomo--still
) {
  background: #111827 !important;
  border-color: rgba(248, 250, 252, 0.16) !important;
  color: #f8fafc !important;
}
body.atelier.scheme-dark main :is(
  .an-pdp-fomo--cutsheet,
  .an-pdp-fomo--plaque,
  .an-pdp-fomo--proof,
  .an-pdp-fomo--ribbon,
  .an-pdp-fomo--sku,
  .an-pdp-fomo--push,
  .an-pdp-fomo--still,
  .an-footer-cta__fomo.an-pdp-fomo--cutsheet,
  .an-footer-cta__fomo.an-pdp-fomo--plaque,
  .an-footer-cta__fomo.an-pdp-fomo--proof,
  .an-footer-cta__fomo.an-pdp-fomo--ribbon,
  .an-footer-cta__fomo.an-pdp-fomo--sku,
  .an-footer-cta__fomo.an-pdp-fomo--push,
  .an-footer-cta__fomo.an-pdp-fomo--still
) :is(
  .an-pdp-fomo__title, .an-pdp-fomo__help, .an-pdp-fomo__meta, .an-pdp-fomo__kicker,
  .an-footer-cta__title, .an-footer-cta__help, .an-footer-cta__trust, .an-h2
) {
  color: #f8fafc !important;
  -webkit-text-fill-color: #f8fafc !important;
  opacity: 1 !important;
}

/* Flash FOMO on every dark theme (not only T10), slate panel + white type */
body.atelier.scheme-dark main :is(.an-pdp-fomo--flash, .an-footer-cta__fomo.an-pdp-fomo--flash),
body.atelier[class*="theme-t"] main :is(.an-pdp-fomo--flash, .an-footer-cta__fomo.an-pdp-fomo--flash) {
  background: linear-gradient(135deg, #0b1220, #1e293b 55%, #0b1220) !important;
  border-color: transparent !important;
  color: #ffffff !important;
}
body.atelier.scheme-dark main :is(.an-pdp-fomo--flash, .an-footer-cta__fomo.an-pdp-fomo--flash) :is(
  .an-pdp-fomo__title, .an-pdp-fomo__help, .an-pdp-fomo__kicker,
  .an-footer-cta__title, .an-footer-cta__help, .an-footer-cta__trust, .an-h2
),
body.atelier[class*="theme-t"] main :is(.an-pdp-fomo--flash, .an-footer-cta__fomo.an-pdp-fomo--flash) :is(
  .an-pdp-fomo__title, .an-pdp-fomo__help, .an-pdp-fomo__kicker,
  .an-footer-cta__title, .an-footer-cta__help, .an-footer-cta__trust, .an-h2
) {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
}
body.atelier.theme-t20 main :is(.an-pdp-fomo--flash, .an-footer-cta__fomo.an-pdp-fomo--flash) .an-pdp-fomo__kicker {
  color: #67e8f9 !important;
  -webkit-text-fill-color: #67e8f9 !important;
}
body.atelier.theme-t20 main :is(.an-pdp-fomo--flash, .an-footer-cta__fomo.an-pdp-fomo--flash) .an-pdp-fomo__flashbar {
  height: 0.35rem; border-radius: 999px; background: rgba(255, 255, 255, 0.12);
  margin-bottom: 0.75rem; overflow: hidden;
}
body.atelier.theme-t20 main :is(.an-pdp-fomo--flash, .an-footer-cta__fomo.an-pdp-fomo--flash) .an-pdp-fomo__flashbar i {
  display: block; height: 100%; width: 62%;
  background: linear-gradient(90deg, var(--moss, #d97706), #22d3ee);
}
body.atelier.theme-t20 main :is(.an-pdp-fomo--flash, .an-footer-cta__fomo.an-pdp-fomo--flash) .an-pdp-fomo__clock,
body.atelier.theme-t20 main :is(.an-pdp-fomo--flash, .an-footer-cta__fomo.an-pdp-fomo--flash) .an-footer-cta__clock {
  --fomo-clock-bg: #d97706;
  --fomo-clock-fg: #141210;
  background: #d97706 !important;
  color: #141210 !important;
  -webkit-text-fill-color: #141210 !important;
}
body.atelier.theme-t20 main :is(.an-pdp-fomo--flash, .an-footer-cta__fomo.an-pdp-fomo--flash) .an-pdp-fomo__clock :is(b, small, .an-pdp-fomo__sep, .an-pdp-fomo__unit),
body.atelier.theme-t20 main :is(.an-pdp-fomo--flash, .an-footer-cta__fomo.an-pdp-fomo--flash) .an-footer-cta__clock :is(b, small, .an-pdp-fomo__sep, .an-pdp-fomo__unit) {
  color: #141210 !important;
  -webkit-text-fill-color: #141210 !important;
}

/* , ,  5) Photo overlay frames only (never twin/swiss/grove light copy panels) , ,  */
body.atelier[class*="theme-t"] main .hx:has(.hx__media) .hx__veil {
  background:
    linear-gradient(105deg, rgba(0, 0, 0, 0.78) 0%, rgba(0, 0, 0, 0.45) 38%, rgba(0, 0, 0, 0.2) 62%, rgba(0, 0, 0, 0.55) 100%),
    linear-gradient(180deg, rgba(0, 0, 0, 0.28) 0%, rgba(0, 0, 0, 0.08) 35%, rgba(0, 0, 0, 0.72) 100%) !important;
}
body.atelier[class*="theme-t"] main .hx:has(.hx__media) :is(
  .hx__frame, .hx__thumb-top, .hx__thumb-dock, .hx__mast, .hx__caption
) :is(
  .hx__brand, .hx__line, .hx__sub, .hx__proof, .hx__kicker, .an-kicker, .hx__timer, .hx__timer b, .hx__timer small
) {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  text-shadow: none !important;
  opacity: 1 !important;
}
body.atelier[class*="theme-t"] main .hx:has(.hx__media) .hx__frame {
  position: relative;
}
body.atelier[class*="theme-t"] main .hx:has(.hx__media) .hx__frame::before {
  content: "";
  position: absolute;
  inset: -1.25rem -1.5rem -1.5rem -1.75rem;
  z-index: -1;
  border-radius: 4px;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.55) 0%, rgba(0, 0, 0, 0.28) 70%, transparent 100%);
  pointer-events: none;
}
/* Light panels, dark ink (beats any leftover photo-white) */
body.atelier[class*="theme-t"] main .hx:not(:has(.hx__media)) :is(
  .hx__brand, .hx__line, .hx__sub, .hx__proof, .hx__kicker, .an-kicker
),
body.atelier[class*="theme-t"] main .hx :is(.hx__twin-copy, .hx__swiss-cell--type, .hx__split-copy) :is(
  .hx__brand, .hx__line, .hx__sub, .hx__proof, .hx__kicker, .an-kicker
) {
  color: #141210 !important;
  -webkit-text-fill-color: #141210 !important;
  text-shadow: none !important;
}
