:root{
  --festive-gold:#e7c769;
  --festive-cream:#fff3c8;
  --festive-navy:#07111f;
  --festive-panel:rgba(10,20,37,.82);
  --festive-border:rgba(231,199,105,.32);
}

html body.theme-christmas{
  background:#07111f url('/themes/christmas/assets/festive-night.svg?v=2') center top/cover fixed no-repeat!important;
  color:#f8f4e8!important;
}

/* remove every older theme decoration */
html body.theme-christmas #goldDustCanvas,
html body.theme-christmas .mbr-seasonal-effects,
html body.theme-christmas [id*="Christmas"],
html body.theme-christmas [class*="christmas-scene"],
html body.theme-christmas .hero-lines,
html body.theme-christmas .hero-bg-layer,
html body.theme-christmas .navbar::after,
html body.theme-christmas .premium-offer-strip::after,
html body.theme-christmas .campaign-video-copy::after,
html body.theme-christmas .campaign-video-card::after,
html body.theme-christmas .service-card::after,
html body.theme-christmas .category-card::after{display:none!important;content:none!important;opacity:0!important;visibility:hidden!important}

html body.theme-christmas::before{
  content:'';
  position:fixed;
  left:0;right:0;top:74px;
  height:112px;
  z-index:7;
  pointer-events:none;
  background:url('/themes/christmas/assets/festive-garland.svg?v=2') center top/100% 100% no-repeat;
  filter:drop-shadow(0 8px 16px rgba(0,0,0,.42));
}
html body.theme-christmas::after{
  content:'';
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 16% 18%,rgba(55,169,142,.18),transparent 25%),
    radial-gradient(circle at 86% 14%,rgba(120,76,165,.20),transparent 28%),
    linear-gradient(180deg,rgba(2,8,16,.18),rgba(3,8,16,.62));
}

html body.theme-christmas .navbar,
html body.theme-christmas .hero,
html body.theme-christmas .section,
html body.theme-christmas footer{position:relative;z-index:2}

html body.theme-christmas .navbar{
  background:linear-gradient(90deg,rgba(4,11,20,.97),rgba(18,11,29,.95))!important;
  border-bottom:1px solid rgba(231,199,105,.28)!important;
  box-shadow:0 12px 42px rgba(0,0,0,.40)!important;
  backdrop-filter:blur(18px)!important;
}
html body.theme-christmas .navbar-brand{color:var(--festive-gold)!important;text-shadow:0 0 18px rgba(231,199,105,.35)!important}
html body.theme-christmas .navbar-nav a:not(.btn-nav),
html body.theme-christmas .navbar-nav button{color:rgba(255,255,255,.88)!important}

/* unmistakable festive campaign showcase */
html body.theme-christmas .premium-offer-strip{
  width:min(1180px,94vw)!important;
  margin:40px auto 18px!important;
  min-height:230px!important;
  border-radius:28px!important;
  padding:20px 3.4vw!important;
  position:relative!important;
  overflow:hidden!important;
  background:
    linear-gradient(128deg,rgba(7,25,29,.94),rgba(17,22,42,.93) 52%,rgba(48,17,34,.90))!important;
  border:1px solid rgba(231,199,105,.40)!important;
  box-shadow:0 36px 90px rgba(0,0,0,.46),inset 0 1px 0 rgba(255,255,255,.08),0 0 55px rgba(231,199,105,.08)!important;
  backdrop-filter:blur(20px)!important;
}
html body.theme-christmas .premium-offer-strip::before{
  content:''!important;
  display:block!important;
  position:absolute!important;
  inset:0!important;
  opacity:1!important;
  visibility:visible!important;
  background:
    radial-gradient(circle at 8% 14%,rgba(231,199,105,.18),transparent 24%),
    radial-gradient(circle at 92% 18%,rgba(178,44,72,.16),transparent 22%),
    linear-gradient(112deg,transparent 0 41%,rgba(255,255,255,.055) 49%,transparent 58%)!important;
  pointer-events:none!important;
}
html body.theme-christmas .premium-offer-strip > *{position:relative;z-index:2}

html body.theme-christmas .premium-offer-strip .premium-offer-title,
html body.theme-christmas .premium-offer-title{
  font-size:clamp(2.2rem,3.5vw,3.9rem)!important;
  line-height:.92!important;
  letter-spacing:-.035em!important;
  max-width:none!important;
  width:auto!important;
  margin-bottom:8px!important;
}
html body.theme-christmas .premium-offer-strip .premium-offer-desc,
html body.theme-christmas .premium-offer-desc{
  font-size:clamp(.95rem,1.05vw,1.02rem)!important;
  line-height:1.4!important;
  max-width:46ch!important;
}
html body.theme-christmas .premium-offer-strip .premium-offer-right{
  transform:scale(.84)!important;
  transform-origin:center right!important;
}
html body.theme-christmas .premium-offer-left::after{
  content:'FESTIVE GLOW • CHRISTMAS EDITION';
  display:inline-flex;
  margin-top:8px;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.055);
  border:1px solid rgba(231,199,105,.26);
  color:#f5dfa0;
  font-size:.58rem;
  font-weight:900;
  letter-spacing:.11em;
}

/* festive stage ornaments, tasteful and anchored */
.mbr-festive-stage{position:fixed;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.mbr-festive-tree-glow{position:absolute;right:-4vw;top:14vh;width:38vw;height:72vh;background:radial-gradient(ellipse at center,rgba(231,199,105,.13),transparent 62%);filter:blur(10px)}
.mbr-festive-bokeh{position:absolute;border-radius:50%;background:#f6dc89;box-shadow:0 0 18px rgba(246,220,137,.8);animation:mbrFestiveTwinkle 2.6s ease-in-out infinite alternate}
.mbr-festive-snow{position:absolute;top:-12px;border-radius:50%;background:rgba(255,255,255,.86);box-shadow:0 0 8px rgba(255,255,255,.42);animation:mbrFestiveSnow linear infinite}
@keyframes mbrFestiveTwinkle{from{opacity:.25;transform:scale(.8)}to{opacity:.95;transform:scale(1.15)}}
@keyframes mbrFestiveSnow{to{transform:translate3d(var(--drift),110vh,0)}}

/* unified festive surfaces */
html body.theme-christmas .campaign-video-copy,
html body.theme-christmas .campaign-video-card,
html body.theme-christmas .service-card,
html body.theme-christmas .category-card,
html body.theme-christmas .mbr-ai-launch-card,
html body.theme-christmas .mbr-ai-phone-card,
html body.theme-christmas .mbr-ai-question-box{
  background:linear-gradient(145deg,rgba(9,22,38,.88),rgba(25,17,38,.84))!important;
  border:1px solid var(--festive-border)!important;
  box-shadow:0 24px 64px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.06)!important;
  backdrop-filter:blur(16px)!important;
}
html body.theme-christmas .campaign-video-copy,
html body.theme-christmas .campaign-video-card{border-radius:30px!important}
html body.theme-christmas .about-section{background:linear-gradient(180deg,rgba(5,14,25,.78),rgba(18,11,29,.84))!important;border-block:1px solid rgba(231,199,105,.12)!important}
html body.theme-christmas footer{background:linear-gradient(180deg,rgba(4,11,20,.97),rgba(15,9,24,.99))!important;border-top:1px solid rgba(231,199,105,.22)!important}

html body.theme-christmas .premium-offer-title,
html body.theme-christmas .campaign-video-copy h2,
html body.theme-christmas .hero-title,
html body.theme-christmas .section-title,
html body.theme-christmas .service-name,
html body.theme-christmas .category-name,
html body.theme-christmas .footer-title,
html body.theme-christmas .campaign-video-caption strong,
html body.theme-christmas .mbr-ai-launch-title{color:#fff1c2!important;text-shadow:0 0 24px rgba(231,199,105,.16)!important}
html body.theme-christmas .gold-word,
html body.theme-christmas .premium-new-price,
html body.theme-christmas .service-price,
html body.theme-christmas .hero-stat-number,
html body.theme-christmas .stat-item-number{color:var(--festive-gold)!important;-webkit-text-fill-color:var(--festive-gold)!important}
html body.theme-christmas .premium-offer-desc,
html body.theme-christmas .campaign-video-copy p,
html body.theme-christmas .campaign-video-copy li,
html body.theme-christmas .service-desc,
html body.theme-christmas .footer-text,
html body.theme-christmas .footer-links a,
html body.theme-christmas .about-content p,
html body.theme-christmas .hero-subtitle,
html body.theme-christmas .category-desc,
html body.theme-christmas .section-subtitle{color:rgba(245,247,255,.78)!important}

/* festive buttons */
html body.theme-christmas .btn-nav,
html body.theme-christmas .gallery-gold-btn,
html body.theme-christmas .nav-gallery-link,
html body.theme-christmas .mbr-ai-nav-chat,
html body.theme-christmas .premium-book-btn,
html body.theme-christmas .campaign-video-btn,
html body.theme-christmas .btn-primary-gold,
html body.theme-christmas .mbr-ai-launch-btn.primary,
html body.theme-christmas .premium-sticky-cta a{
  position:relative!important;
  overflow:hidden!important;
  background:linear-gradient(135deg,#fff7d8 0%,#f0d77f 48%,#c99b35 100%)!important;
  color:#11141b!important;
  border:1px solid rgba(255,246,210,.82)!important;
  box-shadow:0 12px 32px rgba(231,199,105,.25),0 0 0 1px rgba(255,255,255,.08) inset!important;
  animation:mbrFestiveButtonGlow 2.4s ease-in-out infinite!important;
}
html body.theme-christmas .btn-nav::after,
html body.theme-christmas .gallery-gold-btn::after,
html body.theme-christmas .mbr-ai-nav-chat::after,
html body.theme-christmas .premium-book-btn::after,
html body.theme-christmas .campaign-video-btn::after,
html body.theme-christmas .btn-primary-gold::after{
  content:''!important;display:block!important;position:absolute!important;top:-70%!important;left:-85%!important;width:34%!important;height:240%!important;background:linear-gradient(90deg,transparent,rgba(255,255,255,.82),transparent)!important;transform:rotate(18deg)!important;animation:mbrFestiveSweep 3.6s ease-in-out infinite!important
}
@keyframes mbrFestiveSweep{0%,55%{left:-85%}100%{left:145%}}
@keyframes mbrFestiveButtonGlow{0%,100%{box-shadow:0 12px 30px rgba(231,199,105,.20)}50%{box-shadow:0 14px 42px rgba(231,199,105,.38)}}

html body.theme-christmas .premium-save-pill,
html body.theme-christmas .premium-countdown,
html body.theme-christmas .video-kicker,
html body.theme-christmas .btn-secondary-outline{background:rgba(255,255,255,.045)!important;color:#f4e1a7!important;border-color:rgba(231,199,105,.32)!important}

@media(max-width:900px){
  html body.theme-christmas::before{top:66px;height:78px}
  html body.theme-christmas .premium-offer-strip{width:94vw!important;margin-top:34px!important;padding:20px 5vw!important;min-height:auto!important}
  html body.theme-christmas .premium-offer-left::after{font-size:.58rem;letter-spacing:.10em}
}
@media(prefers-reduced-motion:reduce){
  .mbr-festive-stage{display:none!important}
  html body.theme-christmas *{animation:none!important;transition:none!important}
}

html body.theme-christmas .premium-offer-left{max-width:none!important;width:auto!important}
html body.theme-christmas .premium-offer-right{max-width:none!important;width:auto!important}

html body.theme-christmas .premium-offer-strip{
  grid-template-columns:1.35fr .52fr .48fr!important;
  align-items:center!important;
  gap:1.35rem!important;
}
html body.theme-christmas .premium-offer-left{min-width:0!important}
html body.theme-christmas .premium-offer-title{white-space:normal!important}
@media(max-width:900px){
  html body.theme-christmas .premium-offer-strip{grid-template-columns:1fr!important;gap:1rem!important}
  html body.theme-christmas .premium-offer-title{font-size:clamp(2rem,9vw,3rem)!important}
}


/* V19: restore a genuinely wide, thin campaign strip */
@media (min-width:901px){
  html body.theme-christmas .premium-offer-strip{
    width:calc(100vw - 64px)!important;
    max-width:1400px!important;
    min-height:0!important;
    height:auto!important;
    margin:34px auto 20px!important;
    padding:24px 34px!important;
    grid-template-columns:minmax(0,1.75fr) minmax(190px,.52fr) minmax(190px,.48fr)!important;
    gap:28px!important;
    align-items:center!important;
    border-radius:26px!important;
  }
  html body.theme-christmas .premium-offer-left{
    max-width:none!important;
    width:auto!important;
    min-width:0!important;
  }
  html body.theme-christmas .premium-offer-title{
    font-size:clamp(2.35rem,3.5vw,4rem)!important;
    line-height:.92!important;
    max-width:15ch!important;
    width:auto!important;
    white-space:normal!important;
    margin:0 0 10px!important;
  }
  html body.theme-christmas .premium-offer-desc{
    max-width:58ch!important;
    font-size:1rem!important;
    line-height:1.42!important;
    margin:0!important;
  }
  html body.theme-christmas .premium-offer-left::after{
    margin-top:10px!important;
  }
  html body.theme-christmas .premium-offer-price,
  html body.theme-christmas .premium-offer-action{
    transform:scale(.88)!important;
    transform-origin:center!important;
  }
}
@media (min-width:1200px){
  html body.theme-christmas .premium-offer-title{
    max-width:18ch!important;
    font-size:clamp(2.5rem,3.15vw,3.75rem)!important;
  }
}


/* =========================================================
   V20 — LOWER HOMEPAGE CHRISTMAS FINISH
   Campaign strip intentionally untouched.
   ========================================================= */

/* section rhythm and festive depth */
html body.theme-christmas .hero + .section,
html body.theme-christmas .section:not(.about-section){
  background:
    radial-gradient(circle at 8% 18%,rgba(25,111,91,.11),transparent 28%),
    radial-gradient(circle at 92% 12%,rgba(121,56,112,.11),transparent 30%),
    linear-gradient(180deg,rgba(3,10,18,.36),rgba(7,12,22,.72))!important;
}
html body.theme-christmas .section{
  padding-top:4.6rem!important;
  padding-bottom:4.6rem!important;
}
html body.theme-christmas .section-subtitle{
  color:rgba(247,227,170,.78)!important;
  letter-spacing:.20em!important;
}
html body.theme-christmas .section-divider{
  width:88px!important;
  height:1px!important;
  background:linear-gradient(90deg,transparent,#e7c769,transparent)!important;
  box-shadow:0 0 16px rgba(231,199,105,.28)!important;
}

/* video experience: a real festive showcase */
html body.theme-christmas .campaign-video-area{
  width:min(1200px,94vw)!important;
  gap:1.2rem!important;
  margin-top:1rem!important;
  padding:10px!important;
  border-radius:34px!important;
  background:linear-gradient(135deg,rgba(255,255,255,.035),rgba(231,199,105,.035))!important;
  border:1px solid rgba(231,199,105,.14)!important;
  box-shadow:0 28px 78px rgba(0,0,0,.34)!important;
}
html body.theme-christmas .campaign-video-copy,
html body.theme-christmas .campaign-video-card{
  min-height:350px!important;
  border-radius:26px!important;
  border:1px solid rgba(231,199,105,.28)!important;
  box-shadow:0 22px 58px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.06)!important;
}
html body.theme-christmas .campaign-video-copy{
  padding:2rem 2.1rem!important;
  background:
    radial-gradient(circle at 14% 12%,rgba(231,199,105,.10),transparent 30%),
    linear-gradient(145deg,rgba(7,25,29,.93),rgba(17,20,38,.94))!important;
}
html body.theme-christmas .campaign-video-card{
  background:linear-gradient(145deg,rgba(13,18,34,.94),rgba(31,14,30,.92))!important;
  overflow:hidden!important;
}
html body.theme-christmas .campaign-video-card video,
html body.theme-christmas .campaign-video-card img,
html body.theme-christmas .campaign-video-card iframe{
  opacity:.88!important;
  filter:saturate(.92) contrast(1.03)!important;
}
html body.theme-christmas .campaign-video-caption{
  left:1.2rem!important;
  right:1.2rem!important;
  bottom:1rem!important;
  padding:1rem 1.1rem!important;
  border-radius:18px!important;
  background:linear-gradient(135deg,rgba(4,12,21,.80),rgba(32,16,34,.68))!important;
  border:1px solid rgba(231,199,105,.22)!important;
  backdrop-filter:blur(12px)!important;
}
html body.theme-christmas .campaign-video-caption strong{
  color:#fff1c2!important;
  font-size:1.45rem!important;
}
html body.theme-christmas .campaign-video-btn{
  align-self:flex-start!important;
  min-width:190px!important;
  justify-content:center!important;
}

/* treatment/category cards */
html body.theme-christmas .categories-grid,
html body.theme-christmas .services-grid{
  gap:1rem!important;
}
html body.theme-christmas .category-card,
html body.theme-christmas .service-card{
  border-radius:20px!important;
  border:1px solid rgba(231,199,105,.22)!important;
  box-shadow:0 18px 46px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.04)!important;
  background-color:rgba(8,17,30,.88)!important;
  transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease!important;
}
html body.theme-christmas .category-card{
  min-height:178px!important;
}
html body.theme-christmas .category-card.has-bg::before{
  background:
    linear-gradient(180deg,rgba(3,11,20,.38),rgba(6,13,23,.90)),
    radial-gradient(circle at 50% 16%,rgba(231,199,105,.18),transparent 58%)!important;
}
html body.theme-christmas .category-card:hover,
html body.theme-christmas .service-card:hover{
  transform:translateY(-7px)!important;
  border-color:rgba(231,199,105,.58)!important;
  box-shadow:0 26px 62px rgba(0,0,0,.42),0 0 34px rgba(231,199,105,.11)!important;
}
html body.theme-christmas .category-name,
html body.theme-christmas .service-name{
  color:#fff2c8!important;
}
html body.theme-christmas .category-icon{
  filter:drop-shadow(0 0 13px rgba(231,199,105,.30))!important;
}

/* about becomes a premium festive story panel */
html body.theme-christmas .about-section{
  padding:5.4rem 2rem!important;
  background:
    radial-gradient(circle at 18% 25%,rgba(38,129,105,.12),transparent 30%),
    radial-gradient(circle at 82% 20%,rgba(120,56,119,.12),transparent 30%),
    linear-gradient(180deg,rgba(6,15,27,.88),rgba(17,11,29,.94))!important;
}
html body.theme-christmas .about-content{
  max-width:820px!important;
  padding:2.2rem 2.4rem!important;
  border-radius:26px!important;
  background:linear-gradient(145deg,rgba(8,22,36,.78),rgba(25,16,37,.78))!important;
  border:1px solid rgba(231,199,105,.23)!important;
  box-shadow:0 24px 66px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.05)!important;
  backdrop-filter:blur(14px)!important;
}
html body.theme-christmas .about-content p{
  font-size:1.05rem!important;
  line-height:1.9!important;
}

/* footer: polished and compact */
html body.theme-christmas footer{
  padding-top:3.4rem!important;
  background:
    radial-gradient(circle at 10% 0,rgba(34,121,99,.09),transparent 28%),
    radial-gradient(circle at 90% 0,rgba(117,55,115,.09),transparent 28%),
    linear-gradient(180deg,rgba(4,11,20,.98),rgba(12,8,20,1))!important;
}
html body.theme-christmas .footer-grid{
  gap:1rem!important;
  max-width:1180px!important;
}
html body.theme-christmas .footer-grid > div{
  padding:1.3rem 1.35rem!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.025)!important;
  border:1px solid rgba(231,199,105,.12)!important;
}
html body.theme-christmas .footer-title{
  color:#f4dfa0!important;
  letter-spacing:.05em!important;
}
html body.theme-christmas .footer-links a:hover{
  color:#fff1c2!important;
}
html body.theme-christmas .footer-bottom{
  border-top-color:rgba(231,199,105,.12)!important;
}

/* sticky CTA matches theme but stays unobtrusive */
html body.theme-christmas .premium-sticky-cta{
  background:rgba(5,12,21,.91)!important;
  border:1px solid rgba(231,199,105,.30)!important;
  box-shadow:0 16px 48px rgba(0,0,0,.42)!important;
  backdrop-filter:blur(16px)!important;
}

/* mobile finish — campaign untouched, lower sections only */
@media(max-width:900px){
  html body.theme-christmas .campaign-video-area{
    width:94vw!important;
    grid-template-columns:1fr!important;
    padding:8px!important;
    border-radius:26px!important;
  }
  html body.theme-christmas .campaign-video-copy,
  html body.theme-christmas .campaign-video-card{
    min-height:auto!important;
    border-radius:21px!important;
  }
  html body.theme-christmas .campaign-video-copy{
    padding:1.55rem!important;
  }
  html body.theme-christmas .campaign-video-card{
    min-height:260px!important;
  }
  html body.theme-christmas .section{
    padding:3.7rem 1rem!important;
  }
  html body.theme-christmas .categories-grid,
  html body.theme-christmas .services-grid{
    grid-template-columns:1fr!important;
  }
  html body.theme-christmas .category-card{
    min-height:160px!important;
  }
  html body.theme-christmas .about-section{
    padding:4rem 1rem!important;
  }
  html body.theme-christmas .about-content{
    padding:1.6rem!important;
    border-radius:22px!important;
  }
  html body.theme-christmas .footer-grid{
    grid-template-columns:1fr!important;
  }
}
