/* Private Christmas edition: pink ornaments, satin ribbons and stationery. */
:root{--festive-pink:#e878ae;--festive-blush:#f9dce9;--festive-ink:#823c5b}
.hero{background:linear-gradient(135deg,#fff9fb,#f8e1ec)!important}
.christmas-orbit{border-color:#d981a6;background:radial-gradient(ellipse at 50% 60%,#f2bfd5 0%,#fbe9f1 62%,transparent 63%)}
.hero-baubles{position:absolute;top:-48px;right:-10px;width:150px;height:auto;z-index:2;pointer-events:none}
.christmas-handwritten{background:#fff4f9;color:#934e6c;border:1px solid #e4a2bd;box-shadow:6px 6px 0 #e7adc44d}
.christmas-ribbon{background:#f2b5d0;color:#002b4a;border-top:1px solid #fff4fa;border-bottom:1px solid #cd7c9e;box-shadow:0 5px 0 #fce8f0}.christmas-ribbon b{color:#a04a70}
.life-story-section{background:#fff9fc!important}.section-bow{display:block;width:150px;height:103px;object-fit:contain;margin:-30px auto 8px}
.topics{background:#f9e6ef!important}.road-topic{background:#fffbfd!important;border:1px solid #e5acc4!important;border-radius:70px 70px 5px 5px!important;box-shadow:0 12px 30px #7c345b0b!important;overflow:hidden}.road-christmas-object{display:block;width:132px;height:91px;object-fit:contain;margin:0 auto 14px}.topic-body .num{color:#b85a85!important}.topic-body{position:relative}
.includes{background:#fffafd!important}.include{border-color:#e8bfd1!important}.include-image{background:#f9e6ef!important}
#book{background:radial-gradient(ellipse at 85% 30%,#644257 0%,#18394e 46%,#002b4a 80%)!important;padding-top:110px!important;padding-bottom:100px!important}
.christmas-ticket{isolation:isolate;background:linear-gradient(135deg,#fffafd,#f8d9e8)!important;border:1px solid #e69bbb!important;border-radius:110px 110px 5px 5px;outline:1px solid #cf7e9e;outline-offset:-15px;padding:105px 40px 40px!important;box-shadow:12px 14px 0 #d48aab24,0 25px 60px #001a2d55;overflow:visible}
.christmas-ticket::before{content:"";position:absolute;inset:23px;border:1px dashed #dca2b9;border-radius:88px 88px 0 0;z-index:-1;pointer-events:none}
.ticket-bow{position:absolute;width:215px;height:148px;object-fit:contain;top:-60px;left:50%;transform:translateX(-50%);pointer-events:none}
.card-salutation{display:block;font:italic 14px/1.6 Cardo,serif;color:#965573;max-width:220px;margin:0 auto 20px}
.christmas-ticket .kicker{color:#aa4b79!important}.christmas-ticket .price{color:#823c5b!important}.christmas-ticket .button{background:#df83ad!important;color:#002b4a!important;border:1px solid #c66b95!important;box-shadow:0 4px 0 #b85b86!important}.christmas-ticket .small a{color:#713b56;text-underline-offset:3px}
.faq{background:#fff9fc!important}.faq details{border-color:#e5b8cd!important}.faq summary::marker{color:#bd5c89}.final{background:linear-gradient(120deg,#f9dce9,#edb2cf)!important;border-top:1px solid #d486a8}
.christmas-now-booking>span{animation:bookingTextGlow 2.8s ease-in-out 2.75s infinite;color:#ffe9f5}
@keyframes bookingTextGlow{0%,100%{text-shadow:0 0 3px #fff,0 0 8px #e878ae80}50%{text-shadow:0 0 5px #fff,0 0 13px #ff9bce,0 0 26px #ff69b8,0 0 40px #ed81b6}}
@keyframes bookingTreeGlow{0%,100%{filter:drop-shadow(0 0 3px #ffbcdf)}50%{filter:drop-shadow(0 0 7px #fff0fa) drop-shadow(0 0 16px #ff79bd)}}
@keyframes bookingTreeLights{0%,100%{opacity:.75;filter:drop-shadow(0 0 2px #ff96c8)}50%{opacity:1;filter:drop-shadow(0 0 5px #fff) drop-shadow(0 0 9px #ff79bd)}}
@media(max-width:900px){.christmas-booking{gap:90px}.hero-baubles{right:0;top:-15px;width:120px}}
@media(max-width:560px){.christmas-ticket{padding:95px 28px 32px!important;border-radius:85px 85px 5px 5px}.christmas-ticket::before{inset:20px;border-radius:65px 65px 0 0}.ticket-bow{width:180px;height:124px;top:-45px}.hero-baubles{width:100px;top:-20px;right:0}.section-bow{width:120px;height:83px}.road-christmas-object{width:110px;height:76px}#book{padding-top:70px!important;padding-bottom:70px!important}}
@media(prefers-reduced-motion:reduce){.christmas-now-booking>span{animation:none;text-shadow:0 0 8px #ed81b6}.booking-tree{filter:drop-shadow(0 0 6px #ff9bce)}}

/* Requested finishing edits: blue event strip and white copy outside the payment card. */
.christmas-ribbon{background:#002b4a!important;color:#fff!important;border-color:#002b4a;box-shadow:none}
.christmas-ribbon .ribbon-bauble{display:inline-block!important;position:relative;flex:0 0 18px;width:18px;height:18px;border-radius:50%;background:radial-gradient(circle at 30% 25%,#fff4fa 0%,#f8c4dc 25%,#e878ae 60%,#863454 100%);box-shadow:0 0 7px #efadd12b}
.ribbon-bauble::before{content:"";position:absolute;top:-4px;left:6px;width:6px;height:5px;border-radius:2px 2px 0 0;background:#eac0d0}
#book .christmas-booking>div:first-child,#book .christmas-booking>div:first-child :is(h2,em,p,dd,.lead,.small){color:#fff!important}
@media(max-width:560px){.christmas-ribbon .ribbon-bauble{flex-basis:12px;width:12px;height:12px}.ribbon-bauble::before{left:4px;width:4px;height:4px;top:-3px}}

/* Booking card finishing details, matching the header lettering. */
#book .christmas-booking>div:first-child p.kicker,
#book .christmas-booking>div:first-child .christmas-details dt{color:#eca0b5!important}
.christmas-ticket::before{content:none}
.christmas-ticket .kicker{
 font-family:"TAN Harmoni","Playfair Display",Georgia,serif!important;
 font-size:clamp(17px,1.55vw,24px);font-weight:400;line-height:1.4;
 letter-spacing:.14em;text-transform:uppercase;color:#b44f80!important;
 -webkit-text-stroke:.35px #863454;paint-order:stroke fill;
 text-shadow:1px 1px 0 #e878ae,2px 2px 0 #a44873;
}
@media(max-width:620px){.christmas-ticket .kicker{font-size:15px;letter-spacing:.11em}}

/* Shared raised CTA edge; preserve existing fills and typography. */
body .button,
#swl-shared-footer .swl-inquire,
#swl-shared-footer button[type="submit"],
#christmas-snow-toggle{
 border:1px solid #c66b95!important;
 box-shadow:0 4px 0 #b85b86!important;
}

/* Standalone transparent icons: override inherited photo styling. */
#roadmap .road-topic img.road-christmas-object{
 display:block!important;width:132px!important;height:91px!important;
 max-width:100%!important;aspect-ratio:auto!important;object-fit:contain!important;
 background:transparent!important;border:0!important;border-radius:0!important;
 box-shadow:none!important;padding:0!important;outline:0!important;
 margin:0 auto 14px!important;filter:none!important;
}
@media(max-width:560px){#roadmap .road-topic img.road-christmas-object{width:110px!important;height:76px!important}}
