/* Christmas edition: loaded only on home and the Bath model hub. */
body.festive-edition{--paper:#f8f1e4;--ink:#22201d;--editorial-accent:#9e2b25;--muted:#62594c;--line:#d8c9ad;--pine:#1f3a2e;--gold:#d9a441;background:var(--paper);color:var(--ink)}
.festive-edition :is(h1,h2,h3,h4){font-family:Instrument Serif,Georgia,serif;font-weight:400;line-height:1.12}.festive-edition h4{font-size:29px;margin:0 0 14px}.festive-edition .site-header,.festive-edition .site-footer{background:var(--pine);color:var(--paper);border-color:#45604c}.festive-edition .site-header :is(a,.brand,.brand small,.nav a,.menu-button),.festive-edition .site-footer :is(a,.footer-label,.legal,.duck-card strong){color:var(--paper)}.festive-edition .brand small{color:var(--gold)}.festive-edition .menu-button{border-color:#a2aa90}.festive-edition a{color:#9e2b25}.festive-edition a:hover{color:#72221f}.festive-edition :focus-visible{outline:3px solid #9e2b25;outline-offset:5px}.festive-edition :is(.site-header,.site-footer,.v2-hero) :focus-visible{outline-color:#f2ce87}.festive-edition .button,.festive-edition [data-load-instagram]{background:#9e2b25;border-color:#9e2b25;color:#fff8ed}.festive-edition .button:hover{background:#76231f;color:#fff8ed}.festive-edition .v2-hero{background:#1f3a2e}.festive-edition .v2-hero:after{background:radial-gradient(ellipse at 72% 20%,#f1bb5a18,transparent 52%),linear-gradient(0deg,#12251ff5 0%,#14291fdd 25%,#1f3a2e30 85%)}.festive-edition .v2-hero img{filter:sepia(.13) saturate(1.04) brightness(.96)}.festive-edition .v2-hero-copy{position:relative;z-index:2}.festive-edition .v2-hero p,.festive-edition .v2-hero a{color:#fff8ed}.festive-edition .v2-hero h1{color:#fff8ed;text-shadow:0 2px 24px #18281b90}.festive-edition .v2-deck,.festive-edition .v2-pullquote,.festive-edition #verdict .v2-verdict-grid>div:last-child p{font-family:Instrument Serif,Georgia,serif;font-style:italic}.festive-edition .v2-deck{font-size:30px;line-height:1.3}.festive-edition .v2-photo img,.festive-edition .card img{filter:sepia(.1) saturate(1.04)}.festive-edition .v2-photo figcaption,.festive-edition .small,.festive-edition small{color:#62594c}.festive-edition .v2-hero figcaption,.festive-edition .v2-hero figcaption a{color:#fff8ed;background:#1f3a2ee8}.festive-edition .v2-page #verdict{position:relative;background:#eee4d1;border-left:3px solid #9e2b25;padding-top:60px}.wax-seal{position:absolute;right:26px;top:26px;display:grid;place-items:center;width:58px;height:58px;border-radius:48% 52% 46% 54%;background:#9e2b25;color:#f4d9ae;box-shadow:inset 0 0 0 5px #9e2b25,inset 0 0 0 6px #d7916c,0 3px 5px #3a231420;font-size:33px;line-height:1}.festive-ribbon{display:inline-block!important;position:relative;background:#9e2b25;color:#fff8ed!important;padding:3px 20px 3px 10px;font:600 11px/1.8 Public Sans,sans-serif!important;clip-path:polygon(0 0,100% 0,94% 50%,100% 100%,0 100%);letter-spacing:.04em}.festive-edition #verdict>.festive-ribbon{position:absolute;top:20px;left:38px}.festive-edition #market>p:first-of-type:first-letter{float:left;font-family:Instrument Serif,serif;font-size:82px;line-height:.8;color:#9e2b25;margin:8px 9px 0 0}.festive-edition .v2-pullquote{color:#9e2b25}.fairy-divider{max-width:1120px;width:calc(100% - 48px);height:60px;margin:14px auto;pointer-events:none}.fairy-divider svg{width:100%;height:50px;overflow:visible}.fairy-divider .wire{stroke:#68764d;stroke-width:1}.fairy-divider g{stroke:#9c711f;stroke-width:1}.fairy-divider ellipse{fill:#edc77b;filter:drop-shadow(0 0 4px #d9a44166);animation:candle 8s ease-in-out infinite alternate}.fairy-divider g:nth-child(3n) ellipse{animation-delay:-4s}@keyframes candle{from{opacity:.7}to{opacity:1}}
.festive-edition .gift-tag{position:relative;background:#fff9ed;border:1px solid #d8c9ad;box-shadow:0 5px 15px #3a2c1510;overflow:visible;border-radius:2px 20px 2px 2px}.festive-edition .gift-tag:before{content:'';position:absolute;right:15px;top:13px;width:8px;height:8px;background:#1f3a2e;border:2px solid #f8f1e4;border-radius:50%;z-index:3;box-shadow:0 0 0 1px #a78d5f}.festive-edition .gift-tag:after{content:'';position:absolute;right:17px;top:-12px;width:18px;height:30px;border:1px solid #967139;border-radius:50%;transform:rotate(28deg);z-index:4;pointer-events:none}.festive-edition .gift-tag .card-copy{padding:17px}.festive-edition .gift-tag .v2-photo img{border-radius:2px 20px 0 0}.festive-edition .gift-tag figcaption{padding:6px 10px}.festive-edition .gift-tag .card-copy>p:first-of-type{min-height:3.3em}.festive-edition .day-timeline li{border-color:#9c883d}.festive-edition .day-timeline li:before{background:#f0cc7b;border:1px solid #946d26;box-shadow:0 0 0 4px #d9a44118,0 0 12px #d9a44166;width:10px;height:14px;border-radius:45%}.festive-edition .time-label{color:#9e2b25}.festive-edition .city-pin span,.festive-edition .overview-marker span{position:relative;background:#9e2b25!important;color:#fff8ed!important;border:2px solid #f8f1e4;border-radius:50%!important;box-shadow:0 2px 8px #172a2740}.festive-edition .city-pin span:before,.festive-edition .overview-marker span:before{content:'';position:absolute;top:-6px;left:40%;height:5px;width:7px;border:1px solid #9e762d;background:#d9a441;border-radius:2px}.festive-edition .city-pin.pin-market span,.festive-edition .overview-marker.scope-UK span{background:#1f3a2e!important}.festive-edition .site-footer{position:relative;margin-top:95px;padding-top:35px}.chalet-skyline{position:absolute;bottom:calc(100% - 1px);left:0;width:100%;height:85px;fill:#1f3a2e;pointer-events:none}.skyline-wire{stroke:#59714c;stroke-width:1;fill:none}.skyline-light{fill:#d9a441}.festive-status{display:inline-flex;align-items:center;gap:9px;font-size:13px;font-weight:600;border:1px solid #c9b68e;padding:5px 12px;border-radius:30px}.festive-status[data-open=true]:before{content:'';height:7px;width:7px;border-radius:50%;background:#1f623c;box-shadow:0 0 8px #699d5b88}
.festive-home .v2-hero{min-height:700px}.festive-home .v2-hero h1{max-width:850px;font-size:clamp(52px,6.4vw,90px)}.festive-home .v2-hero h1 em{color:#f0cc87}.festive-home .festive-actions{display:flex;gap:14px;flex-wrap:wrap}.festive-home .festive-actions .secondary{background:#1f3a2ec9;border-color:#f2d9aa}.christmas-countdown{font-size:13px;letter-spacing:.06em;border-top:1px solid #d9a44180;display:inline-block;padding-top:16px;margin-top:12px}.festive-snow{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:1}.festive-snow i{position:absolute;left:var(--x);top:-10px;height:3px;width:3px;background:#fff7e7;border-radius:50%;opacity:.45;animation:snowfall var(--duration) var(--delay) linear infinite;animation-play-state:paused}.festive-home-hero[data-in-view=true] .festive-snow i{animation-play-state:running}@keyframes snowfall{to{transform:translate3d(35px,740px,0);opacity:0}}.festive-home .opening-strip{background:#eee4d1;color:#22201d;padding:12px 0 38px}.festive-home .opening-strip .wrap{display:block}.festive-home .opening-strip strong{display:block;margin-bottom:20px;font:38px/1.1 Instrument Serif,Georgia,serif}.festive-home .opening-chips{gap:15px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0}.festive-home .opening-chips[hidden]{display:none}.advent-door{min-width:0;background:#1f3a2e;border:1px solid #9a7c48;border-radius:2px;color:#fff8ed;position:relative;box-shadow:inset 0 0 0 6px #1f3a2e,inset 0 0 0 7px #d9a44170}.advent-door summary{cursor:pointer;list-style:none;padding:20px;min-height:124px;position:relative;display:flex;align-items:baseline;gap:12px}.advent-door summary::-webkit-details-marker{display:none}.advent-door summary:after{content:'+';margin-left:auto;font:24px Instrument Serif,serif;color:#f0cc87}.advent-door[open] summary:after{content:'−'}.advent-number{font:60px/1 Instrument Serif,Georgia,serif;color:#f0cc87}.advent-month{font-size:11px;text-transform:uppercase;letter-spacing:.15em}.advent-door .advent-reveal{padding:0 20px 22px}.festive-home .advent-door a{color:#fff8ed;display:block;border:0;padding:8px 0;text-decoration:underline;border-radius:0;font-size:17px}.advent-door a:hover{background:transparent!important;color:#f0cc87!important}.advent-door .advent-hint{font-size:11px;margin-top:8px;display:block;color:#fff8ed}.festive-home .feature-band{background:#eee4d1;border:0}.festive-home .intro,.festive-home .card p,.festive-home .card .card-bottom,.festive-home .eyebrow{color:#62594c}.festive-home .card{border-color:#d8c9ad}.festive-home .card a{color:#22201d;text-decoration:none}.festive-home .card h3,.festive-home .card h4{color:#22201d}.festive-home .tag{background:#eee4d1;color:#7c2722;border-color:#d8c9ad}.festive-home .card-content{padding:24px}.directory-credit{font-size:9px;color:#62594c;display:block;padding:0 24px 14px}.directory-region{grid-column:1/-1;font-size:35px!important;margin:32px 0 10px!important;border-bottom:1px solid #c9b68e;padding-bottom:14px}.festive-home .controls :is(input,select){background:#fff9ed;color:#22201d;border-color:#b2a389}.festive-home .controls label,.festive-home .controls output{color:#22201d}.festive-home .overview-map-placeholder{background:#eee4d1;color:#22201d}.festive-home .overview-toolbar button{color:#1f3a2e;border-color:#9b8f72;background:#fff9ed}.festive-home .overview-toolbar button[aria-pressed=true]{background:#1f3a2e;color:#fff8ed}.festive-home .overview-status,.festive-home .overview-list li,.festive-home .overview-list a{color:#22201d}.festive-home .overview-map-placeholder img{display:none}.festive-home .overview-list span{color:#62594c}.festive-home .guide-links a{color:#9e2b25;border-color:#c9b68e;background:#fff9ed}.festive-home .estate-preview{max-width:550px;float:right;margin:0 0 24px 35px}.festive-home .festive-estates:after{content:'';display:block;clear:both}.festive-home .festive-trust{background:#eee4d1}.festive-home .festive-trust p{max-width:65ch}.festive-home .guide-promo img{display:none}.festive-home .guide-promo{grid-template-columns:1fr auto}
@media(max-width:750px){.festive-edition .v2-deck{font-size:26px}.festive-home .v2-hero{min-height:680px}.festive-home .v2-hero h1{font-size:53px;max-width:100%}.festive-home .v2-hero-copy{padding-bottom:35px}.festive-home .opening-chips{grid-template-columns:1fr;gap:14px}.advent-door summary{min-height:110px}.advent-door .advent-reveal{padding-bottom:18px}.festive-home .wrap{width:calc(100% - 40px)}.festive-home .estate-preview{float:none;max-width:100%;margin:0 0 25px}.festive-home .guide-promo{grid-template-columns:1fr}.festive-edition .v2-food-strip{grid-template-columns:1fr}.festive-edition .v2-food-strip .food-card{display:block}.festive-edition .gift-tag .v2-photo img{width:100%;aspect-ratio:3/2}.festive-edition .gift-tag .card-copy{padding:20px}.festive-edition .wax-seal{width:44px;height:44px;right:18px}.fairy-divider{height:40px;margin:4px auto}.chalet-skyline{height:55px}.festive-edition .site-footer{margin-top:65px}}
@media(prefers-reduced-motion:reduce){.festive-edition *,.festive-edition *:before,.festive-edition *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.festive-snow{display:none!important}}
/* Keep the genuine Christmas tree in the wide crop, with a clear text column. */
.festive-edition .v2-hero img{object-position:50% 80%}.festive-edition .v2-hero:after{background:radial-gradient(ellipse at 76% 44%,#f1bb5a12,transparent 48%),linear-gradient(90deg,#14291fe8 0%,#14291fa8 42%,#14291f18 80%),linear-gradient(0deg,#12251fe8,transparent 65%)}.festive-home .v2-hero h1{max-width:770px}.festive-home .opening-strip strong{text-transform:none;letter-spacing:0}.festive-home .opening-strip strong{font-weight:400}.festive-edition .gift-tag .card-copy>p:first-of-type{min-height:0}
@media(max-width:750px){.festive-edition .v2-hero:after{background:linear-gradient(0deg,#14291ff5 0%,#14291fd9 55%,#14291f35 100%)}.festive-edition .v2-hero img{object-position:50% 65%}.festive-home .v2-hero h1{font-size:51px}}
/* Homepage fixes: explicit contrast, an immediate map preview and hinged doors. */
.festive-home #all-markets-map{background:#1f3a2e;color:#f8f1e4}.festive-home #all-markets-map :is(h2,h3,p,.intro,.small,.overview-status,.overview-list li,.overview-list span,.overview-list a,summary){color:#f8f1e4}.festive-home #all-markets-map :is(a,.eyebrow){color:#f0cc87}.festive-home #all-markets-map .overview-toolbar button{background:#1f3a2e;color:#f8f1e4;border-color:#d9a441}.festive-home #all-markets-map .overview-toolbar button[aria-pressed=true]{background:#9e2b25;color:#fff8ed;border-color:#f0cc87}.festive-home #all-markets-map :focus-visible{outline-color:#f0cc87}.festive-home #all-markets-map .overview-map{background:#1f3a2e}.festive-home #all-markets-map .static-map-preview{background:#1f3a2e;display:flex;gap:8px;justify-content:center;padding:16px}.festive-home #all-markets-map .static-map-preview img{display:block!important;width:100%;height:auto;max-height:430px;margin:0;object-fit:contain}.festive-home #all-markets-map .static-map-preview p{font:22px/1.3 Instrument Serif,Georgia,serif;margin:0;color:#f0cc87}.festive-home #all-markets-map .static-map-preview span{font-size:12px;color:#f8f1e4}.festive-home #all-markets-map .leaflet-popup-content-wrapper,.festive-home #all-markets-map .leaflet-popup-tip{background:#1f3a2e;color:#f8f1e4}.festive-home #all-markets-map .leaflet-popup-content :is(p,strong){color:#f8f1e4}.festive-home #all-markets-map .leaflet-popup-content a{color:#f0cc87}.festive-home #all-markets-map .leaflet-control-attribution{background:#1f3a2e;color:#f8f1e4}.festive-home #all-markets-map .leaflet-control-attribution a{color:#f0cc87}
.festive-home .advent-door{perspective:1000px;background:#132b22;border:5px solid #80652f;outline:1px solid #d9a441;box-shadow:inset 0 0 0 2px #d9a441,0 7px 16px #241b1820;min-height:178px;margin:3px}.festive-home .advent-door summary{isolation:isolate;min-height:156px;transform:rotateY(-7deg);transform-origin:left center;transition:transform .5s ease;box-shadow:4px 2px 9px #0005;border:1px solid #d9a441;background:#1f3a2e}.festive-home .advent-door summary:before{content:'';position:absolute;inset:7px;z-index:-1;border:1px solid #d9a44180;box-shadow:inset 0 0 0 4px #1f3a2e}.festive-home .advent-door:before{content:'';position:absolute;inset:0;background:linear-gradient(#1f3a2e55,#1f3a2e55),var(--advent-photo) center/cover;opacity:.75;pointer-events:none}.festive-home .advent-door[open] summary{transform:rotateY(-13deg);min-height:110px}.festive-home .advent-door .advent-reveal{position:relative;padding:15px;background:#132b22}.festive-home .advent-door .advent-reveal img{width:100%;aspect-ratio:16/10;object-fit:cover;margin:8px 0}.festive-home .advent-door .advent-reveal small{display:block;color:#f8f1e4;font-size:10px}.festive-home .advent-number{color:#f0cc87}.festive-home .advent-door summary:after{content:'';width:7px;height:7px;background:#f0cc87;border:1px solid #d9a441;border-radius:50%;align-self:center}.festive-home .advent-door[open] summary:after{content:''}@media(max-width:750px){.festive-home #all-markets-map .static-map-preview{padding:10px}.festive-home #all-markets-map .static-map-preview img{min-height:230px}.festive-home .advent-door summary{min-height:140px}}@media(prefers-reduced-motion:reduce){.festive-home .advent-door summary{transition:none}}
/* No chart fallback: keep destinations visible while the real map loads. */
.festive-home #all-markets-map .map-loading-notice{background:#1f3a2e;color:#f8f1e4}.festive-home #all-markets-map .map-loading-notice p{color:#f0cc87;font:26px/1.25 Instrument Serif,Georgia,serif}.festive-home #all-markets-map .map-loading-notice span{color:#f8f1e4}.festive-home #all-markets-map [data-overview-canvas][hidden]{display:none!important}.festive-home #all-markets-map .leaflet-control-zoom a{background:#1f3a2e;color:#f8f1e4}.festive-home #all-markets-map .leaflet-container{touch-action:pan-y}.festive-home #all-markets-map [data-overview-canvas][data-active=true]{touch-action:none}

/* Bound decorative skyline artwork to its SVG frame. */
.chalet-skyline{overflow:hidden;max-width:100%}
