

/* Start:/local/templates/travelsoft/css/home.css?178877180443447*/
/* ==================================================================
   Блоки главной страницы (редакция 05.09.2026)

   Отдельный файл, а не дописывание в styles.css: тот на 89 КБ и грузится
   на каждой странице, а эти правила нужны главной и 404. Подключается
   через $APPLICATION->SetAdditionalCSS() из index.php и 404.php.

   Опирается на слой токенов из styles.css (--it-blue, --it-orange, …) —
   свои литералы цветов здесь не заводим, иначе следующая перекраска снова
   пойдёт руками по файлам.

   Ритм страницы. Аудит отдельно отмечает, что все блоки сайта — белые
   карточки на бежевом, без чередования и разделителей, отсюда ощущение
   монотонности. Поэтому здесь три фона: белый (--home-bg-white),
   кремовый (--home-bg-cream) и тёмно-синий с вывороткой (--home-bg-dark),
   и они чередуются.
   ================================================================== */

:root {
    --home-bg-white: var(--it-white, #fff);
    --home-bg-cream: var(--it-cream, #fff9ec);
    --home-bg-dark: var(--it-blue-dark, #030572);
    --home-radius: 14px;
    --home-gap: 20px;
    /* Полоса воздуха между блоками. На мобильном ужимается: правило
       «один блок — один экран» иначе не выполняется. */
    --home-pad-y: 56px;
}

/* ---------------- каркас блока ---------------- */

.home-block {
    padding: var(--home-pad-y) 0;
    background: var(--home-bg-white);
    color: var(--it-ink, #161616);
}

.home-block--cream {
    background: var(--home-bg-cream);
}

.home-block--dark {
    background: var(--home-bg-dark);
    color: var(--it-white, #fff);
}

.home-block__head {
    margin-bottom: 28px;
}

.home-block__title {
    margin: 0 0 8px;
    font-size: clamp(22px, 2.4vw, 32px);
    font-weight: 600;
    line-height: 1.2;
    color: inherit;
}

.home-block__subtitle {
    margin: 0;
    max-width: 62ch;
    font-size: 15px;
    line-height: 1.55;
    color: inherit;
    opacity: .75;
}

.home-block__more {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 24px;
    font-weight: 500;
    color: var(--it-blue, #0e0adb);
}

.home-block--dark .home-block__more {
    color: var(--it-white, #fff);
}

.home-block__more:hover {
    color: var(--it-orange, #f17105);
}

/* ---------------- баннер и вводный блок ----------------

   Первый экран — рекламный баннер-слайдер: это оффер, который компания
   продаёт прямо сейчас, и он обновляется из админки. Полноэкранный hero
   с фотографией отсюда убран по решению оператора.

   Под баннером — узкая полоса с H1, оффером и тремя маркерами. Она не
   декоративная: до правок на главной было ноль H1 и ноль H2, и для поиска
   у страницы не было темы вообще. */

.home-block--banner {
    padding: 22px 0 0;
    background: var(--home-bg-cream);
}

.home-intro {
    padding: 22px 0 38px;
    background: var(--home-bg-cream);
}

/* Поиск идёт первым, заголовок под ним: сначала действие, потом текст.
   Заголовок и кнопка стоят в одну строку — так блок остаётся полосой,
   а не отжимает контент страницы вниз на целый экран. */
.home-intro__pitch {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 330px);
    gap: 24px 40px;
    align-items: center;
    margin-top: 26px;
}

.home-intro__cta {
    text-align: center;
}

.home-intro__cta-btn {
    width: 100%;
    padding: 16px 22px;
    font-size: 16px;
}

.home-intro__cta-btn svg {
    width: 18px;
    height: 18px;
    fill: currentColor;
}

.home-intro__cta-note {
    margin: 10px 0 0;
    font-size: 12.5px;
    line-height: 1.5;
    color: #6b6b78;
}

.home-intro__title {
    margin: 0 0 10px;
    max-width: 24ch;
    font-size: clamp(24px, 3vw, 38px);
    font-weight: 600;
    line-height: 1.12;
    color: var(--it-blue-dark, #030572);
}

.home-intro__lead {
    margin: 0 0 18px;
    max-width: 62ch;
    font-size: clamp(14px, 1.2vw, 17px);
    line-height: 1.5;
    color: #4a4a57;
}

.home-intro__lead b {
    font-weight: 600;
    color: var(--it-ink, #161616);
}

/* Ровно три маркера — правило трёх из методики. Четвёртый теряется. */
.home-intro__markers {
    display: flex;
    flex-wrap: wrap;
    gap: 9px 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.home-intro__marker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 7px 14px 7px 11px;
    border: 1px solid rgba(3, 5, 114, .14);
    border-radius: 999px;
    background: var(--it-white, #fff);
    font-size: 14px;
    line-height: 1.3;
    color: var(--it-ink, #161616);
}

.home-intro__marker svg {
    flex: none;
    width: 16px;
    height: 16px;
    fill: var(--it-orange, #f17105);
}

.home-intro__search {
    border-radius: var(--home-radius);
    background: var(--it-white, #fff);
    box-shadow: 0 10px 30px rgba(3, 5, 114, .1);
}

.home-intro__search .main-search-input-tabs {
    margin: 0;
}

/* Фон и заливка первого экрана остались нужны странице 404 —
   там баннера нет, и градиент по-прежнему заменяет фотографию. */
.home-hero {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(120% 140% at 80% 0%, #1a52c8 0%, transparent 60%),
        linear-gradient(135deg, var(--it-blue, #0e0adb) 0%, var(--it-blue-dark, #030572) 100%);
    color: var(--it-white, #fff);
}

.home-hero__shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(3, 5, 114, .55) 0%, rgba(3, 5, 114, .78) 100%);
}

.home-hero__inner {
    position: relative;
    z-index: 1;
    padding: 52px 0 32px;
}

.home-hero__title {
    margin: 0 0 14px;
    max-width: 18ch;
    font-size: clamp(28px, 4vw, 50px);
    font-weight: 600;
    line-height: 1.08;
    color: var(--it-white, #fff);
}

.home-hero__lead {
    margin: 0 0 22px;
    max-width: 56ch;
    font-size: clamp(15px, 1.4vw, 19px);
    line-height: 1.5;
    color: rgba(255, 255, 255, .92);
}

.home-hero__search {
    margin-top: 6px;
    border-radius: var(--home-radius);
    background: var(--it-white, #fff);
    box-shadow: 0 18px 42px rgba(3, 5, 114, .28);
}

.home-hero__search .main-search-input-tabs {
    margin: 0;
}

/* ---------------- сетка плиток ---------------- */

.tiles-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--home-gap);
}

.tiles-grid--3 {
    grid-template-columns: repeat(3, 1fr);
}

.tile {
    position: relative;
    display: block;
    overflow: hidden;
    aspect-ratio: 3 / 2;
    border-radius: var(--home-radius);
    background: #dfe3ee;
    color: var(--it-white, #fff);
    text-decoration: none;
    isolation: isolate;
}

.tile__img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .45s ease;
}

.tile:hover .tile__img {
    transform: scale(1.06);
}

/* Градиентная подложка под подпись. Без неё белый текст на светлых
   фотографиях (Египет, Индия на /tours/) практически пропадает —
   это отдельная находка аудита, часть VII п. 8. */
.tile__body {
    position: absolute;
    inset: auto 0 0 0;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 44px 16px 14px;
    background: linear-gradient(180deg, rgba(3, 5, 114, 0) 0%, rgba(3, 5, 114, .82) 62%, rgba(3, 5, 114, .92) 100%);
}

.tile--no-image .tile__body {
    background: linear-gradient(180deg, var(--it-blue, #0e0adb) 0%, var(--it-blue-dark, #030572) 100%);
    inset: 0;
    justify-content: flex-end;
}

.tile__name {
    font-size: 18px;
    font-weight: 600;
    line-height: 1.2;
}

.tile__note {
    font-size: 13px;
    line-height: 1.35;
    color: rgba(255, 255, 255, .82);
}

.tile__price {
    margin-top: 4px;
    font-size: 15px;
    font-weight: 600;
    color: var(--it-orange, #f17105);
}

.tile:hover .tile__name {
    color: var(--it-white, #fff);
}

/* ---------------- «в цифрах» ---------------- */

.home-figures {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.home-figures__item {
    padding: 22px 18px;
    border-radius: var(--home-radius);
    background: rgba(255, 255, 255, .08);
    text-align: center;
}

.home-figures__value {
    display: block;
    font-size: clamp(28px, 3.4vw, 42px);
    font-weight: 600;
    line-height: 1;
    color: var(--it-orange, #f17105);
}

.home-figures__label {
    display: block;
    margin-top: 8px;
    font-size: 14px;
    line-height: 1.4;
    color: rgba(255, 255, 255, .86);
}

/* ---------------- преимущества, три штуки ---------------- */

.home-usp {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--home-gap);
}

.home-usp__item {
    padding: 24px 22px;
    border: 1px solid rgba(3, 5, 114, .1);
    border-radius: var(--home-radius);
    background: var(--it-white, #fff);
}

.home-usp__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    margin-bottom: 14px;
    border-radius: 12px;
    background: rgba(241, 113, 5, .12);
}

.home-usp__icon svg {
    width: 24px;
    height: 24px;
    fill: var(--it-orange, #f17105);
}

.home-usp__title {
    margin: 0 0 8px;
    font-size: 17px;
    font-weight: 600;
    line-height: 1.25;
    color: var(--it-ink, #161616);
}

.home-usp__text {
    margin: 0;
    font-size: 14px;
    line-height: 1.55;
    color: #5a5a66;
}

/* ---------------- FAQ ---------------- */

.home-faq {
    display: grid;
    gap: 10px;
    max-width: 900px;
}

.home-faq__item {
    border: 1px solid rgba(3, 5, 114, .12);
    border-radius: var(--home-radius);
    background: var(--it-white, #fff);
}

.home-faq__q {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    width: 100%;
    margin: 0;
    padding: 16px 18px;
    border: 0;
    background: none;
    font-family: inherit;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.4;
    text-align: left;
    color: var(--it-ink, #161616);
    cursor: pointer;
}

.home-faq__q::after {
    content: "";
    flex: none;
    width: 10px;
    height: 10px;
    margin-top: 6px;
    border-right: 2px solid var(--it-blue, #0e0adb);
    border-bottom: 2px solid var(--it-blue, #0e0adb);
    transform: rotate(45deg);
    transition: transform .25s ease;
}

.home-faq__item.is-open .home-faq__q::after {
    transform: rotate(-135deg);
}

.home-faq__a {
    padding: 0 18px 18px;
    font-size: 15px;
    line-height: 1.6;
    color: #5a5a66;
}

/* ---------------- квиз ----------------

   Секция квиза стоит на фотографии, а не на сплошной заливке: ровный
   тёмно-синий на всю ширину экрана давит и режет глаз, особенно рядом
   с белыми карточками вариантов. Фотография под плотным затемнением
   даёт ту же контрастную паузу в ритме страницы, но живую.

   Кадр намеренно не повторяет ни одну из карточек ответов (Стена, павильон
   в Корее, бухта в Азии): один и тот же снимок дважды на расстоянии двух
   строк читается как ошибка вёрстки. Здесь горы в тумане — фактура без
   сюжета: она держит фон живым и не спорит с карточками за внимание. */

.home-block--quiz {
    position: relative;
    background:
        linear-gradient(180deg, rgba(3, 5, 114, .78) 0%, rgba(3, 5, 114, .9) 100%),
        url("/local/templates/travelsoft/css/../img/quiz/bg.webp") center / cover no-repeat;
}

/* Фон фиксируем только на десктопе: background-attachment: fixed на iOS
   работает рывками и роняет плавность прокрутки. */
@media (min-width: 992px) and (hover: hover) {
    .home-block--quiz {
        background-attachment: scroll, fixed;
    }
}



.home-quiz {
    position: relative;
    overflow: hidden;
    padding: 30px;
    border-radius: 18px;
    background: var(--it-white, #fff);
    box-shadow: 0 20px 48px rgba(3, 5, 114, .16);
    color: var(--it-ink, #161616);
}

/* ------------------------------------------------------------------
   Прогресс шагами.

   Была полоска и подпись «шаг 2 из 4». Она отвечала на вопрос «сколько
   пройдено», но не отвечала на «что ещё спросят» — а бросают квиз
   именно тогда, когда не видно конца. Четыре подписанных шага показывают
   весь путь сразу, пройденные отмечены галочкой.

   Соединительная линия рисуется псевдоэлементом от кружка вправо;
   у последнего шага её нет.
   ------------------------------------------------------------------ */

.quiz-steps {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
    margin: 0 0 24px;
    padding: 0;
    list-style: none;
    counter-reset: quiz-step;
}

.quiz-steps__item {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    text-align: center;
}

/* Линия между шагами. Тянется вправо от центра кружка до центра
   следующего, поэтому ширина 100%, а не расстояние между краями. */
.quiz-steps__item:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 15px;
    left: 50%;
    width: 100%;
    height: 2px;
    background: rgba(3, 5, 114, .12);
    transition: background-color .25s ease;
}

.quiz-steps__item.is-done:not(:last-child)::after {
    background: var(--it-orange, #f17105);
}

.quiz-steps__dot {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border: 2px solid rgba(3, 5, 114, .14);
    border-radius: 50%;
    background: var(--it-white, #fff);
    font-size: 14px;
    font-weight: 600;
    color: #8a8a99;
    transition: border-color .2s ease, background-color .2s ease, color .2s ease;
}

.quiz-steps__tick {
    display: none;
    width: 16px;
    height: 16px;
    fill: #fff;
}

.quiz-steps__item.is-current .quiz-steps__dot {
    border-color: var(--it-orange, #f17105);
    color: var(--it-orange, #f17105);
    box-shadow: 0 0 0 4px rgba(241, 113, 5, .14);
}

.quiz-steps__item.is-done .quiz-steps__dot {
    border-color: var(--it-orange, #f17105);
    background: var(--it-orange, #f17105);
}

.quiz-steps__item.is-done .quiz-steps__num {
    display: none;
}

.quiz-steps__item.is-done .quiz-steps__tick {
    display: block;
}

.quiz-steps__label {
    font-size: 12.5px;
    line-height: 1.2;
    color: #8a8a99;
    transition: color .2s ease;
}

.quiz-steps__item.is-current .quiz-steps__label {
    font-weight: 600;
    color: var(--it-ink, #161616);
}

.quiz-steps__item.is-done .quiz-steps__label {
    color: #6b6b78;
}

/* Высота шагов разная — от 200-пиксельных карточек с фотографиями до
   формы контакта. Без общего минимума страница дёргается на каждом
   переходе, и кнопка «Дальше» уезжает из-под курсора. */
.home-quiz__body {
    min-height: 306px;
}

.home-quiz__step {
    display: none;
}

.home-quiz__step.is-active {
    display: block;
}

.home-quiz__q {
    margin: 0 0 6px;
    font-size: clamp(18px, 2vw, 24px);
    font-weight: 600;
    line-height: 1.25;
}

.home-quiz__hint {
    margin: 0 0 18px;
    font-size: 14px;
    color: #6b6b78;
}

/* Варианты — карточки. Первый шаг с фотографиями направлений, остальные
   с иконками: у «через 2–3 месяца» фотографии быть не может, а пустая
   карточка рядом с фотографической выглядит как недогруженная. */
.home-quiz__options {
    display: grid;
    gap: 14px;
}

.home-quiz__options--cards {
    grid-template-columns: repeat(4, 1fr);
}

.home-quiz__options--icons {
    grid-template-columns: repeat(4, 1fr);
}

.quiz-card {
    position: relative;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    padding: 0;
    border: 2px solid rgba(3, 5, 114, .12);
    border-radius: 14px;
    background: var(--it-white, #fff);
    font-family: inherit;
    text-align: left;
    cursor: pointer;
    transition: border-color .18s ease, transform .12s ease, box-shadow .18s ease;
}

.quiz-card:hover {
    border-color: var(--it-orange, #f17105);
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(3, 5, 114, .12);
}

.quiz-card.is-selected {
    border-color: var(--it-orange, #f17105);
    box-shadow: 0 0 0 3px rgba(241, 113, 5, .18);
}

.quiz-card__media {
    display: block;
    aspect-ratio: 3 / 2;
    overflow: hidden;
    background: #dfe3ee;
}

.quiz-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .4s ease;
}

.quiz-card:hover .quiz-card__media img {
    transform: scale(1.06);
}

/* Карточка без фотографии: фирменный градиент вместо серой пустоты. */
.quiz-card__icon {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 3 / 2;
    background: linear-gradient(140deg, var(--it-blue, #0e0adb) 0%, var(--it-blue-dark, #030572) 100%);
}

.quiz-card__icon::after {
    content: "";
    position: absolute;
    width: 128px;
    height: 128px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 255, 255, .18) 0%, rgba(255, 255, 255, 0) 70%);
}

.quiz-card__icon svg {
    position: relative;
    width: 56px;
    height: 56px;
    fill: rgba(255, 255, 255, .95);
}

/* Шаги без фотографий.

   Иконка висела прямо на белом фоне размером 30px и читалась как значок
   в списке, а не как выбор: четыре почти пустые карточки выглядели
   бледнее, чем ряд фотографий на первом шаге, и шаг проваливался
   по «весу». Сажаем фигуру в круг с фирменной заливкой — карточка
   получает центр тяжести, а выбранная заливается оранжевым целиком. */
.home-quiz__options--icons .quiz-card__icon {
    aspect-ratio: auto;
    padding: 4px 0;
    background: none;
}

/* Свечение нужно только карточке на градиенте (первый шаг): на белом
   фоне шагов 2–3 оно всё равно невидимо, но лишний слой ни к чему. */
.home-quiz__options--icons .quiz-card__icon::after {
    display: none;
}

.home-quiz__options--icons .quiz-card__icon::before {
    content: "";
    position: absolute;
    width: 74px;
    height: 74px;
    border-radius: 50%;
    background: rgba(14, 10, 219, .07);
    transition: background-color .18s ease, transform .18s ease;
}

.home-quiz__options--icons .quiz-card__icon svg {
    position: relative;
    width: 34px;
    height: 34px;
    fill: var(--it-blue, #0e0adb);
    transition: fill .18s ease;
}

.home-quiz__options--icons .quiz-card:hover .quiz-card__icon::before {
    background: rgba(241, 113, 5, .12);
    transform: scale(1.06);
}

.home-quiz__options--icons .quiz-card.is-selected .quiz-card__icon::before {
    background: var(--it-orange, #f17105);
}

.home-quiz__options--icons .quiz-card.is-selected .quiz-card__icon svg {
    fill: #fff;
}

.home-quiz__options--icons .quiz-card:hover .quiz-card__icon svg {
    fill: var(--it-orange, #f17105);
}

/* Карточки без фотографии ростом с фотографические: иначе ряд шагов
   «когда» и «сколько человек» проваливался вдвое ниже первого шага,
   и блок квиза дёргался по высоте на каждом переходе. */
.home-quiz__options--icons .quiz-card {
    align-items: center;
    justify-content: center;
    gap: 14px;
    min-height: 188px;
    padding: 18px 0;
    text-align: center;
}

.home-quiz__options--icons .quiz-card__body {
    padding: 0 12px;
}

.quiz-card__body {
    display: block;
    padding: 12px 14px 14px;
}

.quiz-card__title {
    display: block;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.25;
    color: var(--it-ink, #161616);
}

.quiz-card__note {
    display: block;
    margin-top: 4px;
    font-size: 12.5px;
    line-height: 1.35;
    color: #6b6b78;
}

/* Галочка выбора. Без неё выбранная карточка отличалась только рамкой,
   а на шаге с фотографиями рамка тонет в самой картинке. */
.quiz-card__check {
    position: absolute;
    top: 10px;
    right: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: var(--it-orange, #f17105);
    opacity: 0;
    transform: scale(.6);
    transition: opacity .18s ease, transform .18s ease;
}

.quiz-card__check svg {
    width: 15px;
    height: 15px;
    fill: #fff;
}

.quiz-card.is-selected .quiz-card__check {
    opacity: 1;
    transform: scale(1);
}

/* Ответы, которые человек уже дал.

   Показываем их на последнем шаге: там он видит только поле «телефон»,
   а три предыдущих ответа успели уехать с экрана. Чипсы возвращают их
   на глаза — подборку соберут именно под это, обмен перестаёт выглядеть
   односторонним. */
.quiz-recap {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 16px;
}

.quiz-recap__chip {
    display: inline-flex;
    align-items: center;
    padding: 6px 13px;
    border: 1px solid rgba(14, 10, 219, .16);
    border-radius: 999px;
    background: rgba(14, 10, 219, .05);
    font-size: 13px;
    font-weight: 500;
    line-height: 1.3;
    color: var(--it-blue-dark, #030572);
}

/* Обещания на шаге контакта — снимают страх «сейчас начнут звонить». */
.home-quiz__perks {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin-bottom: 18px;
}

.home-quiz__perk {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 12px 14px;
    border-radius: 10px;
    background: var(--home-bg-cream);
    font-size: 13px;
    line-height: 1.35;
}

/* Иконка в кружке: на кремовой плашке оранжевая фигура 18px терялась,
   а часы вовсе читались сплошным пятном. */
.home-quiz__perk-icon {
    flex: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: rgba(241, 113, 5, .12);
    color: var(--it-orange, #f17105);
}

.home-quiz__perk-icon svg {
    width: 18px;
    height: 18px;
}

.home-quiz__fields {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
    margin-bottom: 14px;
}

.home-quiz__actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 22px;
}

.home-quiz__back {
    padding: 12px 18px;
    border: 0;
    border-radius: 10px;
    background: none;
    font-family: inherit;
    font-size: 15px;
    color: #6b6b78;
    cursor: pointer;
}

.home-quiz__back[hidden] {
    visibility: hidden;
}

.home-quiz__done {
    display: none;
    padding: 20px 0;
    text-align: center;
}

.home-quiz.is-done .home-quiz__done {
    display: block;
}

.home-quiz.is-done .home-quiz__body,
.home-quiz.is-done .home-quiz__actions,
.home-quiz.is-done .quiz-steps {
    display: none;
}

.home-quiz__done-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    margin-bottom: 14px;
    border-radius: 50%;
    background: rgba(111, 193, 0, .16);
}

.home-quiz__done-icon svg {
    width: 28px;
    height: 28px;
    fill: var(--it-green, #6fc100);
}

/* ---------------- поля и кнопки форм ---------------- */

/* Лейбл НАД полем, а не плейсхолдером: плейсхолдер исчезает при вводе,
   и человек забывает, что он вводил. Правило 6.4 методики CTA. */
.itd-field {
    display: block;
}

.itd-field__label {
    display: block;
    margin-bottom: 6px;
    font-size: 13px;
    font-weight: 500;
    color: #4a4a57;
}

.itd-field__input {
    width: 100%;
    padding: 13px 14px;
    border: 1.5px solid rgba(3, 5, 114, .16);
    border-radius: 10px;
    background: var(--it-white, #fff);
    font-family: inherit;
    /* 16px обязательны: на iOS поле меньше 16px заставляет браузер зумить
       страницу при фокусе. Это же причина, по которой в шаблоне до сих пор
       стоит user-scalable=no — снимать запрет можно только вместе с этим. */
    font-size: 16px;
    line-height: 1.3;
    color: var(--it-ink, #161616);
}

.itd-field__input:focus {
    border-color: var(--it-orange, #f17105);
    outline: none;
}

/* Главная целевая кнопка — оранжевая.
   До этой правки лид-кнопка была того же цвета, что фон шапки и кнопка
   cookie-баннера: акцент стоял на поиске, а заявка визуально равнялась
   служебному элементу. Аудит, раздел 5.1. */
.itd-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 14px 26px;
    border: 0;
    border-radius: 10px;
    background: var(--it-orange, #f17105);
    font-family: inherit;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.2;
    color: var(--it-white, #fff);
    text-decoration: none;
    cursor: pointer;
    transition: background .2s ease, transform .1s ease;
}

.itd-btn:hover {
    background: #d96504;
    color: var(--it-white, #fff);
}

.itd-btn:active {
    transform: translateY(1px);
}

.itd-btn[disabled] {
    background: #c9ccd8;
    cursor: not-allowed;
}

.itd-btn--ghost {
    background: transparent;
    border: 1.5px solid rgba(255, 255, 255, .5);
    color: var(--it-white, #fff);
}

.itd-btn--ghost:hover {
    background: rgba(255, 255, 255, .12);
}

/* «Что будет потом» — снимает страх неизвестности перед отправкой. */
.itd-afterword {
    margin: 10px 0 0;
    font-size: 12.5px;
    line-height: 1.5;
    color: #6b6b78;
}

.itd-consent {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    margin: 14px 0 0;
    font-size: 12.5px;
    line-height: 1.45;
    color: #6b6b78;
}

.itd-consent input {
    flex: none;
    margin-top: 2px;
}

.itd-error {
    margin-top: 10px;
    font-size: 13px;
    color: var(--it-red, #fc1313);
}

/* ---------------- мессенджеры ---------------- */

.itd-messengers {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.itd-messengers__link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    border: 1.5px solid rgba(3, 5, 114, .16);
    border-radius: 999px;
    font-size: 14px;
    font-weight: 500;
    color: var(--it-ink, #161616);
}

.itd-messengers__link:hover {
    border-color: var(--it-orange, #f17105);
    color: var(--it-ink, #161616);
}

.itd-messengers__link svg {
    width: 18px;
    height: 18px;
    fill: currentColor;
}

/* ---------------- sticky-bar на мобильном ---------------- */

/* На главной не было ни одного постоянно доступного CTA: единственная форма
   лежала в самом низу. Для туризма с 76 % мобильного трафика это обязательный
   элемент — кнопка должна быть под большим пальцем при любом скролле. */
.itd-sticky {
    display: none;
}

@media (max-width: 767px) {
    .itd-sticky {
        position: fixed;
        inset: auto 0 0 0;
        z-index: 1040;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 8px;
        padding: 8px 10px calc(8px + env(safe-area-inset-bottom, 0px));
        background: rgba(255, 255, 255, .96);
        box-shadow: 0 -6px 20px rgba(3, 5, 114, .14);
        backdrop-filter: blur(6px);
    }

    .itd-sticky__btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 7px;
        padding: 13px 10px;
        border-radius: 10px;
        font-size: 15px;
        font-weight: 500;
        text-decoration: none;
    }

    .itd-sticky__btn--call {
        border: 1.5px solid var(--it-blue, #0e0adb);
        color: var(--it-blue, #0e0adb);
    }

    .itd-sticky__btn--lead {
        background: var(--it-orange, #f17105);
        color: var(--it-white, #fff);
    }

    .itd-sticky__btn svg {
        width: 17px;
        height: 17px;
        fill: currentColor;
    }

    /* Плавающие кнопки перекрывали подвал — в проекте это уже чинили
       (коммит b6223c01). Держим тот же приём для нового бара. */
    body.has-sticky-cta .main-footer,
    body.has-sticky-cta footer {
        padding-bottom: 76px;
    }
}

/* ---------------- адаптив ---------------- */

@media (max-width: 1199px) {
    .tiles-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .home-quiz__options {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 991px) {
    .home-usp,
    .tiles-grid--3 {
        grid-template-columns: repeat(2, 1fr);
    }

    .home-figures {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 767px) {
    :root {
        --home-pad-y: 38px;
        --home-gap: 14px;
    }

    .tiles-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    /* .home-hero остался только у страницы 404 — там нет баннера,
       и градиент по-прежнему заменяет фотографию. */
    .home-hero__inner {
        padding: 30px 0 24px;
    }

    .home-intro {
        padding: 20px 0 30px;
    }

    .home-intro__pitch {
        grid-template-columns: 1fr;
        gap: 18px;
        margin-top: 20px;
    }

    .home-intro__cta {
        text-align: left;
    }

    .home-intro__markers {
        gap: 8px;
    }

    .home-intro__marker {
        font-size: 13px;
        padding: 6px 12px 6px 10px;
    }

    .home-usp,
    .tiles-grid--3,
    .home-quiz__options,
    .home-quiz__perks,
    .home-quiz__fields {
        grid-template-columns: 1fr;
    }

    .home-quiz {
        padding: 20px 16px;
    }

    .tile__name {
        font-size: 16px;
    }

    /* Плитки на мобильном чуть выше — иначе подпись съедает картинку. */
    .tile {
        aspect-ratio: 4 / 3;
    }
}

/* На узком экране «Направление» в колонке шириной 70px ломается на три
   строки и ряд разъезжается по высоте. Подписи убираем — номера и линия
   прогресса читаются сами по себе. */
@media (max-width: 559px) {
    .quiz-steps__label {
        display: none;
    }

    .quiz-steps {
        margin-bottom: 20px;
    }

    .home-quiz__body {
        min-height: 0;
    }
}

@media (max-width: 479px) {
    .tiles-grid {
        grid-template-columns: 1fr;
    }

    .home-figures {
        grid-template-columns: 1fr;
    }
}

/* ---------------- страница 404 ---------------- */

/* Без фотографии, только фирменный градиент из .home-hero: 404 не должна
   выглядеть нарядно, её задача — быстро увести человека дальше. */
.home-hero--404 .home-hero__shade {
    background: linear-gradient(135deg, var(--it-blue, #0e0adb) 0%, var(--it-blue-dark, #030572) 100%);
}

.error-404__code {
    margin: 0 0 6px;
    font-size: clamp(44px, 7vw, 82px);
    font-weight: 700;
    line-height: 1;
    letter-spacing: -.02em;
    /* Цифра — декорация, а не заголовок: раньше она была отдельным H1,
       и на странице оказывалось три H1 сразу. */
    color: rgba(255, 255, 255, .28);
}

/* ---------------- развод всплывашек по нижней полосе ----------------

   У низа экрана на мобильном одновременно претендуют четыре элемента:
   cookie-баннер (fixed, z 9999), кнопка чата Talk-Me, кнопка «наверх»
   и наша новая панель CTA. Аудит отдельно отмечает перекрытия — баннер
   ложится поверх карточек, виджет чата накрывает стрелку карусели.

   Разводим их по вертикали, а не по z-index: перекрытие кнопкой кнопки
   нельзя починить порядком слоёв, элемент всё равно останется недоступным
   для нажатия.

   Селекторы виджетов внешние, и с первого раза я взял не те. Замер
   на боевой странице при ширине 386px показал, что происходит на самом деле:

     .itd-sticky          0,778  371x62   — наша панель
     #supportTrigger    234,800  134x40   — «Задать вопрос» Talk-Me
     .TVCartStickyButton  0,750  100x70   — «Избранное» Tourvisor

   То есть кнопка чата ложилась ровно на «Подобрать тур», а «Избранное»
   Tourvisor — на «Позвонить». Прежнее правило целилось в
   .online-chat-root-TalkMe, но это статичная обёртка (position: relative);
   плавает же #supportTrigger, и позицию ему задаёт <style>, который
   виджет вставляет в head на лету:

     #supportTrigger { bottom: 0 !important; right: 3px !important; }

   Поэтому мало !important — нужен ещё вес: правило виджета вставляется
   в документ ПОЗЖЕ наших файлов, и при равной специфичности победит оно.
   Отсюда `body.has-sticky-cta #supportTrigger` — специфичность выше,
   и порядок подключения уже не важен.

   Чат уходит вправо, «Избранное» — влево, поэтому оба поднимаются
   на одну высоту и друг другу не мешают. */

@media (max-width: 767px) {
    /* Высота панели CTA: 13px паддинга сверху и снизу + 15px строка + рамка. */
    body.has-sticky-cta .cookie-notice {
        bottom: 62px;
    }

    body.has-sticky-cta .to-top {
        bottom: 132px;
    }

    /* 62px панели + 8px воздуха. */
    body.has-sticky-cta #supportTrigger {
        bottom: 70px !important;
    }

    body.has-sticky-cta .TVCartStickyButton {
        bottom: 70px !important;
    }
}

/* ---------------- специалисты ----------------

   Карточка вертикальная: фотография широкой полосой сверху, текст под ней.

   Сначала я сделал горизонтальную карточку с квадратной миниатюрой — и она
   не сработала. Кадры сняты одинаково: человек стоит справа от центра на фоне
   большого баннера и занимает примерно треть ширины. Квадрат из такого кадра
   показывает баннер, а не сотрудника, и никакой object-position это не чинит:
   при cover по вертикали слака нет, кадр отдаётся во всю высоту вместе
   со всем баннером.

   Полоса 16:9 повторяет пропорции исходника, поэтому человек виден целиком
   и в нормальном размере. Верстка идёт за материалом, а не спорит с ним. */

.staff-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--home-gap);
}

.staff-card {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border-radius: var(--home-radius);
    background: var(--it-white, #fff);
    box-shadow: 0 6px 20px rgba(3, 5, 114, .07);
}

.staff-card__photo {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    /* Кадр 4:3 в рамке 16:9 обрезается по высоте, и Y решает, какая полоса
       останется. Голова у обоих примерно на середине высоты исходника,
       поэтому 28 % показывали баннер над людьми, а не самих людей. */
    object-position: 58% 52%;
}

.staff-card__body {
    padding: 16px 18px 18px;
}

.staff-card__name {
    margin: 0 0 3px;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.2;
    color: var(--it-ink, #161616);
}

.staff-card__position {
    margin: 0 0 8px;
    font-size: 13px;
    line-height: 1.35;
    color: #6b6b78;
}

.staff-card__directions {
    margin: 0 0 14px;
    font-size: 14px;
    line-height: 1.45;
    color: var(--it-ink, #161616);
}

.staff-card__contacts {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.staff-card__link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 13px;
    border: 1.5px solid rgba(3, 5, 114, .16);
    border-radius: 999px;
    font-size: 13px;
    font-weight: 500;
    color: var(--it-ink, #161616);
    white-space: nowrap;
}

.staff-card__link svg {
    width: 15px;
    height: 15px;
    fill: var(--it-blue, #0e0adb);
}

.staff-card__link:hover {
    border-color: var(--it-orange, #f17105);
    color: var(--it-ink, #161616);
}

.staff-card__link--wa svg {
    fill: #25d366;
}

@media (max-width: 767px) {
    .staff-grid {
        grid-template-columns: 1fr;
    }
}


/* ---------------- новости и статьи ---------------- */

.news-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--home-gap);
}

.news-card {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border-radius: var(--home-radius);
    background: var(--it-white, #fff);
    box-shadow: 0 6px 20px rgba(3, 5, 114, .07);
    color: var(--it-ink, #161616);
    text-decoration: none;
    transition: transform .18s ease, box-shadow .18s ease;
}

.news-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 14px 32px rgba(3, 5, 114, .14);
    color: var(--it-ink, #161616);
}

.news-card__media {
    position: relative;
    display: block;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: #dfe3ee;
}

.news-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .4s ease;
}

.news-card:hover .news-card__media img {
    transform: scale(1.05);
}

/* Материал без фотографии не должен выглядеть недогруженным. */
.news-card__stub {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    background: linear-gradient(140deg, var(--it-blue, #0e0adb) 0%, var(--it-blue-dark, #030572) 100%);
}

.news-card__stub svg {
    width: 44px;
    height: 44px;
    fill: rgba(255, 255, 255, .5);
}

.news-card__badge {
    position: absolute;
    top: 12px;
    left: 12px;
    padding: 5px 11px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .94);
    font-size: 11.5px;
    font-weight: 600;
    letter-spacing: .01em;
    color: var(--it-blue-dark, #030572);
}

.news-card__body {
    display: block;
    padding: 16px 18px 20px;
}

.news-card__date {
    display: block;
    margin-bottom: 7px;
    font-size: 12.5px;
    color: #8a8a97;
}

.news-card__title {
    display: block;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.3;
    color: var(--it-blue-dark, #030572);
}

.news-card__text {
    display: block;
    margin-top: 8px;
    font-size: 13.5px;
    line-height: 1.5;
    color: #5a5a66;
}

@media (max-width: 991px) {
    .news-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 639px) {
    .news-grid {
        grid-template-columns: 1fr;
    }
}

/* End */


/* Start:/local/templates/travelsoft/components/travelsoft/travelsoft.news.list/home_slider_intourdv/style.css?1745493803312*/
.home-slider-main-page {
  width: 100%;
  margin-top: 1rem;
  border-radius: 12px;
  overflow: hidden;
}
.home-slider-main-page.slick-initialized.slick-slider .slick-list.draggable .slick-track .slick-slide div{
  display: flex;
}
.home-slider-main-page .slider-item:nth-child(n+1){
  display: none;
}
/* End */


/* Start:/local/templates/travelsoft/components/travelsoft/booking.main-search-form/tsoperator_intourdv/style.css?17887588719857*/
#main-search_form-with-tabs-v2 {
    z-index: 2;
    width: 100%;
    -ms-flex-item-align: baseline;
    align-self: baseline
}

#main-search_form-with-tabs-v2 .hor-scrolling {
    width: 100%;
    overflow: scroll;
    position: relative;
    min-height: 2.8rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: center;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    -ms-overflow-style: none;
    border-bottom: 0 !important;
    scrollbar-width: none
}

#main-search_form-with-tabs-v2 .hor-scrolling::-webkit-scrollbar {
    display: none
}

#main-search_form-with-tabs-v2 .card {
    border-radius: 0 4px 4px 4px;
    position: relative;
    z-index: 1;
    -webkit-box-shadow: none !important;
    box-shadow: none !important;
    border: 0;
    /* background:#fff !important; */
    padding: 0;
    margin: 0;
}

#main-search_form-with-tabs-v2 .card.hor {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row
}

#main-search_form-with-tabs-v2 .card .form-group {
    /* padding:0 .5rem; */
    -ms-flex-preferred-size: 20%;
    /* flex-basis: 20%; */
    /* -webkit-box-flex:1; */
    -ms-flex-positive: 1;
    /* flex-grow:1; */
}
#main-search_form-with-tabs-v2 .card .form-group .form-control{
    border: 0;
    background-color: unset;
    height: 55px;
    font-size: 18px;
    line-height: 22px;
    display: block;
    width: 100%;
    padding: .375rem .75rem;
    color: #495057;
    background-clip: padding-box;
    border-radius: .25rem;
    transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}
#main-search_form-with-tabs-v2 .card .form-group.class-style-fiction {
  position: relative;
}
#main-search_form-with-tabs-v2 .card .form-group label {
    display: none;
}

#main-search_form-with-tabs-v2 .card .form-group:last-child {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-top: 0;
    background: #0279c0;
}

/*@media (max-width: 1079.98px) {
    #main-search_form-with-tabs-v2 .card .form-group:last-child {
        margin:1rem auto
    }
}*/

/*#main-search_form-with-tabs-v2 .card .form-group:last-child .btn {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    max-width: 100%;
    margin: auto auto 0;
    text-align: center;
    background: #0279c0;
    border-radius: 0;
    border-radius: 6px !important;
    border: 1px solid;
    margin-left: 10px;
    border-radius: 6px;
}*/

#main-search_form-with-tabs-v2 .card #packagetours .form-group:nth-child(n+3) {
    -ms-flex-preferred-size: 15%;
    flex-basis: 15%
}

#main-search_form-with-tabs-v2 .card .btn {
    margin-top: auto;
    -ms-flex-item-align: baseline;
    align-self: baseline
}

#main-search_form-with-tabs-v2 .card-header {
    background: #fc1313
}

#main-search_form-with-tabs-v2 .card-header .h6 {
    color: white;
    z-index: 1;
    position: relative;
    display: inline-block;
    margin: 0;
    background: #fff;
    border-radius: 1.5625rem;
    padding: .5rem 1rem;
    height: 100%
}

#main-search_form-with-tabs-v2 .card-header .h6 span {
    position: relative;
    z-index: 1
}

#main-search_form-with-tabs-v2 .card-body {
    background: rgba(0,0,0,0);
    padding: 1.25rem
}

#main-search_form-with-tabs-v2 .nav {
    /*-webkit-box-pack: center;*/
    -ms-flex-pack: center;
    justify-content: center;
    height: 100%
}

#main-search_form-with-tabs-v2 .nav-link {
    border-color: transparent;
    color: #6c757d;
    padding: 8px 14px;
    font-size: 1rem;
    border-radius: 8px 8px 0 0;
    height: 100%;
    opacity: 1;
    /* margin-left: 10px; */
    border: 1px solid #0279c0;
    /* margin-right: 10px; */
    border-bottom: 0;
    cursor: pointer;
}
#main-search_form-with-tabs-v2 .nav-link:not(.active):hover
{
  border-color: transparent !important;
  background-color: #0e0adb !important;
  color: #ffffff !important;
  border-radius: 5px;
}

#main-search_form-with-tabs-v2 .nav-link.active {
    background: #0279c0;
    color: #fff;
    border-radius: 8px 8px 0 0;
    opacity: 1;
    position: relative
}

#main-search_form-with-tabs-v2 .nav-tabs {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

#main-search_form-with-tabs-v2 .tab-content {
    padding-top: 0;
    width: 100%
}

#main-search_form-with-tabs-v2 .tab-content p {
    text-align: center;
    width: 80%;
    margin: 0 auto 2rem;
    color: #898989
}
#main-search_form-with-tabs-v2 .nav-link.active:after {display:none}


@media (min-width: 1079px) {
    #main-search_form-with-tabs-v2 .card .form-group.form-group-15 {
        flex-basis: 15% !important;
    }
    #main-search_form-with-tabs-v2 .card .form-group.form-group-30 {
        flex-basis: 30% !important;
    }
    #main-search_form-with-tabs-v2 .card .form-group.form-group-10 {
        flex-basis: 10% !important;
    }
}

@media (max-width: 1079.98px) {
    #main-search_form-with-tabs-v2 {
        padding-top:0
    }

    #main-search_form-with-tabs-v2 .nav-pills {
        /*position: absolute;*/
        top: 0;
        left: 0;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
        overflow-x: scroll;
        overflow-y: hidden;
        display: -webkit-box;
    }

    #main-search_form-with-tabs-v2 .nav-item {
        /* white-space: nowrap; */
        line-height: 1;
    }

    #main-search_form-with-tabs-v2 .card .form-group {
        -ms-flex-preferred-size: 50%;
        flex-basis: 50%
    }

    #main-search_form-with-tabs-v2 .card .btn {
        margin-top: .625rem
    }

    #main-search_form-with-tabs-v2 .card #packagetours .form-group:nth-child(n+3) {
        -ms-flex-preferred-size: calc(100% / 3);
        flex-basis: calc(100% / 3)
    }
}

@media (max-width: 839.98px) {
    #main-search_form-with-tabs-v2 {
        height:auto
    }

    #main-search_form-with-tabs-v2 .row {
        margin: 0
    }
}

@media (max-width: 659.98px) {
    #main-search_form-with-tabs-v2 .card .form-group {
        -ms-flex-preferred-size:100%;
        flex-basis: 100%
    }

    #main-search_form-with-tabs-v2 .card #packagetours .form-group:nth-child(n+3) {
        -ms-flex-preferred-size: 100% !important;
        flex-basis: 100% !important
    }
}

#main-search_form-with-tabs-v2{
    background-color: #ffffff!important;
    /*margin-top: 1rem;*/
    padding: 0rem 1rem 0rem;
    border-radius: 0 0 8px 8px;
}
#main-search_form-with-tabs-v2 .hor-scrolling{
    justify-content: flex-start;
}
#main-search_form-with-tabs-v2 .nav-link{
    /* all: unset обнуляет ВСЁ, включая cursor: pointer, который браузер
       даёт ссылкам по умолчанию. Табы «Туры / Китай / Экскурсионные туры»
       выглядели кликабельными, но под курсором оставались стрелкой —
       для интерактивного элемента это читается как «не работает».
       Возвращаем руками: правило выше по файлу его задаёт, но этот блок
       идёт позже и перебивает. */
    all: unset;
    cursor: pointer;
    font-size: 15px;
    color: #0e0adb;
    font-weight: 700;
    text-transform: uppercase;
    border-width: 1px;
    border-radius: 5px;
    padding: 9px 18px 8px;

}
#main-search_form-with-tabs-v2 .nav-link.active{
    border-color: transparent !important;
    background-color: #0e0adb !important;
    color: #ffffff !important;
    border-radius: 5px;
}
#main-search_form-with-tabs-v2 .nav-item{
    position: relative;
    display: flex;
    box-sizing: border-box;
    overflow: hidden;
    border: 1px solid transparent;
    text-overflow: ellipsis;
    font-weight: 400;
    transition: all 0.2s ease;
    -webkit-transition: all 0.2s ease;
}
#main-search_form-with-tabs-v2 .booking-form{
    background: transparent!important;
    border: none!important;
    padding: 15px 1rem !important;
    border-radius: 4px!important;
    box-shadow: none!important;
}
#main-search_form-with-tabs-v2 .booking-form .form-group{
    background-color: #fff;
    border: 1px solid #D9D9D9;
margin: 0;

}
#main-search_form-with-tabs-v2 .booking-form .form-group:first-child {
    border-radius: 4px 0 0 4px;

}
#main-search_form-with-tabs-v2 .booking-form .form-group:last-child {
    border-radius: 0px 4px 4px 0px;
}
#main-search_form-with-tabs-v2 .booking-form .form-group:last-child{
    background-color: transparent!important;
    border-color: #f17105;
}
#main-search_form-with-tabs-v2 .booking-form .form-group > .btn{
    margin: 0!important;
    height: 100%;
    border: none;
    border-radius: 0 !important;
    background: #f17105;
    display: flex!important;
    width: 100%;
    gap: 0.5rem;
    align-items: center;
    justify-content: center;
}
#main-search_form-with-tabs-v2 .booking-form .form-group .clear-input-value{
    position: absolute;
    display: flex;
    height: 100%;
    right: 0;
    align-items: center;
    cursor: pointer;
    padding: 0.5rem;
}

#main-search_form-with-tabs-v2 .booking-form .form-group .card .bg-white{
    color: #000;
    background: #fff;
}
#main-search_form-with-tabs-v2 .booking-form .form-group .card .search_form__counter_content{
    padding: 1.25rem;
    display: flex;
    flex-flow: column;
}
#main-search_form-with-tabs-v2 .booking-form .form-group .card .search_form__counter_item .btn{
    margin-top: auto;
    margin-bottom: auto;
    border-radius: 50%;
}
#main-search_form-with-tabs-v2 .booking-form .form-group .card .search_form__counter_item .btn > svg{
    display: block;
}
/* End */


/* Start:/local/components/travelsoft/booking.search_form/templates/packagetours.hotels/style.css?17454937981254*/
/*@import "/local/components/travelsoft/booking.search_form/templates/packagetours.hotels/./css/main-search_form.css";*/
.search_form__counter_item_label small{
    display: none !important;
}
.search_form__counter_item_label {
    flex-basis: 55%;
    margin: auto 0;
}

.list-group-item {
    cursor: pointer;
    max-width: none!important;
}

.MuiSvgIcon-root {
    fill: currentColor;
    width: 1em;
    height: 1em;
    display: inline-block;
    font-size: 1.5rem;
    transition: fill 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
    flex-shrink: 0;
    user-select: none;
}

.list-optgroup  {
    font-weight: bold;
    text-transform: uppercase;
    cursor: default!important;
}

.list-optgroup:hover {
    background: none!important;
}

.list-group-item:not(.list-optgroup) {
    padding-left: 15px!important;
}

.packagetours-obejcts-list, .packagetours-destination-list, .packagetours-people-select {
    z-index: 1000;
}

.tsoperator__highlight {
    background: #ba7246!important;
    color: #fff!important;
}

.drp-calendar {
    margin-left: 0 !important;
}

.packagetours-transport-type-list {
    z-index: 10;
}
.packagetours-transport-type-input{
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
}

@media (min-width: 1079px) {
    .form-group-40 {
        flex-basis: 40%!important;
    }
}
/* End */


/* Start:/local/modules/travelsoft.travelbooking/plugins/daterangepicker/daterangepicker.css?17454938007659*/
.daterangepicker {
  position: absolute;
  color: inherit;
  background-color: #fff;
  border-radius: 4px;
  border: 1px solid #ddd;
  width: 278px;
  max-width: none;
  padding: 0;
  margin-top: 7px;
  top: 100px;
  left: 20px;
  z-index: 3001;
  display: none;
  font-family: arial;
  font-size: 15px;
  line-height: 1em;
}

.daterangepicker:before, .daterangepicker:after {
  position: absolute;
  display: inline-block;
  border-bottom-color: rgba(0, 0, 0, 0.2);
  content: '';
}

.daterangepicker:before {
  top: -7px;
  border-right: 7px solid transparent;
  border-left: 7px solid transparent;
  border-bottom: 7px solid #ccc;
}

.daterangepicker:after {
  top: -6px;
  border-right: 6px solid transparent;
  border-bottom: 6px solid #fff;
  border-left: 6px solid transparent;
}

.daterangepicker.opensleft:before {
  right: 9px;
}

.daterangepicker.opensleft:after {
  right: 10px;
}

.daterangepicker.openscenter:before {
  left: 0;
  right: 0;
  width: 0;
  margin-left: auto;
  margin-right: auto;
}

.daterangepicker.openscenter:after {
  left: 0;
  right: 0;
  width: 0;
  margin-left: auto;
  margin-right: auto;
}

.daterangepicker.opensright:before {
  left: 9px;
}

.daterangepicker.opensright:after {
  left: 10px;
}

.daterangepicker.drop-up {
  margin-top: -7px;
}

.daterangepicker.drop-up:before {
  top: initial;
  bottom: -7px;
  border-bottom: initial;
  border-top: 7px solid #ccc;
}

.daterangepicker.drop-up:after {
  top: initial;
  bottom: -6px;
  border-bottom: initial;
  border-top: 6px solid #fff;
}

.daterangepicker.single .daterangepicker .ranges, .daterangepicker.single .drp-calendar {
  float: none;
}

.daterangepicker.single .drp-selected {
  display: none;
}

.daterangepicker.show-calendar .drp-calendar {
  display: block;
}

.daterangepicker.show-calendar .drp-buttons {
  display: block;
}

.daterangepicker.auto-apply .drp-buttons {
  display: none;
}

.daterangepicker .drp-calendar {
  display: none;
  max-width: 270px;
}

.daterangepicker .drp-calendar.left {
  padding: 8px 0 8px 8px;
}

.daterangepicker .drp-calendar.right {
  padding: 8px;
}

.daterangepicker .drp-calendar.single .calendar-table {
  border: none;
}

.daterangepicker .calendar-table .next span, .daterangepicker .calendar-table .prev span {
  color: #fff;
  border: solid black;
  border-width: 0 2px 2px 0;
  border-radius: 0;
  display: inline-block;
  padding: 3px;
}

.daterangepicker .calendar-table .next span {
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
}

.daterangepicker .calendar-table .prev span {
  transform: rotate(135deg);
  -webkit-transform: rotate(135deg);
}

.daterangepicker .calendar-table th, .daterangepicker .calendar-table td {
  white-space: nowrap;
  text-align: center;
  vertical-align: middle;
  min-width: 32px;
  width: 32px;
  height: 24px;
  line-height: 24px;
  font-size: 12px;
  border-radius: 4px;
  border: 1px solid transparent;
  white-space: nowrap;
  cursor: pointer;
}

.daterangepicker .calendar-table {
  border: 1px solid #fff;
  border-radius: 4px;
  background-color: #fff;
}

.daterangepicker .calendar-table table {
  width: 100%;
  margin: 0;
  border-spacing: 0;
  border-collapse: collapse;
}

.daterangepicker td.available:hover, .daterangepicker th.available:hover {
  background-color: #eee;
  border-color: transparent;
  color: inherit;
}

.daterangepicker td.week, .daterangepicker th.week {
  font-size: 80%;
  color: #ccc;
}

.daterangepicker td.off, .daterangepicker td.off.in-range, .daterangepicker td.off.start-date, .daterangepicker td.off.end-date {
  background-color: #fff;
  border-color: transparent;
  color: #999;
}

.daterangepicker td.in-range {
  background-color: #ebf4f8;
  border-color: transparent;
  color: #000;
  border-radius: 0;
}

.daterangepicker td.start-date {
  border-radius: 4px 0 0 4px;
}

.daterangepicker td.end-date {
  border-radius: 0 4px 4px 0;
}

.daterangepicker td.start-date.end-date {
  border-radius: 4px;
}

.daterangepicker td.active, .daterangepicker td.active:hover {
  background-color: #357ebd;
  border-color: transparent;
  color: #fff;
}

.daterangepicker th.month {
  width: auto;
}

.daterangepicker td.disabled, .daterangepicker option.disabled {
  color: #999;
  cursor: not-allowed;
  text-decoration: line-through;
}

.daterangepicker select.monthselect, .daterangepicker select.yearselect {
  font-size: 12px;
  padding: 1px;
  height: auto;
  margin: 0;
  cursor: default;
}

.daterangepicker select.monthselect {
  margin-right: 2%;
  width: 56%;
}

.daterangepicker select.yearselect {
  width: 40%;
}

.daterangepicker select.hourselect, .daterangepicker select.minuteselect, .daterangepicker select.secondselect, .daterangepicker select.ampmselect {
  width: 50px;
  margin: 0 auto;
  background: #eee;
  border: 1px solid #eee;
  padding: 2px;
  outline: 0;
  font-size: 12px;
}

.daterangepicker .calendar-time {
  text-align: center;
  margin: 4px auto 0 auto;
  line-height: 30px;
  position: relative;
}

.daterangepicker .calendar-time select.disabled {
  color: #ccc;
  cursor: not-allowed;
}

.daterangepicker .drp-buttons {
  clear: both;
  text-align: right;
  padding: 8px;
  border-top: 1px solid #ddd;
  display: none;
  line-height: 12px;
  vertical-align: middle;
}

.daterangepicker .drp-selected {
  display: inline-block;
  font-size: 12px;
  padding-right: 8px;
}

.daterangepicker .drp-buttons .btn {
  margin-left: 8px;
  font-size: 12px;
  font-weight: bold;
  padding: 4px 8px;
}

.daterangepicker.show-ranges.single.rtl .drp-calendar.left {
  border-right: 1px solid #ddd;
}

.daterangepicker.show-ranges.single.ltr .drp-calendar.left {
  border-left: 1px solid #ddd;
}

.daterangepicker.show-ranges.rtl .drp-calendar.right {
  border-right: 1px solid #ddd;
}

.daterangepicker.show-ranges.ltr .drp-calendar.left {
  border-left: 1px solid #ddd;
}

.daterangepicker .ranges {
  float: none;
  text-align: left;
  margin: 0;
}

.daterangepicker.show-calendar .ranges {
  margin-top: 8px;
}

.daterangepicker .ranges ul {
  list-style: none;
  margin: 0 auto;
  padding: 0;
  width: 100%;
}

.daterangepicker .ranges li {
  font-size: 12px;
  padding: 8px 12px;
  cursor: pointer;
}

.daterangepicker .ranges li:hover {
  background-color: #eee;
}

.daterangepicker .ranges li.active {
  background-color: #08c;
  color: #fff;
}

/*  Larger Screen Styling */
@media (min-width: 564px) {
  .daterangepicker {
    width: auto;
  }

  .daterangepicker .ranges ul {
    width: 140px;
  }

  .daterangepicker.single .ranges ul {
    width: 100%;
  }

  .daterangepicker.single .drp-calendar.left {
    clear: none;
  }

  .daterangepicker.single .ranges, .daterangepicker.single .drp-calendar {
    float: left;
  }

  .daterangepicker {
    direction: ltr;
    text-align: left;
  }

  .daterangepicker .drp-calendar.left {
    clear: left;
    margin-right: 0;
  }

  .daterangepicker .drp-calendar.left .calendar-table {
    border-right: none;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
  }

  .daterangepicker .drp-calendar.right {
    margin-left: 0;
  }

  .daterangepicker .drp-calendar.right .calendar-table {
    border-left: none;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
  }

  .daterangepicker .drp-calendar.left .calendar-table {
    padding-right: 8px;
  }

  .daterangepicker .ranges, .daterangepicker .drp-calendar {
    float: left;
  }
}

@media (min-width: 730px) {
  .daterangepicker .ranges {
    width: auto;
  }

  .daterangepicker .ranges {
    float: left;
  }

  .daterangepicker.rtl .ranges {
    float: right;
  }

  .daterangepicker .drp-calendar.left {
    clear: none !important;
  }
}

/* End */


/* Start:/local/modules/travelsoft.travelbooking/plugins/simplebar/simplebar.css?17454938004237*/
[data-simplebar] {
  position: relative;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-content: flex-start;
  align-items: flex-start;
}

.simplebar-wrapper {
  overflow: hidden;
  width: inherit;
  height: inherit;
  max-width: inherit;
  max-height: inherit;
}

.simplebar-mask {
  direction: inherit;
  position: absolute;
  overflow: hidden;
  padding: 0;
  margin: 0;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  width: auto !important;
  height: auto !important;
  z-index: 0;
}

.simplebar-offset {
  direction: inherit !important;
  box-sizing: inherit !important;
  resize: none !important;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  padding: 0;
  margin: 0;
  -webkit-overflow-scrolling: touch;
}

.simplebar-content-wrapper {
  direction: inherit;
  box-sizing: border-box !important;
  position: relative;
  display: block;
  height: 100%; /* Required for horizontal native scrollbar to not appear if parent is taller than natural height */
  width: auto;
  max-width: 100%; /* Not required for horizontal scroll to trigger */
  max-height: 100%; /* Needed for vertical scroll to trigger */
  overflow: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.simplebar-content-wrapper::-webkit-scrollbar,
.simplebar-hide-scrollbar::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}

.simplebar-content:before,
.simplebar-content:after {
  content: ' ';
  display: table;
}

.simplebar-placeholder {
  max-height: 100%;
  max-width: 100%;
  width: 100%;
  pointer-events: none;
}

.simplebar-height-auto-observer-wrapper {
  box-sizing: inherit !important;
  height: 100%;
  width: 100%;
  max-width: 1px;
  position: relative;
  float: left;
  max-height: 1px;
  overflow: hidden;
  z-index: -1;
  padding: 0;
  margin: 0;
  pointer-events: none;
  flex-grow: inherit;
  flex-shrink: 0;
  flex-basis: 0;
}

.simplebar-height-auto-observer {
  box-sizing: inherit;
  display: block;
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  height: 1000%;
  width: 1000%;
  min-height: 1px;
  min-width: 1px;
  overflow: hidden;
  pointer-events: none;
  z-index: -1;
}

.simplebar-track {
  z-index: 1;
  position: absolute;
  right: 0;
  bottom: 0;
  pointer-events: none;
  overflow: hidden;
}

[data-simplebar].simplebar-dragging {
  pointer-events: none;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

[data-simplebar].simplebar-dragging .simplebar-content {
  pointer-events: none;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

[data-simplebar].simplebar-dragging .simplebar-track {
  pointer-events: all;
}

.simplebar-scrollbar {
  position: absolute;
  left: 0;
  right: 0;
  min-height: 10px;
}

.simplebar-scrollbar:before {
  position: absolute;
  content: '';
  background: black;
  border-radius: 7px;
  left: 2px;
  right: 2px;
  opacity: 0;
  transition: opacity 0.2s 0.5s linear;
}

.simplebar-scrollbar.simplebar-visible:before {
  opacity: 0.5;
  transition-delay: 0s;
  transition-duration: 0s;
}

.simplebar-track.simplebar-vertical {
  top: 0;
  width: 11px;
}

.simplebar-scrollbar:before {
  top: 2px;
  bottom: 2px;
  left: 2px;
  right: 2px;
}

.simplebar-track.simplebar-horizontal {
  left: 0;
  height: 11px;
}

.simplebar-track.simplebar-horizontal .simplebar-scrollbar {
  right: auto;
  left: 0;
  top: 0;
  bottom: 0;
  min-height: 0;
  min-width: 10px;
  width: auto;
}

/* Rtl support */
[data-simplebar-direction='rtl'] .simplebar-track.simplebar-vertical {
  right: auto;
  left: 0;
}

.simplebar-dummy-scrollbar-size {
  direction: rtl;
  position: fixed;
  opacity: 0;
  visibility: hidden;
  height: 500px;
  width: 500px;
  overflow-y: hidden;
  overflow-x: scroll;
  -ms-overflow-style: scrollbar !important;
}

.simplebar-dummy-scrollbar-size > div {
  width: 200%;
  height: 200%;
  margin: 10px 0;
}

.simplebar-hide-scrollbar {
  position: fixed;
  left: 0;
  visibility: hidden;
  overflow-y: scroll;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

/* End */


/* Start:/local/components/travelsoft/booking.search_form/templates/combotours.objects/style.css?17864719453949*/

/*.search_form__counter_item_label small{
    display: none !important;
}
.search_form__counter_item_label {
    flex-basis: 55%;
    margin: auto 0;
}*/

.list-group-item {
    cursor: pointer;
    max-width: none!important;
}

.MuiSvgIcon-root {
    fill: currentColor;
    width: 1em;
    height: 1em;
    display: inline-block;
    font-size: 1.5rem;
    transition: fill 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
    flex-shrink: 0;
    user-select: none;
}

.list-optgroup  {
    font-weight: bold;
    text-transform: uppercase;
    cursor: default!important;
}

.list-optgroup:hover {
    background: none!important;
}

.packagetours2-obejcts-list, .packagetours2-destination-list, .packagetours2-people-select {
    z-index: 1000;
}

.tsoperator__highlight {
    background: #0e0adb!important;
    color: #fff!important;
}

@media (min-width: 1079px) {
    .form-group-40 {
        flex-basis: 40%!important;
    }
}
.search_form__counter_container {
    border-radius: 4px;
    background-color: #fff;
    box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
    overflow: hidden;
    padding: 0;
    margin-top: .25rem;
    max-width: 300px
}

.search_form__counter_content {
    padding: 0 1rem;
    font-size: 14px;
}

.search_form__counter_header {
    padding: .5rem 1rem;
    background: #eee;
    font-size: 14px;
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    left: 0;
    width: inherit;
    border-bottom: 1px solid #d8d8d8
}

.search_form__input.pessangers {
    flex-basis: calc(15% - 4px);
    max-width: calc(15% - 4px);
    margin-right: 0;
    box-sizing: border-box
}

.search_form__input.pessangers_inner {
    flex-basis: 100%;
    max-width: calc(12% - 2px);
    box-sizing: border-box;
    margin-right: 2px
}

.search_form__counter_action {
    margin: .5rem 0;
    bottom: 0;
    left: 0

}

.search_form__counter_action button {
    height: 50px;
    box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
    border-radius: 4px;
    padding: 0 1.25rem;
    background: #fa8405;
    color: #fff;
    font-size: 1.25rem;
    border: 0;
    width: 100%;
    flex-basis: 100%;
    outline: 0 !important;
    text-align: center
}

.list_age_passangers {
    margin-left: 0;
    padding-left: 0
}

.list_age_pessangers-item {
    display: flex;
    width: 100%;
    justify-content: space-between;
    margin: .25rem 0
}

.search_form__counter_item {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 1rem 0
}

.search_form__counter_item_label {
    flex-basis: 60%;
    max-width: 60%;
    line-height:1;
}

.search_form__counter_item_label > * {
    display: block
}

.search_form__counter_item_label small {
    color: #707070;
    font-size: 80%;
    line-height: 1.1;
    margin-top: 3px
}

.search_form__counter_item_control {
    display: flex;
    justify-content: space-between;
    flex-basis: 40%;
    max-width: 40%
}
.search_form__counter_item_control .btn{
    line-height: 1;
    font-size: 16px;
}

.search_form__counter_item_control .count {
    min-width: auto;
    height: 30px
}

.count, .dicrement, .search_form__counter_item_control > .increment {
    text-align: center;
    max-width: 33%;
    font-size: 16px
}

.dicrement, .search_form__counter_item_control > .increment {
    border-radius: 100%;
    height: 30px;
    width: 30px;
    color: #fff;
    background: #f17105;
    font-size: 24px;
    cursor: pointer;
    -webkit-transition: -webkit-transform .2s;
    transition: -webkit-transform .2s;
    transition: transform .2s;
    transition: transform .2s, -webkit-transform .2s;
    display: flex;
    justify-content: center;
    align-items: center
}

.search_form__counter_item_control > .dicrement {
    background: var(--primary-color);
}

.dicrement:active, .search_form__counter_item_control > .increment:active {
    -webkit-transform: scale(.9);
    transform: scale(.9);
    -webkit-transition: font-size .2s;
    transition: font-size .2s
}
/* End */


/* Start:/local/components/travelsoft/favorites.add/templates/.default/style.css?1745493799418*/
.bg-star {
    height: 30px;
    background: url(/local/components/travelsoft/favorites.add/templates/.default/img/star.png);
    background-size: contain;
    background-repeat: no-repeat;
}

.bg-star_filled {
    height: 30px;
    background: url(/local/components/travelsoft/favorites.add/templates/.default/img/star-filled.png);
    background-size: contain;
    background-repeat: no-repeat;
}

.favorites__button {
    background-color: transparent;
    border: none;
    cursor: pointer;
    padding-left: 35px;
    padding-top: 5px;
}
/* End */


/* Start:/local/templates/travelsoft/components/travelsoft/travelsoft.news.list/home_recommend_intourdv/style.css?17885167544557*/
div.news-list
{
	word-wrap: break-word;
}
div.news-list img.preview_picture
{
	float:left;
	margin:0 4px 6px 0;
}
.news-date-time {
	color:#486DAA;
}
.price.for_list_tours {
	font-size: 12px !important;
	padding: 2px 5px !important;
	line-height: 1.5;
}
.home_tours {
	padding: 3px;
	font-size: 14px;
	color: #fff;
	font-weight: 300;
}
.home_tours .number {
	font-weight: 500;
	font-size: 16px !important;
}
.home_tours .currency {
	font-weight: 300 !important;
	font-size: 13px !important;
}
.home_tours small {
	font-size: 13px;
	float: right;
}
.home_tours small span {
	font-weight: 500 !important;
	font-size: 14px !important;
}
.home_tours.tools_i {
    line-height: 16px;
}
.home_tours .price-for {font-size:0.9em; float:right;margin-top:-17px}

.slider-card {
  border-radius: 6px;
  overflow: hidden;
  margin: 10px 15px;
}
.slider-card .geodir-category-img img{
    width: 100%;
}
.slider-card .geodir-category-content{
    background:#fff;
    padding: 20px;
}
.slider-card .geodir-category-content .heading {
  	color: #0e0adb !important;
  	font-size: 18px;
  	line-height: 1.3;
  	font-family: var(--it-font);
  	font-weight: 700;
  	display: -webkit-box;
  	-webkit-line-clamp: 2;
  	-webkit-box-orient: vertical;
  	overflow: hidden;
}
.slider-card .geodir-category-content .text-price{
    font-size: 18px;
    line-height: 1.4;
    color: #f17105;
    font-weight: 700;
    display: -webkit-box;
  	-webkit-line-clamp: 1;
  	-webkit-box-orient: vertical;
  	overflow: hidden;
}
.slider-card .geodir-category-content .text-small {
    font-size: 13px;
    line-height: 1.3;
    color: initial;
    display: -webkit-box;
  	-webkit-line-clamp: 2;
  	-webkit-box-orient: vertical;
  	overflow: hidden;
}
/* Карточки карусели одной высоты. Слайды slick плавающие и тянутся по своему
   содержимому: заголовок в две строки или отсутствие цены делали нижний край
   блоков разным. Раскладываем дорожку флексом, картинке задаём постоянную
   пропорцию, цену прижимаем к низу карточки. Класс-модификатор нужен, чтобы
   не задеть другие карусели .light-carousel на остальных страницах.

   Только от 768px: ниже этой границы slick показывает одну карточку за раз,
   разнобоя по высоте не видно, а флексовая дорожка растянула бы каждую
   карточку до самой высокой из всех тридцати шести — на телефоне это лишний
   пустой низ. */
@media only screen and (min-width: 768px) {
    .light-carousel-equal .slick-track {
        display: flex;
        align-items: stretch;
    }
    .light-carousel-equal .slick-track:before,
    .light-carousel-equal .slick-track:after {
        display: none;
    }
    .light-carousel-equal .slick-slide {
        height: auto;
        float: none;
    }
    .light-carousel-equal .slick-slide > div {
        display: flex;
        height: 100%;
    }
    /* slick сам проставляет слайду inline display:inline-block — при нём
       ссылка внутри не тянется на всю высоту, без !important не обойтись */
    .light-carousel-equal .slick-slide-item {
        display: flex !important;
        flex: 1 1 auto;
        min-width: 0;
        align-items: stretch;
    }
    .light-carousel-equal .slick-slide-item > a {
        display: flex;
        flex: 1 1 auto;
        min-width: 0;
    }
    .light-carousel-equal .slider-card {
        display: flex;
        flex-direction: column;
        flex: 1 1 auto;
        min-width: 0;
    }
    .light-carousel-equal .slider-card .geodir-category-content {
        display: flex;
        flex-direction: column;
        flex: 1 1 auto;
    }
    .light-carousel-equal .slider-card .geodir-category-content .text-price {
        margin-top: auto !important;
    }
}

/* Пропорция картинки одна на всех ширинах: без неё карточка с заглушкой
   «нет фото» выбивается по высоте и на телефоне тоже. */
.light-carousel-equal .slider-card .geodir-category-img img {
    display: block;
    aspect-ratio: 7 / 5;
    object-fit: cover;
}

/* End */


/* Start:/local/templates/travelsoft/components/travelsoft/travelsoft.news.list/home_advantages_intourdv/style.css?17864719451138*/
.grid-container {
  display: grid; 
  grid-template-columns: 1fr 1fr 1fr 1fr; 
  grid-template-rows: 1fr; 
  gap: 2rem;
}
.grid-container .grid-list-el{
  background: #fff;
  padding: 2.5rem;
  color: #000;
  border-radius: 12px;
}
.grid-container .grid-list-el .grid-list-img{
  width: 110px;
}
.grid-container .grid-list-el .grid-list-title{
  margin-top: 1.25rem;
  color: #0e0adb;
  font-size: 18px;
  line-height: 1.3;
  font-family: var(--it-font);
  font-weight: 700;
}
.grid-container .grid-list-el .grid-list-text{
  margin-top: 1.25rem;
  display: flow-root;
  position: relative;
  box-sizing: border-box;
  text-align: left;
  font-size: 14px;
  line-height: 1.4;
  color: #000;
  font-family: var(--it-font);
  font-weight: 400;
}
.grid-container .grid-list-el .grid-list-text ul{
  padding-left: 2rem;
  list-style: disc;
}
@media (max-width: 1100px) {
    .grid-container{
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 900px){
    .grid-container{
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 660px){
    .grid-container{
        grid-template-columns: 1fr;
    }
}
/* End */
/* /local/templates/travelsoft/css/home.css?178877180443447 */
/* /local/templates/travelsoft/components/travelsoft/travelsoft.news.list/home_slider_intourdv/style.css?1745493803312 */
/* /local/templates/travelsoft/components/travelsoft/booking.main-search-form/tsoperator_intourdv/style.css?17887588719857 */
/* /local/components/travelsoft/booking.search_form/templates/packagetours.hotels/style.css?17454937981254 */
/* /local/modules/travelsoft.travelbooking/plugins/daterangepicker/daterangepicker.css?17454938007659 */
/* /local/modules/travelsoft.travelbooking/plugins/simplebar/simplebar.css?17454938004237 */
/* /local/components/travelsoft/booking.search_form/templates/combotours.objects/style.css?17864719453949 */
/* /local/components/travelsoft/favorites.add/templates/.default/style.css?1745493799418 */
/* /local/templates/travelsoft/components/travelsoft/travelsoft.news.list/home_recommend_intourdv/style.css?17885167544557 */
/* /local/templates/travelsoft/components/travelsoft/travelsoft.news.list/home_advantages_intourdv/style.css?17864719451138 */
