/* Christmas look. Loaded on the home page when the CRM's Seasonal theme switch is on
   (website_christmas_design_enabled) and always on the Christmas party page. Everything
   hangs off body.theme-christmas and the palette variables, so other pages never see it. */
body.theme-christmas{
  --brand:#b3123a;--brand-dark:#8f0e2e;--brand-glow:rgba(179,18,58,.09);--indigo:#17674d;
  --xmas-pine:#0c2d25;--xmas-pine-2:#14473a;--xmas-gold:#f2c66d;--xmas-cream:#fbf7ef;
}
.theme-christmas .btn-brand{box-shadow:0 4px 16px rgba(179,18,58,.28)}
.theme-christmas .btn-brand:hover{box-shadow:0 8px 28px rgba(179,18,58,.36)}
.theme-christmas :focus-visible{outline-color:var(--xmas-gold)}

/* String of lights under the nav */
.theme-christmas .site-nav::after{content:'';position:absolute;left:0;right:0;top:100%;height:18px;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='192' height='18' viewBox='0 0 192 18'%3E%3Cpath d='M0 1Q24 7 48 1T96 1T144 1T192 1' fill='none' stroke='%230c2d25' stroke-opacity='.45'/%3E%3Cg stroke='%230c2d25' stroke-opacity='.25' stroke-width='.5'%3E%3Cellipse cx='24' cy='9' rx='3' ry='4.5' fill='%23e0324f'/%3E%3Cellipse cx='72' cy='9' rx='3' ry='4.5' fill='%23f2c66d'/%3E%3Cellipse cx='120' cy='9' rx='3' ry='4.5' fill='%231f8a68'/%3E%3Cellipse cx='168' cy='9' rx='3' ry='4.5' fill='%23f2c66d'/%3E%3C/g%3E%3C/svg%3E") repeat-x top left}
.theme-christmas .promo-bar{background:var(--xmas-pine)}
.theme-christmas .promo-bar a{color:var(--xmas-gold)}

/* Winter-night heroes (home + Christmas page); the snow canvas from christmas.js sits behind the text */
.theme-christmas .hero--split,.theme-christmas .event-hero{position:relative;overflow:hidden;background:radial-gradient(760px 460px at 82% 12%,rgba(242,198,109,.15),transparent 70%),linear-gradient(160deg,var(--xmas-pine),var(--xmas-pine-2));border-bottom:0}
.theme-christmas .hero--split>.wrap,.theme-christmas .event-hero>.wrap{position:relative;z-index:1}
.xmas-snow{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}

.theme-christmas .hero--split h1,.theme-christmas .event-hero h1{color:#fff}
.theme-christmas .hero--split .hero-accent,.theme-christmas .event-hero h1 span{color:var(--xmas-gold);background:none;-webkit-text-fill-color:currentColor}
.theme-christmas .hero--split .lead,.theme-christmas .event-hero .lead{color:rgba(255,255,255,.82)}
.theme-christmas .hero--split .lead strong{color:#fff}
.theme-christmas .hero--split .hero-kicker,.theme-christmas .event-hero .section-label{color:var(--xmas-gold)}
.theme-christmas .hero--split .hero-kicker::before{background:var(--xmas-gold)}
.theme-christmas .hero--split .hero-watch{color:#fff}
.theme-christmas .hero--split .hero-watch i{color:var(--xmas-gold)}
.theme-christmas .hero--split .hero-checks,.theme-christmas .event-hero-checks{color:rgba(255,255,255,.78)}
.theme-christmas .hero--split .hero-checks i,.theme-christmas .event-hero-checks i{color:var(--xmas-gold)!important}
.theme-christmas .hero--split .btn-outline,.theme-christmas .event-hero .btn-outline{color:#fff;border-color:rgba(255,255,255,.35);background:transparent}
.theme-christmas .hero--split .btn-outline:hover,.theme-christmas .event-hero .btn-outline:hover{color:#fff;border-color:#fff;background:rgba(255,255,255,.08)}
.theme-christmas .hero--split .hero-foot{border-top-color:rgba(255,255,255,.14)}
.theme-christmas .hero--split .hero-intent,.theme-christmas .hero--split .hero-price-note,.theme-christmas .hero--split .hero-price-note strong{color:rgba(255,255,255,.82)}
.theme-christmas .hero--split .hero-price-note span{background:transparent;border-color:rgba(255,255,255,.2);color:rgba(255,255,255,.82)}
.theme-christmas .hero--split .hero-tags a{color:#fff;background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.22)}
.theme-christmas .hero--split .hero-tags a:hover{background:rgba(255,255,255,.16);color:#fff}
.theme-christmas .hero--split .hero-tags a.hero-tag-xmas{background:var(--xmas-gold);border-color:var(--xmas-gold);color:var(--xmas-pine);font-weight:700}
.theme-christmas .hero-art img{filter:drop-shadow(0 30px 50px rgba(0,0,0,.4))}

html body.theme-christmas .hero--split .hero-intent>span{color:rgba(255,255,255,.7)}
html body.theme-christmas .site-nav .btn-brand,html body.theme-christmas .site-nav .btn-brand:hover{color:#fff}

/* The extra tag needs room: keep the BrideBook badge on the same line (the trust strip repeats this one) */
@media(min-width:992px){.theme-christmas .hero--split .hero-price-note span:nth-child(3){display:none}.theme-christmas .hero--split .hero-price-note span:nth-child(2)::after{content:none}}

/* Home: band under the hero pointing at the Christmas page */
.xmas-band{background:var(--xmas-cream);border-bottom:1px solid rgba(12,45,37,.08)}
.xmas-band .wrap{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px 20px;padding-top:16px;padding-bottom:16px;text-align:center}
.xmas-band p{margin:0;color:var(--xmas-pine);font-size:.98rem}
.xmas-band a{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:var(--brand);white-space:nowrap}
.xmas-band a:hover{color:var(--brand-dark)}

/* Closing call to action */
.theme-christmas .cta-section{background:linear-gradient(160deg,var(--xmas-pine),var(--xmas-pine-2))}
.theme-christmas .cta-section p{color:rgba(255,255,255,.78)}
.theme-christmas .cta-section .btn-white,.theme-christmas .cta-section .btn-white:hover{color:var(--brand-dark)}

/* Christmas page: QR poster in the hero */
.xmas-poster-wrap{position:relative;max-width:360px;margin:0 auto;padding:16px 0}
.xmas-poster{position:relative;background:var(--xmas-cream);border-radius:20px;padding:30px 28px;text-align:center;color:var(--xmas-pine);box-shadow:0 26px 56px rgba(0,0,0,.42);transform:rotate(-2deg)}
.xmas-poster::before{content:'';position:absolute;inset:9px;border:1px solid rgba(179,18,58,.32);border-radius:13px;pointer-events:none}
.xmas-poster-kicker{font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--brand)}
.xmas-poster-title{margin:6px 0 16px;font-size:1.5rem;font-weight:900;line-height:1.15;letter-spacing:-.02em}
.xmas-poster-qr{display:block;font-size:9.5rem;line-height:1;color:var(--xmas-pine)}
.xmas-poster-qr i{display:block}
.xmas-poster-scan{margin-top:12px;font-weight:600;font-size:.95rem}
.xmas-chip{position:absolute;display:inline-flex;align-items:center;gap:7px;background:#fff;color:var(--xmas-pine);font-size:.8rem;font-weight:700;padding:9px 13px;border-radius:999px;box-shadow:0 10px 26px rgba(0,0,0,.28);white-space:nowrap}
.xmas-chip i{color:var(--brand)}
.xmas-chip-1{top:0;right:-40px}
.xmas-chip-2{bottom:0;left:-40px}
@media(max-width:991px){.xmas-poster-wrap{margin-top:12px;max-width:300px}.xmas-chip-1{right:-10px}.xmas-chip-2{left:-10px}}

/* Christmas page: its own sections */
.xmas-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:40px}
@media(max-width:900px){.xmas-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.xmas-grid{grid-template-columns:1fr}}
.xmas-card{background:#fff;border:1px solid rgba(12,45,37,.1);border-radius:var(--radius);padding:26px 24px}
.xmas-card h3{display:flex;align-items:center;gap:10px;font-size:1.08rem;font-weight:800;margin-bottom:8px;color:var(--xmas-pine)}
.xmas-card h3 i{color:var(--brand)}
.xmas-card p{color:var(--text-light);font-size:.95rem;line-height:1.6;margin:0}
.xmas-tag{display:inline-block;margin-top:12px;font-size:.75rem;font-weight:700;color:#17674d;background:rgba(23,103,77,.09);padding:3px 10px;border-radius:999px}
.xmas-who{background:var(--xmas-cream)}
.xmas-plan{counter-reset:xmas;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;list-style:none;margin:40px 0 0;padding:0}
@media(max-width:800px){.xmas-plan{grid-template-columns:1fr}}
.xmas-plan li{counter-increment:xmas;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:var(--radius);padding:24px}
.xmas-plan li::before{content:counter(xmas);display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--xmas-gold);color:var(--xmas-pine);font-weight:800;margin-bottom:12px}
.xmas-plan h3{color:#fff;font-size:1.08rem;font-weight:800;margin-bottom:8px}
.xmas-plan p{color:rgba(255,255,255,.78);font-size:.95rem;line-height:1.6;margin:0}
.xmas-organiser{background:linear-gradient(160deg,var(--xmas-pine),var(--xmas-pine-2))}
.xmas-organiser .section-label{color:var(--xmas-gold)}
.xmas-organiser .section-title{color:#fff}
.xmas-organiser .section-subtitle{color:rgba(255,255,255,.78)}

/* ── Decorations (artwork in /img/christmas/, added by christmas.js) ── */
.xmas-art{display:block;height:auto;max-width:none;pointer-events:none}

/* Twinkling second set of lights under the nav */
.theme-christmas .site-nav::before{content:'';position:absolute;left:0;right:0;top:100%;height:18px;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='192' height='18' viewBox='0 0 192 18'%3E%3Cg fill='%23fff3c4'%3E%3Ccircle cx='24' cy='9' r='5'/%3E%3Ccircle cx='120' cy='9' r='5'/%3E%3C/g%3E%3C/svg%3E") repeat-x top left;filter:blur(2px);z-index:1;animation:xmasTwinkle 2.4s ease-in-out infinite}
@keyframes xmasTwinkle{0%,100%{opacity:0}50%{opacity:.75}}

/* Santa hat on the logo */
.theme-christmas .nav-logo{position:relative;display:inline-block}
.theme-christmas .nav-logo img.xmas-logo-hat{position:absolute;width:26px;height:auto;left:9px;top:-10px;transform:rotate(-14deg);filter:drop-shadow(0 1px 1.5px rgba(0,0,0,.4))}

/* Snowy scene along the bottom of the hero; the extra padding keeps it clear of the content */
html body.theme-christmas .hero--split,html body.theme-christmas .event-hero{padding-bottom:178px}
.xmas-scene{position:absolute;left:0;right:0;bottom:0;height:150px;z-index:1;pointer-events:none;overflow:hidden}
.xmas-bank{position:absolute;left:0;right:0;bottom:0;height:42px;background:var(--xmas-drift,#fff);-webkit-mask:url(/img/christmas/snow-bank.svg) center/100% 100% no-repeat;mask:url(/img/christmas/snow-bank.svg) center/100% 100% no-repeat}
.xmas-scene .xmas-art,.xmas-reg-strip .xmas-art{position:absolute}
.xs-tree1{left:2%;bottom:12px;width:92px}
.xs-tree2{left:9.5%;bottom:14px;width:64px}
.xs-present1{left:16%;bottom:14px;width:44px}
.xs-elf{left:22%;bottom:12px;width:78px}
.xs-present2{right:25%;bottom:14px;width:38px}
.xs-santa{right:15.5%;bottom:10px;width:112px}
.xs-tree3{right:8.5%;bottom:14px;width:70px}
.xs-tree4{right:2%;bottom:12px;width:90px}
@media(max-width:800px){
  html body.theme-christmas .hero--split,html body.theme-christmas .event-hero{padding-bottom:148px}
  .xmas-scene{height:124px}
  .xs-tree1{left:-3%;width:70px}.xs-tree2,.xs-present2{display:none}.xs-present1{left:17%;width:34px}
  .xs-elf{left:29%;width:58px}.xs-santa{right:21%;width:84px}.xs-tree3{display:none}.xs-tree4{right:-3%;width:72px}
}
/* Home: the bank runs into the cream band below it */
.theme-christmas .hero--split{--xmas-drift:var(--xmas-cream)}

/* Baubles hanging from the lights, in the clear space top right */
.xmas-baubles{position:absolute;top:0;left:0;right:0;height:0;z-index:1;pointer-events:none}
.xmas-bauble{position:absolute;top:0;display:block;transform-origin:50% 0;animation:xmasSwing 5s ease-in-out infinite}
.xmas-bauble::before{content:'';position:absolute;left:50%;top:0;width:1px;height:var(--s);background:rgba(255,255,255,.55)}
.xmas-bauble img{position:absolute;top:var(--s);left:0;width:100%}
.xmas-bauble.b1{left:56%;width:34px;height:120px;--s:40px;animation-delay:-1s}
.xmas-bauble.b2{left:66%;width:26px;height:100px;--s:18px;animation-delay:-3s}
.xmas-bauble.b3{left:75%;width:38px;height:120px;--s:32px;animation-delay:-2s}
.xmas-bauble.b4{left:85%;width:28px;height:100px;--s:14px;animation-delay:-4s}
.xmas-bauble.b5{left:94%;width:36px;height:120px;--s:46px}
@keyframes xmasSwing{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}
.hero--split .xmas-baubles,.event-hero .xmas-baubles{top:112px}
.event-hero .xmas-baubles{top:72px}
body.has-promo-bar .hero--split .xmas-baubles{top:112px}
@media(max-width:991px){
  .hero--split .xmas-baubles,.event-hero .xmas-baubles,body.has-promo-bar .hero--split .xmas-baubles{top:72px}
  .xmas-bauble.b1,.xmas-bauble.b3,.xmas-bauble.b4{display:none}
  .xmas-bauble.b2{left:3%;--s:6px}.xmas-bauble.b5{left:auto;right:3%;width:30px;--s:10px}
}

/* Santa hat on the poster and the featured plan */
.xmas-poster::after,.theme-christmas .price-card.featured::after{content:'';position:absolute;background:url(/img/christmas/santa-hat.svg) center/contain no-repeat;pointer-events:none}
.xmas-poster::after{width:96px;height:78px;left:-30px;top:-34px;transform:rotate(-20deg)}
.theme-christmas .price-card.featured{overflow:visible}
.theme-christmas .price-card.featured::after{width:66px;height:54px;right:-16px;top:-26px;transform:rotate(18deg);filter:drop-shadow(0 2px 3px rgba(0,0,0,.3))}

/* Holly beside the section labels */
.theme-christmas .section .section-label:not(.xmas-organiser *)::after{content:'';display:inline-block;width:24px;height:16px;background:url(/img/christmas/holly.svg) center/contain no-repeat}
.xmas-band p::before{content:'';display:inline-block;width:30px;height:20px;margin-right:8px;vertical-align:-4px;background:url(/img/christmas/holly.svg) center/contain no-repeat}

/* Closing call to action */
.xmas-cta-santa,.xmas-cta-elf{position:absolute;bottom:0}
.xmas-cta-santa{left:5%;width:170px}
.xmas-cta-elf{right:6%;width:130px}
.theme-christmas .cta-section .wrap{position:relative;z-index:1}
@media(max-width:1000px){.xmas-cta-santa,.xmas-cta-elf{display:none}}

/* Trees along the bottom of the organiser section */
.xmas-organiser{position:relative;padding-bottom:160px;background:url(/img/christmas/tree.svg) 4% calc(100% + 8px)/96px auto no-repeat,url(/img/christmas/tree.svg) 11% calc(100% + 8px)/66px auto no-repeat,url(/img/christmas/tree.svg) 96% calc(100% + 8px)/96px auto no-repeat,url(/img/christmas/tree.svg) 89% calc(100% + 8px)/66px auto no-repeat,linear-gradient(160deg,var(--xmas-pine),var(--xmas-pine-2))}

/* Register page: side panel */
.theme-christmas .plan-summary{position:relative;overflow:hidden;background:radial-gradient(420px 300px at 80% 0,rgba(242,198,109,.14),transparent 70%),linear-gradient(160deg,var(--xmas-pine),var(--xmas-pine-2));padding-bottom:170px}
.theme-christmas .plan-summary>*{position:relative;z-index:1}
.theme-christmas .plan-summary>.xmas-snow,.theme-christmas .plan-summary>.xmas-scene,.theme-christmas .plan-summary>.xmas-baubles{position:absolute}
.theme-christmas .plan-summary>.xmas-snow{z-index:0}
.theme-christmas .plan-summary .plan-badge{background:rgba(242,198,109,.16);color:var(--xmas-gold)}
.theme-christmas .plan-summary .features-list li{color:rgba(255,255,255,.86)}
.theme-christmas .plan-summary .features-list li i{color:var(--xmas-gold)}
.theme-christmas .plan-summary .back-link,.theme-christmas .plan-summary .price-note{color:rgba(255,255,255,.72)}
.theme-christmas .plan-summary .logo-footer{color:rgba(255,255,255,.72)}
.theme-christmas .plan-summary .xmas-scene .xs-tree2,.theme-christmas .plan-summary .xmas-scene .xs-present2,.theme-christmas .plan-summary .xmas-scene .xs-tree3{display:none}
.theme-christmas .plan-summary .xs-tree1{left:-4%;width:76px}.theme-christmas .plan-summary .xs-present1{left:20%;width:36px}
.theme-christmas .plan-summary .xs-elf{left:33%;width:62px}.theme-christmas .plan-summary .xs-santa{right:16%;width:92px}.theme-christmas .plan-summary .xs-tree4{right:-4%;width:76px}
.theme-christmas .plan-summary .xmas-baubles{top:0}
.theme-christmas .plan-summary .xmas-bauble.b1,.theme-christmas .plan-summary .xmas-bauble.b2,.theme-christmas .plan-summary .xmas-bauble.b4{display:none}
.theme-christmas .plan-summary .xmas-bauble.b3{left:68%;width:30px;--s:18px}.theme-christmas .plan-summary .xmas-bauble.b5{left:84%;width:26px;--s:42px}

/* Register page: strip above the form on phones */
.xmas-reg-strip{display:none}
@media(max-width:767px){
  .xmas-reg-strip{display:block;position:relative;overflow:hidden;height:112px;margin-bottom:18px;border-radius:14px;background:linear-gradient(160deg,var(--xmas-pine),var(--xmas-pine-2));--xmas-drift:#fff}
  .xmas-reg-strip .xmas-bank{height:26px}
  .xmas-reg-strip .xs-tree1{left:-2%;width:62px;bottom:6px}.xmas-reg-strip .xs-present1{left:22%;width:30px;bottom:8px}
  .xmas-reg-strip .xs-elf{left:36%;width:50px;bottom:6px}.xmas-reg-strip .xs-santa{right:18%;width:72px;bottom:4px}.xmas-reg-strip .xs-tree3{right:-2%;width:58px;bottom:6px}
}
.theme-christmas .plan-switch-btn.active{background:rgba(179,18,58,.08);border-color:var(--brand);color:var(--brand-dark)}
.theme-christmas .plan-switch-btn:hover{background:rgba(179,18,58,.05)}
.theme-christmas .mobile-plan-note{background:rgba(179,18,58,.08);color:var(--brand-dark)}

@media(prefers-reduced-motion:reduce){.xmas-bauble,.theme-christmas .site-nav::before{animation:none}.theme-christmas .site-nav::before{opacity:0}}
