/* LOST — модальное окно бронирования. Legacy-классы/ID для booking.js сохранены. */

/* ── Overlay ── */
body.lost-home-page .lost-booking .form_of_booking.lost-booking-modal--open,
body.lost-quest-detail-page .form_of_booking.active,
body.lost-quests-section .form_of_booking.active,
body.lost-quest-detail-page .form_of_booking.lost-booking-modal--open,
body.lost-quests-section .form_of_booking.lost-booking-modal--open {
  position: fixed !important;
  inset: 0 !important;
  z-index: var(--lost-z-modal) !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  padding: var(--lost-container-pad);
  box-sizing: border-box;
  background: var(--lost-bg-overlay) !important;
  overflow-y: auto;
  font-family: var(--lost-font-family);
}

/* Деталка: бронирование только внутри lost-home-booking-modal (как на главной) */
body.lost-quest-detail-page .lost-home-booking-modal .form_of_booking.active,
body.lost-quests-section .lost-home-booking-modal .form_of_booking.active,
body.lost-quest-detail-page .lost-home-booking-modal .form_of_booking.lost-booking-modal--open,
body.lost-quests-section .lost-home-booking-modal .form_of_booking.lost-booking-modal--open {
  position: static !important;
  inset: auto !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-width: none !important;
  z-index: auto !important;
  display: flex !important;
  flex-direction: column;
  overflow: hidden;
  padding: 16px 16px 0 !important;
  box-sizing: border-box;
  background: transparent !important;
  border-radius: 0;
}

body.lost-quest-detail-page .lost-home-booking-modal .form_of_booking.active > form,
body.lost-quests-section .lost-home-booking-modal .form_of_booking.active > form,
body.lost-quest-detail-page .lost-home-booking-modal .form_of_booking.lost-booking-modal--open > form,
body.lost-quests-section .lost-home-booking-modal .form_of_booking.lost-booking-modal--open > form,
body.lost-quest-detail-page .lost-home-booking-modal .form_of_booking.active #booking_ajax_form_home,
body.lost-quests-section .lost-home-booking-modal .form_of_booking.active #booking_ajax_form_home,
body.lost-quest-detail-page .lost-home-booking-modal .form_of_booking.lost-booking-modal--open #booking_ajax_form_home,
body.lost-quests-section .lost-home-booking-modal .form_of_booking.lost-booking-modal--open #booking_ajax_form_home {
  position: static !important;
  flex: 1 1 auto;
  min-height: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-height: 100% !important;
  overflow: hidden !important;
  margin: 0;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  display: flex !important;
  flex-direction: column;
}

/* ── Панель (AJAX грузит #req_block > form) ── */
body.lost-home-page .lost-booking .form_of_booking.lost-booking-modal--open #req_block,
body.lost-quest-detail-page .form_of_booking.active > form,
body.lost-quests-section .form_of_booking.active > form,
body.lost-quest-detail-page .form_of_booking.lost-booking-modal--open > form,
body.lost-quests-section .form_of_booking.lost-booking-modal--open > form {
  position: relative;
  width: min(480px, 100%);
  max-height: min(90vh, 760px);
  overflow-y: auto;
  background: var(--lost-bg-card) !important;
  border: 1px solid var(--lost-border-subtle);
  border-radius: var(--lost-radius-xl);
  box-shadow: var(--lost-shadow-card);
  padding: var(--lost-space-5);
  box-sizing: border-box;
}

body.lost-home-page .lost-booking .form_of_booking.lost-booking-modal--open #booking_ajax_form_home,
body.lost-quest-detail-page .form_of_booking.active #booking_ajax_form,
body.lost-quests-section .form_of_booking.active #booking_ajax_form,
body.lost-quest-detail-page .form_of_booking.lost-booking-modal--open #booking_ajax_form,
body.lost-quests-section .form_of_booking.lost-booking-modal--open #booking_ajax_form {
  display: block;
  position: static;
  width: 100%;
}

/* Скрыть фоновое изображение */
body.lost-home-page .form_of_booking .background-image_booking_form,
body.lost-quest-detail-page .form_of_booking .background-image_booking_form,
body.lost-quests-section .form_of_booking .background-image_booking_form {
  display: none !important;
}

/* ── Шапка ── */
body.lost-home-page .form_of_booking .name_block,
body.lost-quest-detail-page .form_of_booking .name_block,
body.lost-quests-section .form_of_booking .name_block {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--lost-space-3);
  margin-bottom: var(--lost-space-4);
}

body.lost-home-page .form_of_booking .name_block .str_block,
body.lost-quest-detail-page .form_of_booking .name_block .str_block,
body.lost-quests-section .form_of_booking .name_block .str_block {
  flex: 1;
  min-width: 0;
}

body.lost-home-page .form_of_booking .lost-booking-form__label,
body.lost-quest-detail-page .form_of_booking .lost-booking-form__label,
body.lost-quests-section .form_of_booking .lost-booking-form__label {
  display: block;
  margin-bottom: var(--lost-space-1);
  font-size: var(--lost-fs-caption);
  color: var(--lost-text-muted);
}

body.lost-home-page .form_of_booking .quest_name_of_booking,
body.lost-quest-detail-page .form_of_booking .quest_name_of_booking,
body.lost-quests-section .form_of_booking .quest_name_of_booking {
  margin: 0;
  font-size: var(--lost-fs-h3);
  font-weight: var(--lost-fw-bold);
  line-height: var(--lost-lh-tight);
  color: var(--lost-text-primary);
}

body.lost-home-page .form_of_booking .date_of_booking,
body.lost-quest-detail-page .form_of_booking .date_of_booking,
body.lost-quests-section .form_of_booking .date_of_booking {
  display: none;
}

body.lost-home-page .form_of_booking .name_block > .close_booking,
body.lost-quest-detail-page .form_of_booking .name_block > .close_booking,
body.lost-quests-section .form_of_booking .name_block > .close_booking {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: var(--lost-radius-sm);
  cursor: pointer;
  transition: background-color var(--lost-transition);
}
body.lost-home-page .form_of_booking .name_block > .close_booking:hover,
body.lost-quest-detail-page .form_of_booking .name_block > .close_booking:hover,
body.lost-quests-section .form_of_booking .name_block > .close_booking:hover {
  background: var(--lost-bg-input);
}

/* ── Карточки цена / дата ── */
body.lost-home-page .form_of_booking .lost-booking-form__summary,
body.lost-quest-detail-page .form_of_booking .lost-booking-form__summary,
body.lost-quests-section .form_of_booking .lost-booking-form__summary {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--lost-space-3);
  margin-bottom: var(--lost-space-5);
}

body.lost-home-page .form_of_booking .lost-booking-form__card,
body.lost-quest-detail-page .form_of_booking .lost-booking-form__card,
body.lost-quests-section .form_of_booking .lost-booking-form__card {
  background: var(--lost-bg-card-soft);
  border: 1px solid var(--lost-border-subtle);
  border-radius: var(--lost-radius-md);
  padding: var(--lost-space-3) var(--lost-space-4);
  min-width: 0;
}

body.lost-home-page .form_of_booking .lost-booking-form__card-label,
body.lost-quest-detail-page .form_of_booking .lost-booking-form__card-label,
body.lost-quests-section .form_of_booking .lost-booking-form__card-label {
  display: block;
  margin-bottom: var(--lost-space-2);
  font-size: var(--lost-fs-caption);
  line-height: 1.3;
  color: var(--lost-text-muted);
}

body.lost-home-page .form_of_booking .lost-booking-form__card-value,
body.lost-quest-detail-page .form_of_booking .lost-booking-form__card-value,
body.lost-quests-section .form_of_booking .lost-booking-form__card-value {
  font-size: var(--lost-fs-h3);
  font-weight: var(--lost-fw-bold);
  color: var(--lost-text-primary);
  line-height: 1.2;
}

body.lost-home-page .form_of_booking .lost-booking-form__card-sub,
body.lost-quest-detail-page .form_of_booking .lost-booking-form__card-sub,
body.lost-quests-section .form_of_booking .lost-booking-form__card-sub {
  margin-top: var(--lost-space-1);
  font-size: var(--lost-fs-caption);
  color: var(--lost-text-secondary);
}

body.lost-home-page .form_of_booking .lost-booking-form__datetime,
body.lost-quest-detail-page .form_of_booking .lost-booking-form__datetime,
body.lost-quests-section .form_of_booking .lost-booking-form__datetime {
  display: flex;
  flex-direction: column;
  gap: 2px;
  font-size: var(--lost-fs-body);
  font-weight: var(--lost-fw-semibold);
  color: var(--lost-text-primary);
  line-height: 1.3;
}

/* ── Тело формы ── */
body.lost-home-page .form_of_booking .form_area,
body.lost-quest-detail-page .form_of_booking .form_area,
body.lost-quests-section .form_of_booking .form_area {
  background: transparent !important;
  padding: 0 !important;
  position: static !important;
}

body.lost-home-page .form_of_booking .fotm_wrap,
body.lost-quest-detail-page .form_of_booking .fotm_wrap,
body.lost-quests-section .form_of_booking .fotm_wrap {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--lost-space-3);
  margin-bottom: var(--lost-space-4);
}

body.lost-home-page .form_of_booking .fotm_wrap[style*='column'],
body.lost-quest-detail-page .form_of_booking .fotm_wrap[style*='column'],
body.lost-quests-section .form_of_booking .fotm_wrap[style*='column'] {
  flex-direction: column !important;
  align-items: stretch;
}

body.lost-home-page .form_of_booking .label_of_form,
body.lost-quest-detail-page .form_of_booking .label_of_form,
body.lost-quests-section .form_of_booking .label_of_form {
  font-size: var(--lost-fs-small);
  font-weight: var(--lost-fw-medium);
  color: var(--lost-text-secondary);
}

body.lost-home-page .form_of_booking .inputs_wrap,
body.lost-quest-detail-page .form_of_booking .inputs_wrap,
body.lost-quests-section .form_of_booking .inputs_wrap {
  width: 100%;
}

body.lost-home-page .form_of_booking .inputs_wrap .fotm_wrap_inputs_wrap,
body.lost-quest-detail-page .form_of_booking .inputs_wrap .fotm_wrap_inputs_wrap,
body.lost-quests-section .form_of_booking .inputs_wrap .fotm_wrap_inputs_wrap {
  margin-bottom: var(--lost-space-3);
}

body.lost-home-page .form_of_booking .inputs_wrap input,
body.lost-quest-detail-page .form_of_booking .inputs_wrap input,
body.lost-quests-section .form_of_booking .inputs_wrap input {
  display: block;
  width: 100%;
  box-sizing: border-box;
  padding: 12px 14px;
  background: var(--lost-bg-input);
  border: 1px solid var(--lost-border-subtle);
  border-radius: var(--lost-radius-sm);
  font-family: var(--lost-font-family);
  font-size: var(--lost-fs-body);
  color: var(--lost-text-primary);
}

body.lost-home-page .form_of_booking .inputs_wrap input:focus,
body.lost-quest-detail-page .form_of_booking .inputs_wrap input:focus,
body.lost-quests-section .form_of_booking .inputs_wrap input:focus {
  outline: none;
  border-color: var(--lost-accent-purple);
}

/* ── Итого + кнопки ── */
body.lost-home-page .form_of_booking .fotm_wrap.btn_wrap,
body.lost-quest-detail-page .form_of_booking .fotm_wrap.btn_wrap,
body.lost-quests-section .form_of_booking .fotm_wrap.btn_wrap {
  flex-direction: column;
  align-items: stretch;
  gap: var(--lost-space-4);
  margin-top: var(--lost-space-4);
  padding-top: var(--lost-space-4);
  border-top: 1px dashed var(--lost-divider);
}

body.lost-home-page .form_of_booking .fotm_wrap.btn_wrap .summ_wrap,
body.lost-quest-detail-page .form_of_booking .fotm_wrap.btn_wrap .summ_wrap,
body.lost-quests-section .form_of_booking .fotm_wrap.btn_wrap .summ_wrap {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  width: 100%;
  margin-right: 0 !important;
}

body.lost-home-page .form_of_booking .summ_wrap .summ_desk,
body.lost-quest-detail-page .form_of_booking .summ_wrap .summ_desk,
body.lost-quests-section .form_of_booking .summ_wrap .summ_desk {
  font-size: var(--lost-fs-body);
  font-weight: var(--lost-fw-semibold);
  color: var(--lost-text-primary);
}

body.lost-home-page .form_of_booking .summ_wrap .summ_price,
body.lost-quest-detail-page .form_of_booking .summ_wrap .summ_price,
body.lost-quests-section .form_of_booking .summ_wrap .summ_price {
  font-size: var(--lost-fs-h3);
  font-weight: var(--lost-fw-bold);
  color: var(--lost-text-primary);
}

body.lost-home-page .form_of_booking .btn_wrap_book,
body.lost-quest-detail-page .form_of_booking .btn_wrap_book,
body.lost-quests-section .form_of_booking .btn_wrap_book {
  display: grid !important;
  grid-template-columns: 1fr 1.5fr;
  gap: var(--lost-space-3);
  width: 100% !important;
  margin-left: 0 !important;
  position: relative !important;
}

body.lost-home-page .form_of_booking .lost-booking-form__cancel,
body.lost-quest-detail-page .form_of_booking .lost-booking-form__cancel,
body.lost-quests-section .form_of_booking .lost-booking-form__cancel {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 var(--lost-space-4);
  border: 1px solid var(--lost-border-subtle);
  border-radius: var(--lost-radius-sm);
  background: transparent;
  font-family: var(--lost-font-family);
  font-size: var(--lost-fs-body);
  font-weight: var(--lost-fw-medium);
  color: var(--lost-text-secondary);
  cursor: pointer;
}

body.lost-home-page .form_of_booking .btn_of_bookink,
body.lost-quest-detail-page .form_of_booking .btn_of_bookink,
body.lost-quests-section .form_of_booking .btn_of_bookink {
  min-height: 44px;
  width: 100%;
  border-radius: var(--lost-radius-sm) !important;
}

@media (max-width: 480px) {
  body.lost-home-page .form_of_booking .lost-booking-form__summary,
  body.lost-quest-detail-page .form_of_booking .lost-booking-form__summary {
    grid-template-columns: 1fr;
  }
}

.lost-booking-form__error {
  margin: 0;
  padding: var(--lost-space-4);
  text-align: center;
  color: var(--lost-text-primary);
  font-family: var(--lost-font-family);
}

body.lost-home-page .form_of_booking .comment,
body.lost-quest-detail-page .form_of_booking .comment,
body.lost-quests-section .form_of_booking .comment {
  margin-bottom: var(--lost-space-4);
  padding: var(--lost-space-3) var(--lost-space-4);
  border-radius: var(--lost-radius-md);
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid var(--lost-border-subtle);
  font-size: var(--lost-fs-caption);
  line-height: var(--lost-lh-normal);
  color: var(--lost-text-secondary);
}

/* Home quest booking popup: schedule first, form after choosing a slot. */
.lost-home-booking-modal { display: none; }
.lost-home-booking-modal.is-open {
  position: fixed;
  inset: 0;
  z-index: var(--lost-z-modal);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(8px, 2vw, 20px);
  box-sizing: border-box;
}
.lost-home-booking-modal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(7, 4, 9, 0.78);
  backdrop-filter: blur(12px);
}
.lost-home-booking-modal__panel {
  position: relative;
  z-index: 1;
  width: min(680px, 100%);
  min-height: 0;
  max-height: min(96vh, 760px);
  overflow: auto;
  background: linear-gradient(180deg, rgba(29, 20, 35, 0.98), rgba(16, 10, 20, 0.98));
  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: 24px;
  box-shadow: 0 32px 110px rgba(0, 0, 0, 0.62);
  box-sizing: border-box;
}
.lost-home-booking-modal__content { padding: 14px 16px 16px; }
.lost-home-booking-modal__content:not(.is-form-step) {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 0;
}
.lost-home-booking-modal__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 18px;
}
.lost-home-booking-modal__quest {
  display: flex;
  align-items: center;
  gap: 16px;
  min-width: 0;
}
.lost-home-booking-modal__thumb {
  flex: 0 0 78px;
  width: 78px;
  height: 58px;
  background-position: center;
  background-size: cover;
  border-radius: 14px;
  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.3);
}
.lost-home-booking-modal__eyebrow {
  margin-bottom: 5px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.48);
}
.lost-home-booking-modal__title {
  margin: 0;
  color: #fff;
  font-size: clamp(24px, 3vw, 34px);
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: -0.05em;
}
.lost-home-booking-modal__close {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border: 0;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.07);
  color: #fff;
  cursor: pointer;
  transition: background-color var(--lost-transition), transform var(--lost-transition);
}
.lost-home-booking-modal__close:hover {
  background: rgba(255, 255, 255, 0.13);
  transform: translateY(-1px);
}
.lost-home-booking-modal__state {
  min-height: 260px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
  padding: 34px;
  color: rgba(255, 255, 255, 0.72);
  text-align: center;
}

/* Экран успешной брони — вместо едва заметного текста в форме */
.lost-home-booking-modal.is-success .lost-home-booking-modal__panel {
  width: min(440px, 100%);
  max-height: none;
  overflow: visible;
}
.lost-booking-success {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: clamp(36px, 5vw, 48px) clamp(22px, 4vw, 36px) clamp(28px, 4vw, 36px);
  animation: lostBookingSuccessIn 0.28s ease both;
}
.lost-booking-success > .lost-home-booking-modal__close {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 2;
  margin: 0;
}
.lost-booking-success__icon {
  width: 72px;
  height: 72px;
  margin: 0 0 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: #fff;
  background: linear-gradient(160deg, #e23a4b 0%, #b91f30 100%);
  box-shadow: 0 14px 36px rgba(209, 43, 60, 0.38);
}
.lost-booking-success__title {
  margin: 0 0 10px;
  color: #fff;
  font-size: clamp(24px, 3vw, 30px);
  font-weight: 750;
  letter-spacing: -0.03em;
  line-height: 1.15;
}
.lost-booking-success__text {
  margin: 0 0 14px;
  max-width: 28rem;
  color: rgba(255, 255, 255, 0.78);
  font-size: 16px;
  line-height: 1.5;
}
.lost-booking-success__meta {
  margin: 0 0 6px;
  color: rgba(255, 255, 255, 0.92);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.4;
}
.lost-booking-success__total {
  margin: 0 0 22px;
  color: rgba(255, 255, 255, 0.62);
  font-size: 14px;
}
.lost-booking-success__total strong {
  color: #fff;
  font-weight: 700;
}
.lost-booking-success__btn {
  min-width: 160px;
  padding: 12px 28px;
}
@keyframes lostBookingSuccessIn {
  from { opacity: 0; transform: translateY(10px) scale(0.98); }
  to { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  .lost-booking-success { animation: none; }
}
.lost-home-booking-modal__state--skeleton {
  position: relative;
  align-items: stretch;
  justify-content: flex-start;
  min-height: min(520px, calc(100vh - 120px));
  padding: clamp(22px, 3vw, 30px);
  border-radius: 24px;
  overflow: hidden;
  text-align: left;
  background: linear-gradient(180deg, rgba(30, 21, 36, 0.96), rgba(16, 10, 20, 0.98));
}
.lost-home-booking-modal__state--skeleton::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.18) 50%, transparent 100%);
  transform: translateX(-100%);
  animation: lostBookingShimmer 1.3s infinite;
}
.lost-home-booking-modal__state--skeleton > * {
  position: relative;
  z-index: 2;
}
.lost-home-booking-modal__skeleton-head {
  display: grid;
  grid-template-columns: 78px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  margin-bottom: 18px;
}
.lost-home-booking-modal__skeleton-thumb {
  width: 78px;
  height: 58px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.1);
}
.lost-home-booking-modal__skeleton-titles {
  display: grid;
  gap: 8px;
}
.lost-home-booking-modal__skeleton-line {
  display: block;
  height: 12px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.1);
}
.lost-home-booking-modal__skeleton-line--sm { width: 120px; }
.lost-home-booking-modal__skeleton-line--lg { width: min(320px, 84%); height: 20px; }
.lost-home-booking-modal__skeleton-date {
  width: min(380px, 100%);
  height: 52px;
  border-radius: 14px;
  margin: 0 auto 18px;
  background: rgba(255, 255, 255, 0.1);
}
.lost-home-booking-modal__skeleton-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(104px, 1fr));
  gap: 12px;
}
.lost-home-booking-modal__skeleton-grid > span {
  min-height: 72px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.1);
}
.lost-home-booking-modal__skeleton-hint {
  margin-top: auto;
  padding-top: 16px;
  color: rgba(255, 255, 255, 0.58);
  font-size: 13px;
  text-align: center;
}
.lost-home-booking-modal__spinner {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  border: 3px solid rgba(255, 255, 255, 0.12);
  border-top-color: var(--lost-accent-purple-hover);
  animation: lostSpin 0.8s linear infinite;
}
@keyframes lostSpin { to { transform: rotate(360deg); } }
@keyframes lostBookingShimmer { to { transform: translateX(100%); } }
.lost-home-booking-modal__booking .booking_table_card {
  position: relative;
  flex: 1;
  min-height: 360px;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  display: block !important;
}
.lost-home-booking-modal__booking .booking_wrap_times { display: block !important; }
.lost-home-booking-modal__booking .booking { margin: 0 0 22px !important; }
/* Legacy template: .booking_wrap { display:none } — без этого расписание в модалке пустое. */
.lost-home-booking-modal__booking:not(.is-form-step) {
  display: block !important;
  width: 100%;
  max-width: 600px;
  margin: 0 auto;
}
.lost-home-booking-modal__booking .booking {
  position: relative;
  z-index: 3;
}
.lost-home-booking-modal__booking .booking_wrap_times {
  position: relative;
  z-index: 1;
  border: 0 !important;
}
.lost-home-booking-modal__booking .str {
  display: block;
  border-bottom: 0 !important;
  padding-bottom: 0 !important;
  margin-bottom: 12px !important;
}
.lost-home-booking-modal__booking .str:last-child {
  margin-bottom: 0 !important;
}
.lost-home-booking-modal__booking .booking_wrap_times .line,
.lost-home-booking-modal__booking .booking_wrap_times hr {
  display: none !important;
}
.lost-home-booking-modal__booking .date_carousel {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  max-width: none;
  margin: 0;
}
.lost-home-booking-modal__booking .date_carousel.dev3 {
  min-width: min(380px, 100%);
  position: relative;
}
.lost-home-booking-modal__booking .date_carousel select { display: none !important; }
.lost-home-booking-modal__booking .more_date { display: none !important; }

/* Кастомный datepicker в popup бронирования */
.lost-datepicker {
  position: relative;
  width: min(380px, 100%);
}
.lost-datepicker__trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  min-height: 52px;
  padding: 0 16px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(42, 34, 51, 0.98), rgba(31, 24, 39, 0.98));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05), 0 10px 26px rgba(0, 0, 0, 0.18);
  color: #fff;
  font: 600 15px/1.2 var(--lost-font-family, Inter, sans-serif);
  cursor: pointer;
  transition: border-color var(--lost-transition), transform var(--lost-transition);
}
.lost-datepicker__trigger:hover,
.lost-datepicker.is-open .lost-datepicker__trigger {
  border-color: rgba(122, 51, 128, 0.95);
}
.lost-datepicker__trigger-icon {
  flex-shrink: 0;
  opacity: 0.72;
  transition: transform var(--lost-transition);
}
.lost-datepicker.is-open .lost-datepicker__trigger-icon {
  transform: rotate(180deg);
}
.lost-datepicker__popover {
  display: none;
  position: absolute;
  top: calc(100% + 10px);
  left: 0;
  right: 0;
  z-index: 20;
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  padding: 16px;
  border-radius: 18px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: linear-gradient(180deg, rgba(36, 26, 43, 0.98), rgba(20, 14, 24, 0.98));
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.45);
}
.lost-datepicker__popover.lost-datepicker__popover--floating {
  position: fixed;
  right: auto;
  z-index: calc(var(--lost-z-modal, 300) + 8);
  width: auto;
  max-width: calc(100vw - 24px);
}
.lost-datepicker.is-open .lost-datepicker__popover {
  display: block;
}
.lost-datepicker__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 12px;
}
.lost-datepicker__month {
  flex: 1;
  text-align: center;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: #fff;
}
.lost-datepicker__nav {
  appearance: none;
  border: 0;
  width: 34px;
  height: 34px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.07);
  color: #fff;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  transition: background-color var(--lost-transition);
}
.lost-datepicker__nav:hover {
  background: rgba(209, 43, 60, 0.55);
}
.lost-datepicker__weekdays,
.lost-datepicker__grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 6px;
}
.lost-datepicker__weekdays {
  margin-bottom: 8px;
}
.lost-datepicker__weekdays span {
  text-align: center;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.42);
}
.lost-datepicker__day {
  appearance: none;
  border: 0;
  min-height: 34px;
  padding: 0;
  border-radius: 10px;
  background: transparent;
  color: rgba(255, 255, 255, 0.88);
  font: 600 14px/1 var(--lost-font-family, Inter, sans-serif);
  cursor: pointer;
  transition: background-color var(--lost-transition), color var(--lost-transition), transform var(--lost-transition);
}
.lost-datepicker__day.is-empty {
  pointer-events: none;
}
.lost-datepicker__day.is-disabled {
  opacity: 0.28;
  cursor: default;
}
.lost-datepicker__day:not(.is-disabled):not(.is-empty):hover {
  background: rgba(209, 43, 60, 0.42);
  transform: translateY(-1px);
}
.lost-datepicker__day.is-selected {
  background: linear-gradient(180deg, #e23a4b, #d12b3c);
  color: #fff;
  box-shadow: 0 8px 18px rgba(209, 43, 60, 0.35);
}
.lost-datepicker__day.is-today:not(.is-selected) {
  box-shadow: inset 0 0 0 1px rgba(122, 51, 128, 0.75);
}

.lost-home-booking-modal__booking .times_row,
.lost-home-booking-modal__booking .times_row.flex_box {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.lost-home-booking-modal__booking .time {
  min-height: 72px;
  padding: 12px 10px;
  border-radius: 16px;
  text-align: center;
  border: 1px solid rgba(255, 255, 255, 0.09);
  box-sizing: border-box;
}
.lost-home-booking-modal__booking .time.active-book {
  opacity: 0.28;
  background: rgba(255, 255, 255, 0.035);
  pointer-events: none;
}
.lost-home-booking-modal__booking .time.no-book {
  cursor: pointer;
  background: linear-gradient(180deg, rgba(42, 34, 51, 0.98), rgba(31, 24, 39, 0.98));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05), 0 10px 26px rgba(0, 0, 0, 0.2);
  transition: transform var(--lost-transition), border-color var(--lost-transition), background var(--lost-transition);
}
.lost-home-booking-modal__booking .time.no-book:hover {
  transform: translateY(-2px);
  border-color: rgba(122, 51, 128, 0.95);
  background: linear-gradient(180deg, rgba(209, 43, 60, 0.78), rgba(62, 29, 72, 0.95));
}
.lost-home-booking-modal__booking .time_value {
  display: block;
  color: #fff;
  font-size: 18px;
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -0.02em;
}
.lost-home-booking-modal__booking .time > div:last-child {
  margin-top: 8px;
  color: rgba(255, 255, 255, 0.6);
  font-size: 12px;
  font-weight: 600;
}
.lost-home-booking-modal__booking .parce_price { color: rgba(255, 255, 255, 0.75); }
.lost-home-booking-modal .form_of_booking:not(.lost-booking-modal--open) { display: none; }

/* ── Popup: шаг формы бронирования (перебиваем legacy template_styles) ── */
.lost-home-booking-modal__panel.is-form-step {
  width: min(440px, 100%);
  height: auto;
  max-height: min(86vh, 680px);
  min-height: 0 !important;
  display: flex;
  flex-direction: column;
  overflow: hidden !important;
}

.lost-home-booking-modal.is-open .lost-home-booking-modal__panel.is-form-step {
  overflow: hidden !important;
}

.lost-home-booking-modal__content.is-form-step {
  min-height: 0;
  flex: 1;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  padding: 0;
}

.lost-home-booking-modal__content.is-form-step .lost-home-booking-modal__head {
  display: none;
}

.lost-home-booking-modal__booking.is-form-step {
  flex: 1;
  min-height: 0;
  display: flex !important;
  flex-direction: column;
}

.lost-home-booking-modal__booking.is-form-step .booking_wrap_times,
.lost-home-booking-modal__booking.is-form-step .booking {
  display: none !important;
}

.lost-home-booking-modal__booking.is-form-step .booking_table_card {
  flex: 1 1 auto;
  min-height: 0 !important;
  height: auto;
  display: flex !important;
  flex-direction: column;
}

body.lost-home-page .lost-home-booking-modal .form_of_booking.lost-booking-modal--open ,
body.lost-quest-detail-page .lost-home-booking-modal .form_of_booking.lost-booking-modal--open,
body.lost-quests-section .lost-home-booking-modal .form_of_booking.lost-booking-modal--open {
  position: static !important;
  inset: auto !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  flex: 1;
  max-width: none !important;
  z-index: auto !important;
  display: flex !important;
  flex-direction: column;
  overflow: hidden;
  padding: 0 !important;
  box-sizing: border-box;
  background: transparent !important;
  border-radius: 0;
}

body.lost-home-page .lost-home-booking-modal .form_of_booking.has-pinned-footer.lost-booking-modal--open ,
body.lost-quest-detail-page .lost-home-booking-modal .form_of_booking.has-pinned-footer.lost-booking-modal--open,
body.lost-quests-section .lost-home-booking-modal .form_of_booking.has-pinned-footer.lost-booking-modal--open {
  padding-bottom: 0;
}

body.lost-home-page .lost-home-booking-modal .form_of_booking.lost-booking-modal--open #booking_ajax_form_home,
body.lost-quest-detail-page .lost-home-booking-modal .form_of_booking.lost-booking-modal--open #booking_ajax_form_home,
body.lost-quests-section .lost-home-booking-modal .form_of_booking.lost-booking-modal--open #booking_ajax_form_home,
body.lost-home-page .lost-home-booking-modal .form_of_booking.lost-booking-modal--open > form ,
body.lost-quest-detail-page .lost-home-booking-modal .form_of_booking.lost-booking-modal--open > form,
body.lost-quests-section .lost-home-booking-modal .form_of_booking.lost-booking-modal--open > form {
  position: static !important;
  flex: 1 1 auto;
  min-height: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-height: 100% !important;
  overflow: hidden !important;
  margin: 0;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  display: flex !important;
  flex-direction: column;
}

body.lost-home-page .lost-home-booking-modal .form_of_booking.has-pinned-footer > form > :not(.form_area):not(.lost-home-booking-form__footer):not(.background-image_booking_form) ,
body.lost-quest-detail-page .lost-home-booking-modal .form_of_booking.has-pinned-footer > form > :not(.form_area):not(.lost-home-booking-form__footer):not(.background-image_booking_form),
body.lost-quests-section .lost-home-booking-modal .form_of_booking.has-pinned-footer > form > :not(.form_area):not(.lost-home-booking-form__footer):not(.background-image_booking_form) {
  flex: 0 0 auto;
}

body.lost-home-page .lost-home-booking-modal .form_of_booking .name_block ,
body.lost-quest-detail-page .lost-home-booking-modal .form_of_booking .name_block,
body.lost-quests-section .lost-home-booking-modal .form_of_booking .name_block {
  position: static !important;
  top: auto !important;
  left: auto !important;
  width: 100% !important;
  z-index: auto !important;
  flex-shrink: 0;
  display: flex !important;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin: 0;
  padding: 0;
  background: transparent !important;
  border: 0;
  box-shadow: none;
}

body.lost-home-page .lost-home-booking-modal .form_of_booking .name_block .str_block ,
body.lost-quest-detail-page .lost-home-booking-modal .form_of_booking .name_block .str_block,
body.lost-quests-section .lost-home-booking-modal .form_of_booking .name_block .str_block {
  flex: 1;
  min-width: 0;
}

body.lost-home-page .lost-home-booking-modal .form_of_booking .name_block > .close_booking ,
body.lost-quest-detail-page .lost-home-booking-modal .form_of_booking .name_block > .close_booking,
body.lost-quests-section .lost-home-booking-modal .form_of_booking .name_block > .close_booking {
  flex-shrink: 0;
  width: 36px !important;
  min-height: 0 !important;
  height: 36px;
  line-height: 1 !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: rgba(255, 255, 255, 0.1) !important;
  color: #fff;
}

body.lost-home-page .lost-home-booking-modal .form_of_booking .date_of_booking ,
body.lost-quest-detail-page .lost-home-booking-modal .form_of_booking .date_of_booking,
body.lost-quests-section .lost-home-booking-modal .form_of_booking .date_of_booking {
  display: none;
}

body.lost-home-page .lost-home-booking-modal .form_of_booking .quest_name_of_booking ,
body.lost-quest-detail-page .lost-home-booking-modal .form_of_booking .quest_name_of_booking,
body.lost-quests-section .lost-home-booking-modal .form_of_booking .quest_name_of_booking {
  margin: 2px 0 0;
  font-size: clamp(20px, 2.2vw, 24px);
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -0.03em;
}

body.lost-home-page .lost-home-booking-modal .form_of_booking .lost-booking-form__summary ,
body.lost-quest-detail-page .lost-home-booking-modal .form_of_booking .lost-booking-form__summary,
body.lost-quests-section .lost-home-booking-modal .form_of_booking .lost-booking-form__summary {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  flex: 0 0 auto;
  flex-shrink: 0;
  margin: 0 0 16px;
  padding: 0 16px !important;
}

body.lost-home-page .lost-home-booking-modal .form_of_booking .lost-booking-form__card ,
body.lost-quest-detail-page .lost-home-booking-modal .form_of_booking .lost-booking-form__card,
body.lost-quests-section .lost-home-booking-modal .form_of_booking .lost-booking-form__card {
  min-width: 0;
  padding: 10px 12px;
  border-radius: 12px;
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.1);
}

body.lost-home-page .lost-home-booking-modal .form_of_booking .lost-booking-form__card-label ,
body.lost-quest-detail-page .lost-home-booking-modal .form_of_booking .lost-booking-form__card-label,
body.lost-quests-section .lost-home-booking-modal .form_of_booking .lost-booking-form__card-label {
  display: block;
  margin-bottom: 4px;
  font-size: 10px;
  line-height: 1.3;
  color: rgba(255, 255, 255, 0.5);
}

body.lost-home-page .lost-home-booking-modal .form_of_booking .lost-booking-form__card-value ,
body.lost-quest-detail-page .lost-home-booking-modal .form_of_booking .lost-booking-form__card-value,
body.lost-quests-section .lost-home-booking-modal .form_of_booking .lost-booking-form__card-value {
  font-size: 20px;
  font-weight: 800;
  line-height: 1.1;
  color: #fff;
}

body.lost-home-page .lost-home-booking-modal .form_of_booking .lost-booking-form__card-sub ,
body.lost-quest-detail-page .lost-home-booking-modal .form_of_booking .lost-booking-form__card-sub,
body.lost-quests-section .lost-home-booking-modal .form_of_booking .lost-booking-form__card-sub {
  margin-top: 4px;
  font-size: 11px;
  color: rgba(255, 255, 255, 0.5);
}

body.lost-home-page .lost-home-booking-modal .form_of_booking .lost-booking-form__datetime ,
body.lost-quest-detail-page .lost-home-booking-modal .form_of_booking .lost-booking-form__datetime,
body.lost-quests-section .lost-home-booking-modal .form_of_booking .lost-booking-form__datetime {
  display: flex;
  flex-direction: column;
  gap: 2px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.2;
  color: #fff;
}

body.lost-home-page .lost-home-booking-modal .form_of_booking .background-image_booking_form ,
body.lost-quest-detail-page .lost-home-booking-modal .form_of_booking .background-image_booking_form,
body.lost-quests-section .lost-home-booking-modal .form_of_booking .background-image_booking_form {
  display: none !important;
}

body.lost-home-page .lost-home-booking-modal .form_of_booking .form_area ,
body.lost-quest-detail-page .lost-home-booking-modal .form_of_booking .form_area,
body.lost-quests-section .lost-home-booking-modal .form_of_booking .form_area {
  position: static !important;
  top: auto !important;
  flex: 1 1 auto;
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  margin: 0;
  padding: 10px 16px !important;
  background: transparent !important;
  border: 0;
  border-radius: 0;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}

body.lost-home-page .lost-home-booking-modal .form_of_booking.has-pinned-footer .form_area ,
body.lost-quest-detail-page .lost-home-booking-modal .form_of_booking.has-pinned-footer .form_area,
body.lost-quests-section .lost-home-booking-modal .form_of_booking.has-pinned-footer .form_area {
  border-bottom: 0;
}

body.lost-home-page .lost-home-booking-modal .form_of_booking .fotm_wrap.flex_box ,
body.lost-quest-detail-page .lost-home-booking-modal .form_of_booking .fotm_wrap.flex_box,
body.lost-quests-section .lost-home-booking-modal .form_of_booking .fotm_wrap.flex_box {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  gap: 10px;
  margin-bottom: 0 !important;
}

body.lost-home-page .lost-home-booking-modal .form_of_booking .fotm_wrap .label_of_form ,
body.lost-quest-detail-page .lost-home-booking-modal .form_of_booking .fotm_wrap .label_of_form,
body.lost-quests-section .lost-home-booking-modal .form_of_booking .fotm_wrap .label_of_form {
  width: 100%;
  margin: 0;
  font-size: 13px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.72);
}

body.lost-home-page .lost-home-booking-modal .form_of_booking .fotm_wrap .counter_box,
body.lost-quest-detail-page .lost-home-booking-modal .form_of_booking .fotm_wrap .counter_box,
body.lost-quests-section .lost-home-booking-modal .form_of_booking .fotm_wrap .counter_box,
body.lost-home-page .lost-home-booking-modal .form_of_booking .fotm_wrap .right,
body.lost-quest-detail-page .lost-home-booking-modal .form_of_booking .fotm_wrap .right,
body.lost-quests-section .lost-home-booking-modal .form_of_booking .fotm_wrap .right,
body.lost-home-page .lost-home-booking-modal .form_of_booking .btn_of_bookink ,
body.lost-quest-detail-page .lost-home-booking-modal .form_of_booking .btn_of_bookink,
body.lost-quests-section .lost-home-booking-modal .form_of_booking .btn_of_bookink {
  margin-left: 0 !important;
}

body.lost-home-page .lost-home-booking-modal .form_of_booking .fotm_wrap .right ,
body.lost-quest-detail-page .lost-home-booking-modal .form_of_booking .fotm_wrap .right,
body.lost-quests-section .lost-home-booking-modal .form_of_booking .fotm_wrap .right {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  width: 100%;
}

body.lost-home-page .lost-home-booking-modal .form_of_booking .fotm_wrap .radio_item ,
body.lost-quest-detail-page .lost-home-booking-modal .form_of_booking .fotm_wrap .radio_item,
body.lost-quests-section .lost-home-booking-modal .form_of_booking .fotm_wrap .radio_item {
  flex: 1 1 auto;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 14px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

body.lost-home-page .lost-home-booking-modal .form_of_booking .fotm_wrap .radio_item > input ,
body.lost-quest-detail-page .lost-home-booking-modal .form_of_booking .fotm_wrap .radio_item > input,
body.lost-quests-section .lost-home-booking-modal .form_of_booking .fotm_wrap .radio_item > input {
  display: none;
}

body.lost-home-page .lost-home-booking-modal .form_of_booking .fotm_wrap .radio_item > label ,
body.lost-quest-detail-page .lost-home-booking-modal .form_of_booking .fotm_wrap .radio_item > label,
body.lost-quests-section .lost-home-booking-modal .form_of_booking .fotm_wrap .radio_item > label {
  margin: 0;
  cursor: pointer;
}

body.lost-home-page .lost-home-booking-modal .form_of_booking .form_area > div:not(.fotm_wrap.btn_wrap) ,
body.lost-quest-detail-page .lost-home-booking-modal .form_of_booking .form_area > div:not(.fotm_wrap.btn_wrap),
body.lost-quests-section .lost-home-booking-modal .form_of_booking .form_area > div:not(.fotm_wrap.btn_wrap) {
  max-width: none !important;
  width: 100% !important;
  margin: 0 0 10px !important;
}

body.lost-home-page .lost-home-booking-modal .form_of_booking .form_area > .comment ,
body.lost-quest-detail-page .lost-home-booking-modal .form_of_booking .form_area > .comment,
body.lost-quests-section .lost-home-booking-modal .form_of_booking .form_area > .comment,
body.lost-home-page .lost-home-booking-modal .form_of_booking .lost-booking-form__comment ,
body.lost-quest-detail-page .lost-home-booking-modal .form_of_booking .lost-booking-form__comment,
body.lost-quests-section .lost-home-booking-modal .form_of_booking .lost-booking-form__comment {
  margin-bottom: 10px !important;
  max-height: 72px;
  overflow-y: auto;
}

/* ── Счётчик игроков ── */
body.lost-home-page .lost-home-booking-modal .form_of_booking .counter_box ,
body.lost-quest-detail-page .lost-home-booking-modal .form_of_booking .counter_box,
body.lost-quests-section .lost-home-booking-modal .form_of_booking .counter_box {
  align-self: flex-start;
  display: grid;
  grid-template-columns: 44px minmax(52px, 72px) 44px;
  align-items: center;
  gap: 4px;
  width: auto;
  min-height: 52px;
  padding: 4px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

body.lost-home-page .lost-home-booking-modal .form_of_booking .counter_box > input ,
body.lost-quest-detail-page .lost-home-booking-modal .form_of_booking .counter_box > input,
body.lost-quests-section .lost-home-booking-modal .form_of_booking .counter_box > input {
  width: 100% !important;
  min-width: 0;
  height: 44px;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #fff;
  font-size: 20px;
  font-weight: 800;
  line-height: 1;
  text-align: center;
  -moz-appearance: textfield;
}

body.lost-home-page .lost-home-booking-modal .form_of_booking .kolvo_players_btns ,
body.lost-quest-detail-page .lost-home-booking-modal .form_of_booking .kolvo_players_btns,
body.lost-quests-section .lost-home-booking-modal .form_of_booking .kolvo_players_btns {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  margin: 0 !important;
  border-radius: 11px;
  background: linear-gradient(180deg, rgba(209, 43, 60, 0.55), rgba(72, 28, 82, 0.85));
  border: 1px solid rgba(255, 255, 255, 0.1);
  cursor: pointer;
  transition: transform var(--lost-transition), background var(--lost-transition), border-color var(--lost-transition);
}

body.lost-home-page .lost-home-booking-modal .form_of_booking .kolvo_players_btns:hover ,
body.lost-quest-detail-page .lost-home-booking-modal .form_of_booking .kolvo_players_btns:hover,
body.lost-quests-section .lost-home-booking-modal .form_of_booking .kolvo_players_btns:hover {
  transform: translateY(-1px);
  border-color: rgba(255, 255, 255, 0.22);
  background: linear-gradient(180deg, rgba(122, 51, 128, 0.75), rgba(88, 34, 98, 0.95));
}

body.lost-home-page .lost-home-booking-modal .form_of_booking .kolvo_players_btns svg path ,
body.lost-quest-detail-page .lost-home-booking-modal .form_of_booking .kolvo_players_btns svg path,
body.lost-quests-section .lost-home-booking-modal .form_of_booking .kolvo_players_btns svg path {
  stroke: #fff;
}

body.lost-home-page .lost-home-booking-modal .form_of_booking .kolvo_players_btns.pl svg ,
body.lost-quest-detail-page .lost-home-booking-modal .form_of_booking .kolvo_players_btns.pl svg,
body.lost-quests-section .lost-home-booking-modal .form_of_booking .kolvo_players_btns.pl svg {
  position: static;
  top: auto;
}

/* ── Дополнения: облако тегов ── */
body.lost-home-page .lost-home-booking-modal .form_of_booking .select_wrap.flex_box ,
body.lost-quest-detail-page .lost-home-booking-modal .form_of_booking .select_wrap.flex_box,
body.lost-quests-section .lost-home-booking-modal .form_of_booking .select_wrap.flex_box {
  display: flex !important;
  flex-wrap: wrap;
  align-items: flex-start;
  align-content: flex-start;
  gap: 8px;
  width: 100%;
}

body.lost-home-page .lost-home-booking-modal .form_of_booking .vehicles_item ,
body.lost-quest-detail-page .lost-home-booking-modal .form_of_booking .vehicles_item,
body.lost-quests-section .lost-home-booking-modal .form_of_booking .vehicles_item {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  flex: 0 0 auto;
  gap: 8px;
  width: auto;
  max-width: 100%;
  min-height: 0;
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.12);
  font-size: 12.5px;
  font-weight: 600;
  line-height: 1.2;
  text-align: left;
  cursor: pointer;
  transition: background var(--lost-transition), border-color var(--lost-transition), color var(--lost-transition), box-shadow var(--lost-transition);
}

body.lost-home-page .lost-home-booking-modal .form_of_booking .vehicles_item > div:last-child ,
body.lost-quest-detail-page .lost-home-booking-modal .form_of_booking .vehicles_item > div:last-child,
body.lost-quests-section .lost-home-booking-modal .form_of_booking .vehicles_item > div:last-child {
  white-space: normal;
}

body.lost-home-page .lost-home-booking-modal .form_of_booking .vehicles_item .dops_more ,
body.lost-quest-detail-page .lost-home-booking-modal .form_of_booking .vehicles_item .dops_more,
body.lost-quests-section .lost-home-booking-modal .form_of_booking .vehicles_item .dops_more {
  display: none !important;
}

body.lost-home-page .lost-home-booking-modal .form_of_booking .vehicles_item ,
body.lost-quest-detail-page .lost-home-booking-modal .form_of_booking .vehicles_item,
body.lost-quests-section .lost-home-booking-modal .form_of_booking .vehicles_item {
  position: relative;
  padding-right: 10px;
}

body.lost-home-page .lost-home-booking-modal .form_of_booking .vehicles_item > div:last-child ,
body.lost-quest-detail-page .lost-home-booking-modal .form_of_booking .vehicles_item > div:last-child,
body.lost-quests-section .lost-home-booking-modal .form_of_booking .vehicles_item > div:last-child {
  display: inline-flex;
  align-items: center;
}

body.lost-home-page .lost-home-booking-modal .form_of_booking .lost-booking-addon-info ,
body.lost-quest-detail-page .lost-home-booking-modal .form_of_booking .lost-booking-addon-info,
body.lost-quests-section .lost-home-booking-modal .form_of_booking .lost-booking-addon-info {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  margin: 0;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.06);
  color: rgba(255, 255, 255, 0.9);
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
}

body.lost-home-page .lost-home-booking-modal .form_of_booking .lost-booking-addon-info:hover ,
body.lost-quest-detail-page .lost-home-booking-modal .form_of_booking .lost-booking-addon-info:hover,
body.lost-quests-section .lost-home-booking-modal .form_of_booking .lost-booking-addon-info:hover {
  background: rgba(122, 51, 128, 0.5);
  border-color: rgba(255, 255, 255, 0.36);
}

body.lost-home-page .lost-home-booking-modal .form_of_booking .vehicles_item:hover ,
body.lost-quest-detail-page .lost-home-booking-modal .form_of_booking .vehicles_item:hover,
body.lost-quests-section .lost-home-booking-modal .form_of_booking .vehicles_item:hover {
  border-color: rgba(122, 51, 128, 0.65);
  background: rgba(209, 43, 60, 0.18);
}

body.lost-home-page .lost-home-booking-modal .form_of_booking .vehicles_item.active ,
body.lost-quest-detail-page .lost-home-booking-modal .form_of_booking .vehicles_item.active,
body.lost-quests-section .lost-home-booking-modal .form_of_booking .vehicles_item.active {
  color: #fff;
  border-color: rgba(143, 50, 146, 0.95);
  background: linear-gradient(180deg, rgba(209, 43, 60, 0.82), rgba(62, 29, 72, 0.95));
  box-shadow: 0 8px 22px rgba(209, 43, 60, 0.28);
}

body.lost-home-page .lost-home-booking-modal .form_of_booking .inputs_wrap ,
body.lost-quest-detail-page .lost-home-booking-modal .form_of_booking .inputs_wrap,
body.lost-quests-section .lost-home-booking-modal .form_of_booking .inputs_wrap {
  display: grid;
  gap: 10px;
  width: 100%;
}

body.lost-home-page .lost-home-booking-modal .form_of_booking .inputs_wrap .fotm_wrap_inputs_wrap ,
body.lost-quest-detail-page .lost-home-booking-modal .form_of_booking .inputs_wrap .fotm_wrap_inputs_wrap,
body.lost-quests-section .lost-home-booking-modal .form_of_booking .inputs_wrap .fotm_wrap_inputs_wrap {
  width: 100%;
  margin: 0 !important;
}

body.lost-home-page .lost-home-booking-modal .form_of_booking .inputs_wrap input ,
body.lost-quest-detail-page .lost-home-booking-modal .form_of_booking .inputs_wrap input,
body.lost-quests-section .lost-home-booking-modal .form_of_booking .inputs_wrap input {
  width: 100% !important;
  min-height: 44px;
  box-sizing: border-box;
}

/* ── Зафиксированный футер: итого + кнопки ── */
body.lost-home-page .lost-home-booking-modal .form_of_booking .lost-home-booking-form__footer,
body.lost-quest-detail-page .lost-home-booking-modal .form_of_booking .lost-home-booking-form__footer,
body.lost-quests-section .lost-home-booking-modal .form_of_booking .lost-home-booking-form__footer,
body.lost-home-page .lost-home-booking-modal .form_of_booking form > .fotm_wrap.btn_wrap.flex_box,
body.lost-quest-detail-page .lost-home-booking-modal .form_of_booking form > .fotm_wrap.btn_wrap.flex_box,
body.lost-quests-section .lost-home-booking-modal .form_of_booking form > .fotm_wrap.btn_wrap.flex_box,
body.lost-home-page .lost-home-booking-modal .form_of_booking form > .fotm_wrap.btn_wrap.flex_box.open ,
body.lost-quest-detail-page .lost-home-booking-modal .form_of_booking form > .fotm_wrap.btn_wrap.flex_box.open,
body.lost-quests-section .lost-home-booking-modal .form_of_booking form > .fotm_wrap.btn_wrap.flex_box.open {
  position: static !important;
  bottom: auto !important;
  left: auto !important;
  right: auto !important;
  width: auto !important;
  flex: 0 0 auto !important;
  order: 99;
  z-index: 5;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 10px;
  margin: 0 !important;
  padding: 14px 16px 16px !important;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 0;
  background: rgba(14, 9, 17, 0.98) !important;
  box-shadow: none;
  visibility: visible !important;
  opacity: 1 !important;
  transform: none !important;
}

body.lost-home-page .lost-home-booking-modal .form_of_booking .fotm_wrap.btn_wrap .summ_wrap ,
body.lost-quest-detail-page .lost-home-booking-modal .form_of_booking .fotm_wrap.btn_wrap .summ_wrap,
body.lost-quests-section .lost-home-booking-modal .form_of_booking .fotm_wrap.btn_wrap .summ_wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  width: 100% !important;
  margin-right: 0 !important;
  padding: 0 2px;
}

body.lost-home-page .lost-home-booking-modal .form_of_booking .summ_wrap .summ_desk ,
body.lost-quest-detail-page .lost-home-booking-modal .form_of_booking .summ_wrap .summ_desk,
body.lost-quests-section .lost-home-booking-modal .form_of_booking .summ_wrap .summ_desk {
  font-size: 15px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.72);
}

body.lost-home-page .lost-home-booking-modal .form_of_booking .summ_wrap .summ_price ,
body.lost-quest-detail-page .lost-home-booking-modal .form_of_booking .summ_wrap .summ_price,
body.lost-quests-section .lost-home-booking-modal .form_of_booking .summ_wrap .summ_price {
  display: flex;
  align-items: baseline;
  gap: 4px;
  font-size: 24px;
  font-weight: 800;
  line-height: 1;
  color: #fff;
}

body.lost-home-page .lost-home-booking-modal .form_of_booking .summ_wrap .summ_price > div:first-child ,
body.lost-quest-detail-page .lost-home-booking-modal .form_of_booking .summ_wrap .summ_price > div:first-child,
body.lost-quests-section .lost-home-booking-modal .form_of_booking .summ_wrap .summ_price > div:first-child {
  margin-right: 0 !important;
}

body.lost-home-page .lost-home-booking-modal .form_of_booking .btn_wrap_book ,
body.lost-quest-detail-page .lost-home-booking-modal .form_of_booking .btn_wrap_book,
body.lost-quests-section .lost-home-booking-modal .form_of_booking .btn_wrap_book {
  position: static !important;
  width: 100% !important;
  margin-left: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
  gap: 8px;
  align-items: stretch;
}

body.lost-home-page .lost-home-booking-modal .form_of_booking .btn_wrap_book .spinner ,
body.lost-quest-detail-page .lost-home-booking-modal .form_of_booking .btn_wrap_book .spinner,
body.lost-quests-section .lost-home-booking-modal .form_of_booking .btn_wrap_book .spinner {
  display: none;
}

body.lost-home-page .lost-home-booking-modal .form_of_booking .lost-booking-form-shell__footer .lost-booking-form__cancel ,
body.lost-quest-detail-page .lost-home-booking-modal .form_of_booking .lost-booking-form-shell__footer .lost-booking-form__cancel ,
body.lost-quests-section .lost-home-booking-modal .form_of_booking .lost-booking-form-shell__footer .lost-booking-form__cancel ,
body.lost-home-page .lost-home-booking-modal .form_of_booking .btn_wrap_book .lost-booking-form__cancel ,
body.lost-quest-detail-page .lost-home-booking-modal .form_of_booking .btn_wrap_book .lost-booking-form__cancel,
body.lost-quests-section .lost-home-booking-modal .form_of_booking .btn_wrap_book .lost-booking-form__cancel {
  width: 100%;
  min-height: 46px;
  padding: 0 16px;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  background: rgba(255, 255, 255, 0.05);
  color: rgba(255, 255, 255, 0.88);
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: background var(--lost-transition), border-color var(--lost-transition);
}

body.lost-home-page .lost-home-booking-modal .form_of_booking .lost-booking-form-shell__footer .lost-booking-form__cancel:hover ,
body.lost-quest-detail-page .lost-home-booking-modal .form_of_booking .lost-booking-form-shell__footer .lost-booking-form__cancel:hover ,
body.lost-quests-section .lost-home-booking-modal .form_of_booking .lost-booking-form-shell__footer .lost-booking-form__cancel:hover ,
body.lost-home-page .lost-home-booking-modal .form_of_booking .btn_wrap_book .lost-booking-form__cancel:hover ,
body.lost-quest-detail-page .lost-home-booking-modal .form_of_booking .btn_wrap_book .lost-booking-form__cancel:hover,
body.lost-quests-section .lost-home-booking-modal .form_of_booking .btn_wrap_book .lost-booking-form__cancel:hover {
  background: rgba(255, 255, 255, 0.09);
  border-color: rgba(255, 255, 255, 0.22);
}

body.lost-home-page .lost-home-booking-modal .form_of_booking .btn_of_bookink ,
body.lost-quest-detail-page .lost-home-booking-modal .form_of_booking .btn_of_bookink,
body.lost-quests-section .lost-home-booking-modal .form_of_booking .btn_of_bookink {
  width: 100% !important;
  min-height: 46px;
  padding: 0 18px;
  border-radius: 12px !important;
  background: linear-gradient(180deg, #e23a4b, #d12b3c) !important;
  box-shadow: 0 12px 28px rgba(209, 43, 60, 0.32);
  font-size: 15px;
  font-weight: 700;
}

body.lost-home-page .lost-home-booking-modal .form_of_booking .comment ,
body.lost-quest-detail-page .lost-home-booking-modal .form_of_booking .comment,
body.lost-quests-section .lost-home-booking-modal .form_of_booking .comment {
  margin-top: 4px;
  padding: 8px 10px;
  border-radius: 10px;
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.08);
  font-size: 12px;
  line-height: 1.4;
  color: rgba(255, 255, 255, 0.62);
}

.lost-booking-addon-popup {
  display: none;
}

.lost-booking-addon-popup.is-open {
  position: fixed;
  inset: 0;
  z-index: calc(var(--lost-z-modal, 300) + 20);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}

.lost-booking-addon-popup__overlay {
  position: absolute;
  inset: 0;
  background: rgba(8, 5, 11, 0.7);
}

.lost-booking-addon-popup__panel {
  position: relative;
  width: min(420px, 100%);
  max-height: min(78vh, 620px);
  overflow: auto;
  border-radius: 16px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: linear-gradient(180deg, rgba(35, 25, 42, 0.98), rgba(19, 13, 23, 0.98));
  box-shadow: 0 24px 54px rgba(0, 0, 0, 0.42);
  padding: 18px;
}

.lost-booking-addon-popup__close {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 30px;
  height: 30px;
  border: 0;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
}

.lost-booking-addon-popup__content .decription_of_adds {
  margin-top: 24px;
}

.lost-booking-addon-popup__content .desk_of_add {
  margin: 0;
  color: rgba(255, 255, 255, 0.84);
  font-size: 14px;
  line-height: 1.5;
}

.lost-booking-addon-popup__content .img_of_adds {
  width: 100%;
  min-height: 180px;
  margin-top: 12px;
  border-radius: 12px;
  background-position: center;
  background-size: cover;
}

@media (max-width: 767px) {
  .lost-home-booking-modal__panel.is-form-step {
    width: 100%;
    max-height: 92vh;
  }

  body.lost-home-page .lost-home-booking-modal .form_of_booking .lost-booking-form__summary ,
body.lost-quest-detail-page .lost-home-booking-modal .form_of_booking .lost-booking-form__summary,
body.lost-quests-section .lost-home-booking-modal .form_of_booking .lost-booking-form__summary {
    grid-template-columns: 1fr;
  }

  body.lost-home-page .lost-home-booking-modal .form_of_booking .btn_wrap_book ,
body.lost-quest-detail-page .lost-home-booking-modal .form_of_booking .btn_wrap_book,
body.lost-quests-section .lost-home-booking-modal .form_of_booking .btn_wrap_book {
    grid-template-columns: 1fr;
  }

  body.lost-home-page .lost-home-booking-modal .form_of_booking .lost-home-booking-form__footer,
body.lost-quest-detail-page .lost-home-booking-modal .form_of_booking .lost-home-booking-form__footer,
body.lost-quests-section .lost-home-booking-modal .form_of_booking .lost-home-booking-form__footer,
  body.lost-home-page .lost-home-booking-modal .form_of_booking form > .fotm_wrap.btn_wrap.flex_box ,
body.lost-quest-detail-page .lost-home-booking-modal .form_of_booking form > .fotm_wrap.btn_wrap.flex_box,
body.lost-quests-section .lost-home-booking-modal .form_of_booking form > .fotm_wrap.btn_wrap.flex_box {
    border-radius: 0 0 22px 22px;
  }
}

@media (max-width: 767px) {
  .lost-home-booking-modal {
    align-items: flex-end;
    padding: 10px;
  }
  .lost-home-booking-modal__panel {
    min-height: 0;
    max-height: 96vh;
    border-radius: 22px 22px 0 0;
  }
  .lost-home-booking-modal__head { gap: 14px; }
  .lost-home-booking-modal__thumb { display: none; }

  /* Legacy template (max 570): .time{width:30%} + space-between → 2 колонки с дырой.
     Жёстко фиксируем 3 колонки по порядку времени. */
  #lost-home-booking-modal .lost-home-booking-modal__booking .booking_table_card .times_row,
  #lost-home-booking-modal .lost-home-booking-modal__booking .booking_table_card .times_row.flex_box,
  #lost-home-booking-modal .lost-home-booking-modal__booking .times_row,
  #lost-home-booking-modal .lost-home-booking-modal__booking .times_row.flex_box {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
    justify-content: flex-start !important;
    align-content: start !important;
    flex-wrap: unset !important;
    overflow: visible !important;
    min-width: 0 !important;
    width: 100% !important;
  }

  #lost-home-booking-modal .lost-home-booking-modal__booking .times_row .time,
  #lost-home-booking-modal .lost-home-booking-modal__booking .booking_table_card .time {
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    flex: none !important;
    min-height: 56px;
    padding: 8px 4px !important;
    border-radius: 12px;
    box-sizing: border-box;
  }

  #lost-home-booking-modal .lost-home-booking-modal__booking .time_value {
    font-size: 15px;
  }

  #lost-home-booking-modal .lost-home-booking-modal__booking .time > div:last-child {
    margin-top: 4px !important;
    font-size: 11px;
  }
}

/* ── Form step v2: один цельный попап без вложенных карточек ── */
.lost-home-booking-modal__panel.is-form-step {
  width: min(440px, 100%);
  max-height: min(92vh, 720px);
  min-height: 0 !important;
  display: flex;
  flex-direction: column;
  overflow: hidden !important;
  padding: 0;
}

.lost-home-booking-modal__content.is-form-step {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  padding: 0;
}

.lost-booking-form-shell {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  width: 100%;
  margin: 0;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: hidden;
}

body.lost-home-page .lost-home-booking-modal .lost-booking-form-shell.form_of_booking,
body.lost-quest-detail-page .lost-home-booking-modal .lost-booking-form-shell.form_of_booking,
body.lost-quests-section .lost-home-booking-modal .lost-booking-form-shell.form_of_booking {
  position: static !important;
  inset: auto !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-width: none !important;
  z-index: auto !important;
}

.lost-booking-form-shell__form {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  margin: 0;
  padding: 0;
  position: relative;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.lost-booking-form-shell__header {
  flex: 0 0 auto;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 4px;
  padding: clamp(18px, 3vw, 24px) clamp(18px, 3vw, 24px) 0;
  background: transparent !important;
  border: 0;
}

.lost-booking-form-shell__header .lost-booking-form__label {
  display: block;
  margin-bottom: 4px;
  font-size: 11px;
  line-height: 1.3;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.52);
}

.lost-booking-form-shell__header .close_booking,
.lost-booking-form-shell__header .lost-booking-form__close {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  min-height: 0;
  margin: 0;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.1) !important;
  color: #fff;
  cursor: pointer;
  transition: background 0.2s ease, border-color 0.2s ease;
}

.lost-booking-form-shell__header .close_booking:hover,
.lost-booking-form-shell__header .lost-booking-form__close:hover {
  background: rgba(255, 255, 255, 0.16) !important;
  border-color: rgba(255, 255, 255, 0.28);
}

.lost-booking-form-shell__header .close_booking svg,
.lost-booking-form-shell__header .lost-booking-form__close svg {
  display: block;
  flex-shrink: 0;
}

.lost-booking-form-shell__header .close_booking svg path,
.lost-booking-form-shell__header .lost-booking-form__close svg path {
  stroke: currentColor;
}

.lost-booking-form-shell .lost-booking-form__summary {
  flex: 0 0 auto;
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin: 0 0 16px;
  padding: 0 var(--lost-bf-pad-x, 16px) !important;
}

.lost-booking-form-shell__body.form_area {
  flex: 1 1 auto;
  min-height: 0 !important;
  max-height: none !important;
  height: auto !important;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  padding: 10px var(--lost-bf-pad-x, 16px) !important;
  margin: 0;
  background: transparent !important;
  border: 0;
  border-radius: 0;
}

.lost-booking-form-shell__footer {
  flex: 0 0 auto;
  order: 99;
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 0 !important;
  padding: 12px clamp(18px, 3vw, 24px) calc(12px + env(safe-area-inset-bottom, 0px));
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 0;
  background: rgba(14, 9, 17, 0.98) !important;
  box-shadow: 0 -10px 28px rgba(0, 0, 0, 0.22);
  visibility: visible !important;
  opacity: 1 !important;
}

.lost-booking-form-shell__footer .summ_wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  width: 100%;
  margin: 0 !important;
}

.lost-booking-form-shell__footer .btn_wrap_book {
  position: static !important;
  width: 100% !important;
  margin: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
  gap: 8px;
}

.lost-booking-form-shell .quest_name_of_booking {
  margin: 2px 0 0;
  font-size: clamp(20px, 2.2vw, 24px);
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -0.03em;
}

.lost-booking-form-shell .lost-booking-form__card {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 14px;
  padding: 12px 14px;
  min-width: 0;
}

@media (max-width: 767px) {
  .lost-home-booking-modal__panel.is-form-step {
    width: 100%;
    max-height: 92vh;
    border-radius: 22px 22px 0 0;
  }

  .lost-booking-form-shell__header {
    padding-top: 16px;
  }

  .lost-booking-form-shell .lost-booking-form__summary {
    grid-template-columns: 1fr;
    gap: 8px;
    margin-bottom: 14px;
  }

  .lost-booking-form-shell__footer .btn_wrap_book {
    grid-template-columns: 1fr;
  }
}

/* ── Form step v3: чистая сетка, воздух, читаемые контролы ── */
.lost-home-booking-modal__panel.is-form-step {
  width: min(480px, 100%);
  max-height: min(90vh, 760px);
  padding: 0;
}

.lost-booking-form-shell .lost-bf,
.lost-home-booking-modal #booking_ajax_form_home.lost-bf {
  gap: 0;
}

.lost-bf-head {
  box-sizing: border-box !important;
  align-items: center !important;
  padding: 16px 16px 8px !important;
}

.lost-bf-head .lost-booking-form__label {
  font-size: 11px !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: rgba(255, 255, 255, 0.45) !important;
}

.lost-bf-head .quest_name_of_booking {
  margin-top: 6px !important;
  padding-right: 8px !important;
  font-size: clamp(22px, 3.2vw, 28px) !important;
  font-weight: 800 !important;
  letter-spacing: -0.035em !important;
  line-height: 1.1 !important;
}

.lost-bf-head .lost-booking-form__close,
.lost-bf-head .close_booking,
body.lost-home-page .lost-home-booking-modal .form_of_booking .lost-bf-head > .close_booking,
body.lost-quest-detail-page .lost-home-booking-modal .form_of_booking .lost-bf-head > .close_booking,
body.lost-quests-section .lost-home-booking-modal .form_of_booking .lost-bf-head > .close_booking {
  position: relative !important;
  top: auto !important;
  right: auto !important;
  left: auto !important;
  flex: 0 0 auto !important;
  flex-shrink: 0 !important;
  box-sizing: border-box !important;
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  min-height: 36px !important;
  margin: 0 0 0 8px !important;
  padding: 0 !important;
  line-height: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  color: #fff !important;
  z-index: 2;
  overflow: visible !important;
}

.lost-bf-head .lost-booking-form__close svg,
.lost-bf-head .close_booking svg {
  display: block;
  width: 12px;
  height: 12px;
}

.lost-bf-summary {
  gap: 8px !important;
  margin: 0 0 10px !important;
  padding: 0 var(--lost-bf-pad-x, 16px) !important;
}

.lost-bf-summary__card {
  padding: 14px 16px !important;
  border-radius: 16px !important;
  background: rgba(255, 255, 255, 0.045) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.lost-bf-summary__card .lost-booking-form__card-label {
  margin-bottom: 8px !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;
  color: rgba(255, 255, 255, 0.48) !important;
}

.lost-bf-summary__card .lost-booking-form__card-value {
  font-size: 22px !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em !important;
}

.lost-bf-summary__card .lost-booking-form__card-sub {
  margin-top: 6px !important;
  font-size: 12px !important;
  color: rgba(255, 255, 255, 0.42) !important;
}

.lost-bf-summary__date,
.lost-bf-summary__time {
  display: block;
  font-size: 18px;
  font-weight: 750;
  line-height: 1.25;
  color: #fff;
}

.lost-bf-summary__time {
  margin-top: 2px;
  font-variant-numeric: tabular-nums;
}

.lost-bf-body.form_area,
.lost-booking-form-shell__body.form_area.lost-bf-body {
  display: flex !important;
  flex-direction: column;
  gap: 8px !important;
  padding: 4px var(--lost-bf-pad-x, 16px) 8px !important;
}

.lost-bf-body.form_area > * {
  margin: 0 !important;
  max-width: none !important;
  width: 100% !important;
}

.lost-bf-section {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 10px !important;
  margin: 0 !important;
}

.lost-bf-section__label,
.lost-bf .label_of_form {
  font-size: 13px !important;
  font-weight: 650 !important;
  letter-spacing: 0.01em;
  color: rgba(255, 255, 255, 0.78) !important;
}

.lost-bf-hint {
  font-size: 12px;
  line-height: 1.35;
  color: rgba(255, 255, 255, 0.38);
}

.lost-bf-stepper.counter_box {
  align-self: stretch !important;
  display: grid !important;
  grid-template-columns: 52px minmax(72px, 1fr) 52px !important;
  gap: 0 !important;
  width: 100% !important;
  min-height: 56px !important;
  padding: 4px !important;
  border-radius: 16px !important;
  background: rgba(18, 12, 24, 0.9) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
}

.lost-bf-stepper .kolvo_players_btns {
  appearance: none;
  -webkit-appearance: none;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 48px !important;
  height: 48px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: linear-gradient(180deg, #e23a4b 0%, #d12b3c 100%) !important;
  color: #fff;
  cursor: pointer;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.12) inset;
  transition: filter 0.15s ease, transform 0.15s ease;
}

.lost-bf-stepper .kolvo_players_btns:hover {
  filter: brightness(1.08);
  transform: translateY(-1px);
}

.lost-bf-stepper .kolvo_players_btns:active {
  transform: translateY(0);
  filter: brightness(0.96);
}

.lost-bf-stepper input[name="count_of_team"] {
  width: 100% !important;
  height: 48px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #fff !important;
  font-size: 22px !important;
  font-weight: 800 !important;
  text-align: center !important;
  font-variant-numeric: tabular-nums;
  -moz-appearance: textfield;
}

.lost-bf-stepper input[name="count_of_team"]::-webkit-outer-spin-button,
.lost-bf-stepper input[name="count_of_team"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.lost-bf-choice {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 8px !important;
  width: 100% !important;
}

.lost-bf-choice__item.radio_item {
  flex: 1 1 auto;
  min-height: 48px !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin: 0 !important;
  padding: 0 14px !important;
  border-radius: 14px !important;
  background: rgba(255, 255, 255, 0.04) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  color: rgba(255, 255, 255, 0.78);
  font-size: 14px;
  font-weight: 650;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.lost-bf-choice__item.radio_item > input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.lost-bf-choice__item.radio_item.active,
.lost-bf-choice__item.radio_item:has(input:checked) {
  background: rgba(209, 43, 60, 0.28) !important;
  border-color: rgba(226, 58, 75, 0.45) !important;
  color: #fff;
}

.lost-bf-fields {
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 100%;
}

.lost-bf-fields .fotm_wrap_inputs_wrap {
  margin: 0 !important;
  width: 100% !important;
}

.lost-bf-fields input[type="text"],
.lost-bf-fields input[type="tel"],
.lost-bf-fields input[type="number"],
.lost-bf-fields #name_booking_input,
.lost-bf-fields #book_phone,
.lost-bf-fields #promokod {
  width: 100% !important;
  height: 50px !important;
  margin: 0 !important;
  padding: 0 16px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  background: rgba(12, 8, 16, 0.72) !important;
  color: #fff !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  outline: none;
  transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
}

.lost-bf-fields input::placeholder {
  color: rgba(255, 255, 255, 0.36) !important;
}

.lost-bf-fields input:focus {
  border-color: rgba(226, 58, 75, 0.55) !important;
  background: rgba(18, 12, 24, 0.92) !important;
  box-shadow: 0 0 0 3px rgba(209, 43, 60, 0.22);
}

/* Промокод: поле + «Применить» + статус */
.lost-bf-promo {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
}

.lost-bf-promo__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: stretch;
  width: 100%;
}

.lost-bf-promo #promokod {
  min-width: 0 !important;
  letter-spacing: 0.02em;
  text-transform: none;
  box-sizing: border-box !important;
}

.lost-bf-promo__apply {
  flex: 0 0 auto;
  align-self: stretch;
  box-sizing: border-box;
  min-width: 112px;
  /* Высота = высота поля (#promokod 50px / 46px на мобилке), без фиксированных px */
  height: auto;
  min-height: 0;
  padding: 0 16px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.06);
  color: #fff;
  font-size: 14px;
  font-weight: 650;
  font-family: inherit;
  line-height: 1;
  cursor: pointer;
  white-space: nowrap;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease, opacity 0.15s ease;
}

.lost-bf-promo__apply:hover:not(:disabled) {
  background: rgba(226, 58, 75, 0.9);
  border-color: rgba(226, 58, 75, 0.95);
}

.lost-bf-promo__apply:disabled {
  opacity: 0.55;
  cursor: default;
}

.lost-bf-promo.is-applied #promokod {
  border-color: rgba(72, 199, 116, 0.55) !important;
  box-shadow: 0 0 0 3px rgba(72, 199, 116, 0.14);
}

.lost-bf-promo.is-applied .lost-bf-promo__apply {
  background: rgba(72, 199, 116, 0.16);
  border-color: rgba(72, 199, 116, 0.45);
  color: #9dffb8;
}

.lost-bf-promo.is-error #promokod {
  border-color: rgba(226, 58, 75, 0.7) !important;
  box-shadow: 0 0 0 3px rgba(209, 43, 60, 0.18);
}

.lost-bf-promo.is-loading .lost-bf-promo__apply {
  opacity: 0.7;
}

.lost-bf-promo__msg,
.lost-bf-promo .promokod_msg {
  position: static;
  top: auto;
  right: auto;
  transform: none;
  margin: 0;
  padding: 0 2px;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.35;
  color: rgba(255, 255, 255, 0.62);
  pointer-events: none;
}

.lost-bf-promo__msg.is-ok,
.lost-bf-promo .promokod_msg.is-ok {
  color: #8dffad;
}

.lost-bf-promo__msg.is-error,
.lost-bf-promo .promokod_msg.is-error {
  color: #ff8b97;
}

.lost-bf-promo__msg[hidden] {
  display: none !important;
}

/* Мобилка: «Применить» рядом с полем (как на десктопе), не full-width —
   иначе путают с «Забронировать». */
@media (max-width: 520px) {
  .lost-bf-promo__row {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: stretch;
  }

  .lost-bf-promo__apply {
    width: auto;
    min-width: 0;
    height: auto;
    padding: 0 12px;
    font-size: 13px;
    border-radius: 12px;
  }
}

.lost-bf-note.comment,
.lost-bf-note.lost-booking-form__comment {
  position: relative !important;
  display: inline-flex !important;
  align-items: center;
  align-self: flex-start;
  gap: 0;
  width: auto !important;
  max-width: 100% !important;
  max-height: none !important;
  overflow: visible !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: rgba(255, 255, 255, 0.72) !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  cursor: default;
  outline: none;
}

.lost-bf-note__trigger {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 6px 12px !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.04) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  color: inherit !important;
  font: inherit;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
}

.lost-bf-note.lost-bf-note--tip.is-open .lost-bf-note__trigger,
.lost-bf-note__trigger:hover,
.lost-bf-note__trigger:focus-visible {
  background: rgba(255, 255, 255, 0.07) !important;
  border-color: rgba(255, 255, 255, 0.2) !important;
  color: #fff !important;
}

.lost-bf-note__icon {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  margin: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.14);
  font-size: 11px;
  font-weight: 700;
  font-style: italic;
  color: rgba(255, 255, 255, 0.75);
}

.lost-bf-note__label {
  white-space: nowrap;
}

.lost-bf-note__text {
  flex: 1 1 auto;
  min-width: 0;
}

.lost-bf-note__tooltip {
  position: absolute;
  left: 0;
  bottom: calc(100% + 8px);
  z-index: 30;
  width: min(320px, calc(100vw - 48px));
  max-width: min(320px, calc(100vw - 32px));
  max-height: min(52vh, 360px);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding: 14px 36px 14px 14px;
  border-radius: 12px;
  background: #1a151c;
  border: 1px solid rgba(255, 255, 255, 0.14);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.45);
  color: rgba(255, 255, 255, 0.78);
  font-size: 12.5px;
  font-weight: 500;
  line-height: 1.45;
  white-space: normal;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(4px);
  transition: opacity 0.16s ease, transform 0.16s ease, visibility 0.16s ease;
}

.lost-bf-note__close {
  position: absolute;
  top: 6px;
  right: 6px;
  width: 28px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.06);
  color: #fff;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
}

.lost-bf-note__close:hover {
  background: rgba(255, 255, 255, 0.12);
}

.lost-bf-note__tooltip-text {
  white-space: normal;
  word-break: break-word;
}

.lost-bf-note.lost-bf-note--tip.is-open .lost-bf-note__tooltip {
  opacity: 1;
  visibility: visible;
  transform: none;
  pointer-events: auto;
}

/* Мобилка: над футером брони, со скроллом — текст не обрезается */
@media (max-width: 767px) {
  .lost-home-booking-modal .lost-bf-note__tooltip,
  .lost-bf-note__tooltip {
    position: fixed !important;
    left: 16px !important;
    right: 16px !important;
    bottom: calc(132px + env(safe-area-inset-bottom, 0px)) !important;
    top: auto !important;
    width: auto !important;
    max-width: none !important;
    max-height: min(48dvh, calc(100dvh - 220px - env(safe-area-inset-bottom, 0px))) !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    z-index: 13050 !important;
    transform: none !important;
  }

  .lost-bf-note.lost-bf-note--tip.is-open .lost-bf-note__tooltip {
    transform: none !important;
  }
}

.lost-bf-chips {
  display: flex !important;
  flex-wrap: wrap;
  gap: 6px !important;
}

.lost-bf-chip.vehicles_item {
  min-height: 0 !important;
  height: auto !important;
  padding: 5px 11px !important;
  gap: 8px !important;
  border-radius: 999px !important;
  font-size: 12.5px !important;
  line-height: 1.2 !important;
}

.lost-bf-chip .lost-booking-addon-info {
  margin: 0 !important;
  margin-right: 0 !important;
  flex-shrink: 0;
}

.lost-bf-chip.vehicles_item.active {
  background: rgba(209, 43, 60, 0.3) !important;
  border-color: rgba(226, 58, 75, 0.5) !important;
  color: #fff !important;
}

.lost-bf-footer.lost-booking-form-shell__footer {
  gap: 12px !important;
  padding: 14px var(--lost-bf-pad-x, 16px) calc(16px + env(safe-area-inset-bottom, 0px)) !important;
  border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
  background: linear-gradient(180deg, rgba(16, 10, 20, 0.92), rgba(10, 6, 14, 0.98)) !important;
  box-shadow: 0 -16px 40px rgba(0, 0, 0, 0.35);
}

.lost-bf-footer__total.summ_wrap {
  margin: 0 !important;
}

.lost-bf-footer__total .summ_desk {
  font-size: 15px !important;
  font-weight: 650 !important;
  color: rgba(255, 255, 255, 0.72) !important;
}

.lost-bf-footer__total .summ_price {
  gap: 4px;
  font-size: 24px !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em;
  color: #fff !important;
}

.lost-bf-footer__total #price_of_booking,
.lost-bf-summary #price_of_booking_top {
  font-size: inherit !important;
  font-weight: inherit !important;
  font-variant-numeric: tabular-nums;
  display: inline-block;
  min-width: 4ch;
  transition: color 0.35s ease, transform 0.35s ease;
  will-change: contents, transform;
}

.lost-bf-footer__total #price_of_booking.is-price-updating,
.lost-bf-summary #price_of_booking_top.is-price-updating {
  color: #ff9aa5;
  transform: translateY(-1px);
}

.lost-bf-footer__actions.btn_wrap_book {
  display: grid !important;
  grid-template-columns: 1fr 1.35fr !important;
  gap: 10px !important;
  width: 100% !important;
}

.lost-bf-footer__actions .lost-booking-form__cancel,
.lost-bf-footer__actions .close_booking.lost-booking-form__cancel {
  height: 52px !important;
  min-height: 52px !important;
  margin: 0 !important;
  padding: 0 16px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
  background: rgba(255, 255, 255, 0.04) !important;
  color: #fff !important;
  font-size: 15px !important;
  font-weight: 650 !important;
  cursor: pointer;
}

.lost-bf-footer__actions .btn_of_bookink {
  height: 52px !important;
  min-height: 52px !important;
  margin: 0 !important;
  padding: 0 16px !important;
  border: 0 !important;
  border-radius: 14px !important;
  background: linear-gradient(180deg, #e23a4b 0%, #d12b3c 100%) !important;
  color: #fff !important;
  font-size: 15px !important;
  font-weight: 750 !important;
  cursor: pointer;
  box-shadow: 0 8px 22px rgba(122, 47, 160, 0.35);
}

.lost-bf-footer__actions .btn_of_bookink:hover {
  filter: brightness(1.06);
}

.lost-bf-footer__actions .btn_of_bookink:disabled {
  opacity: 0.55;
  cursor: wait;
}

@media (max-width: 767px) {
  .lost-home-booking-modal__panel.is-form-step {
    width: 100%;
    max-height: 94vh;
  }

  .lost-bf-head {
    padding: 12px 16px 8px !important;
  }

  .lost-bf-summary {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .lost-bf-body.form_area,
  .lost-booking-form-shell__body.form_area.lost-bf-body {
    padding: 12px 16px !important;
  }

  .lost-bf-summary {
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
  }

  .lost-bf-footer.lost-booking-form-shell__footer {
    padding: 12px 16px calc(14px + env(safe-area-inset-bottom, 0px)) !important;
  }

  .lost-bf-footer__actions.btn_wrap_book {
    grid-template-columns: 1fr 1.2fr !important;
  }
}

@media (max-width: 380px) {
  .lost-bf-summary {
    grid-template-columns: 1fr !important;
  }

  .lost-bf-footer__actions.btn_wrap_book {
    grid-template-columns: 1fr !important;
  }
}

/* ═══════════════════════════════════════════════════════════
   Universal booking FORM step — works on /quests/ and any page
   (legacy template_styles.css targets .name_block/.form_area
    without page body classes and breaks the modal layout)
   ═══════════════════════════════════════════════════════════ */

.lost-home-booking-modal .lost-booking-form-shell.form_of_booking,
.lost-home-booking-modal .lost-booking-form-shell.form_of_booking.active,
.lost-home-booking-modal .lost-booking-form-shell.form_of_booking.lost-booking-modal--open {
  position: static !important;
  inset: auto !important;
  top: auto !important;
  right: auto !important;
  left: auto !important;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: hidden !important;
  z-index: auto !important;
  display: flex !important;
  flex-direction: column !important;
  --lost-bf-pad-x: 16px;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transition: none !important;
}

.lost-home-booking-modal .lost-booking-form-shell__form.lost-bf,
.lost-home-booking-modal #booking_ajax_form_home.lost-bf {
  position: static !important;
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  min-height: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.lost-home-booking-modal .lost-bf-head.name_block,
.lost-home-booking-modal .name_block.lost-bf-head {
  position: static !important;
  top: auto !important;
  left: auto !important;
  width: 100% !important;
  z-index: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin: 0 !important;
  padding: 16px var(--lost-bf-pad-x, 16px) 8px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.lost-home-booking-modal .lost-bf-head .str_block {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  position: static !important;
}

.lost-home-booking-modal .lost-bf-summary {
  position: static !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 10px !important;
  flex: 0 0 auto !important;
  margin: 0 0 10px !important;
  padding: 0 var(--lost-bf-pad-x, 16px) !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.lost-home-booking-modal .lost-bf-summary__card,
.lost-home-booking-modal .lost-booking-form__card {
  min-width: 0 !important;
  position: static !important;
}

.lost-home-booking-modal .lost-booking-form-shell__body.form_area.lost-bf-body,
.lost-home-booking-modal .form_area.lost-bf-body,
.lost-home-booking-modal .lost-bf-body.form_area {
  position: static !important;
  top: auto !important;
  left: auto !important;
  flex: 1 1 auto !important;
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 12px 16px !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
  box-sizing: border-box !important;
}

.lost-home-booking-modal .lost-bf-body.form_area > *,
.lost-home-booking-modal .lost-bf-body.form_area > div,
.lost-home-booking-modal .lost-bf-body.form_area > section {
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

.lost-home-booking-modal .lost-bf-section.fotm_wrap,
.lost-home-booking-modal .fotm_wrap.lost-bf-section {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  margin: 0 !important;
}

.lost-home-booking-modal .lost-bf-section .counter_box,
.lost-home-booking-modal .lost-bf-stepper.counter_box,
.lost-home-booking-modal .fotm_wrap .lost-bf-stepper {
  margin-left: 0 !important;
  align-self: stretch !important;
  width: 100% !important;
}

.lost-home-booking-modal .lost-bf-chips,
.lost-home-booking-modal .dops_price.lost-bf-chips {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  width: 100% !important;
}

.lost-home-booking-modal .lost-bf-chip.vehicles_item,
.lost-home-booking-modal .vehicles_item.lost-bf-chip {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 5px 11px !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.04) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  box-sizing: border-box !important;
}

.lost-home-booking-modal .lost-bf-chip .lost-booking-addon-info,
.lost-home-booking-modal .vehicles_item .lost-booking-addon-info {
  flex: 0 0 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 18px !important;
  height: 18px !important;
  margin: 0 8px 0 0 !important;
  padding: 0 !important;
  border: 1px solid rgba(255, 255, 255, 0.22) !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.06) !important;
  color: rgba(255, 255, 255, 0.9) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  cursor: pointer !important;
}

.lost-home-booking-modal .lost-bf-chip > div:last-child,
.lost-home-booking-modal .vehicles_item.lost-bf-chip > div:last-child {
  margin: 0 !important;
  padding: 0 !important;
  max-width: none !important;
}

.lost-home-booking-modal .lost-bf-footer.lost-booking-form-shell__footer,
.lost-home-booking-modal footer.lost-booking-form-shell__footer.fotm_wrap.btn_wrap.flex_box,
.lost-home-booking-modal .fotm_wrap.btn_wrap.flex_box.lost-bf-footer,
.lost-home-booking-modal .fotm_wrap.btn_wrap.flex_box.lost-bf-footer.open {
  position: static !important;
  inset: auto !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  z-index: auto !important;
  flex: 0 0 auto !important;
  flex-grow: 0 !important;
  flex-shrink: 0 !important;
  align-self: stretch !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  gap: 12px !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 14px 16px calc(16px + env(safe-area-inset-bottom, 0px)) !important;
  box-sizing: border-box !important;
  border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 0 !important;
  background: linear-gradient(180deg, rgba(16, 10, 20, 0.92), rgba(10, 6, 14, 0.98)) !important;
  box-shadow: 0 -12px 28px rgba(0, 0, 0, 0.28) !important;
  transform: none !important;
  visibility: visible !important;
  opacity: 1 !important;
  overflow: visible !important;
}

.lost-home-booking-modal .lost-bf-footer .summ_wrap,
.lost-home-booking-modal .lost-bf-footer__total.summ_wrap {
  position: static !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

.lost-home-booking-modal .lost-bf-footer .summ_price,
.lost-home-booking-modal .lost-bf-footer__total .summ_price {
  display: inline-flex !important;
  align-items: baseline !important;
  gap: 4px !important;
  margin: 0 !important;
  margin-top: 0 !important;
  margin-left: auto !important;
}

.lost-home-booking-modal .lost-bf-footer .btn_wrap_book,
.lost-home-booking-modal .lost-bf-footer__actions.btn_wrap_book {
  position: static !important;
  display: grid !important;
  grid-template-columns: 1fr 1.35fr !important;
  gap: 10px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.lost-home-booking-modal .lost-bf-footer .btn_of_bookink {
  margin-left: 0 !important;
  width: 100% !important;
}

@media (max-width: 767px) {
  .lost-home-booking-modal .lost-booking-form-shell__body.form_area.lost-bf-body,
  .lost-home-booking-modal .form_area.lost-bf-body,
  .lost-home-booking-modal .lost-bf-body.form_area {
    padding: 12px 16px !important;
  }

  .lost-home-booking-modal .lost-bf-head.name_block,
  .lost-home-booking-modal .name_block.lost-bf-head {
    padding: 12px 16px 8px !important;
  }

  .lost-home-booking-modal .lost-bf-summary {
    padding: 0 16px !important;
  }

  .lost-home-booking-modal .lost-bf-footer.lost-booking-form-shell__footer,
  .lost-home-booking-modal footer.lost-booking-form-shell__footer.fotm_wrap.btn_wrap.flex_box,
  .lost-home-booking-modal .fotm_wrap.btn_wrap.flex_box.lost-bf-footer {
    padding: 12px 16px calc(12px + env(safe-area-inset-bottom, 0px)) !important;
  }
}

/* ── /quests/ footer & actions hard reset ── */
body.lost-quests-section .lost-home-booking-modal .lost-bf-footer,
.lost-home-booking-modal .lost-bf-footer {
  position: static !important;
  display: flex !important;
  flex-direction: column !important;
  flex: 0 0 auto !important;
  gap: 12px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 14px 16px calc(16px + env(safe-area-inset-bottom, 0px)) !important;
  box-sizing: border-box !important;
  border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
  background: #120e16 !important;
  overflow: visible !important;
}

.lost-home-booking-modal .lost-bf-footer__total {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.lost-home-booking-modal .lost-bf-footer__total .summ_desk {
  color: rgba(255, 255, 255, 0.72) !important;
  font-size: 15px !important;
  font-weight: 650 !important;
}

.lost-home-booking-modal .lost-bf-footer__total .summ_price,
.lost-home-booking-modal .lost-bf-footer__total .lost-bf-footer__price {
  display: inline-flex !important;
  align-items: baseline !important;
  gap: 4px !important;
  margin: 0 !important;
  color: #fff !important;
  font-size: 24px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}

.lost-home-booking-modal .lost-bf-footer__actions {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr) !important;
  gap: 10px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  align-items: stretch !important;
}

.lost-home-booking-modal .lost-bf-footer__actions > .spinner {
  display: none !important;
}

.lost-home-booking-modal .lost-bf-footer__cancel,
.lost-home-booking-modal .lost-bf-footer__actions .lost-booking-form__cancel {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 52px !important;
  height: 52px !important;
  margin: 0 !important;
  padding: 0 14px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
  background: rgba(255, 255, 255, 0.04) !important;
  color: #fff !important;
  font-size: 15px !important;
  font-weight: 650 !important;
  line-height: 1 !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
}

.lost-home-booking-modal .lost-bf-footer__submit,
.lost-home-booking-modal .lost-bf-footer__actions .btn_of_bookink,
.lost-home-booking-modal .lost-bf-footer__actions button[type="submit"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 52px !important;
  height: 52px !important;
  margin: 0 !important;
  padding: 0 14px !important;
  border: 0 !important;
  border-radius: 14px !important;
  background: linear-gradient(180deg, #e23a4b 0%, #d12b3c 100%) !important;
  color: #fff !important;
  font-size: 15px !important;
  font-weight: 750 !important;
  line-height: 1 !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}

@media (max-width: 767px) {
  .lost-home-booking-modal .lost-bf-footer {
    padding: 14px 16px calc(16px + env(safe-area-inset-bottom, 0px)) !important;
  }
}

/* ── Addon cloud (selectable extras) ── */
.lost-home-booking-modal .lost-bf-addons,
.lost-home-booking-modal .dops_price.lost-bf-addons,
.lost-home-booking-modal .lost-bf-addons-cloud {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}

.lost-home-booking-modal .lost-bf-addons-cloud .lost-bf-addon.is-collapsed-hidden {
  display: none !important;
}

.lost-home-booking-modal .lost-bf-addons-cloud.is-expanded .lost-bf-addon.is-collapsed-hidden {
  display: flex !important;
}

.lost-home-booking-modal .lost-bf-addons__toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 42px;
  margin: 2px 0 0;
  padding: 0 14px;
  border-radius: 12px;
  border: 1px dashed rgba(255, 255, 255, 0.18);
  background: rgba(255, 255, 255, 0.03);
  color: rgba(255, 255, 255, 0.72);
  font-size: 13px;
  font-weight: 650;
  line-height: 1.2;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
  -webkit-tap-highlight-color: transparent;
}

.lost-home-booking-modal .lost-bf-addons__toggle:hover {
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(255, 255, 255, 0.28);
  color: #fff;
}

.lost-home-booking-modal .lost-bf-addons__toggle[hidden] {
  display: none !important;
}

.lost-home-booking-modal .lost-bf-hint--addons {
  margin: -4px 0 2px !important;
  color: rgba(255, 255, 255, 0.42) !important;
  font-size: 12px !important;
}

.lost-home-booking-modal .lost-bf-addon.vehicles_item,
.lost-home-booking-modal .vehicles_item.lost-bf-addon {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  flex: 1 1 100% !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 48px !important;
  margin: 0 !important;
  padding: 8px 12px !important;
  border-radius: 12px !important;
  background: rgba(255, 255, 255, 0.04) !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  text-align: left !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
  -webkit-tap-highlight-color: transparent;
  user-select: none;
  transition: background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}


.lost-home-booking-modal .lost-bf-addon__check {
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  border-radius: 6px;
  border: 2px solid rgba(255, 255, 255, 0.35);
  background: transparent;
  position: relative;
  transition: background 0.15s ease, border-color 0.15s ease;
}

.lost-home-booking-modal .lost-bf-addon__content {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.lost-home-booking-modal .lost-bf-addon__name {
  color: #fff;
  font-weight: 650;
}

.lost-home-booking-modal .lost-bf-addon__price {
  color: rgba(255, 255, 255, 0.58);
  font-size: 13px;
  font-weight: 500;
}

.lost-home-booking-modal .lost-bf-addon .lost-booking-addon-info {
  flex: 0 0 auto;
  margin: 0 !important;
}

.lost-home-booking-modal .lost-bf-addon.active,
.lost-home-booking-modal .lost-bf-addon.vehicles_item.active {
  background: rgba(209, 43, 60, 0.18) !important;
  border-color: rgba(226, 58, 75, 0.5) !important;
  box-shadow: 0 0 0 1px rgba(226, 58, 75, 0.18);
}

.lost-home-booking-modal .lost-bf-addon.active .lost-bf-addon__check,
.lost-home-booking-modal .lost-bf-addon.vehicles_item.active .lost-bf-addon__check {
  background: #d12b3c;
  border-color: #d12b3c;
}

.lost-home-booking-modal .lost-bf-addon.active .lost-bf-addon__check::after,
.lost-home-booking-modal .lost-bf-addon.vehicles_item.active .lost-bf-addon__check::after {
  content: "";
  position: absolute;
  left: 6px;
  top: 2px;
  width: 5px;
  height: 10px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.lost-home-booking-modal .lost-bf-addon__input {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* Prevent iOS input zoom (legacy template_styles sets 14px) */
.lost-home-booking-modal .form_of_booking input,
.lost-home-booking-modal .form_of_booking textarea,
.lost-home-booking-modal .form_of_booking select {
  font-size: 16px !important;
}

/* Hide floating contacts while booking modal is open */
body.lost-booking-modal-open .callback-call-widget,
body.lost-booking-modal-open .callback-vidget,
body:has(.lost-home-booking-modal.is-open) .callback-call-widget,
body:has(.lost-home-booking-modal.is-open) .callback-vidget,
body.no_body:has(.lost-home-booking-modal.is-open) .callback-call-widget,
body.no_body:has(.lost-home-booking-modal.is-open) .callback-vidget {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* ── Mobile booking form UX ── */
@media (max-width: 767px) {
  .lost-home-booking-modal.is-open {
    align-items: stretch !important;
    padding: 0 !important;
  }

  .lost-home-booking-modal__panel.is-form-step {
    width: 100% !important;
    max-width: none !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    min-height: 0 !important;
    border-radius: 0 !important;
  }

  .lost-home-booking-modal .lost-booking-form-shell__form.lost-bf,
  .lost-home-booking-modal .lost-booking-form-shell.form_of_booking {
    min-height: 0 !important;
    height: 100% !important;
  }

  .lost-home-booking-modal .lost-bf-footer,
  .lost-home-booking-modal .lost-bf-footer.lost-booking-form-shell__footer,
  .lost-home-booking-modal footer.lost-booking-form-shell__footer.fotm_wrap.btn_wrap.flex_box,
  .lost-home-booking-modal .fotm_wrap.btn_wrap.flex_box.lost-bf-footer {
    flex-shrink: 0 !important;
    padding: 14px 16px calc(16px + env(safe-area-inset-bottom, 0px)) !important;
  }

  .lost-home-booking-modal .form_of_booking input,
  .lost-home-booking-modal .form_of_booking textarea,
  .lost-home-booking-modal .form_of_booking select,
  .lost-home-booking-modal .lost-bf-fields input[type="text"],
  .lost-home-booking-modal .lost-bf-fields input[type="tel"],
  .lost-home-booking-modal .lost-bf-fields input[type="number"],
  .lost-home-booking-modal #name_booking_input,
  .lost-home-booking-modal #book_phone,
  .lost-home-booking-modal #promokod {
    font-size: 16px !important;
  }
}

/* ==========================================================================
   Mobile booking rhythm — один контейнер по lost-bf-summary
   ========================================================================== */
@media (max-width: 767px) {
  .lost-home-booking-modal {
    --lost-bf-pad-x: 16px;
    --lost-bf-space-section: 20px;
    --lost-bf-space-label: 8px;
    --lost-bf-space-tight: 6px;
  }

  .lost-home-booking-modal.is-open {
    align-items: stretch !important;
    padding: 0 !important;
  }

  .lost-home-booking-modal__panel.is-form-step {
    width: 100% !important;
    max-width: none !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    min-height: 0 !important;
    border-radius: 0 !important;
  }

  .lost-home-booking-modal .lost-booking-form-shell__form.lost-bf,
  .lost-home-booking-modal .lost-booking-form-shell.form_of_booking {
    min-height: 0 !important;
    height: 100% !important;
  }

  /* Горизонтальный эталон: как у summary-карточек */
  .lost-home-booking-modal .lost-bf-head.name_block,
  .lost-home-booking-modal .name_block.lost-bf-head,
  .lost-home-booking-modal .lost-bf-summary,
  .lost-home-booking-modal .lost-booking-form__summary.lost-bf-summary,
  .lost-home-booking-modal .lost-bf-body.form_area,
  .lost-home-booking-modal .lost-booking-form-shell__body.form_area.lost-bf-body,
  .lost-home-booking-modal .form_area.lost-bf-body,
  .lost-home-booking-modal .lost-bf-footer,
  .lost-home-booking-modal .lost-bf-footer.lost-booking-form-shell__footer,
  .lost-home-booking-modal footer.lost-booking-form-shell__footer.lost-bf-footer {
    padding-left: var(--lost-bf-pad-x) !important;
    padding-right: var(--lost-bf-pad-x) !important;
    box-sizing: border-box !important;
  }

  .lost-home-booking-modal .lost-bf-head.name_block,
  .lost-home-booking-modal .name_block.lost-bf-head {
    padding-top: 12px !important;
    padding-bottom: 8px !important;
    align-items: center !important;
  }

  .lost-bf-head .quest_name_of_booking {
    margin-top: 0 !important;
    font-size: clamp(18px, 5vw, 22px) !important;
    line-height: 1.12 !important;
  }

  .lost-home-booking-modal .lost-bf-summary,
  .lost-bf-summary {
    gap: 8px !important;
    margin: 0 0 12px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    grid-template-columns: 1fr 1fr !important;
  }

  .lost-bf-summary__card {
    padding: 10px 12px !important;
    border-radius: 14px !important;
  }

  .lost-bf-summary__card .lost-booking-form__card-label {
    margin-bottom: 4px !important;
    font-size: 10px !important;
    line-height: 1.25 !important;
  }

  .lost-bf-summary__card .lost-booking-form__card-value {
    font-size: 18px !important;
  }

  .lost-bf-summary__card .lost-booking-form__card-sub {
    margin-top: 3px !important;
    font-size: 11px !important;
  }

  .lost-bf-summary__date,
  .lost-bf-summary__time {
    font-size: 15px !important;
    line-height: 1.2 !important;
  }

  .lost-bf-summary__time {
    margin-top: 2px !important;
  }

  .lost-home-booking-modal .lost-bf-body.form_area,
  .lost-booking-form-shell__body.form_area.lost-bf-body,
  .lost-home-booking-modal .form_area.lost-bf-body {
    gap: var(--lost-bf-space-section) !important;
    padding: 10px 16px !important;
  }

  .lost-home-booking-modal .lost-bf-section,
  .lost-bf-section.fotm_wrap {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: var(--lost-bf-space-label) !important;
    margin: 0 !important;
  }

  .lost-bf-section__label,
  .lost-bf .label_of_form {
    font-size: 13px !important;
    font-weight: 650 !important;
    line-height: 1.2 !important;
  }

  .lost-bf-hint {
    margin: var(--lost-bf-space-tight) 0 0 !important;
    font-size: 11px !important;
    line-height: 1.3 !important;
    color: rgba(255, 255, 255, 0.42) !important;
  }

  .lost-bf-hint--addons {
    display: none !important;
  }

  /* Каунтер на всю ширину, цифра по центру */
  body.lost-home-page .lost-home-booking-modal .form_of_booking .counter_box.lost-bf-stepper,
  body.lost-quest-detail-page .lost-home-booking-modal .form_of_booking .counter_box.lost-bf-stepper,
  body.lost-quests-section .lost-home-booking-modal .form_of_booking .counter_box.lost-bf-stepper,
  .lost-home-booking-modal .lost-bf-stepper.counter_box,
  .lost-home-booking-modal .lost-bf-section .counter_box {
    display: grid !important;
    grid-template-columns: 52px minmax(0, 1fr) 52px !important;
    align-items: center !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 52px !important;
    margin: 0 !important;
    padding: 4px !important;
    gap: 0 !important;
    align-self: stretch !important;
    justify-self: stretch !important;
    border-radius: 14px !important;
  }

  body.lost-home-page .lost-home-booking-modal .form_of_booking .counter_box.lost-bf-stepper .kolvo_players_btns,
  body.lost-quest-detail-page .lost-home-booking-modal .form_of_booking .counter_box.lost-bf-stepper .kolvo_players_btns,
  body.lost-quests-section .lost-home-booking-modal .form_of_booking .counter_box.lost-bf-stepper .kolvo_players_btns,
  .lost-bf-stepper .kolvo_players_btns {
    width: 100% !important;
    height: 44px !important;
    border-radius: 11px !important;
  }

  body.lost-home-page .lost-home-booking-modal .form_of_booking .counter_box.lost-bf-stepper > input,
  body.lost-quest-detail-page .lost-home-booking-modal .form_of_booking .counter_box.lost-bf-stepper > input,
  body.lost-quests-section .lost-home-booking-modal .form_of_booking .counter_box.lost-bf-stepper > input,
  .lost-bf-stepper input[name="count_of_team"] {
    grid-column: 2;
    justify-self: stretch !important;
    width: 100% !important;
    height: 44px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    text-align: center !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    font-variant-numeric: tabular-nums;
  }

  /* Дополнения — облако + кнопка раскрытия */
  .lost-home-booking-modal .lost-bf-addons,
  .lost-home-booking-modal .dops_price.lost-bf-addons,
  .lost-home-booking-modal .lost-bf-addons-cloud {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  .lost-home-booking-modal .lost-bf-addons-cloud .lost-bf-addon,
  .lost-home-booking-modal .lost-bf-addons-cloud.is-expanded .lost-bf-addon {
    flex: 1 1 100% !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .lost-home-booking-modal .lost-bf-addons__toggle {
    width: 100%;
    margin-top: 4px;
  }

  .lost-bf-fields {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    width: 100% !important;
  }

  .lost-bf-fields .fotm_wrap_inputs_wrap {
    width: 100% !important;
    margin: 0 !important;
  }

  .lost-bf-fields input[type="text"],
  .lost-bf-fields input[type="tel"],
  .lost-bf-fields input[type="number"],
  .lost-bf-fields #name_booking_input,
  .lost-bf-fields #book_phone,
  .lost-bf-fields #promokod {
    width: 100% !important;
    height: 46px !important;
    padding: 0 14px !important;
    border-radius: 12px !important;
    box-sizing: border-box !important;
  }

  /* высота кнопки синхронизируется в @media (max-width: 859px) с полем 44px */

  .lost-home-booking-modal .lost-bf-footer,
  .lost-home-booking-modal .lost-bf-footer.lost-booking-form-shell__footer,
  .lost-home-booking-modal footer.lost-booking-form-shell__footer.lost-bf-footer,
  .lost-home-booking-modal footer.lost-booking-form-shell__footer.fotm_wrap.btn_wrap.flex_box,
  .lost-home-booking-modal .fotm_wrap.btn_wrap.flex_box.lost-bf-footer,
  body.lost-home-page .lost-home-booking-modal .form_of_booking .lost-home-booking-form__footer,
  body.lost-quest-detail-page .lost-home-booking-modal .form_of_booking .lost-home-booking-form__footer,
  body.lost-quests-section .lost-home-booking-modal .form_of_booking .lost-home-booking-form__footer {
    flex-shrink: 0 !important;
    gap: 12px !important;
    padding: 14px 16px 16px !important;
  }

  .lost-bf-footer__total .summ_desk {
    font-size: 14px !important;
  }

  .lost-bf-footer__total .summ_price,
  .lost-home-booking-modal .lost-bf-footer__total .lost-bf-footer__price {
    font-size: 22px !important;
  }

  .lost-bf-footer__actions .lost-booking-form__cancel,
  .lost-bf-footer__actions .close_booking.lost-booking-form__cancel,
  .lost-bf-footer__actions .btn_of_bookink,
  .lost-home-booking-modal .lost-bf-footer__submit {
    height: 48px !important;
    min-height: 48px !important;
    font-size: 15px !important;
    border-radius: 12px !important;
  }

  .lost-bf-footer__actions.btn_wrap_book,
  .lost-home-booking-modal .lost-bf-footer__actions {
    gap: 10px !important;
  }

  /* Safari: без zoom на focus */
  .lost-home-booking-modal .form_of_booking input,
  .lost-home-booking-modal .form_of_booking textarea,
  .lost-home-booking-modal .form_of_booking select,
  .lost-home-booking-modal .lost-bf-fields input[type="text"],
  .lost-home-booking-modal .lost-bf-fields input[type="tel"],
  .lost-home-booking-modal .lost-bf-fields input[type="number"],
  .lost-home-booking-modal #name_booking_input,
  .lost-home-booking-modal #book_phone,
  .lost-home-booking-modal #promokod {
    font-size: 16px !important;
  }
}

@media (max-width: 380px) {
  .lost-bf-summary {
    grid-template-columns: 1fr !important;
  }

  .lost-bf-footer__actions.btn_wrap_book,
  .lost-home-booking-modal .lost-bf-footer__actions {
    grid-template-columns: 1fr !important;
  }
}

/* ==========================================================================
   Booking form compact layout — stepper center + addon tags + 2-col desktop
   ========================================================================== */

/* Desktop: шире попап под две колонки */
@media (min-width: 860px) {
  .lost-home-booking-modal__panel.is-form-step {
    width: min(760px, calc(100vw - 48px)) !important;
    max-height: min(90vh, 720px) !important;
  }
}

/* 2 колонки: опции слева, данные справа */
.lost-home-booking-modal .lost-bf-layout {
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
}

.lost-home-booking-modal .lost-bf-col {
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-width: 0;
}

.lost-home-booking-modal .lost-bf-body.form_area > #my_message:empty {
  display: none !important;
}

@media (min-width: 860px) {
  .lost-home-booking-modal .lost-bf-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
    gap: 8px 20px;
    align-items: start;
  }

  .lost-home-booking-modal .lost-bf-col--data {
    position: sticky;
    top: 0;
  }

  .lost-home-booking-modal .lost-bf-summary {
    margin-bottom: 8px !important;
  }

  .lost-home-booking-modal .lost-bf-summary__card {
    padding: 12px 14px !important;
  }
}

/* Счётчик: цифра строго по центру между − / + */
.lost-home-booking-modal .lost-bf-stepper.counter_box,
.lost-home-booking-modal .counter_box.lost-bf-stepper.flex_box,
.lost-home-booking-modal .fotm_wrap .counter_box.lost-bf-stepper {
  display: grid !important;
  grid-template-columns: 44px minmax(0, 1fr) 44px !important;
  align-items: center !important;
  justify-items: stretch !important;
  gap: 0 !important;
  width: 100% !important;
  max-width: 160px !important;
  min-height: 48px !important;
  margin: 0 !important;
  padding: 3px !important;
  border-radius: 14px !important;
  background: rgba(18, 12, 24, 0.92) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  box-sizing: border-box !important;
}

.lost-home-booking-modal .lost-bf-stepper .kolvo_players_btns,
.lost-home-booking-modal .lost-bf-stepper .kolvo_players_btns.pl {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 42px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 11px !important;
  background: linear-gradient(180deg, #e23a4b 0%, #d12b3c 100%) !important;
  box-shadow: none !important;
  position: static !important;
}

.lost-home-booking-modal .lost-bf-stepper .kolvo_players_btns.pl svg {
  position: static !important;
  top: auto !important;
}

.lost-home-booking-modal .lost-bf-stepper input[name="count_of_team"],
.lost-home-booking-modal .lost-bf-stepper.counter_box > input,
.lost-home-booking-modal .counter_box.lost-bf-stepper > input {
  grid-column: 2 !important;
  justify-self: stretch !important;
  align-self: center !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  height: 42px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #fff !important;
  font-size: 20px !important;
  font-weight: 800 !important;
  line-height: 42px !important;
  text-align: center !important;
  font-variant-numeric: tabular-nums !important;
  -moz-appearance: textfield !important;
  appearance: textfield !important;
}

/* Допы — облако тегов (не список на всю ширину) */
.lost-home-booking-modal .lost-bf-addons,
.lost-home-booking-modal .dops_price.lost-bf-addons,
.lost-home-booking-modal .lost-bf-addons-cloud,
.lost-home-booking-modal .select_wrap.lost-bf-addons-cloud {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: flex-start !important;
  align-content: flex-start !important;
  gap: 8px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.lost-home-booking-modal .lost-bf-addon.vehicles_item,
.lost-home-booking-modal .vehicles_item.lost-bf-addon,
.lost-home-booking-modal .lost-bf-addons-cloud .lost-bf-addon,
.lost-home-booking-modal .lost-bf-addons-cloud.is-expanded .lost-bf-addon {
  display: inline-flex !important;
  flex: 0 1 auto !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 6px !important;
  width: auto !important;
  max-width: 100% !important;
  min-height: 34px !important;
  margin: 0 !important;
  padding: 5px 8px 5px 8px !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.045) !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  box-shadow: none !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
}

.lost-home-booking-modal .lost-bf-addon__check {
  flex: 0 0 16px !important;
  width: 16px !important;
  height: 16px !important;
  border-radius: 999px !important;
  border: 1.5px solid rgba(255, 255, 255, 0.35) !important;
  background: transparent !important;
}

.lost-home-booking-modal .lost-bf-addon.active .lost-bf-addon__check,
.lost-home-booking-modal .lost-bf-addon.vehicles_item.active .lost-bf-addon__check {
  background: #d12b3c !important;
  border-color: #d12b3c !important;
}

.lost-home-booking-modal .lost-bf-addon.active .lost-bf-addon__check::after,
.lost-home-booking-modal .lost-bf-addon.vehicles_item.active .lost-bf-addon__check::after {
  left: 4.5px !important;
  top: 1.5px !important;
  width: 4px !important;
  height: 8px !important;
}

.lost-home-booking-modal .lost-bf-addon__label,
.lost-home-booking-modal .lost-bf-addon__content {
  display: inline-flex !important;
  flex-direction: row !important;
  /* Длинное название переносится, а не обрезается многоточием. */
  flex-wrap: wrap !important;
  align-items: baseline !important;
  gap: 6px !important;
  min-width: 0 !important;
  flex: 0 1 auto !important;
}

.lost-home-booking-modal .lost-bf-addon__name {
  color: #fff !important;
  font-size: 12.5px !important;
  font-weight: 650 !important;
  /* Название показываем целиком: чип растягивается, при нехватке места текст переносится. */
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

.lost-home-booking-modal .lost-bf-addon__price {
  color: rgba(255, 255, 255, 0.55) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
  flex: 0 0 auto !important;
}

.lost-home-booking-modal .lost-bf-addon .lost-booking-addon-info {
  flex: 0 0 18px !important;
  width: 18px !important;
  height: 18px !important;
  margin: 0 0 0 2px !important;
  border-radius: 50% !important;
  font-size: 10px !important;
}

.lost-home-booking-modal .lost-bf-addon.active,
.lost-home-booking-modal .lost-bf-addon.vehicles_item.active {
  background: rgba(209, 43, 60, 0.22) !important;
  border-color: rgba(226, 58, 75, 0.55) !important;
  box-shadow: 0 0 0 1px rgba(226, 58, 75, 0.16) !important;
}

.lost-home-booking-modal .lost-bf-addons__toggle {
  display: inline-flex !important;
  width: auto !important;
  min-height: 32px !important;
  margin: 2px 0 0 !important;
  padding: 0 12px !important;
  border-radius: 999px !important;
  border-style: dashed !important;
  font-size: 12px !important;
}

/* Компактнее секции / summary на мобилке — «Ваши данные» выше */
@media (max-width: 859px) {
  .lost-home-booking-modal .lost-bf-summary,
  .lost-home-booking-modal .lost-booking-form__summary.lost-bf-summary {
    gap: 6px !important;
    margin: 0 0 8px !important;
  }

  .lost-home-booking-modal .lost-bf-summary__card {
    padding: 8px 10px !important;
    border-radius: 12px !important;
  }

  .lost-home-booking-modal .lost-bf-summary__card .lost-booking-form__card-value {
    font-size: 16px !important;
  }

  .lost-home-booking-modal .lost-bf-summary__date,
  .lost-home-booking-modal .lost-bf-summary__time {
    font-size: 14px !important;
  }

  .lost-home-booking-modal .lost-bf-body.form_area,
  .lost-home-booking-modal .lost-booking-form-shell__body.form_area.lost-bf-body {
    gap: 10px !important;
    padding-top: 2px !important;
    padding-bottom: 6px !important;
  }

  .lost-home-booking-modal .lost-bf-section {
    gap: 6px !important;
  }

  .lost-home-booking-modal .lost-bf-section__label,
  .lost-home-booking-modal .lost-bf .label_of_form {
    font-size: 12px !important;
  }

  .lost-home-booking-modal .lost-bf-stepper.counter_box {
    max-width: none !important;
  }

  .lost-home-booking-modal .lost-bf-fields {
    gap: 8px !important;
  }

  .lost-home-booking-modal .lost-bf-fields input[type="text"],
  .lost-home-booking-modal .lost-bf-fields input[type="tel"],
  .lost-home-booking-modal .lost-bf-fields #name_booking_input,
  .lost-home-booking-modal .lost-bf-fields #book_phone,
  .lost-home-booking-modal .lost-bf-fields #promokod {
    height: 44px !important;
  }

  .lost-home-booking-modal .lost-bf-promo__apply,
  .lost-home-booking-modal .lost-bf-promo [data-lost-promo-apply] {
    height: 44px !important;
    min-height: 44px !important;
    border-radius: 12px !important;
    box-sizing: border-box !important;
  }
}
