/* 2026-10-26: Подписи полей сохраняют общую высоту строки, а длинные даты не выходят из карточек. */
.site-booking-dialog .site-booking-fields,
.site-booking-dialog .site-booking-fields > *,
.site-booking-dialog .site-booking-fields label,
.site-booking-dialog .site-booking-fields .guest-field-control {
  min-width: 0;
}
.site-booking-dialog .site-booking-fields > small { grid-column: 1 / -1; }
.site-booking-dialog .site-booking-fields input {
  box-sizing: border-box;
  max-width: 100%;
}
@media (min-width: 541px) {
  .site-booking-dialog .site-booking-fields label {
    display: grid;
    grid-template-rows: minmax(2.6em, auto) auto auto;
    align-content: start;
    align-items: start;
    gap: 6px;
    line-height: 1.3;
  }
  .site-booking-dialog .site-booking-fields label > :is(.guest-field-control, input) { grid-row: 2; }
  .site-booking-dialog .site-booking-fields .guest-email-offer { grid-row: 3; margin-top: 1px; }
}
.site-booking-dialog .site-booking-alternatives__date {
  box-sizing: border-box;
  flex: 0 0 156px;
  min-height: 108px;
  justify-content: flex-start;
  padding: 12px 10px 10px;
}
.site-booking-dialog .site-booking-alternatives__date > :not(.site-booking-alternatives__badge) {
  box-sizing: border-box;
  min-width: 0;
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
}
.site-booking-dialog .site-booking-alternatives__range { line-height: 1.35; }
.site-booking-dialog .site-booking-alternatives__price { margin-top: auto; padding-top: 3px; line-height: 1.3; }

/* 2026-10-26: У календаря с ценами список месяцев прокручивается в своей области и не заходит под нижнюю строку. */
.stay-search .stay-search__panel:not(.stay-search__panel--initial):not([hidden]) {
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  height: min(760px, calc(100dvh - 24px));
  max-height: calc(100dvh - 24px);
  overflow: hidden;
}
.stay-search__panel:not(.stay-search__panel--initial) > :not(.stay-search__calendar-layout) { flex: 0 0 auto; }
.stay-search__panel:not(.stay-search__panel--initial) .stay-search__calendar-layout {
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
}
.stay-search__panel:not(.stay-search__panel--initial) .stay-search__month-tabs {
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
}
.stay-search__panel:not(.stay-search__panel--initial) .stay-search__calendar-main {
  display: flex;
  flex-direction: column;
  min-height: 0;
  overflow: hidden;
}
.stay-search__panel:not(.stay-search__panel--initial) .stay-search__calendar-main > :not(.stay-search__months) { flex: 0 0 auto; }
.stay-search__panel:not(.stay-search__panel--initial) .stay-search__months {
  flex: 1 1 auto;
  min-height: 0;
  max-height: none;
  overflow-y: auto;
  overscroll-behavior: contain;
  scroll-padding-block: 8px;
  padding-bottom: 8px;
}
.stay-search__panel:not(.stay-search__panel--initial) .stay-search__panel-footer {
  position: static;
  margin-top: 10px;
  background: #fff;
}
.stay-search__panel-footer button[hidden] { display: none !important; }
@media (max-width: 650px) {
  .stay-search .stay-search__panel:not(.stay-search__panel--initial):not([hidden]) {
    height: 100dvh;
    max-height: 100dvh;
    padding-bottom: max(14px, env(safe-area-inset-bottom));
  }
  .stay-search__panel:not(.stay-search__panel--initial) .stay-search__month-tabs { flex: 0 0 auto; }
  .stay-search__panel:not(.stay-search__panel--initial) .stay-search__calendar-main { flex: 1 1 auto; }
}
@media (max-height: 520px) {
  .stay-search .stay-search__panel:not(.stay-search__panel--initial):not([hidden]) { overflow-y: auto; }
  .stay-search__panel:not(.stay-search__panel--initial) .stay-search__calendar-layout { flex: 0 0 auto; }
  .stay-search__panel:not(.stay-search__panel--initial) .stay-search__months { max-height: 45dvh; }
}
