/**
 * SIT Recycling contrast accessibility layer.
 *
 * Loaded after the parent theme, responsive fixes and brand system. The
 * targeted !important declarations are intentional: historic parent-theme
 * and WordPress Customizer rules also use !important and otherwise allow the
 * global ink colour to override text that sits on dark components.
 */

:root {
  --sit-orange-readable: #9a4515;
  --sit-orange-on-dark: #ffb36b;
  --sit-text-on-dark: #fff;
  --sit-text-on-dark-muted: #dbeae2;
  --sit-muted-readable: #53675e;
  --sit-positive-readable: #3f6516;
}

/* Navigation must retain a visible current state on the deep-green header. */
body.sit-recycle-site .sit-main-header .sit-primary-nav :is(
  .is-current-page > a,
  .is-current-section > button,
  a[aria-current="page"]
) {
  color: var(--sit-lime, #c7f53f) !important;
}

body.sit-recycle-site .sit-main-header .sit-primary-nav button > span {
  color: var(--sit-lime, #c7f53f) !important;
}

/*
 * Canonical dark surfaces found by the rendered public-route audit. Keeping
 * the list explicit prevents light cards elsewhere from inheriting white text.
 */
body.sit-recycle-site :is(
  .sit-v637-missions,
  .sit-v62-sectors,
  .sit-v62-stages,
  .sit-section--dark.sit-deliverables,
  .sit-final-cta,
  .sit-v631-collection-next,
  .sit-v639-boundaries,
  .sit-v639-tracking,
  .sit-v6310-journey,
  .sit-v6311-gates,
  .sit-v6311-cta,
  .sit-impact-separation,
  .sit-v63-proof,
  .sit-v63-portal-sidebar,
  .sit-v631-collection-proof,
  .sit-v6311-hero__proof,
  .sit-v6310-request-grid > aside,
  .sit-v639-request-layout > aside,
  .sit-v63-request-card > header,
  .sit-form__header
) {
  color: var(--sit-text-on-dark) !important;
}

body.sit-recycle-site :is(
  .sit-v637-missions,
  .sit-v62-sectors,
  .sit-v62-stages,
  .sit-section--dark.sit-deliverables,
  .sit-final-cta,
  .sit-v631-collection-next,
  .sit-v639-boundaries,
  .sit-v639-tracking,
  .sit-v6310-journey,
  .sit-v6311-gates,
  .sit-v6311-cta,
  .sit-impact-separation,
  .sit-v63-proof,
  .sit-v63-portal-sidebar,
  .sit-v631-collection-proof,
  .sit-v6311-hero__proof,
  .sit-v6310-request-grid > aside,
  .sit-v639-request-layout > aside,
  .sit-v63-request-card > header,
  .sit-form__header
) :where(h1, h2, h3, h4, h5, h6) {
  color: var(--sit-text-on-dark) !important;
}

body.sit-recycle-site :is(
  .sit-v637-missions,
  .sit-v62-sectors,
  .sit-v62-stages,
  .sit-section--dark.sit-deliverables,
  .sit-final-cta,
  .sit-v631-collection-next,
  .sit-v639-boundaries,
  .sit-v639-tracking,
  .sit-v6310-journey,
  .sit-v6311-gates,
  .sit-v6311-cta,
  .sit-impact-separation,
  .sit-v63-proof,
  .sit-v63-portal-sidebar,
  .sit-v631-collection-proof,
  .sit-v6311-hero__proof,
  .sit-v6310-request-grid > aside,
  .sit-v639-request-layout > aside,
  .sit-v63-request-card > header,
  .sit-form__header
) :where(p:not(.sit-eyebrow):not(.sit-impact-eyebrow), li, small, dt, dd) {
  color: var(--sit-text-on-dark-muted) !important;
}

/* Preserve lime emphasis within dark headings and component labels. */
body.sit-recycle-site :is(
  .sit-v637-missions,
  .sit-v62-sectors,
  .sit-v62-stages,
  .sit-v631-collection-next,
  .sit-v639-boundaries,
  .sit-v639-tracking,
  .sit-v6310-journey,
  .sit-v6311-gates,
  .sit-v6311-cta,
  .sit-impact-separation
) :where(h1, h2) > :where(span, strong, em),
body.sit-recycle-site :is(
  .sit-v637-missions,
  .sit-v62-sectors,
  .sit-v62-stages,
  .sit-v631-collection-next,
  .sit-v639-boundaries,
  .sit-v639-tracking,
  .sit-v6310-journey,
  .sit-v6311-gates,
  .sit-v6311-cta,
  .sit-impact-separation,
  .sit-v63-request-card > header,
  .sit-form__header
) :where(.sit-eyebrow, .sit-eyebrow--lime, .sit-impact-eyebrow) {
  color: var(--sit-lime, #c7f53f) !important;
}

/* Orange remains a brand accent, with separate light/dark surface values. */
body.sit-recycle-site :where(.sit-eyebrow:not(.sit-eyebrow--lime):not(.sit-impact-eyebrow)) {
  color: var(--sit-orange-readable) !important;
}

body.sit-recycle-site :is(
  .sit-v637-missions,
  .sit-v62-sectors,
  .sit-v62-stages,
  .sit-v639-boundaries,
  .sit-v6310-journey,
  .sit-v6311-gates,
  .sit-v6311-cta,
  .sit-v631-collection-next
) .sit-eyebrow:not(.sit-eyebrow--lime):not(.sit-impact-eyebrow),
body.sit-recycle-site .sit-v637-mission-card > div > small:first-child,
body.sit-recycle-site .sit-v62-sectors article small {
  color: var(--sit-orange-on-dark) !important;
}

body.sit-recycle-site .sit-v637-mission-tag,
body.sit-recycle-site .sit-v63-request-card > header :where(.sit-eyebrow, .sit-eyebrow--lime),
body.sit-recycle-site .sit-v631-collection-hero .sit-v63-explore > span {
  color: var(--sit-lime, #c7f53f) !important;
}

body.sit-recycle-site .sit-v6310-compare-section .sit-v6310-section-heading--light :where(h1, h2, h3, h4, h5, h6) {
  color: var(--sit-text-on-dark) !important;
}

body.sit-recycle-site .sit-v6310-compare-section .sit-v6310-section-heading--light p {
  color: var(--sit-text-on-dark-muted) !important;
}

/* Repair tracker status uses a lime chip, so its label needs deep ink. */
body.sit-recycle-site .sit-v639-tracker-card > header > em {
  color: var(--sit-deep, #032f2a) !important;
}

/*
 * Compact progress navigation uses a deep-green active item. Parent-theme
 * ink must not remain on that surface, and inactive number chips need the
 * same readable muted token used by form help text.
 */
body.sit-recycle-site .sit-v631-wizard > header li.is-active {
  color: var(--sit-text-on-dark) !important;
}

body.sit-recycle-site .sit-v631-wizard > header li:not(.is-active) > span {
  color: var(--sit-muted-readable) !important;
}

/* The cookie panel is another dark surface rendered on every public route. */
body.sit-recycle-site .sit-cookie-panel #sit-cookie-title {
  color: var(--sit-text-on-dark) !important;
}

body.sit-recycle-site .sit-cookie-panel .sit-cookie-kicker {
  color: var(--sit-lime, #c7f53f) !important;
}

/* Shared fine print and compact controls on light surfaces. */
body.sit-recycle-site :is(
  .sit-v62-journey__assurance,
  .sit-v631-collection-commitments,
  .sit-v631-breadcrumbs,
  .sit-v62-dashboard__project,
  .sit-v62-dashboard__metrics,
  .sit-v62-donut
) :where(small, span, a),
body.sit-recycle-site .sit-compact-optional {
  color: var(--sit-muted-readable) !important;
}

body.sit-recycle-site .sit-v62-dashboard :is(article, footer) > span {
  color: var(--sit-positive-readable) !important;
}

/* Supporting copy and outcome labels on the homepage sit just below AA in
 * the inherited palette, so use the established readable tokens explicitly. */
body.sit-recycle-site .sit-v62-editorial__aside > p {
  color: var(--sit-muted-readable) !important;
}

body.sit-recycle-site :is(
  .sit-v62-creates,
  .sit-v631-decision-outcomes
) > small {
  color: var(--sit-positive-readable) !important;
}

/* Shop filter descriptors and grade explanations are operational labels,
 * not decorative text. Keep them opaque on the deep-green controls. */
body.sit-recycle-site .sit-v6310-finder-tabs button > small,
body.sit-recycle-site .sit-v6310-grade-ui button > span {
  color: var(--sit-text-on-dark-muted) !important;
}

/* Product captions must remain legible regardless of the brightness of the
 * demonstration photograph beneath them. */
body.sit-recycle-site .sit-v6310-product-card > figure::after {
  background: linear-gradient(
    180deg,
    rgba(2, 31, 25, .06) 30%,
    rgba(2, 31, 25, .84) 100%
  ) !important;
}

body.sit-recycle-site .sit-v6310-product-card > figure > figcaption > span {
  color: var(--sit-text-on-dark) !important;
}

body.sit-recycle-site .sit-v6310-product-card > figure > figcaption > small {
  color: var(--sit-text-on-dark-muted) !important;
}

body.sit-recycle-site :where(input, textarea)::placeholder {
  color: var(--sit-muted-readable);
  opacity: 1;
}

/* Copyright and company details are content, not decorative watermark text. */
body.sit-recycle-site .sit-v62-footer__bottom p {
  color: var(--sit-text-on-dark-muted) !important;
}

@media (forced-colors: active) {
  body.sit-recycle-site .sit-main-header .sit-primary-nav :is(
    .is-current-page > a,
    .is-current-section > button,
    a[aria-current="page"]
  ) {
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-underline-offset: .2em;
  }
}

@media print {
  body.sit-recycle-site :is(
    .sit-v637-missions,
    .sit-v62-sectors,
    .sit-v62-stages,
    .sit-section--dark.sit-deliverables,
    .sit-final-cta,
    .sit-v631-collection-next,
    .sit-v639-boundaries,
    .sit-v639-tracking,
    .sit-v6310-journey,
    .sit-v6311-gates,
    .sit-v6311-cta,
    .sit-impact-separation,
    .sit-v63-proof,
    .sit-v63-portal-sidebar,
    .sit-v631-collection-proof,
    .sit-v6311-hero__proof,
    .sit-v6310-request-grid > aside,
    .sit-v639-request-layout > aside,
    .sit-v63-request-card > header,
    .sit-form__header
  ) :where(h1, h2, h3, h4, h5, h6, p, li, small, dt, dd) {
    color: #000 !important;
  }
}
