/* Winter and New Year atmosphere, scoped to the seasonal page. No booking logic. */
body.christmas-page{--winter-ink:#16364d;--winter-gold:#f4d49a;--winter-muted:#c8dce9;background-color:#102c46;background-image:url('/winter-snow.svg'),radial-gradient(ellipse at 5% 14%,#30607c88,transparent 48%),radial-gradient(ellipse at 95% 64%,#494c8266,transparent 40%),linear-gradient(145deg,#163e58,#102b45 55%,#1e2c4a);background-size:380px 360px,100% 1500px,100% 1800px,100% 100%;color:#f6f9fc}
.christmas-page>header{background:#f5fafff7;border-bottom:1px solid #c8dfeb;box-shadow:0 4px 26px #07152628;color:var(--winter-ink)}
.christmas-page .christmas-hero{isolation:isolate;background:radial-gradient(ellipse at 80% 5%,#83c6d333,transparent 60%),linear-gradient(120deg,#173f5b99,#192e4c55);border-bottom:1px solid #cce9ff2b;padding-bottom:14px}
.christmas-page .christmas-hero:before{display:none}
.christmas-page .christmas-hero:after{height:26px;bottom:auto;top:0;background:url('/christmas-garland.svg') repeat-x center top;background-size:260px 26px;opacity:.8}
.christmas-page .christmas-hero-inner{padding-top:43px;padding-bottom:25px}
.christmas-page .christmas-hero-inner>div{max-width:810px}
.christmas-page h1{max-width:810px;text-wrap:balance;text-shadow:0 2px 20px #0c23363b}
.christmas-page .christmas-hero em{color:var(--winter-gold)}
.christmas-page .christmas-hero .eyebrow{color:var(--winter-gold);letter-spacing:2px}
.christmas-page .christmas-intro{color:#e4eef5;max-width:650px}
.christmas-page .christmas-tabs{background:#edf6ff0d;border-color:#bbdef243;box-shadow:inset 0 1px 0 #e1f5ff16}
.christmas-page .christmas-tabs [role=tab]{color:#e8f1f8}
.christmas-page .christmas-tabs [role=tab]:hover{background:#e2f2ff10}
.christmas-page .christmas-tabs [role=tab][aria-selected=true]{background:#f2d39a;color:#17364d;border-color:#f2d39a;box-shadow:0 3px 14px #00000015}
.christmas-page .christmas-section-head h2{color:#f5f9fc;letter-spacing:-.9px}
.christmas-page .christmas-section-head>p:last-child,.christmas-page .christmas-note{color:var(--winter-muted)}
.christmas-page .christmas-soft{background:transparent}
.christmas-page .christmas-card{color:var(--winter-ink);background:linear-gradient(145deg,#fffefa,#f1f7fa);border:1px solid #d9e8ed;border-top:3px solid #99bdce;box-shadow:0 6px 20px #061b2c22}
.christmas-page .christmas-card p{color:#4a6170}
.christmas-page .christmas-card .christmas-price{color:#a63935}
.christmas-page .christmas-card .christmas-duration{color:#586d7a}
.christmas-page .christmas-card.christmas-featured{background:linear-gradient(145deg,#fff9e9,#fffdf7);border-color:#eccb8c;border-top-color:#e9ba67}
.christmas-page .christmas-badge{background:#254d65;box-shadow:0 0 0 3px #fff5df}
.christmas-page .christmas-card li:before{color:#a67327}
.christmas-page .christmas-card .christmas-quote{color:#244e68}
.christmas-page .christmas-discounts{background:#e3f3ff0c;border-color:#d0eaff38}
.christmas-page .christmas-discounts summary{color:#e6d7b6}
.christmas-page .christmas-discounts p,.christmas-page .christmas-discounts table{color:#d4e4ee}
.christmas-page .christmas-discounts th,.christmas-page .christmas-discounts td{border-color:#b6d8ed2b}
.christmas-page .christmas-workshop-title .christmas-symbol{background:#e3eff5}
.christmas-page .christmas-workshop .christmas-activity-prices{border-color:#d2dfe6}
.christmas-page .christmas-workshop .christmas-activity-prices strong{color:#214d68}
.christmas-page .christmas-workshop-actions .outline{color:#234e69;border-color:#b7ccda;background:#f4f9fc}
.christmas-page .christmas-activity-row{scrollbar-color:#9dbdce55 transparent}
.christmas-page .christmas-newyear{isolation:isolate;background:radial-gradient(ellipse at 80% 15%,#74719d55,transparent 70%),linear-gradient(115deg,#252b4e,#29365c);border-top:1px solid #f1d29466;border-bottom:1px solid #f1d29433;position:relative;overflow:hidden}
.christmas-page .christmas-newyear:before{content:'';position:absolute;inset:0;background:url('/winter-fireworks.svg') no-repeat right top;background-size:auto 100%;pointer-events:none;z-index:-1}
.christmas-page .christmas-newyear p{color:#dde5f5}
.christmas-page .christmas-time-prices{background:#0d19375c;border-color:#f1d29460;box-shadow:0 8px 25px #07162b18}
.christmas-page .christmas-time-prices strong{color:#ffe1a8}
.christmas-page .christmas-booking-surface{background-color:#173c54;background-image:url('/winter-snow.svg'),linear-gradient(120deg,#1c4a6244,#24385799);background-size:380px 360px,100% 100%;border-color:#c1e4f02e}
.christmas-page #christmas-form{background:linear-gradient(140deg,#fffefa,#f3f8fc);border:1px solid #d9e7ef;box-shadow:0 12px 35px #051d3433;color:var(--winter-ink)}
.christmas-page #christmas-form label{color:#29485d}
.christmas-page #christmas-form .christmas-form-intro p{color:#586d7a}
.christmas-page #christmas-form input:not([type=checkbox]),.christmas-page #christmas-form select,.christmas-page #christmas-form textarea{border-color:#c5d7e2;color:#203e52;background:#fff}
.christmas-page #christmas-form input[readonly]{background:#e9f2f8}
.christmas-page #christmas-form :is(input,select,textarea)[aria-invalid=true]{border-color:#ac302d}
.christmas-page #christmas-form input[type=checkbox]{accent-color:#255b79}
.christmas-page #christmas-form .christmas-check{background:#f3f8fb;border-color:#cfdee8}
.christmas-page #christmas-form .christmas-check:has(input:checked){background:#e5f0f7!important;border-color:#477e9a!important}
.christmas-page #christmas-form .christmas-check small,.christmas-page #christmas-form .christmas-help{color:#536d7f}
.christmas-page #christmas-form .christmas-form-total{background:#e9f2f8;border-color:#ccdfe9;color:#22465e}
.christmas-page #christmas-form .christmas-form-total p{color:#4c687c}
.christmas-page .christmas-booking-aside .contact-note{border-color:#a9d2e23b;color:#e6eff8}
.christmas-page .christmas-booking-aside .contact-note p{color:#d4e4ef}
.christmas-page .christmas-booking-aside .contact-links a,.christmas-page .christmas-booking-aside .contact-icon{color:#e0eef8}
.christmas-page .christmas-booking-aside .contact-links a[href*='wa.me']{color:#98e4be}
.christmas-page .faq-list details{border-color:#a2d0eb3d;color:#e9f2f9}
.christmas-page .faq-list p{color:#cbdde9}
.christmas-page>footer{background:#f2f7fc;border-color:#b8d3e3;color:#24455e}
.christmas-page :is(a,button,input,select,textarea,summary):focus-visible{outline-color:#e7b65d}
@media(min-width:1101px){.christmas-page .christmas-hero-inner>div{padding-right:25px}.christmas-page .christmas-hero:before{background-size:570px auto}}
@media(max-width:760px){
 .christmas-page .christmas-hero-inner{padding-top:34px;padding-bottom:17px}
 .christmas-page .christmas-hero:before{background-position:right bottom;background-size:400px auto;opacity:.24}
 .christmas-page .christmas-hero .eyebrow{font-size:9px;letter-spacing:1.6px}
 .christmas-page h1{font-size:30px;max-width:530px;line-height:1.16}
 .christmas-page .christmas-intro{font-size:13px;line-height:1.65}
 .christmas-page .christmas-tabs [role=tab]{min-height:44px}
 .christmas-page .christmas-newyear:before{background-size:auto 240px;opacity:.65}
 .christmas-page .christmas-card{box-shadow:0 4px 15px #061b2c22}
}
/* Real costumes keep the intrinsic proportions of each photograph. */
.christmas-page .winter-photo-button{position:relative;display:block;padding:0;border:1px solid #dbedf7a6;border-radius:13px;overflow:hidden;background:transparent;aspect-ratio:auto;cursor:zoom-in;min-width:0;width:100%;box-shadow:0 6px 20px #041b2f26}
.christmas-page .winter-photo-button img{display:block;width:100%;height:auto}
.christmas-page .winter-photo-expand{position:absolute;right:7px;bottom:7px;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#122f49bf;color:#fff;font-size:20px;line-height:1;pointer-events:none}
.christmas-page .winter-photo-button:hover .winter-photo-expand{background:#122f49}
.christmas-page .christmas-hero-inner.winter-photo-hero{display:grid;grid-template-columns:minmax(0,1fr) 210px;align-items:center;gap:35px;padding-top:37px;padding-bottom:24px}
.christmas-page .winter-photo-hero>.winter-photo-button{border:1px solid #dbedf7a6;max-width:210px;justify-self:end}
.christmas-page .winter-portraits .christmas-section-head{margin-bottom:14px}
.christmas-page .winter-portraits .christmas-section-head h2{font-size:27px}
.christmas-page .winter-portrait-row{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;padding-bottom:8px;scrollbar-width:thin;scrollbar-color:#9dbdce55 transparent}
.christmas-page .winter-portrait-row figure{margin:0;flex:0 0 280px;scroll-snap-align:start;min-width:0}
.christmas-page .winter-portrait-row figcaption{text-align:center;font-size:13px;font-weight:700;margin-top:7px;color:#eef6fc}
.christmas-page .winter-lightbox{position:fixed;inset:0;max-width:100vw;max-height:100dvh;width:100%;height:100%;padding:50px 18px 18px;margin:0;background:#0c1f32f7;color:#fff;border:0;overflow:auto}
.christmas-page .winter-lightbox:not([open]){display:none}
.christmas-page .winter-lightbox[open]{display:flex;align-items:center;justify-content:center}
.christmas-page .winter-lightbox::backdrop{background:#08131de6}
.christmas-page .winter-lightbox figure{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;max-width:100%;margin:auto;pointer-events:none}
.christmas-page .winter-lightbox img{display:block;width:auto;height:auto;max-width:100%;max-height:calc(100dvh - 115px);object-fit:contain;background:#183e57;pointer-events:auto}
.christmas-page .winter-lightbox figcaption{font-size:13px;text-align:center}
.christmas-page .winter-lightbox-close{position:absolute;top:9px;right:15px;width:44px;height:44px;border:1px solid #ffffff66;border-radius:50%;background:#173d58;color:#fff;font-size:30px;display:grid;place-items:center;line-height:1;cursor:pointer}
@media(max-width:760px){
 .christmas-page .christmas-hero-inner.winter-photo-hero{grid-template-columns:minmax(0,1fr) 120px;gap:12px 14px;padding-top:32px;padding-bottom:18px}
 .christmas-page .winter-photo-hero>div{display:contents}
 .christmas-page .winter-photo-hero .eyebrow{grid-column:1/-1;grid-row:1;margin:0}
 .christmas-page .winter-photo-hero h1{grid-column:1;grid-row:2;font-size:25px;line-height:1.18;margin:0;letter-spacing:-.8px}
 .christmas-page .winter-photo-hero>.winter-photo-button{grid-column:2;grid-row:2;border-width:1px;border-radius:11px}
 .christmas-page .winter-photo-hero .christmas-intro{grid-column:1/-1;grid-row:3;margin:0}
 .christmas-page .winter-portraits .christmas-section-head h2{font-size:24px}
 .christmas-page .winter-portrait-row{margin-right:-20px;padding-right:20px;gap:12px}
 .christmas-page .winter-portrait-row figure{flex-basis:min(43vw,165px)}
}
@media(max-width:359px){.christmas-page .christmas-hero-inner.winter-photo-hero{grid-template-columns:minmax(0,1fr) 105px;gap:10px}.christmas-page .winter-photo-hero h1{font-size:23px}}
/* Let the winter sky continue through the header and footer. */
.christmas-page>header,.christmas-page>footer{background:transparent;color:#eef6fc;border-color:#c8e8ff26;box-shadow:none}
.christmas-page>header nav a:hover,.christmas-page>footer a:hover{color:#f4d49a}
.christmas-page>footer>small,.christmas-page>footer .cookie-settings-link{color:#c8dce9}
.christmas-page .logo{position:relative;overflow:visible}
.christmas-page .logo:after{content:'';position:absolute;left:-3px;top:-16px;width:38px;height:27px;background:url('/winter-logo-hat.svg?v=2') no-repeat center/contain;pointer-events:none}
.christmas-page>footer .logo:after{width:58px;height:41px;left:-4px;top:-25px}
/* Compact accordions: preserve a comfortable tap area without stacked padding. */
.christmas-page #christmas-faq{padding-top:18px;padding-bottom:18px}
.christmas-page #christmas-faq .christmas-section-head{margin-bottom:7px}
.christmas-page #christmas-faq h2{font-size:24px}
.christmas-page #christmas-faq .faq-list{max-width:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px}
.christmas-page #christmas-faq details{padding:0;margin:0;min-width:0}
.christmas-page #christmas-faq summary{padding:9px 0;min-height:44px;font-size:14px;line-height:1.45}
.christmas-page #christmas-faq details>p{font-size:13px;line-height:1.6;margin:0 0 12px;max-width:650px}
@media(max-width:760px){
 .christmas-page .logo:after{width:28px;height:20px;left:-2px;top:-8px}
 .christmas-page #christmas-faq{padding-top:14px;padding-bottom:14px}
 .christmas-page #christmas-faq h2{font-size:22px}
 .christmas-page #christmas-faq .faq-list{display:block}
 .christmas-page #christmas-faq summary{padding:8px 0;font-size:13px;min-height:44px}
}

/* Let the booking hint use all space beside the reset button. */
.christmas-page #christmas-form .christmas-form-intro p{max-width:none;min-width:0;flex:1}

.christmas-page .winter-child-price{display:block;font-size:10px;line-height:1.5;font-weight:400;margin-top:5px;color:#536d7f}

/* White text in the shared footer against the winter sky. */
.christmas-page>footer.site-footer-organized :is(p,h3,a,button,small),
.christmas-page>footer.site-footer-organized a:hover,
.christmas-page>footer.site-footer-organized button:hover{color:#fff}
