/* ==========================================================================
   Скин модуля Tourvisor под фирстиль «Санмарин» (шампань/золото/espresso).
   Модуль рендерится в нашем DOM классами TV* — красим точечно, только
   косметика (шрифт/цвета/радиусы/тени), раскладку не трогаем.
   ========================================================================== */

/* --- Шрифт: вместо Open Sans — наш Manrope (включая попапы, которые
       Tourvisor аппендит к body вне .tv-search-form) --- */
.tv-search-form,
.tv-search-form *,
body [class^="TVPopup"], body [class^="TVPopup"] *,
body [class*="TVCalendar"], body [class*="TVCalendar"] *,
body [class^="TVDropdown"], body [class^="TVDropdown"] * {
  font-family: var(--font, 'Manrope', sans-serif) !important;
}

/* --- Главная кнопка поиска и все «цветные» кнопки TV: золотой градиент --- */
.TVSearchButton,
.TVButtonColor {
  background: var(--grad-gold, linear-gradient(135deg, #EBD293 0%, #C6A24C 46%, #A57E1E 100%)) !important;
  color: var(--espresso, #1B140D) !important;
  border: 0 !important;
  border-radius: 12px !important;
  font-family: var(--font-ui, 'Montserrat', sans-serif) !important;
  font-weight: 700 !important;
  letter-spacing: .02em;
  box-shadow: 0 10px 24px -10px rgba(184, 148, 47, .7) !important;
  transition: transform .15s ease, box-shadow .2s ease, filter .15s ease;
}
.TVSearchButton:hover,
.TVButtonColor:hover {
  filter: brightness(1.06);
  transform: translateY(-1px);
  box-shadow: 0 14px 28px -10px rgba(184, 148, 47, .85) !important;
}

/* --- Поля, селекты, инпуты: белые карточки с тёплой рамкой и радиусом --- */
.tv-search-form .TVSelect,
.tv-search-form .TVMainSelect,
.tv-search-form .TVNewSearchInput,
.tv-search-form .TVInput {
  background-color: #fff !important;
  border-color: var(--line, #E5DBC6) !important;
  border-radius: 10px !important;
  color: var(--ink, #2A2118) !important;
}
.tv-search-form .TVMainSelectPlaceholder,
.tv-search-form .TVHotelsSearchPlaceholder {
  color: var(--ink-soft, #6E6151) !important;
}

/* --- Радиогруппа «Туры с перелётом / Отели / Горящие»: активный — золото --- */
.tv-search-form .TVInputRadioLabelCheck,
.tv-search-form .TVInputRadioInput:checked + * ,
.tv-search-form .TVInputRadioWrapper input:checked ~ .TVInputRadioLabel .TVInputRadioLabelCheck {
  border-color: var(--gold, #B8942F) !important;
}
.tv-search-form .TVInputRadioLabelCheck::before,
.tv-search-form .TVInputRadioLabelCheck::after {
  background: var(--gold, #B8942F) !important;
}
.tv-search-form .TVInputRadioLabel,
.tv-search-form .TVInputRadioContent {
  color: var(--ink, #2A2118) !important;
}

/* --- Иконки-акценты формы: из синего в тёплое золото --- */
.tv-search-form .TVMainFilterIcon svg,
.tv-search-form .TVMainFilterIcon svg path,
.tv-search-form .TVSelectArrow svg path {
  fill: var(--gold-deep, #8A6A1F) !important;
}

/* --- Скругление контейнера формы + лёгкая тень в стиле карточек сайта --- */
.tv-search-form .TVStandartForm,
.tv-search-form .TVInterfaceWrapper,
.tv-search-form .TVMainForm {
  border-radius: 14px !important;
}

/* --- Попапы/календарь (append к body): выделение дат и активных опций --- */
body [class*="TVCalendar"] [class*="Selected"],
body [class*="TVCalendar"] [class*="Active"],
body [class^="TVDropdown"] [class*="Selected"],
body [class^="TVDropdown"] [class*="Active"] {
  background-color: var(--gold, #B8942F) !important;
  color: #fff !important;
}
body [class*="TVCalendar"] [class*="Today"] {
  border-color: var(--gold, #B8942F) !important;
}

/* --- Ссылки внутри модуля --- */
.tv-search-form a {
  color: var(--gold-deep, #8A6A1F) !important;
}

/* --- Подложка формы: фирменный тёмный градиент вместо синего TVTheme2 --- */
.tv-search-form .TVMainForm {
  background: linear-gradient(160deg, #3A3022 0%, #241D13 100%) !important;
  border-radius: 14px !important;
}
/* Радио-переключатели и подписи на тёмной подложке */
.tv-search-form .TVMainForm .TVInputRadioContent,
.tv-search-form .TVMainForm .TVInputRadioLabel {
  color: #F3E9D3 !important;
}
.tv-search-form .TVMainForm .TVInputRadioLabelCheck {
  border-color: var(--gold-lite, #E6CB84) !important;
}
.tv-search-form .TVMainForm .TVInputRadioLabelCheck::before,
.tv-search-form .TVMainForm .TVInputRadioLabelCheck::after {
  background: var(--gold-lite, #E6CB84) !important;
}

/* --- Точка активного радио: сам элемент-кружок (не псевдо) --- */
.tv-search-form .TVInputRadioLabelCheck {
  background-color: var(--gold-lite, #E6CB84) !important;
}

/* --- МОБИЛЬНАЯ РАСКЛАДКА: модуль сам не адаптируется к узким экранам
       (десктопная сетка ~625px). Принудительный вертикальный стек. --- */
@media (max-width: 700px) {
  .tv-search-form { overflow-x: hidden; }
  .tv-search-form .TVStandartForm,
  .tv-search-form .TVInterfaceWrapper,
  .tv-search-form .TVMainForm,
  .tv-search-form .TVSearchingForm { width: 100% !important; min-width: 0 !important; }
  .tv-search-form .TVMainForm > div,
  .tv-search-form .TVSearchingFormFlexBlock,
  .tv-search-form .TVTopFormBlock { display: flex !important; flex-wrap: wrap !important; min-width: 0 !important; }
  .tv-search-form .TVDepartureFilter,
  .tv-search-form .TVSearchFormMode,
  .tv-search-form .TVHotelTourDetailSearchFilter,
  .tv-search-form .TVHotelDetailSearchFilter,
  .tv-search-form .TVMainFilter,
  .tv-search-form .TVFlyDatesFilter,
  .tv-search-form .TVTripDurationFilter,
  .tv-search-form .TVTouristsFilter,
  .tv-search-form .TVMainSelect,
  .tv-search-form .TVFlyDatesSelect,
  .tv-search-form .TVSearchButton { width: 100% !important; min-width: 0 !important; flex: 1 1 100% !important; }
  .tv-search-form .TVSearchButton { margin-top: 8px !important; }
}
