/* Seasonal presentation only. Remove the stylesheet link to restore the base theme. */
:root {
  --bg: #f7faf8;
  --surface: #fff;
  --text: #202624;
  --muted: #52625b;
  --border: #d8e2dc;
  --accent: #a63c12;
  --grad: #b84215;
  --grad-rainbow: #ffab63;
  --radius: 8px;
  --radius-sm: 8px;
  --shadow: 0 12px 30px rgba(0,0,0,.12);
  --shadow-hi: 0 16px 36px rgba(0,0,0,.18);
}
body { background: #171d1a; color: #f3f7f4; }
html { overflow-x: clip; }
.blob { display: none; }
nav { background: #171d1a; border-bottom-color: #425248; backdrop-filter: none; }
nav .brand, nav .nav-links a, nav .nav > a { color: #f3f7f4; }
.brand .logo { background: #b84215; }
.site-header {
  --sh-bg: #171d1a; --sh-border: #425248; --sh-text: #f3f7f4; --sh-muted: #c1d2c7;
  --sh-hover-bg: #2c3931; --sh-active: #ffb578; --sh-logo: #b84215; --sh-cta: #b84215;
  backdrop-filter: none;
}
.site-header .sh-cta:hover { background: #92320e; }
.nav-links a:hover { background: #2c3931; color: #ffb578; }
body > .wrap, main { color: #f3f7f4; }
.hero p.lead, header.intro p, .sub, main .lead, .crumb { color: #c1d2c7; }
.eyebrow, .hero .eyebrow, header.intro .eyebrow, header.intro .seasonal-label { color: #ffb578; letter-spacing: 0; }
h1, h2, h3, .title { letter-spacing: 0; }
.hero h1 { font-size: 3.5rem; }
.hero h1 .pop, .intro h1 .pop { background: none; color: #ffab63; -webkit-text-fill-color: #ffab63; }
.hero { border-bottom: 1px solid #425248; }
.seasonal-label { display: inline-flex; align-items: center; gap: 10px; margin: 0 0 18px; color: #ffb578; font-weight: 800; }
.seasonal-label::before { content: ''; width: 22px; height: 19px; flex: none; background: #ed803c; border-radius: 8px; border-top: 3px solid #81ba95; }
section { background: #f7faf8; color: var(--text); }
section:nth-of-type(even) { background: #edf4ef; }
section .eyebrow, .card .eyebrow { color: #a63c12; }
section .sub { color: var(--muted); }
.card, .tile, .quote-card, .faq details, .fact { color: var(--text); }
.tile .meta, .card, .quote-card { background: #fff; }
.tile .pic { background: #d8e9df !important; }
.tile:nth-child(even) .pic { background: #f6d3bb !important; }
.tile:nth-child(3n) .pic { background: #d3e9ec !important; }
.btn-primary, .cartbtn, .nav-links a.cta, .button { background: #b84215; color: #fff; }
.btn-primary:hover, .cartbtn:hover, .button:hover { background: #92320e; }
.btn-ghost { background: #fff; color: #202624; }
.cart, .modal { background: #f7faf8; color: #202624; }
.cart :is(input,select,textarea), .modal :is(input,select,textarea) { color: #202624; }
.cart a, .modal a, section a:not(.btn), .fact a { color: #94400f; }
.swatch, .chip { color: #202624; }
.file-hint, .dropzone, .multicolor-choice, .special-color { background: #edf4ef; border-color: #b6ccbd; color: #40564a; }
.dropzone:hover, .dropzone.drag { background: #e0ece4; }
.estimate { background: #245747; }
.seg button.on { background: #fce5d4; }
.card a { color: #94400f; }
footer { background: #101612; color: #c1d2c7; }
footer a, main a:not(.button), .muted-note, .note-soft { color: #a4d9c3; }
.cart .muted-note, section .note-soft { color: #52625b; }
section .muted-note { color: #52625b; }
main .fact, main .notice { background: #edf4ef; color: #202624; border-color: #b6ccbd; }
:is(a,button,input,select,textarea):focus-visible { outline: 3px solid #16806b; outline-offset: 3px; }
/* Links on light cards and sections: dark orange. Without this, the mint link color meant for
   the dark background also lands on white cards, where it is hard to read. */
main section a:not(.btn):not(.button):not(.cta), main .editorial-card a, main .disclosure a, main .partner-card a { color: #94400f; }
header.intro a, .hero a:not(.btn) { color: #ffb578 !important; }
.badges span, .product-support p { color: #c1d2c7; }
.estimate-gate-card { color: #202624; }
main section .btn-primary, main section .button { color: #fff; }

/* Product Reviews, review policy and partner profile pages */
.editorial-card { background: #fff; color: var(--text); border-color: var(--border); }
.editorial-card h2 a { color: var(--text); }
.editorial-hero { color: var(--text); }
.category-nav { background: none; }
main .category-nav a { background: #fff; color: #202624; border-color: var(--border); }
main .category-nav a[aria-current=page] { background: #b84215; color: #fff; border-color: #b84215; }
.disclosure { background: #fce5d4; color: #202624; border-left-color: #b84215; }
.score, .score span { color: #7a2e0d !important; background: #fce5d4; }
main.wrap > p:not([class]) { color: #f3f7f4; }
main.wrap > p:not([class]) a { color: #ffb578; }

/* Materials guide */
body > header:not(.intro):not(.hero) { background: transparent; border-bottom-color: #425248; }
body > header:not(.intro):not(.hero) h1, body > header:not(.intro):not(.hero) .intro { color: #f3f7f4; }
body > header:not(.intro):not(.hero) .eyebrow { color: #ffb578; }
.material, .choice { background: #fff; color: #202624; }
.material p, .choice li { color: #40564a; }
section.cta { background: #245747; }
.more-reviews, .more-reviews h2 { background: transparent; color: #f3f7f4; }
.more-reviews a { color: #ffb578 !important; }

/* 404 page */
main > section[aria-labelledby="not-found-title"] { background: transparent; color: #f3f7f4; }
main > section[aria-labelledby="not-found-title"] .lead { color: #c1d2c7; }
.code { color: #ffab63 !important; }
.actions .button:not(.primary) { background: #fff; color: #202624; }
.actions .button.primary { background: #b84215; border-color: #b84215; color: #fff; }

@media (max-width: 600px) {
  .hero h1 { font-size: 2.3rem; }
  .seasonal-label { font-size: .9rem; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .printer * { animation: none !important; }
}
