/* Safimel Christmas 2026 — crimson seasonal styling, saved for review only. */
.christmas-theme { --festive-crimson: #3c101b; --festive-gold: #d5b773; }
.christmas-theme .announcement { background: linear-gradient(90deg,#230c12,#481723 50%,#230c12); color: #ddc58e; border-bottom: 1px solid rgba(199,163,90,.22); }
.christmas-theme .announcement i { background: #c7a35a; }
.christmas-theme .site-header { border-bottom-color: rgba(199,163,90,.36); }
.christmas-theme .primary-nav { gap: clamp(12px,1.7vw,25px); }
.christmas-theme .primary-nav .christmas-nav { color: var(--gold2); position: relative; }
.christmas-theme .primary-nav .christmas-nav::after { content: ''; height: 1px; width: 25px; position: absolute; bottom: 19px; left: 50%; transform: translateX(-50%); background: var(--gold); }
.christmas-theme .mobile-menu .christmas-nav { color: #dfc58b; }
.christmas-theme .festive-ribbon { min-height: 76px; display: flex; justify-content: center; align-items: center; gap: 26px; padding: 14px 24px; color: #f0dfb8; border-top: 1px solid rgba(213,183,115,.18); border-bottom: 1px solid rgba(213,183,115,.5); background: linear-gradient(100deg,#301019,#4a1926 50%,#301019); font-size: .76rem; line-height: 1.4; letter-spacing: .12em; text-transform: uppercase; text-align: center; cursor: pointer; }
.christmas-theme .festive-ribbon::before,.christmas-theme .festive-ribbon::after { content: '✧'; font-size: 1.2rem; line-height: 1; color: #d5b773; }
.christmas-theme .festive-message { display: flex; align-items: center; gap: 20px; }
.christmas-theme .festive-subtitle { color: #d4c4b5; font-size: .7rem; }
.christmas-theme .festive-ribbon b { font-weight: 600; }
.christmas-theme .festive-cta { display: inline-flex; justify-content: center; align-items: center; gap: 14px; min-height: 44px; padding: 11px 18px; background: #d5b773; color: #21120d; border: 1px solid #e8cf96; font-size: .69rem; font-weight: 700; letter-spacing: .09em; white-space: nowrap; box-shadow: 0 3px 14px rgba(0,0,0,.18); }
.christmas-theme .festive-cta span { font-size: 1.15rem; line-height: 1; }
.christmas-theme .festive-ribbon:hover .festive-cta { background: #efdaa7; border-color: #f6e6c0; }
.christmas-theme .festive-ribbon:focus-visible { outline: 3px solid #f6e6c0; outline-offset: -5px; }
.christmas-theme .hero { min-height: 660px; height: calc(100svh - 196px); max-height: 920px; }
.christmas-theme .hero::after { content: ''; position: absolute; inset: 22px; border: 1px solid rgba(213,183,115,.18); pointer-events: none; }
.christmas-theme .hero-shade { background: linear-gradient(90deg,rgba(5,3,4,.88),rgba(5,3,4,.55) 39%,rgba(5,3,4,.02) 73%),linear-gradient(0deg,#0c080a,transparent 22%); }
.christmas-theme .hero-content { z-index: 1; padding-top: 0; padding-bottom: 32px; }
.christmas-theme .hero-content .eyebrow { display: flex; align-items: center; gap: 13px; font-size: .62rem; letter-spacing: .23em; }
.christmas-theme .hero-content .eyebrow::before { content: '✧'; font-family: Georgia,serif; font-size: 1.45rem; font-weight: 400; }
.christmas-theme .hero h1 { font-size: clamp(4.5rem,7.2vw,7.4rem); max-width: 740px; line-height: .95; }
.christmas-theme .hero h1 em { color: #d7bd80; font-weight: 500; }
.christmas-theme .hero-content>p:not(.eyebrow) { max-width: 455px; color: #c8c1b2; font-size: 1.24rem; line-height: 1.5; margin: 25px 0 12px; }
.christmas-theme .hero-actions { gap: 25px; }
.christmas-theme .hero-actions .button { background: #c7a35a; border-color: #d9bc7c; }
.christmas-theme .hero-stamp { width: 118px; height: 118px; right: 48px; bottom: 52px; z-index: 1; background: rgba(12,7,10,.25); }
.christmas-theme .festive-hero-note { position: absolute; z-index: 1; left: 3vw; bottom: 34px; font-size: .53rem; letter-spacing: .22em; color: #a69b80; display: flex; gap: 14px; align-items: center; }
.christmas-theme .festive-hero-note::before { content: ''; width: 48px; height: 1px; background: #897344; }
.christmas-theme .category-strip { margin-top: 0; border-top: 1px solid var(--line); background: linear-gradient(100deg,#220e15,#170d11); }
.christmas-theme .category-strip a:first-child { background: rgba(199,163,90,.035); }
.christmas-theme .category-strip a:first-child b { color: #dfc58b; }
.christmas-theme .category-strip a:first-child span { color: #c4a461; }
.christmas-theme .anne-stokes-offer { position: relative; margin-top: 85px; background: radial-gradient(ellipse at 50% 45%,rgba(97,29,47,.30),transparent 65%); border-top: 1px solid rgba(199,163,90,.3); }
.christmas-theme .anne-stokes-offer::before { content: '✧'; position: absolute; top: -22px; left: calc(50% - 22px); width: 44px; background: #0e0d0c; font: 2rem var(--serif); color: #c7a35a; text-align: center; }
.christmas-theme .offer-intro .eyebrow { color: #c9ad70; }
.christmas-theme .offer-centrepiece { background: linear-gradient(160deg,#39141f,#1a0c12 70%); }
.christmas-theme .offer-product { border-color: rgba(199,163,90,.32); }
.christmas-theme .editorial { background: #220e15; }
.christmas-theme .editorial-copy .sigil { color: rgba(199,163,90,.12); }
.christmas-theme .newsletter { background: radial-gradient(ellipse at 50% 25%,#4b1a2a,#270f18 55%,#120b0f); position: relative; border-top: 1px solid rgba(199,163,90,.26); }
.christmas-theme .newsletter .moon { font-size: 2.3rem; }
.christmas-theme .newsletter-popup-card { border-color: #a2864d; }
.christmas-theme .newsletter-popup-copy { background: linear-gradient(140deg,#31121c,#120a0e 80%); }
.christmas-theme .festive-footer-note { display: flex; justify-content: center; align-items: center; gap: 22px; border-bottom: 1px solid var(--line); padding: 30px 20px; background: #230e16; }
.christmas-theme .festive-footer-note p { color: #c6b88f; margin: 0; font: italic 1.5rem var(--serif); }
.christmas-theme .festive-footer-note span { color: #b89d60; font-size: 1.2rem; }
.christmas-theme .catalog-heading { position: relative; }
.christmas-theme .catalog-heading::after { content: '✧'; position: absolute; right: 16px; top: 12px; font: 4rem var(--serif); color: rgba(199,163,90,.24); pointer-events: none; }
.christmas-theme .product-image .christmas-ribbon,.christmas-theme .detail-image .christmas-ribbon { background: #4b1727; border: 1px solid #9f854f; color: #dfc58b; padding-top: 4px; padding-bottom: 4px; }
.christmas-theme .catalog-count { background: linear-gradient(90deg,#270f18,#1c0e14); }
@media(min-width:768px) and (max-width:1200px) {
  .christmas-theme .festive-ribbon { gap: 18px; }
  .christmas-theme .festive-message { flex-direction: column; gap: 5px; }
}
@media(min-width:1001px) and (max-width:1200px) {
  .christmas-theme .header-main { grid-template-columns: 215px 1fr auto; }
  .christmas-theme .primary-nav { gap: 11px; }
  .christmas-theme .primary-nav a,.christmas-theme .nav-shop { font-size: .57rem; letter-spacing: .06em; }
}
@media(max-width:767px) {
  .christmas-theme .festive-ribbon { min-height: 104px; flex-wrap: wrap; gap: 10px; padding: 14px 18px; font-size: .66rem; letter-spacing: .1em; }
  .christmas-theme .festive-ribbon::before,.christmas-theme .festive-ribbon::after { display: none; }
  .christmas-theme .festive-message { justify-content: center; width: 100%; }
  .christmas-theme .festive-subtitle { display: none; }
  .christmas-theme .festive-cta { min-height: 44px; max-width: 100%; padding: 11px 16px; font-size: .63rem; }
  .christmas-theme .hero { height: 680px; min-height: 0; max-height: none; }
  .christmas-theme .hero>img { object-position: 67% center; }
  .christmas-theme .hero-shade { background: linear-gradient(90deg,rgba(8,4,6,.89),rgba(8,4,6,.55) 65%,rgba(8,4,6,.25)),linear-gradient(0deg,#0c080a,transparent 30%); }
  .christmas-theme .hero::after { inset: 12px; }
  .christmas-theme .hero-content { width: calc(100% - 48px); padding-bottom: 26px; }
  .christmas-theme .hero-content .eyebrow { font-size: .53rem; letter-spacing: .16em; gap: 8px; }
  .christmas-theme .hero h1 { font-size: clamp(3.8rem,14vw,5.5rem); }
  .christmas-theme .hero-content>p:not(.eyebrow) { font-size: 1.09rem; max-width: 325px; line-height: 1.5; margin-top: 22px; }
  .christmas-theme .hero-actions { align-items: flex-start; flex-direction: column; gap: 20px; }
  .christmas-theme .hero-actions .button { min-height: 48px; padding: 0 18px; font-size: .59rem; }
  .christmas-theme .festive-hero-note { bottom: 28px; left: 24px; font-size: .43rem; gap: 10px; letter-spacing: .16em; }
  .christmas-theme .festive-hero-note::before { width: 24px; }
  .christmas-theme .anne-stokes-offer { margin-top: 65px; }
  .christmas-theme .festive-footer-note { gap: 12px; padding: 26px 16px; }
  .christmas-theme .festive-footer-note p { font-size: 1.25rem; }
  .christmas-theme .catalog-heading::after { font-size: 2.3rem; right: 0; top: -5px; }
}
@media(prefers-reduced-motion:reduce) { .christmas-theme *, .christmas-theme *::before, .christmas-theme *::after { scroll-behavior: auto; } }
