/**
 * Professional text-on-image contrast, ALL Ready themes.
 * Rule: image behind type always gets a dark scrim; type is solid white (never faded, never scheme-ink).
 */

/* , ,  Shared overlay text tokens , ,  */
body.atelier {
  --overlay-ink: #ffffff;
  --overlay-muted: rgba(255, 255, 255, 0.92);
  --overlay-scrim: linear-gradient(
    180deg,
    rgba(0, 0, 0, 0.35) 0%,
    rgba(0, 0, 0, 0.2) 35%,
    rgba(0, 0, 0, 0.78) 70%,
    rgba(0, 0, 0, 0.92) 100%
  );
  --overlay-side: linear-gradient(
    90deg,
    rgba(0, 0, 0, 0.82) 0%,
    rgba(0, 0, 0, 0.55) 42%,
    rgba(0, 0, 0, 0.25) 70%,
    rgba(0, 0, 0, 0.45) 100%
  );
}

/* Kill opacity fades on any overlay copy */
body.atelier .hx__sub,
body.atelier .hx__proof,
body.atelier .hx__timer small,
body.atelier .hx__still span,
body.atelier .an-dest__meta,
body.atelier .an-card__body p,
body.atelier .an-mosaic__body,
body.atelier .an-mosaic__tile span {
  opacity: 1 !important;
}

/* ========== HERO / FULL-BLEED, PHOTO overlay containers only ========== */
body.atelier .hx:has(.hx__media) :is(
  .hx__frame, .hx__thumb-top, .hx__thumb-dock, .hx__credit, .hx__caption,
  .hx__dossier, .hx__workshop, .hx__poem, .hx__voyage, .hx__column, .hx__flash, .hx__mast
) {
  color: var(--overlay-ink) !important;
  opacity: 1 !important;
}
body.atelier .hx:has(.hx__media) .hx__veil {
  background: var(--overlay-side), var(--overlay-scrim) !important;
}
/* Niche veils, readable type without crushing the photo to black */
body.atelier .hx--film .hx__veil,
body.atelier .hx--street .hx__veil,
body.atelier .hx--proof .hx__veil,
body.atelier .hx--gallery .hx__veil,
body.atelier .hx--catalog .hx__veil,
body.atelier .hx--bloom .hx__veil,
body.atelier .hx--linen .hx__veil,
body.atelier .hx--craft .hx__veil,
body.atelier .hx--noir .hx__veil,
body.atelier .hx--fast .hx__veil {
  background:
    linear-gradient(90deg, rgba(0, 0, 0, 0.62) 0%, rgba(0, 0, 0, 0.22) 42%, rgba(0, 0, 0, 0.1) 70%, rgba(0, 0, 0, 0.35) 100%),
    linear-gradient(180deg, rgba(0, 0, 0, 0.28) 0%, rgba(0, 0, 0, 0.06) 35%, rgba(0, 0, 0, 0.68) 100%) !important;
}

body.atelier .hx:has(.hx__media) :is(
  .hx__frame, .hx__thumb-top, .hx__thumb-dock, .hx__mast, .hx__caption
) :is(
  .hx__chip, .hx__brand, .hx__line, .hx__sub, .hx__proof, .hx__stamp, .hx__spec,
  .hx__timer, .hx__timer b, .hx__timer small, .hx__still-title, .hx__kicker
) {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  opacity: 1 !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.45);
}

/* Light type-only / split copy panels, dark ink (never inherit photo-white) */
body.atelier .hx:not(:has(.hx__media)) :is(.hx__brand, .hx__line, .hx__sub, .hx__proof, .hx__chip, .hx__kicker),
body.atelier .hx :is(.hx__twin-copy, .hx__swiss-cell--type, .hx__split-copy)
  :is(.hx__brand, .hx__line, .hx__sub, .hx__proof, .hx__chip, .hx__kicker) {
  color: #141210 !important;
  -webkit-text-fill-color: #141210 !important;
  text-shadow: none !important;
}

/* Hero CTAs on media, solid readable chrome */
body.atelier .hx:has(.hx__media) :is(.hx__frame, .hx__thumb-dock, .hx__mast) .ui-btn--solid,
body.atelier .hx:has(.hx__media) :is(.hx__frame, .hx__thumb-dock, .hx__mast) .an-btn--solid {
  background: #fff !important;
  color: #141210 !important;
  border-color: #fff !important;
  text-shadow: none !important;
  -webkit-text-fill-color: #141210 !important;
}
body.atelier .hx:has(.hx__media) :is(.hx__frame, .hx__thumb-dock, .hx__mast) .ui-btn--solid .an-btn__label,
body.atelier .hx:has(.hx__media) :is(.hx__frame, .hx__thumb-dock, .hx__mast) .an-btn--solid .an-btn__label {
  color: #141210 !important;
  -webkit-text-fill-color: #141210 !important;
  text-shadow: none !important;
}
body.atelier .hx:has(.hx__media) :is(.hx__frame, .hx__thumb-dock, .hx__mast) .ui-btn--ghost,
body.atelier .hx:has(.hx__media) :is(.hx__frame, .hx__thumb-dock, .hx__mast) .an-btn--ghost,
body.atelier .hx:has(.hx__media) :is(.hx__frame, .hx__thumb-dock, .hx__mast) .an-btn--ghost-dark,
body.atelier .hx:has(.hx__media) :is(.hx__frame, .hx__thumb-dock, .hx__mast) .ui-btn--outline {
  background: rgba(0, 0, 0, 0.45) !important;
  color: #fff !important;
  border-color: rgba(255, 255, 255, 0.85) !important;
  -webkit-text-fill-color: #fff !important;
  text-shadow: none !important;
  backdrop-filter: blur(6px);
}
body.atelier .hx:has(.hx__media) :is(.hx__frame, .hx__thumb-dock, .hx__mast) .ui-btn--ghost .an-btn__label,
body.atelier .hx:has(.hx__media) :is(.hx__frame, .hx__thumb-dock, .hx__mast) .an-btn--ghost .an-btn__label,
body.atelier .hx:has(.hx__media) :is(.hx__frame, .hx__thumb-dock, .hx__mast) .an-btn--ghost-dark .an-btn__label {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
body.atelier .hx:has(.hx__media) :is(.hx__frame, .hx__thumb-dock, .hx__mast) .ui-btn--sale,
body.atelier .hx:has(.hx__media) :is(.hx__frame, .hx__thumb-dock, .hx__mast) .an-btn--sale {
  background: var(--sale, #e11d48) !important;
  color: #fff !important;
  border-color: var(--sale, #e11d48) !important;
  -webkit-text-fill-color: #fff !important;
  text-shadow: none !important;
}
body.atelier .hx:has(.hx__media) :is(.hx__frame, .hx__thumb-top, .hx__mast) .ui-badge,
body.atelier .hx:has(.hx__media) :is(.hx__frame, .hx__thumb-top, .hx__mast) .ui-badge--ghost {
  color: #fff !important;
  border-color: rgba(255, 255, 255, 0.55) !important;
  background: rgba(0, 0, 0, 0.45) !important;
  -webkit-text-fill-color: #fff !important;
}

body.atelier .hx:has(.hx__media) .hx__still,
body.atelier .hx:has(.hx__media) .hx__still span {
  color: #fff !important;
  opacity: 1 !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.65);
}

/* ========== DEST / MOSAIC / ASYMM CARDS ========== */
body.atelier .an-dest__veil {
  background:
    linear-gradient(180deg, rgba(0, 0, 0, 0.25) 0%, rgba(0, 0, 0, 0.35) 40%, rgba(0, 0, 0, 0.9) 100%) !important;
}
body.atelier .an-dest__panel--sale .an-dest__veil {
  background:
    linear-gradient(180deg, rgba(60, 10, 10, 0.3) 0%, rgba(20, 5, 5, 0.55) 40%, rgba(10, 0, 0, 0.92) 100%) !important;
}
body.atelier .an-dest__panel,
body.atelier .an-dest__body,
body.atelier .an-dest__title,
body.atelier .an-dest__meta,
body.atelier .an-dest .an-kicker,
body.atelier .an-dest .an-kicker--on-dark {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  opacity: 1 !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
}
body.atelier .an-dest .an-btn--ghost,
body.atelier .an-dest .an-btn--ghost-dark {
  color: #fff !important;
  border-color: rgba(255, 255, 255, 0.85) !important;
  background: rgba(0, 0, 0, 0.4) !important;
  -webkit-text-fill-color: #fff !important;
  text-shadow: none !important;
}
body.atelier .an-dest .an-btn--ghost .an-btn__label,
body.atelier .an-dest .an-btn--ghost-dark .an-btn__label {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
body.atelier .an-dest .an-btn--sale .an-btn__label {
  color: #fff !important;
  text-shadow: none !important;
}

body.atelier .an-card__veil {
  background: linear-gradient(180deg, transparent 20%, rgba(0, 0, 0, 0.55) 55%, rgba(0, 0, 0, 0.92) 100%) !important;
}
body.atelier .an-card,
body.atelier .an-card__body,
body.atelier .an-card__body h3,
body.atelier .an-card__body p {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  opacity: 1 !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.55);
}

body.atelier .an-mosaic__hero::after,
body.atelier .an-mosaic__tile::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: linear-gradient(180deg, transparent 30%, rgba(0, 0, 0, 0.55) 65%, rgba(0, 0, 0, 0.92) 100%);
}
body.atelier .an-mosaic__body,
body.atelier .an-mosaic__tile span {
  background: transparent !important;
  z-index: 1;
}
body.atelier .an-mosaic__hero,
body.atelier .an-mosaic__tile,
body.atelier .an-mosaic__body,
body.atelier .an-mosaic__body strong,
body.atelier .an-mosaic__body span,
body.atelier .an-mosaic__tile em,
body.atelier .an-mosaic__tile b,
body.atelier .an-mosaic .an-kicker--on-dark {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  opacity: 1 !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.55);
}

/* Lookbook media tags if overlaid */
body.atelier .an-look__tag {
  background: rgba(0, 0, 0, 0.72) !important;
  color: #fff !important;
  opacity: 1 !important;
}

/* Promo split media side, keep panel text on solid panel; if any overlay, protect */
body.atelier .an-promo-split__media {
  position: relative;
}
body.atelier .an-promo-split__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.15), transparent 40%);
  pointer-events: none;
}

/* Cats tiles with labels on images */
body.atelier .an-cats__veil {
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.1) 25%, rgba(0, 0, 0, 0.55) 60%, rgba(0, 0, 0, 0.92) 100%) !important;
}
body.atelier .an-cats__tile,
body.atelier .an-cats__label,
body.atelier .an-cats__meta {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.7);
  opacity: 1 !important;
}
