/* One compact guest control for the page form and the scrolling booking bar. */
.stay-search{--stay-control-height:34px;--stay-icon-size:20px;--stay-label-gap:4px}
.stay-search:not(.compact){grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(201px,.85fr) minmax(195px,1.3fr)}
.guest-field{display:flex;align-items:flex-end;gap:12px;min-width:0;padding:0 16px;border-right:1px solid var(--line)}
.guest-field>.icon{display:block;width:var(--stay-icon-size);height:var(--stay-icon-size);margin-bottom:calc((var(--stay-control-height) - var(--stay-icon-size))/2);color:var(--muted);flex:none}
.guest-field-content{min-width:0;width:100%}
.guest-label{display:block;font-size:.75rem;color:var(--muted);line-height:1.5;letter-spacing:.03em;margin-bottom:var(--stay-label-gap)}
.guest-stepper{display:grid;grid-template-columns:34px minmax(40px,1fr) 34px;align-items:center;gap:8px;max-width:148px}
.guest-stepper button{display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid #cdd4d9;border-radius:var(--radius-control);background:#fff;font-size:1.3rem;line-height:1;transition:background .15s,border-color .15s}
.guest-stepper .step-icon{display:block;width:18px;height:18px;pointer-events:none}
.guest-stepper button:hover:not(:disabled){background:#edf0f2;border-color:#74828c}
.guest-stepper button:disabled{opacity:.3;cursor:default}
.stay-search .guest-stepper input{min-width:0;width:100%;height:34px;min-height:34px;padding:0;text-align:center;font-size:1rem;font-weight:500;line-height:normal;background:transparent;border:1px solid transparent;border-radius:0;appearance:textfield;-moz-appearance:textfield;font-variant-numeric:tabular-nums}
.guest-stepper :is(input,button):focus-visible{outline:2px solid var(--ink);outline-offset:-2px}
.guest-stepper input::-webkit-inner-spin-button,.guest-stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.stay-search.compact>.guest-field{width:100%;border:1px solid #ccd1d5;background:white;padding:12px 14px}
.stay-search.compact .guest-field>.icon{display:none}
.stay-search.compact .guest-field-content{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px}
.stay-search.compact .guest-label{margin:0;font-size:.875rem}
.stay-search.compact .guest-stepper{width:148px;max-width:100%;flex:none;margin-left:auto}

/* Two surfaces share one header frame and logo; only their content crossfades. */
html{scrollbar-gutter:stable;scroll-padding-top:115px}
.booking-bar{display:none}
@media(min-width:1181px){
  .booking-bar{grid-column:2;grid-row:1;display:flex;align-items:center;min-width:0;width:100%;height:100%;background:transparent;border:0;opacity:0;visibility:hidden;transform:translateY(8px);pointer-events:none}
  .header-navigation{opacity:1;visibility:visible;transform:translateY(0)}
  .header-morph-ready .header-navigation,.header-morph-ready .booking-bar{transition:opacity .28s ease,transform .28s cubic-bezier(.2,.7,.2,1),visibility 0s linear .28s}
  .site-header:not(.is-booking) .header-navigation{transition-delay:0s}
  .site-header.is-booking .header-navigation{opacity:0;visibility:hidden;transform:translateY(-8px);pointer-events:none}
  .site-header.is-booking .booking-bar{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto;transition-delay:0s}
  .booking-bar .stay-search{width:100%;padding:0;margin:0;border:0;box-shadow:none;background:transparent;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 160px minmax(135px,.85fr);color:white}
  .booking-bar .stay-search>.calendar-date-field{padding-inline:16px;gap:10px;border-right-color:#ffffff2b}
  .booking-bar .stay-search>.calendar-date-field:first-of-type{padding-left:0}
  .booking-bar .stay-search>.calendar-date-field>.icon{color:#c8d2d9}
  .booking-bar .stay-search .calendar-date-field>span,.booking-bar .guest-label{color:#c8d2d9}
  .booking-bar .stay-search .date-trigger,.booking-bar .stay-search .date-trigger-value{color:white;font-size:.875rem}
  .booking-bar .stay-search .date-trigger{background:transparent}
  .booking-bar .guest-field{padding-inline:14px;border-right-color:#ffffff2b}
  .booking-bar .guest-field>.icon{display:none}
  .booking-bar .guest-stepper button{background:#ffffff08;border-color:#ffffff50;color:white}
  .booking-bar .guest-stepper button:hover:not(:disabled){background:#ffffff20;border-color:#ffffff90}
  .booking-bar .guest-stepper button:disabled{opacity:.35}
  .booking-bar .guest-stepper input{color:white}
  .booking-bar .stay-search>.button{min-height:48px;padding:12px 18px;margin-left:16px;font-size:.875rem;gap:14px;background:white;color:#313940}
  .booking-bar .stay-search>.button:hover{background:#edf1f4;color:#313940;filter:none}
  .booking-bar .stay-search>.form-error{color:#ffd3ce;padding:5px 0 0}
  .booking-bar :is(button,input,a):focus-visible{outline-color:white;outline-offset:3px}
  .booking-bar :is(.date-trigger,.guest-stepper input,.guest-stepper button):focus-visible{outline:2px solid white;outline-offset:-2px}
}
@media(min-width:761px) and (max-width:1100px){
  .guest-field{padding-inline:12px;gap:7px}
  .guest-field>.icon{display:none}
  .hero-booking .stay-search:not(.compact){grid-template-columns:minmax(0,1fr) minmax(0,1fr) 156px minmax(170px,1.2fr)}
}
@media(max-width:760px){
  .hero-booking .stay-search:not(.compact){grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
  .hero-booking .guest-field{grid-column:1/-1;padding:12px 10px;border:0;border-top:1px solid var(--line)}
  .hero-booking .guest-field-content{display:flex;align-items:center;justify-content:space-between;gap:16px}
  .hero-booking .guest-label{margin:0;font-size:.875rem}
  .hero-booking .guest-stepper{width:148px;flex:none}
  .hero-booking .stay-search>.button{grid-column:1/-1;width:100%;margin:0}
  .guest-field>.icon{display:none}
  html{scroll-padding-top:95px}
}
@media(max-width:390px){
  .hero-booking .guest-field{padding-inline:4px}
  .guest-stepper{gap:6px;grid-template-columns:32px minmax(36px,1fr) 32px}
  .guest-stepper button{width:32px;height:34px}
}
@media print{.booking-bar{display:none!important}}
@media(prefers-reduced-motion:reduce){.guest-stepper button,.header-morph-ready .header-navigation,.header-morph-ready .booking-bar{transition:none;transform:none}}
