.xmas-edition-page{background:var(--linen)}
.xmas-edition-hero{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.8fr);align-items:center;min-height:clamp(620px,78vh,820px);overflow:hidden;padding:clamp(7rem,10vw,10rem) 5vw 5rem;color:#fff;background:radial-gradient(circle at 78% 25%,#ffffff2e,transparent 23%),linear-gradient(125deg,#750b18,#c9232f 54%,#ed483f);border-bottom:10px solid var(--sunflower)}
.xmas-edition-hero:before,.xmas-edition-hero:after{content:"";position:absolute;z-index:-1;border:3px solid #ffffff33;border-radius:50%}.xmas-edition-hero:before{width:440px;height:440px;left:-180px;bottom:-250px}.xmas-edition-hero:after{width:240px;height:240px;right:8%;top:9%}
.xmas-hero-copy{position:relative;z-index:2;max-width:760px}.xmas-hero-copy .eyebrow{color:var(--sunflower)}.xmas-hero-copy h1{margin:.5rem 0 1.25rem;font:clamp(3.8rem,8vw,8rem)/.82 'Archivo Black';text-transform:uppercase;letter-spacing:-.065em}.xmas-hero-copy h1 span{display:block;color:var(--sunflower)}.xmas-hero-copy>p:last-of-type{max-width:610px;font-size:clamp(1.1rem,2vw,1.4rem);font-weight:800;line-height:1.5}.xmas-hero-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem}.xmas-hero-actions .button-primary{color:#fff;background:#159447;box-shadow:5px 5px 0 #075f2b}.xmas-hero-actions .button-ghost{color:#fff;border-color:#fff}.xmas-hero-art{position:relative}.xmas-hero-art img{display:block;width:100%;filter:drop-shadow(14px 18px 0 #41000a47)}
.xmas-edition-countdown{border-bottom:0}.xmas-edition-countdown h2{max-width:800px}.xmas-intro{padding:clamp(5rem,8vw,8rem) 5vw 2rem;text-align:center}.xmas-intro .eyebrow{color:#159447}.xmas-intro h2{max-width:1000px;margin:.4rem auto 1.2rem;font:clamp(3rem,7vw,6.5rem)/.88 'Archivo Black';text-transform:uppercase;letter-spacing:-.055em}.xmas-intro>p:last-child{font-size:1.2rem;font-weight:800}
.xmas-action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;padding:clamp(2rem,5vw,4rem) 5vw clamp(5rem,8vw,8rem)}.xmas-action-card{position:relative;isolation:isolate;min-height:280px;overflow:hidden;color:#fff;background:#7d101c;border:3px solid var(--deep-space);box-shadow:7px 7px 0 var(--deep-space)}.xmas-action-card:after{content:"";position:absolute;inset:35% 0 0;z-index:1;background:linear-gradient(transparent,#000e)}.xmas-action-card img{width:100%;height:100%;object-fit:cover;transition:transform .25s}.xmas-action-card span{position:absolute;z-index:2;left:1.3rem;right:1.3rem;bottom:1.25rem;font:clamp(1.2rem,2.4vw,2rem)/.95 'Archivo Black';text-transform:uppercase}.xmas-action-card:hover img{transform:scale(1.04)}
.xmas-coming-soon{padding:1rem 5vw clamp(4rem,7vw,7rem);background:#7d101c}.xmas-coming-soon img{display:block;width:min(100%,1400px);margin:auto;filter:drop-shadow(8px 10px 0 #0004)}
.xmas-feature-stack{padding:clamp(4rem,7vw,7rem) 5vw;background:var(--deep-space)}.xmas-feature{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);max-width:1380px;margin:0 auto 3rem;color:#fff;background:linear-gradient(135deg,#8b111e,#c9232f);border:3px solid var(--sunflower);box-shadow:10px 10px 0 var(--sunflower)}.xmas-feature:nth-child(even){grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);background:linear-gradient(135deg,#08743b,#159447)}.xmas-feature:nth-child(even) .xmas-feature-image{order:2}.xmas-feature-image{min-height:360px}.xmas-feature-image img{width:100%;height:100%;object-fit:cover}.xmas-feature-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(2rem,5vw,4.5rem)}.xmas-feature-copy .eyebrow{color:var(--sunflower)}.xmas-feature-copy h2{margin:.4rem 0 1.25rem;font:clamp(2.5rem,5vw,5rem)/.9 'Archivo Black';text-transform:uppercase;letter-spacing:-.045em}.xmas-feature-copy p:last-of-type{font-size:1.08rem;line-height:1.7}.xmas-feature-copy .text-link{align-self:flex-start;margin-top:1.25rem;color:#fff}
.xmas-faq{display:grid;grid-template-columns:minmax(280px,.65fr) minmax(0,1.35fr);gap:clamp(2rem,6vw,6rem);padding:clamp(5rem,8vw,8rem) 5vw}.xmas-faq>header{align-self:start;position:sticky;top:6rem}.xmas-faq .eyebrow{color:#159447}.xmas-faq h2{margin:.45rem 0 1rem;font:clamp(3rem,6vw,5.5rem)/.88 'Archivo Black';text-transform:uppercase;letter-spacing:-.05em}.xmas-faq-list{display:grid;gap:1rem}.xmas-faq details{background:#fff;border:3px solid var(--deep-space);box-shadow:5px 5px 0 var(--cinnabar)}.xmas-faq summary{display:flex;justify-content:space-between;gap:1rem;cursor:pointer;padding:1.35rem;font-weight:900;list-style:none}.xmas-faq summary::-webkit-details-marker{display:none}.xmas-faq summary:after{content:"+";color:var(--cinnabar);font:1.4rem/1 'Archivo Black'}.xmas-faq details[open] summary:after{content:"–"}.xmas-faq details p,.xmas-faq details ul{margin:0;padding:0 1.35rem 1.35rem;line-height:1.65}.xmas-faq details ul{padding-left:2.6rem}.xmas-faq details a{font-weight:900;color:var(--cinnabar)}
.xmas-country{padding:clamp(3rem,6vw,5rem) 5vw;color:#fff;background:linear-gradient(120deg,#08743b,#075f2b);border-top:10px solid var(--sunflower)}.xmas-country .eyebrow{color:var(--sunflower)}.xmas-country p:last-child{max-width:1000px;font-size:1.05rem;line-height:1.75}
html[data-theme="dark"] .xmas-edition-page,html[data-theme="dark"] .xmas-faq{background:#141414;color:#fff}html[data-theme="dark"] .xmas-faq details{color:#fff;background:#202020;border-color:#fff}
@media(max-width:980px){.xmas-edition-hero{grid-template-columns:1fr;min-height:auto}.xmas-hero-art{max-width:680px;margin:1rem auto 0}.xmas-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.xmas-feature,.xmas-feature:nth-child(even){grid-template-columns:1fr}.xmas-feature:nth-child(even) .xmas-feature-image{order:0}.xmas-faq{grid-template-columns:1fr}.xmas-faq>header{position:static}}
@media(max-width:620px){.xmas-edition-hero{padding-top:8.5rem}.xmas-hero-copy h1{font-size:clamp(3rem,16vw,5rem)}.xmas-hero-actions{flex-direction:column}.xmas-action-grid{grid-template-columns:1fr}.xmas-action-card{min-height:260px}.xmas-feature-image{min-height:240px}.xmas-feature{box-shadow:6px 6px 0 var(--sunflower)}.xmas-faq summary{padding:1.1rem}.xmas-faq details p,.xmas-faq details ul{padding-right:1.1rem;padding-bottom:1.1rem}}

/* Xmas halftone textures */
.xmas-edition-hero{background-image:radial-gradient(circle,rgba(255,255,255,.13) 1.25px,transparent 1.8px),radial-gradient(circle at 78% 25%,rgba(255,255,255,.18),transparent 23%),linear-gradient(125deg,#750b18,#c9232f 54%,#ed483f);background-size:14px 14px,auto,auto}
.xmas-edition-countdown{background-image:radial-gradient(circle,rgba(255,255,255,.14) 1.25px,transparent 1.8px),linear-gradient(120deg,#7d101c,#c9232f);background-size:12px 12px,auto}
.xmas-coming-soon{background-color:#7d101c;background-image:radial-gradient(circle,rgba(255,255,255,.13) 1.2px,transparent 1.8px);background-size:14px 14px}
.xmas-feature-stack{background-color:var(--deep-space);background-image:radial-gradient(circle,rgba(254,254,254,.11) 1.2px,transparent 1.8px);background-size:14px 14px}
.xmas-feature{background-image:radial-gradient(circle,rgba(255,255,255,.13) 1.2px,transparent 1.8px),linear-gradient(135deg,#8b111e,#c9232f);background-size:12px 12px,auto}
.xmas-feature:nth-child(even){background-image:radial-gradient(circle,rgba(255,255,255,.14) 1.2px,transparent 1.8px),linear-gradient(135deg,#08743b,#159447);background-size:12px 12px,auto}
.xmas-country{background-image:radial-gradient(circle,rgba(255,255,255,.14) 1.2px,transparent 1.8px),linear-gradient(120deg,#08743b,#075f2b);background-size:12px 12px,auto}

/* Reactive Xmas panels and full-bleed hero */
.xmas-edition-hero{display:flex;min-height:clamp(640px,82vh,880px);background:#750b18}
.xmas-edition-hero::before{inset:0;width:auto;height:auto;left:0;bottom:0;border:0;border-radius:0;background:linear-gradient(90deg,rgba(45,0,8,.93) 0%,rgba(80,4,15,.72) 45%,rgba(80,4,15,.18) 78%,rgba(80,4,15,.04) 100%);z-index:-1}
.xmas-edition-hero::after{display:none}
.xmas-hero-art{position:absolute;inset:0;z-index:-2;margin:0;max-width:none}
.xmas-hero-art img{width:100%;height:100%;object-fit:cover;object-position:center 34%;filter:none}
.xmas-hero-copy{max-width:720px}
.xmas-coming-soon,.xmas-feature-stack,.xmas-feature,.xmas-country{position:relative;isolation:isolate;overflow:hidden}
.xmas-coming-soon>*:not(.reactive-halftone),.xmas-feature-stack>*:not(.reactive-halftone),.xmas-feature>*:not(.reactive-halftone),.xmas-country>*:not(.reactive-halftone){position:relative;z-index:1}
.xmas-coming-soon{background:#7d101c}
.xmas-feature-stack{background:var(--deep-space)}
.xmas-feature{background:linear-gradient(135deg,#8b111e,#c9232f)}
.xmas-feature:nth-child(even){background:linear-gradient(135deg,#08743b,#159447)}
.xmas-country{background:linear-gradient(120deg,#08743b,#075f2b)}
@media(max-width:980px){.xmas-edition-hero::before{background:linear-gradient(180deg,rgba(45,0,8,.88),rgba(80,4,15,.48))}.xmas-hero-art img{object-position:center}}

/* Hero border removal */
.xmas-edition-hero{border-bottom:0}

/* Countdown green divider */
.xmas-edition-countdown{border-bottom:10px solid #159447}

/* Alternating red and green feature frames */
.xmas-feature{border-color:#159447;box-shadow:10px 10px 0 #075f2b}
.xmas-feature:nth-child(even){border-color:#c9232f;box-shadow:10px 10px 0 #7d101c}
@media(max-width:620px){.xmas-feature{box-shadow:6px 6px 0 #075f2b}.xmas-feature:nth-child(even){box-shadow:6px 6px 0 #7d101c}}

/* Standard feature background and reactive FAQ */
.xmas-feature-stack{background:var(--linen)}
.xmas-faq{position:relative;isolation:isolate;overflow:hidden;color:#fff;background:linear-gradient(125deg,var(--deep-space),var(--baltic))}
.xmas-faq>*:not(.reactive-halftone){position:relative;z-index:1}
.xmas-faq details{color:var(--deep-space)}
html[data-theme="dark"] .xmas-feature-stack{background:#141414}

/* Theme-stable FAQ and red divider */
.xmas-faq,html[data-theme="dark"] .xmas-faq{color:#fff;background:linear-gradient(125deg,var(--deep-space),var(--baltic));border-top:10px solid #c9232f}
html[data-theme="dark"] .xmas-faq details{color:#fff;background:#202020;border-color:#fff}

/* Xmas eyebrow colour adjustments */
.xmas-intro .eyebrow,.xmas-faq .eyebrow{color:#c9232f}
.xmas-feature-copy .eyebrow{color:#fff}

/* White FAQ eyebrow */
.xmas-faq .eyebrow{color:#fff}

/* Yellow countdown venue */
.xmas-countdown-venue{color:#fff}


/* Larger hero actions and responsive event map dialog */
.xmas-hero-actions .button{display:inline-flex;align-items:center;justify-content:center;min-width:220px;min-height:64px;padding:1.15rem 1.8rem;font-size:1.15rem;font-weight:900;text-align:center}
.xmas-hero-actions .xmas-map-open{color:var(--deep-space);background:var(--sunflower);border-color:var(--deep-space);box-shadow:5px 5px 0 #7d101c;font-family:inherit;font-weight:900;cursor:pointer}
.xmas-map-dialog{width:min(calc(100vw - 3rem),720px);max-width:720px;max-height:calc(100dvh - 3rem);margin:auto;padding:0;overflow:auto;color:var(--deep-space);background:var(--linen);border:4px solid #159447;box-shadow:12px 12px 0 #7d101c}
.xmas-map-dialog::backdrop{background:rgba(2,24,39,.82);backdrop-filter:blur(5px)}
.xmas-map-modal{display:grid;gap:1rem;padding:clamp(1rem,3vw,2rem)}
.xmas-map-modal header{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.xmas-map-modal h2{margin:0;font:clamp(2rem,5vw,4rem)/.9 'Archivo Black';text-transform:uppercase}
.xmas-map-close{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;padding:0;color:#fff;background:#c9232f;border:0;border-radius:50%;font-size:2rem;line-height:1;cursor:pointer}
.xmas-map-modal img{display:block;width:100%;max-height:52vh;object-fit:contain;background:#fff;border:3px solid var(--deep-space)}
.xmas-map-modal p{margin:0;font-weight:800;text-align:center}
html[data-theme="dark"] .xmas-map-dialog{color:#fff;background:#202020}
@media(max-width:620px){.xmas-hero-actions .button{width:100%;min-width:0;min-height:62px}.xmas-map-dialog{width:calc(100vw - 1.5rem);max-height:calc(100dvh - 1.5rem);box-shadow:5px 5px 0 #7d101c}.xmas-map-modal{padding:.85rem}.xmas-map-modal img{max-height:52vh}}


/* Ensure the event map is a true toggle modal */
.xmas-map-dialog:not([open]){display:none}
.xmas-map-dialog[open]{position:fixed;inset:0;display:block}
