
.page-home.has-search-island { padding-bottom: 110px; }
.has-search-island [data-search-island] { position: fixed; left: 50%; bottom: max(22px,env(safe-area-inset-bottom)); transform: translateX(-50%); z-index: 950; width: min(430px,calc(100% - 32px)); padding: 0; border: 1px solid #ffffff30; border-radius: 40px; background: #173b30; color: white; box-shadow: 0 16px 50px #10291f40; transition: width .25s ease,border-radius .25s ease; }
.has-search-island [data-search-island].is-open { width: min(960px,calc(100% - 32px)); border-radius: 26px; }
.has-search-island [data-search-island] > .container { width: 100%; padding: 0; max-width: none; }
.search-island-toggle { display: flex; align-items: center; gap: 14px; width: 100%; padding: 16px 22px; border: 0; border-radius: inherit; background: transparent; color: white; font: inherit; text-align: left; cursor: pointer; }
.search-island-toggle strong { display: block; font-size: 15px; }
[data-island-summary] { display: block; font-size: 12px; color: #d2dfd5; margin-top: 3px; }
.search-island-icon { font-size: 30px; color: #e4c991; }
.search-island-action { margin-left: auto; padding: 9px 14px; border-radius: 24px; background: #e4c991; color: #173b30; font-size: 13px; font-weight: 600; }
.has-search-island #search-island-panel { padding: 8px 24px 18px; max-height: min(65dvh,550px); overflow-y: auto; }
.has-search-island #search-island-panel[hidden] { display: none; }
.has-search-island .booking-field label { color: #edf3ee; }
.has-search-island .booking-guidance { color: #d2dfd5; }
.has-search-island #booking-form-message { color: #ffe1a5; }
.search-island-toggle:focus-visible { outline: 3px solid #e4c991; outline-offset: 4px; }
@media(max-width:768px) { .has-search-island [data-search-island] { bottom: max(12px,env(safe-area-inset-bottom)); } .search-island-toggle { padding: 14px 18px; } .has-search-island #search-island-panel { padding: 4px 18px 16px; } }
@media(prefers-reduced-motion:reduce) { .has-search-island [data-search-island] { transition: none; } }

/* Keep the search directly below the hero actions. */
.page-home.has-search-island { padding-bottom: 0; }
.has-search-island .hero [data-search-island] { position: relative; left: auto; bottom: auto; transform: none; width: min(430px,100%); margin-top: 28px; z-index: 5; }
.has-search-island .hero [data-search-island].is-open { width: 100%; }
.hero [data-search-island] .booking-form { grid-template-columns: repeat(2,minmax(0,1fr)); }
.hero [data-search-island] .booking-form .btn { grid-column: 1 / -1; }
.has-search-island .hero #search-island-panel { max-height: none; overflow: visible; }
@media(prefers-reduced-motion:reduce) { .hero__hexagons > * { animation: none; } }

.page-home .hero__content { padding-bottom: 0; }
.has-search-island .hero [data-search-island] { margin: 28px auto 5rem; }
.has-search-island .hero [data-search-island].is-open { width: min(680px,100%); }

.has-search-island .hero [data-search-island].is-open { width: 100%; }
@media(min-width:900px) { .hero [data-search-island] .booking-form { grid-template-columns: 1.35fr 1.35fr .8fr .8fr auto; } .hero [data-search-island] .booking-form .btn { grid-column: auto; } }
