/* ═══════════════════════════════════════════════════════════
   GILDED GATHERINGS — seasonal skin
   Loaded only by the Christmas page. Everything here is scoped
   to body[data-season="christmas"], so the rest of the site is
   untouched. Mostly it re-points the brand variables: clay
   becomes cranberry, ink becomes fir, gold warms up.
   ═══════════════════════════════════════════════════════════ */

body[data-season="christmas"]{
  --ink:#0d1c15;
  --ink-70:rgba(13,28,21,.66);
  --ink-45:rgba(13,28,21,.45);
  --bone:#f7f0e1;
  --bone-70:rgba(247,240,225,.72);
  --bone-45:rgba(247,240,225,.46);
  --taupe:#e9dcc0;
  --taupe-lt:#f0e6d2;
  --clay:#8c2c33;            /* cranberry */
  --clay-dk:#75232a;
  --clay-ink:#7c262d;
  --sage:#2f4a39;            /* fir */
  --sage-dk:#22392c;
  --gold:#c2a15c;

  --fir:#16301f;
  --holly:#2c5138;
}

/* ── the hero ── */
body[data-season="christmas"] .hero{background:var(--fir)}
body[data-season="christmas"] .phero .hero-media::after{
  background:
    radial-gradient(120% 80% at 50% 108%, rgba(140,44,51,.42) 0%, rgba(140,44,51,0) 62%),
    linear-gradient(to bottom,
      rgba(13,28,21,.34) 0%,
      rgba(13,28,21,.06) 26%,
      rgba(13,28,21,.16) 46%,
      rgba(13,28,21,.52) 64%,
      rgba(13,28,21,.80) 82%,
      rgba(13,28,21,.95) 100%);
}
body[data-season="christmas"] .phero .eyebrow{color:#e5c98d;opacity:1}

/* ── a gold hairline that runs under the hero and above the footer ── */
.season-rule{
  height:1px;border:0;margin:0;
  background:linear-gradient(90deg,
    rgba(194,161,92,0) 0%, rgba(194,161,92,.85) 22%,
    rgba(194,161,92,.85) 78%, rgba(194,161,92,0) 100%);
}

/* ── the seasonal introduction under the hero ── */
.season-intro{
  background:var(--fir);color:var(--bone);
  padding:clamp(3.6rem,8vh,6rem) var(--pad);
  position:relative;z-index:1;
}
.season-grid{
  max-width:1180px;margin:0 auto;
  display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(2rem,5vw,5rem);align-items:center;
}
.season-grid figure{overflow:hidden}
.season-grid img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3}
.season-intro .eyebrow{color:#e5c98d;opacity:1;margin-bottom:1rem}
.season-intro h2{margin-bottom:1.2rem}
.season-intro p{color:var(--bone-70);max-width:52ch}
.season-price{
  display:flex;align-items:baseline;gap:.9rem;margin:1.6rem 0 1.8rem;
  font-family:var(--display);
}
.season-price b{font-weight:200;font-size:clamp(2.2rem,4vw,3rem);line-height:1;color:var(--bone)}
.season-price span{
  font-weight:500;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--bone-45);
}
.season-list{margin:1.4rem 0 0;display:grid;gap:.55rem}
.season-list li{
  font-size:.94rem;color:var(--bone-70);padding-left:1.4rem;position:relative;
}
.season-list li::before{
  content:"";position:absolute;left:0;top:.62em;width:6px;height:6px;
  background:var(--gold);transform:rotate(45deg);
}
@media (max-width:900px){
  .season-grid{grid-template-columns:1fr}
  .season-grid figure{order:-1}
}

/* ── the builder, dressed for the season ── */
body[data-season="christmas"] .qwrap{background:var(--bone)}
body[data-season="christmas"] .qpkgs{
  grid-template-columns:minmax(0,540px);justify-content:center;
}
body[data-season="christmas"] .qpkg{
  padding:2rem 1.8rem 1.8rem;border-color:rgba(13,28,21,.22);
}
body[data-season="christmas"] .qpkg .flag{background:var(--clay);color:var(--bone)}
body[data-season="christmas"] .qpkg .pr{color:inherit}
body[data-season="christmas"] .qcat{color:var(--clay-ink)}
body[data-season="christmas"] .qsum{
  background:var(--fir);
  box-shadow:inset 0 3px 0 0 var(--gold);
}
body[data-season="christmas"] .qstotal span:last-child{color:#e5c98d}
body[data-season="christmas"] .qrow.on{background:rgba(140,44,51,.09)}
