/* Booking UI is scoped so room and restaurant forms retain their own styles. */
.stay-search{position:relative;z-index:5;background:var(--paper);color:var(--ink);padding:25px 30px 18px;border:1px solid rgba(196,154,108,.4);box-shadow:0 15px 45px #16212c18;scroll-margin-top:125px}
.hero>.stay-search{position:absolute;left:0;right:0;bottom:48px}
.stay-search-intro{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}
.stay-search .stay-search-intro .eyebrow{margin:0;color:var(--ink);font-size:10px;letter-spacing:.17em}
.stay-search-intro>span{font-size:11px;color:var(--muted)}
.stay-search-form{display:grid;grid-template-columns:minmax(140px,1fr) minmax(140px,1fr) minmax(220px,1.5fr) auto;align-items:center;gap:0}
.stay-date-field,.stay-guests-field{min-width:0;padding:0 24px;border-right:1px solid var(--line)}
.stay-date-field:first-child{padding-left:0}
.stay-guests-field{position:relative;border-right:0}
.stay-date-field>label,.stay-field-label{display:block;font:600 10px/1.5 var(--sans);letter-spacing:.09em;text-transform:uppercase;margin:0 0 5px;color:var(--muted)}
.stay-date-field>input{display:block;width:100%;min-width:0;max-width:100%;height:38px;border:0;padding:0;background:transparent;color:var(--ink);font:500 15px/1.3 var(--sans);color-scheme:light;cursor:pointer}
.stay-date-field>input::-webkit-calendar-picker-indicator{opacity:.6;cursor:pointer;padding:6px 0 6px 6px}
#stay-guests-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:38px;background:transparent;border:0;padding:0;text-align:left;font:500 14px/1.5 var(--sans)}
#stay-guests-toggle svg{width:17px;height:17px;flex-shrink:0}
#stay-guests-summary{overflow-wrap:anywhere}
.stay-search-form>.stay-search-link{margin:0;white-space:nowrap;gap:16px;min-height:60px;font-size:11px;padding:18px 23px}
.stay-search-link[aria-disabled=true]{opacity:.8}
.stay-search-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid var(--line);margin-top:18px;padding-top:12px;color:var(--muted);font-size:10px;line-height:1.5}
.stay-search-footer>a{display:inline-flex;align-items:center;gap:7px;min-height:28px}
.stay-search-footer svg.icon{width:14px;height:14px}
.stay-search-footer>a:hover{text-decoration:underline;text-underline-offset:3px}
.stay-guests-panel{position:fixed;inset:0;margin:auto;width:420px;max-width:calc(100vw - 32px);max-height:min(620px,calc(100svh - 32px));max-height:min(620px,calc(100dvh - 32px));overflow:auto;overscroll-behavior:contain;padding:24px;background:var(--paper);color:var(--ink);border:1px solid var(--line);box-shadow:0 18px 45px #14253529;z-index:80;text-align:left;text-shadow:none}
.stay-guests-panel::backdrop{background:#14212d6b;backdrop-filter:blur(2px)}
body.stay-guests-open{overflow:hidden}
.stay-panel-heading{display:flex;align-items:center;gap:10px;justify-content:space-between;margin-bottom:8px}
.stay-panel-heading h3{font-size:23px;line-height:1.25;margin:0}
.stay-close{display:grid;place-items:center;width:40px;height:40px;flex-shrink:0;border:0;background:transparent;padding:8px}
.stay-close:hover{background:#eae3d9}
.stay-room{position:relative;min-width:0;margin:12px 0 0;padding:16px 0 19px;border:0;border-bottom:1px solid var(--line)}
.stay-room>legend{padding:0;font:600 12px/1.5 var(--sans)}
.stay-remove-room{position:absolute;right:0;top:-22px;background:none;border:0;font-size:11px;padding:8px 0;min-height:36px;color:var(--muted);text-decoration:underline;text-underline-offset:3px}
.stay-room-counts,.stay-child-ages{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.stay-room label{display:flex;flex-direction:column;gap:6px;font:500 11px/1.5 var(--sans)}
.stay-room select{width:100%;min-height:44px;border:1px solid var(--line);border-radius:0;background:var(--white);color:var(--ink);padding:8px 10px;font:400 14px/1.3 var(--sans);cursor:pointer}
.stay-room .stay-ages-label{font-size:11px;margin:16px 0 10px;color:var(--muted)}
.stay-panel-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px}
.stay-add-room{background:none;border:0;border-bottom:1px solid var(--gold);padding:8px 0;min-height:44px;font:600 11px/1.4 var(--sans)}
.stay-panel-actions .btn{min-height:44px;padding:12px 18px;font-size:11px}
.stay-room-note{font-size:10px;line-height:1.65;color:var(--muted);margin:15px 0 0}
.stay-error{font-size:12px;color:#8c3028;background:#fff2ef;border-left:2px solid #8c3028;padding:10px 14px;margin:18px 0 0}
.stay-guests-panel .stay-error{font-size:12px;line-height:1.5;margin-top:14px;padding:10px 12px}
.stay-search [aria-invalid=true]{outline:2px solid #8c3028;outline-offset:3px}
@media(min-width:1101px){.hero .hero-content{padding-bottom:280px}}
@media(max-width:1100px){.stay-search{padding:22px}.stay-search-form{grid-template-columns:1fr 1fr 1.3fr}.stay-search-form>.stay-search-link{grid-column:1/-1;width:100%;margin-top:18px;min-height:48px}.stay-date-field,.stay-guests-field{padding-inline:17px}.stay-guests-field{padding-right:0}.hero .hero-content{padding-bottom:345px}.hero{min-height:810px}}
@media(max-width:650px){.stay-search{padding:20px}.hero>.stay-search{bottom:35px}.stay-search-intro{display:block;margin-bottom:17px}.stay-search-intro>span{display:none}.stay-search-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0}.stay-date-field{padding:0 12px}.stay-date-field:nth-child(2){border:0;padding-right:0}.stay-date-field>input{font-size:16px}.stay-guests-field{grid-column:1/-1;margin-top:14px;padding:14px 0 0;border-top:1px solid var(--line)}.stay-field-label{font-size:9px}.stay-search-form>.stay-search-link{margin-top:14px;min-height:48px}.stay-search-footer{margin-top:14px;padding-top:10px;font-size:9px;gap:7px;flex-wrap:wrap}.stay-search-footer>a{min-height:28px}.stay-guests-panel{padding:20px}.hero .hero-content{padding-bottom:400px}.hero{min-height:850px;max-height:none}.stay-panel-heading h3{font-size:21px}}
/* The homepage keeps the dates in the first screen, without a second introduction. */
.home-hero .stay-search{width:100%;margin:0;padding:16px 20px;box-shadow:0 10px 32px #16212c1c}
.home-hero .stay-search-intro,.home-hero .stay-search-footer{display:none}
.home-hero .stay-search-form{grid-template-columns:minmax(105px,1fr) minmax(105px,1fr) minmax(175px,1.4fr) auto}
.home-hero .stay-date-field,.home-hero .stay-guests-field{padding-inline:17px;margin-top:0;border-top:0;grid-column:auto}
.home-hero .stay-date-field:first-child{padding-left:0}
.home-hero .stay-search-form>.stay-search-link{grid-column:auto;width:auto;min-height:48px;margin:0;padding:14px 18px;font-size:11px;gap:10px}
.home-hero .stay-search a:focus-visible,.home-hero .stay-search button:focus-visible,.home-hero .stay-search input:focus-visible{outline-color:#8c6338}
@media(max-width:900px){
 .home-hero .stay-search{padding:13px 15px}
 .home-hero .stay-search-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .home-hero .stay-date-field{padding:0 12px}
 .home-hero .stay-date-field:nth-child(2){border-right:0;padding-right:0}
 .home-hero .stay-date-field>label,.home-hero .stay-field-label{font-size:9px;margin-bottom:2px}
 .home-hero .stay-date-field>input{height:36px;font-size:16px}
 .home-hero .stay-guests-field{grid-column:auto;padding:10px 12px 0 0;margin-top:9px;border-top:1px solid var(--line)}
 .home-hero #stay-guests-toggle{font-size:12px;min-height:36px;gap:6px}
 .home-hero #stay-guests-toggle svg{width:14px;height:14px}
 .home-hero .stay-search-form>.stay-search-link{grid-column:auto;min-width:0;min-height:48px;margin:9px 0 0;padding:10px 11px;font-size:10px;gap:7px;white-space:normal;align-self:end;text-align:center}
 .home-hero .stay-search-link svg{width:16px;height:16px}
 .home-hero .stay-error{margin-top:10px;font-size:11px;padding:8px 10px}
}
/* Keep the native date picker and full year readable on the narrowest screens. */
@media(max-width:360px){
 .stay-search .stay-date-field,.home-hero .stay-date-field{grid-column:1/-1;display:grid;grid-template-columns:70px minmax(0,1fr);align-items:center;gap:8px;padding:3px 0;border:0;border-bottom:1px solid var(--line)}
 .stay-search .stay-date-field>label{margin:0;font-size:9px}
 .stay-search .stay-date-field>input{font-size:16px;min-height:38px;height:38px}
 .home-hero .stay-guests-field{border-top:0}
}
