.featured-home{position:relative;background:#173e52;color:white;touch-action:pan-y}.featured-slide{position:relative;height:430px;overflow:hidden}.featured-slide[hidden]{display:none}.featured-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.featured-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,29,42,.68),rgba(8,29,42,.1) 85%)}.featured-copy{position:relative;max-width:1240px;margin:auto;padding:110px 36px 65px}.featured-copy .eyebrow{color:#fff}.featured-copy h1,.featured-copy h2{color:white;font-size:40px;line-height:1.15;max-width:760px;margin:14px 0 24px}.featured-copy .button{font-size:14px;padding:13px 20px}.featured-controls{position:absolute;bottom:24px;right:max(24px,calc((100% - 1168px)/2));display:flex;align-items:center;gap:14px;background:#123246c9;border:1px solid #ffffff50;border-radius:30px;padding:5px;color:white;font-size:13px}.featured-controls button{display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:50%;background:white;color:#153f60;font-size:20px;cursor:pointer}.featured-home a:focus-visible,.featured-controls button:focus-visible{outline:3px solid white;outline-offset:4px}.featured-empty{padding:36px max(20px,calc((100% - 1168px)/2));background:#eaf1f5}.featured-empty h1{font-size:28px}.featured-empty p{margin-bottom:0}@media(max-width:760px){.featured-slide{height:345px}.featured-copy{padding:80px 24px 85px}.featured-copy h1,.featured-copy h2{font-size:28px}.featured-controls{bottom:16px;right:20px}.featured-image{object-position:center}.featured-shade{background:linear-gradient(0deg,#081d2abc,#081d2a20)}}

/* Full-window homepage preview; search stays in normal flow when expanded. */
.immersive-home .header{position:absolute;left:0;right:0;z-index:10;max-width:none;padding:22px max(30px,calc((100% - 1180px)/2));background:rgba(13,37,56,.06)}
.immersive-home .header nav a{color:white}.immersive-home .header .site-languages a[aria-current]{background:#fff;color:#164567}.immersive-home .header .logo{background:transparent;border-radius:0;padding:0;mix-blend-mode:normal}
.immersive-home .featured-home{min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;padding:240px 0 36px;isolation:isolate}
.immersive-home .featured-slide{position:absolute;inset:0;height:auto;z-index:-1;overflow:hidden}.immersive-home .featured-image{height:100%;width:100%}.immersive-home .featured-shade{background:linear-gradient(0deg,rgba(6,26,41,.25),rgba(6,26,41,.08) 70%,rgba(6,26,41,.2))}
.immersive-home .featured-copy{position:absolute;top:150px;right:4%;padding:0;text-align:right;max-width:60%;margin:0}.immersive-home .featured-copy h2{font-size:26px;margin:6px 0 12px}.immersive-home .featured-copy h2 a{color:white}.immersive-home .featured-copy .button{padding:8px 14px;font-size:12px}
.featured-bottom{width:min(1180px,calc(100% - 60px));margin:120px auto 0}.featured-bottom h1{font-size:42px;line-height:1.15;color:#fff;margin:0 0 12px}.featured-bottom>p{font-size:22px;line-height:1.4;color:#fff;margin-bottom:28px}.featured-bottom .public-search{margin:0;background:#fffffff2;color:#173e52;padding:20px;border-radius:10px}
.immersive-home .featured-controls{top:45%;bottom:auto;right:20px;z-index:2}
@media(max-width:760px){.immersive-home .header{padding:14px 20px;gap:12px}.immersive-home .featured-home{min-height:100svh;padding:220px 0 22px}.immersive-home .featured-copy{top:145px;right:20px;max-width:85%}.immersive-home .featured-copy h2{font-size:22px}.immersive-home .featured-copy .button{display:none}.featured-bottom{width:calc(100% - 32px);margin-top:80px}.featured-bottom h1{font-size:28px}.featured-bottom>p{font-size:16px;margin-bottom:18px}.featured-bottom .public-search{padding:14px}.immersive-home .featured-controls{top:225px;right:16px}.immersive-home .featured-image{object-position:center}}

.immersive-home .header .logo img{filter:none}
.immersive-home .featured-bottom .public-search{background:rgba(12,48,70,.30);border:1px solid #ffffff25;border-radius:4px;box-shadow:none;padding:14px;gap:12px;color:white}
.immersive-home .featured-bottom .public-search label{color:#fff}.immersive-home .featured-bottom .public-search label small{color:#e0eaf0}
.immersive-home .featured-bottom .public-search input,.immersive-home .featured-bottom .public-search select{background:#fff;border-color:#fff;border-radius:3px;color:#254e67;height:48px}
.immersive-home .featured-bottom .public-search>.button{height:48px;border-radius:3px}
.immersive-home .featured-bottom .search-more{border-color:#ffffff35}.immersive-home .featured-bottom .search-more summary{color:white}
.immersive-home .featured-bottom [data-range-popup]{color:#254e67}.immersive-home .featured-bottom [data-range-popup] select{border:1px solid #ccdce5}

/* Extra filters overlay the hero without changing its height or crop. */
.immersive-home .featured-bottom .search-more{position:relative}
.immersive-home .featured-bottom .search-more[open] .search-more-fields,.immersive-home .featured-bottom .public-search>.child-age-panel{position:absolute;left:0;bottom:calc(100% + 12px);z-index:40;width:min(460px,100%);max-height:55svh;overflow:auto;padding:18px;background:#fff;border:1px solid #ccdae2;border-radius:8px;box-shadow:0 10px 28px #102f4930;color:#254e67;gap:16px}
.immersive-home .featured-bottom .search-more-fields label{color:#254e67}
.immersive-home .featured-bottom .search-more-fields select{border-color:#ccdce5;background:#f8fbfc}
.immersive-home .featured-bottom .search-more-fields .search-check input{height:17px;width:17px}

.immersive-home .featured-bottom .public-search [data-range-popup]{top:auto;bottom:calc(100% + 10px);margin-top:0;z-index:50;max-height:65svh;overflow:auto}

@media(min-width:1000px){
.immersive-home .featured-bottom .public-search>.search-more{width:auto;flex:0 0 auto;order:5;border:0;padding:0;align-self:flex-end}
.immersive-home .featured-bottom .public-search>.search-more summary{height:48px;display:flex;align-items:center;gap:8px;padding:0 14px;background:#ffffff18;border:1px solid #ffffff65;border-radius:3px;white-space:nowrap}
.immersive-home .featured-bottom .public-search>.search-more summary::after{content:none}
.immersive-home .featured-bottom .public-search>.search-more[open] summary::after{content:none}
.immersive-home .featured-bottom .public-search>.button{order:6}
.immersive-home .featured-bottom .public-search>.child-ages{order:7}
.immersive-home .featured-bottom .search-more[open] .search-more-fields,.immersive-home .featured-bottom .public-search>.child-age-panel{left:auto;right:0;width:380px;max-width:calc(100vw - 60px)}
.immersive-home .featured-bottom .public-search .date-range-fields{min-width:250px;gap:10px}
.immersive-home .featured-bottom .public-search>label{min-width:75px}
}

.immersive-home .featured-bottom .search-more[open] .search-more-fields,.immersive-home .featured-bottom .public-search>.child-age-panel{width:310px;padding:12px;gap:10px;border-radius:6px}
.immersive-home .featured-bottom .search-more-fields>label{flex:1 1 110px;min-width:0;font-size:12px}
.immersive-home .featured-bottom .search-more-fields select{height:34px;padding:5px 7px}
.immersive-home .featured-bottom .search-more-fields .search-check{gap:6px;font-size:12px}
@media(max-width:480px){.immersive-home .featured-bottom .search-more[open] .search-more-fields,.immersive-home .featured-bottom .public-search>.child-age-panel{width:100%;max-width:310px}}

.immersive-home .featured-home{z-index:2}
.immersive-home .featured-bottom .public-search{position:relative}
.immersive-home .featured-bottom .public-search>.search-more{position:static}
.immersive-home .featured-bottom .public-search>.search-more[open] .search-more-fields,.immersive-home .featured-bottom .public-search>.child-age-panel{left:var(--more-left,14px);right:auto;top:calc(100% + 8px);bottom:auto;width:var(--more-width,calc(100% - 28px));max-width:calc(100% - 28px);display:flex;align-items:end;flex-wrap:wrap;gap:12px;padding:12px;max-height:50svh}
.immersive-home .featured-bottom .search-more-fields>label{flex:0 0 auto}
.immersive-home .featured-bottom .search-more-fields>.child-ages{display:contents}
.immersive-home .featured-bottom .search-more-fields .child-ages label{flex:0 0 100px;min-width:90px}
.immersive-home .featured-bottom .search-more-fields .child-ages select{height:34px;font-size:12px}

/* Compact white filter strip, aligned with the primary search fields. */
.immersive-home .featured-bottom .public-search>.search-more[open] .search-more-fields,.immersive-home .featured-bottom .public-search>.child-age-panel{top:calc(100% + 5px);border-radius:0;padding:10px 4px;gap:0;align-items:center;background:#fff;border:1px solid #ddd;box-shadow:0 5px 14px #102f4920}
.immersive-home .featured-bottom .search-more-fields>label,.immersive-home .featured-bottom .search-more-fields .child-ages label{padding:0 14px;border-right:1px solid #d4d4d4;gap:0;line-height:1.3;min-height:36px;justify-content:center;flex:0 1 180px;font-size:0}
.immersive-home .featured-bottom .search-more-fields select{background:#fff;border:0;border-radius:0;height:36px;font-size:13px;padding:5px 20px 5px 0;box-shadow:none}
.immersive-home .featured-bottom .search-more-fields>.search-check{flex:0 0 auto;flex-direction:row;gap:8px;font-size:13px;color:#59636b;padding:0 16px}
.immersive-home .featured-bottom .search-more-fields .child-ages label{flex:0 1 125px;min-width:110px}

@media(max-width:700px){.immersive-home .featured-bottom .public-search>.search-more[open] .search-more-fields,.immersive-home .featured-bottom .public-search>.child-age-panel{row-gap:10px}.immersive-home .featured-bottom .search-more-fields>label{flex:1 1 145px}}

.immersive-home .featured-bottom .search-more-fields .child-ages label{flex-basis:155px;min-width:145px}

.immersive-home .featured-bottom .search-more-fields select,.immersive-home .featured-bottom .search-more-fields>.search-check{font-size:12px}
.immersive-home .featured-bottom .search-more-fields .child-ages select{font-size:11px}

/* Destination photos and search form use a compact hero. */
.immersive-home .featured-home.destination-home{min-height:65svh;padding:150px 0 28px}
.destination-home .featured-bottom{margin-top:0}
@media(max-width:760px){.immersive-home .featured-home.destination-home{min-height:65svh;padding:140px 0 20px}.destination-home .featured-bottom{margin-top:0}}

/* Keep the calendar below its fields on narrow screens so its top stays reachable. */
@media(max-width:700px){.immersive-home .featured-bottom .public-search [data-range-popup]{top:calc(100% + 8px);bottom:auto;margin-top:0;max-height:65svh;overflow:auto}}

/* Keep hero copy legible without obscuring photo colours. */
.immersive-home .featured-bottom>h1,.immersive-home .featured-bottom>p,.immersive-home .featured-copy h2,.immersive-home .featured-bottom .public-search>label,.immersive-home .featured-bottom .date-range-fields label{ text-shadow:0 1px 3px rgba(0,0,0,.65) }

.immersive-home .featured-bottom .public-search>.child-age-panel[hidden]{display:none}

/* Mobile child ages belong directly below the children field, in normal flow. */
@media(max-width:700px){
 .immersive-home .featured-bottom .public-search>.child-age-panel{position:static;inset:auto;order:0;flex:0 0 100%;box-sizing:border-box;width:100%;max-width:none;max-height:none;overflow:visible;padding:10px;background:#f0f6f9;border:1px solid #d6e3eb;border-radius:6px;box-shadow:none;text-shadow:none}
 .immersive-home .featured-bottom .child-age-panel>.child-ages{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%}
 .immersive-home .featured-bottom .child-age-panel .child-ages label{display:flex;min-width:0;min-height:0;padding:0;border:0;gap:4px;font-size:12px;color:#254e67;text-shadow:none}
 .immersive-home .featured-bottom .child-age-panel .child-ages select{width:100%;height:40px;padding:7px 24px 7px 9px;border:1px solid #cbdce6;border-radius:4px;font-size:12px;background-color:#fff}
}

@media(max-width:700px){.immersive-home .featured-bottom .search-more-fields select[name=bedrooms]{padding-inline-start:10px}.public-search select[name=bedrooms] option{padding-inline-start:10px}}

/* Bring the search into the initial mobile viewport without changing desktop. */
@media(max-width:760px){
.immersive-home .featured-home:not(.destination-home){min-height:0;justify-content:flex-start;padding:120px 0 20px}
.immersive-home .featured-home:not(.destination-home) .featured-copy{top:24px;right:20px;max-width:calc(100% - 40px)}
.immersive-home .featured-home:not(.destination-home) .featured-bottom{margin-top:0}
.immersive-home .featured-home:not(.destination-home) .featured-bottom>h1{margin-bottom:8px}
.immersive-home .featured-home:not(.destination-home) .featured-bottom>p{margin-top:0;margin-bottom:14px}
}
/* Keep the open date dialog above the header stacking context. */
.immersive-home .featured-home:has([data-range-popup]:not([hidden])){z-index:40}
