/* SmartChoice Hub V7 production repair layer.
   Preserves the V6 visual system, catalogue, commerce truth, routes and SEO.
   Adds mobile media support, viewport containment and explicit light/dark semantics. */

:root {
  --sch-v7-paper: #fbf8f1;
  --sch-v7-ink: #151a17;
  --sch-v7-muted: #46504a;
  --sch-v7-link: #0c6647;
  --sch-v7-dark: #070908;
  --sch-v7-ivory: #fffaf0;
  --sch-v7-gold: #e8c879;
  --sch-v7-ease: cubic-bezier(.23,1,.32,1);
}

/* Explicit dark-surface brand treatment. */
body.sch-cinematic header.sch-cinematic-scrolled a[href="/"] > span:last-child,
body.sch-cinematic #mobile-menu a[href="/"] > span:last-child,
body.sch-cinematic footer a[href="/"] > span:last-child {
  color: var(--sch-v7-ivory) !important;
  text-shadow: 0 1px 14px rgba(0,0,0,.46);
}
body.sch-cinematic header.sch-cinematic-scrolled a[href="/"] > span:last-child > span,
body.sch-cinematic #mobile-menu a[href="/"] > span:last-child > span,
body.sch-cinematic footer a[href="/"] > span:last-child > span,
body.sch-cinematic header.sch-cinematic-scrolled a[href="/"] > span:first-child,
body.sch-cinematic #mobile-menu a[href="/"] > span:first-child,
body.sch-cinematic footer a[href="/"] > span:first-child {
  color: var(--sch-v7-gold) !important;
}

/* Keep the complete decorative word inside every narrow footer. */
@media (max-width: 767px) {
  body.sch-cinematic footer::before {
    box-sizing: border-box !important;
    width: calc(100% - 2rem) !important;
    max-width: calc(100% - 2rem) !important;
    margin-inline: 1rem !important;
    padding-top: 3.5rem !important;
    overflow: clip !important;
    font-size: clamp(2.6rem,14vw,3.75rem) !important;
    line-height: .78 !important;
    letter-spacing: -.075em !important;
    white-space: nowrap !important;
  }
}

/* V7 mobile/tablet film reuses the same poster-first transition as desktop. */
body.sch-page-home .sch-v6-hero .sch-hero-video {
  display: block !important;
}
body.sch-page-home .sch-v6-hero.sch-v7-video-ready .sch-hero-video {
  opacity: 1 !important;
}
body.sch-page-home .sch-v6-hero.sch-v7-video-ready .sch-v6-hero-poster {
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Fixed-header clearance and stable narrow-screen hero geometry. */
@media (max-width: 767px) {
  body.sch-page-home .sch-v6-hero {
    min-height: max(52rem,100svh) !important;
    display: block !important;
    align-items: initial !important;
    padding-bottom: 0 !important;
  }
  body.sch-page-home .sch-v6-hero > .relative.z-10 {
    min-height: max(52rem,100svh) !important;
    align-items: flex-start !important;
    padding-top: clamp(5.75rem,24vw,7rem) !important;
    padding-bottom: 2rem !important;
  }
  body.sch-page-home .sch-v6-hero .sch-hero-video,
  body.sch-page-home .sch-v6-hero-poster img {
    object-position: 64% center !important;
  }
}

/* Honest poster-only fallbacks for explicit user or network preferences. */
@media (prefers-reduced-motion: reduce) {
  body.sch-page-home .sch-v6-hero .sch-hero-video {
    display: none !important;
  }
  body.sch-page-home .sch-v6-hero .sch-v6-hero-poster {
    opacity: 1 !important;
  }
}
body.sch-v7-save-data.sch-page-home .sch-v6-hero .sch-hero-video,
body.sch-v7-video-fallback.sch-page-home .sch-v6-hero .sch-hero-video {
  display: none !important;
}
body.sch-v7-save-data.sch-page-home .sch-v6-hero .sch-v6-hero-poster,
body.sch-v7-video-fallback.sch-page-home .sch-v6-hero .sch-v6-hero-poster {
  opacity: 1 !important;
}

/* Clamp the first desktop disclosure to the viewport at the 1024px edge. */
@media (min-width: 1024px) and (max-width: 1180px) {
  body.sch-cinematic header nav[aria-label="Main navigation"] > div:first-child > [id^="dropdown-"] {
    left: 0 !important;
    transform: translate(0,-6px) !important;
  }
  body.sch-cinematic header nav[aria-label="Main navigation"] > div:first-child > [id^="dropdown-"].sch-v6-menu-open {
    transform: translate(0,0) !important;
  }
}

/* Articles landing: remove the opaque transition slab and establish a light semantic surface. */
body.sch-v7-articles-index .sch-v7-articles-hero > .absolute.bottom-0,
body.sch-v7-articles-index .sch-v7-articles-hero > [class*="from-white"] {
  display: none !important;
}
body.sch-v7-articles-index .sch-v7-articles-hero > .relative.z-10 {
  padding-bottom: .5rem;
}
body.sch-v7-articles-index .sch-v7-articles-hero .eyebrow {
  color: var(--sch-v7-gold) !important;
}
body.sch-v7-articles-index .sch-v7-articles-hero p.text-lg {
  color: rgba(255,250,240,.86) !important;
}
body.sch-cinematic.sch-page-editorial.sch-v7-articles-index main > section#sch-v7-articles-latest {
  color: var(--sch-v7-ink) !important;
  background: var(--sch-v7-paper) !important;
  isolation: isolate;
}
body.sch-cinematic.sch-page-editorial.sch-v7-articles-index main > section#sch-v7-articles-latest::before,
body.sch-cinematic.sch-page-editorial.sch-v7-articles-index main > section#sch-v7-articles-latest::after {
  pointer-events: none !important;
}
body.sch-cinematic.sch-page-editorial.sch-v7-articles-index main > section#sch-v7-articles-latest h2 {
  color: var(--sch-v7-ink) !important;
  font-size: clamp(2.35rem,7vw,4.75rem) !important;
  line-height: .98 !important;
}
body.sch-cinematic.sch-page-editorial.sch-v7-articles-index main > section#sch-v7-articles-latest p,
body.sch-cinematic.sch-page-editorial.sch-v7-articles-index main > section#sch-v7-articles-latest .text-charcoal-400 {
  color: var(--sch-v7-muted) !important;
}
body.sch-cinematic.sch-page-editorial.sch-v7-articles-index main > section#sch-v7-articles-latest #soro-blog .soro-blog-card {
  border-color: rgba(21,26,23,.16) !important;
}
body.sch-cinematic.sch-page-editorial.sch-v7-articles-index main > section#sch-v7-articles-latest #soro-blog .soro-blog-card a {
  text-decoration-thickness: .08em;
  text-underline-offset: .16em;
}

/* Dynamic Soro article: one readable, AA-oriented light theme with fixed-header clearance. */
body[data-sch-dynamic-route="true"] #soro-blog,
body[data-sch-dynamic-route="true"] #soro-blog .soro-blog,
body[data-sch-dynamic-route="true"] #soro-blog .soro-blog-content,
body[data-sch-dynamic-route="true"] #soro-blog .soro-blog-article,
body.sch-page-article #soro-blog,
body.sch-page-article #soro-blog .soro-blog,
body.sch-page-article #soro-blog .soro-blog-content,
body.sch-page-article #soro-blog .soro-blog-article {
  color: var(--sch-v7-ink) !important;
  background: var(--sch-v7-paper) !important;
}
body[data-sch-dynamic-route="true"] #soro-blog .soro-blog-article,
body.sch-page-article #soro-blog .soro-blog-article {
  scroll-margin-top: 5.75rem;
  padding-top: 1.25rem !important;
}
body[data-sch-dynamic-route="true"] #soro-blog .soro-blog-article-title,
body.sch-page-article #soro-blog .soro-blog-article-title {
  margin: 0 0 .7rem !important;
  color: var(--sch-v7-ink) !important;
  font-family: var(--cin-display,Georgia,"Times New Roman",serif) !important;
  font-size: clamp(2rem,5.7vw,4.7rem) !important;
  line-height: 1.04 !important;
  letter-spacing: -.035em !important;
  overflow-wrap: anywhere;
}
body[data-sch-dynamic-route="true"] #soro-blog .soro-blog-article-date,
body.sch-page-article #soro-blog .soro-blog-article-date {
  color: #59635d !important;
}
body[data-sch-dynamic-route="true"] #soro-blog .soro-blog-article-content,
body.sch-page-article #soro-blog .soro-blog-article-content {
  color: #2e3732 !important;
  font-size: clamp(1rem,1.1vw,1.125rem) !important;
  line-height: 1.74 !important;
}
body[data-sch-dynamic-route="true"] #soro-blog .soro-blog-article-content p,
body[data-sch-dynamic-route="true"] #soro-blog .soro-blog-article-content li,
body[data-sch-dynamic-route="true"] #soro-blog .soro-blog-article-content blockquote,
body.sch-page-article #soro-blog .soro-blog-article-content p,
body.sch-page-article #soro-blog .soro-blog-article-content li,
body.sch-page-article #soro-blog .soro-blog-article-content blockquote {
  color: #2e3732 !important;
}
body[data-sch-dynamic-route="true"] #soro-blog .soro-blog-article-content h2,
body.sch-page-article #soro-blog .soro-blog-article-content h2 {
  margin-top: 2.5rem !important;
  color: var(--sch-v7-ink) !important;
  font-family: var(--cin-display,Georgia,"Times New Roman",serif) !important;
  font-size: clamp(1.8rem,3.4vw,3rem) !important;
  line-height: 1.08 !important;
  letter-spacing: -.025em !important;
  overflow-wrap: anywhere;
}
body[data-sch-dynamic-route="true"] #soro-blog .soro-blog-article-content h3,
body.sch-page-article #soro-blog .soro-blog-article-content h3 {
  color: var(--sch-v7-ink) !important;
  font-size: clamp(1.3rem,2.3vw,2rem) !important;
  line-height: 1.2 !important;
}
body[data-sch-dynamic-route="true"] #soro-blog a,
body.sch-page-article #soro-blog a {
  color: var(--sch-v7-link) !important;
  text-decoration: underline;
  text-decoration-thickness: .08em;
  text-underline-offset: .16em;
}
body[data-sch-dynamic-route="true"] #soro-blog .soro-blog-article-image,
body.sch-page-article #soro-blog .soro-blog-article-image {
  width: 100% !important;
  height: auto !important;
  border-radius: 1.25rem !important;
}
body[data-sch-dynamic-route="true"] .sch-soro-unavailable.sch-v7-stale-status {
  display: none !important;
}

/* Stable contrast for lower editorial scenes and asynchronous loading copy. */
body.sch-v7-articles-index main > section.section-cream,
body.sch-v7-guides-index main > section.section-cream {
  color: var(--sch-v7-ivory) !important;
  background: var(--sch-v7-dark) !important;
}
body.sch-v7-articles-index main > section.section-cream h2,
body.sch-v7-guides-index main > section.section-cream h2 {
  color: var(--sch-v7-ivory) !important;
}
body.sch-v7-articles-index main > section.section-cream > div > div > p:not(.eyebrow),
body.sch-v7-guides-index main > section.section-cream > div > div > p:not(.eyebrow) {
  color: #cbd4ce !important;
}
body.sch-v7-articles-index main > section.section-cream .text-center > p.text-charcoal-400 {
  color: #cbd4ce !important;
}
body.sch-v7-articles-index main > section.section-cream .eyebrow,
body.sch-v7-guides-index main > section.section-cream .eyebrow {
  color: var(--sch-v7-gold) !important;
}
body.sch-v7-guides-index main > section.section-cream .grid > div.bg-white {
  color: var(--sch-v7-ink) !important;
  background: #fff !important;
  opacity: 1 !important;
}
body.sch-v7-guides-index main > section.section-cream .grid > div.bg-white p.font-serif {
  color: #263029 !important;
}
body.sch-v7-guides-index main > section.section-cream .grid > div.bg-white p.text-xs {
  color: var(--sch-v7-muted) !important;
}
body.sch-v7-guides-index main span.inline-block.bg-accent-50 {
  color: #772700 !important;
}
body.sch-v7-articles-index #soro-blog a.soro-blog-card {
  color: var(--sch-v7-ink) !important;
  background: #fff !important;
}
body.sch-v7-articles-index #soro-blog .soro-blog-card-title {
  color: var(--sch-v7-ink) !important;
}
body.sch-v7-articles-index #soro-blog .soro-blog-card-excerpt {
  color: #333b37 !important;
  opacity: 1 !important;
}
body.sch-cinematic .soro-embed-wrapper > .flex > p.text-sm {
  color: var(--sch-v7-muted) !important;
}
body.sch-page-home main section[data-cinematic-word="Voices"] p.eyebrow {
  color: var(--sch-v7-gold) !important;
}
body.sch-page-product main article.group,
body.sch-page-product main article.group h3 a {
  color: var(--sch-v7-ink) !important;
}
body.sch-page-product main article.group p {
  color: var(--sch-v7-muted) !important;
}

/* Mobile reading rhythm and guide/card typography. */
@media (max-width: 767px) {
  body.sch-cinematic main .sch-reveal {
    opacity: 1 !important;
    transform: none !important;
  }
  body.sch-v7-articles-index .sch-v7-articles-hero {
    min-height: 0 !important;
    padding-top: 6rem !important;
    padding-bottom: 4.5rem !important;
  }
  body.sch-v7-articles-index .sch-v7-articles-hero h1 {
    font-size: clamp(3rem,15vw,4.4rem) !important;
    line-height: .92 !important;
  }
  body.sch-v7-articles-index .sch-v7-articles-latest h2 {
    font-size: clamp(2.25rem,11vw,3.2rem) !important;
    overflow-wrap: normal;
  }
  body.sch-v7-guides-index main h1,
  body.sch-page-guide-detail main h1 {
    font-size: clamp(2.7rem,12vw,4rem) !important;
    line-height: .96 !important;
    overflow-wrap: anywhere;
  }
  body.sch-v7-guides-index main > section:first-child > .absolute.bottom-0[class*="from-white"] {
    display: none !important;
  }
  body.sch-v7-guides-index main h2,
  body.sch-page-guide-detail main h2 {
    margin-left: 0 !important;
    transform: none !important;
    font-size: clamp(2rem,10vw,3rem) !important;
    line-height: 1.02 !important;
    overflow-wrap: anywhere;
  }
  body.sch-v7-guides-index main .grid a h2,
  body.sch-page-guide-detail main .grid a h2,
  body.sch-page-guide-detail main article h2 {
    font-size: clamp(1.55rem,7vw,2.15rem) !important;
    line-height: 1.08 !important;
  }
  body.sch-page-guide-detail main [class*="text-white/50"],
  body.sch-v7-guides-index main [class*="text-white/50"] {
    color: rgba(255,250,240,.84) !important;
  }
}

/* Disabled retailer controls are states, not interactive buttons. */
body.sch-cinematic .sch-retailer-disabled {
  cursor: not-allowed !important;
  text-wrap: balance;
}
body.sch-cinematic [data-commerce-slug][data-price-state="check-current"] .sch-commerce-price,
body.sch-cinematic [data-commerce-slug][data-price-state="unavailable"] .sch-commerce-price {
  color: var(--sch-v7-ink) !important;
}
