/* Модули Tourvisor в цветах ФастТур (29.10.2026).
   Модули рисуются прямо в странице (не в отдельном окне), поэтому их можно
   перекрашивать своими стилями — API для этого не нужен. Перекрашиваем только
   классы-«крючки» цвета, которые Tourvisor для этого и даёт (TVMainForm,
   TVButtonColor, TVFilterForm…), — их же перекрашивал прежний шаблон сайта.
   Список цветных мест снят с настоящих модулей под доменом fasttour.by.
   Не трогаем: цвета рейтинга отеля (зелёный / жёлтый / красный — это смысл),
   шрифты (Tourvisor рисует ими и значки). Правила «по кусочку имени класса»
   ([class*="button"]) не писать: на настоящих модулях они красили не то.
   Tourvisor обновляет модули (сейчас v6.27.3) — если после обновления что-то
   снова стало мятным или оранжевым, имя «крючка» поменялось: снять заново. */

/* Форма поиска: главная и страница подбора */
.tv-live-area .TVMainForm {
  background: var(--grad-diag) !important;
  border-radius: var(--r-md) !important;
}
/* Кнопка «Найти туры» и другие главные кнопки Tourvisor (в т. ч. в окнах вне модуля) */
.TVButtonColor {
  background: var(--turquoise) !important;
  border-color: var(--turquoise) !important;
  color: var(--ink) !important;
  border-radius: 14px !important;
  font-weight: 700 !important;
}
.TVButtonColor * { color: var(--ink) !important; }
.TVButtonColor.TVButtonHover:hover { background: #4FDCDC !important; }

/* Страница результатов: панель фильтров и полоса «ищем…» */
.tv-live-area .TVFilterForm { background: var(--violet-600) !important; border-radius: var(--r-md) !important; }
.tv-live-area .TVStarsFilter,
.tv-live-area .TVBudgetFilter,
.tv-live-area .TVAccommodationFilter,
.tv-live-area .TVMealFilter,
.tv-live-area .TVHotelRatingFilter,
.tv-live-area .TVAdvancedFilters,
.tv-live-area .TVFlightTypeFilter,
.tv-live-area .TVInstantConfirmationFilter { border-color: var(--violet-600) !important; }
.tv-live-area .TVProgressLine.TVActive { background: var(--turquoise) !important; }
/* Кнопка «подробнее» у карточки отеля */
.tv-live-area .TVResultItemButtonColor-colored { background: var(--violet) !important; }

/* Горящие туры: скидка, цена, кнопка */
.tv-live-area .TVHotDiscountWrapper { background: var(--violet) !important; }
.tv-live-area .TVHotPriceBlock { background: var(--ink) !important; }
.tv-live-area .TVHotButton { background: var(--violet) !important; border-color: var(--violet) !important; }
/* Хвостик ленты скидки и уголок у цены — рамки псевдоэлементов, своего класса у них нет */
.tv-live-area .TVHotDiscountWrapper::after { border-top-color: var(--violet-600) !important; }
.tv-live-area .TVHotPriceBlock::before { border-right-color: var(--ink) !important; }

/* «Основной цвет» Tourvisor: форма поиска на телефоне (TVFormBody), шапка окна результатов
   на телефоне (TVMobilePanelHeader). Окна (результаты на телефоне, карточка тура, заказ)
   Tourvisor вставляет вне модуля, прямо в страницу, — поэтому правила без .tv-live-area. */
.TVMainColor { background: var(--grad-diag) !important; }
.TVSideNavContent.TVMainColor { background: var(--violet) !important; }
.TVSideNav .TVResultItemButtonColor-colored,
.TVSideNav .TVResultItemButtonColor-dark { background: var(--grad) !important; }

/* Календарь и прочие модули — основной цвет, если в кабинете включён.
   TVCountryFilter не трогать: это ещё и поле «Страна» в форме поиска. */
.tv-live-area .TVCalMainColor,
.tv-live-area .TVHotMainColor-ES,
.tv-live-area .TVMinPFilterWrap { background-color: var(--violet) !important; }

/* Кнопка заявки «Подберите мне тур» — как главная кнопка сайта.
   Плавающая кнопка Tourvisor — только там, где мы её поставили сами. */
.tv-free-button { display: none !important; }
.tv-lead .tv-free-button { display: inline-block !important; }
.tv-lead .TVBButton.TVBColor {
  background: var(--grad) !important;
  border: 0 !important;
  border-radius: var(--r-pill) !important;
  box-shadow: var(--shadow-violet) !important;
}
.tv-lead .TVBButtonCaption,
.tv-lead .TVBButtonCaption::after { color: #fff !important; }
/* Кнопка «Отправить» в окне заявки */
.TVBWindow .TVBWSendButton.TVBColor { background: var(--grad) !important; border-radius: var(--r-pill) !important; }

/* Подписи прямо на фиолетовой плашке формы — белым (по умолчанию серые, на фиолетовом не читались):
   «из Минска» на главной, «Туры с перелётом / Отели / Горящие» на странице подбора. */
.tv-live-area .TVMainForm > .TVDepartureFilter .TVSelectContent,
.tv-live-area .TVTopFormBlock > .TVDepartureFilter .TVSelectContent,
.tv-live-area .TVSearchModeControl .TVInputRadioContent { color: #fff !important; }
.tv-live-area .TVMainForm > .TVDepartureFilter svg,
.tv-live-area .TVMainForm > .TVDepartureFilter svg *,
.tv-live-area .TVTopFormBlock > .TVDepartureFilter svg,
.tv-live-area .TVTopFormBlock > .TVDepartureFilter svg * { fill: #fff !important; stroke: #fff !important; }

/* ───────────── Страница «Подбор тура» — ближе к прототипу (29.10.2026) ─────────────
   Строка поиска — белая полоса с подписями сверху и разделителями; фильтры — светлая панель;
   кнопка «Найти туры» — фирменным переходом; карточки отелей — скруглёнными блоками.
   Устройство модуля (что где стоит) — Tourvisor, его не трогаем. */
.page-podbor .tv-search-form,
.page-podbor .tv-search-form * { font-family: var(--font-body) !important; }

/* Строка поиска */
.page-podbor .tv-live-area .TVMainForm {
  background: #fff !important;
  border-radius: var(--r-lg) !important;
  box-shadow: var(--shadow-lg) !important;
  padding: 18px 22px !important;
}
.page-podbor .tv-live-area .TVSearchModeControl .TVInputRadioContent { color: var(--grey-700) !important; }
.page-podbor .tv-live-area .TVMainFilter { background: transparent !important; border-radius: 0 !important; }
.page-podbor .tv-live-area .TVMainFilter .TVMainSelect { background: transparent !important; }
.page-podbor .tv-live-area .TVMainFilter > div + div { border-left: 1px solid var(--grey-100) !important; }
.page-podbor .tv-live-area .TVMainSelectPlaceholder { color: var(--grey-500) !important; font-size: 13px !important; text-transform: none !important; }
.page-podbor .tv-live-area .TVMainSelectContent { color: var(--ink) !important; font-weight: 600 !important; font-size: 16px !important; }

/* Панель фильтров */
.page-podbor .tv-live-area .TVFilterForm {
  background: var(--grey-50) !important;
  border-radius: var(--r-lg) !important;
  margin-top: 16px !important;
}
.page-podbor .tv-live-area .TVStarsFilter,
.page-podbor .tv-live-area .TVBudgetFilter,
.page-podbor .tv-live-area .TVAccommodationFilter,
.page-podbor .tv-live-area .TVMealFilter,
.page-podbor .tv-live-area .TVHotelRatingFilter,
.page-podbor .tv-live-area .TVAdvancedFilters,
.page-podbor .tv-live-area .TVFlightTypeFilter,
.page-podbor .tv-live-area .TVInstantConfirmationFilter,
.page-podbor .tv-live-area .TVResortTreeFilter,
.page-podbor .tv-live-area .TVHotelTreeFilter {
  border-color: var(--grey-100) !important;
  border-radius: 14px !important;
  overflow: hidden;
}
.page-podbor .tv-live-area .TVButtonColor {
  background: var(--grad) !important;
  border: 0 !important;
  border-radius: var(--r-pill) !important;
  box-shadow: var(--shadow-violet) !important;
  color: #fff !important;
}
.page-podbor .tv-live-area .TVButtonColor * { color: #fff !important; }
.page-podbor .tv-live-area .TVButtonColor.TVButtonHover:hover { background: var(--grad) !important; filter: brightness(1.06); }

/* Панель над результатами: «По цене», «Сгруппировать», «На карте», ход поиска */
.page-podbor .tv-live-area .TVResultToolbar { margin-top: 28px !important; }
.page-podbor .tv-live-area .tv-button--tone-secondary {
  border-radius: var(--r-pill) !important;
  background: #fff !important;
  box-shadow: inset 0 0 0 1px var(--grey-100) !important;
  color: var(--ink) !important;
}
.page-podbor .tv-live-area .TVResultNavigationControl { background: transparent !important; padding-left: 0 !important; padding-right: 0 !important; }
.page-podbor .tv-live-area .TVProgressBar { border-radius: var(--r-pill) !important; overflow: hidden; border-color: var(--grey-100) !important; }
.page-podbor .tv-live-area .TVProgressLine.TVActive { background: var(--grad) !important; border-radius: var(--r-pill) !important; }

/* Карточки отелей */
.page-podbor .tv-live-area .TVResultListViewBody { background: transparent !important; }
.page-podbor .tv-live-area .TVResultListViewItem { border: 0 !important; padding-bottom: 16px !important; }
.page-podbor .tv-live-area .TVHotelResultItem {
  border: 1px solid var(--grey-100) !important;
  border-radius: var(--r-lg) !important;
  overflow: hidden;
  padding: 12px !important;
  transition: box-shadow .25s var(--ease), transform .25s var(--ease);
}
.page-podbor .tv-live-area .TVHotelResultItem:hover { box-shadow: var(--shadow-md); transform: translateY(-2px); }
.page-podbor .tv-live-area .TVResultItemImageWrapper { border-radius: var(--r-md) !important; overflow: hidden; }
.page-podbor .tv-live-area .TVHotelInfoTitleLink { color: var(--ink) !important; font-weight: 700 !important; font-size: 18px !important; }
.page-podbor .tv-live-area .TVHotelInfoTitleLink:hover { color: var(--violet) !important; }
.page-podbor .tv-live-area .TVResultItemPriceValue {
  font-family: var(--font-display) !important;
  font-weight: 700 !important;
  font-size: 22px !important;
  color: var(--ink) !important;
}
.page-podbor .tv-live-area .TVResultNavButton { border-radius: var(--r-pill) !important; background: var(--grey-50) !important; color: var(--grey-700) !important; }
.page-podbor .tv-live-area .TVResultNavButton:hover { background: var(--violet-100) !important; color: var(--violet) !important; }
.page-podbor .tv-live-area .TVResultItemButtonColor-dark,
.page-podbor .tv-live-area .TVResultItemButtonColor-colored { background: var(--grad) !important; }

/* «Нужна помощь в подборе тура?» — как подсказка «Штурмана» в прототипе */
.page-podbor .tv-live-area .TVHelpRequestControl {
  background: linear-gradient(135deg, var(--violet-100), var(--turquoise-100)) !important;
  border: 1px solid rgba(119, 51, 252, .15) !important;
  border-radius: var(--r-lg) !important;
}
.page-podbor .tv-live-area .TVHelpRequestControlTitle { color: var(--ink) !important; font-weight: 700 !important; }
.page-podbor .tv-live-area .TVHelpRequestControl .tv-button {
  background: var(--violet) !important;
  border-radius: var(--r-pill) !important;
  color: #fff !important;
}
/* «Найти больше туров» */
.page-podbor .tv-live-area .tv-button--tone-accent { background: var(--grad) !important; border-radius: var(--r-pill) !important; }

/* Окно тура (TVModalContainer): шапка — светлым сиреневым переходом, как подсказки в прототипе:
   тёмные название и адрес отеля на ярком фиолетовом читались плохо. */
.TVModalContainer .TVTourCardWindowInfoBlock.TVMainColor {
  background: linear-gradient(135deg, var(--violet-100), var(--turquoise-100)) !important;
}
/* «Заявка на тур», «Найти больше туров» и прочие главные кнопки окон — фирменным переходом */
.tv-button--tone-accent {
  background: var(--grad) !important;
  border-radius: var(--r-pill) !important;
  color: #fff !important;
}
.tv-button--tone-accent * { color: #fff !important; }
/* Стрелка «подробнее» у отеля — и в модуле, и в окне результатов на телефоне */
.TVResultItemButtonColor-dark,
.TVResultItemButtonColor-colored { background: var(--grad) !important; }
