/* LOST redesign — правила только для главной (класс body.lost-home-page).
   Прячем legacy-блоки, которые дублируются новым макетом. */

/* Скрыть хлебные крошки и заголовок на главной */
body.lost-home-page .breadcrumb { display: none !important; }

/* Скрыть legacy-подвал шаблона (меню/копирайт над новым footer) */
body.lost-home-page .footer-links,
body.lost-home-page .footer__madein { display: none !important; }

/* Убрать внешние отступы у контентной обёртки, чтобы секции шли встык */
body.lost-home-page .workarea,
body.lost-home-page .workarea-wrapper { padding: 0; margin: 0; }
body.lost-home-page .main-content { margin-top: 0; }

/* Небольшой отступ снизу перед footer */
body.lost-home-page .lost-contacts-map { padding-bottom: var(--lost-space-section); }

/* Sticky footer БЕЗ position:fixed — прижимаем к низу через flex, контент не перекрывается.
   На короткой странице footer у нижней кромки; на длинной — просто в конце потока. */
body.lost-home-page {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}
body.lost-home-page .main-content {
  flex: 1 0 auto;
}
body.lost-home-page footer {
  flex: 0 0 auto;
  margin-top: auto;
}

/* ==========================================================================
   Блок квестов на главной: панель чипов + сетка карточек (вид = каталог).
   Правила дублируют каталожные (internal.css), т.к. internal.css на главной
   не подключается. Базовый вид .lost-quest-card / .lost-btn--chip — глобальный
   (components.css). Каталог «Подобрать квест» не трогаем.
   ========================================================================== */

/* Панель фильтра — чипы категорий + action-кнопки. */
/* Баннер → квесты: меньше воздуха. */
body.lost-home-page .lost-home-quests.lost-section {
  padding-top: clamp(8px, 1.4vw, 16px);
  padding-bottom: clamp(16px, 2.4vw, 28px);
}
.lost-home-quests .lost-home-quests__head {
  margin: 0 0 20px !important;
}
.lost-home-quests .lost-home-quests__title {
  margin: 0;
  font-size: clamp(24px, 3.2vw, 34px);
  line-height: 1.15;
  font-weight: 700;
  color: #fff;
}
.lost-home-quests .lost-quests-filter {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--lost-space-3);
  margin: 0 0 40px !important;
}
.lost-home-quests .lost-quests-filter__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--lost-space-2);
}
.lost-home-quests .lost-btn--chip-link {
  text-decoration: none;
  border-color: rgba(209, 43, 60, 0.55);
  color: #fff;
}
.lost-home-quests .lost-btn--chip-link:hover {
  border-color: rgba(209, 43, 60, 0.95);
  background: rgba(209, 43, 60, 0.18);
}
.lost-home-quests .lost-quests-filter__chips {
  display: flex;
  flex-wrap: wrap;
  gap: var(--lost-space-2);
  min-width: 0;
  position: relative;
  padding: 4px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.03);
}
.lost-home-quests .lost-quests-filter__chips::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: var(--lost-chip-indicator-w, 0);
  height: var(--lost-chip-indicator-h, 0);
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(122, 51, 128, 0.95), rgba(209, 43, 60, 0.95));
  box-shadow: 0 10px 24px rgba(209, 43, 60, 0.35);
  transform: translate(var(--lost-chip-indicator-x, 0), var(--lost-chip-indicator-y, 0));
  transition: transform 260ms cubic-bezier(.22,.9,.28,1), width 260ms cubic-bezier(.22,.9,.28,1), height 260ms cubic-bezier(.22,.9,.28,1), opacity 180ms ease;
  opacity: 0;
  pointer-events: none;
}
.lost-home-quests .lost-quests-filter__chips.has-indicator::before {
  opacity: 1;
}
.lost-home-quests .lost-quests-filter__chips .lost-btn--chip {
  position: relative;
  z-index: 1;
}
.lost-home-quests .lost-quests-filter__chips .lost-btn--chip.is-active {
  background: transparent;
  border-color: transparent;
  color: #fff;
}
@keyframes lostChipTap {
  0% { transform: scale(1); }
  35% { transform: scale(0.96); }
  100% { transform: scale(1); }
}
.lost-home-quests .lost-quests-filter__chips .lost-btn--chip.is-pressed {
  animation: lostChipTap 220ms ease;
}

/* Рейлы категорий: сетка на десктопе, native horizontal scroll на мобиле (как lostkvest.ru). */
.lost-home-quests .lost-quests-catalog {
  display: flex;
  flex-direction: column;
  gap: clamp(16px, 2.2vw, 24px);
}
.lost-home-quests .lost-quest-rail {
  margin: 0;
}
.lost-home-quests .lost-quest-rail.is-filter-hidden {
  display: none !important;
}
.lost-home-quests .lost-quest-rail__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: 0 0 var(--lost-space-4);
}
.lost-home-quests .lost-quest-rail__title {
  margin: 0;
  font-size: clamp(20px, 2.4vw, 28px);
  line-height: 1.2;
  font-weight: 650;
  color: #fff;
}
.lost-home-quests .lost-quest-rail__track {
  overflow: visible;
  padding-bottom: 4px;
}
.lost-home-quests .lost-quests-catalog .lost-quest-list--rail {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.lost-home-quests .lost-quests-catalog .lost-quest-list--rail .lost-quest-card {
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
}
.lost-home-quests .lost-quests-catalog .lost-quest-list--rail .lost-quest-card__media {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
  height: auto !important;
  aspect-ratio: 16 / 9;
  overflow: hidden;
}
.lost-home-quests .lost-quests-catalog .lost-quest-list--rail .lost-quest-card__media img {
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  object-fit: cover;
}
.lost-home-quests .lost-quests-catalog .lost-quest-list--rail .lost-quest-card__body {
  flex: 1 1 auto;
  min-width: 0;
  min-height: 0;
  padding: 14px 14px 16px;
}
.lost-home-quests .lost-quests-catalog .lost-quest-list--rail .lost-quest-card__desc {
  -webkit-line-clamp: 2;
  margin-bottom: 12px;
}
.lost-home-quests .lost-quests-catalog .lost-quest-list--rail .lost-quest-card__cta {
  margin-top: auto;
}
@media (max-width: 1100px) {
  .lost-home-quests .lost-quests-catalog .lost-quest-list--rail {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 768px) {
  .lost-home-quests .lost-quest-rail__track {
    width: min(var(--lost-container-max), 100% - 2 * var(--lost-container-pad));
    margin-inline: auto;
  }
}
@media (max-width: 767px) {
  /* legacy .workarea { overflow:hidden } режет горизонтальный скролл — как на prod, скролл внутри списка */
  body.lost-home-page .workarea,
  body.lost-home-page .workarea-wrapper {
    overflow-x: visible;
  }

  .lost-home-quests .lost-quest-rail__track {
    width: 100%;
    margin: 0;
    overflow: visible;
  }

  .lost-home-quests .lost-quests-catalog .lost-quest-list--rail {
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 12px;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0 0 6px;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scroll-behavior: smooth;
    scroll-snap-type: x proximity;
    scroll-padding-inline: var(--lost-container-pad);
    scrollbar-width: none;
  }

  .lost-home-quests .lost-quests-catalog .lost-quest-list--rail::-webkit-scrollbar {
    display: none;
  }

  .lost-home-quests .lost-quests-catalog .lost-quest-list--rail .lost-quest-card {
    flex: 0 0 280px;
    width: 280px;
    max-width: 280px;
    min-width: 280px;
    min-height: 100%;
    display: flex;
    flex-direction: column;
    scroll-snap-align: start;
    margin: 0;
  }

  /* lostkvest.ru: margin-left у первой карточки, не padding у scroll-контейнера */
  .lost-home-quests .lost-quests-catalog .lost-quest-list--rail .lost-quest-card:first-child {
    margin-left: var(--lost-container-pad);
  }

  .lost-home-quests .lost-quests-catalog .lost-quest-list--rail .lost-quest-card:last-child {
    margin-right: var(--lost-container-pad);
  }

  .lost-home-quests .lost-quests-catalog .lost-quest-list--rail .lost-quest-card__body {
    min-height: 150px;
    display: flex;
    flex-direction: column;
  }

  .lost-home-quests .lost-quests-catalog .lost-quest-list--rail .lost-quest-card:hover {
    transform: none;
  }
}
.lost-home-quests .lost-quest-card.is-filter-hidden,
.lost-home-quests .lost-quest-card.is-hidden-more {
  display: none !important;
}

/* Сетка каталога: 1 -> 2 -> 3 колонки. */
.lost-home-quests .lost-quests-catalog .lost-quest-list:not(.lost-quest-list--rail) {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--lost-space-6);
  margin-top: var(--lost-space-2);
}
@media (min-width: 768px) {
  .lost-home-quests .lost-quests-catalog .lost-quest-list:not(.lost-quest-list--rail) { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
  .lost-home-quests .lost-quests-catalog .lost-quest-list:not(.lost-quest-list--rail) { grid-template-columns: repeat(3, 1fr); }
}

/* Скрытые фильтром карточки. */
.lost-home-quests .lost-quest-card.is-filter-hidden { display: none; }
@keyframes lostQuestCardEnter {
  from {
    opacity: 0;
    transform: translateY(12px) scale(0.985);
    filter: saturate(0.85);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: saturate(1);
  }
}
.lost-home-quests .lost-quest-card.is-entering {
  animation: lostQuestCardEnter 360ms ease both;
  animation-delay: var(--lost-quest-enter-delay, 0ms);
  will-change: transform, opacity;
}
@media (prefers-reduced-motion: reduce) {
  .lost-home-quests .lost-quest-card.is-entering {
    animation: none;
  }
}

/* Карточка кликабельна целиком (js_link) — курсор-подсказка и лёгкий hover. */
.lost-home-quests .lost-quest-card { cursor: pointer; transition: transform var(--lost-transition), box-shadow var(--lost-transition); }
.lost-home-quests .lost-quest-card:hover { transform: translateY(-2px); }
.lost-home-quests .lost-quest-card:hover .lost-quest-card__img { transform: scale(1.03); }
.lost-home-quests .lost-quest-card__img { transition: transform 0.4s ease; }

/* Инфографика-оверлей (свойство infografisc): проявляется при наведении. */
.lost-home-quests .lost-quest-card__features {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--lost-space-4);
  background: linear-gradient(180deg, rgba(14, 9, 17, 0) 30%, rgba(14, 9, 17, 0.55) 100%);
  opacity: 0;
  transition: opacity var(--lost-transition);
  pointer-events: none;
}
.lost-home-quests .lost-quest-card:hover .lost-quest-card__features { opacity: 1; }
.lost-home-quests .lost-quest-card__features img { max-width: 100%; max-height: 100%; object-fit: contain; }

/* CTA «Забронировать»: на всю ширину, прижата к низу карточки. */
.lost-home-quests .lost-quest-card__cta { align-self: stretch; margin-top: auto; }

/* Кнопка «Показать ещё» под сеткой квестов. */
.lost-home-quests .lost-quest-list__more {
  display: flex;
  justify-content: center;
  margin-top: var(--lost-space-8);
}
.lost-home-quests .lost-quest-list__more .lost-btn,
.lost-reviews .lost-reviews__footer .lost-btn {
  min-height: 50px;
  padding: 0 28px;
  border-radius: 14px;
  background: linear-gradient(180deg, #e23a4b, #d12b3c);
  color: #fff;
  box-shadow: 0 14px 28px rgba(209, 43, 60, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.14);
  border: 1px solid rgba(255, 255, 255, 0.08);
  transition: transform 180ms ease, filter 180ms ease, box-shadow 180ms ease;
}
.lost-home-quests .lost-quest-list__more .lost-btn:hover,
.lost-reviews .lost-reviews__footer .lost-btn:hover {
  transform: translateY(-1px);
  filter: brightness(1.04);
  box-shadow: 0 18px 34px rgba(209, 43, 60, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.16);
}
.lost-home-quests .lost-quest-list__more .lost-btn:active,
.lost-reviews .lost-reviews__footer .lost-btn:active {
  transform: translateY(0);
}

@keyframes lostReviewCardEnter {
  from {
    opacity: 0;
    transform: translateY(20px) scale(0.985);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
.lost-reviews .lost-review-card.is-enter-prepare {
  opacity: 0;
  transform: translateY(20px) scale(0.985);
}
.lost-reviews .lost-review-card.is-entering {
  animation: lostReviewCardEnter 430ms cubic-bezier(.2,.9,.22,1) both;
  animation-delay: var(--lost-review-enter-delay, 0ms);
  will-change: transform, opacity;
}
.lost-reviews .lost-review-card.is-entered {
  opacity: 1;
  transform: none;
}

@media (max-width: 767px) {
  .lost-home-quests .lost-home-quests__head {
    margin-bottom: 16px !important;
  }

  .lost-home-quests .lost-quests-filter {
    align-items: stretch;
    gap: var(--lost-space-3);
    margin-bottom: 36px !important;
  }

  .lost-home-quests .lost-quests-filter__chips {
    flex-wrap: wrap;
    overflow: visible;
    width: 100%;
    max-width: none;
    margin-right: 0;
    padding: 0;
    border-radius: 0;
    background: transparent;
  }

  .lost-home-quests .lost-quests-filter__chips::-webkit-scrollbar {
    display: none;
  }
  .lost-home-quests .lost-quests-filter__chips::before {
    display: none;
  }
  .lost-home-quests .lost-quests-filter__chips .lost-btn--chip.is-active {
    background: var(--lost-accent-purple);
    border-color: var(--lost-accent-purple);
  }
  .lost-home-quests .lost-quests-filter__chips .lost-btn--chip {
    flex: 0 0 auto;
  }
  .lost-home-quests .lost-quest-list__more .lost-btn,
  .lost-reviews .lost-reviews__footer .lost-btn {
    width: 100%;
    max-width: 320px;
  }
}

/* ==========================================================================
   Бронирование на главной: форма/modal (те же классы и JS, что на сайте)
   ========================================================================== */
body.lost-home-page .lost-booking .form_of_booking {
  grid-column: 1 / -1;
  font-family: var(--lost-font-family);
}
body.lost-home-page .lost-booking .form_of_booking:not(.lost-booking-modal--open) {
  background-color: transparent !important;
}
body.lost-home-page .lost-booking .form_of_booking .form_area {
  background: var(--lost-bg-card);
}
body.lost-home-page .lost-booking .form_of_booking .label_of_form {
  color: var(--lost-text-secondary);
  font-weight: var(--lost-fw-medium);
}
body.lost-home-page .lost-booking .form_of_booking .quest_name_of_booking {
  font-weight: var(--lost-fw-semibold);
  color: var(--lost-text-primary);
}
body.lost-home-page .lost-booking .form_of_booking input[type='text'],
body.lost-home-page .lost-booking .form_of_booking input[type='tel'],
body.lost-home-page .lost-booking .form_of_booking .fotm_wrap_inputs_wrap input {
  background: var(--lost-bg-input);
  border: 1px solid var(--lost-border-subtle);
  border-radius: var(--lost-radius-sm);
  color: var(--lost-text-primary);
  font-family: var(--lost-font-family);
}
body.lost-home-page .lost-booking .form_of_booking input::placeholder {
  color: var(--lost-text-muted);
}
body.lost-home-page .lost-booking .form_of_booking input:focus {
  border-color: var(--lost-accent-purple-hover);
  outline: none;
}
body.lost-home-page .lost-booking .counter_box .kolvo_players_btns {
  background: var(--lost-bg-card-soft);
  border-radius: var(--lost-radius-sm);
}
body.lost-home-page .lost-booking .counter_box .kolvo_players_btns:hover {
  background: var(--lost-accent-purple);
}
body.lost-home-page .lost-booking .radio_item,
body.lost-home-page .lost-booking .vehicles_item {
  border: 1px solid var(--lost-border-subtle);
  border-radius: var(--lost-radius-sm);
}
body.lost-home-page .lost-booking .radio_item.active,
body.lost-home-page .lost-booking .vehicles_item.active {
  border-color: var(--lost-accent-purple);
  background: rgba(209, 43, 60, 0.25);
}
body.lost-home-page .lost-booking .summ_wrap .summ_desk {
  color: var(--lost-text-secondary);
}
body.lost-home-page .lost-booking .summ_wrap .summ_price {
  color: var(--lost-text-primary);
  font-weight: var(--lost-fw-bold);
}
body.lost-home-page .lost-booking .btn_of_bookink {
  background: var(--lost-accent-purple);
  color: var(--lost-text-primary);
  border: none;
  border-radius: var(--lost-radius-pill);
  font-weight: var(--lost-fw-semibold);
}
body.lost-home-page .lost-booking .btn_of_bookink:hover {
  background: var(--lost-accent-purple-hover);
}

/* #18: mobile hide quest card infographics */
@media (max-width: 767px) {
  .lost-home-quests .lost-quest-card__features,
  .lost-quest-card__features {
    display: none !important;
  }
}

/* #18: booking grid only on desktop */
@media (max-width: 1023px) {
  body.lost-home-page .lost-booking--home {
    display: none !important;
  }
}

/* Стыки секций: не складывать два padding по 56–96px. */
body.lost-home-page .lost-booking--home {
  padding-block: clamp(20px, 3vw, 36px);
}
body.lost-home-page .lost-reviews {
  padding-block: clamp(28px, 4vw, 44px);
}
body.lost-home-page .lost-section.lost-certificates {
  padding-top: clamp(20px, 3vw, 36px);
}
