/* Bright seasonal cards. Photos and text occupy separate, naturally sized areas. */
:root[data-season="autumn"]{--season-accent:#c76822;--season-soft:#fff0db;--season-border:#f2d8b6;--season-canvas:#fffaf2;--season-ink:#854314;--season-secondary:#edf4d8;--season-secondary-ink:#466426}
:root[data-season="spring"]{--season-accent:#33834f;--season-soft:#edf9e5;--season-border:#cfe9c1;--season-canvas:#f8fff4;--season-ink:#2b673a;--season-secondary:#fff4d7;--season-secondary-ink:#80641d}
:root[data-season="summer"]{--season-accent:#00838d;--season-soft:#e7f9f7;--season-border:#bfe4de;--season-canvas:#f7fffb;--season-ink:#075a61;--season-secondary:#fff2be;--season-secondary-ink:#796017}
:root[data-season="winter"]{--season-accent:#367caf;--season-soft:#eaf6ff;--season-border:#c7e1f3;--season-canvas:#f7fcff;--season-ink:#235c86;--season-secondary:#f0edff;--season-secondary-ink:#68518f}
#main[data-route="home"]{max-width:1320px;margin-inline:auto}
#main[data-route="home"] .welcome-row{margin-bottom:22px}
#main[data-route="home"] .hotel-zone{border-top:0;padding-top:0}
#main[data-route="home"] .home-hotel-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-flow:row;grid-auto-columns:auto;align-items:stretch;gap:14px;padding:0;overflow:visible}
#main[data-route="home"] .home-hotel-grid .venue-tile{position:relative;isolation:auto;display:flex;flex-direction:column;height:auto;min-height:0;padding:0;border:1px solid var(--season-border);border-radius:22px;overflow:hidden;text-align:left;background:white;box-shadow:0 7px 24px #7147190b;transition:transform .22s,box-shadow .22s}
#main[data-route="home"] .home-hotel-grid .venue-tile.spa,#main[data-route="home"] .home-hotel-grid .venue-tile.bar{grid-column:span 2;height:auto}
#main[data-route="home"] .home-hotel-grid .venue-tile:after,#main .venue-art:after{display:none;content:none}
#main[data-route="home"] .home-hotel-grid .venue-art{position:relative;inset:auto;z-index:auto;height:150px;width:100%;flex:0 0 auto;overflow:hidden;background:var(--season-soft)}
#main[data-route="home"] .home-hotel-grid .spa .venue-art,#main[data-route="home"] .home-hotel-grid .bar .venue-art{height:210px}
#main .venue-art img,#main .home-offer-tile>img,#main .activity-cover img,#main .day-cover img,#main .event-cover img,#main .dining-photo img,#main .promo-visual img{filter:none;opacity:1;mix-blend-mode:normal}
#main[data-route="home"] .home-hotel-grid .venue-art img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s}
#main[data-route="home"] .home-hotel-grid .venue-art .badge{position:absolute;top:12px;left:12px;bottom:auto;z-index:1;max-width:calc(100% - 70px);height:auto;font-size:.69rem;line-height:1.35;white-space:normal;padding:6px 10px;border:1px solid #ffffffb3;border-radius:20px;background:#fffffff2!important;color:#294e35!important;backdrop-filter:none}
#main[data-route="home"] .home-hotel-grid .venue-label{position:static;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;grid-template-rows:none;gap:7px;margin:0;padding:16px;flex:1;height:auto;min-height:0;background:var(--season-soft);color:#254634}
#main[data-route="home"] .home-hotel-grid .spa .venue-label,#main[data-route="home"] .home-hotel-grid .gym .venue-label{background:var(--season-secondary)}
#main[data-route="home"] .home-hotel-grid .venue-label h2{position:static;display:block;margin:0;max-width:100%;height:auto;min-height:0;line-height:1.35;font-size:1.06rem;font-weight:650;color:#254634;overflow:visible;text-overflow:clip;-webkit-line-clamp:unset;white-space:normal;overflow-wrap:normal;word-break:normal;text-wrap:balance}
#main[data-route="home"] .home-hotel-grid .spa .venue-label h2,#main[data-route="home"] .home-hotel-grid .bar .venue-label h2{font-size:1.4rem}
#main[data-route="home"] .home-hotel-grid .venue-location,#main[data-route="home"] .home-hotel-grid .next-opening{position:static;display:flex;align-items:flex-start;gap:6px;grid-row:auto;align-self:auto;margin:0;height:auto;min-height:0;max-height:none;font-size:.77rem;line-height:1.55;color:#516652;white-space:normal;overflow:visible;-webkit-line-clamp:unset}
#main[data-route="home"] .home-hotel-grid .next-opening{display:block;margin-top:auto;padding-top:3px;color:var(--season-ink);font-weight:550}
#main[data-route="home"] .home-hotel-grid .venue-explore{position:absolute;top:12px;right:12px;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;border:1px solid #ffffffab;background:#fffffff0;color:var(--season-ink);font-size:1.1rem;z-index:1}
.home-section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:15px;margin-bottom:18px}.home-section-title h2{margin:8px 0 0;font-size:clamp(1.35rem,2.2vw,1.75rem);line-height:1.3;letter-spacing:-.025em;color:#254634}.home-section-title .eyebrow{display:flex;align-items:center;gap:7px;color:var(--season-ink);font-size:.72rem}.home-section-title .eyebrow .icon{width:16px;height:16px}.home-section-title .textlink{white-space:nowrap;color:var(--season-ink)}
.home-special-offers{margin:34px 0}.home-offer-mosaic{display:grid;grid-template-columns:1.15fr 1fr;grid-template-rows:auto auto;align-items:stretch;gap:14px}.home-offer-tile{position:relative;isolation:auto;display:flex;flex-direction:row;align-items:stretch;min-width:0;height:auto;padding:0;overflow:hidden;border:1px solid var(--season-border);border-radius:22px;text-align:left;color:#254634;background:var(--season-soft);box-shadow:0 7px 24px #7147190b;transition:transform .22s,box-shadow .22s}.home-offer-featured{grid-row:span 2;flex-direction:column}.home-offer-tile>img{position:static;inset:auto;z-index:auto;display:block;width:36%;height:auto;min-height:190px;flex:0 0 36%;object-fit:cover;transition:none}.home-offer-featured>img{width:100%;height:205px;min-height:0;flex:0 0 auto}.home-offer-shade{display:none}.home-offer-copy{position:static;display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:8px;flex:1;min-width:0;width:auto;height:auto;padding:18px;background:var(--season-soft);color:#254634}.home-offer-featured .home-offer-copy{padding:20px;gap:10px}.home-offer-tile:nth-child(2) .home-offer-copy{background:var(--season-secondary)}.home-offer-badge{position:static;display:inline-flex;align-items:flex-start;gap:5px;max-width:100%;height:auto;white-space:normal;padding:5px 9px;border:1px solid var(--season-border);border-radius:15px;background:white;color:var(--season-ink);font-size:.66rem;line-height:1.45;backdrop-filter:none}.home-offer-badge .icon{width:13px;height:13px;flex-shrink:0;margin-top:2px}.home-offer-copy>strong{position:static;display:block;max-width:100%;margin:0;font-size:1.12rem;line-height:1.35;letter-spacing:-.01em;color:#254634;white-space:normal;overflow-wrap:normal;text-wrap:balance}.home-offer-featured .home-offer-copy>strong{font-size:1.6rem}.home-offer-description{display:block;font-size:.77rem;line-height:1.55;color:#52664f;white-space:normal}.home-offer-price{display:block;font-size:1.4rem;font-weight:650;line-height:1.4;color:var(--season-ink);white-space:normal}.home-offer-includes{display:flex;flex-wrap:wrap;gap:7px 12px;max-width:100%;color:#52664f}.home-offer-includes>span{display:inline-flex;align-items:flex-start;gap:5px;font-size:.72rem;line-height:1.5;max-width:100%}.home-offer-includes .icon{width:14px;height:14px;flex-shrink:0;margin-top:3px}.home-offer-cta{display:inline-flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:8px;font-size:.76rem;font-weight:650;line-height:1.5;color:var(--season-ink);max-width:100%;white-space:normal}.home-offer-featured .home-offer-cta{padding:9px 14px;margin-top:5px;border:1px solid var(--season-border);border-radius:24px;background:white}.home-offer-cta>span{font-size:inherit;flex-shrink:0}
/* Long titles, translations and opening information increase card height instead of colliding. */
#main .activity-card.compact-offer .activity-body{display:flex;flex-direction:column;align-items:stretch;grid-template-rows:none;gap:7px;height:auto;min-height:0;max-height:none;padding:14px;text-align:left}
#main .activity-card.compact-offer .activity-body h3,#main .event-card .event-copy h3,#main .day-card h3{display:block;height:auto;min-height:0;max-height:none;margin:0;line-height:1.4;overflow:visible;white-space:normal;text-overflow:clip;-webkit-line-clamp:unset}
#main .activity-card.compact-offer .travel-line,#main .activity-card.compact-offer .offer-distance{height:auto;min-height:0;max-height:none;line-height:1.5;margin:0;overflow:visible;white-space:normal;-webkit-line-clamp:unset}
#main .activity-availability,#main .activity-card.compact-offer .activity-availability .offer-opening{height:auto;min-height:0;max-height:none}
#main .activity-card.compact-offer .activity-availability .offer-opening{padding:5px 14px 12px;margin:0}
#main .activity-card.compact-offer .offer-opening strong,#main .activity-card.compact-offer .offer-opening small{height:auto;max-height:none;line-height:1.45;white-space:normal;overflow:visible;-webkit-line-clamp:unset}
#main .event-card .event-copy{height:auto;min-height:0;gap:7px}#main .event-card .event-venue{height:auto;min-height:0;max-height:none;overflow:visible;white-space:normal;-webkit-line-clamp:unset}
#main[data-route="home"] .activity-cover:after,#main[data-route="home"] .event-cover:after,#main[data-route="home"] .day-cover:after,#main[data-route="home"] .dining-photo:after,#main[data-route="home"] .promo-visual:after{display:none;content:none}
#main[data-route="home"] .activity-card,#main[data-route="home"] .day-card,#main[data-route="home"] .event-card{background:white!important;border-color:var(--season-border)}
.carousel-shell{position:relative;min-width:0}.carousel-shell .carousel{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc((100% - 42px)/3.35);min-width:0;max-width:100%;overflow-x:auto;overflow-y:hidden;gap:14px;scrollbar-width:none;scroll-padding-inline:1px;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;cursor:grab}.carousel-shell .carousel::-webkit-scrollbar{display:none}.carousel-shell:after{content:"";position:absolute;right:0;top:0;bottom:58px;width:28px;background:linear-gradient(90deg,transparent,var(--season-canvas,#faf7f1));opacity:1;pointer-events:none;transition:opacity .25s}.carousel-shell[data-at-end="true"]:after,.carousel-shell[data-overflow="false"]:after{opacity:0}.carousel-toolbar{display:flex;align-items:center;gap:12px;padding:11px 0 3px;min-height:48px}.carousel-swipe-hint{display:flex;align-items:center;gap:8px;font-size:.72rem;color:var(--muted);white-space:nowrap}.carousel-swipe-mark{font-size:1rem;color:var(--season-accent);animation:swipe-invite 3.8s ease-in-out 2}.carousel-progress-track{height:3px;max-width:200px;min-width:28px;flex:1;background:var(--season-border,#e3e8df);border-radius:3px;overflow:hidden}.carousel-progress-fill{display:block;width:32%;height:100%;border-radius:3px;background:var(--season-accent);transform:translateX(calc(var(--carousel-progress,0)*212.5%));transition:transform .12s linear}.carousel-position{font-variant-numeric:tabular-nums;font-size:.68rem;color:var(--muted);white-space:nowrap}.carousel-arrows{display:flex;gap:6px;margin-left:auto}.carousel-arrow{height:44px;width:44px;padding:0;display:grid;place-items:center;border:1px solid var(--season-border);background:white;color:var(--season-ink);border-radius:12px;font-size:1.1rem;transition:background .2s,transform .2s,opacity .2s}.carousel-arrow:disabled{opacity:.28;cursor:default}.carousel-arrow:not(:disabled):active{transform:scale(.93)}.carousel-shell[data-overflow="false"] .carousel-toolbar{display:none}.season-walks .carousel-shell{padding:0 16px 16px}.season-walks .carousel-shell .carousel{padding-inline:0;padding-bottom:8px}.season-walks .carousel-shell:after{right:16px;background:linear-gradient(90deg,transparent,var(--season-soft))}.day-programme-shelf .carousel-shell:after{background:linear-gradient(90deg,transparent,var(--season-soft))}.carousel-shell .carousel .activity-card{min-width:0}
#main[data-route="home"] .hotel-zone .carousel-shell:after{display:none}
.home-reveal{opacity:1}.home-reveal.home-in-view{animation:home-arrive .45s ease backwards}.home-hotel-grid .venue-tile{animation:home-arrive .45s ease backwards}.home-hotel-grid .venue-tile:nth-child(2){animation-delay:.05s}.home-hotel-grid .venue-tile:nth-child(3){animation-delay:.1s}.home-hotel-grid .venue-tile:nth-child(4){animation-delay:.15s}
@keyframes home-arrive{from{opacity:.55;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes swipe-invite{0%,30%,100%{transform:translateX(0)}50%,70%{transform:translateX(5px)}}
@media(hover:hover){#main[data-route="home"] .home-hotel-grid .venue-tile:hover,.home-offer-tile:hover{transform:translateY(-3px);box-shadow:0 11px 30px #71471915}#main[data-route="home"] .home-hotel-grid .venue-tile:hover .venue-art img{transform:scale(1.025)}.carousel-arrow:not(:disabled):hover{background:var(--season-soft)}}
#main[data-route="home"] .home-hotel-grid .venue-tile:active,.home-offer-tile:active{transform:scale(.987)}
@media(max-width:1000px){.carousel-shell .carousel{grid-auto-columns:calc((100% - 28px)/2.45)}.home-offer-mosaic{grid-template-columns:1fr 1fr}.home-offer-tile>img{width:30%;flex-basis:30%}.home-offer-featured>img{width:100%;flex-basis:auto}.home-offer-copy{padding:15px}.home-offer-includes{gap:6px 9px}}
@media(max-width:760px){#main[data-route="home"] .home-hotel-grid{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:82%;grid-template-rows:auto;align-items:stretch;overflow-x:auto;overflow-y:hidden;gap:12px;padding-bottom:8px}#main[data-route="home"] .home-hotel-grid .venue-tile,#main[data-route="home"] .home-hotel-grid .venue-tile.spa,#main[data-route="home"] .home-hotel-grid .venue-tile.bar,#main[data-route="home"] .home-hotel-grid .venue-tile.gym{grid-column:auto;height:auto;min-height:0;margin:0;border-radius:19px}#main[data-route="home"] .home-hotel-grid .venue-art,#main[data-route="home"] .home-hotel-grid .spa .venue-art,#main[data-route="home"] .home-hotel-grid .bar .venue-art{height:180px}#main[data-route="home"] .home-hotel-grid .venue-label{padding:15px;gap:8px}#main[data-route="home"] .home-hotel-grid .venue-label h2,#main[data-route="home"] .home-hotel-grid .spa .venue-label h2,#main[data-route="home"] .home-hotel-grid .bar .venue-label h2{font-size:1.17rem}#main[data-route="home"] .home-hotel-grid .venue-location,#main[data-route="home"] .home-hotel-grid .next-opening{font-size:.77rem}#main[data-route="home"] .hotel-zone .carousel-shell:after{display:block}.home-special-offers{margin:28px 0}.home-section-title{align-items:flex-start}.home-section-title .textlink{font-size:.72rem}.home-offer-mosaic{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto auto;gap:11px}.home-offer-featured{grid-column:span 2;grid-row:auto}.home-offer-tile{flex-direction:column;align-items:stretch}.home-offer-tile>img{height:125px;min-height:0;width:100%;flex:0 0 auto}.home-offer-featured>img{height:185px}.home-offer-copy{padding:14px;gap:8px}.home-offer-featured .home-offer-copy{padding:17px}.home-offer-copy>strong{font-size:1rem}.home-offer-featured .home-offer-copy>strong{font-size:1.4rem}.home-offer-description{font-size:.74rem}.home-offer-badge{font-size:.62rem;padding:5px 7px}.home-offer-price{font-size:1.2rem}.home-offer-cta{font-size:.7rem}.home-offer-includes>span{font-size:.7rem}.carousel-shell .carousel{grid-auto-columns:82%;gap:12px}.carousel-swipe-hint{font-size:.67rem;gap:5px}.carousel-position{font-size:.64rem}.carousel-toolbar{gap:8px}.carousel-progress-track{max-width:100px}.carousel-arrow{width:44px;height:44px}.season-walks .carousel-shell{padding:0 12px 12px}.season-walks .carousel-shell:after{right:12px}.carousel-shell:after{width:23px}}
@media(max-width:440px){.carousel-progress-track{display:none}.carousel-swipe-hint{flex:1;min-width:0;max-width:none;white-space:normal;line-height:1.4}.carousel-arrows{flex-shrink:0}.home-section-title .textlink{white-space:normal;max-width:85px;text-align:right}.home-offer-copy{padding:12px}.home-offer-featured .home-offer-copy{padding:15px}.home-offer-copy>strong{font-size:.96rem}.home-offer-price{font-size:1.1rem}}
@media(prefers-reduced-motion:reduce){.home-reveal.home-in-view,.home-hotel-grid .venue-tile,.carousel-swipe-mark{animation:none!important}.home-offer-tile,.carousel-arrow,.carousel-progress-fill,#main[data-route="home"] .home-hotel-grid .venue-tile,#main[data-route="home"] .home-hotel-grid .venue-art img{transition:none!important}}

#main[data-animate-entry="false"] .home-hotel-grid .venue-tile{animation:none!important}
#main .weekly-programme,#main .explorer-toolbar,#main .home-category-tabs,#main .event-categories{overflow-anchor:none}

/* Keep the featured local experience photograph spacious. */
.home-offer-featured[data-id="terra-parna"]>img{height:280px;object-position:center 55%}
@media(max-width:760px){.home-offer-featured[data-id="terra-parna"]>img{height:230px}}
