.catalog-section {
    margin: 50px auto 0;
}

.reviews-wrap {
    margin-top: 0;
}
@media (max-width: 1024px) {
    .reviews-wrap {
        margin-top: 0;
    }
}

.payment-form-wrap {
    margin-top: 0;
}
@media (max-width: 1024px) {
    .payment-form-wrap {
        margin-top: 0;
    }
}

.certificate {
    margin-top: 0;
}
@media (max-width: 1024px) {
    .certificate {
        margin-top: 0;
    }
}

/* Секция «Сертификат в подарок» — высота по контенту, без пустого пространства */
@media (max-width: 1024px) {
    .certificate-gift .info {
        align-items: flex-start;
        gap: 16px;
        padding-bottom: 20px;
        min-height: 0;
    }
    .certificate-gift .info .texts {
        padding-bottom: 0;
        flex-shrink: 0;
    }
    .certificate-gift .info .img-wrap {
        max-width: 360px;
        padding: 0 16px;
        flex-shrink: 0;
        align-self: center;
    }
    .certificate-gift .info .img-wrap img {
        max-height: 200px;
        width: auto;
        max-width: 100%;
        height: auto;
        display: block;
        object-fit: contain;
        object-position: center center;
    }
}
@media (max-width: 768px) {
    .certificate-gift .info {
        gap: 12px;
        padding-bottom: 16px;
    }
    .certificate-gift .info .texts {
        padding: 20px 16px 0;
    }
    .certificate-gift .info .texts h2 {
        margin-bottom: 6px;
    }
    .certificate-gift .info .texts p {
        margin-bottom: 12px;
    }
    .certificate-gift .info .img-wrap {
        max-width: 280px;
        padding: 0 12px;
    }
    .certificate-gift .info .img-wrap img {
        max-height: 140px;
    }
}

/* Слайдер спецпредложений — по аналогии с .travel-ideas */
.special-offers .special-offers-slider {
    display: block !important;
}
.special-offers .special-offers-slider .slick-list {
    margin: 0 -10px;
}
.special-offers .special-offers-slider .slick-slide {
    padding: 0 10px;
    height: auto;
}
/* Планшеты и мобильные: слайдер 1 карточка, стрелки скрыты, фиксированная ширина карточки */
@media (max-width: 768px) {
    .special-offers .special-offers-slider .slick-list {
        margin: 0;
    }
    .special-offers .special-offers-slider .slick-slide {
        padding: 0;
    }
    .special-offers .top .slider-navigation {
        display: none;
    }
    /* Ширина карточки для variableWidth (как у .travel-slider .item) */
    .special-offers .special-offers-slider .special-offers-item {
        width: 280px;
        min-width: 280px;
        margin-right: 15px;
    }
    .special-offers .special-offers-slider .special-offers-item .texts {
        min-height: auto;
        padding: 12px;
    }
    .special-offers .special-offers-slider .special-offers-item .texts .top-info span,
    .special-offers .special-offers-slider .special-offers-item .texts .top-info a {
        font-size: 18px;
        max-width: 100%;
    }
    .special-offers .special-offers-slider .special-offers-item .texts p {
        font-size: 14px;
    }
}
@media (max-width: 380px) {
    .special-offers .special-offers-slider .special-offers-item {
        width: 260px;
        min-width: 260px;
    }
}

/* Карточки спецпредложений: одинаковая высота, стрелка по нижнему краю, скругление как на /sales/ */
.special-offers .special-offers-items .special-offers-item {
    display: flex;
    flex-direction: column;
    height: 460px;
    border-radius: 15px;
    overflow: hidden;
}
.special-offers .special-offers-items .special-offers-item .img {
    flex-shrink: 0;
    height: 220px;
    overflow: hidden;
    border-radius: 15px 15px 0 0;
}
.special-offers .special-offers-items .special-offers-item .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
}
.special-offers .special-offers-items .special-offers-item .texts {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
    padding: 15px;
    overflow: hidden;
}
/* Ограничение текста: фиксированное число строк + многоточие, карточки не растягиваются */
.special-offers .special-offers-items .special-offers-item .texts p {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-bottom: 5px;
}
.special-offers .special-offers-items .special-offers-item .texts .bottom {
    margin-top: auto;
    flex-shrink: 0;
    align-items: flex-end;
}
@media (max-width: 1024px) {
    .special-offers .special-offers-items .special-offers-item {
        height: 440px;
    }
    .special-offers .special-offers-items .special-offers-item .img {
        height: 200px;
    }
}
@media (max-width: 768px) {
    .special-offers .special-offers-slider .special-offers-item {
        height: 420px;
    }
    .special-offers .special-offers-slider .special-offers-item .img {
        height: 180px;
    }
}
/* Страница /sales/: те же высоты карточек, что на главной (только сетка, не слайдер) */
@media (max-width: 768px) {
    .special-offers .special-offers-items:not(.special-offers-slider) .special-offers-item {
        height: 420px;
    }
    .special-offers .special-offers-items:not(.special-offers-slider) .special-offers-item .img {
        height: 180px;
    }
}

/* Сетка спецпредложений на /sales/ — та же стилистика, что на главной */
.special-offers .special-offers-items:not(.special-offers-slider) {
    display: grid;
    gap: 20px;
    grid-template-columns: 1fr 1fr 1fr 1fr;
}

.tour-description .wrapper .left .info-block .info-items .info-item .list li img {
    max-width: 25px;
}

.cost-program-item .top-line .text-wrap .selects {
    align-items: flex-end;
}

.not-found-page {
    margin-top: 180px;
}

.not-found-page h1 {
    text-align: center;
}

.not-found-page h1 > a {
    text-decoration: underline;
}

.events-calendar .events-calendar-items .events-calendar-item .season a {
    width: 100%;
    height: 50px;
    margin-top: 15px;
    border: 1px solid #fff;
    color: white;
    border-radius: 50px;
    text-align: left;
    padding: 0 16px;
    font-size: 18px;
    display: flex;
    align-items: center;
}

.view-tours-wrap .view-tours-items .view-tours-item .texts .blue-btn {
    margin-top: 30px;
}

.countries {
    margin: 10px 0;
    font-size: 18px;
}

.countries .city {
    font-size: 18px;
}

/* Запятая между странами при выводе несколькими span */
.countries .city + .city::before {
    content: ', ';
}

.tour-item .texts .city:first-child {
    margin-left: 0;
}

.tour-item .texts .city {
    margin-left: 5px;
    font-size: 18px;
}

.country_blue {
    color: #69b1fd !important;
}

/* Блок подписки на рассылку: вёрстка и сообщение после отправки */
.special-offers .form-wrap--subscribe {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 0;
}

.special-offers .form-wrap--subscribe .form-wrap__text {
    flex: 0 1 auto;
    margin-bottom: 0;
}

.special-offers .form-wrap--subscribe .special-offers-form {
    flex: 0 1 auto;
}

.special-offers .form-wrap--subscribe .subscribe-message--form {
    flex: 0 0 100%;
    width: 100%;
    margin-top: 16px;
    padding: 0;
    font-size: 16px;
    line-height: 1.4;
}

.special-offers .form-wrap--subscribe .subscribe-message--form.success {
    color: #90ee90;
}

.special-offers .form-wrap--subscribe .subscribe-message--form.error {
    color: #ffb3b3;
}

/* Ниже 840px: текст и форма в колонку с отступом, чтобы не слипались */
@media (max-width: 840px) {
    .special-offers .form-wrap--subscribe {
        flex-direction: column;
        align-items: stretch;
        gap: 24px;
    }
    .special-offers .form-wrap--subscribe .form-wrap__text {
        flex: none;
        margin-bottom: 0;
    }
    .special-offers .form-wrap--subscribe .special-offers-form {
        flex: none;
        min-width: 0;
        max-width: 100%;
    }
}

/* Ниже 768px: форма и кнопка в колонку, секция не ломается */
@media (max-width: 768px) {
    .special-offers .form-wrap.form-wrap--subscribe {
        padding: 24px 16px;
    }
    .special-offers .form-wrap--subscribe .form-wrap__text {
        font-size: 18px;
        line-height: 1.35;
        margin-bottom: 0;
    }
    .special-offers .form-wrap--subscribe .special-offers-form {
        display: flex;
        flex-direction: column;
        gap: 12px;
        max-width: 100%;
        width: 100%;
    }
    .special-offers .form-wrap--subscribe .special-offers-form button {
        margin-top: 0;
        order: 1;
    }
    .special-offers .form-wrap--subscribe .special-offers-form input {
        order: 0;
    }
}

.documents__title {
    margin-bottom: 50px;
}

.documents li {
    margin-bottom: 5px;
}

.documents li a {
    text-decoration: underline;
}

.documents li a:hover {
    text-decoration: none;
}

.documents__requisites {
    margin-top: 50px;
}

.documents__requisites tr {
    margin-right: 50px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

.documents__requisites td:first-child {
    margin-right: 50px;
}

.requisites {
    margin-top: 50px;
}

.search-result-wrap .info .filter-wrap {
    max-width: 300px;
}

.search-result-wrap .info .filter-info .items {
    grid-template-columns: repeat(4, 1fr);
}

.tour-item .img {
    height: 280px;
}

.tour-item .texts .name {
    font-size: 20px;
}

.tour-item .texts p,
.tour-item .texts .price .text {
    font-size: 16px;
}

.tour-item .texts .price b {
    font-size: 20px;
}

.tour-item .texts .more {
    font-size: 16px;
    border-radius: 25px;
    min-height: 40px;
}

.select-wrap .select2-container .select2-selection--single .select2-selection__rendered {
    font-size: 16px;
}

.checkbox__label {
    font-size: 16px;
}

.tag-group__custom {
    font-size: 14px;
    height: 34px;
    padding: 7px 18px;
}

.blue-btn:hover {
    background: rgb(38.6142857143, 55.2714285714, 72.6857142857);
}

.border-btn:hover, .blue-btn:hover {
    cursor: pointer;
    transition: .5s;
}

.footer .footer-top .send {
    max-width: 270px;
    font-size: 16px;
    padding: 13px 23px;
}

.text-description {
    margin-top: 50px;
}

.text-description h2 {
    margin: 20px 0 5px 0;
}

.main-banner {
    height: 400px;
    margin-top: 0;
}

.popup-gallery {
    max-width: 1300px;
    margin: 0 auto;
}

.popup-gallery .big img {
    max-height: 520px;
}

.gallery-wrap .main-title2 {
    max-width: 1300px;
    margin: 0 auto 50px;
}

.gallery-wrap .items {
    gap: 20px;
}

.gallery-wrap .items .small {
    gap: 20px;
    justify-content: flex-start;
}

.region-items .region-item {
    padding: 0 40px 60px;
    margin-bottom: 30px;
}

.region-items .region-item .bottom ul {
    column-count: 7;
}

.region-items .region-item .top b {
    font-size: 30px;
}

@media screen and (max-width: 1366px) {
    .special-offers-items:not(.special-offers-slider) {
        grid-template-columns: repeat(3, 1fr) !important;
    }
}

@media screen and (max-width: 1156px) {
    .documents__requisites td:first-child {
        margin-bottom: 30px;
    }
}

@media screen and (max-width: 991px) {
    .special-offers-items:not(.special-offers-slider) {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

@media screen and (max-width: 590px) {
    .special-offers-items:not(.special-offers-slider) {
        grid-template-columns: 1fr !important;
    }
}

.special-offers-item__link {
    display: block;
    width: 100%;
}

/*Отступ списка ul к описанию судна*/
#tab-3 .ql-align-justify {
    margin-left: 7px;
}

/*Отступ для виджета внутри раздела "морские и речные круизы"*/
.catalog-section .wrapper .main-title2 {
    padding-top: 17px;
    margin-top: 0; /*Добавлено */
}
/**
 * Убираем огромный отступ заголовка в мобильной версии  "морские и речные круизы".
 */
@media (max-width: 1024px) {
    .catalog-section .wrapper .main-title2 {
        margin-top: 0px;
    }
}


/*Минимальный размер для изображений в турах чтобы картинки не сплющивало если они очень маленькие*/
.tours-img {
    min-height: 180px;
    min-width: 180px;
}

/*Исправление адаптива туров/круизов*/
.items[data-entity="items-row"] {
    display: grid !important;
    /*grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)) !important;*/
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)) !important;
    gap: 24px !important;
    padding: 0 !important;
    margin: 0 !important;
}

.items .tour-item {
    width: 100% !important;
    /* Убрано. В Мобильной версии карточка должна растягиваться по ширине на всю доступную область. */
    /*max-width: 300px !important;*/
    min-width: 0;
    flex: none !important;
    box-sizing: border-box;
}

/*Исправления для мобильных версий*/
@media (max-width: 768px) {
    /*Отступ для виджета внутри раздела "морские и речные круизы"*/
    .main-banner {
        height: 250px;
        margin-top: 5px;
    }

    /*Страны в 2 колонки под hover-ом в разделе "Страны"*/
    .bottom.open ul {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 8px;
        padding: 0;
        margin: 0;
        list-style: none;
    }

    .bottom.open li span {
        display: block;
        white-space: normal;
    }

    /*Исправление отображение цен в разделе "Туры"*/
    .bottom-line .category-price-block .col {
        display: grid;
        /* Убрано. В мобильной версии нужно название и саму цены в столбик, данная директива дает их одну в строку */
        /*grid-template-columns: 1fr auto;*/
        align-items: center;
        margin-bottom: 10px;
        width: auto;
    }

    .bottom-line .category-price-block .col .price_name {
        font-weight: 400;
        color: #6b7c93;
        justify-self: start;
    }

    .bottom-line .category-price-block .col .final_price span {
        font-weight: 600;
        color: #1a2a42;
    }

    .bottom-line .category-price-block .col .row {
        justify-self: end;
        display: flex;
        gap: 5px;
    }

    .cost-program-item .bottom-line span {
        font-size: 20px;
    }

    .category-price-block {
        display: block;
    }

    .category-price-block .final_price > span, .category-price-block .final_price {
        margin-bottom: 2px;
    }

    /*Исправление выбора даты в разделе "Туры" и "Судна"*/
    .select2-selection--single {
        display: flex !important;
        align-items: center;
        padding-right: 28px !important;
        position: relative;
    }

    .select2-selection__arrow {
        position: absolute !important;
        right: 10px;
        top: 50%;
        transform: translateY(-50%);
    }

    .cabins-item .row {
        display: block;
    }

    .cabins-item .info > button {
        margin-top: 10px;
        margin-bottom: 5px;
    }
}
/**
 * Правка верхних кнопок в мобильном фильтре. Вместо дизайнерской кнопки показываем селект.
 */
@media (max-width: 1024px) {
    .search-result-wrap .info .top-line .select-wrap {
        display: block;
        font-size: 14px;
        max-width: 150px;
        margin-left: auto;
    }
    .select-wrap .select2-container .select2-selection--single .select2-selection__rendered {
        font-size: 14px;
    }
    .select-wrap.style-border .select2-container .select2-selection--single .select2-selection__rendered {
        padding: 6px 16px;
    }
    .select2-container--default .select2-results__option--highlighted[aria-selected] {
        font-size: 14px;
    }
    .select2-results__option {
        font-size: 14px;
    }

    /* Скрыть дизайнерскую кнопку */
    .search-result-wrap .info .top-line .mob-btns .filter-drop-btn {
        display: none;
    }
}

/**
 * Замена инлайн стиля заголовка в фильтре
 */
.catalog-section .search-result-wrap .wrapper .main-title2 {
    margin-top: 0;
}
/**
 * Убираем общий верхний отступ у каталога.
 */
.catalog-section {
    margin: 0px auto 0;
}
/**
 * Убираем огромный отступ заголовка в мобильном фильтре.
 */
@media (max-width: 1024px) {
    .catalog-section .search-result-wrap .wrapper .main-title2 {
        margin-top: 0px;
    }
}

/**
 * Правка плывущих кнопок после правки гигантизма. в идеях и событиях.
 */
@media (max-width: 767px) {
    .tour-slider-wrap .tour-slider .item .tour-item {
        /*min-height: 550px;*/
        min-height: 630px;
    }
}
@media (max-width: 1024px) {
    .tour-slider-wrap .tour-slider .item .tour-item {
        min-height: 640px;
    }
}
.tour-slider-wrap .tour-slider .item .tour-item {
    /*min-height: 750px;*/
}

/**
 *  Селектор даты и дельты в фильтре.
 */
.dt-delta-group {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
    font-size: 18px;
    margin-bottom: 20px;
}
.dt-group {
    /*display: block;*/
    /*margin-right: 5px;*/
    position: relative;
    display: inline-block;
}
.dt-group input {
    height: 57px;
    padding-right: 32px; /* место для иконки */
    box-sizing: border-box;
    font-size: 18px;
    padding-inline-start: 24px;
}
.dt-group .calendar-icon {
    position: absolute;
    top: 50%;
    right: 14px;
    transform: translateY(-50%);
    cursor: pointer;
}
.search-result-wrap .info .filter-wrap .dt-delta-group .select2-container .select2-selection--single .select2-selection__rendered {
    font-size: 18px;
    line-height: 27px;
    border: 1.433px solid rgba(51, 73, 96, 0.3);
    color: #0B0F44;
    background-color: #FFF;
    padding: 15px 18px;
    border-radius: 40px;
    width: 140px;
}

/**
 * Мобильный фильтр селектор дельты к дате правка отступа справа.
 */
@media (max-width: 768px) {
    .search-result-wrap .info .filter-wrap .dt-delta-group .select2-selection--single {
        display: flex !important;
        align-items: center;
        padding-right: 0px !important; /* вот здесь */
        position: relative;
    }
}

.tour-description .wrapper .left .main-title2 {
    margin-top: 0px;
}
.tour-ideas-links {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    margin: 0 0 12px;
    font-size: 16px;
}
.tour-ideas-links__icon {
    width: 18px;
    height: 18px;
    margin-right: 8px;
}
.tour-ideas-links__label {
    margin-right: 6px;
    color: rgba(51, 73, 96, 0.7);
    text-decoration: none;
}
.tour-ideas-links__link,
.tour-ideas-links__item {
    color: #69b1fd;
    text-decoration: underline;
}
.tour-ideas-links__comma {
    margin-right: 6px;
}
.tour-ideas-links__link:hover {
    color: #4a99f5;
    text-decoration: none;
}

/**
 * Слайдер туров выравнивать неполный слайдер влево.
 */
.tour-slider .slick-track {
    margin-left: unset;
}

/*
 * Борьба с "гигантизмом" на детальной странице судна.
 */
.description-cabins .main-title2,
.desc-ship .main-title2
{
    font-size: 24px;
}

.desc-ship .desc-ship-info .left h4
{
    font-size: 20px;
}
.desc-ship .desc-ship-info .left ul li .grey,
.desc-ship .desc-ship-info .left ul li .blue
{
    font-size: 16px;
    /*margin-bottom: 18px;*/
}
.desc-ship .desc-ship-info .left ul li
{
    margin-bottom: 15px;
}
.cabins-item .img-wrap
{
    width: 400px;
    min-width: 320px;
}
@media (max-width: 1400px) {
    .cabins-item .img-wrap
    {
        max-width: 320px;
    }
}

.desc-ship .desc-ship-info .left {
    /*width: 400px;*/
    min-width: 400px;
}

@media (max-width: 1024px) {
    .desc-ship .desc-ship-info .left {
        min-width: 320px;
    }
}
.desc-ship .desc-ship-info .tabs a
{
    font-size: 20px;
}
.cabins-item .select-wrap {
    width: 240px;
}

.cabins-item .texts p
{
    font-size: 18px;
}
@media (max-width: 1400px)
{
    .cabins-item .texts p
    {
        font-size: 14px;
    }
}
@media (max-width: 1400px)
{
    .cabins-item .texts .selects .info span {
        font-size: 14px;
    }
}
.cabins-item .texts .cruise-price-footnote span
{
    font-size: 12px;
}
@media (max-width: 1400px) {
    .main-title2 {
        font-size: 28px;
    }
}
@media (max-width: 1024px) {
    .main-title2 {
        font-size: 26px;
    }
}

.tour-description .program-block .questions__item {
    padding: 18px;
    margin-bottom: 10px;
}
.tour-description .program-block .questions__list .questions__item-heading .texts .grey
{
    font-size: 14px;
    margin-bottom: 8px;
}
.tour-description .program-block .questions__list .questions__item-heading .texts b
{
    font-size: 20px;
}
.tour-description .program-block .questions__item-desc
{
    display: block;
    margin-top: 6px;
    color: rgba(12, 12, 12, 0.7);
    font-size: 16px;
    line-height: 130%;
}
.tour-description .program-block .questions__item-text
{
    line-height: 150%;
    color: rgba(12, 12, 12, 0.7);
    font-size: 20px;
}
@media (max-width: 1400px) {
    .tour-description .program-block .questions__item-text
    {
        font-size: 16px;
    }
}
.tour-description .program-block .questions__item-text p,
.tour-description .program-block .questions__item-text ul,
.tour-description .program-block .questions__item-text ol
{
    margin: 0 0 8px;
}
.tour-description .program-block .questions__item-text p:last-child,
.tour-description .program-block .questions__item-text ul:last-child,
.tour-description .program-block .questions__item-text ol:last-child
{
    margin-bottom: 0;
}
.tour-description .program-block .questions__item-text ul,
.tour-description .program-block .questions__item-text ol
{
    padding-left: 20px;
}

.header .header-top-line .soc-icons a {
    transition: transform 0.2s ease, opacity 0.2s ease;
}
.header .header-top-line .soc-icons a:hover {
    transform: translateY(-2px);
    opacity: 0.85;
}
.header-breadcrumbs {
    margin-top: 120px;
    margin-bottom: 8px;
}
@media (max-width: 1024px) {
    .header-breadcrumbs {
        margin-top: 80px;
        margin-bottom: 6px;
    }
}

.tour-description .right .black a {
    color: #334960;
    text-decoration: none;
    transition: color 0.2s ease;
}
.tour-description .right .black a:hover {
    color: #1f2f3f;
}

/* Ограничение высоты списка стран в умном фильтре */
#COUNTRY.filter-group .filter-group__items {
    max-height: calc(35px * 5 + 12px * 4);
    overflow-y: auto;
}

.search-result-wrap .info .top-line {
    column-gap: 20px;
}
.search-result-wrap .info .top-line .found {
    white-space: nowrap;
}
.tour-description .program-block .questions__list .questions__item-body p
{
    font-size: 16px;
}
.tour-description .program-block .questions__item-heading .icon {
    min-width: 26px;
    width: 26px;
    height: 26px;
}
.tour-description .program-block .questions__item-heading .icon::after
{
    width: 14px;
    height: 14px;
}
.tour-description .program-block .questions__item-heading .icon.rotate::after
{
    width: 14px;
    height: 3px;
}
.questions__item-heading .icon {
    min-width: 30px;
    width: 30px;
    height: 30px;
}
.questions__item-heading .icon::after
{
    width: 16px;
    height: 16px;
}
.questions__item-heading .icon.rotate::after
{
    width: 16px;
}

.desc-ship {
    margin: 40px 0;
}
.description-cabins {
    padding: 30px 0 12px 0;
}
.description-cabins .main-title2 {
    margin-bottom: 30px;
}
.ship-info .main-title2 {
    margin-bottom: 30px;
}

.description-cabins .wrapper {
    padding: 0 28px;
}
/*
 * Конец борьбы с "гигантизмом" на детальной странице судна.
 */

/**
 * Шаблон судна внутри страницы круиза, без дополнительных полей,
 * чтобы выглядело как одно часть другого, а не вложенное.
 */
.ship-info > .wrapper {
    padding: 0 0;
}
/**
  * Шаблон судна внутри страницы круиза, без дополнительных полей,
  * чтобы выглядело как одно часть другого, а не вложенное.
  * А заголовок "Судно" имел отступ.
  */
.ship-info > .wrapper > .main-title2 {
    padding: 0 40px;
}
/**
 * Шаблон судна внутри страницы круиза, без дополнительных полей,
 * уменшен верхний отсут баннера судна.
 */
.ship-info > .wrapper > .main-banner {
    margin-top: 30px;
}

/**
 * Страница фильтра каталога стилизация SEO-текста
 */

.text-description ul {
    list-style-type: disc;
    margin: 0;
    padding: 0;
}

.text-description li {
    /*padding: unset;*/
    margin-left: 16px;
}

/**
 * Исправление верстки. У которой скругление углов обертки изображения сделано для обертки которая может быть выше чем само изображениею.
 * Добавлено выравнивание высоты обертки по высоте изображения.
 */
.cabins-item .img-wrap {
    height: fit-content;
}

/**
 * Страница тура Блок справа.
 * Список описания.
 * Когда название тура не влазит в одну строку Подпись "Тур" выравнивается по нижнему краю как будто по нижней строке названия тура.
 * Для span внтри лемента списка постелено выравние по центру.
 * Для span с точками по границе - выравнивание по низ.
 */
.tour-description .wrapper .right ul li {
    display: flex;
    align-items: center;
}
/**
 * Для span с точками по границе - выравнивание по низ.
 */
.tour-description .wrapper .right ul li .dots {
    align-self: end;
}

/**
 * Для страницы круизов. Блок программа корректировка шрифтов.
 */

.tour-description .program-block .questions__item-body
{
    font-size: 20px;
}
@media (max-width: 1400px) {
    .tour-description .program-block .questions__item-body
    {
        font-size: 16px;
    }
}

/**
 * Чекбокс согласий в сертификате. Исправление верстки.
 */
.certificate-form-wrap .certificate-form .policy-check {
    height: unset;
}

.certificate-form-wrap .certificate-form .checkbox-policy-wrap {
    display: flex;
    align-items: center;
    gap: 10px;
}

/**
 * Делаем ссылку на документы в чекбоксах согласий подчернутыми.
 * Чтобы пользователь видел что их можно кликнуть и там что-то откроется важное очень.
 */
.policy-link {
    text-decoration: underline;
}
/**
 * Подсветка элементов формы сертификата при ошибках после валидации.
 */
input.has-error, textarea.has-error {
    border-color: red !important;
}


/**
 * Чекбокс согласия на форме подписки.
 */

.form-wrap--subscribe .special-offers-form .checkbox-wrap {
    width: 100%;
}

.special-offers .form-wrap--subscribe .special-offers-form .checkbox-policy-wrap .policy-check {
    height: unset;
}

.form-wrap--subscribe .special-offers-form .checkbox-policy-wrap {
    display: flex;
    align-items: center;
    gap: 10px;
}

.special-offers .form-wrap .special-offers-form .checkbox-policy-wrap input[type="email"] {
    border-radius: 40px;
    border: 1px solid rgba(51, 73, 96, 0.5);
    /*border: 1px solid rgb(179, 185, 191);*/
    padding: 0 30px;
    width: 100%;
    height: 66px;
    font-size: 18px;
    color: #FFFFFF;
}

.special-offers .form-wrap--subscribe .special-offers-form .checkbox-wrap .checkbox-policy-wrap input {
    color: #FFFFFF;
    background: #FFFFFF;
}


.form-wrap--subscribe .special-offers-form .checkbox-policy-wrap .policy-link {
    /*font-size: 18px;*/
    color: #FFFFFF;
}

.form-wrap--subscribe .special-offers-form .checkbox-policy-wrap .checkbox-text {
    font-size: 18px;
    color: #FFFFFF;
}

.form-wrap--subscribe .special-offers-form .checkbox-wrap .checkbox-policy-wrap .checkbox-label {
    color: #FFFFFF;
}
.special-offers .form-wrap .special-offers-form button {
    top: 22%;
}

/* Квадратик чекбокса в подписке — делаем видимым на тёмном фоне */
.special-offers .form-wrap--subscribe .checkbox-policy-wrap .checkbox-label span{
    border-color: rgba(255,255,255,.85);
    background: rgba(255,255,255,.12);
}

/* Галочка (check.svg) в базовом CSS тёмная — на тёмном фоне не видно.
   Инвертируем её, чтобы стала белой */
.special-offers .form-wrap--subscribe .checkbox-policy-wrap .checkbox-label span:after{
    filter: invert(1);
}

/* Текст и ссылки — белые */
.special-offers .form-wrap--subscribe .checkbox-policy-wrap .checkbox-text,
.special-offers .form-wrap--subscribe .checkbox-policy-wrap .checkbox-text a{
    color: #FFFFFF;
}

/**
 * Цвет счетчика Яндекс метрики. Для футера.
 */
.footer .wrapper .footer-yandex-metrika {
    /*color: #FFFFFF;*/
}