.noel-banner,.noel-page { background:#092418; color:#fbefd9; }
.noel-banner { display:grid; grid-template-columns:1.4fr 1fr; margin:14px 0 28px; border:1px solid #b08b49; overflow:hidden; }
.noel-banner-copy { display:grid; align-content:center; justify-items:start; padding:clamp(28px,6vw,80px); }
.noel-banner-copy h2,.noel-title h1 { color:#f0cc83; font-size:clamp(2.8rem,7vw,6rem); margin:8px 0; }
.noel-banner-copy p:first-child,.noel-title p:last-child { color:#f0cc83; font:italic 1.3rem Georgia,serif; }
.noel-banner-copy p { margin:8px 0 16px; }
.noel-banner-copy a { padding:12px 18px; background:#f0cc83; color:#162b1c; border-radius:5px; text-decoration:none; font-weight:700; }
.noel-banner-image { position:relative; min-height:290px; }
.noel-banner-image img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 16%; }
.noel-page main { padding-block:20px 50px; }
.noel-title { text-align:center; padding:clamp(28px,6vw,75px) 12px; }
.noel-title p { margin:0; }
.noel-nav { display:flex; flex-wrap:wrap; gap:8px; }
.noel-nav a { color:#fbefd9; border:1px solid #ae9158; border-radius:5px; padding:10px 14px; text-decoration:none; }
.noel-nav a:hover { background:#264435; }
.noel-category { margin-top:42px; padding:clamp(14px,4vw,38px); background:#faf1e1; color:#2b231d; border-top:3px solid #ba964f; }
.noel-category .noel-nav a { color:#163528; }
.noel-category .noel-nav a:hover { background:#e8ddc6; }
.noel-category h3 { margin-top:23px; }
.noel-grid,.noel-flyers { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr)); gap:12px; }
.noel-grid article { padding:14px; border:1px solid #dac6a0; background:#fffaf0; }
.noel-grid h4 { margin:0; font:1.2rem Georgia,serif; }
.noel-grid p { margin:8px 0; font-size:.92rem; }
.noel-grid ul { list-style:none; padding:0; margin:8px 0 0; }
.noel-grid li { display:flex; justify-content:space-between; gap:12px; }
.noel-grid strong { white-space:nowrap; color:#214532; }
.noel-page footer { color:#fbefd9; }
.masthead .main-nav .noel-menu-link,#mobile-menu nav .noel-menu-link { background:#153827; color:#fbefd9; }
@media(max-width:700px) {
  .noel-banner { grid-template-columns:1fr; }
  .noel-banner-image { min-height:150px; }
  .noel-banner-copy { justify-items:center; text-align:center; }
  .noel-flyers { grid-template-columns:1fr 1fr; }
}

.christmas-home { background: radial-gradient(ellipse at top, #234633, #0b2317 70%); }
.christmas-home .masthead { position:relative; background:#fff7e7; padding-top:clamp(32px,5vw,52px); border-bottom:3px double #d5a64b; }
.christmas-home main { background:#f8f2e7; }
.christmas-home footer { color:#fff1d5; }
.christmas-home .noel-banner { position:relative; margin-top:0; border:2px solid #d5a64b; }
.christmas-home .noel-banner-copy { padding-top:clamp(64px,8vw,105px); background:radial-gradient(ellipse at 50% 35%,#214b34,#092418 75%); }
.christmas-home .noel-banner-image { min-height:360px; }
.christmas-home .noel-banner-image img { object-fit:contain; object-position:center; }
.christmas-ornaments {
  position:absolute;
  top:0;
  left:0;
  right:0;
  z-index:1;
  display:flex;
  justify-content:space-around;
  align-items:flex-start;
  height:64px;
  pointer-events:none;
  background: url("noel/frise.webp") center top / auto 100% repeat-x;
}
.christmas-ornaments i {
  position:relative;
  display:block;
  margin-top:22px;
  width:clamp(22px,4vw,44px);
  height:clamp(22px,4vw,44px);
  box-shadow:0 5px 12px #0006;
}
.christmas-ornaments i::before {
  content:"";
  position:absolute;
  width:1px;
  height:30px;
  background:#f1cc78;
  bottom:100%;
  left:50%;
}
.christmas-ornaments .ball { border-radius:50%; }
.christmas-ornaments .red { background:radial-gradient(circle at 34% 26%,#ffdad0,#dc2528 28%,#850e16 66%,#4f0c10); }
.christmas-ornaments .gold { background:radial-gradient(circle at 34% 26%,#fff2bd,#d99a30 35%,#855010 74%,#e4af47); }
.christmas-ornaments .bell {
  margin-top:31px;
  border-radius:55% 55% 18% 18%;
  border-bottom:4px solid #805019;
  background:linear-gradient(100deg,#855014,#ffe7a0 40%,#dfa331 64%,#986019);
  transform:rotate(12deg);
}
.christmas-ornaments .bell::after {
  content:"";
  position:absolute;
  left:40%;
  top:100%;
  width:22%;
  aspect-ratio:1;
  border-radius:50%;
  background:#dfaa49;
}
.christmas-divider { padding:10px; background:#143523; color:#edc979; text-align:center; letter-spacing:.5em; }
@media(max-width:700px) {
  .christmas-ornaments { height:42px; }
  .christmas-home .noel-banner-image { min-height:clamp(240px,70vw,380px); }
}

.christmas-home {
  --noel-border: min(4vw, 116px);
  background:
    url("noel/bord-gauche.webp") left top / var(--noel-border) auto repeat-y,
    url("noel/bord-droite.webp") right top / var(--noel-border) auto repeat-y,
    #0b2317;
}
.christmas-home .noel-banner {
  background:
    url("noel/bord-gauche.webp") left top / 24px auto repeat-y,
    url("noel/bord-droite.webp") right top / 24px auto repeat-y,
    #092418;
  padding-inline: 24px;
}
@media (max-width: 700px) {
  .christmas-home .noel-banner {
    background-size: 15px auto;
    padding-inline: 15px;
  }
}

.christmas-home .masthead .brand .festive-logo { position:relative; display:block; flex:none; }
.festive-logo::before {
  content:""; position:absolute; z-index:1; width:76%; height:32%;
  left:-14%; top:-16%; transform:rotate(-24deg);
  background:linear-gradient(#dd352e,#8f1521);
  border-radius:75% 80% 16% 12%; border-bottom:5px solid #fff5df;
}
.festive-logo::after {
  content:""; position:absolute; z-index:2; left:-15%; top:0;
  width:16%; aspect-ratio:1; border-radius:50%; background:#fff5df;
}
.christmas-home .collections { margin-inline:0; padding:14px clamp(10px,2vw,24px); }
.christmas-home .showcase { grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.christmas-home .showcase-piece { background:#163827; border:1px solid #bd9a53; color:#fff2d6; border-radius:6px; overflow:hidden; }
.christmas-home .showcase img { height:auto; aspect-ratio:4/3; }
.christmas-home .showcase figcaption { padding:12px 4px; }
.christmas-home .event-button, .christmas-home .header-cart, .christmas-home .main-nav a.button {
  background:linear-gradient(#a52632,#72111c); border-color:#bb914b; color:#fff5e3;
}
.christmas-home .event-outline { background:#173d29; border-color:#bb914b; color:#fff5e3; }
.christmas-home .event-actions .button::before, .christmas-home .showcase figcaption::before { content:"✦"; color:#f2c67a; margin-right:.45em; }
.review-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; padding-inline:14px; }
.review-grid article { background:#fff9ec; border:1px solid #ba9653; padding:20px 12px; border-radius:6px; }
.review-stars { position:relative; display:inline-block; color:#d4c7af; margin:0; font-size:1.6rem; letter-spacing:.08em; white-space:nowrap; }
.review-stars span { position:absolute; inset:0 auto 0 0; width:90%; overflow:hidden; color:#986519; }
.review-date { padding-bottom:12px; color:var(--muted); font-size:.85rem; }
@media(max-width:700px) {
  .christmas-home .showcase { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .review-grid { grid-template-columns:1fr; }
}

.christmas-home .masthead .festive-logo { box-shadow:0 0 0 1px #d5a64b; }

.christmas-header-trim {
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(180deg,transparent,#09241865 45%,#09241865 55%,transparent),
    url("noel/frise.webp") center top / auto 51% repeat-x,
    url("noel/frise.webp") center bottom / auto 51% repeat-x,
    #092418;
}
.christmas-home .masthead {
  padding:clamp(19px,3vw,36px) 0 0;
  gap:clamp(14px,2vw,24px);
}
.christmas-home .masthead .brand {
  background:#fff7e7;
  border:1px solid #d5a64b;
  border-radius:6px;
  padding:8px 15px;
}
.christmas-home .masthead .brand,
.christmas-home .masthead nav,
.christmas-home .mobile-header { position:relative; }
.noel-banner-copy h2 { width:min(100%,480px); }
.noel-banner-copy h2 img { display:block; width:100%; height:auto; }


.christmas-home .masthead .main-nav,
.christmas-home .masthead .mobile-header {
  width:100%;
  justify-content:center;
  padding:9px 4vw;
  background:#fff;
  border-top:1px solid #d5a64b;
}

.christmas-home .noel-banner {
  grid-template-columns: minmax(0, 1fr);
  isolation: isolate;
  padding-inline: 0;
  background:
    url("noel/bord-gauche.webp") left center / clamp(30px, 13vw, 175px) auto repeat-y,
    url("noel/bord-droite.webp") right center / clamp(30px, 13vw, 175px) auto repeat-y,
    radial-gradient(ellipse at 50% 40%, #245239, #092418 73%);
}
.christmas-home .noel-banner-copy {
  background: none;
  justify-items: center;
  text-align: center;
  padding: clamp(68px, 8vw, 105px) clamp(35px, 16vw, 195px) clamp(34px, 6vw, 74px);
}
