/*
Theme Name: mws
Version: 1.0.0
Description: рентег
Author: wergut
Author URI: myweb-service.ru
*/

@import url("https://fonts.googleapis.com/css2?family=Caveat:wght@500;600&family=Manrope:wght@400;500;600;700&family=Prata&display=swap");

/* =========================================================
 * 01. ТЕКСТ В КАРТОЧКЕ СТОИМОСТИ
 * ========================================================= */

.car-row > p {
    color: #ffffff;
    font-size: 12px;
    padding: 10px 0 0;
}


/* =========================================================
 * 02. ПОЛЯ ФОРМЫ
 * ========================================================= */

.form-input__input {
    height: 58px !important;
    min-height: 58px !important;
    padding: 10px 8px !important;
    background: transparent !important;
    box-shadow: none !important;
}

.form-input__input,
.form-input__input *,
.form-input__input input,
.form-input__input textarea,
.form-input__input div {
    color: #9a9a9a !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.form-input__input::before,
.form-input__input::after,
.form-input__input *::before,
.form-input__input *::after {
    background: transparent !important;
    box-shadow: none !important;
}

.form-input {
    margin-bottom: 14px !important;
}


/* =========================================================
 * 03. PLACEHOLDER ПОЛЕЙ
 * ========================================================= */

.form-input__input::placeholder,
.form-input__input input::placeholder,
.form-input__input textarea::placeholder {
    color: #b0b0b0 !important;
}


/* =========================================================
 * 04. СОГЛАСИЕ ПОЛЬЗОВАТЕЛЯ
 * ========================================================= */

.user-agreement,
.user-agreement p,
.user-agreement span,
.user-agreement div,
.user-agreement label,
.user-agreement a,
.user-agreement * {
    font-size: 11px !important;
    line-height: 1.2 !important;
    font-weight: 400 !important;
}

.user-agreement input.custom-checkbox,
.user-agreement .custom-checkbox {
    width: 14px !important;
    height: 14px !important;
    min-width: 14px !important;
    min-height: 14px !important;
    max-width: 14px !important;
    max-height: 14px !important;
    padding: 0 !important;
    margin: 0 8px 0 0 !important;
    box-sizing: border-box !important;
    flex: 0 0 14px !important;
}


/* =========================================================
 * 05. ТЕКСТ ЦЕНЫ
 * ========================================================= */

.price-info__text p {
    font-size: 14px !important;
    line-height: 1.3 !important;
    color: #384637 !important;
}


/* =========================================================
 * 06. ТЕКСТОВЫЕ ПОЛЯ ФОРМЫ
 * ========================================================= */

input.form-input__text,
input.form-input__text.no-icon,
input.form-input__text:-webkit-autofill,
input.form-input__text.no-icon:-webkit-autofill {
    font-size: 12px !important;
    font-weight: 400 !important;
    color: #384637 !important;
    -webkit-text-fill-color: #384637 !important;
    background-color: transparent !important;
    box-shadow: 0 0 0 1000px #ffffff inset !important;
    -webkit-box-shadow: 0 0 0 1000px #ffffff inset !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
}

input.form-input__text.no-icon {
    width: 100% !important;
    box-sizing: border-box !important;
}


/* =========================================================
 * 07. ИКОНКИ В ПОЛЯХ
 * ========================================================= */

.form-input__input svg {
    width: 14px !important;
    min-width: 14px !important;
    margin-right: 4px !important;
}


/* =========================================================
 * 08. СКРЫТЫЕ КНОПКИ
 * ========================================================= */

.main-banner .btn-pc {
    display: none !important;
}


/* =========================================================
 * 09. HEADER — TELEGRAM + MAX
 * ========================================================= */

.header .pc-socials {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 10px 0 20px;
}

.header .pc-socials .social-link {
    width: 46px;
    height: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 46px;
    margin-left: 0 !important;
    border: 0;
    border-radius: 50%;
    background-color: #ffffff !important;
    background-image: none !important;
    text-decoration: none;
    overflow: hidden;
    transition:
        transform 0.2s ease,
        opacity 0.2s ease;
}

.header .pc-socials .social-link:hover {
    opacity: 0.85;
    transform: translateY(-1px);
}

.header .pc-socials .social-link-telegram,
.header .pc-socials .social-link-max {
    background-image: none !important;
}

.header .pc-socials .social-link img {
    width: 25px;
    height: 25px;
    display: block;
    object-fit: contain;
}


/* =========================================================
 * 10. МОБИЛЬНОЕ МЕНЮ — TELEGRAM + MAX
 * ========================================================= */

.header .mobile-menu-block .socials-block {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 0;
    margin-bottom: 30px;
}

.header .mobile-menu-block .social-link {
    width: 46px;
    height: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 46px;
    margin-left: 0 !important;
    border: 0;
    border-radius: 50%;
    background-color: #ffffff !important;
    background-image: none !important;
    overflow: hidden;
}

.header .mobile-menu-block .social-link img {
    width: 25px;
    height: 25px;
    display: block;
    object-fit: contain;
}

@media (max-width: 600px) {

    .header .mobile-menu-block .socials-block {
        gap: 8px;
    }

    .header .mobile-menu-block .social-link {
        width: 40px;
        height: 40px;
        flex-basis: 40px;
    }

    .header .mobile-menu-block .social-link img {
        width: 22px;
        height: 22px;
    }

}


/* =========================================================
 * 11. CALLBACK + FOOTER — TELEGRAM + MAX
 * ========================================================= */

.callback-section .socials-block,
.footer .socials-block {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 0;
}

.footer .socials-block {
    justify-content: flex-end;
}

.callback-section .socials-block .social-link,
.footer .socials-block .social-link {
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 42px;
    margin: 0 !important;
    border: 0;
    border-radius: 50%;
    background-color: #ffffff !important;
    background-image: none !important;
    text-decoration: none;
    overflow: hidden;
    transition:
        transform 0.2s ease,
        opacity 0.2s ease;
}

.callback-section .socials-block .social-link:hover,
.footer .socials-block .social-link:hover {
    opacity: 0.85;
    transform: translateY(-1px);
}

.callback-section .social-link-telegram,
.callback-section .social-link-max,
.footer .social-link-telegram,
.footer .social-link-max {
    background-image: none !important;
}

.callback-section .social-link img,
.footer .social-link img {
    width: 24px;
    height: 24px;
    display: block;
    object-fit: contain;
}

@media (max-width: 1024px) {

    .footer .socials-block {
        justify-content: flex-start;
    }

}

@media (max-width: 600px) {

    .callback-section .socials-block,
    .footer .socials-block {
        gap: 8px;
    }

    .callback-section .socials-block .social-link,
    .footer .socials-block .social-link {
        width: 40px;
        height: 40px;
        flex-basis: 40px;
    }

    .callback-section .social-link img,
    .footer .social-link img {
        width: 22px;
        height: 22px;
    }

}


/* =========================================================
 * 12. ПРАВИЛА ПРОЖИВАНИЯ
 * ========================================================= */

.stay-rules {
    margin: 55px 0 0;
}

.stay-rules__inner {
    position: relative;
    display: grid;
    grid-template-columns:
        minmax(280px, 0.8fr)
        minmax(500px, 1.5fr);
    gap: 70px;
    padding: 60px 70px;
    overflow: hidden;
    border-radius: 32px;

    background:
        linear-gradient(
            90deg,
            rgba(45, 29, 22, 0.32) 0%,
            rgba(48, 35, 28, 0.50) 32%,
            rgba(38, 45, 36, 0.80) 58%,
            rgba(31, 43, 34, 0.96) 100%
        ),
        url("https://chalet74.ru/wp-content/uploads/2026/09/mountin.png");

    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;

    box-shadow:
        0 24px 60px rgba(39, 45, 36, 0.12);
}


/* декоративное свечение */

.stay-rules__inner::before {
    content: "";
    position: absolute;
    width: 420px;
    height: 420px;
    left: -180px;
    bottom: -250px;
    border-radius: 50%;
    background: rgba(215, 168, 111, 0.10);
    filter: blur(10px);
    pointer-events: none;
}


/* затемнение фоновой фотографии */

.stay-rules__inner::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;

    background:
        linear-gradient(
            90deg,
            rgba(34, 22, 17, 0.24) 0%,
            rgba(38, 29, 24, 0.18) 30%,
            rgba(30, 42, 33, 0.42) 60%,
            rgba(29, 41, 32, 0.66) 100%
        );

    pointer-events: none;
}


/* содержимое поверх фотографии */

.stay-rules__intro,
.stay-rules__list {
    position: relative;
    z-index: 2;
}


/* ---------------------------------------------------------
 * Левая часть
 * --------------------------------------------------------- */

.stay-rules__intro {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.stay-rules__label {
    margin-bottom: 24px;
    color: #d7ae7b;
    font-family: "Manrope", sans-serif;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.22em;
}

.stay-rules__title {
    margin: 0;
    color: #ffffff;
    font-family: "Montserrat", sans-serif;

    font-size:
        clamp(
            36px,
            3.4vw,
            52px
        );

    line-height: 0.98;
    font-weight: 650;
    letter-spacing: -0.035em;
}

.stay-rules__line {
    width: 56px;
    height: 2px;
    margin: 30px 0;
    background: #d7ae7b;
}

.stay-rules__subtitle {
    margin: 0;
    color: rgba(255, 255, 255, 0.76);
    font-family: "Manrope", sans-serif;
    font-size: 16px;
    line-height: 1.55;
}

.stay-rules__note {
    margin-top: 42px;
    padding-top: 0;
    color: #efc58f;
    font-family: "Montserrat", sans-serif;
    font-size: 18px;
    line-height: 1.45;
    font-style: italic;
}


/* ---------------------------------------------------------
 * Список правил
 * --------------------------------------------------------- */

.stay-rules__list {
    display: flex;
    flex-direction: column;
}

.stay-rules__item {
    display: grid;
    grid-template-columns: 52px 1fr;
    gap: 20px;
    padding: 21px 0;

    border-bottom:
        1px solid rgba(255, 255, 255, 0.10);
}

.stay-rules__item:first-child {
    padding-top: 0;
}

.stay-rules__item:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.stay-rules__number {
    width: 46px;
    height: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;

    border:
        1px solid rgba(215, 174, 123, 0.34);

    border-radius: 50%;
    background: rgba(215, 174, 123, 0.08);

    color: #e4bd8c;
    font-family: "Manrope", sans-serif;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.06em;
}

.stay-rules__content h3 {
    margin: 1px 0 5px;
    color: #ffffff;
    font-family: "Manrope", sans-serif;
    font-size: 18px;
    line-height: 1.3;
    font-weight: 600;
}

.stay-rules__content p {
    max-width: 720px;
    margin: 0;
    color: rgba(255, 255, 255, 0.80);
    font-family: "Manrope", sans-serif;
    font-size: 15px;
    line-height: 1.55;
    font-weight: 400;
}


/* ---------------------------------------------------------
 * Hover
 * --------------------------------------------------------- */

@media (min-width: 1025px) {

    .stay-rules__item {
        transition:
            transform 0.25s ease,
            background 0.25s ease;
    }

    .stay-rules__item:hover {
        transform: translateX(5px);
    }

    .stay-rules__item:hover .stay-rules__number {
        background: rgba(215, 174, 123, 0.17);
    }

}


/* ---------------------------------------------------------
 * Tablet
 * --------------------------------------------------------- */

@media (max-width: 1024px) {

    .stay-rules__inner {
        grid-template-columns: 1fr;
        gap: 45px;
        padding: 50px 45px;
        background-position: 28% center;
    }

    .stay-rules__note {
        margin-top: 28px;
    }

    .stay-rules__inner::after {
        background:
            linear-gradient(
                180deg,
                rgba(35, 28, 23, 0.48) 0%,
                rgba(31, 42, 33, 0.82) 100%
            );
    }

}


/* ---------------------------------------------------------
 * Mobile
 * --------------------------------------------------------- */

@media (max-width: 600px) {

    .stay-rules {
        margin: 32px 0 0;
    }

    .stay-rules__inner {
        gap: 36px;
        padding: 36px 24px;
        border-radius: 24px;
        background-position: 22% center;
    }

    .stay-rules__inner::after {
        background:
            linear-gradient(
                180deg,
                rgba(34, 26, 21, 0.58) 0%,
                rgba(29, 40, 32, 0.88) 100%
            );
    }

    .stay-rules__label {
        margin-bottom: 17px;
        font-size: 10px;
    }

    .stay-rules__title {
        font-size: 36px;
    }

    .stay-rules__line {
        margin: 22px 0;
    }

    .stay-rules__subtitle {
        font-size: 14px;
    }

    .stay-rules__note {
        display: none;
    }

    .stay-rules__item {
        grid-template-columns: 42px 1fr;
        gap: 14px;
        padding: 19px 0;
    }

    .stay-rules__number {
        width: 40px;
        height: 40px;
        font-size: 11px;
    }

    .stay-rules__content h3 {
        font-size: 16px;
    }

    .stay-rules__content p {
        font-size: 13.5px;
        line-height: 1.5;
    }

}


/* =========================================================
 * 13. РАССТОЯНИЕ ПОСЛЕ БЛОКА «О ШАЛЕ»
 * ========================================================= */

.about {
    padding-bottom: 25px !important;
}


/* =========================================================
 * 14. ИНФРАСТРУКТУРА — PREMIUM
 * ========================================================= */

/* =========================================================
 * ИНФРАСТРУКТУРА — PREMIUM / STEP 1
 * Для нового блока .sv-infra
 * ========================================================= */

.sv-infra {
    margin: 56px 0;
    padding: 0 !important;
}

.sv-infra > .container {
    max-width: 1280px;
}

.sv-infra__card {
    display: grid;
    grid-template-columns: minmax(0, 0.94fr) minmax(0, 1.06fr);
    gap: 38px;
    align-items: stretch;

    padding: 38px;

    border: 1px solid rgba(48, 66, 51, 0.08);
    border-radius: 30px;

    background:
        radial-gradient(
            circle at 92% 10%,
            rgba(203, 163, 109, 0.08) 0%,
            rgba(203, 163, 109, 0) 28%
        ),
        linear-gradient(
            135deg,
            #f7f3ec 0%,
            #f1eee7 100%
        );

    box-shadow:
        0 20px 50px rgba(42, 55, 45, 0.08);
}

.sv-infra__content {
    display: flex;
    flex-direction: column;
    justify-content: center;

    padding: 14px 16px 14px 6px;
}

.sv-infra__eyebrow,
.sv-infra__scheme-label {
    color: #b58a58;
    font-family: "Manrope", sans-serif;
    font-size: 10px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: 0.24em;
}

.sv-infra__eyebrow {
    margin-bottom: 16px;
}

.sv-infra__title {
    margin: 0 !important;

    color: #2d4536 !important;

    font-family: "Montserrat", sans-serif;
    font-size: clamp(44px, 4vw, 64px) !important;
    line-height: 0.96 !important;
    font-weight: 650 !important;
    letter-spacing: -0.045em !important;
}

.sv-infra__line {
    width: 58px;
    height: 2px;

    margin: 24px 0 26px;

    border-radius: 2px;

    background: #c59760;
}

.sv-infra__description {
    max-width: 570px !important;

    color: #4d5a51 !important;

    font-family: "Manrope", sans-serif;
    font-size: 14.5px !important;
    line-height: 1.54 !important;
}

.sv-infra__description p {
    margin: 0 0 20px !important;
}

.sv-infra__description p:last-child {
    margin-bottom: 0 !important;
}


/* =========================================================
 * СЛАЙДЕР
 * ========================================================= */

.sv-infra__media {
    min-width: 0;
}

.sv-infra .sv-infra__slider {
    position: relative;

    width: 100%;
    height: 100%;
    min-height: 500px;

    overflow: hidden;

    border-radius: 25px;

    background: #d7ddd5;

    box-shadow:
        0 18px 38px rgba(37, 48, 39, 0.13);
}

.sv-infra .sv-infra__slider .swiper-wrapper,
.sv-infra .sv-infra__slider .swiper-slide {
    height: 100%;
}

.sv-infra .sv-infra__slider .swiper-slide img {
    display: block;

    width: 100%;
    height: 100%;
    min-height: 500px;

    object-fit: cover;

    border-radius: 25px;
}

.sv-infra .swiper-button-prev,
.sv-infra .swiper-button-next {
    width: 46px;
    height: 46px;

    margin-top: -23px;

    border:
        1px solid rgba(232, 195, 143, 0.72);

    border-radius: 50%;

    background:
        rgba(40, 65, 49, 0.92);

    box-shadow:
        0 8px 18px rgba(18, 32, 22, 0.18);

    transition:
        transform 0.2s ease,
        background 0.2s ease;
}

.sv-infra .swiper-button-prev {
    left: 18px;
}

.sv-infra .swiper-button-next {
    right: 18px;
}

.sv-infra .swiper-button-prev::after,
.sv-infra .swiper-button-next::after {
    color: #f6ede1;

    font-size: 14px;
    font-weight: 700;
}

@media (min-width: 1025px) {
    .sv-infra .swiper-button-prev:hover,
    .sv-infra .swiper-button-next:hover {
        transform: scale(1.05);
        background: #365943;
    }
}


/* =========================================================
 * СХЕМА КУРОРТА
 * ========================================================= */

.sv-infra__scheme-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 40px;

    max-width: 1080px;

    margin: 42px auto 18px;
}

.sv-infra__scheme-head h3 {
    margin: 9px 0 0;

    color: #304536;

    font-family:
        "Prata",
        Georgia,
        "Times New Roman",
        serif;

    font-size: 32px;
    line-height: 1;
    font-weight: 400;
}

.sv-infra__scheme-head p {
    margin: 0;

    color: #69736c;

    font-family: "Manrope", sans-serif;
    font-size: 13px;
    line-height: 1.4;
}

.sv-infra .sv-infra__scheme {
    max-width: 1080px;

    margin: 0 auto !important;
    padding: 12px !important;

    overflow: hidden;

    border:
        1px solid rgba(55, 71, 58, 0.08);

    border-radius: 24px;

    background: #f6f2eb;

    box-shadow:
        0 18px 42px rgba(48, 61, 50, 0.08);
}

.sv-infra .sv-infra__scheme img {
    display: block;

    width: 100%;
    height: auto;

    border-radius: 17px;
}


/* =========================================================
 * TABLET
 * ========================================================= */

@media (max-width: 1024px) {

    .sv-infra__card {
        grid-template-columns: 1fr;

        gap: 28px;

        padding: 30px;
    }

    .sv-infra__content {
        padding: 8px 6px;
    }

    .sv-infra__description {
        max-width: none !important;
    }

    .sv-infra .sv-infra__slider,
    .sv-infra .sv-infra__slider .swiper-slide img {
        min-height: 420px;
    }

}


/* =========================================================
 * MOBILE
 * ========================================================= */

@media (max-width: 600px) {

    .sv-infra {
        margin: 34px 0;
    }

    .sv-infra__card {
        gap: 22px;

        padding: 18px;

        border-radius: 23px;
    }

    .sv-infra__content {
        padding: 8px 2px;
    }

    .sv-infra__eyebrow {
        margin-bottom: 12px;

        font-size: 9px;
    }

    .sv-infra__title {
        font-size: 38px !important;
    }

    .sv-infra__line {
        margin: 18px 0 20px;
    }

    .sv-infra__description {
        font-size: 13.5px !important;
        line-height: 1.5 !important;
    }

    .sv-infra__description p {
        margin-bottom: 16px !important;
    }

    .sv-infra .sv-infra__slider,
    .sv-infra .sv-infra__slider .swiper-slide img {
        min-height: 300px;

        border-radius: 18px;
    }

    .sv-infra .swiper-button-prev,
    .sv-infra .swiper-button-next {
        width: 40px;
        height: 40px;

        margin-top: -20px;
    }

    .sv-infra .swiper-button-prev {
        left: 12px;
    }

    .sv-infra .swiper-button-next {
        right: 12px;
    }

    .sv-infra__scheme-head {
        display: block;

        margin: 30px 0 14px;
    }

    .sv-infra__scheme-head h3 {
        font-size: 28px;
    }

    .sv-infra__scheme-head p {
        margin-top: 10px;
    }

    .sv-infra .sv-infra__scheme {
        padding: 8px !important;

        border-radius: 18px;
    }

    .sv-infra .sv-infra__scheme img {
        border-radius: 12px;
    }

}

/* =========================================================
 * 15. ХАРАКТЕРИСТИКИ ШАЛЕ — В СТИЛЕ ОРИГИНАЛЬНОГО МАКЕТА
 * ========================================================= */

.details-modern {
    margin: 24px 0 10px;
}

.details-modern > .row {
    align-items: stretch;
}

.details-modern .col-lg-6 {
    display: flex;
}


/* =========================================================
 * ОБЩАЯ КАРТОЧКА
 * ========================================================= */

.details-modern .detail-card {
    position: relative;
    isolation: isolate;

    width: 100%;
    height: 385px;

    overflow: hidden;

    padding:
        30px
        34px
        26px;

    border-radius: 28px;

    border:
        1px solid rgba(56, 70, 55, 0.07);

    box-shadow:
        0 18px 42px rgba(41, 52, 42, 0.08);
}


/* =========================================================
 * ЛЕВАЯ — СВЕТЛАЯ
 * ========================================================= */

.details-modern .detail-card-left {
    background: #f6f1e8;
}


/* ФОТО СЛЕВА — ДЕЛАЕМ ЗАМЕТНЕЕ */

.details-modern .detail-card-left::before {
    content: "";

    position: absolute;

    right: -2%;
    bottom: -4%;

    width: 78%;
    height: 96%;

    z-index: -2;

    background:
        url("https://chalet74.ru/wp-content/uploads/2026/09/chalet1.png")
        center center / cover
        no-repeat;

    opacity: 0.52;
}


/* МЯГКОЕ РАСТВОРЕНИЕ В СВЕТЛОМ ФОНЕ */

.details-modern .detail-card-left::after {
    content: "";

    position: absolute;
    inset: 0;

    z-index: -1;

    background:
        linear-gradient(
            90deg,
            rgba(246, 241, 232, 0.94) 0%,
            rgba(246, 241, 232, 0.88) 30%,
            rgba(246, 241, 232, 0.58) 62%,
            rgba(246, 241, 232, 0.16) 100%
        );

    pointer-events: none;
}


/* =========================================================
 * ПРАВАЯ — ТЁМНО-ЗЕЛЁНАЯ
 * ========================================================= */

.details-modern .detail-card-right {
    background: #173725;
}


/* ФОТО СПРАВА — ДЕЛАЕМ ЗАМЕТНЕЕ */

.details-modern .detail-card-right::before {
    content: "";

    position: absolute;

    left: 0;
    right: 0;
    bottom: 0;

    height: 82%;

    z-index: -2;

    background:
        url("https://chalet74.ru/wp-content/uploads/2026/09/chalet2.png")
        center 62% / cover
        no-repeat;

    opacity: 0.68;
}


/* ЗЕЛЁНЫЙ ФИЛЬТР ДЕЛАЕМ ЛЕГЧЕ */

.details-modern .detail-card-right::after {
    content: "";

    position: absolute;
    inset: 0;

    z-index: -1;

    background:
        linear-gradient(
            180deg,
            rgba(22, 55, 37, 0.88) 0%,
            rgba(22, 55, 37, 0.78) 30%,
            rgba(22, 55, 37, 0.52) 62%,
            rgba(16, 42, 28, 0.28) 100%
        );

    pointer-events: none;
}


/* =========================================================
 * ШАПКА
 * ========================================================= */

.details-modern .detail-card__head {
    position: relative;
    z-index: 3;

    display: flex;
    align-items: flex-start;
    justify-content: space-between;

    gap: 20px;

    margin-bottom: 18px;
}

.details-modern .detail-card__head h3 {
    margin: 0 0 8px;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 29px;

    line-height: 1;

    font-weight: 400;

    letter-spacing: -0.025em;
}

.details-modern .detail-card-left h3 {
    color: #284032;
}

.details-modern .detail-card-right h3 {
    color: #ffffff;
}

.details-modern .detail-card__subtitle {
    color: #b3895b;

    font-family:
        "Manrope",
        sans-serif;

    font-size: 9px;

    line-height: 1.2;

    font-weight: 700;

    letter-spacing: 0.25em;
}


/* =========================================================
 * ДЕКОР СЛЕВА
 * ========================================================= */

.details-modern .detail-card__mountains {
    display: flex;
    align-items: center;

    gap: 13px;

    margin-top: 8px;

    color: #ad8455;
}

.details-modern .detail-card__mountains span {
    width: 47px;
    height: 1px;

    background: #b58a58;
}

.details-modern .detail-card__mountains b {
    font-size: 18px;
    font-weight: 500;
}


/* =========================================================
 * ДЕКОР СПРАВА
 * ========================================================= */

.details-modern .detail-card__nature {
    margin-top: 2px;

    padding-left: 16px;

    border-left:
        1px solid rgba(199, 153, 96, 0.58);

    color: #ca9c63;

    font-family:
        "Manrope",
        sans-serif;

    font-size: 9px;

    line-height: 1.65;

    font-weight: 600;

    letter-spacing: 0.16em;
}


/* =========================================================
 * СПИСОК
 * ========================================================= */

.details-modern .detail-card__list {
    position: relative;
    z-index: 3;
}

.details-modern .card-option {
    display: grid;

    grid-template-columns:
        39px
        1fr;

    align-items: center;

    gap: 14px;

    height: 40px;

    padding: 0;
}

.details-modern .detail-card-left .card-option {
    border-bottom:
        1px solid rgba(55, 70, 58, 0.09);
}

.details-modern .detail-card-right .card-option {
    border-bottom:
        1px solid rgba(255, 255, 255, 0.10);
}

.details-modern .card-option:last-child {
    border-bottom: 0;
}


/* =========================================================
 * ИКОНКИ
 * ========================================================= */

.details-modern .card-ico {
    width: 33px;
    height: 33px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;
}

.details-modern .detail-card-left .card-ico {
    background:
        rgba(220, 204, 181, 0.36);
}

.details-modern .detail-card-right .card-ico {
    background:
        rgba(255, 255, 255, 0.11);
}

.details-modern .card-ico img {
    width: 17px;
    height: 17px;

    display: block;

    object-fit: contain;
}


/* =========================================================
 * ТЕКСТ СТРОК
 * ========================================================= */

.details-modern .card-title {
    font-family:
        "Manrope",
        sans-serif;

    font-size: 13px;

    line-height: 1.2;

    font-weight: 400;
}

.details-modern .detail-card-left .card-title {
    color: #405045;
}

.details-modern .detail-card-right .card-title {
    color: rgba(255, 255, 255, 0.94);
}


/* =========================================================
 * ПОДПИСЬ
 * ========================================================= */

.details-modern .detail-card__signature {
    position: absolute;

    right: 27px;
    bottom: 18px;

    z-index: 4;

    color: #d1a269;

    font-family:
        Georgia,
        serif;

    font-size: 16px;

    line-height: 1.05;

    font-style: italic;

    transform:
        rotate(-4deg);
}


/* =========================================================
 * TABLET
 * ========================================================= */

@media (max-width: 1199px) {

    .details-modern .detail-card {
        height: auto;
        min-height: 385px;

        margin-bottom: 20px;
    }

}


/* =========================================================
 * MOBILE
 * ========================================================= */

@media (max-width: 600px) {

    .details-modern {
        margin: 24px 0 30px;
    }

    .details-modern .detail-card {
        height: auto;
        min-height: 0;

        padding:
            26px
            20px;

        border-radius: 23px;
    }

    .details-modern .detail-card__head h3 {
        font-size: 24px;
    }

    .details-modern .detail-card__mountains,
    .details-modern .detail-card__nature {
        display: none;
    }

    .details-modern .card-option {
        grid-template-columns:
            38px
            1fr;

        gap: 11px;

        height: auto;

        min-height: 47px;
    }

    .details-modern .card-title {
        font-size: 14px;
    }

    .details-modern .detail-card__signature {
        display: none;
    }

}


/* =========================================================
 * 16. ОТЗЫВЫ — CHALET74 LUXURY / FINAL REFERENCE MATCH
 * ========================================================= */

.testimonials {
    position: relative;
    margin: 42px 0;
    padding: 58px 0 52px;
    overflow: hidden;

    background:
        linear-gradient(
            90deg,
            rgba(5, 17, 11, 0.28) 0%,
            rgba(5, 17, 11, 0.14) 46%,
            rgba(5, 17, 11, 0.20) 100%
        ),
        url("https://chalet74.ru/wp-content/uploads/2026/09/reviews.png")
        center center / cover no-repeat;
}

.testimonials::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;

    background:
        radial-gradient(
            circle at 88% 13%,
            rgba(211, 165, 104, 0.12) 0%,
            rgba(211, 165, 104, 0) 27%
        ),
        linear-gradient(
            180deg,
            rgba(4, 13, 8, 0.02) 0%,
            rgba(4, 13, 8, 0.17) 100%
        );

    pointer-events: none;
}

.testimonials::after {
    content: "";
    position: absolute;
    top: 0;
    left: 6%;
    right: 6%;
    z-index: 1;

    height: 1px;

    background:
        linear-gradient(
            90deg,
            transparent 0%,
            rgba(213, 169, 111, 0.44) 50%,
            transparent 100%
        );

    pointer-events: none;
}

/* Контент делаем заметно шире — как в референсе */
.testimonials .container {
    position: relative;
    z-index: 2;

    width: calc(100% - 80px) !important;
    max-width: 1280px !important;

    margin-left: auto !important;
    margin-right: auto !important;

    padding-left: 0 !important;
    padding-right: 0 !important;
}

.testimonials .button-wrapper {
    display: none !important;
}

/* Единая ось: заголовок, карточки и кнопка идут строго по одному контейнеру */
.testimonials .title-wrapper,
.testimonials .row,
.testimonials .button-wrapper-bottom {
    width: 100% !important;
    max-width: 100% !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    transform: none !important;
}



/* =========================================================
 * ШАПКА БЛОКА
 * ========================================================= */

.testimonials .title-wrapper {
    position: relative;

    display: grid;
    grid-template-columns:
        minmax(600px, 1.06fr)
        minmax(400px, 0.94fr);

    align-items: center;
    gap: 48px;

    margin-bottom: 30px;
}

.testimonials .title-wrapper::before {
    content: "ОТЗЫВЫ ГОСТЕЙ";

    position: absolute;
    top: -26px;
    left: 0;

    color: #d7ab70;

    font-family: "Manrope", sans-serif;
    font-size: 10px;
    line-height: 1;
    font-weight: 700;

    letter-spacing: 0.30em;
}

.testimonials .title-wrapper::after {
    content: "";

    position: absolute;
    top: -22px;
    left: 168px;

    width: 34px;
    height: 1px;

    background: rgba(214, 170, 112, 0.84);
}

.testimonials h2.testimonials-title {
    width: 700px;
    max-width: 100%;
    margin: 0;

    color: #f7f1e8;

    font-family:
        "Prata",
        Georgia,
        "Times New Roman",
        serif !important;

    font-size: clamp(50px, 3.7vw, 66px);
    line-height: 1.03;

    font-weight: 400 !important;
    letter-spacing: -0.035em;

    -webkit-font-smoothing: antialiased;
    text-rendering: geometricPrecision;
}

.testimonials h2.testimonials-title span {
    display: block !important;
    color: inherit !important;
    font: inherit !important;
    line-height: inherit !important;
    letter-spacing: inherit !important;
}

.testimonials h2::after {
    content: "БОЛЬШЕ, ЧЕМ ПРОСТО ОТДЫХ — ЭТО ОСОБЫЕ МОМЕНТЫ";

    display: block;
    margin-top: 14px;

    color: rgba(245, 222, 188, 0.98);
    text-shadow: 0 1px 8px rgba(0, 0, 0, 0.28);

    font-family: "Manrope", sans-serif;
    font-size: 10px;
    line-height: 1.45;
    font-weight: 700;

    letter-spacing: 0.26em;
    white-space: nowrap;
}

.testimonials .description {
    position: relative;

    max-width: 470px;

    margin: 2px 0 0;
    padding-left: 98px;

    color: rgba(255, 247, 235, 0.94) !important;

    font-family: "Manrope", sans-serif;
    font-size: 14px;
    line-height: 1.45;
    font-weight: 400;
}

.testimonials .description,
.testimonials .description p,
.testimonials .description span,
.testimonials .description div {
    color: rgba(255, 247, 235, 0.94) !important;
}

.testimonials .description::before {
    content: "";

    position: absolute;

    left: 74px;
    top: 1px;
    bottom: 1px;

    width: 1px;

    background: rgba(213, 169, 111, 0.82);
}

.testimonials .description::after {
    content: "";

    position: absolute;
    left: 6px;
    top: 50%;

    width: 52px;
    height: 52px;

    transform: translateY(-50%);

    background-image:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 72 72'%3E%3Cg fill='none' stroke='%23d6aa70' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 54C10 46 8 32 15 21M52 54c10-8 12-22 5-33'/%3E%3Cpath d='M17 47l-6-1M15 41l-6-3M14 34l-5-4M15 27l-4-5M55 47l6-1M57 41l6-3M58 34l5-4M57 27l4-5'/%3E%3Cpath d='M27 34l9-8 9 8v11H27zM31 45v-7h10v7M34 31h4'/%3E%3Cpath d='M24 57c8 5 16 5 24 0'/%3E%3C/g%3E%3C/svg%3E");

    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}


/* =========================================================
 * СЕТКА
 * ========================================================= */

.testimonials .row {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;

    margin-left: -10px !important;
    margin-right: -10px !important;
}

.testimonials .row > [class*="col-"] {
    display: flex !important;

    width: 33.333333% !important;
    max-width: 33.333333% !important;
    flex: 0 0 33.333333% !important;

    padding-left: 10px !important;
    padding-right: 10px !important;

    box-sizing: border-box;
}


/* =========================================================
 * КАРТОЧКИ
 * ========================================================= */

.testimonials .testimonial-card {
    position: relative;

    display: flex;
    flex-direction: column;

    width: 100% !important;
    height: 300px !important;

    min-width: 0 !important;
    max-width: none !important;

    margin: 0 !important;

    padding:
        24px
        26px
        22px;

    overflow: hidden;
    box-sizing: border-box;

    border-radius: 18px;

    border:
        1px solid rgba(255, 255, 255, 0.70);

    background:
        radial-gradient(
            circle at 13% 10%,
            rgba(255, 255, 255, 0.88) 0%,
            rgba(255, 255, 255, 0) 32%
        ),
        linear-gradient(
            145deg,
            rgba(255, 253, 248, 0.985) 0%,
            rgba(245, 239, 229, 0.985) 100%
        );

    box-shadow:
        0 24px 48px rgba(3, 13, 8, 0.25),
        inset 0 1px 0 rgba(255, 255, 255, 0.86);

    transform: none !important;

    transition:
        transform 0.28s ease,
        box-shadow 0.28s ease;
}

/* Реальный пейзаж, а не геометрические треугольники */
.testimonials .testimonial-card::before {
    content: "";

    position: absolute;

    left: 0;
    right: 0;
    bottom: 0;

    height: 105px;

    background:
        url("https://chalet74.ru/wp-content/uploads/2026/09/reviews.png")
        center 46% / cover no-repeat;

    opacity: 0.16;

    filter:
        grayscale(1)
        sepia(0.15);

    -webkit-mask-image:
        linear-gradient(
            180deg,
            transparent 0%,
            rgba(0,0,0,0.18) 28%,
            #000 72%,
            #000 100%
        );

    mask-image:
        linear-gradient(
            180deg,
            transparent 0%,
            rgba(0,0,0,0.18) 28%,
            #000 72%,
            #000 100%
        );

    pointer-events: none;
}

.testimonials .testimonial-card::after {
    content: "“";

    position: absolute;

    top: 13px;
    right: 18px;

    color: rgba(57, 66, 58, 0.105);

    font-family:
        "Prata",
        Georgia,
        serif;

    font-size: 68px;
    line-height: 0.88;

    pointer-events: none;
}


/* =========================================================
 * ЗВЁЗДЫ
 * ========================================================= */

.testimonials .testimonial-rate {
    position: relative;
    z-index: 3;

    display: flex;
    align-items: center;

    gap: 5px;

    margin-bottom: 18px;
}

.testimonials .testimonial-rate::before {
    content: "";

    position: absolute;

    top: -24px;
    left: 0;

    width: 42px;
    height: 3px;

    border-radius: 0 0 3px 3px;

    background: #c89553;
}

.testimonials .testimonial-rate svg {
    width: 16px !important;
    height: 16px !important;
}

.testimonials .star svg path {
    fill: #c79555 !important;
}


/* =========================================================
 * СОДЕРЖИМОЕ КАРТОЧКИ
 * ========================================================= */

.testimonials .testimonial-content {
    position: relative;
    z-index: 3;

    display: flex;
    flex-direction: column;

    flex: 1;
    min-height: 0;

    padding-bottom: 50px;
}

/* Имя — тот же serif, что и в макете.
   !important нужен, потому что старая тема задаёт внутренним элементам свой шрифт. */
.testimonials .testimonial-author,
.testimonials .testimonial-author * {
    position: relative;

    color: #171d18 !important;

    font-family:
        "Prata",
        Georgia,
        "Times New Roman",
        serif !important;

    font-size: 21px !important;
    line-height: 1.12 !important;

    font-weight: 400 !important;
    letter-spacing: -0.015em !important;
}

.testimonials .testimonial-author {
    margin: 0 0 17px;
}

.testimonials .testimonial-author::after {
    content: "";

    position: absolute;

    left: 0;
    bottom: -9px;

    width: 34px;
    height: 1px;

    background: #c58f4c;
}

.testimonials .testimonial-text,
.testimonials .testimonial-text * {
    position: relative;
    z-index: 2;

    color: #3e443f !important;

    font-family: "Manrope", sans-serif !important;

    font-size: 14.5px !important;
    line-height: 1.42 !important;

    font-weight: 400 !important;
}

.testimonials .testimonial-text {
    max-width: 96%;
    margin: 0;
}


/* Горный знак + фраза */
.testimonials .testimonial-content::before {
    content: "ГОРЫ ВДОХНОВЛЯЮТ\AВОЗВРАЩАТЬСЯ";

    position: absolute;

    left: 0;
    bottom: 0;

    min-height: 30px;

    display: flex;
    align-items: center;

    padding-left: 68px;

    color: rgba(91, 84, 74, 0.88);

    font-family: "Manrope", sans-serif;
    font-size: 6.5px;
    line-height: 1.52;
    font-weight: 700;

    letter-spacing: 0.23em;
    white-space: pre;

    background-image:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 78 38'%3E%3Cg fill='none' stroke='%238c8172' stroke-opacity='.78' stroke-width='1.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 32L17 17l7 7 11-14 18 22M12 32l8-9 7 9M31 32l7-10 8 10'/%3E%3Cpath d='M61 4v30'/%3E%3C/g%3E%3C/svg%3E");

    background-repeat: no-repeat;
    background-size: 58px 28px;
    background-position: left center;
}

.testimonials .testimonial-content::after {
    content: "CHALET74.RU";

    position: absolute;

    right: 0;
    bottom: 6px;

    color: rgba(83, 78, 70, 0.80);

    font-family: "Manrope", sans-serif;
    font-size: 8px;
    line-height: 1;

    font-weight: 700;

    letter-spacing: 0.28em;
}


/* =========================================================
 * HOVER
 * ========================================================= */

@media (min-width: 1025px) {

    .testimonials .testimonial-card:hover {
        transform: translateY(-5px) !important;

        box-shadow:
            0 31px 60px rgba(3, 13, 8, 0.31),
            inset 0 1px 0 rgba(255, 255, 255, 0.90);
    }

}


/* =========================================================
 * КНОПКА AVITO
 * ========================================================= */

.testimonials .button-wrapper-bottom {
    display: flex;
    justify-content: center;

    margin-top: 20px;
}

.testimonials .button-wrapper-bottom .btn {
    position: relative;

    width: 330px;
    max-width: 100%;
    min-width: 0;
    min-height: 54px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    box-sizing: border-box;

    padding:
        14px
        64px
        14px
        28px;

    overflow: hidden;

    border:
        1px solid rgba(210, 163, 101, 0.88);

    border-radius: 999px;

    background:
        rgba(7, 37, 25, 0.72);

    color: #f6efe3;

    font-family:
        "Prata",
        Georgia,
        serif !important;

    font-size: 16px;
    line-height: 1;

    font-weight: 400;

    text-decoration: none;

    box-shadow:
        0 16px 34px rgba(3, 13, 8, 0.18);

    transition:
        background 0.25s ease,
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.testimonials .button-wrapper-bottom .btn::after {
    content: "→";

    position: absolute;

    top: 5px;
    right: 6px;

    width: 42px;
    height: 42px;

    display: flex;
    align-items: center;
    justify-content: center;

    border:
        1px solid rgba(210, 163, 101, 0.48);

    border-radius: 50%;

    color: #ddb477;

    font-family: "Manrope", sans-serif;
    font-size: 18px;

    transition:
        transform 0.25s ease,
        background 0.25s ease;
}

.testimonials .button-wrapper-bottom .btn:hover {
    transform: translateY(-3px);

    background:
        rgba(11, 49, 33, 0.90);

    box-shadow:
        0 21px 42px rgba(3, 13, 8, 0.27);
}

.testimonials .button-wrapper-bottom .btn:hover::after {
    transform: translateX(2px);

    background:
        rgba(211, 169, 112, 0.10);
}


/* =========================================================
 * TABLET
 * ========================================================= */

@media (max-width: 1180px) {


    .testimonials .container {
        width: calc(100% - 60px) !important;
        max-width: 1040px !important;
    }

    .testimonials .title-wrapper {
        grid-template-columns: 1fr;
        gap: 24px;
        margin-bottom: 38px;
    }

    .testimonials h2 {
        width: 720px;
    }

    .testimonials .description {
        max-width: 680px;
        margin-top: 0;
    }

    .testimonials .row > [class*="col-"] {
        width: 50% !important;
        max-width: 50% !important;
        flex: 0 0 50% !important;

        margin-bottom: 20px;
    }

    .testimonials .testimonial-card {
        height: 392px !important;
    }

    .testimonials .button-wrapper-bottom {
        justify-content: center;
        margin-top: 16px;
    }

    .testimonials .button-wrapper-bottom .btn {
        width: 320px;
        max-width: 100%;
        min-width: 0;
    }

}


/* =========================================================
 * MOBILE
 * ========================================================= */

@media (max-width: 650px) {


    .testimonials {
        margin: 34px 0;
        padding: 58px 0 60px;

        background-position: 35% center;
    }

    .testimonials .container {
        width: calc(100% - 36px) !important;
        max-width: none !important;
    }

    .testimonials .title-wrapper {
        gap: 20px;
        margin-bottom: 30px;
    }

    .testimonials .title-wrapper::before {
        top: -19px;
        font-size: 9px;
    }

    .testimonials .title-wrapper::after {
        top: -15px;
        left: 145px;
        width: 28px;
    }

    .testimonials h2 {
        width: 100%;

        font-size: 0 !important;
        line-height: 0 !important;
    }

    .testimonials h2::before {
        font-size: 43px;
        line-height: 1.01;
    }

    .testimonials h2 br,
    .testimonials h2 span {
        display: none !important;
    }

    .testimonials h2::after {
        margin-top: 14px;

        font-size: 7px;
        line-height: 1.55;

        letter-spacing: 0.24em;
        white-space: normal;
    }

    .testimonials .description {
        max-width: 100%;

        margin: 0;
        padding-left: 18px;

        font-size: 13.5px;
        line-height: 1.5;
    }

    .testimonials .description::before {
        left: 0;
    }

    .testimonials .description::after {
        display: none;
    }

    /* MOBILE: жёстко выравниваем все карточки по одной оси */
    .testimonials .row {
        display: block !important;

        width: 100% !important;
        max-width: 100% !important;

        margin: 0 !important;
        padding: 0 !important;

        transform: none !important;
    }

    .testimonials .row > [class*="col-"] {
        display: block !important;

        position: relative !important;
        left: auto !important;
        right: auto !important;

        width: 100% !important;
        max-width: 100% !important;
        flex: none !important;

        padding: 0 !important;
        margin: 0 0 17px 0 !important;

        transform: none !important;

        box-sizing: border-box !important;
    }

    .testimonials .testimonial-card {
        display: flex !important;

        width: 100% !important;
        max-width: 100% !important;

        height: auto !important;
        min-height: 330px !important;

        margin: 0 !important;

        padding:
            28px
            23px
            24px;

        border-radius: 20px;

        transform: none !important;
        box-sizing: border-box !important;
    }

    .testimonials .testimonial-card::before {
        height: 130px;
    }

    .testimonials .testimonial-rate::before {
        top: -28px;
        width: 42px;
    }

    .testimonials .testimonial-card::after {
        top: 16px;
        right: 17px;

        font-size: 72px;
    }

    .testimonials .testimonial-author,
    .testimonials .testimonial-author * {
        font-size: 21px !important;
    }

    .testimonials .testimonial-author {
        margin-bottom: 21px;
    }

    .testimonials .testimonial-text,
    .testimonials .testimonial-text * {
        font-size: 14px !important;
        line-height: 1.50 !important;
    }

    .testimonials .testimonial-text {
        max-width: 100%;
    }

    .testimonials .testimonial-content {
        padding-bottom: 62px;
    }

    .testimonials .testimonial-content::before {
        padding-left: 70px;

        font-size: 6px;
        letter-spacing: 0.18em;

        background-size: 60px 30px;
    }

    .testimonials .testimonial-content::after {
        bottom: 7px;
        font-size: 7px;
    }

    .testimonials .button-wrapper-bottom {
        justify-content: center;
        margin-top: 10px;
    }

    .testimonials .button-wrapper-bottom .btn {
        width: 330px;
        max-width: calc(100vw - 36px);
        min-width: 0;
        min-height: 58px;

        padding:
            16px
            68px
            16px
            28px;

        font-size: 15px;
        line-height: 1.1;
        text-align: center;
        white-space: nowrap;
    }

    .testimonials .button-wrapper-bottom .btn::after {
        width: 44px;
        height: 44px;

        top: 7px;
        right: 8px;
    }

    /* Сбрасываем возможные старые смещения темы у отдельных карточек */
    .testimonials .row > [class*="col-"]:nth-child(n),
    .testimonials .row > [class*="col-"]:nth-child(n) .testimonial-card {
        margin-left: 0 !important;
        margin-right: 0 !important;
        left: auto !important;
        right: auto !important;
        transform: none !important;
    }

}



/* =========================================================
 * MOBILE FINAL FIX — РОВНЫЕ КАРТОЧКИ ОТЗЫВОВ
 * Самый последний override, чтобы перебить старую сетку темы
 * ========================================================= */

@media (max-width: 650px) {

    .testimonials .container {
        width: 100% !important;
        max-width: none !important;

        margin: 0 auto !important;
        padding-left: 18px !important;
        padding-right: 18px !important;

        box-sizing: border-box !important;
    }

    .testimonials .title-wrapper {
        width: 100% !important;
        max-width: none !important;

        margin-left: 0 !important;
        margin-right: 0 !important;

        transform: none !important;
        box-sizing: border-box !important;
    }

    /* Отказываемся от Bootstrap/flex именно на мобильном */
    .testimonials .row {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;

        width: 100% !important;
        max-width: 380px !important;

        margin: 0 auto !important;
        padding: 0 !important;

        gap: 17px !important;

        transform: none !important;
        box-sizing: border-box !important;
    }

    .testimonials .row > [class*="col-"] {
        display: block !important;

        position: static !important;

        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;

        flex: none !important;

        margin: 0 !important;
        padding: 0 !important;

        left: auto !important;
        right: auto !important;

        transform: none !important;
        float: none !important;

        box-sizing: border-box !important;
    }

    .testimonials .row > [class*="col-"]:nth-child(n) {
        width: 100% !important;
        max-width: none !important;

        margin: 0 !important;
        padding: 0 !important;

        left: auto !important;
        right: auto !important;

        transform: none !important;
    }

    .testimonials .testimonial-card,
    .testimonials .row > [class*="col-"]:nth-child(n) .testimonial-card {
        position: relative !important;

        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;

        margin: 0 !important;

        left: auto !important;
        right: auto !important;

        transform: none !important;

        box-sizing: border-box !important;
    }

    .testimonials .button-wrapper-bottom {
        width: 100% !important;
        max-width: 330px !important;

        margin-left: auto !important;
        margin-right: auto !important;

        justify-content: center !important;
        transform: none !important;
    }

    .testimonials .button-wrapper-bottom .btn {
        width: 100% !important;
        max-width: 330px !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

}

/* =========================================================
 * 17. FAQ — CHALET74 LUXURY / STEP 1
 * Фон + типографика + премиальные accordion-карточки
 * PHP и логика открытия FAQ не меняются
 * ========================================================= */

.faq-section {
    position: relative;
    margin: 42px 0;
    padding: 72px 0 78px;
    overflow: hidden;

    background:
        linear-gradient(
            90deg,
            rgba(7, 22, 15, 0.88) 0%,
            rgba(7, 22, 15, 0.72) 50%,
            rgba(7, 20, 14, 0.60) 100%
        ),
        url("https://chalet74.ru/wp-content/uploads/2026/09/reviews.png")
        center center / cover no-repeat;
}

/* мягкое затемнение и глубина */
.faq-section::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;

    background:
        radial-gradient(
            circle at 82% 18%,
            rgba(205, 159, 98, 0.16) 0%,
            rgba(205, 159, 98, 0) 28%
        ),
        linear-gradient(
            180deg,
            rgba(2, 12, 7, 0.04) 0%,
            rgba(2, 12, 7, 0.26) 100%
        );

    pointer-events: none;
}

/* тонкая золотая линия сверху */
.faq-section::after {
    content: "";
    position: absolute;
    top: 0;
    left: 7%;
    right: 7%;
    z-index: 1;

    height: 1px;

    background:
        linear-gradient(
            90deg,
            transparent 0%,
            rgba(213, 169, 111, 0.48) 50%,
            transparent 100%
        );

    pointer-events: none;
}

.faq-section > .container {
    position: relative;
    z-index: 2;

    width: calc(100% - 80px) !important;
    max-width: 1280px !important;

    margin-left: auto !important;
    margin-right: auto !important;

    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* ---------------------------------------------------------
 * Заголовок
 * --------------------------------------------------------- */

.faq-section .subtitle {
    margin: 0 0 16px;

    color: #d7aa70 !important;

    font-family: "Manrope", sans-serif;
    font-size: 10px;
    line-height: 1;
    font-weight: 700;

    letter-spacing: 0.28em;
    text-transform: uppercase;
}

.faq-section .subtitle::after {
    content: "";
    display: inline-block;

    width: 38px;
    height: 1px;

    margin: 0 0 3px 18px;

    background: rgba(215, 170, 112, 0.82);
}

.faq-section h2 {
    max-width: 760px;
    margin: 0;

    color: #f7f1e8 !important;

    font-family:
        "Prata",
        Georgia,
        "Times New Roman",
        serif !important;

    font-size: clamp(44px, 3.7vw, 62px);
    line-height: 1.06;

    font-weight: 400 !important;
    letter-spacing: -0.035em;

    -webkit-font-smoothing: antialiased;
    text-rendering: geometricPrecision;
}

/* правая заметка — пока без правки PHP */
.faq-section > .container::before {
    content: "";

    position: absolute;
    top: 72px;
    right: 345px;

    width: 1px;
    height: 72px;

    background: rgba(213, 169, 111, 0.72);
}

.faq-section > .container::after {
    content: "Если не нашли нужный ответ —\Aнапишите нам, с радостью подскажем!";

    position: absolute;
    top: 73px;
    right: 0;

    width: 315px;

    color: rgba(255, 247, 235, 0.88);

    font-family: "Manrope", sans-serif;
    font-size: 14px;
    line-height: 1.55;
    font-weight: 400;

    white-space: pre;
}

/* ---------------------------------------------------------
 * Две колонки FAQ
 * --------------------------------------------------------- */

.faq-section .accordion-block {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;

    gap: 0 20px !important;

    margin-top: 44px !important;
}

.faq-section .accordion-column {
    display: grid !important;
    align-content: start;

    gap: 14px !important;

    min-width: 0;
}

/* ---------------------------------------------------------
 * Карточка вопроса
 * --------------------------------------------------------- */

.faq-section .accordion-item {
    position: relative;

    margin: 0 !important;
    overflow: hidden;

    border:
        1px solid rgba(213, 169, 111, 0.68) !important;

    border-radius: 22px !important;

    background:
        linear-gradient(
            110deg,
            rgba(20, 39, 29, 0.90) 0%,
            rgba(28, 42, 32, 0.80) 68%,
            rgba(81, 70, 49, 0.62) 100%
        ) !important;

    box-shadow:
        0 14px 30px rgba(3, 12, 8, 0.16),
        inset 0 1px 0 rgba(255, 255, 255, 0.035);

    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);

    transition:
        border-color 0.25s ease,
        background 0.25s ease,
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.faq-section .accordion-item-header {
    position: relative;

    min-height: 88px;

    display: flex !important;
    align-items: center;

    box-sizing: border-box;

    padding:
        20px
        84px
        20px
        30px !important;

    color: #f6efe5 !important;

    font-family:
        "Prata",
        Georgia,
        "Times New Roman",
        serif !important;

    font-size: 20px !important;
    line-height: 1.28 !important;

    font-weight: 400 !important;

    cursor: pointer;
}

/* круг вокруг стрелки */
.faq-section .accordion-item-header::before {
    content: "";

    position: absolute;

    top: 50%;
    right: 18px;

    width: 46px;
    height: 46px;

    transform: translateY(-50%);

    border:
        1px solid rgba(213, 169, 111, 0.56);

    border-radius: 50%;

    background: rgba(6, 28, 18, 0.48);

    pointer-events: none;

    transition:
        background 0.25s ease,
        border-color 0.25s ease;
}

/* стрелка */
.faq-section .accordion-item-header::after {
    content: "";

    position: absolute;

    top: calc(50% - 5px);
    right: 35px;

    width: 9px;
    height: 9px;

    border-right: 2px solid #d9ad73;
    border-bottom: 2px solid #d9ad73;

    transform: rotate(45deg);

    pointer-events: none;

    transition: transform 0.25s ease;
}

/* ---------------------------------------------------------
 * Ответ
 * Не задаём display/max-height — не ломаем существующий JS
 * --------------------------------------------------------- */

.faq-section .accordion-item-content {
    color: rgba(255, 247, 237, 0.82) !important;
}

.faq-section .accordion-content-wrapper {
    padding:
        0
        84px
        25px
        30px !important;

    color: rgba(255, 247, 237, 0.82) !important;

    font-family: "Manrope", sans-serif !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
    font-weight: 400 !important;
}

.faq-section .accordion-content-wrapper,
.faq-section .accordion-content-wrapper p,
.faq-section .accordion-content-wrapper span,
.faq-section .accordion-content-wrapper a {
    color: rgba(255, 247, 237, 0.82) !important;
}

/* открытое состояние — учитываем несколько возможных классов темы */
.faq-section .accordion-item.active,
.faq-section .accordion-item.open,
.faq-section .accordion-item.is-open {
    border-color: rgba(222, 177, 115, 0.90) !important;

    background:
        linear-gradient(
            110deg,
            rgba(25, 49, 35, 0.96) 0%,
            rgba(32, 48, 36, 0.90) 68%,
            rgba(92, 76, 50, 0.72) 100%
        ) !important;

    box-shadow:
        0 18px 36px rgba(3, 12, 8, 0.22),
        inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

.faq-section .accordion-item.active .accordion-item-header::after,
.faq-section .accordion-item.open .accordion-item-header::after,
.faq-section .accordion-item.is-open .accordion-item-header::after,
.faq-section .accordion-item-header.active::after {
    top: calc(50% - 1px);
    transform: rotate(225deg);
}

/* hover только desktop */
@media (min-width: 1025px) {

    .faq-section .accordion-item:hover {
        transform: translateY(-2px);

        border-color: rgba(222, 177, 115, 0.88) !important;

        box-shadow:
            0 18px 38px rgba(3, 12, 8, 0.22),
            inset 0 1px 0 rgba(255, 255, 255, 0.05);
    }

    .faq-section .accordion-item:hover .accordion-item-header::before {
        background: rgba(11, 39, 26, 0.72);
        border-color: rgba(222, 177, 115, 0.80);
    }

}

/* =========================================================
 * FAQ — TABLET
 * ========================================================= */

@media (max-width: 1024px) {

    .faq-section {
        padding: 62px 0 68px;
    }

    .faq-section > .container {
        width: calc(100% - 60px) !important;
    }

    .faq-section h2 {
        max-width: 650px;
    }

    .faq-section > .container::before,
    .faq-section > .container::after {
        display: none;
    }

    .faq-section .accordion-block {
        margin-top: 34px !important;
    }

    .faq-section .accordion-item-header {
        min-height: 82px;

        font-size: 18px !important;
    }

}

/* =========================================================
 * FAQ — MOBILE
 * ========================================================= */

@media (max-width: 650px) {

    .faq-section {
        margin: 34px 0;
        padding: 52px 0 56px;

        background-position: 38% center;
    }

    .faq-section > .container {
        width: calc(100% - 36px) !important;
        max-width: none !important;
    }

    .faq-section .subtitle {
        margin-bottom: 13px;

        font-size: 9px;
    }

    .faq-section .subtitle::after {
        width: 28px;
        margin-left: 12px;
    }

    .faq-section h2 {
        max-width: 100%;

        font-size: 36px;
        line-height: 1.08;
    }

    .faq-section .accordion-block {
        grid-template-columns: 1fr !important;

        gap: 14px !important;

        margin-top: 28px !important;
    }

    .faq-section .accordion-column {
        gap: 14px !important;
    }

    .faq-section .accordion-item {
        border-radius: 18px !important;
    }

    .faq-section .accordion-item-header {
        min-height: 74px;

        padding:
            17px
            70px
            17px
            20px !important;

        font-size: 17px !important;
        line-height: 1.3 !important;
    }

    .faq-section .accordion-item-header::before {
        right: 14px;

        width: 40px;
        height: 40px;
    }

    .faq-section .accordion-item-header::after {
        right: 29px;

        width: 8px;
        height: 8px;
    }

    .faq-section .accordion-content-wrapper {
        padding:
            0
            20px
            20px !important;

        font-size: 13.5px !important;
        line-height: 1.55 !important;
    }

}



/* =========================================================
 * 17.1 FAQ — STEP 2
 * Компактнее + правильные стрелки + индивидуальные иконки
 * ========================================================= */

@media (min-width: 1025px) {

    /* Заголовок ближе к макету: 3 строки, а не 4 */
    .faq-section h2 {
        max-width: 820px !important;

        font-size: clamp(46px, 3.2vw, 56px) !important;
        line-height: 1.08 !important;
    }

    .faq-section .accordion-block {
        margin-top: 36px !important;
    }

    .faq-section .accordion-item-header {
        min-height: 82px !important;

        padding:
            18px
            78px
            18px
            105px !important;

        font-size: 19px !important;
        line-height: 1.25 !important;

        background-repeat: no-repeat !important;
        background-size:
            34px 34px,
            1px 44px !important;
        background-position:
            28px center,
            82px center !important;
    }

    /* вертикальный разделитель после иконки */
    .faq-section .accordion-item-header {
        background-image:
            var(--faq-icon),
            linear-gradient(
                rgba(213, 169, 111, 0.48),
                rgba(213, 169, 111, 0.48)
            ) !important;
    }

}

/* ---------------------------------------------------------
 * ИКОНКИ FAQ
 * --------------------------------------------------------- */

/* 1 — отмена бронирования / календарь */
.faq-section .accordion-column:first-child
.accordion-item:nth-child(1)
.accordion-item-header {
    --faq-icon:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 36'%3E%3Cg fill='none' stroke='%23d6a45f' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='8' width='26' height='23' rx='3'/%3E%3Cpath d='M10 5v6M26 5v6M5 14h26M11 19h3M17 19h3M23 19h3M11 24h3M17 24h3'/%3E%3C/g%3E%3C/svg%3E");
}

/* 2 — дети */
.faq-section .accordion-column:first-child
.accordion-item:nth-child(2)
.accordion-item-header {
    --faq-icon:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 36'%3E%3Cg fill='none' stroke='%23d6a45f' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='14' cy='13' r='4'/%3E%3Ccircle cx='24' cy='15' r='3.5'/%3E%3Cpath d='M6 29c0-5 3.2-8 8-8s8 3 8 8M20 29c0-4 2-6.5 5.5-6.5S31 25 31 29'/%3E%3C/g%3E%3C/svg%3E");
}

/* 3 — заезд / выезд */
.faq-section .accordion-column:first-child
.accordion-item:nth-child(3)
.accordion-item-header {
    --faq-icon:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 36'%3E%3Cg fill='none' stroke='%23d6a45f' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='18' cy='18' r='12'/%3E%3Cpath d='M18 11v8h7M18 18l-5 5'/%3E%3C/g%3E%3C/svg%3E");
}

/* 4 — питомцы */
.faq-section .accordion-column:first-child
.accordion-item:nth-child(4)
.accordion-item-header {
    --faq-icon:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 36'%3E%3Cg fill='none' stroke='%23d6a45f' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cellipse cx='18' cy='24' rx='7' ry='6'/%3E%3Cellipse cx='9' cy='14' rx='3' ry='4'/%3E%3Cellipse cx='15' cy='10' rx='3' ry='4'/%3E%3Cellipse cx='23' cy='10' rx='3' ry='4'/%3E%3Cellipse cx='29' cy='14' rx='3' ry='4'/%3E%3C/g%3E%3C/svg%3E");
}

/* 5 — курение */
.faq-section .accordion-column:nth-child(2)
.accordion-item:nth-child(1)
.accordion-item-header {
    --faq-icon:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 36'%3E%3Cg fill='none' stroke='%23d6a45f' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 24h20M9 20h15M27 20v4M30 20v4M18 14c0-3 4-2 4-5M23 14c0-2 3-2 3-4M6 6l24 24'/%3E%3C/g%3E%3C/svg%3E");
}

/* 6 — предоплата / залог */
.faq-section .accordion-column:nth-child(2)
.accordion-item:nth-child(2)
.accordion-item-header {
    --faq-icon:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 36'%3E%3Cg fill='none' stroke='%23d6a45f' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 5h16l5 5v21H8zM24 5v6h5M12 17h12M12 22h12M12 27h8'/%3E%3Ccircle cx='25' cy='26' r='5'/%3E%3Cpath d='M23 26h4M25 24v4'/%3E%3C/g%3E%3C/svg%3E");
}

/* 7 — вечеринки */
.faq-section .accordion-column:nth-child(2)
.accordion-item:nth-child(3)
.accordion-item-header {
    --faq-icon:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 36'%3E%3Cg fill='none' stroke='%23d6a45f' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 7l5 13M20 7l-5 13M9 11h10M11 20l-3 8M15 20l3 8M18 28H6M28 7l-4 13M20 20l-2 8M24 20l4 8M17 11h10'/%3E%3C/g%3E%3C/svg%3E");
}

/* 8 — стоимость */
.faq-section .accordion-column:nth-child(2)
.accordion-item:nth-child(4)
.accordion-item-header {
    --faq-icon:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 36'%3E%3Cg fill='none' stroke='%23d6a45f' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cellipse cx='13' cy='10' rx='8' ry='4'/%3E%3Cpath d='M5 10v6c0 2 3.5 4 8 4s8-2 8-4v-6M5 16v6c0 2 3.5 4 8 4 2.4 0 4.5-.6 6-1.5'/%3E%3Cellipse cx='24' cy='22' rx='7' ry='3.5'/%3E%3Cpath d='M17 22v5c0 2 3 3.5 7 3.5s7-1.5 7-3.5v-5'/%3E%3C/g%3E%3C/svg%3E");
}


/* ---------------------------------------------------------
 * FIX: полностью сбрасываем старую стрелку темы
 * --------------------------------------------------------- */

.faq-section .accordion-item-header::before,
.faq-section .accordion-item-header::after {
    margin: 0 !important;
    padding: 0 !important;

    box-shadow: none !important;
    background-image: none !important;

    box-sizing: border-box !important;
}

/* круг */
.faq-section .accordion-item-header::before {
    content: "" !important;

    top: 50% !important;
    right: 18px !important;
    bottom: auto !important;
    left: auto !important;

    width: 46px !important;
    height: 46px !important;

    transform: translateY(-50%) !important;

    border:
        1px solid rgba(213, 169, 111, 0.64) !important;

    border-radius: 50% !important;

    background:
        rgba(7, 30, 20, 0.52) !important;
}

/* чистый шеврон без старого L */
.faq-section .accordion-item-header::after {
    content: "" !important;

    top: 50% !important;
    right: 36px !important;
    bottom: auto !important;
    left: auto !important;

    width: 10px !important;
    height: 10px !important;

    border-top: 0 !important;
    border-left: 0 !important;
    border-right:
        2px solid #d9ad73 !important;
    border-bottom:
        2px solid #d9ad73 !important;

    border-radius: 0 !important;

    background: transparent !important;

    transform:
        translateY(-65%)
        rotate(45deg) !important;
}

/* открытая карточка */
.faq-section .accordion-item.active .accordion-item-header::after,
.faq-section .accordion-item.open .accordion-item-header::after,
.faq-section .accordion-item.is-open .accordion-item-header::after,
.faq-section .accordion-item-header.active::after {
    transform:
        translateY(-30%)
        rotate(225deg) !important;
}


/* =========================================================
 * FAQ STEP 2 — MOBILE
 * ========================================================= */

@media (max-width: 650px) {

    .faq-section h2 {
        font-size: 34px !important;
    }

    .faq-section .accordion-item-header {
        min-height: 72px !important;

        padding:
            16px
            62px
            16px
            18px !important;

        font-size: 16px !important;

        background-image: none !important;
    }

    .faq-section .accordion-item-header::before {
        right: 12px !important;

        width: 38px !important;
        height: 38px !important;
    }

    .faq-section .accordion-item-header::after {
        right: 27px !important;

        width: 8px !important;
        height: 8px !important;
    }

}

/* =========================================================
 * 17.2 FAQ — STEP 3
 * Финальная стрелка FAQ без диагональных артефактов
 * ========================================================= */

/* круг справа */
.faq-section .accordion-item-header::before {
    content: "" !important;

    position: absolute !important;
    top: 50% !important;
    right: 18px !important;
    left: auto !important;
    bottom: auto !important;

    width: 46px !important;
    height: 46px !important;

    margin: 0 !important;
    padding: 0 !important;

    transform: translateY(-50%) !important;

    border: 1px solid rgba(213, 169, 111, 0.64) !important;
    border-radius: 50% !important;

    background: rgba(7, 30, 20, 0.56) !important;
    background-image: none !important;

    box-shadow: none !important;

    pointer-events: none !important;
    box-sizing: border-box !important;
}

/* вместо CSS-border стрелки используем готовый SVG-chevron */
.faq-section .accordion-item-header::after {
    content: "" !important;

    position: absolute !important;
    top: 50% !important;
    right: 32px !important;
    left: auto !important;
    bottom: auto !important;

    width: 18px !important;
    height: 18px !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;
    border-radius: 0 !important;

    background-color: transparent !important;
    background-image:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 9l6 6 6-6' fill='none' stroke='%23d9ad73' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 18px 18px !important;

    box-shadow: none !important;

    transform: translateY(-50%) rotate(0deg) !important;
    transform-origin: center center !important;

    pointer-events: none !important;
    box-sizing: border-box !important;

    transition: transform 0.25s ease !important;
}

/* открытая карточка — стрелка вверх */
.faq-section .accordion-item.active .accordion-item-header::after,
.faq-section .accordion-item.open .accordion-item-header::after,
.faq-section .accordion-item.is-open .accordion-item-header::after,
.faq-section .accordion-item-header.active::after {
    transform: translateY(-50%) rotate(180deg) !important;
}

@media (max-width: 650px) {

    .faq-section .accordion-item-header::before {
        right: 12px !important;

        width: 38px !important;
        height: 38px !important;
    }

    .faq-section .accordion-item-header::after {
        right: 22px !important;

        width: 18px !important;
        height: 18px !important;

        background-size: 16px 16px !important;
    }

}

/* =========================================================
 * 17.3 FAQ — STEP 4
 * Нормальный крупный chevron строго по центру круга
 * ========================================================= */

.faq-section .accordion-item-header::before {
    right: 18px !important;

    width: 46px !important;
    height: 46px !important;

    border: 1px solid rgba(213, 169, 111, 0.72) !important;

    background: rgba(8, 31, 21, 0.66) !important;
}

/* крупный симметричный V */
.faq-section .accordion-item-header::after {
    content: "" !important;

    top: 50% !important;
    right: 29px !important;

    width: 24px !important;
    height: 24px !important;

    background-image:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 8.5L12 15.5L19 8.5' fill='none' stroke='%23e0b36f' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;

    background-repeat: no-repeat !important;
    background-position: center center !important;
    background-size: 24px 24px !important;

    transform: translateY(-50%) rotate(0deg) !important;
}

/* открытый вопрос — V поворачивается вверх */
.faq-section .accordion-item.active .accordion-item-header::after,
.faq-section .accordion-item.open .accordion-item-header::after,
.faq-section .accordion-item.is-open .accordion-item-header::after,
.faq-section .accordion-item-header.active::after {
    transform: translateY(-50%) rotate(180deg) !important;
}

@media (max-width: 650px) {

    .faq-section .accordion-item-header::before {
        right: 12px !important;

        width: 40px !important;
        height: 40px !important;
    }

    .faq-section .accordion-item-header::after {
        right: 20px !important;

        width: 24px !important;
        height: 24px !important;

        background-size: 22px 22px !important;
    }

}

/* =========================================================
 * 17.4 FAQ — DESKTOP ARROW FIX
 * Увеличиваем стрелку и центрируем её именно на desktop
 * ========================================================= */

@media (min-width: 651px) {

    .faq-section .accordion-item-header::before {
        right: 16px !important;
        width: 50px !important;
        height: 50px !important;
        border: 1px solid rgba(213, 169, 111, 0.78) !important;
        background: rgba(8, 31, 21, 0.66) !important;
    }

    .faq-section .accordion-item-header::after {
        content: "" !important;
        top: 50% !important;
        right: 27px !important;

        width: 28px !important;
        height: 28px !important;

        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4.5 8L12 15.5L19.5 8' fill='none' stroke='%23e0b36f' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
        background-repeat: no-repeat !important;
        background-position: center center !important;
        background-size: 28px 28px !important;

        transform: translateY(-50%) rotate(0deg) !important;
    }

    .faq-section .accordion-item.active .accordion-item-header::after,
    .faq-section .accordion-item.open .accordion-item-header::after,
    .faq-section .accordion-item.is-open .accordion-item-header::after,
    .faq-section .accordion-item-header.active::after {
        transform: translateY(-50%) rotate(180deg) !important;
    }
}

/* =========================================================
 * 17.5 FAQ — DESKTOP ARROW SINGLE ELEMENT FIX
 * Один элемент = круг + стрелка. Так центр не может съехать.
 * ========================================================= */

@media (min-width: 651px) {

    /* Полностью отключаем отдельный круг из ::before */
    .faq-section .accordion-item-header::before {
        display: none !important;
        content: none !important;
    }

    /* ::after одновременно рисует круг и стрелку */
    .faq-section .accordion-item-header::after {
        content: "" !important;

        position: absolute !important;
        top: 50% !important;
        right: 16px !important;
        bottom: auto !important;
        left: auto !important;

        width: 52px !important;
        height: 52px !important;

        margin: 0 !important;
        padding: 0 !important;

        border: 1px solid rgba(213, 169, 111, 0.78) !important;
        border-radius: 50% !important;

        background-color: rgba(8, 31, 21, 0.66) !important;
        background-image:
            url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 52 52'%3E%3Cpath d='M16 21L26 31L36 21' fill='none' stroke='%23e2b675' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
        background-repeat: no-repeat !important;
        background-position: center center !important;
        background-size: 52px 52px !important;

        box-shadow: none !important;

        transform: translateY(-50%) rotate(0deg) !important;
        transform-origin: center center !important;

        pointer-events: none !important;
        box-sizing: border-box !important;

        transition:
            transform 0.25s ease,
            background-color 0.25s ease,
            border-color 0.25s ease !important;
    }

    /* Открытый вопрос */
    .faq-section .accordion-item.active .accordion-item-header::after,
    .faq-section .accordion-item.open .accordion-item-header::after,
    .faq-section .accordion-item.is-open .accordion-item-header::after,
    .faq-section .accordion-item-header.active::after {
        transform: translateY(-50%) rotate(180deg) !important;
    }

    .faq-section .accordion-item:hover .accordion-item-header::after {
        background-color: rgba(12, 42, 28, 0.82) !important;
        border-color: rgba(222, 177, 115, 0.92) !important;
    }
}

/* =========================================================
 * 17.6 FAQ — BACKGROUND LOCK
 * При раскрытии ответа фон больше не "зумится"
 * ========================================================= */

.faq-section {
    background: #0b2117 !important;
}

/*
 * Картинку переносим на отдельный слой.
 * Ключевой момент: background-size: 100% auto;
 * Масштаб зависит только от ширины экрана, а не от высоты FAQ.
 */
.faq-section::before {
    content: "" !important;

    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;

    background:
        linear-gradient(
            90deg,
            rgba(7, 22, 15, 0.82) 0%,
            rgba(7, 22, 15, 0.68) 50%,
            rgba(7, 20, 14, 0.60) 100%
        ),
        linear-gradient(
            180deg,
            rgba(4, 14, 9, 0.04) 0%,
            rgba(4, 14, 9, 0.28) 100%
        ),
        url("https://chalet74.ru/wp-content/uploads/2026/09/reviews.png")
        center top / 100% auto no-repeat !important;

    pointer-events: none !important;
}

/* Если FAQ становится выше картинки, низ остаётся в том же тёмно-зелёном тоне */
.faq-section > .container {
    position: relative;
    z-index: 2;
}

@media (max-width: 650px) {

    .faq-section::before {
        background:
            linear-gradient(
                90deg,
                rgba(7, 22, 15, 0.78) 0%,
                rgba(7, 22, 15, 0.66) 100%
            ),
            linear-gradient(
                180deg,
                rgba(4, 14, 9, 0.04) 0%,
                rgba(4, 14, 9, 0.30) 100%
            ),
            url("https://chalet74.ru/wp-content/uploads/2026/09/reviews.png")
            36% top / auto 720px no-repeat !important;
    }

}

/* =========================================================
 * 17.7 FAQ — FINAL POLISH
 * Финальные пропорции. Фоновую картинку оставляем.
 * ========================================================= */

@media (min-width: 1025px) {

    .faq-section {
        padding: 62px 0 68px !important;
    }

    .faq-section .subtitle {
        margin-bottom: 13px !important;
    }

    .faq-section h2 {
        max-width: 790px !important;

        font-size: clamp(43px, 2.95vw, 52px) !important;
        line-height: 1.07 !important;
        letter-spacing: -0.032em !important;
    }

    /* правый поясняющий текст чуть выше и аккуратнее */
    .faq-section > .container::before {
        top: 66px !important;
        height: 64px !important;
    }

    .faq-section > .container::after {
        top: 67px !important;

        font-size: 13.5px !important;
        line-height: 1.5 !important;
    }

    /* сокращаем пустое место между шапкой и вопросами */
    .faq-section .accordion-block {
        margin-top: 28px !important;
    }

    .faq-section .accordion-column {
        gap: 12px !important;
    }

    .faq-section .accordion-item-header {
        min-height: 78px !important;

        padding-top: 16px !important;
        padding-bottom: 16px !important;

        font-size: 18px !important;
    }

}

/* Tablet — тоже чуть компактнее */
@media (min-width: 651px) and (max-width: 1024px) {

    .faq-section {
        padding: 56px 0 62px !important;
    }

    .faq-section .accordion-block {
        margin-top: 30px !important;
    }

}

/* Mobile оставляем практически как есть — там уже хороший масштаб */

/* =========================================================
 * 18. ЛОКАЦИЯ — CHALET74 LUXURY / STEP 1
 * Каркас + фон + типографика + карта
 * PHP / ACF / iframe не меняются
 * ========================================================= */

.location-section {
    position: relative;
    margin: 42px 0;
    padding: 72px 0 78px;
    overflow: hidden;

    background:
        linear-gradient(
            90deg,
            rgba(7, 22, 15, 0.84) 0%,
            rgba(7, 22, 15, 0.70) 48%,
            rgba(7, 20, 14, 0.62) 100%
        ),
        url("https://chalet74.ru/wp-content/uploads/2026/09/forest.png")
        center center / cover no-repeat;
}

.location-section::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;

    background:
        radial-gradient(
            circle at 80% 18%,
            rgba(208, 163, 102, 0.14) 0%,
            rgba(208, 163, 102, 0) 26%
        ),
        linear-gradient(
            180deg,
            rgba(3, 13, 8, 0.02) 0%,
            rgba(3, 13, 8, 0.24) 100%
        );

    pointer-events: none;
}

.location-section::after {
    content: "";
    position: absolute;
    top: 0;
    left: 7%;
    right: 7%;
    z-index: 1;

    height: 1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(213, 169, 111, 0.46),
            transparent
        );

    pointer-events: none;
}

.location-section > .container {
    position: relative;
    z-index: 2;

    width: calc(100% - 80px) !important;
    max-width: 1280px !important;

    margin-left: auto !important;
    margin-right: auto !important;

    padding-left: 0 !important;
    padding-right: 0 !important;
}

.location-section > .container > .row {
    display: grid !important;
    grid-template-columns:
        minmax(420px, 0.88fr)
        minmax(560px, 1.12fr);

    gap: 64px;

    align-items: start !important;

    margin: 0 !important;
}

.location-section > .container > .row > [class*="col-"] {
    width: 100% !important;
    max-width: none !important;
    flex: none !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* ---------------------------------------------------------
 * Левая часть — заголовок
 * --------------------------------------------------------- */

.location-section .subtitle {
    margin: 0 0 16px;

    color: #d8aa70 !important;

    font-family: "Manrope", sans-serif;
    font-size: 10px;
    line-height: 1;
    font-weight: 700;

    letter-spacing: 0.28em;
    text-transform: uppercase;
}

.location-section .subtitle::after {
    content: "";
    display: inline-block;

    width: 38px;
    height: 1px;

    margin: 0 0 3px 18px;

    background: rgba(215, 170, 112, 0.82);
}

.location-section h2 {
    max-width: 520px;
    margin: 0 0 34px;

    color: #f7f1e8 !important;

    font-family:
        "Prata",
        Georgia,
        "Times New Roman",
        serif !important;

    font-size: clamp(46px, 3.4vw, 60px);
    line-height: 1.04;

    font-weight: 400 !important;
    letter-spacing: -0.035em;
}


/* ---------------------------------------------------------
 * Левая часть — преимущества
 * --------------------------------------------------------- */

.location-section .location-block-benefits {
    display: grid;
    gap: 14px;
}

.location-section .benefit-item {
    position: relative;

    display: grid;
    grid-template-columns: 58px 1fr;
    align-items: center;
    gap: 18px;

    min-height: 68px;

    padding: 7px 0;

    background: transparent;
}

.location-section .benefit-ico {
    width: 52px;
    height: 52px;

    display: flex;
    align-items: center;
    justify-content: center;

    border:
        1px solid rgba(213, 169, 111, 0.70);

    border-radius: 50%;

    background:
        rgba(12, 37, 25, 0.58);

    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.035);
}

.location-section .benefit-ico img {
    width: 24px;
    height: 24px;

    display: block;
    object-fit: contain;

    filter:
        brightness(0)
        saturate(100%)
        invert(72%)
        sepia(32%)
        saturate(708%)
        hue-rotate(352deg)
        brightness(93%)
        contrast(88%);
}

.location-section .benefit-item p {
    margin: 0 !important;

    max-width: 440px;

    color: rgba(255, 248, 239, 0.88) !important;

    font-family: "Manrope", sans-serif;
    font-size: 15px;
    line-height: 1.48;
    font-weight: 400;
}

.location-section .benefit-item p strong,
.location-section .benefit-item p b {
    color: #ffffff !important;
    font-weight: 600;
}


/* ---------------------------------------------------------
 * Декоративная подпись справа сверху
 * --------------------------------------------------------- */

.location-section > .container::after {
    content: "Сердце гор ближе, чем кажется";

    position: absolute;
    top: -14px;
    right: 0;

    max-width: 270px;

    color: rgba(218, 173, 111, 0.90);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 22px;
    line-height: 1.15;
    font-style: italic;

    text-align: right;

    transform: rotate(-3deg);
}


/* ---------------------------------------------------------
 * Правая часть — карта
 * --------------------------------------------------------- */

.location-section .form-wrapper {
    position: relative;

    width: 100%;

    padding: 8px;

    overflow: hidden;

    border:
        1px solid rgba(213, 169, 111, 0.84);

    border-radius: 28px;

    background:
        rgba(245, 239, 228, 0.96);

    box-shadow:
        0 24px 54px rgba(2, 11, 7, 0.30),
        inset 0 1px 0 rgba(255, 255, 255, 0.52);
}

.location-section .form-wrapper::before {
    content: "";

    position: absolute;
    inset: 8px;
    z-index: 2;

    border:
        1px solid rgba(255, 255, 255, 0.58);

    border-radius: 20px;

    pointer-events: none;
}

.location-section .form-wrapper iframe {
    position: relative;
    z-index: 1;

    display: block;

    width: 100% !important;
    height: 440px !important;

    border: 0 !important;
    border-radius: 20px !important;

    filter:
        saturate(0.84)
        contrast(0.98)
        brightness(1.02);
}


/* ---------------------------------------------------------
 * Нижний декоративный акцент
 * --------------------------------------------------------- */

.location-section .form-wrapper::after {
    content: "СОЛНЕЧНАЯ ДОЛИНА";

    position: absolute;
    right: 28px;
    bottom: 20px;
    z-index: 3;

    padding: 8px 12px;

    border-radius: 999px;

    background:
        rgba(9, 32, 22, 0.78);

    color: #e0b274;

    font-family: "Manrope", sans-serif;
    font-size: 8px;
    line-height: 1;

    font-weight: 700;

    letter-spacing: 0.24em;

    pointer-events: none;
}


/* =========================================================
 * LOCATION — TABLET
 * ========================================================= */

@media (max-width: 1024px) {

    .location-section {
        padding: 62px 0 68px;
    }

    .location-section > .container {
        width: calc(100% - 60px) !important;
    }

    .location-section > .container > .row {
        grid-template-columns: 1fr;
        gap: 38px;
    }

    .location-section > .container::after {
        display: none;
    }

    .location-section h2 {
        max-width: 650px;
    }

    .location-section .form-wrapper iframe {
        height: 420px !important;
    }

}


/* =========================================================
 * LOCATION — MOBILE
 * ========================================================= */

@media (max-width: 650px) {

    .location-section {
        margin: 34px 0;
        padding: 52px 0 56px;

        background-position: 34% center;
    }

    .location-section > .container {
        width: calc(100% - 36px) !important;
        max-width: none !important;
    }

    .location-section > .container > .row {
        gap: 30px;
    }

    .location-section .subtitle {
        margin-bottom: 13px;
        font-size: 9px;
    }

    .location-section .subtitle::after {
        width: 28px;
        margin-left: 12px;
    }

    .location-section h2 {
        margin-bottom: 26px;

        font-size: 38px;
        line-height: 1.06;
    }

    .location-section .location-block-benefits {
        gap: 12px;
    }

    .location-section .benefit-item {
        grid-template-columns: 48px 1fr;
        gap: 14px;

        min-height: 58px;
    }

    .location-section .benefit-ico {
        width: 44px;
        height: 44px;
    }

    .location-section .benefit-ico img {
        width: 21px;
        height: 21px;
    }

    .location-section .benefit-item p {
        font-size: 13.5px;
        line-height: 1.46;
    }

    .location-section .form-wrapper {
        padding: 6px;
        border-radius: 22px;
    }

    .location-section .form-wrapper::before {
        inset: 6px;
        border-radius: 16px;
    }

    .location-section .form-wrapper iframe {
        height: 330px !important;
        border-radius: 16px !important;
    }

    .location-section .form-wrapper::after {
        right: 18px;
        bottom: 16px;

        font-size: 7px;
    }

}

/* =========================================================
 * 18.1 ЛОКАЦИЯ — FINAL POLISH
 * Светлее фон, компактнее композиция, карта ниже и аккуратнее
 * ========================================================= */

@media (min-width: 1025px) {

    /* Дневной фон оставляем заметным — этот блок должен отличаться от FAQ/отзывов */
    .location-section {
        margin: 42px 0 !important;
        padding: 58px 0 64px !important;

        background:
            linear-gradient(
                90deg,
                rgba(6, 22, 15, 0.72) 0%,
                rgba(6, 22, 15, 0.54) 46%,
                rgba(6, 20, 14, 0.30) 100%
            ),
            url("https://chalet74.ru/wp-content/uploads/2026/09/forest.png")
            center center / cover no-repeat !important;
    }

    /* Слева чуть больше затемнения для текста, справа фон остаётся светлее */
    .location-section::before {
        background:
            linear-gradient(
                90deg,
                rgba(2, 13, 8, 0.30) 0%,
                rgba(2, 13, 8, 0.12) 44%,
                rgba(2, 13, 8, 0.00) 72%
            ),
            linear-gradient(
                180deg,
                rgba(3, 13, 8, 0.02) 0%,
                rgba(3, 13, 8, 0.15) 100%
            ) !important;
    }

    .location-section > .container {
        max-width: 1260px !important;
    }

    .location-section > .container > .row {
        grid-template-columns:
            minmax(410px, 0.84fr)
            minmax(560px, 1.16fr) !important;

        gap: 58px !important;
    }

    /* Убираем рукописную фразу — сейчас она конфликтует с картой */
    .location-section > .container::after {
        display: none !important;
    }

    .location-section .subtitle {
        margin-bottom: 13px !important;
    }

    .location-section h2 {
        max-width: 500px !important;
        margin-bottom: 24px !important;

        font-size: clamp(44px, 3.15vw, 56px) !important;
        line-height: 1.03 !important;
    }

    /* Левую колонку делаем плотнее и аккуратнее */
    .location-section .location-block-benefits {
        gap: 9px !important;
    }

    .location-section .benefit-item {
        grid-template-columns: 54px 1fr !important;
        gap: 16px !important;

        min-height: 60px !important;
        padding: 4px 0 !important;
    }

    .location-section .benefit-ico {
        width: 48px !important;
        height: 48px !important;

        background: rgba(12, 37, 25, 0.66) !important;
        border-color: rgba(213, 169, 111, 0.78) !important;
    }

    .location-section .benefit-ico img {
        width: 22px !important;
        height: 22px !important;
    }

    .location-section .benefit-item p {
        max-width: 420px !important;

        color: rgba(255, 250, 243, 0.94) !important;

        font-size: 14.5px !important;
        line-height: 1.42 !important;

        text-shadow: 0 1px 8px rgba(0, 0, 0, 0.18);
    }

    /* Карта больше не висит слишком высоко относительно левой части */
    .location-section > .container > .row > [class*="col-"]:last-child {
        padding-top: 34px !important;
    }

    .location-section .form-wrapper {
        max-width: 690px;
        justify-self: end;

        padding: 6px !important;

        border-radius: 24px !important;
        border-color: rgba(213, 169, 111, 0.78) !important;

        background: rgba(245, 239, 228, 0.94) !important;

        box-shadow:
            0 22px 48px rgba(2, 11, 7, 0.24),
            0 0 0 1px rgba(255, 255, 255, 0.05),
            inset 0 1px 0 rgba(255, 255, 255, 0.50) !important;
    }

    .location-section .form-wrapper::before {
        inset: 6px !important;
        border-radius: 18px !important;
    }

    .location-section .form-wrapper iframe {
        height: 405px !important;
        border-radius: 18px !important;

        filter:
            saturate(0.90)
            contrast(0.99)
            brightness(1.03) !important;
    }

    .location-section .form-wrapper::after {
        right: 22px !important;
        bottom: 17px !important;

        padding: 7px 11px !important;

        background: rgba(10, 38, 26, 0.82) !important;

        color: #e3b779 !important;

        font-size: 7.5px !important;
    }

}

/* Tablet — только чуть уплотняем */
@media (min-width: 651px) and (max-width: 1024px) {

    .location-section {
        padding: 56px 0 62px !important;
    }

    .location-section .form-wrapper iframe {
        height: 390px !important;
    }

}

/* =========================================================
 * 18.2 ЛОКАЦИЯ — STRONG FINAL OVERRIDE
 * Явная финальная версия для desktop
 * ========================================================= */

@media (min-width: 1025px) {

    .location-section {
        padding: 54px 0 58px !important;

        background:
            linear-gradient(
                90deg,
                rgba(8, 24, 17, 0.58) 0%,
                rgba(8, 24, 17, 0.40) 46%,
                rgba(8, 24, 17, 0.16) 100%
            ),
            url("https://chalet74.ru/wp-content/uploads/2026/09/forest.png")
            center 46% / cover no-repeat !important;
    }

    .location-section::before {
        background:
            linear-gradient(
                90deg,
                rgba(3, 14, 9, 0.22) 0%,
                rgba(3, 14, 9, 0.08) 42%,
                rgba(3, 14, 9, 0.00) 70%
            ) !important;
    }

    /* убираем рукописный текст окончательно */
    .location-section .container::after,
    .location-section > .container::after {
        content: none !important;
        display: none !important;
    }

    .location-section > .container {
        max-width: 1240px !important;
    }

    .location-section > .container > .row {
        grid-template-columns:
            minmax(390px, 0.82fr)
            minmax(560px, 1.18fr) !important;

        gap: 54px !important;
    }

    .location-section h2 {
        max-width: 470px !important;
        margin-bottom: 22px !important;

        font-size: clamp(42px, 2.9vw, 52px) !important;
    }

    .location-section .location-block-benefits {
        gap: 7px !important;
    }

    .location-section .benefit-item {
        grid-template-columns: 50px 1fr !important;
        gap: 14px !important;

        min-height: 56px !important;
    }

    .location-section .benefit-ico {
        width: 44px !important;
        height: 44px !important;
    }

    .location-section .benefit-ico img {
        width: 20px !important;
        height: 20px !important;
    }

    .location-section .benefit-item p {
        max-width: 395px !important;

        font-size: 14px !important;
        line-height: 1.4 !important;
    }

    /* карту заметно опускаем и чуть уменьшаем */
    .location-section > .container > .row > [class*="col-"]:last-child {
        padding-top: 56px !important;
    }

    .location-section .form-wrapper {
        max-width: 650px !important;
        margin-left: auto !important;

        border-radius: 22px !important;
    }

    .location-section .form-wrapper iframe {
        height: 370px !important;
        border-radius: 16px !important;
    }

}

/* =========================================================
 * 18.3 ЛОКАЦИЯ — MICRO POLISH
 * Финальные микро-правки desktop
 * ========================================================= */

@media (min-width: 1025px) {

    /* Левая колонка чуть плотнее по вертикали */
    .location-section .location-block-benefits {
        gap: 4px !important;
    }

    .location-section .benefit-item {
        min-height: 52px !important;
        padding: 2px 0 !important;
    }

    /* Карта чуть компактнее, чтобы не перетягивала внимание */
    .location-section .form-wrapper {
        max-width: 615px !important;

        padding: 4px !important;

        border-width: 1px !important;
        border-color: rgba(213, 169, 111, 0.68) !important;

        border-radius: 20px !important;

        background: rgba(245, 239, 228, 0.90) !important;

        box-shadow:
            0 18px 40px rgba(2, 11, 7, 0.20),
            inset 0 1px 0 rgba(255, 255, 255, 0.38) !important;
    }

    .location-section .form-wrapper::before {
        inset: 4px !important;
        border-radius: 15px !important;

        border-color: rgba(255, 255, 255, 0.42) !important;
    }

    .location-section .form-wrapper iframe {
        height: 360px !important;
        border-radius: 15px !important;
    }

}

/* =========================================================
 * 19. ЕДИНАЯ СЕТКА САЙТА
 * Общая архитектура ширины контента.
 * Фоны секций могут быть во весь экран, контент — 1280px.
 * Booking / главный баннер / Swiper-логику не трогаем.
 * ========================================================= */

/* DESKTOP — единая основная ширина */
.advantages > .container,
.about > .container,
.content-section > .container,
.location-benefits > .container,
.testimonials > .container,
.faq-section > .container,
.location-section > .container,
.callback-section > .container {
    width: calc(100% - 80px) !important;
    max-width: 1280px !important;

    margin-left: auto !important;
    margin-right: auto !important;

    box-sizing: border-box !important;
}

/*
 * Не убираем внутренние Bootstrap-gutters у старых светлых секций:
 * они нужны существующим row/col.
 *
 * У премиальных секций padding уже задавался отдельно.
 */
.testimonials > .container,
.faq-section > .container,
.location-section > .container {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Внутренние крупные элементы занимают всю доступную ширину контейнера */
.about .images-slider-container,
.about .details-modern,
.about .stay-rules,
.content-section > .container > .row,
.location-benefits > .container > .row {
    width: 100% !important;
    max-width: none !important;
}

/*
 * Схему курорта намеренно оставляем уже основной сетки.
 * Это создаёт второй, акцентный уровень ширины.
 */
.content-section .scheme-map {
    width: 100% !important;
    max-width: 1080px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Контактный блок тоже выравниваем по основной сетке */
.callback-section .callback-wrapper {
    width: 100% !important;
    max-width: none !important;
}


/* =========================================================
 * TABLET
 * ========================================================= */

@media (max-width: 1024px) {

    .advantages > .container,
    .about > .container,
    .content-section > .container,
    .location-benefits > .container,
    .testimonials > .container,
    .faq-section > .container,
    .location-section > .container,
    .callback-section > .container {
        width: calc(100% - 60px) !important;
        max-width: none !important;
    }

}


/* =========================================================
 * MOBILE
 * ========================================================= */

@media (max-width: 650px) {

    .advantages > .container,
    .about > .container,
    .content-section > .container,
    .location-benefits > .container,
    .testimonials > .container,
    .faq-section > .container,
    .location-section > .container,
    .callback-section > .container {
        width: calc(100% - 36px) !important;
        max-width: none !important;
    }

    .content-section .scheme-map {
        max-width: 100% !important;
    }

}

/* =========================================================
 * 19.1 ЕДИНАЯ СЕТКА — HARD FIX
 * Расширяем не только .container, но и внутренние ограничители.
 * ========================================================= */

@media (min-width: 1200px) {

    /* Основная рабочая ширина сайта */
    .advantages > .container,
    .about > .container,
    .content-section > .container,
    .location-benefits > .container,
    .testimonials > .container,
    .faq-section > .container,
    .location-section > .container,
    .callback-section > .container {
        width: calc(100% - 96px) !important;
        max-width: 1440px !important;

        margin-left: auto !important;
        margin-right: auto !important;
    }

    /* ---------------------------------------------------------
     * ПРЕИМУЩЕСТВА — убираем внутреннее сужение
     * --------------------------------------------------------- */

    .advantages > .container > .row {
        width: calc(100% + 24px) !important;
        max-width: none !important;

        margin-left: -12px !important;
        margin-right: -12px !important;
    }

    .advantages > .container > .row > .col-lg-3 {
        flex: 0 0 25% !important;
        width: 25% !important;
        max-width: 25% !important;

        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    .advantages .advantage-card {
        width: 100% !important;
        max-width: none !important;
    }

    /* ---------------------------------------------------------
     * О ШАЛЕ — убираем старые max-width у внутренних обёрток
     * --------------------------------------------------------- */

    .about .images-slider-container,
    .about .images-slider,
    .about .details-block,
    .about .details-modern,
    .about .stay-rules,
    .about .stay-rules__inner {
        width: 100% !important;
        max-width: none !important;
    }

    /* ---------------------------------------------------------
     * ИНФРАСТРУКТУРА
     * --------------------------------------------------------- */

    .content-section > .container > .row {
        width: 100% !important;
        max-width: none !important;
    }

    /*
     * Схему оставляем специально уже основного контента:
     * это выглядит как отдельный визуальный объект.
     */
    .content-section .scheme-map {
        max-width: 1180px !important;
    }

    /* ---------------------------------------------------------
     * ПРИРОДА / ЧТО НА ТЕРРИТОРИИ
     * --------------------------------------------------------- */

    .location-benefits > .container > .row {
        width: calc(100% + 24px) !important;
        max-width: none !important;

        margin-left: -12px !important;
        margin-right: -12px !important;
    }

    .location-benefits > .container > .row > .col-lg-3 {
        flex: 0 0 25% !important;
        width: 25% !important;
        max-width: 25% !important;

        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    .location-benefits .benefit-card {
        width: 100% !important;
        max-width: none !important;
    }

    /* ---------------------------------------------------------
     * НИЖНИЕ ПРЕМИАЛЬНЫЕ БЛОКИ
     * тоже выравниваем по той же оси
     * --------------------------------------------------------- */

    .testimonials .title-wrapper,
    .testimonials .row,
    .faq-section .accordion-block,
    .location-section > .container > .row,
    .callback-section .callback-wrapper {
        max-width: none !important;
    }

}


/* =========================================================
 * TABLET
 * ========================================================= */

@media (min-width: 651px) and (max-width: 1199px) {

    .advantages > .container,
    .about > .container,
    .content-section > .container,
    .location-benefits > .container,
    .testimonials > .container,
    .faq-section > .container,
    .location-section > .container,
    .callback-section > .container {
        width: calc(100% - 60px) !important;
        max-width: none !important;
    }

}


/* =========================================================
 * MOBILE
 * ========================================================= */

@media (max-width: 650px) {

    .advantages > .container,
    .about > .container,
    .content-section > .container,
    .location-benefits > .container,
    .testimonials > .container,
    .faq-section > .container,
    .location-section > .container,
    .callback-section > .container {
        width: calc(100% - 36px) !important;
        max-width: none !important;
    }

}

/* =========================================================
 * 19.2 ФИНАЛЬНАЯ ШИРИНА КОНТЕНТА
 * 1280px для основной сетки на desktop.
 * Фоны premium-секций остаются во всю ширину.
 * ========================================================= */

@media (min-width: 1200px) {

    /* Единая ширина основной сетки */
    .advantages > .container,
    .about > .container,
    .content-section > .container,
    .location-benefits > .container,
    .testimonials > .container,
    .faq-section > .container,
    .location-section > .container,
    .callback-section > .container {
        width: calc(100% - 80px) !important;
        max-width: 1280px !important;

        margin-left: auto !important;
        margin-right: auto !important;
    }

    /* У нижних тёмных блоков фон остаётся full-width,
       но содержимое теперь совпадает по оси с верхними секциями */
    .testimonials .title-wrapper,
    .testimonials .row,
    .faq-section .accordion-block,
    .location-section > .container > .row,
    .callback-section .callback-wrapper {
        width: 100% !important;
        max-width: none !important;
    }

    /* Возвращаем нормальные 4 колонки внутри 1280 */
    .advantages > .container > .row,
    .location-benefits > .container > .row {
        width: calc(100% + 24px) !important;
        margin-left: -12px !important;
        margin-right: -12px !important;
    }

    .advantages > .container > .row > .col-lg-3,
    .location-benefits > .container > .row > .col-lg-3 {
        width: 25% !important;
        max-width: 25% !important;
        flex: 0 0 25% !important;

        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    /* Схему курорта оставляем чуть уже — это отдельный акцентный объект */
    .content-section .scheme-map {
        max-width: 1080px !important;
    }

    /* Локация: общий контейнер 1280, карта остаётся композиционно компактнее */
    .location-section .form-wrapper {
        max-width: 615px !important;
    }

}

/* =========================================================
 * 19.3 НИЖНИЕ 3 БЛОКА — ШИРИНА САМОЙ СЕКЦИИ
 * Важно: теперь сужаем не только внутренний container,
 * а сам фон/секцию целиком.
 * ========================================================= */

@media (min-width: 1200px) {

    .testimonials,
    .faq-section,
    .location-section {
        width: calc(100% - 80px) !important;
        max-width: 1280px !important;

        margin-left: auto !important;
        margin-right: auto !important;

        border-radius: 30px !important;
        overflow: hidden !important;
    }

    /* Внутри секции контейнер уже не должен сужать содержимое второй раз */
    .testimonials > .container,
    .faq-section > .container,
    .location-section > .container {
        width: 100% !important;
        max-width: none !important;

        padding-left: 54px !important;
        padding-right: 54px !important;

        box-sizing: border-box !important;
    }

}

/* Tablet */
@media (min-width: 651px) and (max-width: 1199px) {

    .testimonials,
    .faq-section,
    .location-section {
        width: calc(100% - 40px) !important;
        max-width: none !important;

        margin-left: auto !important;
        margin-right: auto !important;

        border-radius: 26px !important;
        overflow: hidden !important;
    }

    .testimonials > .container,
    .faq-section > .container,
    .location-section > .container {
        width: 100% !important;
        max-width: none !important;

        padding-left: 28px !important;
        padding-right: 28px !important;
    }

}

/* Mobile */
@media (max-width: 650px) {

    .testimonials,
    .faq-section,
    .location-section {
        width: calc(100% - 20px) !important;
        max-width: none !important;

        margin-left: auto !important;
        margin-right: auto !important;

        border-radius: 22px !important;
        overflow: hidden !important;
    }

    .testimonials > .container,
    .faq-section > .container,
    .location-section > .container {
        width: 100% !important;
        max-width: none !important;

        padding-left: 18px !important;
        padding-right: 18px !important;
    }

}

/* =========================================================
 * 20. CONTACT — VARIANT 2 / STEP 1
 * Каркас двухколоночного premium-блока.
 * PHP / ACF / Contact Form 7 / Turnstile не меняем.
 * ========================================================= */

.callback-section {
    position: relative;

    margin: 46px 0 54px;
    padding: 68px 0 74px;

    overflow: hidden;

    background:
        radial-gradient(
            circle at 88% 20%,
            rgba(207, 171, 121, 0.10) 0%,
            rgba(207, 171, 121, 0) 28%
        ),
        linear-gradient(
            180deg,
            #fbf8f2 0%,
            #f5efe5 100%
        );
}

/* лёгкий горный декор без отдельной картинки */
.callback-section::before {
    content: "";

    position: absolute;
    right: -70px;
    bottom: -90px;

    width: 520px;
    height: 300px;

    opacity: 0.12;

    background:
        linear-gradient(
            135deg,
            transparent 0 40%,
            rgba(112, 94, 72, 0.35) 40% 41%,
            transparent 41% 100%
        ),
        linear-gradient(
            45deg,
            transparent 0 58%,
            rgba(112, 94, 72, 0.28) 58% 59%,
            transparent 59% 100%
        );

    transform: rotate(-2deg);
    pointer-events: none;
}

.callback-section > .container {
    position: relative;
    z-index: 2;

    width: calc(100% - 80px) !important;
    max-width: 1280px !important;

    margin-left: auto !important;
    margin-right: auto !important;
}

.callback-section .callback-wrapper {
    position: relative;

    width: 100% !important;
    max-width: none !important;

    overflow: hidden;

    border:
        1px solid rgba(101, 74, 55, 0.10);

    border-radius: 34px;

    background: #5b3527;

    box-shadow:
        0 26px 60px rgba(55, 38, 28, 0.15),
        inset 0 1px 0 rgba(255, 255, 255, 0.22);
}

.callback-section .callback-wrapper > .row {
    display: grid !important;
    grid-template-columns:
        minmax(0, 1.04fr)
        minmax(0, 0.96fr);

    align-items: stretch !important;

    margin: 0 !important;
}

.callback-section .callback-wrapper > .row > [class*="col-"] {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;

    flex: none !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* ---------------------------------------------------------
 * ЛЕВАЯ ЧАСТЬ — ФОТО + GLASS-ПАНЕЛЬ
 * --------------------------------------------------------- */

.callback-section .callback-content-wrapper {
    position: relative;

    min-height: 540px;
    height: 100%;

    display: flex;
    align-items: center;

    padding: 46px;

    overflow: hidden;

    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
}

.callback-section .callback-content-wrapper::before {
    content: "";

    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(14, 31, 21, 0.18) 0%,
            rgba(14, 31, 21, 0.02) 58%,
            rgba(14, 31, 21, 0.12) 100%
        );

    pointer-events: none;
}

.callback-section .callback-content {
    position: relative;
    z-index: 2;

    width: min(100%, 480px);

    padding:
        38px
        38px
        34px;

    border:
        1px solid rgba(226, 187, 132, 0.24);

    border-radius: 28px;

    background:
        linear-gradient(
            145deg,
            rgba(22, 38, 28, 0.80) 0%,
            rgba(44, 39, 29, 0.72) 100%
        );

    box-shadow:
        0 24px 55px rgba(4, 15, 9, 0.26),
        inset 0 1px 0 rgba(255, 255, 255, 0.06);

    backdrop-filter: blur(13px);
    -webkit-backdrop-filter: blur(13px);
}

.callback-section .callback-content::before {
    content: "КОНТАКТЫ";

    display: block;

    margin-bottom: 17px;

    color: #d6a76d;

    font-family: "Manrope", sans-serif;
    font-size: 10px;
    line-height: 1;
    font-weight: 700;

    letter-spacing: 0.26em;
}

.callback-section .callback-content h2 {
    margin: 0 0 14px !important;

    color: #fffaf2 !important;

    font-family:
        "Prata",
        Georgia,
        "Times New Roman",
        serif !important;

    font-size: clamp(34px, 2.7vw, 48px) !important;
    line-height: 1.04 !important;

    font-weight: 400 !important;
    letter-spacing: -0.035em !important;
}

.callback-section .callback-content .description {
    margin: 0 0 28px !important;
}

.callback-section .callback-content .description p {
    margin: 0 !important;

    color: rgba(255, 249, 239, 0.78) !important;

    font-family: "Manrope", sans-serif;
    font-size: 15px !important;
    line-height: 1.52 !important;
}

.callback-section .callback-links {
    display: grid;
    gap: 10px;

    margin: 0 0 24px;
}

.callback-section .callback-links a {
    position: relative;

    display: inline-flex;
    align-items: center;

    width: fit-content;

    padding-left: 34px;

    color: #fffaf2 !important;

    font-family: "Manrope", sans-serif;
    font-size: 16px !important;
    line-height: 1.35;
    font-weight: 500;

    text-decoration: none !important;
}

.callback-section .callback-links a::before {
    position: absolute;
    left: 0;
    top: 50%;

    width: 24px;
    height: 24px;

    display: flex;
    align-items: center;
    justify-content: center;

    transform: translateY(-50%);

    border-radius: 50%;

    background:
        rgba(207, 160, 96, 0.20);

    color: #e0b174;

    font-size: 12px;
}

.callback-section .callback-links a[href^="tel:"]::before {
    content: "☎";
}

.callback-section .callback-links a[href^="mailto:"]::before {
    content: "✉";
}

.callback-section .socials-block {
    gap: 10px !important;
    margin-top: 2px !important;
}

.callback-section .socials-block .social-link {
    width: 44px !important;
    height: 44px !important;
    flex-basis: 44px !important;

    border:
        1px solid rgba(255, 255, 255, 0.26) !important;

    background: rgba(255, 255, 255, 0.94) !important;

    box-shadow:
        0 8px 20px rgba(0, 0, 0, 0.12);
}


/* ---------------------------------------------------------
 * ПРАВАЯ ЧАСТЬ — FORM
 * --------------------------------------------------------- */

.callback-section .form-js-eventer {
    position: relative;

    display: flex;
    flex-direction: column;
    justify-content: center;

    padding:
        42px
        44px !important;

    background:
        linear-gradient(
            160deg,
            #633c2e 0%,
            #543124 100%
        );
}

.callback-section .form-wrapper {
    width: 100%;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}


/* Contact Form 7 + существующая кастомная разметка формы */
.callback-section .wpcf7-form,
.callback-section .form-wrapper form {
    display: grid;
    gap: 14px;

    margin: 0 !important;
}

.callback-section .form-input {
    margin: 0 !important;
}

.callback-section .form-input__input,
.callback-section .wpcf7-form-control:not(.wpcf7-submit):not(.wpcf7-acceptance),
.callback-section input[type="text"],
.callback-section input[type="tel"],
.callback-section input[type="email"],
.callback-section textarea {
    width: 100% !important;

    min-height: 64px !important;

    box-sizing: border-box !important;

    padding:
        16px
        22px !important;

    border:
        1px solid rgba(102, 73, 54, 0.10) !important;

    border-radius: 999px !important;

    outline: none !important;

    background: #f8f4ed !important;

    color: #3f3a34 !important;

    font-family: "Manrope", sans-serif !important;
    font-size: 15px !important;
    line-height: 1.25 !important;

    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.80) !important;

    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease,
        background 0.2s ease !important;
}

.callback-section textarea {
    min-height: 88px !important;
    resize: vertical;

    border-radius: 28px !important;
}

.callback-section input:focus,
.callback-section textarea:focus,
.callback-section .wpcf7-form-control:focus {
    border-color: rgba(205, 157, 97, 0.78) !important;

    background: #fffaf3 !important;

    box-shadow:
        0 0 0 3px rgba(205, 157, 97, 0.10) !important;
}

.callback-section input::placeholder,
.callback-section textarea::placeholder {
    color: #85786e !important;
    opacity: 1 !important;
}


/* Кнопка */
.callback-section .wpcf7-submit,
.callback-section input[type="submit"],
.callback-section button[type="submit"] {
    width: 100% !important;
    min-height: 60px !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    margin: 2px 0 0 !important;
    padding: 16px 72px 16px 28px !important;

    border:
        1px solid rgba(226, 183, 124, 0.76) !important;

    border-radius: 999px !important;

    background:
        linear-gradient(
            90deg,
            #294634 0%,
            #3f5c43 100%
        ) !important;

    color: #ffffff !important;

    font-family: "Manrope", sans-serif !important;
    font-size: 16px !important;
    line-height: 1 !important;
    font-weight: 650 !important;

    box-shadow:
        0 14px 28px rgba(20, 31, 23, 0.18) !important;

    cursor: pointer;

    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease,
        background 0.2s ease !important;
}

@media (min-width: 1025px) {

    .callback-section .wpcf7-submit:hover,
    .callback-section input[type="submit"]:hover,
    .callback-section button[type="submit"]:hover {
        transform: translateY(-2px);

        background:
            linear-gradient(
                90deg,
                #23402f 0%,
                #35533b 100%
            ) !important;

        box-shadow:
            0 18px 34px rgba(20, 31, 23, 0.24) !important;
    }

}


/* Turnstile — не вмешиваемся в его внутреннюю разметку */
.callback-section .cf-turnstile,
.callback-section [data-sitekey] {
    margin-top: 2px;
}


/* Системные сообщения */
.callback-section .thankyou,
.callback-section .form-error {
    margin: auto 0;

    padding: 30px;

    border-radius: 24px;

    font-family: "Manrope", sans-serif;
    font-size: 16px;
    line-height: 1.55;
}

.callback-section .thankyou {
    background: #eef4ec;
    color: #294634;
}

.callback-section .form-error {
    background: #f7eae5;
    color: #6f3c2e;
}


/* =========================================================
 * CONTACT — TABLET
 * ========================================================= */

@media (max-width: 1024px) {

    .callback-section {
        padding: 58px 0 64px;
    }

    .callback-section > .container {
        width: calc(100% - 60px) !important;
    }

    .callback-section .callback-wrapper > .row {
        grid-template-columns: 1fr !important;
    }

    .callback-section .callback-content-wrapper {
        min-height: 480px;

        padding: 36px;
    }

    .callback-section .callback-content {
        width: min(100%, 500px);
    }

    .callback-section .form-js-eventer {
        padding:
            38px
            36px !important;
    }

}


/* =========================================================
 * CONTACT — MOBILE
 * ========================================================= */

@media (max-width: 650px) {

    .callback-section {
        margin: 34px 0 40px;
        padding: 46px 0 52px;
    }

    .callback-section > .container {
        width: calc(100% - 36px) !important;
    }

    .callback-section .callback-wrapper {
        border-radius: 24px;
    }

    .callback-section .callback-content-wrapper {
        min-height: 420px;

        padding: 22px;

        background-position: 58% center !important;
    }

    .callback-section .callback-content {
        padding:
            28px
            24px
            26px;

        border-radius: 22px;
    }

    .callback-section .callback-content h2 {
        font-size: 34px !important;
    }

    .callback-section .callback-content .description p {
        font-size: 13.5px !important;
    }

    .callback-section .callback-links a {
        font-size: 14px !important;
    }

    .callback-section .form-js-eventer {
        padding:
            26px
            20px !important;
    }

    .callback-section .form-input__input,
    .callback-section .wpcf7-form-control:not(.wpcf7-submit):not(.wpcf7-acceptance),
    .callback-section input[type="text"],
    .callback-section input[type="tel"],
    .callback-section input[type="email"],
    .callback-section textarea {
        min-height: 58px !important;

        padding:
            14px
            18px !important;

        font-size: 14px !important;
    }

    .callback-section textarea {
        min-height: 82px !important;
    }

    .callback-section .wpcf7-submit,
    .callback-section input[type="submit"],
    .callback-section button[type="submit"] {
        min-height: 58px !important;

        font-size: 15px !important;
    }

}

/* =========================================================
 * 20.1 CONTACT — VARIANT 2 / STEP 2
 * Доводим композицию к выбранному макету:
 * внешний заголовок, внутренний акцент, иконки полей,
 * компактнее форма, privacy-note, декоративная подпись.
 * ========================================================= */

.callback-section {
    padding-top: 170px !important;
}

/* ---------------------------------------------------------
 * ВНЕШНИЙ ЗАГОЛОВОК СЕКЦИИ
 * --------------------------------------------------------- */

.callback-section > .container {
    position: relative !important;
}

/* КОНТАКТЫ */
.callback-section > .container::before {
    content: "КОНТАКТЫ";

    position: absolute;
    left: 0;
    top: -112px;

    color: #ad7a46;

    font-family: "Manrope", sans-serif;
    font-size: 11px;
    line-height: 1;
    font-weight: 700;

    letter-spacing: 0.22em;
}

.callback-section > .container::after {
    content: "Свяжитесь с нами";

    position: absolute;
    left: 0;
    top: -88px;

    color: #304235;

    font-family:
        "Prata",
        Georgia,
        "Times New Roman",
        serif;

    font-size: clamp(44px, 4vw, 68px);
    line-height: 1;

    font-weight: 400;
    letter-spacing: -0.035em;
}

/* декоративная линия после "КОНТАКТЫ" */
.callback-section .callback-wrapper::before {
    content: "";

    position: absolute;
    z-index: 5;

    top: -128px;
    left: 92px;

    width: 46px;
    height: 1px;

    background: rgba(182, 130, 74, 0.62);

    pointer-events: none;
}

/* рукописный акцент справа */
.callback-section .callback-wrapper::after {
    content: "До встречи\A в горах!";

    position: absolute;
    z-index: 5;

    top: -112px;
    right: 6px;

    white-space: pre-line;

    color: rgba(165, 119, 76, 0.82);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 23px;
    line-height: 1.22;
    font-style: italic;

    text-align: right;

    transform: rotate(-6deg);

    pointer-events: none;
}


/* ---------------------------------------------------------
 * ЛЕВАЯ GLASS-КАРТОЧКА
 * --------------------------------------------------------- */

.callback-section .callback-content {
    width: min(100%, 470px) !important;

    padding:
        34px
        34px
        30px !important;

    border-radius: 26px !important;
}

/*
 * Внутри карточки вместо дублирования внешнего заголовка
 * визуально выводим фразу из второго макета.
 * ACF/PHP не меняются.
 */
.callback-section .callback-content h2 {
    font-size: 0 !important;
    line-height: 0 !important;

    margin-bottom: 16px !important;
}

.callback-section .callback-content h2::before {
    content: "Мы всегда\A на связи";

    display: block;

    white-space: pre-line;

    color: #fffaf2;

    font-family:
        "Prata",
        Georgia,
        "Times New Roman",
        serif;

    font-size: 42px;
    line-height: 0.98;

    font-weight: 400;
    letter-spacing: -0.035em;
}

.callback-section .callback-content::after {
    content: "ВАШ КОМФОРТ  —  НАША ЗАБОТА";

    display: block;

    margin-top: 26px;
    padding-top: 18px;

    border-top:
        1px solid rgba(222, 179, 117, 0.34);

    color: #d8ae78;

    font-family: "Manrope", sans-serif;
    font-size: 9px;
    line-height: 1.4;
    font-weight: 700;

    letter-spacing: 0.22em;
}


/* ---------------------------------------------------------
 * ПРАВАЯ ФОРМА — КОМПАКТНЕЕ
 * --------------------------------------------------------- */

.callback-section .form-js-eventer {
    padding:
        34px
        42px !important;
}

.callback-section .wpcf7-form,
.callback-section .form-wrapper form {
    gap: 12px !important;
}

/* поля ниже и аккуратнее */
.callback-section .form-input__input,
.callback-section .wpcf7-form-control:not(.wpcf7-submit):not(.wpcf7-acceptance),
.callback-section input[type="text"],
.callback-section input[type="tel"],
.callback-section input[type="email"],
.callback-section textarea {
    min-height: 58px !important;

    padding:
        14px
        22px
        14px
        56px !important;
}

/* комментарий тоже компактный */
.callback-section textarea {
    min-height: 72px !important;
    max-height: 120px !important;

    border-radius: 24px !important;
}


/* ---------------------------------------------------------
 * ИКОНКИ В ПОЛЯХ
 * --------------------------------------------------------- */

/* Имя */
.callback-section input[type="text"] {
    background-image:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cg fill='none' stroke='%238b796c' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='16' cy='10' r='5'/%3E%3Cpath d='M7 27c0-6 3.5-10 9-10s9 4 9 10'/%3E%3C/g%3E%3C/svg%3E") !important;

    background-repeat: no-repeat !important;
    background-position: 20px center !important;
    background-size: 22px 22px !important;
}

/* Телефон */
.callback-section input[type="tel"] {
    background-image:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M9 5l5 6-3 3c2 4 4 6 8 8l3-3 6 5c-1 3-3 4-6 4C13 28 4 19 4 10c0-3 2-5 5-5z' fill='none' stroke='%238b796c' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;

    background-repeat: no-repeat !important;
    background-position: 20px center !important;
    background-size: 22px 22px !important;
}

/* Комментарий */
.callback-section textarea {
    background-image:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M5 7h22v15H14l-6 5v-5H5z' fill='none' stroke='%238b796c' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;

    background-repeat: no-repeat !important;
    background-position: 20px 18px !important;
    background-size: 22px 22px !important;
}


/* ---------------------------------------------------------
 * TURNSTILE
 * --------------------------------------------------------- */

.callback-section .cf-turnstile,
.callback-section [data-sitekey] {
    width: fit-content;
    max-width: 100%;

    margin:
        4px
        auto
        0 !important;
}


/* ---------------------------------------------------------
 * КНОПКА СТРЕЛКА
 * --------------------------------------------------------- */

.callback-section .wpcf7-submit,
.callback-section input[type="submit"],
.callback-section button[type="submit"] {
    min-height: 58px !important;

    background-image:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cg fill='none' stroke='%23ffffff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 16h17M18 10l6 6-6 6'/%3E%3C/g%3E%3C/svg%3E"),
        linear-gradient(
            90deg,
            #294634 0%,
            #3f5c43 100%
        ) !important;

    background-repeat:
        no-repeat,
        no-repeat !important;

    background-position:
        calc(100% - 24px) center,
        center !important;

    background-size:
        22px 22px,
        100% 100% !important;
}


/* ---------------------------------------------------------
 * PRIVACY NOTE
 * --------------------------------------------------------- */

.callback-section .wpcf7-form::after,
.callback-section .form-wrapper form::after {
    content: "Ваши данные в безопасности и не передаются третьим лицам";

    display: block;

    padding-left: 22px;
    margin-top: 2px;

    color: rgba(255, 244, 234, 0.64);

    font-family: "Manrope", sans-serif;
    font-size: 10.5px;
    line-height: 1.35;

    background-image:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='%23d9ae77' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='10' width='14' height='10' rx='2'/%3E%3Cpath d='M8 10V7a4 4 0 018 0v3'/%3E%3C/g%3E%3C/svg%3E");

    background-repeat: no-repeat;
    background-position: left 1px;
    background-size: 15px 15px;
}


/* =========================================================
 * TABLET
 * ========================================================= */

@media (max-width: 1024px) {

    .callback-section {
        padding-top: 145px !important;
    }

    .callback-section > .container::before {
        top: -94px;
    }

    .callback-section > .container::after {
        top: -70px;

        font-size: 52px;
    }

    .callback-section .callback-wrapper::before,
    .callback-section .callback-wrapper::after {
        display: none;
    }

}


/* =========================================================
 * MOBILE
 * ========================================================= */

@media (max-width: 650px) {

    .callback-section {
        padding-top: 120px !important;
    }

    .callback-section > .container::before {
        top: -76px;
        font-size: 9px;
    }

    .callback-section > .container::after {
        top: -55px;

        font-size: 38px;
    }

    .callback-section .callback-content h2::before {
        font-size: 34px;
    }

    .callback-section .callback-content::after {
        margin-top: 22px;

        font-size: 8px;
    }

    .callback-section .form-js-eventer {
        padding:
            24px
            18px !important;
    }

    .callback-section .form-input__input,
    .callback-section .wpcf7-form-control:not(.wpcf7-submit):not(.wpcf7-acceptance),
    .callback-section input[type="text"],
    .callback-section input[type="tel"],
    .callback-section input[type="email"],
    .callback-section textarea {
        padding-left: 50px !important;
    }

}

/* =========================================================
 * 20.2 CONTACT — GREEN PREMIUM PANEL
 * Убираем шоколадный фон. Делаем глубокий лесной зелёный.
 * ========================================================= */

/* общий фон большой карточки */
.callback-section .callback-wrapper {
    background:
        linear-gradient(
            135deg,
            #183326 0%,
            #10271c 100%
        ) !important;

    border:
        1px solid rgba(198, 157, 103, 0.20) !important;

    box-shadow:
        0 28px 64px rgba(20, 37, 27, 0.16),
        inset 0 1px 0 rgba(255, 255, 255, 0.05) !important;
}

/* правая часть формы */
.callback-section .form-js-eventer {
    position: relative;

    background:
        radial-gradient(
            circle at 86% 12%,
            rgba(210, 170, 111, 0.10) 0%,
            rgba(210, 170, 111, 0) 28%
        ),
        linear-gradient(
            145deg,
            #1d3b2b 0%,
            #143023 54%,
            #10271d 100%
        ) !important;
}

/* тонкая вертикальная золотая линия между фото и формой */
.callback-section .form-js-eventer::before {
    content: "";

    position: absolute;
    left: 0;
    top: 42px;
    bottom: 42px;

    width: 1px;

    background:
        linear-gradient(
            180deg,
            transparent,
            rgba(209, 166, 109, 0.46),
            transparent
        );

    pointer-events: none;
}

/* поля — тёплый ivory, без стерильного белого */
.callback-section .form-input__input,
.callback-section .wpcf7-form-control:not(.wpcf7-submit):not(.wpcf7-acceptance),
.callback-section input[type="text"],
.callback-section input[type="tel"],
.callback-section input[type="email"],
.callback-section textarea {
    background:
        linear-gradient(
            180deg,
            #fbf8f2 0%,
            #f4eee5 100%
        ) !important;

    border:
        1px solid rgba(209, 166, 109, 0.18) !important;

    color: #314238 !important;

    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.78),
        0 8px 20px rgba(3, 14, 9, 0.06) !important;
}

.callback-section input:focus,
.callback-section textarea:focus,
.callback-section .wpcf7-form-control:focus {
    background: #fffaf3 !important;

    border-color: rgba(211, 170, 113, 0.62) !important;

    box-shadow:
        0 0 0 3px rgba(211, 170, 113, 0.08),
        0 10px 22px rgba(3, 14, 9, 0.08) !important;
}

/* кнопка — зелёная, но светлее правой панели */
.callback-section .wpcf7-submit,
.callback-section input[type="submit"],
.callback-section button[type="submit"] {
    border:
        1px solid rgba(218, 177, 119, 0.70) !important;

    background-image:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cg fill='none' stroke='%23f7efe3' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 16h17M18 10l6 6-6 6'/%3E%3C/g%3E%3C/svg%3E"),
        linear-gradient(
            90deg,
            #31523c 0%,
            #3f6247 100%
        ) !important;

    color: #fffaf2 !important;

    box-shadow:
        0 16px 30px rgba(5, 20, 12, 0.22) !important;
}

@media (min-width: 1025px) {

    .callback-section .wpcf7-submit:hover,
    .callback-section input[type="submit"]:hover,
    .callback-section button[type="submit"]:hover {
        background-image:
            url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cg fill='none' stroke='%23192f22' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 16h17M18 10l6 6-6 6'/%3E%3C/g%3E%3C/svg%3E"),
            linear-gradient(
                90deg,
                #d2aa73 0%,
                #e0bb87 100%
            ) !important;

        color: #183326 !important;
    }

}

/* privacy-note чуть заметнее на зелёном */
.callback-section .wpcf7-form::after,
.callback-section .form-wrapper form::after {
    color: rgba(248, 240, 229, 0.72) !important;
}

/* мобильная/планшетная вертикальная линия не нужна */
@media (max-width: 1024px) {

    .callback-section .form-js-eventer::before {
        display: none;
    }

}

/* =========================================================
 * 20.3 CONTACT — FINAL BACKGROUND + BUTTON FIX
 * Более сложный premium-фон + исправление повторяющихся стрелок
 * ========================================================= */

/* Правая панель: не плоский зелёный, а дымчатый хвойно-оливковый */
.callback-section .form-js-eventer {
    background:
        radial-gradient(
            circle at 82% 14%,
            rgba(220, 184, 132, 0.13) 0%,
            rgba(220, 184, 132, 0.00) 30%
        ),
        radial-gradient(
            circle at 12% 86%,
            rgba(92, 116, 91, 0.18) 0%,
            rgba(92, 116, 91, 0.00) 34%
        ),
        linear-gradient(
            138deg,
            #274238 0%,
            #1c342a 42%,
            #132a21 72%,
            #0d2119 100%
        ) !important;
}

/* Очень тонкая световая вуаль, чтобы фон не казался "заливкой" */
.callback-section .form-js-eventer::after {
    content: "";

    position: absolute;
    inset: 0;

    z-index: 0;

    background:
        linear-gradient(
            118deg,
            rgba(255, 255, 255, 0.035) 0%,
            rgba(255, 255, 255, 0.00) 34%,
            rgba(218, 176, 119, 0.035) 68%,
            rgba(218, 176, 119, 0.00) 100%
        );

    pointer-events: none;
}

/* Весь реальный контент формы поверх декоративного слоя */
.callback-section .form-js-eventer > * {
    position: relative;
    z-index: 1;
}

/* Поля делаем чуть теплее и благороднее */
.callback-section .form-input__input,
.callback-section .wpcf7-form-control:not(.wpcf7-submit):not(.wpcf7-acceptance),
.callback-section input[type="text"],
.callback-section input[type="tel"],
.callback-section input[type="email"],
.callback-section textarea {
    background:
        linear-gradient(
            180deg,
            rgba(252, 249, 243, 0.98) 0%,
            rgba(244, 238, 228, 0.98) 100%
        ) !important;

    border-color:
        rgba(207, 165, 106, 0.20) !important;

    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.85),
        0 10px 24px rgba(4, 17, 11, 0.055) !important;
}


/* =========================================================
 * КНОПКА — фиксируем ОДНУ стрелку
 * ========================================================= */

.callback-section .wpcf7-submit,
.callback-section input[type="submit"],
.callback-section button[type="submit"] {
    background:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cg fill='none' stroke='%23f8f1e7' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 16h17M18 10l6 6-6 6'/%3E%3C/g%3E%3C/svg%3E")
            calc(100% - 24px) center / 21px 21px no-repeat,
        linear-gradient(
            90deg,
            #345442 0%,
            #42634b 100%
        )
            center / 100% 100% no-repeat !important;

    border:
        1px solid rgba(214, 173, 116, 0.62) !important;

    color: #fffaf2 !important;

    box-shadow:
        0 14px 28px rgba(4, 18, 11, 0.20) !important;

    transition:
        transform 0.22s ease,
        box-shadow 0.22s ease,
        border-color 0.22s ease,
        filter 0.22s ease !important;
}

@media (min-width: 1025px) {

    .callback-section .wpcf7-submit:hover,
    .callback-section input[type="submit"]:hover,
    .callback-section button[type="submit"]:hover {
        background:
            url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cg fill='none' stroke='%23f8f1e7' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 16h17M18 10l6 6-6 6'/%3E%3C/g%3E%3C/svg%3E")
                calc(100% - 24px) center / 21px 21px no-repeat,
            linear-gradient(
                90deg,
                #3d604a 0%,
                #507058 100%
            )
                center / 100% 100% no-repeat !important;

        color: #fffaf2 !important;

        border-color:
            rgba(224, 184, 126, 0.82) !important;

        transform: translateY(-2px);

        box-shadow:
            0 18px 34px rgba(4, 18, 11, 0.25) !important;

        filter: brightness(1.03);
    }

}

/* Убираем любые старые повторения background из темы */
.callback-section .wpcf7-submit:hover,
.callback-section input[type="submit"]:hover,
.callback-section button[type="submit"]:hover {
    background-repeat:
        no-repeat,
        no-repeat !important;

    background-position:
        calc(100% - 24px) center,
        center !important;

    background-size:
        21px 21px,
        100% 100% !important;
}

/* =========================================================
 * 20.4 CONTACT — FIELDS + ICONS FINAL
 * Реальные иконки поверх полей + компактная высота.
 * Не зависит от background-image самого input.
 * ========================================================= */

/* ---------------------------------------------------------
 * КОМПАКТНАЯ ГЕОМЕТРИЯ ПОЛЕЙ
 * --------------------------------------------------------- */

.callback-section .form-input {
    position: relative !important;
    margin: 0 !important;
}

/* оболочка поля */
.callback-section .form-input__input {
    position: relative !important;

    width: 100% !important;
    height: 56px !important;
    min-height: 56px !important;

    padding: 0 !important;

    overflow: hidden;

    border-radius: 999px !important;

    background:
        linear-gradient(
            180deg,
            rgba(252, 249, 243, 0.99) 0%,
            rgba(244, 238, 228, 0.99) 100%
        ) !important;
}

/* оболочка комментария чуть выше */
.callback-section .form-input__input:has(textarea) {
    height: 70px !important;
    min-height: 70px !important;

    border-radius: 24px !important;
}

/* сами input/textarea — фон прозрачный, чтобы не перекрывать иконку */
.callback-section .form-input__input input,
.callback-section .form-input__input textarea,
.callback-section input.form-input__text,
.callback-section textarea.form-input__text {
    position: relative !important;
    z-index: 2 !important;

    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;

    margin: 0 !important;

    padding:
        0
        22px
        0
        56px !important;

    border: 0 !important;
    border-radius: inherit !important;

    outline: 0 !important;

    background: transparent !important;
    background-image: none !important;

    box-shadow: none !important;

    color: #34443a !important;

    font-family: "Manrope", sans-serif !important;
    font-size: 14px !important;
    line-height: 1.3 !important;
}

.callback-section .form-input__input textarea,
.callback-section textarea.form-input__text {
    padding-top: 19px !important;
    padding-bottom: 14px !important;

    resize: none !important;
}


/* ---------------------------------------------------------
 * ИКОНКИ — рисуем на ОБОЛОЧКЕ, а не на input
 * --------------------------------------------------------- */

.callback-section .form-input__input::before {
    content: "" !important;

    position: absolute !important;
    left: 20px !important;
    top: 50% !important;
    z-index: 3 !important;

    width: 22px !important;
    height: 22px !important;

    transform: translateY(-50%) !important;

    background-color: transparent !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;

    box-shadow: none !important;

    pointer-events: none !important;

    opacity: 0.82;
}

/* Имя */
.callback-section .form-input__input:has(input[type="text"])::before {
    background-image:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cg fill='none' stroke='%23817164' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='16' cy='10' r='5'/%3E%3Cpath d='M7 27c0-6 3.5-10 9-10s9 4 9 10'/%3E%3C/g%3E%3C/svg%3E") !important;
}

/* Телефон */
.callback-section .form-input__input:has(input[type="tel"])::before {
    background-image:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M9 5l5 6-3 3c2 4 4 6 8 8l3-3 6 5c-1 3-3 4-6 4C13 28 4 19 4 10c0-3 2-5 5-5z' fill='none' stroke='%23817164' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
}

/* Комментарий */
.callback-section .form-input__input:has(textarea)::before {
    top: 22px !important;
    transform: none !important;

    background-image:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M5 7h22v15H14l-6 5v-5H5z' fill='none' stroke='%23817164' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
}


/* ---------------------------------------------------------
 * FOCUS — подсвечиваем всю оболочку
 * --------------------------------------------------------- */

.callback-section .form-input__input:focus-within {
    border:
        1px solid rgba(210, 168, 109, 0.64) !important;

    background:
        linear-gradient(
            180deg,
            #fffaf4 0%,
            #f8f1e7 100%
        ) !important;

    box-shadow:
        0 0 0 3px rgba(210, 168, 109, 0.08),
        0 10px 24px rgba(4, 17, 11, 0.06) !important;
}


/* ---------------------------------------------------------
 * Чуть плотнее весь блок формы
 * --------------------------------------------------------- */

.callback-section .wpcf7-form,
.callback-section .form-wrapper form {
    gap: 10px !important;
}

.callback-section .form-js-eventer {
    padding:
        30px
        40px !important;
}


/* =========================================================
 * MOBILE
 * ========================================================= */

@media (max-width: 650px) {

    .callback-section .form-input__input {
        height: 52px !important;
        min-height: 52px !important;
    }

    .callback-section .form-input__input:has(textarea) {
        height: 66px !important;
        min-height: 66px !important;
    }

    .callback-section .form-input__input input,
    .callback-section .form-input__input textarea,
    .callback-section input.form-input__text,
    .callback-section textarea.form-input__text {
        padding-left: 50px !important;
        font-size: 13.5px !important;
    }

    .callback-section .form-input__input::before {
        left: 17px !important;
        width: 20px !important;
        height: 20px !important;
    }

}

/* =========================================================
 * 20.5 CONTACT — RIGHT COLUMN HARD FIX
 * Финально: реальные селекторы из index.php (.form-js-eventer)
 * Даём полям воздух от краёв и делаем их компактнее.
 * ========================================================= */

.callback-section .form-js-eventer {
    box-sizing: border-box !important;
    width: 100% !important;
    padding: 34px 38px 28px !important;
}

.callback-section .form-js-eventer .form-wrapper,
.callback-section .form-js-eventer .wpcf7,
.callback-section .form-js-eventer form {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.callback-section .form-js-eventer .form-input,
.callback-section .form-js-eventer .form-input__input,
.callback-section .form-js-eventer .wpcf7-form-control-wrap {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* Поля больше не "капсулы" и не упираются в края */
.callback-section .form-js-eventer .form-input__input {
    height: 58px !important;
    min-height: 58px !important;
    padding: 0 !important;
    border-radius: 20px !important;
    overflow: hidden !important;
}

.callback-section .form-js-eventer .form-input__input:has(textarea) {
    height: 74px !important;
    min-height: 74px !important;
    border-radius: 20px !important;
}

.callback-section .form-js-eventer input.form-input__text,
.callback-section .form-js-eventer input[type="text"],
.callback-section .form-js-eventer input[type="tel"],
.callback-section .form-js-eventer input[type="email"],
.callback-section .form-js-eventer textarea {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 20px !important;
    background-color: transparent !important;
    box-shadow: none !important;
}

.callback-section .form-js-eventer input.form-input__text,
.callback-section .form-js-eventer input[type="text"],
.callback-section .form-js-eventer input[type="tel"],
.callback-section .form-js-eventer input[type="email"] {
    height: 58px !important;
    min-height: 58px !important;
    padding: 0 22px !important;
    font-size: 14px !important;
}

.callback-section .form-js-eventer textarea {
    height: 74px !important;
    min-height: 74px !important;
    max-height: 110px !important;
    padding: 17px 22px !important;
    font-size: 14px !important;
    resize: none !important;
}

/* Воздух между полями */
.callback-section .form-js-eventer .wpcf7-form,
.callback-section .form-js-eventer form {
    gap: 14px !important;
}

/* Turnstile по центру и не прилипает */
.callback-section .form-js-eventer .cf-turnstile,
.callback-section .form-js-eventer [data-sitekey] {
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 8px auto 0 !important;
}

/* Кнопка тоже имеет боковые поля за счёт родительского padding */
.callback-section .form-js-eventer .wpcf7-submit,
.callback-section .form-js-eventer input[type="submit"],
.callback-section .form-js-eventer button[type="submit"] {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 56px !important;
    box-sizing: border-box !important;
    margin: 0 auto !important;
    border-radius: 18px !important;
}

/* privacy note */
.callback-section .form-js-eventer .wpcf7-form::after,
.callback-section .form-js-eventer .form-wrapper form::after {
    margin-top: 6px !important;
}

@media (max-width: 1024px) {
    .callback-section .form-js-eventer {
        padding: 28px 26px 24px !important;
    }
}

@media (max-width: 650px) {
    .callback-section .form-js-eventer {
        padding: 22px 16px 18px !important;
    }

    .callback-section .form-js-eventer .form-input__input {
        height: 54px !important;
        min-height: 54px !important;
        border-radius: 17px !important;
    }

    .callback-section .form-js-eventer .form-input__input:has(textarea) {
        height: 70px !important;
        min-height: 70px !important;
    }
}

/* =========================================================
 * 20.6 CONTACT — COLUMNS INSET FINAL
 * Обе колонки отступают от внешних краёв.
 * Исправляет старое padding:0!important на Bootstrap-колонках.
 * ========================================================= */

/* Внешняя рамка блока */
.callback-section .callback-wrapper {
    padding: 22px !important;

    border-radius: 34px !important;

    background:
        linear-gradient(
            135deg,
            #eee5d8 0%,
            #e5dacb 100%
        ) !important;

    border:
        1px solid rgba(172, 133, 83, 0.18) !important;

    box-shadow:
        0 26px 60px rgba(38, 49, 40, 0.12),
        inset 0 1px 0 rgba(255, 255, 255, 0.72) !important;
}

/* Между левой и правой колонками появляется настоящий зазор */
.callback-section .callback-wrapper > .row {
    gap: 22px !important;

    grid-template-columns:
        minmax(0, 1.04fr)
        minmax(0, 0.96fr) !important;
}

/* ЛЕВАЯ КОЛОНКА */
.callback-section .callback-wrapper > .row > [class*="col-"]:first-child {
    border-radius: 26px !important;
    overflow: hidden !important;
}

.callback-section .callback-content-wrapper {
    min-height: 500px !important;

    border-radius: 26px !important;

    padding:
        34px !important;
}

/* glass-карточка тоже чуть свободнее от краёв фотографии */
.callback-section .callback-content {
    width: min(100%, 455px) !important;

    padding:
        32px
        34px
        30px !important;

    border-radius: 24px !important;
}


/* ПРАВАЯ КОЛОНКА
 * Селектор специально сильнее старого:
 * .callback-wrapper > .row > [class*="col-"] { padding:0!important; }
 */
.callback-section .callback-wrapper > .row > .form-js-eventer {
    padding:
        30px
        32px
        26px !important;

    border-radius: 26px !important;
    overflow: hidden !important;

    background:
        radial-gradient(
            circle at 85% 12%,
            rgba(220, 184, 132, 0.10) 0%,
            rgba(220, 184, 132, 0) 28%
        ),
        linear-gradient(
            138deg,
            #29483a 0%,
            #1c382c 48%,
            #10281e 100%
        ) !important;
}

/* Убираем старую вертикальную линию у самого стыка */
.callback-section .callback-wrapper > .row > .form-js-eventer::before {
    display: none !important;
}

/* Форма занимает внутреннюю ширину, но не выходит в края */
.callback-section .callback-wrapper > .row > .form-js-eventer .form-wrapper,
.callback-section .callback-wrapper > .row > .form-js-eventer .wpcf7,
.callback-section .callback-wrapper > .row > .form-js-eventer form {
    width: 100% !important;
    max-width: 100% !important;

    margin: 0 !important;

    box-sizing: border-box !important;
}

/* Поля теперь гарантированно имеют воздух справа и слева */
.callback-section .callback-wrapper > .row > .form-js-eventer .form-input,
.callback-section .callback-wrapper > .row > .form-js-eventer .form-input__input,
.callback-section .callback-wrapper > .row > .form-js-eventer .wpcf7-form-control-wrap {
    width: 100% !important;
    max-width: 100% !important;

    box-sizing: border-box !important;
}

.callback-section .callback-wrapper > .row > .form-js-eventer .form-input__input {
    border-radius: 19px !important;
}

/* Кнопка тоже не касается краёв зелёной панели */
.callback-section .callback-wrapper > .row > .form-js-eventer .wpcf7-submit,
.callback-section .callback-wrapper > .row > .form-js-eventer input[type="submit"],
.callback-section .callback-wrapper > .row > .form-js-eventer button[type="submit"] {
    width: 100% !important;
    max-width: 100% !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    border-radius: 18px !important;
}


/* =========================================================
 * TABLET
 * ========================================================= */

@media (max-width: 1024px) {

    .callback-section .callback-wrapper {
        padding: 16px !important;
        border-radius: 28px !important;
    }

    .callback-section .callback-wrapper > .row {
        gap: 16px !important;
    }

    .callback-section .callback-wrapper > .row > .form-js-eventer {
        padding:
            28px
            26px
            24px !important;
    }

}


/* =========================================================
 * MOBILE
 * ========================================================= */

@media (max-width: 650px) {

    .callback-section .callback-wrapper {
        padding: 10px !important;
        border-radius: 24px !important;
    }

    .callback-section .callback-wrapper > .row {
        gap: 10px !important;
    }

    .callback-section .callback-wrapper > .row > [class*="col-"]:first-child,
    .callback-section .callback-content-wrapper,
    .callback-section .callback-wrapper > .row > .form-js-eventer {
        border-radius: 20px !important;
    }

    .callback-section .callback-wrapper > .row > .form-js-eventer {
        padding:
            22px
            16px
            18px !important;
    }

}

/* =========================================================
 * 20.7 CONTACT — FINAL POLISH + MOBILE STACK FIX
 * 3 финальных штриха + исправление мобильной версии.
 * ========================================================= */

/* 1. Внешняя бежевая рамка легче и тоньше */
.callback-section .callback-wrapper {
    padding: 12px !important;

    background:
        linear-gradient(
            135deg,
            #f0e8dc 0%,
            #e9dfd2 100%
        ) !important;

    border:
        1px solid rgba(164, 128, 82, 0.14) !important;

    box-shadow:
        0 22px 50px rgba(38, 49, 40, 0.10),
        inset 0 1px 0 rgba(255, 255, 255, 0.78) !important;
}

/* Между колонками чуть более деликатный зазор */
.callback-section .callback-wrapper > .row {
    gap: 14px !important;
}


/* 2. Правая панель — мягче, теплее, с оливковым подтоном */
.callback-section .callback-wrapper > .row > .form-js-eventer {
    background:
        radial-gradient(
            circle at 88% 10%,
            rgba(222, 187, 137, 0.13) 0%,
            rgba(222, 187, 137, 0) 28%
        ),
        radial-gradient(
            circle at 12% 88%,
            rgba(103, 117, 89, 0.16) 0%,
            rgba(103, 117, 89, 0) 34%
        ),
        linear-gradient(
            138deg,
            #30483b 0%,
            #253b30 44%,
            #192f25 72%,
            #11261d 100%
        ) !important;
}


/* 3. Убираем лишнюю пустоту между "Комментарий" и Turnstile */
.callback-section .callback-wrapper > .row > .form-js-eventer .cf-turnstile,
.callback-section .callback-wrapper > .row > .form-js-eventer [data-sitekey] {
    margin-top: -6px !important;
    margin-bottom: 0 !important;
}

.callback-section .callback-wrapper > .row > .form-js-eventer .wpcf7-submit,
.callback-section .callback-wrapper > .row > .form-js-eventer input[type="submit"],
.callback-section .callback-wrapper > .row > .form-js-eventer button[type="submit"] {
    margin-top: -2px !important;
}


/* =========================================================
 * MOBILE — ГЛАВНЫЙ FIX
 * Колонки больше НЕ стоят рядом, а идут одна под другой.
 * ========================================================= */

@media (max-width: 650px) {

    .callback-section {
        overflow-x: hidden !important;
    }

    .callback-section .callback-wrapper {
        padding: 8px !important;
        border-radius: 22px !important;
    }

    .callback-section .callback-wrapper > .row {
        display: grid !important;
        grid-template-columns: 1fr !important;

        width: 100% !important;

        gap: 10px !important;

        margin: 0 !important;
    }

    .callback-section .callback-wrapper > .row > [class*="col-"],
    .callback-section .callback-wrapper > .row > .form-js-eventer {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;

        flex: none !important;

        margin: 0 !important;

        box-sizing: border-box !important;
    }

    /* Левая фото-карточка — отдельным полноценным блоком */
    .callback-section .callback-wrapper > .row > [class*="col-"]:first-child {
        overflow: hidden !important;
        border-radius: 18px !important;
    }

    .callback-section .callback-content-wrapper {
        width: 100% !important;
        min-height: 460px !important;

        padding: 18px !important;

        border-radius: 18px !important;

        background-position: center center !important;
    }

    .callback-section .callback-content {
        width: 100% !important;
        max-width: 100% !important;

        padding:
            26px
            22px
            24px !important;

        box-sizing: border-box !important;

        border-radius: 18px !important;
    }

    .callback-section .callback-content h2::before {
        font-size: 36px !important;
        line-height: 1.02 !important;
    }

    .callback-section .callback-content .description p {
        font-size: 13.5px !important;
        line-height: 1.48 !important;
    }

    .callback-section .callback-links a {
        width: 100% !important;
        max-width: 100% !important;

        box-sizing: border-box !important;

        white-space: normal !important;
        overflow-wrap: anywhere !important;
    }

    /* Правая форма — вторым полноценным блоком */
    .callback-section .callback-wrapper > .row > .form-js-eventer {
        padding:
            22px
            16px
            18px !important;

        border-radius: 18px !important;
    }

    .callback-section .callback-wrapper > .row > .form-js-eventer .form-wrapper,
    .callback-section .callback-wrapper > .row > .form-js-eventer .wpcf7,
    .callback-section .callback-wrapper > .row > .form-js-eventer form {
        width: 100% !important;
        max-width: 100% !important;

        box-sizing: border-box !important;
    }

    .callback-section .callback-wrapper > .row > .form-js-eventer .cf-turnstile,
    .callback-section .callback-wrapper > .row > .form-js-eventer [data-sitekey] {
        margin-top: 2px !important;

        overflow: hidden !important;
    }

    /* На мобильном внешняя подпись компактнее */
    .callback-section > .container::after {
        font-size: 36px !important;
        line-height: 1 !important;
    }

}


/* =========================================================
 * VERY SMALL MOBILE
 * ========================================================= */

@media (max-width: 420px) {

    .callback-section .callback-content-wrapper {
        min-height: 430px !important;
    }

    .callback-section .callback-content {
        padding:
            24px
            18px
            22px !important;
    }

    .callback-section .callback-content h2::before {
        font-size: 32px !important;
    }

}

/* =========================================================
 * 14.1 ИНФРАСТРУКТУРА — STEP 2
 * Исправляем заголовок и пропорции блока по фактическому скрину
 * ========================================================= */

.sv-infra > .container {
    max-width: 1320px !important;
}

/* Левой части даём больше места, правую немного сужаем */
.sv-infra__card {
    grid-template-columns:
        minmax(0, 1.08fr)
        minmax(0, 0.92fr) !important;

    gap: 34px !important;

    padding:
        34px
        36px !important;
}

/* Заголовок больше не залезает под фотографию */
.sv-infra__title {
    max-width: 100% !important;

    font-size:
        clamp(
            44px,
            3.35vw,
            56px
        ) !important;

    line-height: 0.98 !important;

    letter-spacing: -0.04em !important;

    white-space: normal !important;
    overflow: visible !important;
}

/* Текст чуть компактнее и свободнее */
.sv-infra__content {
    padding:
        12px
        8px
        12px
        4px !important;
}

.sv-infra__description {
    max-width: 610px !important;

    font-size: 14px !important;
    line-height: 1.5 !important;
}

.sv-infra__description p {
    margin-bottom: 18px !important;
}

/* Фото делаем ниже — блок становится изящнее */
.sv-infra .sv-infra__slider {
    min-height: 445px !important;
    height: 445px !important;
}

.sv-infra .sv-infra__slider .swiper-wrapper,
.sv-infra .sv-infra__slider .swiper-slide {
    height: 445px !important;
}

.sv-infra .sv-infra__slider .swiper-slide img {
    height: 445px !important;
    min-height: 445px !important;

    object-position: center center !important;
}

/* Стрелки чуть компактнее */
.sv-infra .swiper-button-prev,
.sv-infra .swiper-button-next {
    width: 42px !important;
    height: 42px !important;

    margin-top: -21px !important;
}

/* Tablet */
@media (max-width: 1024px) {

    .sv-infra__card {
        grid-template-columns: 1fr !important;

        padding: 28px !important;
    }

    .sv-infra__title {
        font-size: 48px !important;
    }

    .sv-infra .sv-infra__slider,
    .sv-infra .sv-infra__slider .swiper-wrapper,
    .sv-infra .sv-infra__slider .swiper-slide,
    .sv-infra .sv-infra__slider .swiper-slide img {
        height: 390px !important;
        min-height: 390px !important;
    }

}

/* Mobile */
@media (max-width: 600px) {

    .sv-infra__card {
        padding: 18px !important;
    }

    .sv-infra__title {
        font-size: 36px !important;
        line-height: 1 !important;
    }

    .sv-infra .sv-infra__slider,
    .sv-infra .sv-infra__slider .swiper-wrapper,
    .sv-infra .sv-infra__slider .swiper-slide,
    .sv-infra .sv-infra__slider .swiper-slide img {
        height: 280px !important;
        min-height: 280px !important;
    }

}

/* =========================================================
 * 14.2 ИНФРАСТРУКТУРА — SELECTED MOCKUP FINAL
 * Точная композиция выбранного макета
 * ========================================================= */

.sv-infra--editorial {
    margin: 58px 0 !important;
}

.sv-infra--editorial > .container {
    max-width: 1440px !important;
}


/* =========================================================
 * ОСНОВНАЯ PREMIUM-КАРТОЧКА
 * ========================================================= */

.sv-infra-premium {
    position: relative;

    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        minmax(0, 1.02fr);

    gap: 38px;
    align-items: stretch;

    padding:
        36px
        36px
        32px;

    overflow: hidden;

    border:
        1px solid rgba(84, 96, 84, 0.10);

    border-radius: 32px;

    background:
        radial-gradient(
            circle at 92% 10%,
            rgba(205, 164, 108, 0.07) 0%,
            rgba(205, 164, 108, 0) 28%
        ),
        linear-gradient(
            135deg,
            #fbf8f2 0%,
            #f4efe7 100%
        );

    box-shadow:
        0 22px 58px rgba(44, 57, 47, 0.08);
}


/* =========================================================
 * ЛЕВАЯ ЧАСТЬ
 * ========================================================= */

.sv-infra-premium__content {
    position: relative;

    min-width: 0;

    display: flex;
    flex-direction: column;

    padding:
        10px
        16px
        58px
        18px;
}

.sv-infra-premium__eyebrow {
    display: flex;
    align-items: center;

    gap: 18px;

    margin-bottom: 20px;

    color: #aa7b4e;

    font-family: "Manrope", sans-serif;
    font-size: 10px;
    line-height: 1;
    font-weight: 700;

    letter-spacing: 0.28em;
}

.sv-infra-premium__eyebrow i {
    width: 46px;
    height: 1px;

    display: block;

    background: #b98a58;
}

.sv-infra-premium__title {
    max-width: 650px;

    margin: 0 0 26px !important;

    color: #183527 !important;

    font-family:
        "Prata",
        Georgia,
        "Times New Roman",
        serif !important;

    font-size:
        clamp(
            54px,
            4.6vw,
            76px
        ) !important;

    line-height: 0.98 !important;

    font-weight: 400 !important;

    letter-spacing: -0.048em !important;
}

.sv-infra-premium__lead {
    max-width: 640px;

    margin: 0 0 30px;

    color: #647068;

    font-family: "Manrope", sans-serif;
    font-size: 16px;
    line-height: 1.48;
    font-weight: 400;
}


/* =========================================================
 * 4 ПРЕИМУЩЕСТВА
 * ========================================================= */

.sv-infra-premium__features {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    column-gap: 42px;
    row-gap: 28px;

    max-width: 660px;
}

.sv-infra-feature {
    display: grid;
    grid-template-columns:
        60px
        minmax(0, 1fr);

    gap: 16px;
    align-items: start;
}

.sv-infra-feature__icon {
    width: 58px;
    height: 58px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background:
        linear-gradient(
            145deg,
            #f1e5d1 0%,
            #f7f0e5 100%
        );

    color: #9d794f;
}

.sv-infra-feature__icon svg {
    width: 31px;
    height: 31px;

    display: block;
}

.sv-infra-feature h3 {
    margin: 2px 0 5px;

    color: #294537;

    font-family: "Manrope", sans-serif;
    font-size: 17px;
    line-height: 1.15;
    font-weight: 700;
}

.sv-infra-feature p {
    margin: 0;

    color: #6f7871;

    font-family: "Manrope", sans-serif;
    font-size: 13px;
    line-height: 1.45;
}


/* =========================================================
 * CTA
 * ========================================================= */

.sv-infra-premium__actions {
    display: flex;
    align-items: center;

    gap: 28px;

    margin-top: auto;
    padding-top: 34px;
}

.sv-infra-premium__button {
    min-width: 230px;
    min-height: 56px;

    display: inline-flex;
    align-items: center;
    justify-content: space-between;

    gap: 24px;

    padding:
        0
        24px
        0
        28px;

    border:
        1px solid rgba(197, 154, 99, 0.28);

    border-radius: 999px;

    background:
        linear-gradient(
            90deg,
            #31503c 0%,
            #3f6248 100%
        );

    color: #ffffff !important;

    font-family: "Manrope", sans-serif;
    font-size: 14px;
    line-height: 1;
    font-weight: 600;

    text-decoration: none !important;

    box-shadow:
        0 12px 25px rgba(40, 70, 51, 0.14);

    transition:
        transform 0.22s ease,
        box-shadow 0.22s ease,
        background 0.22s ease;
}

.sv-infra-premium__button svg {
    width: 24px;
    height: 24px;

    flex: 0 0 24px;
}

@media (min-width: 1025px) {

    .sv-infra-premium__button:hover {
        transform: translateY(-2px);

        background:
            linear-gradient(
                90deg,
                #294633 0%,
                #36583f 100%
            );

        box-shadow:
            0 16px 30px rgba(40, 70, 51, 0.20);
    }

}

.sv-infra-premium__motto {
    display: flex;
    align-items: center;

    gap: 16px;

    color: #b28a61;

    font-family: "Manrope", sans-serif;
    font-size: 9px;
    line-height: 1;
    font-weight: 700;

    letter-spacing: 0.30em;
}

.sv-infra-premium__motto i {
    width: 42px;
    height: 1px;

    background: #c19a70;
}


/* =========================================================
 * ДЕКОРАТИВНЫЕ ГОРЫ ВНИЗУ
 * ========================================================= */

.sv-infra-premium__mountains {
    position: absolute;

    left: -36px;
    right: -30px;
    bottom: -3px;

    height: 84px;

    opacity: 0.34;

    background-image:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1000' height='160' viewBox='0 0 1000 160'%3E%3Cpath d='M0 145L90 86L146 126L221 54L287 122L344 91L410 129L492 47L563 116L620 90L694 129L777 59L850 122L910 94L1000 145V160H0Z' fill='%23d9c7a8'/%3E%3Cpath d='M0 149L118 111L177 139L252 92L330 137L416 106L511 142L602 100L680 139L772 91L849 135L925 111L1000 148' fill='none' stroke='%23c9b48f' stroke-width='2' opacity='.8'/%3E%3C/svg%3E");

    background-repeat: no-repeat;
    background-position: left bottom;
    background-size: 100% 100%;

    pointer-events: none;
}


/* =========================================================
 * ПРАВАЯ ФОТО-КАРТОЧКА
 * ========================================================= */

.sv-infra-premium__visual {
    min-width: 0;
}

.sv-infra-premium__slider {
    position: relative;

    width: 100%;
    height: 100%;
    min-height: 610px;

    overflow: hidden;

    border-radius: 28px;

    background: #d9ded6;

    box-shadow:
        0 18px 40px rgba(31, 46, 35, 0.12);
}

.sv-infra-premium__slider .swiper-wrapper,
.sv-infra-premium__slider .swiper-slide {
    height: 100%;
}

.sv-infra-premium__slider .swiper-slide img {
    display: block;

    width: 100%;
    height: 100%;
    min-height: 610px;

    object-fit: cover;

    border-radius: 28px;

    filter:
        saturate(0.92)
        contrast(1.02);
}

.sv-infra-premium__slider::after {
    content: "";

    position: absolute;
    inset: 0;

    z-index: 2;

    pointer-events: none;

    background:
        linear-gradient(
            180deg,
            rgba(20, 31, 23, 0.00) 52%,
            rgba(20, 31, 23, 0.22) 100%
        );
}


/* =========================================================
 * БЕЙДЖ "КРУГЛЫЙ ГОД"
 * ========================================================= */

.sv-infra-premium__badge {
    position: absolute;

    top: 24px;
    right: 24px;

    z-index: 5;

    min-width: 260px;

    display: flex;
    align-items: center;

    gap: 14px;

    padding:
        12px
        20px;

    border:
        1px solid rgba(232, 196, 145, 0.28);

    border-radius: 999px;

    background:
        rgba(38, 67, 49, 0.91);

    color: #f5e7d3;

    box-shadow:
        0 12px 26px rgba(21, 37, 26, 0.18);

    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.sv-infra-premium__badge-icon {
    width: 32px;
    height: 32px;

    flex: 0 0 32px;
}

.sv-infra-premium__badge-icon svg {
    width: 100%;
    height: 100%;
}

.sv-infra-premium__badge b {
    display: block;

    margin-bottom: 3px;

    font-family: "Manrope", sans-serif;
    font-size: 10px;
    line-height: 1;
    font-weight: 700;

    letter-spacing: 0.28em;
}

.sv-infra-premium__badge span {
    display: block;

    color: rgba(245, 231, 211, 0.78);

    font-family: "Manrope", sans-serif;
    font-size: 9px;
    line-height: 1;

    letter-spacing: 0.18em;
}


/* =========================================================
 * РУКОПИСНЫЙ АКЦЕНТ
 * ========================================================= */

.sv-infra-premium__quote {
    position: absolute;

    right: 34px;
    bottom: 28px;

    z-index: 5;

    color: #fff7eb;

    text-align: right;

    text-shadow:
        0 3px 16px rgba(7, 20, 12, 0.32);
}

.sv-infra-premium__quote > span {
    display: block;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 23px;
    line-height: 1.15;
    font-style: italic;

    transform: rotate(-5deg);
}

.sv-infra-premium__quote > div {
    display: flex;
    align-items: center;
    justify-content: flex-end;

    gap: 12px;

    margin-top: 16px;
}

.sv-infra-premium__quote i {
    width: 36px;
    height: 1px;

    background: rgba(255, 247, 235, 0.72);
}

.sv-infra-premium__quote b {
    font-size: 18px;
    font-weight: 400;
}

.sv-infra-premium__quote small {
    display: block;

    margin-top: 17px;

    font-family: "Manrope", sans-serif;
    font-size: 8px;
    line-height: 1;
    font-weight: 700;

    letter-spacing: 0.32em;
}


/* =========================================================
 * СЛАЙДЕР — стрелки прячем в спокойные маленькие кнопки
 * ========================================================= */

.sv-infra-premium .swiper-button-prev,
.sv-infra-premium .swiper-button-next {
    width: 38px !important;
    height: 38px !important;

    top: auto !important;
    bottom: 26px !important;

    z-index: 6 !important;

    margin-top: 0 !important;

    border:
        1px solid rgba(255, 247, 235, 0.38) !important;

    border-radius: 50% !important;

    background:
        rgba(30, 53, 39, 0.60) !important;

    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}

.sv-infra-premium .swiper-button-prev {
    left: 24px !important;
}

.sv-infra-premium .swiper-button-next {
    left: 70px !important;
    right: auto !important;
}

.sv-infra-premium .swiper-button-prev::after,
.sv-infra-premium .swiper-button-next::after {
    color: #fff7eb !important;

    font-size: 11px !important;
}


/* =========================================================
 * СХЕМА КУРОРТА — оставляем как отдельный объект
 * ========================================================= */

.sv-infra--editorial .sv-infra__scheme-head {
    margin-top: 38px !important;
}


/* =========================================================
 * TABLET
 * ========================================================= */

@media (max-width: 1100px) {

    .sv-infra-premium {
        grid-template-columns: 1fr;

        gap: 26px;

        padding: 28px;
    }

    .sv-infra-premium__content {
        padding:
            8px
            8px
            54px;
    }

    .sv-infra-premium__title {
        font-size: 58px !important;
    }

    .sv-infra-premium__slider,
    .sv-infra-premium__slider .swiper-slide img {
        min-height: 520px;
    }

}


/* =========================================================
 * MOBILE
 * ========================================================= */

@media (max-width: 650px) {

    .sv-infra--editorial {
        margin: 34px 0 !important;
    }

    .sv-infra-premium {
        gap: 18px;

        padding: 14px;

        border-radius: 23px;
    }

    .sv-infra-premium__content {
        padding:
            16px
            10px
            52px;
    }

    .sv-infra-premium__eyebrow {
        margin-bottom: 15px;

        font-size: 9px;
    }

    .sv-infra-premium__eyebrow i {
        width: 34px;
    }

    .sv-infra-premium__title {
        margin-bottom: 18px !important;

        font-size: 40px !important;
        line-height: 1 !important;
    }

    .sv-infra-premium__lead {
        margin-bottom: 24px;

        font-size: 14px;
        line-height: 1.5;
    }

    .sv-infra-premium__features {
        grid-template-columns: 1fr;

        gap: 18px;
    }

    .sv-infra-feature {
        grid-template-columns:
            52px
            minmax(0, 1fr);

        gap: 14px;
    }

    .sv-infra-feature__icon {
        width: 50px;
        height: 50px;
    }

    .sv-infra-feature__icon svg {
        width: 27px;
        height: 27px;
    }

    .sv-infra-feature h3 {
        font-size: 15px;
    }

    .sv-infra-feature p {
        font-size: 12.5px;
    }

    .sv-infra-premium__actions {
        display: block;

        padding-top: 28px;
    }

    .sv-infra-premium__button {
        width: 100%;
        min-width: 0;

        box-sizing: border-box;
    }

    .sv-infra-premium__motto {
        margin-top: 20px;
    }

    .sv-infra-premium__mountains {
        height: 58px;
    }

    .sv-infra-premium__slider,
    .sv-infra-premium__slider .swiper-slide img {
        min-height: 430px;

        border-radius: 19px;
    }

    .sv-infra-premium__badge {
        top: 15px;
        right: 15px;

        min-width: 0;

        padding:
            10px
            14px;
    }

    .sv-infra-premium__badge-icon {
        width: 27px;
        height: 27px;

        flex-basis: 27px;
    }

    .sv-infra-premium__badge b {
        font-size: 8px;
    }

    .sv-infra-premium__badge span {
        font-size: 7px;
    }

    .sv-infra-premium__quote {
        right: 18px;
        bottom: 20px;
    }

    .sv-infra-premium__quote > span {
        font-size: 19px;
    }

    .sv-infra-premium .swiper-button-prev,
    .sv-infra-premium .swiper-button-next {
        bottom: 18px !important;

        width: 34px !important;
        height: 34px !important;
    }

    .sv-infra-premium .swiper-button-prev {
        left: 16px !important;
    }

    .sv-infra-premium .swiper-button-next {
        left: 56px !important;
    }

}

/* =========================================================
 * 14.3 ИНФРАСТРУКТУРА — STATIC IMAGE REPLACEMENT
 * Используем infrastructura.png вместо старого слайдера
 * ========================================================= */

.sv-infra-premium__slider--static {
    position: relative;
    overflow: hidden;
}

.sv-infra-premium__static-image {
    display: block;

    width: 100%;
    height: 100%;
    min-height: 610px;

    object-fit: cover;
    object-position: center center;

    border-radius: 28px;

    filter:
        saturate(0.96)
        contrast(1.02);
}

@media (max-width: 1100px) {

    .sv-infra-premium__static-image {
        min-height: 520px;
    }

}

@media (max-width: 650px) {

    .sv-infra-premium__static-image {
        min-height: 430px;
        border-radius: 19px;
    }

}

/* =========================================================
 * 14.4 ИНФРАСТРУКТУРА — STEP 3 / CLOSER TO ORIGINAL
 * Финальная доводка под выбранный макет
 * ========================================================= */

/* 01. ШИРИНА ВСЕГО БЛОКА */
.sv-infra--editorial > .container {
    width: calc(100% - 80px) !important;
    max-width: 1540px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* 02. ОСНОВНАЯ КАРТОЧКА */
.sv-infra-premium {
    grid-template-columns:
        minmax(0, 1.02fr)
        minmax(0, 0.98fr) !important;

    gap: 40px !important;
    padding: 46px 46px 34px !important;
    border-radius: 34px !important;

    background:
        radial-gradient(circle at 90% 8%, rgba(212, 173, 119, 0.08) 0%, rgba(212, 173, 119, 0) 27%),
        linear-gradient(135deg, #fbf8f2 0%, #f5f0e8 100%) !important;

    box-shadow:
        0 24px 60px rgba(44, 57, 47, 0.075) !important;
}

/* 03. ЛЕВАЯ ЧАСТЬ */
.sv-infra-premium__content {
    padding: 10px 18px 48px 14px !important;
}

.sv-infra-premium__eyebrow {
    margin-bottom: 22px !important;
    color: #a97848 !important;
    font-size: 10px !important;
    letter-spacing: 0.30em !important;
}

.sv-infra-premium__eyebrow i {
    width: 52px !important;
}

.sv-infra-premium__title {
    max-width: 720px !important;
    margin-bottom: 28px !important;
    color: #173628 !important;

    font-size:
        clamp(58px, 4.7vw, 82px) !important;

    line-height: 0.96 !important;
    letter-spacing: -0.052em !important;
}

.sv-infra-premium__lead {
    max-width: 650px !important;
    margin-bottom: 36px !important;
    color: #68736c !important;
    font-size: 16px !important;
    line-height: 1.55 !important;
}

/* 04. ПРЕИМУЩЕСТВА */
.sv-infra-premium__features {
    max-width: 690px !important;
    column-gap: 52px !important;
    row-gap: 32px !important;
}

.sv-infra-feature {
    grid-template-columns:
        66px
        minmax(0, 1fr) !important;
    gap: 18px !important;
}

.sv-infra-feature__icon {
    width: 64px !important;
    height: 64px !important;

    background:
        linear-gradient(145deg, #f0e3cf 0%, #f7f0e5 100%) !important;

    color: #9d764a !important;
}

.sv-infra-feature__icon svg {
    width: 33px !important;
    height: 33px !important;
}

.sv-infra-feature h3 {
    margin-top: 3px !important;
    color: #284638 !important;
    font-size: 18px !important;
    line-height: 1.15 !important;
}

.sv-infra-feature p {
    max-width: 225px;
    color: #707a73 !important;
    font-size: 13.5px !important;
    line-height: 1.48 !important;
}

/* 05. CTA */
.sv-infra-premium__actions {
    margin-top: 38px !important;
    padding-top: 0 !important;
    gap: 34px !important;
}

.sv-infra-premium__button {
    min-width: 250px !important;
    min-height: 58px !important;
    padding: 0 24px 0 30px !important;

    background:
        linear-gradient(90deg, #31513d 0%, #41634a 100%) !important;

    color: #ffffff !important;
    font-size: 14px !important;

    box-shadow:
        0 13px 27px rgba(39, 67, 50, 0.15) !important;
}

.sv-infra-premium__button span,
.sv-infra-premium__button svg {
    color: #ffffff !important;
    opacity: 1 !important;
}

.sv-infra-premium__motto {
    color: #ae8359 !important;
    font-size: 9px !important;
    letter-spacing: 0.31em !important;
}

.sv-infra-premium__motto i {
    width: 46px !important;
}

/* 06. ГОРЫ ВНИЗУ */
.sv-infra-premium__mountains {
    left: -46px !important;
    right: -34px !important;
    bottom: -7px !important;
    height: 96px !important;
    opacity: 0.29 !important;

    background-image:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1200' height='180' viewBox='0 0 1200 180'%3E%3Cg fill='none'%3E%3Cpath d='M0 171L80 127L126 150L198 101L245 142L314 91L382 145L452 112L520 150L606 79L670 142L734 111L804 151L884 88L952 143L1022 111L1082 145L1200 166V180H0Z' fill='%23dcccae'/%3E%3Cpath d='M0 169L93 139L153 159L225 119L292 153L355 111L426 154L498 132L572 158L650 104L716 151L785 130L854 158L932 111L1002 153L1074 134L1200 168' stroke='%23c9b48f' stroke-width='2' opacity='.62'/%3E%3Cpath d='M55 163L166 132L230 157L329 128L413 160L514 125L596 158L700 130L783 160L887 127L976 158L1088 133L1172 165' stroke='%23d5c3a3' stroke-width='1.4' opacity='.55'/%3E%3C/g%3E%3C/svg%3E") !important;

    background-position: left bottom !important;
    background-size: 100% 100% !important;
}

/* 07. ПРАВАЯ ФОТО-КАРТОЧКА */
.sv-infra-premium__slider,
.sv-infra-premium__slider--static {
    min-height: 650px !important;
    border-radius: 30px !important;

    box-shadow:
        0 18px 42px rgba(31, 46, 35, 0.11) !important;
}

.sv-infra-premium__static-image {
    min-height: 650px !important;
    border-radius: 30px !important;
    object-position: center center !important;

    filter:
        saturate(0.96)
        contrast(1.015)
        brightness(1.01) !important;
}

/* 08. БЕЙДЖ */
.sv-infra-premium__badge {
    top: 26px !important;
    right: 26px !important;
    min-width: 265px !important;
    padding: 13px 22px !important;

    background:
        rgba(42, 70, 52, 0.93) !important;

    border:
        1px solid rgba(233, 198, 148, 0.32) !important;

    color: #f7e9d4 !important;
}

.sv-infra-premium__badge,
.sv-infra-premium__badge * {
    opacity: 1 !important;
}

.sv-infra-premium__badge b {
    display: block !important;
    color: #f7e9d4 !important;
    font-size: 10px !important;
    line-height: 1.1 !important;
    font-weight: 700 !important;
    letter-spacing: 0.28em !important;
}

.sv-infra-premium__badge span {
    color: rgba(247, 233, 212, 0.82) !important;
    font-size: 9px !important;
}

/* 09. РУКОПИСНАЯ НАДПИСЬ */
.sv-infra-premium__quote,
.sv-infra-premium__quote * {
    color: #fff8ee !important;
}

.sv-infra-premium__quote {
    right: 32px !important;
    bottom: 26px !important;
    opacity: 1 !important;

    text-shadow:
        0 3px 18px rgba(7, 20, 12, 0.42) !important;
}

.sv-infra-premium__quote > span {
    font-size: 24px !important;
}

.sv-infra-premium__quote i {
    background:
        rgba(255, 248, 238, 0.78) !important;
}

.sv-infra-premium__quote small {
    color: rgba(255, 248, 238, 0.88) !important;
}

/* TABLET */
@media (max-width: 1100px) {
    .sv-infra--editorial > .container {
        width: calc(100% - 48px) !important;
    }

    .sv-infra-premium {
        grid-template-columns: 1fr !important;
        padding: 30px !important;
    }

    .sv-infra-premium__content {
        padding: 8px 8px 50px !important;
    }

    .sv-infra-premium__title {
        font-size: 60px !important;
    }

    .sv-infra-premium__slider,
    .sv-infra-premium__slider--static,
    .sv-infra-premium__static-image {
        min-height: 540px !important;
    }
}

/* MOBILE */
@media (max-width: 650px) {
    .sv-infra--editorial > .container {
        width: calc(100% - 28px) !important;
    }

    .sv-infra-premium {
        padding: 14px !important;
    }

    .sv-infra-premium__title {
        font-size: 40px !important;
    }

    .sv-infra-premium__features {
        grid-template-columns: 1fr !important;
    }

    .sv-infra-premium__actions {
        margin-top: 30px !important;
    }

    .sv-infra-premium__slider,
    .sv-infra-premium__slider--static,
    .sv-infra-premium__static-image {
        min-height: 440px !important;
        border-radius: 20px !important;
    }

    .sv-infra-premium__badge {
        top: 14px !important;
        right: 14px !important;
        min-width: 0 !important;
    }

    .sv-infra-premium__quote {
        right: 18px !important;
        bottom: 18px !important;
    }
}

/* =========================================================
 * 14.5 ИНФРАСТРУКТУРА — COMPACT + MORE FEATURES
 * Меньше масштаб, меньше пустоты, 6 пунктов инфраструктуры
 * ========================================================= */

.sv-infra--editorial {
    margin: 42px 0 !important;
}

.sv-infra--editorial > .container {
    width: calc(100% - 96px) !important;
    max-width: 1420px !important;
}

/* Общая карточка компактнее */
.sv-infra-premium {
    grid-template-columns:
        minmax(0, 1.06fr)
        minmax(0, 0.94fr) !important;

    gap: 28px !important;

    padding:
        30px
        32px
        24px !important;

    border-radius: 28px !important;
}

/* Левая часть */
.sv-infra-premium__content {
    padding:
        6px
        10px
        34px
        8px !important;
}

.sv-infra-premium__eyebrow {
    margin-bottom: 14px !important;
    font-size: 9px !important;
}

.sv-infra-premium__eyebrow i {
    width: 40px !important;
}

/* Заголовок заметно меньше */
.sv-infra-premium__title {
    max-width: 650px !important;

    margin-bottom: 18px !important;

    font-size:
        clamp(
            46px,
            3.8vw,
            64px
        ) !important;

    line-height: 0.98 !important;
}

/* Короткий вводный текст */
.sv-infra-premium__lead {
    max-width: 650px !important;

    margin-bottom: 24px !important;

    font-size: 14px !important;
    line-height: 1.48 !important;
}

/* 6 преимуществ — три колонки, две строки */
.sv-infra-premium__features {
    grid-template-columns:
        repeat(3, minmax(0, 1fr)) !important;

    max-width: 720px !important;

    column-gap: 22px !important;
    row-gap: 22px !important;
}

.sv-infra-feature {
    grid-template-columns:
        48px
        minmax(0, 1fr) !important;

    gap: 12px !important;
}

.sv-infra-feature__icon {
    width: 46px !important;
    height: 46px !important;
}

.sv-infra-feature__icon svg {
    width: 24px !important;
    height: 24px !important;
}

.sv-infra-feature h3 {
    margin:
        1px
        0
        3px !important;

    font-size: 14px !important;
    line-height: 1.15 !important;
}

.sv-infra-feature p {
    max-width: 160px !important;

    font-size: 11.5px !important;
    line-height: 1.38 !important;
}

/* CTA поднимаем сразу под сетку */
.sv-infra-premium__actions {
    margin-top: 24px !important;
    padding-top: 0 !important;

    gap: 24px !important;
}

.sv-infra-premium__button {
    min-width: 210px !important;
    min-height: 48px !important;

    padding:
        0
        20px
        0
        24px !important;

    font-size: 13px !important;
}

.sv-infra-premium__button svg {
    width: 20px !important;
    height: 20px !important;
    flex-basis: 20px !important;
}

.sv-infra-premium__motto {
    font-size: 8px !important;
    letter-spacing: 0.27em !important;
}

.sv-infra-premium__motto i {
    width: 34px !important;
}

/* Декор внизу меньше */
.sv-infra-premium__mountains {
    height: 58px !important;
    bottom: -5px !important;
    opacity: 0.22 !important;
}

/* Правое фото тоже компактнее */
.sv-infra-premium__slider,
.sv-infra-premium__slider--static {
    min-height: 535px !important;
    height: 535px !important;

    border-radius: 24px !important;
}

.sv-infra-premium__static-image {
    height: 535px !important;
    min-height: 535px !important;

    border-radius: 24px !important;

    object-fit: cover !important;
}

/* Бейдж компактнее */
.sv-infra-premium__badge {
    top: 18px !important;
    right: 18px !important;

    min-width: 220px !important;

    padding:
        10px
        16px !important;
}

.sv-infra-premium__badge-icon {
    width: 27px !important;
    height: 27px !important;
    flex-basis: 27px !important;
}

.sv-infra-premium__badge b {
    font-size: 8.5px !important;
}

.sv-infra-premium__badge span {
    font-size: 7.5px !important;
}

/* Рукописный акцент */
.sv-infra-premium__quote {
    right: 22px !important;
    bottom: 18px !important;
}

.sv-infra-premium__quote > span {
    font-size: 20px !important;
}

.sv-infra-premium__quote small {
    margin-top: 12px !important;
    font-size: 7px !important;
}


/* TABLET */
@media (max-width: 1100px) {

    .sv-infra--editorial > .container {
        width: calc(100% - 48px) !important;
    }

    .sv-infra-premium {
        grid-template-columns: 1fr !important;

        padding: 24px !important;
    }

    .sv-infra-premium__features {
        grid-template-columns:
            repeat(3, minmax(0, 1fr)) !important;

        max-width: none !important;
    }

    .sv-infra-premium__slider,
    .sv-infra-premium__slider--static,
    .sv-infra-premium__static-image {
        height: 460px !important;
        min-height: 460px !important;
    }

}


/* MOBILE */
@media (max-width: 650px) {

    .sv-infra--editorial > .container {
        width: calc(100% - 28px) !important;
    }

    .sv-infra-premium {
        padding: 12px !important;
    }

    .sv-infra-premium__content {
        padding:
            14px
            8px
            42px !important;
    }

    .sv-infra-premium__title {
        font-size: 36px !important;
    }

    .sv-infra-premium__lead {
        font-size: 13px !important;
    }

    .sv-infra-premium__features {
        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;

        gap: 18px 12px !important;
    }

    .sv-infra-feature {
        grid-template-columns: 42px minmax(0, 1fr) !important;
        gap: 10px !important;
    }

    .sv-infra-feature__icon {
        width: 40px !important;
        height: 40px !important;
    }

    .sv-infra-feature__icon svg {
        width: 21px !important;
        height: 21px !important;
    }

    .sv-infra-feature h3 {
        font-size: 13px !important;
    }

    .sv-infra-feature p {
        font-size: 10.5px !important;
    }

    .sv-infra-premium__actions {
        display: block !important;
        margin-top: 24px !important;
    }

    .sv-infra-premium__button {
        width: 100% !important;
        min-width: 0 !important;
    }

    .sv-infra-premium__motto {
        margin-top: 16px !important;
    }

    .sv-infra-premium__slider,
    .sv-infra-premium__slider--static,
    .sv-infra-premium__static-image {
        height: 390px !important;
        min-height: 390px !important;

        border-radius: 18px !important;
    }

}

/* =========================================================
 * 14.6 ИНФРАСТРУКТУРА — FINAL POLISH
 * Финальная доводка: меньше высота, меньше пустоты,
 * CTA собран плотнее, без изменения общей концепции.
 * ========================================================= */

/* Весь блок чуть компактнее по вертикали */
.sv-infra--editorial {
    margin: 36px 0 !important;
}

.sv-infra-premium {
    padding:
        26px
        30px
        20px !important;

    gap: 26px !important;

    border-radius: 26px !important;
}

/* Левая колонка */
.sv-infra-premium__content {
    padding:
        4px
        8px
        24px
        6px !important;
}

.sv-infra-premium__eyebrow {
    margin-bottom: 12px !important;
}

/* Заголовок немного компактнее, но сохраняет премиальный характер */
.sv-infra-premium__title {
    margin-bottom: 15px !important;

    font-size:
        clamp(
            44px,
            3.55vw,
            60px
        ) !important;
}

/* Вводный текст */
.sv-infra-premium__lead {
    margin-bottom: 20px !important;

    font-size: 13.5px !important;
    line-height: 1.45 !important;
}

/* Сетка инфраструктуры — чуть плотнее */
.sv-infra-premium__features {
    column-gap: 20px !important;
    row-gap: 17px !important;
}

.sv-infra-feature {
    grid-template-columns:
        44px
        minmax(0, 1fr) !important;

    gap: 10px !important;
}

.sv-infra-feature__icon {
    width: 42px !important;
    height: 42px !important;
}

.sv-infra-feature__icon svg {
    width: 22px !important;
    height: 22px !important;
}

.sv-infra-feature h3 {
    font-size: 13.5px !important;
}

.sv-infra-feature p {
    font-size: 11px !important;
    line-height: 1.34 !important;
}

/* CTA теперь сразу под инфраструктурой */
.sv-infra-premium__actions {
    margin-top: 18px !important;
    padding-top: 0 !important;

    gap: 18px !important;
}

.sv-infra-premium__button {
    min-width: 192px !important;
    min-height: 44px !important;

    padding:
        0
        17px
        0
        21px !important;

    font-size: 12.5px !important;
}

.sv-infra-premium__button svg {
    width: 18px !important;
    height: 18px !important;
    flex-basis: 18px !important;
}

.sv-infra-premium__motto {
    gap: 12px !important;

    font-size: 7.5px !important;
    letter-spacing: 0.25em !important;
}

.sv-infra-premium__motto i {
    width: 30px !important;
}

/* Горы ближе к содержимому и меньше по высоте */
.sv-infra-premium__mountains {
    height: 42px !important;

    bottom: -3px !important;

    opacity: 0.18 !important;
}

/* Главное: уменьшаем фото и тем самым убираем белую пустоту слева */
.sv-infra-premium__slider,
.sv-infra-premium__slider--static {
    height: 480px !important;
    min-height: 480px !important;

    border-radius: 22px !important;
}

.sv-infra-premium__static-image {
    height: 480px !important;
    min-height: 480px !important;

    border-radius: 22px !important;
}

/* Бейдж немного меньше и легче */
.sv-infra-premium__badge {
    top: 16px !important;
    right: 16px !important;

    min-width: 205px !important;

    padding:
        9px
        15px !important;
}

.sv-infra-premium__badge-icon {
    width: 24px !important;
    height: 24px !important;
    flex-basis: 24px !important;
}

.sv-infra-premium__badge b {
    font-size: 8px !important;
}

.sv-infra-premium__badge span {
    font-size: 7px !important;
}

/* Акцент на фото */
.sv-infra-premium__quote {
    right: 18px !important;
    bottom: 14px !important;
}

.sv-infra-premium__quote > span {
    font-size: 18px !important;
}

.sv-infra-premium__quote > div {
    margin-top: 10px !important;
}

.sv-infra-premium__quote small {
    margin-top: 9px !important;
    font-size: 6.5px !important;
}


/* =========================================================
 * TABLET
 * ========================================================= */

@media (max-width: 1100px) {

    .sv-infra-premium {
        padding: 22px !important;
    }

    .sv-infra-premium__title {
        font-size: 52px !important;
    }

    .sv-infra-premium__features {
        grid-template-columns:
            repeat(3, minmax(0, 1fr)) !important;
    }

    .sv-infra-premium__slider,
    .sv-infra-premium__slider--static,
    .sv-infra-premium__static-image {
        height: 430px !important;
        min-height: 430px !important;
    }

}


/* =========================================================
 * MOBILE
 * ========================================================= */

@media (max-width: 650px) {

    .sv-infra--editorial {
        margin: 28px 0 !important;
    }

    .sv-infra-premium {
        padding: 11px !important;
    }

    .sv-infra-premium__content {
        padding:
            13px
            7px
            34px !important;
    }

    .sv-infra-premium__title {
        font-size: 34px !important;
    }

    .sv-infra-premium__lead {
        margin-bottom: 18px !important;

        font-size: 12.5px !important;
    }

    .sv-infra-premium__features {
        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;

        gap:
            15px
            10px !important;
    }

    .sv-infra-feature {
        grid-template-columns:
            38px
            minmax(0, 1fr) !important;
    }

    .sv-infra-feature__icon {
        width: 36px !important;
        height: 36px !important;
    }

    .sv-infra-feature__icon svg {
        width: 19px !important;
        height: 19px !important;
    }

    .sv-infra-feature h3 {
        font-size: 12.5px !important;
    }

    .sv-infra-feature p {
        font-size: 10px !important;
    }

    .sv-infra-premium__actions {
        margin-top: 20px !important;
    }

    .sv-infra-premium__button {
        min-height: 46px !important;
    }

    .sv-infra-premium__slider,
    .sv-infra-premium__slider--static,
    .sv-infra-premium__static-image {
        height: 360px !important;
        min-height: 360px !important;

        border-radius: 17px !important;
    }

}

/* =========================================================
 * 15.1 ЧТО РЯДОМ — PREMIUM
 * Новый дизайн блока вместо старых .location-benefits
 * ========================================================= */

.nearby-premium {
    padding:
        48px
        0
        56px;

    background:
        linear-gradient(
            180deg,
            #fbf8f2 0%,
            #f7f2e9 100%
        );
}

.nearby-premium > .container {
    width: calc(100% - 80px);
    max-width: 1420px;

    margin:
        0
        auto;
}


/* =========================================================
 * HEADER
 * ========================================================= */

.nearby-premium__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;

    gap: 48px;

    margin-bottom: 30px;
}

.nearby-premium__eyebrow {
    display: flex;
    align-items: center;

    gap: 16px;

    margin-bottom: 13px;

    color: #a97b4c;

    font-family: "Manrope", sans-serif;
    font-size: 9px;
    line-height: 1;
    font-weight: 700;

    letter-spacing: 0.29em;
}

.nearby-premium__eyebrow i {
    display: block;

    width: 44px;
    height: 1px;

    background: #b98a58;
}

.nearby-premium__title {
    margin:
        0
        0
        12px !important;

    color: #193629 !important;

    font-family:
        "Prata",
        Georgia,
        "Times New Roman",
        serif !important;

    font-size:
        clamp(
            44px,
            3.8vw,
            64px
        ) !important;

    line-height: 1 !important;
    font-weight: 400 !important;
    letter-spacing: -0.04em !important;
}

.nearby-premium__lead {
    max-width: 760px;

    margin: 0;

    color: #68736d;

    font-family: "Manrope", sans-serif;
    font-size: 13.5px;
    line-height: 1.5;
}

.nearby-premium__note {
    padding-top: 8px;

    color: #bd9567;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 22px;
    line-height: 1.12;
    font-style: italic;

    text-align: right;

    opacity: 0.82;

    transform: rotate(-4deg);
}


/* =========================================================
 * GRID
 * ========================================================= */

.nearby-premium__grid {
    display: grid;

    grid-template-columns:
        repeat(
            4,
            minmax(0, 1fr)
        );

    gap: 16px;
}


/* =========================================================
 * CARD
 * ========================================================= */

.nearby-card {
    overflow: hidden;

    border:
        1px solid rgba(
            53,
            72,
            58,
            0.08
        );

    border-radius: 24px;

    background: #f7f2e9;

    box-shadow:
        0 16px 36px rgba(
            48,
            61,
            50,
            0.065
        );

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.nearby-card__image {
    position: relative;

    height: 286px;

    overflow: hidden;

    background:
        linear-gradient(
            135deg,
            #d8ddd5,
            #c8d0c6
        );
}

.nearby-card__image img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center;

    transition:
        transform 0.45s ease;
}

.nearby-card__shade {
    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            180deg,
            rgba(15, 30, 21, 0) 54%,
            rgba(15, 30, 21, 0.18) 100%
        );

    pointer-events: none;
}

.nearby-card__number {
    position: absolute;

    top: 15px;
    right: 15px;

    z-index: 2;

    width: 34px;
    height: 34px;

    display: flex;
    align-items: center;
    justify-content: center;

    border:
        1px solid rgba(
            255,
            255,
            255,
            0.46
        );

    border-radius: 50%;

    background:
        rgba(
            32,
            58,
            43,
            0.56
        );

    color: #fff7ec;

    font-family: "Manrope", sans-serif;
    font-size: 8px;
    line-height: 1;
    font-weight: 600;

    letter-spacing: 0.08em;

    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}


/* =========================================================
 * CARD BODY
 * ========================================================= */

.nearby-card__body {
    display: grid;

    grid-template-columns:
        46px
        minmax(0, 1fr);

    gap: 13px;

    min-height: 116px;

    padding:
        18px
        18px
        20px;
}

.nearby-card__icon {
    width: 44px;
    height: 44px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background:
        linear-gradient(
            145deg,
            #ede0cc 0%,
            #f6eee2 100%
        );

    color: #92704b;
}

.nearby-card__icon svg {
    width: 23px;
    height: 23px;

    display: block;
}

.nearby-card__content h3 {
    margin:
        1px
        0
        4px;

    color: #233f31;

    font-family:
        "Prata",
        Georgia,
        "Times New Roman",
        serif;

    font-size: 17px;
    line-height: 1.15;
    font-weight: 400;
}

.nearby-card__content p {
    margin: 0;

    color: #727a74;

    font-family: "Manrope", sans-serif;
    font-size: 11.5px;
    line-height: 1.42;
}


/* =========================================================
 * HOVER
 * ========================================================= */

@media (min-width: 1025px) {

    .nearby-card:hover {
        transform:
            translateY(-4px);

        box-shadow:
            0 23px 44px rgba(
                48,
                61,
                50,
                0.11
            );
    }

    .nearby-card:hover .nearby-card__image img {
        transform:
            scale(1.025);
    }

}


/* =========================================================
 * TABLET
 * ========================================================= */

@media (max-width: 1024px) {

    .nearby-premium > .container {
        width:
            calc(
                100% - 48px
            );
    }

    .nearby-premium__grid {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );
    }

}


/* =========================================================
 * MOBILE
 * ========================================================= */

@media (max-width: 650px) {

    .nearby-premium {
        padding:
            32px
            0
            38px;
    }

    .nearby-premium > .container {
        width:
            calc(
                100% - 28px
            );
    }

    .nearby-premium__head {
        display: block;

        margin-bottom: 22px;
    }

    .nearby-premium__title {
        font-size:
            36px !important;
    }

    .nearby-premium__lead {
        font-size:
            12.5px;
    }

    .nearby-premium__note {
        display: none;
    }

    .nearby-premium__grid {
        grid-template-columns:
            1fr;

        gap: 13px;
    }

    .nearby-card {
        border-radius:
            19px;
    }

    .nearby-card__image {
        height:
            235px;
    }

    .nearby-card__body {
        min-height: 0;

        padding:
            16px
            16px
            18px;
    }

}
/* =========================================================
 * 31. СХЕМА КУРОРТА — PREMIUM / FINAL
 * Новый блок .resort-map-premium
 * ========================================================= */

.resort-map-premium {
    position: relative;

    margin:
        54px
        0
        10px;

    padding:
        42px
        38px
        34px;

    overflow: hidden;

    border:
        1px solid rgba(49, 68, 53, 0.07);

    border-radius: 30px;

    background:
        radial-gradient(
            circle at 90% 7%,
            rgba(198, 154, 101, 0.08) 0%,
            rgba(198, 154, 101, 0) 27%
        ),
        linear-gradient(
            135deg,
            #fbf8f2 0%,
            #f5f0e7 100%
        );

    box-shadow:
        0 22px 52px rgba(46, 59, 49, 0.07);
}


/* мягкий декоративный рельеф */

.resort-map-premium::before {
    content: "";

    position: absolute;

    left: -8%;
    right: -8%;
    bottom: -75px;

    height: 180px;

    opacity: 0.15;

    background-image:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1400 180'%3E%3Cg fill='none' stroke='%237b887d' stroke-opacity='.70' stroke-width='1'%3E%3Cpath d='M0 164L138 95l58 34 120-82 112 78 94-49 123 75 105-98 97 72 118-64 103 62 131-94 119 76'/%3E%3Cpath d='M0 175l168-42 103 26 143-66 117 61 126-34 131 46 111-75 114 48 135-38 152 59'/%3E%3C/g%3E%3C/svg%3E");

    background-size: cover;
    background-position: center bottom;
    background-repeat: no-repeat;

    pointer-events: none;
}


.resort-map-premium__inner {
    position: relative;
    z-index: 2;
}


/* =========================================================
 * ВЕРХНЯЯ ЧАСТЬ
 * ========================================================= */

.resort-map-premium__head {
    display: grid;

    grid-template-columns:
        minmax(330px, 0.95fr)
        minmax(480px, 1.35fr)
        minmax(145px, 0.40fr);

    align-items: end;

    gap: 34px;

    margin-bottom: 28px;
}


/* ---------------------------------------------------------
 * Заголовок
 * --------------------------------------------------------- */

.resort-map-premium__heading {
    min-width: 0;
}

.resort-map-premium__eyebrow {
    display: flex;
    align-items: center;

    gap: 16px;

    margin-bottom: 14px;
}

.resort-map-premium__eyebrow span {
    color: #aa8152;

    font-family: "Manrope", sans-serif;
    font-size: 10px;
    line-height: 1;
    font-weight: 700;

    letter-spacing: 0.25em;
}

.resort-map-premium__eyebrow i {
    width: 54px;
    height: 1px;

    display: block;

    background:
        rgba(170, 129, 82, 0.52);
}

.resort-map-premium__heading h2 {
    margin:
        0
        0
        13px !important;

    color: #172a20 !important;

    font-family:
        "Prata",
        Georgia,
        "Times New Roman",
        serif !important;

    font-size:
        clamp(
            42px,
            4.1vw,
            61px
        ) !important;

    line-height: 0.98 !important;
    font-weight: 400 !important;

    letter-spacing: -0.035em !important;
}

.resort-map-premium__heading p {
    max-width: 470px;

    margin: 0;

    color: #69716c;

    font-family: "Manrope", sans-serif;
    font-size: 13.5px;
    line-height: 1.5;
}


/* ---------------------------------------------------------
 * 4 характеристики
 * --------------------------------------------------------- */

.resort-map-premium__stats {
    display: grid;

    grid-template-columns:
        repeat(
            4,
            minmax(0, 1fr)
        );

    gap: 8px;
}

.resort-map-stat {
    min-width: 0;

    display: flex;
    flex-direction: column;
    align-items: center;

    text-align: center;
}

.resort-map-stat__icon {
    width: 37px;
    height: 37px;

    display: flex;
    align-items: center;
    justify-content: center;

    margin-bottom: 5px;

    color: #20382b;
}

.resort-map-stat__icon svg {
    width: 31px;
    height: 31px;

    display: block;
}

.resort-map-stat strong {
    display: block;

    margin-bottom: 3px;

    color: #18251d;

    font-family:
        "Prata",
        Georgia,
        serif;

    font-size: 18px;
    line-height: 1.1;
    font-weight: 400;
}

.resort-map-stat span {
    display: block;

    color: #606a63;

    font-family: "Manrope", sans-serif;
    font-size: 10.5px;
    line-height: 1.32;
}


/* ---------------------------------------------------------
 * Рукописная подпись справа
 * --------------------------------------------------------- */

.resort-map-premium__signature {
    align-self: center;

    padding-left: 18px;

    border-left:
        1px solid rgba(178, 136, 84, 0.38);

    color: #ae875a;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 19px;
    line-height: 1.35;
    font-style: italic;

    transform:
        rotate(-4deg);
}


/* =========================================================
 * КАРТА
 * ========================================================= */

.resort-map-premium__card {
    overflow: hidden;

    padding: 12px;

    border:
        1px solid rgba(53, 72, 58, 0.08);

    border-radius: 25px;

    background:
        rgba(255, 255, 255, 0.56);

    box-shadow:
        0 18px 42px rgba(39, 52, 42, 0.08);
}


/* ---------------------------------------------------------
 * Превью карты
 * --------------------------------------------------------- */

.resort-map-premium__image {
    position: relative;

    display: block;

    height:
        clamp(
            355px,
            34vw,
            465px
        );

    overflow: hidden;

    border-radius: 18px;

    background: #d8e1e6;

    text-decoration: none;
}

.resort-map-premium__image picture {
    display: block;

    width: 100%;
    height: 100%;
}

.resort-map-premium__image img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center 14%;

    transition:
        transform 0.45s ease;
}


/* очень лёгкое затемнение по краям */

.resort-map-premium__image::after {
    content: "";

    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            180deg,
            rgba(16, 37, 27, 0.02) 0%,
            rgba(16, 37, 27, 0) 72%,
            rgba(16, 37, 27, 0.10) 100%
        );

    pointer-events: none;
}


/* круглая кнопка увеличения */

.resort-map-premium__zoom {
    position: absolute;

    right: 17px;
    bottom: 17px;

    z-index: 3;

    width: 48px;
    height: 48px;

    display: flex;
    align-items: center;
    justify-content: center;

    border:
        1px solid rgba(31, 53, 40, 0.12);

    border-radius: 50%;

    color: #233a2d;

    background:
        rgba(255, 253, 248, 0.92);

    box-shadow:
        0 8px 24px rgba(23, 41, 29, 0.14);

    backdrop-filter:
        blur(8px);

    -webkit-backdrop-filter:
        blur(8px);

    transition:
        transform 0.25s ease,
        background 0.25s ease;
}

.resort-map-premium__zoom svg {
    width: 23px;
    height: 23px;
}


/* =========================================================
 * НИЖНЯЯ ПАНЕЛЬ КАРТЫ
 * ========================================================= */

.resort-map-premium__footer {
    display: grid;

    grid-template-columns:
        minmax(360px, 0.92fr)
        minmax(260px, 1fr);

    align-items: center;

    gap: 38px;

    padding:
        13px
        20px
        3px;
}

.resort-map-premium__button {
    min-width: 0;

    display: grid;

    grid-template-columns:
        40px
        minmax(0, 1fr)
        44px;

    align-items: center;

    gap: 13px;

    color: #17261e;

    text-decoration: none !important;
}

.resort-map-premium__button-icon {
    width: 38px;
    height: 38px;

    display: flex;
    align-items: center;
    justify-content: center;

    color: #8f6a43;
}

.resort-map-premium__button-icon svg {
    width: 31px;
    height: 31px;
}

.resort-map-premium__button strong {
    color: #19271f;

    font-family: "Manrope", sans-serif;
    font-size: 15px;
    line-height: 1.3;
    font-weight: 650;
}

.resort-map-premium__arrow {
    width: 42px;
    height: 42px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    color: #f7f1e7;

    background: #233e30;

    font-family: "Manrope", sans-serif;
    font-size: 20px;

    transition:
        transform 0.25s ease,
        background 0.25s ease;
}

.resort-map-premium__hint {
    position: relative;

    padding-left: 28px;

    color: #737b76;

    font-family: "Manrope", sans-serif;
    font-size: 11.5px;
    line-height: 1.45;
}

.resort-map-premium__hint::before {
    content: "";

    position: absolute;

    left: 0;
    top: 3px;
    bottom: 3px;

    width: 1px;

    background:
        rgba(171, 129, 79, 0.34);
}


/* =========================================================
 * НИЖНЯЯ ПОДПИСЬ
 * ========================================================= */

.resort-map-premium__bottom {
    display: grid;

    grid-template-columns:
        minmax(250px, 0.72fr)
        minmax(410px, 1.25fr)
        minmax(260px, 0.80fr);

    align-items: end;

    gap: 30px;

    margin-top: 27px;
}

.resort-map-premium__bottom > div {
    display: flex;
    align-items: center;

    gap: 14px;
}

.resort-map-premium__bottom > div span {
    color: #a27d52;

    font-family: "Manrope", sans-serif;
    font-size: 9.5px;
    line-height: 1;
    font-weight: 700;

    letter-spacing: 0.24em;
}

.resort-map-premium__bottom > div i {
    width: 55px;
    height: 1px;

    display: block;

    background:
        rgba(162, 125, 82, 0.45);
}

.resort-map-premium__bottom strong {
    color: #1f2c24;

    font-family:
        "Prata",
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(
            24px,
            2.25vw,
            34px
        );

    line-height: 1.15;
    font-weight: 400;
}

.resort-map-premium__bottom p {
    position: relative;

    margin:
        0
        0
        3px;

    padding-left: 48px;

    color: #747b76;

    font-family: "Manrope", sans-serif;
    font-size: 10.5px;
    line-height: 1.45;
}

.resort-map-premium__bottom p::before {
    content: "";

    position: absolute;

    left: 0;
    top: 8px;

    width: 32px;
    height: 1px;

    background:
        rgba(171, 129, 79, 0.44);
}


/* =========================================================
 * HOVER — DESKTOP
 * ========================================================= */

@media (min-width: 1025px) {

    .resort-map-premium__image:hover img {
        transform:
            scale(1.018);
    }

    .resort-map-premium__image:hover .resort-map-premium__zoom {
        transform:
            scale(1.06);

        background:
            #fffdf8;
    }

    .resort-map-premium__button:hover .resort-map-premium__arrow {
        transform:
            translateX(3px);

        background:
            #2d503d;
    }

}


/* =========================================================
 * TABLET
 * ========================================================= */

@media (max-width: 1100px) {

    .resort-map-premium {
        padding:
            36px
            30px
            30px;
    }

    .resort-map-premium__head {
        grid-template-columns:
            minmax(0, 0.9fr)
            minmax(0, 1.1fr);

        gap: 30px;
    }

    .resort-map-premium__signature {
        display: none;
    }

    .resort-map-premium__stats {
        gap: 4px;
    }

    .resort-map-premium__bottom {
        grid-template-columns:
            minmax(210px, 0.62fr)
            minmax(0, 1.38fr);

        align-items: center;
    }

    .resort-map-premium__bottom p {
        grid-column:
            1 / -1;

        max-width: 420px;

        margin-left: auto;
    }

}


/* =========================================================
 * TABLET / MOBILE
 * ========================================================= */

@media (max-width: 820px) {

    .resort-map-premium {
        margin-top: 38px;

        padding:
            30px
            22px
            25px;

        border-radius: 24px;
    }

    .resort-map-premium__head {
        grid-template-columns: 1fr;

        gap: 24px;

        margin-bottom: 21px;
    }

    .resort-map-premium__stats {
        max-width: 560px;
    }

    .resort-map-premium__image {
        height: 365px;
    }

    .resort-map-premium__footer {
        grid-template-columns: 1fr;

        gap: 12px;

        padding:
            15px
            10px
            4px;
    }

    .resort-map-premium__hint {
        margin-left: 53px;
    }

    .resort-map-premium__bottom {
        display: block;

        margin-top: 24px;
    }

    .resort-map-premium__bottom > div {
        margin-bottom: 13px;
    }

    .resort-map-premium__bottom strong {
        display: block;

        margin-bottom: 10px;
    }

    .resort-map-premium__bottom p {
        max-width: 460px;

        margin-left: 0;
    }

}


/* =========================================================
 * MOBILE
 * ========================================================= */

@media (max-width: 600px) {

    .resort-map-premium {
        margin:
            30px
            0
            4px;

        padding:
            24px
            14px
            22px;

        border-radius: 21px;
    }

    .resort-map-premium__eyebrow {
        margin-bottom: 11px;
    }

    .resort-map-premium__eyebrow span {
        font-size: 9px;
    }

    .resort-map-premium__eyebrow i {
        width: 38px;
    }

    .resort-map-premium__heading h2 {
        margin-bottom:
            10px !important;

        font-size:
            36px !important;
    }

    .resort-map-premium__heading p {
        max-width: 330px;

        font-size: 12.5px;
        line-height: 1.48;
    }

    .resort-map-premium__stats {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );

        gap:
            18px
            10px;
    }

    .resort-map-stat__icon {
        width: 33px;
        height: 33px;

        margin-bottom: 3px;
    }

    .resort-map-stat__icon svg {
        width: 28px;
        height: 28px;
    }

    .resort-map-stat strong {
        font-size: 16px;
    }

    .resort-map-stat span {
        font-size: 10px;
    }

    .resort-map-premium__card {
        padding: 7px;

        border-radius: 18px;
    }

    .resort-map-premium__image {
        height: 295px;

        border-radius: 13px;
    }

    .resort-map-premium__image img {
        object-position: center top;
    }

    .resort-map-premium__zoom {
        right: 10px;
        bottom: 10px;

        width: 42px;
        height: 42px;
    }

    .resort-map-premium__zoom svg {
        width: 20px;
        height: 20px;
    }

    .resort-map-premium__footer {
        padding:
            12px
            7px
            4px;
    }

    .resort-map-premium__button {
        grid-template-columns:
            34px
            minmax(0, 1fr)
            38px;

        gap: 9px;
    }

    .resort-map-premium__button-icon {
        width: 31px;
        height: 31px;
    }

    .resort-map-premium__button-icon svg {
        width: 27px;
        height: 27px;
    }

    .resort-map-premium__button strong {
        font-size: 13px;
    }

    .resort-map-premium__arrow {
        width: 36px;
        height: 36px;

        font-size: 17px;
    }

    .resort-map-premium__hint {
        display: none;
    }

    .resort-map-premium__bottom {
        margin-top: 20px;
    }

    .resort-map-premium__bottom > div span {
        font-size: 8.5px;
    }

    .resort-map-premium__bottom > div i {
        width: 34px;
    }

    .resort-map-premium__bottom strong {
        font-size: 24px;
        line-height: 1.18;
    }

    .resort-map-premium__bottom p {
        padding-left: 0;

        font-size: 10.5px;
    }

    .resort-map-premium__bottom p::before {
        display: none;
    }

}

/* =========================================================
 * 31.1 СХЕМА КУРОРТА — ТОЧНАЯ ДОВОДКА ПОД МАКЕТ
 * ========================================================= */

/* Главная проблема прошлого варианта — блок был слишком узким */
.sv-infra > .container {
    width: calc(100% - 80px) !important;
    max-width: 1420px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}


/* Сам светлый блок делаем шире и ниже */
.resort-map-premium {
    margin: 48px 0 8px !important;

    padding:
        32px
        26px
        26px !important;

    border-radius: 28px !important;
}


/* Верхняя часть — ближе к макету */
.resort-map-premium__head {
    grid-template-columns:
        minmax(470px, 1.05fr)
        minmax(500px, 1.15fr)
        minmax(150px, 0.34fr) !important;

    align-items: center !important;

    gap: 28px !important;

    margin-bottom: 26px !important;
}


/* Заголовок в одну строку */
.resort-map-premium__heading h2 {
    width: max-content !important;
    max-width: none !important;

    font-size:
        clamp(
            52px,
            4.15vw,
            66px
        ) !important;

    line-height: 0.98 !important;

    white-space: nowrap !important;
}


/* Подзаголовок как в макете */
.resort-map-premium__heading p {
    max-width: 520px !important;

    font-size: 14px !important;
}


/* Иконки и подписи немного крупнее */
.resort-map-premium__stats {
    gap: 18px !important;
}

.resort-map-stat__icon {
    width: 42px !important;
    height: 42px !important;

    margin-bottom: 5px !important;
}

.resort-map-stat__icon svg {
    width: 36px !important;
    height: 36px !important;
}

.resort-map-stat strong {
    font-size: 20px !important;
}

.resort-map-stat span {
    font-size: 11px !important;
    line-height: 1.35 !important;
}


/* Рукописный акцент справа */
.resort-map-premium__signature {
    padding-left: 20px !important;

    font-size: 20px !important;
    line-height: 1.38 !important;
}


/* Карта — максимально панорамная */
.resort-map-premium__card {
    padding: 12px !important;

    border-radius: 26px !important;
}

.resort-map-premium__image {
    height:
        clamp(
            420px,
            33vw,
            485px
        ) !important;

    border-radius: 19px !important;
}

.resort-map-premium__image img {
    object-fit: cover !important;
    object-position: center 16% !important;
}


/* Нижняя панель под картой */
.resort-map-premium__footer {
    grid-template-columns:
        minmax(470px, auto)
        minmax(300px, 1fr) !important;

    gap: 48px !important;

    padding:
        16px
        22px
        5px !important;
}


/* Стрелка должна быть рядом с текстом, а не уезжать в центр */
.resort-map-premium__button {
    grid-template-columns:
        40px
        auto
        46px !important;

    justify-content: start !important;

    gap: 18px !important;
}

.resort-map-premium__button strong {
    font-size: 17px !important;
}

.resort-map-premium__arrow {
    width: 44px !important;
    height: 44px !important;
}

.resort-map-premium__hint {
    max-width: 390px !important;

    padding-left: 34px !important;

    font-size: 12px !important;
}


/* Нижний слоган — одна строка, как на макете */
.resort-map-premium__bottom {
    grid-template-columns:
        280px
        minmax(560px, 1fr)
        minmax(260px, 0.55fr) !important;

    gap: 28px !important;

    margin-top: 27px !important;
}

.resort-map-premium__bottom strong {
    white-space: nowrap !important;

    font-size:
        clamp(
            27px,
            2.15vw,
            34px
        ) !important;
}

.resort-map-premium__bottom p {
    max-width: 300px !important;
}


/* =========================================================
 * ПЛАНШЕТ
 * ========================================================= */

@media (max-width: 1180px) {

    .resort-map-premium__head {
        grid-template-columns:
            minmax(390px, 0.95fr)
            minmax(440px, 1.05fr) !important;
    }

    .resort-map-premium__signature {
        display: none !important;
    }

    .resort-map-premium__heading h2 {
        white-space: normal !important;
    }

    .resort-map-premium__bottom {
        grid-template-columns:
            230px
            minmax(0, 1fr) !important;
    }

    .resort-map-premium__bottom strong {
        white-space: normal !important;
    }

}


/* =========================================================
 * МОБИЛЬНЫЕ
 * ========================================================= */

@media (max-width: 820px) {

    .sv-infra > .container {
        width: calc(100% - 32px) !important;
    }

    .resort-map-premium__head {
        grid-template-columns: 1fr !important;
    }

    .resort-map-premium__heading h2 {
        width: auto !important;
        white-space: normal !important;
    }

    .resort-map-premium__footer {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }

    .resort-map-premium__button {
        grid-template-columns:
            36px
            auto
            40px !important;
    }

    .resort-map-premium__bottom {
        display: block !important;
    }

    .resort-map-premium__bottom strong {
        white-space: normal !important;
    }

}

@media (max-width: 600px) {

    .sv-infra > .container {
        width: calc(100% - 24px) !important;
    }

    .resort-map-premium {
        padding:
            24px
            14px
            22px !important;
    }

    .resort-map-premium__image {
        height: 290px !important;
    }

}

/* =========================================================
 * 31.2 СХЕМА КУРОРТА — REFERENCE MATCH V3
 * Доводка под утверждённый макет
 * ========================================================= */

.resort-map-premium {
    margin: 52px 0 10px !important;
    padding: 38px 28px 0 !important;
    border-radius: 30px !important;

    background:
        radial-gradient(
            circle at 92% 7%,
            rgba(201, 162, 113, 0.09) 0%,
            rgba(201, 162, 113, 0) 28%
        ),
        linear-gradient(
            135deg,
            #fbf8f2 0%,
            #f6f1e9 100%
        ) !important;
}

.resort-map-premium::before {
    display: none !important;
}


/* Верхняя композиция */

.resort-map-premium__head {
    grid-template-columns:
        minmax(500px, 1.08fr)
        minmax(520px, 1.10fr)
        minmax(190px, 0.36fr) !important;

    align-items: center !important;
    gap: 30px !important;
    margin-bottom: 30px !important;
}

.resort-map-premium__heading h2 {
    font-size: clamp(56px, 4.45vw, 72px) !important;
    line-height: 0.96 !important;
    letter-spacing: -0.04em !important;
}

.resort-map-premium__heading p {
    margin-top: 17px !important;
    max-width: 560px !important;
    font-size: 15px !important;
    line-height: 1.48 !important;
}

.resort-map-premium__eyebrow {
    margin-bottom: 18px !important;
}

.resort-map-premium__eyebrow span {
    font-size: 10.5px !important;
    letter-spacing: 0.24em !important;
}

.resort-map-premium__eyebrow i {
    width: 62px !important;
}


/* Иконки и подписи */

.resort-map-premium__stats {
    gap: 22px !important;
    align-items: start !important;
}

.resort-map-stat__icon {
    width: 48px !important;
    height: 48px !important;
    margin-bottom: 7px !important;
}

.resort-map-stat__icon svg {
    width: 41px !important;
    height: 41px !important;
}

.resort-map-stat strong {
    margin-bottom: 5px !important;
    font-size: 21px !important;
}

.resort-map-stat span {
    font-size: 11px !important;
    line-height: 1.32 !important;
}


/* Рукописная фраза */

.resort-map-premium__signature {
    padding-left: 22px !important;

    color: #b08b61 !important;

    font-family:
        "Caveat",
        cursive !important;

    font-size: 29px !important;
    line-height: 1.02 !important;
    font-weight: 500 !important;

    transform: rotate(-5deg) !important;
}


/* Карта */

.resort-map-premium__card {
    padding: 12px !important;
    border-radius: 25px 25px 22px 22px !important;

    background:
        rgba(255, 255, 255, 0.62) !important;
}

.resort-map-premium__image {
    height: clamp(430px, 35vw, 505px) !important;
    border-radius: 18px !important;
}

.resort-map-premium__image img {
    object-position: center 14% !important;
}


/* Панель под картой — 3 секции как в референсе */

.resort-map-premium__footer {
    grid-template-columns:
        minmax(430px, 0.95fr)
        minmax(390px, 1.05fr)
        minmax(190px, 0.42fr) !important;

    align-items: center !important;

    gap: 0 !important;

    padding:
        16px
        18px
        7px !important;
}

.resort-map-premium__button {
    grid-template-columns:
        42px
        auto
        48px !important;

    gap: 18px !important;

    padding-right: 34px !important;
}

.resort-map-premium__button strong {
    font-size: 17px !important;
}

.resort-map-premium__button-icon {
    width: 40px !important;
    height: 40px !important;
}

.resort-map-premium__button-icon svg {
    width: 33px !important;
    height: 33px !important;
}

.resort-map-premium__arrow {
    width: 46px !important;
    height: 46px !important;
}


/* Средняя подсказка */

.resort-map-premium__hint {
    max-width: none !important;

    padding:
        2px
        34px !important;

    border-left:
        1px solid rgba(171, 129, 79, 0.26);

    border-right:
        1px solid rgba(171, 129, 79, 0.26);

    color: #7a817c !important;

    font-size: 12px !important;
    line-height: 1.55 !important;
}

.resort-map-premium__hint::before {
    display: none !important;
}


/* Скачать схему */

.resort-map-premium__download {
    display: flex;
    align-items: center;
    justify-content: flex-end;

    gap: 12px;

    min-width: 0;

    padding-left: 30px;

    color: #17261e;

    text-decoration: none !important;
}

.resort-map-premium__download-icon {
    width: 34px;
    height: 34px;

    display: flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 34px;

    color: #263b2e;
}

.resort-map-premium__download-icon svg {
    width: 30px;
    height: 30px;
}

.resort-map-premium__download > span:last-child {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.resort-map-premium__download strong {
    color: #17261e;

    font-family: "Manrope", sans-serif;
    font-size: 13px;
    line-height: 1.25;
    font-weight: 650;
}

.resort-map-premium__download small {
    margin-top: 2px;

    color: #7e857f;

    font-family: "Manrope", sans-serif;
    font-size: 9.5px;
    line-height: 1;
    font-weight: 500;
    letter-spacing: 0.08em;
}


/* Нижний пейзажный блок */

.resort-map-premium__bottom {
    position: relative;

    grid-template-columns:
        260px
        minmax(560px, 1fr)
        minmax(300px, 0.70fr) !important;

    align-items: end !important;

    gap: 34px !important;

    min-height: 150px;

    margin:
        0
        -28px !important;

    padding:
        68px
        28px
        28px !important;

    overflow: hidden;
}

.resort-map-premium__bottom::before {
    content: "";

    position: absolute;
    inset: 24px 0 0;

    z-index: -2;

    background:
        linear-gradient(
            180deg,
            rgba(247, 242, 233, 0.96) 0%,
            rgba(247, 242, 233, 0.72) 30%,
            rgba(247, 242, 233, 0.28) 100%
        ),
        url("https://chalet74.ru/wp-content/uploads/2026/09/mountin.png")
        center 58% / cover no-repeat;

    opacity: 0.28;
}

.resort-map-premium__bottom::after {
    content: "";

    position: absolute;
    inset: 0;

    z-index: -1;

    background:
        linear-gradient(
            180deg,
            rgba(248, 244, 237, 0.96) 0%,
            rgba(248, 244, 237, 0.58) 48%,
            rgba(248, 244, 237, 0.78) 100%
        );
}

.resort-map-premium__bottom strong {
    white-space: nowrap !important;

    font-size: clamp(28px, 2.25vw, 35px) !important;
    line-height: 1.10 !important;
}

.resort-map-premium__bottom p {
    max-width: 330px !important;

    margin-bottom: 3px !important;

    color: #6f7771 !important;

    font-size: 10.5px !important;
}


/* Hover */

@media (min-width: 1025px) {

    .resort-map-premium__download {
        transition:
            transform 0.22s ease,
            opacity 0.22s ease;
    }

    .resort-map-premium__download:hover {
        transform: translateY(-1px);
        opacity: 0.82;
    }

}


/* Планшет */

@media (max-width: 1200px) {

    .resort-map-premium__head {
        grid-template-columns:
            minmax(410px, 0.92fr)
            minmax(470px, 1.08fr) !important;
    }

    .resort-map-premium__signature {
        display: none !important;
    }

    .resort-map-premium__footer {
        grid-template-columns:
            minmax(360px, 0.95fr)
            minmax(320px, 1.05fr) !important;
    }

    .resort-map-premium__download {
        grid-column: 1 / -1;

        justify-content: flex-start;

        margin-top: 11px;

        padding:
            12px
            0
            0
            4px;

        border-top:
            1px solid rgba(171, 129, 79, 0.18);
    }

    .resort-map-premium__hint {
        border-right: 0;
    }

    .resort-map-premium__bottom {
        grid-template-columns:
            220px
            minmax(0, 1fr) !important;
    }

    .resort-map-premium__bottom p {
        grid-column: 1 / -1;
        margin-left: auto;
    }

}


/* Мобильные */

@media (max-width: 820px) {

    .resort-map-premium {
        padding:
            28px
            18px
            0 !important;
    }

    .resort-map-premium__head {
        grid-template-columns: 1fr !important;
    }

    .resort-map-premium__heading h2 {
        font-size: 44px !important;
    }

    .resort-map-premium__heading p {
        margin-top: 12px !important;
        font-size: 13px !important;
    }

    .resort-map-premium__footer {
        grid-template-columns: 1fr !important;
        gap: 0 !important;
    }

    .resort-map-premium__button {
        padding-right: 0 !important;
    }

    .resort-map-premium__hint {
        margin:
            12px
            0
            0 !important;

        padding:
            12px
            0
            0 !important;

        border:
            0 !important;

        border-top:
            1px solid rgba(171, 129, 79, 0.18) !important;
    }

    .resort-map-premium__download {
        margin-top: 12px;

        padding:
            12px
            0
            0 !important;
    }

    .resort-map-premium__bottom {
        display: block !important;

        min-height: 0;

        margin:
            0
            -18px !important;

        padding:
            56px
            18px
            24px !important;
    }

    .resort-map-premium__bottom strong {
        white-space: normal !important;
    }

}


@media (max-width: 600px) {

    .resort-map-premium__heading h2 {
        font-size: 38px !important;
    }

    .resort-map-premium__stats {
        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;

        gap:
            20px
            12px !important;
    }

    .resort-map-premium__image {
        height: 300px !important;
    }

    .resort-map-premium__button {
        grid-template-columns:
            34px
            minmax(0, 1fr)
            40px !important;

        gap: 10px !important;
    }

    .resort-map-premium__button strong {
        font-size: 13px !important;
    }

}

/* =========================================================
 * 31.3 СХЕМА КУРОРТА — FINAL POLISH
 * Финальная доводка после просмотра на сайте
 * ========================================================= */

/* Немного компактнее весь блок: карта остаётся главным акцентом */
.resort-map-premium {
    padding-top: 34px !important;
}

.resort-map-premium__head {
    margin-bottom: 24px !important;
}

/* Декоративная подпись — тише и ближе к общей композиции */
.resort-map-premium__signature {
    padding-left: 18px !important;
    border-left-color: rgba(176, 139, 97, 0.24) !important;
    color: rgba(176, 139, 97, 0.76) !important;
    font-size: 25px !important;
    line-height: 1.02 !important;
    transform: rotate(-4deg) translateY(3px) !important;
}

/* Карта становится визуально главным элементом */
.resort-map-premium__card {
    box-shadow:
        0 16px 34px rgba(39, 52, 42, 0.065) !important;
}

.resort-map-premium__image {
    height: clamp(440px, 35vw, 510px) !important;
}

/* Нижняя панель — чище и легче */
.resort-map-premium__footer {
    padding-top: 14px !important;
    padding-bottom: 5px !important;
}

.resort-map-premium__hint {
    color: rgba(92, 102, 95, 0.72) !important;
    font-size: 11.5px !important;
}

/* Скачать — второстепенное действие */
.resort-map-premium__download {
    opacity: 0.72;
}

.resort-map-premium__download strong {
    font-size: 12px !important;
    font-weight: 600 !important;
}

.resort-map-premium__download small {
    font-size: 8.5px !important;
}

.resort-map-premium__download-icon {
    width: 30px !important;
    height: 30px !important;
    flex-basis: 30px !important;
}

.resort-map-premium__download-icon svg {
    width: 26px !important;
    height: 26px !important;
}

/* Нижняя фраза теперь работает как спокойный переход к следующему блоку */
.resort-map-premium__bottom {
    min-height: 112px !important;
    padding-top: 50px !important;
    padding-bottom: 22px !important;
}

.resort-map-premium__bottom::before {
    inset: 18px 0 0 !important;
    opacity: 0.19 !important;
    background-position: center 56% !important;
}

.resort-map-premium__bottom::after {
    background:
        linear-gradient(
            180deg,
            rgba(248, 244, 237, 0.98) 0%,
            rgba(248, 244, 237, 0.62) 48%,
            rgba(248, 244, 237, 0.88) 100%
        ) !important;
}

.resort-map-premium__bottom strong {
    font-size: clamp(26px, 2vw, 32px) !important;
    letter-spacing: -0.02em !important;
}

.resort-map-premium__bottom p {
    opacity: 0.78;
}

/* Верхние иконки немного спокойнее — не спорят с картой */
.resort-map-stat__icon {
    color: rgba(32, 56, 43, 0.82) !important;
}

.resort-map-stat strong {
    color: rgba(24, 37, 29, 0.92) !important;
}

.resort-map-stat span {
    color: rgba(96, 106, 99, 0.82) !important;
}

/* На средних экранах рукописный акцент лучше убрать, чем сжимать */
@media (max-width: 1280px) {
    .resort-map-premium__head {
        grid-template-columns:
            minmax(470px, 0.98fr)
            minmax(500px, 1.02fr) !important;
    }

    .resort-map-premium__signature {
        display: none !important;
    }
}

@media (max-width: 820px) {
    .resort-map-premium__image {
        height: 360px !important;
    }

    .resort-map-premium__bottom {
        padding-top: 46px !important;
        padding-bottom: 20px !important;
    }
}

@media (max-width: 600px) {
    .resort-map-premium__image {
        height: 300px !important;
    }

    .resort-map-premium__bottom {
        padding-top: 40px !important;
    }
}

/* =========================================================
 * 32. ЕДИНАЯ ШИРИНА ВСЕХ ОСНОВНЫХ БЛОКОВ — FINAL
 * Общая ось сайта: 1420px
 * ========================================================= */

/*
 * ВАЖНО:
 * этот блок должен находиться В САМОМ КОНЦЕ style.css,
 * чтобы перекрыть старые ограничения 1280 / 1440 / 1540 px.
 */

:root {
    --site-content-max: 1420px;
    --site-content-gap-desktop: 80px;
    --site-content-gap-tablet: 48px;
    --site-content-gap-mobile: 28px;
}


/* =========================================================
 * DESKTOP — одна общая ширина
 * ========================================================= */

.advantages > .container,
.about > .container,
.content-section > .container,
.sv-infra > .container,
.sv-infra--editorial > .container,
.nearby-premium > .container,
.location-benefits > .container,
.testimonials > .container,
.testimonials .container,
.faq-section > .container,
.location-section > .container,
.callback-section > .container {
    width:
        calc(
            100% - var(--site-content-gap-desktop)
        ) !important;

    max-width:
        var(--site-content-max) !important;

    margin-left: auto !important;
    margin-right: auto !important;

    box-sizing: border-box !important;
}


/* =========================================================
 * УБИРАЕМ ВНУТРЕННИЕ ОГРАНИЧИТЕЛИ,
 * КОТОРЫЕ ВИЗУАЛЬНО ДЕЛАЛИ БЛОКИ РАЗНОЙ ШИРИНЫ
 * ========================================================= */

.sv-infra-premium,
.resort-map-premium,
.nearby-premium__head,
.nearby-premium__grid,
.about .images-slider-container,
.about .details-modern,
.about .stay-rules,
.testimonials .title-wrapper,
.testimonials .row,
.testimonials .button-wrapper-bottom,
.faq-section .accordion-block,
.location-section > .container > .row,
.callback-section .callback-wrapper {
    width: 100% !important;
    max-width: none !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    box-sizing: border-box !important;
}


/*
 * Старое правило делало схему уже остальных блоков.
 * Теперь схема идёт точно по общей оси сайта.
 */
.content-section .scheme-map,
.sv-infra .sv-infra__scheme {
    width: 100% !important;
    max-width: none !important;

    margin-left: 0 !important;
    margin-right: 0 !important;
}


/* У нового блока схемы никаких дополнительных сужений */
.resort-map-premium__inner,
.resort-map-premium__card,
.resort-map-premium__image {
    width: 100% !important;
    max-width: none !important;

    box-sizing: border-box !important;
}


/* =========================================================
 * TABLET
 * ========================================================= */

@media (max-width: 1024px) {

    .advantages > .container,
    .about > .container,
    .content-section > .container,
    .sv-infra > .container,
    .sv-infra--editorial > .container,
    .nearby-premium > .container,
    .location-benefits > .container,
    .testimonials > .container,
    .testimonials .container,
    .faq-section > .container,
    .location-section > .container,
    .callback-section > .container {
        width:
            calc(
                100% - var(--site-content-gap-tablet)
            ) !important;

        max-width: none !important;
    }

}


/* =========================================================
 * MOBILE
 * ========================================================= */

@media (max-width: 650px) {

    .advantages > .container,
    .about > .container,
    .content-section > .container,
    .sv-infra > .container,
    .sv-infra--editorial > .container,
    .nearby-premium > .container,
    .location-benefits > .container,
    .testimonials > .container,
    .testimonials .container,
    .faq-section > .container,
    .location-section > .container,
    .callback-section > .container {
        width:
            calc(
                100% - var(--site-content-gap-mobile)
            ) !important;

        max-width: none !important;
    }

}

/* =========================================================
 * 33. ПОСЛЕ ИНФРАСТРУКТУРЫ — ЕДИНАЯ ШИРИНА
 * Верх сайта НЕ ТРОГАЕМ.
 *
 * Эталон: текущая ширина блока «Инфраструктура»
 * desktop: max 1420px / по 40px от краёв
 * tablet:  по 24px
 * mobile:  по 14px
 * ========================================================= */

:root {
    --after-infra-max: 1420px;
    --after-infra-gap-desktop: 80px;
    --after-infra-gap-tablet: 48px;
    --after-infra-gap-mobile: 28px;
}


/* =========================================================
 * 1. СХЕМА КУРОРТА
 * Она находится внутри контейнера инфраструктуры —
 * просто запрещаем ей дополнительно сужаться.
 * ========================================================= */

.resort-map-premium,
.resort-map-premium__inner,
.resort-map-premium__card {
    width: 100% !important;
    max-width: none !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    box-sizing: border-box !important;
}


/* =========================================================
 * 2. «ВСЁ ДЛЯ ОТДЫХА — РЯДОМ»
 * Фон секции остаётся во всю ширину.
 * Внутренний контент идёт по той же оси, что инфраструктура.
 * ========================================================= */

.nearby-premium > .container {
    width:
        calc(
            100% - var(--after-infra-gap-desktop)
        ) !important;

    max-width:
        var(--after-infra-max) !important;

    margin-left: auto !important;
    margin-right: auto !important;

    padding-left: 0 !important;
    padding-right: 0 !important;

    box-sizing: border-box !important;
}

.nearby-premium__head,
.nearby-premium__grid {
    width: 100% !important;
    max-width: none !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    box-sizing: border-box !important;
}


/* =========================================================
 * 3. ОТЗЫВЫ
 * Здесь сам тёмный premium-блок делаем такой же ширины,
 * как «Инфраструктура».
 * ========================================================= */

.testimonials {
    width:
        calc(
            100% - var(--after-infra-gap-desktop)
        ) !important;

    max-width:
        var(--after-infra-max) !important;

    margin-left: auto !important;
    margin-right: auto !important;

    border-radius: 30px !important;

    box-sizing: border-box !important;
}

.testimonials > .container,
.testimonials .container {
    width: 100% !important;
    max-width: none !important;

    margin-left: auto !important;
    margin-right: auto !important;

    padding-left: 40px !important;
    padding-right: 40px !important;

    box-sizing: border-box !important;
}

.testimonials .title-wrapper,
.testimonials .row,
.testimonials .button-wrapper-bottom {
    width: 100% !important;
    max-width: none !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    box-sizing: border-box !important;
}


/* =========================================================
 * 4. FAQ
 * Фон может быть широким, контент строго по общей оси.
 * ========================================================= */

.faq-section > .container {
    width:
        calc(
            100% - var(--after-infra-gap-desktop)
        ) !important;

    max-width:
        var(--after-infra-max) !important;

    margin-left: auto !important;
    margin-right: auto !important;

    padding-left: 0 !important;
    padding-right: 0 !important;

    box-sizing: border-box !important;
}

.faq-section .accordion-block {
    width: 100% !important;
    max-width: none !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    box-sizing: border-box !important;
}


/* =========================================================
 * 5. ЛОКАЦИЯ + КАРТА
 * ========================================================= */

.location-section > .container {
    width:
        calc(
            100% - var(--after-infra-gap-desktop)
        ) !important;

    max-width:
        var(--after-infra-max) !important;

    margin-left: auto !important;
    margin-right: auto !important;

    padding-left: 0 !important;
    padding-right: 0 !important;

    box-sizing: border-box !important;
}

.location-section > .container > .row {
    width: 100% !important;
    max-width: none !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    box-sizing: border-box !important;
}


/* =========================================================
 * 6. «СВЯЖИТЕСЬ С НАМИ»
 * Светлый фон секции остаётся на весь экран,
 * а сама карточка становится ровно как инфраструктура.
 * ========================================================= */

.callback-section > .container {
    width:
        calc(
            100% - var(--after-infra-gap-desktop)
        ) !important;

    max-width:
        var(--after-infra-max) !important;

    margin-left: auto !important;
    margin-right: auto !important;

    padding-left: 0 !important;
    padding-right: 0 !important;

    box-sizing: border-box !important;
}

.callback-section .callback-wrapper,
.callback-section .callback-wrapper > .row {
    width: 100% !important;
    max-width: none !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    box-sizing: border-box !important;
}


/* =========================================================
 * TABLET
 * ========================================================= */

@media (max-width: 1024px) {

    .nearby-premium > .container,
    .faq-section > .container,
    .location-section > .container,
    .callback-section > .container {
        width:
            calc(
                100% - var(--after-infra-gap-tablet)
            ) !important;

        max-width: none !important;
    }

    .testimonials {
        width:
            calc(
                100% - var(--after-infra-gap-tablet)
            ) !important;

        max-width: none !important;
    }

    .testimonials > .container,
    .testimonials .container {
        padding-left: 30px !important;
        padding-right: 30px !important;
    }

}


/* =========================================================
 * MOBILE
 * ========================================================= */

@media (max-width: 650px) {

    .nearby-premium > .container,
    .faq-section > .container,
    .location-section > .container,
    .callback-section > .container {
        width:
            calc(
                100% - var(--after-infra-gap-mobile)
            ) !important;

        max-width: none !important;
    }

    .testimonials {
        width:
            calc(
                100% - var(--after-infra-gap-mobile)
            ) !important;

        max-width: none !important;

        border-radius: 22px !important;
    }

    .testimonials > .container,
    .testimonials .container {
        padding-left: 18px !important;
        padding-right: 18px !important;
    }

}

/* =========================================================
 * 34. ФИКС ШИРИНЫ — «ВСЁ ДЛЯ ОТДЫХА» + «СВЯЖИТЕСЬ С НАМИ»
 * Делаем сам ВИДИМЫЙ блок той же ширины, что «Инфраструктура».
 * ========================================================= */

/* ---------------------------------------------------------
 * ВСЁ ДЛЯ ОТДЫХА — РЯДОМ
 * --------------------------------------------------------- */

.nearby-premium {
    width: calc(100% - 80px) !important;
    max-width: 1420px !important;

    margin-left: auto !important;
    margin-right: auto !important;

    border-radius: 30px !important;
    overflow: hidden !important;

    box-sizing: border-box !important;
}

.nearby-premium > .container {
    width: 100% !important;
    max-width: none !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    padding-left: 28px !important;
    padding-right: 28px !important;

    box-sizing: border-box !important;
}


/* ---------------------------------------------------------
 * СВЯЖИТЕСЬ С НАМИ
 * --------------------------------------------------------- */

.callback-section {
    width: calc(100% - 80px) !important;
    max-width: 1420px !important;

    margin-left: auto !important;
    margin-right: auto !important;

    border-radius: 30px !important;
    overflow: hidden !important;

    box-sizing: border-box !important;
}

.callback-section > .container {
    width: 100% !important;
    max-width: none !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    padding-left: 28px !important;
    padding-right: 28px !important;

    box-sizing: border-box !important;
}

.callback-section .callback-wrapper {
    width: 100% !important;
    max-width: none !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    box-sizing: border-box !important;
}


/* =========================================================
 * TABLET
 * ========================================================= */

@media (max-width: 1024px) {

    .nearby-premium,
    .callback-section {
        width: calc(100% - 48px) !important;
        max-width: none !important;

        border-radius: 26px !important;
    }

    .nearby-premium > .container,
    .callback-section > .container {
        padding-left: 22px !important;
        padding-right: 22px !important;
    }

}


/* =========================================================
 * MOBILE
 * ========================================================= */

@media (max-width: 650px) {

    .nearby-premium,
    .callback-section {
        width: calc(100% - 28px) !important;
        max-width: none !important;

        border-radius: 22px !important;
    }

    .nearby-premium > .container,
    .callback-section > .container {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

}

/* =========================================================
 * 35. ПОВТОРНЫЙ БЛОК БРОНИРОВАНИЯ HOMERESERVE
 * После отзывов, перед FAQ/формами
 * ========================================================= */

.booking-repeat {
    margin: 48px 0 54px;
}

.booking-repeat__container {
    width: calc(100% - 80px);
    max-width: 1420px;

    margin: 0 auto;

    padding:
        34px
        34px
        30px;

    border:
        1px solid rgba(49, 68, 53, 0.07);

    border-radius: 30px;

    background:
        radial-gradient(
            circle at 90% 8%,
            rgba(198, 154, 101, 0.08) 0%,
            rgba(198, 154, 101, 0) 28%
        ),
        linear-gradient(
            135deg,
            #fbf8f2 0%,
            #f5f0e7 100%
        );

    box-shadow:
        0 20px 48px rgba(46, 59, 49, 0.07);

    box-sizing: border-box;
}

.booking-repeat__head {
    max-width: 780px;

    margin-bottom: 24px;
}

.booking-repeat__eyebrow {
    margin-bottom: 12px;

    color: #a77f51;

    font-family: "Manrope", sans-serif;
    font-size: 10px;
    line-height: 1;
    font-weight: 700;

    letter-spacing: 0.24em;
}

.booking-repeat__head h2 {
    margin:
        0
        0
        12px !important;

    color: #1d3528 !important;

    font-family:
        "Prata",
        Georgia,
        "Times New Roman",
        serif !important;

    font-size:
        clamp(
            38px,
            3.2vw,
            52px
        ) !important;

    line-height: 1.02 !important;
    font-weight: 400 !important;

    letter-spacing: -0.03em !important;
}

.booking-repeat__head p {
    max-width: 660px;

    margin: 0;

    color: #667069;

    font-family: "Manrope", sans-serif;
    font-size: 14px;
    line-height: 1.55;
}


/* Сам внешний виджет не сужаем */
.booking-repeat [data-instance-id="search-bottom"] {
    width: 100%;

    margin: 0;

    box-sizing: border-box;
}


/* TABLET */

@media (max-width: 1024px) {

    .booking-repeat {
        margin:
            38px
            0
            44px;
    }

    .booking-repeat__container {
        width: calc(100% - 48px);

        padding:
            28px
            24px
            24px;

        border-radius: 26px;
    }

}


/* MOBILE */

@media (max-width: 650px) {

    .booking-repeat {
        margin:
            30px
            0
            36px;
    }

    .booking-repeat__container {
        width: calc(100% - 28px);

        padding:
            24px
            14px
            20px;

        border-radius: 22px;
    }

    .booking-repeat__head {
        margin-bottom: 18px;
    }

    .booking-repeat__head h2 {
        font-size: 34px !important;
    }

    .booking-repeat__head p {
        font-size: 13px;
    }

}

/* =========================================================
 * 35.1 ПОВТОРНЫЙ БЛОК БРОНИРОВАНИЯ — PREMIUM V2
 * ========================================================= */

.booking-repeat {
    margin: 54px 0 58px !important;
}

.booking-repeat__container {
    position: relative;
    isolation: isolate;

    width: calc(100% - 80px) !important;
    max-width: 1420px !important;

    margin: 0 auto !important;

    padding: 40px 42px 28px !important;

    overflow: hidden;

    border: 1px solid rgba(42, 61, 47, 0.07) !important;
    border-radius: 30px !important;

    background:
        radial-gradient(
            circle at 91% 8%,
            rgba(201, 157, 105, 0.11) 0%,
            rgba(201, 157, 105, 0) 29%
        ),
        linear-gradient(
            135deg,
            #fbf8f2 0%,
            #f5efe5 100%
        ) !important;

    box-shadow: 0 24px 58px rgba(39, 53, 43, 0.075) !important;
}

/* контур гор внизу */
.booking-repeat__container::before {
    content: \"\";
    position: absolute;
    left: -4%;
    right: -4%;
    bottom: -38px;
    z-index: -1;
    height: 150px;
    opacity: 0.12;
    background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1400 170'%3E%3Cg fill='none' stroke='%236d7b70' stroke-opacity='.78' stroke-width='1'%3E%3Cpath d='M0 154L120 96l63 37 94-73 105 67 88-42 118 66 103-92 93 66 112-58 99 56 132-84 193 116'/%3E%3Cpath d='M0 166l165-38 88 25 136-58 126 53 117-31 123 40 107-63 116 40 119-30 203 60'/%3E%3C/g%3E%3C/svg%3E\");
    background-size: cover;
    background-position: center bottom;
    background-repeat: no-repeat;
    pointer-events: none;
}

.booking-repeat__top {
    display: grid;
    grid-template-columns: minmax(0, 1.22fr) minmax(390px, 0.78fr);
    align-items: end;
    gap: 54px;
    margin-bottom: 30px;
}

.booking-repeat__head {
    max-width: 800px !important;
    margin: 0 !important;
}

.booking-repeat__eyebrow {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 14px !important;
}

.booking-repeat__eyebrow span {
    color: #a57b4c;
    font-family: \"Manrope\", sans-serif;
    font-size: 10px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: 0.25em;
}

.booking-repeat__eyebrow i {
    width: 54px;
    height: 1px;
    display: block;
    background: rgba(165, 123, 76, 0.48);
}

.booking-repeat__head h2 {
    margin: 0 0 13px !important;
    color: #183126 !important;
    font-family: \"Prata\", Georgia, \"Times New Roman\", serif !important;
    font-size: clamp(46px, 4.15vw, 64px) !important;
    line-height: 0.99 !important;
    font-weight: 400 !important;
    letter-spacing: -0.04em !important;
}

.booking-repeat__head p {
    max-width: 670px !important;
    margin: 0 !important;
    color: #68726b !important;
    font-family: \"Manrope\", sans-serif;
    font-size: 14px !important;
    line-height: 1.55 !important;
}

.booking-repeat__aside {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 24px;
}

.booking-repeat__quote {
    max-width: 300px;
    padding-left: 22px;
    border-left: 1px solid rgba(173, 132, 83, 0.34);
    color: #aa8256;
    font-family: Georgia, \"Times New Roman\", serif;
    font-size: 21px;
    line-height: 1.28;
    font-style: italic;
    text-align: left;
    transform: rotate(-2deg);
}

.booking-repeat__perks {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.booking-repeat__perk {
    min-width: 0;
    padding: 12px 12px 11px;
    border: 1px solid rgba(45, 66, 51, 0.07);
    border-radius: 14px;
    background: rgba(255,255,255,0.45);
    text-align: center;
}

.booking-repeat__perk strong {
    display: block;
    margin-bottom: 3px;
    color: #203d2d;
    font-family: \"Prata\", Georgia, serif;
    font-size: 17px;
    font-weight: 400;
}

.booking-repeat__perk span {
    display: block;
    color: #7a817c;
    font-family: \"Manrope\", sans-serif;
    font-size: 9px;
    line-height: 1.25;
}

/* оболочка вокруг HomeReserve */
.booking-repeat__widget-shell {
    position: relative;
    padding: 28px 22px 22px;
    border: 1px solid rgba(47, 67, 52, 0.08);
    border-radius: 24px;
    background: rgba(255, 253, 248, 0.80);
    box-shadow:
        0 16px 34px rgba(37, 50, 40, 0.075),
        inset 0 1px 0 rgba(255,255,255,0.85);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
}

.booking-repeat__widget-label {
    position: absolute;
    top: 10px;
    right: 20px;
    color: #b08759;
    font-family: \"Manrope\", sans-serif;
    font-size: 8px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: 0.22em;
}

.booking-repeat [data-instance-id=\"search-bottom\"] {
    width: 100% !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

.booking-repeat__footnote {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-top: 16px;
    color: #7d847f;
    font-family: \"Manrope\", sans-serif;
    font-size: 10px;
    line-height: 1.4;
    letter-spacing: 0.04em;
}

.booking-repeat__footnote span {
    width: 36px;
    height: 1px;
    display: block;
    background: rgba(174, 132, 82, 0.42);
}

@media (max-width: 1100px) {
    .booking-repeat__top {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .booking-repeat__aside {
        align-items: flex-start;
    }

    .booking-repeat__quote {
        display: none;
    }

    .booking-repeat__perks {
        max-width: 520px;
    }
}

@media (max-width: 1024px) {
    .booking-repeat__container {
        width: calc(100% - 48px) !important;
        padding: 32px 26px 24px !important;
        border-radius: 26px !important;
    }
}

@media (max-width: 650px) {
    .booking-repeat {
        margin: 34px 0 40px !important;
    }

    .booking-repeat__container {
        width: calc(100% - 28px) !important;
        padding: 25px 14px 20px !important;
        border-radius: 22px !important;
    }

    .booking-repeat__eyebrow span {
        font-size: 8.5px;
    }

    .booking-repeat__eyebrow i {
        width: 34px;
    }

    .booking-repeat__head h2 {
        font-size: 36px !important;
    }

    .booking-repeat__head p {
        font-size: 13px !important;
    }

    .booking-repeat__perks {
        grid-template-columns: 1fr 1fr 1fr;
        gap: 6px;
    }

    .booking-repeat__perk {
        padding: 10px 6px;
        border-radius: 12px;
    }

    .booking-repeat__perk strong {
        font-size: 15px;
    }

    .booking-repeat__perk span {
        font-size: 8px;
    }

    .booking-repeat__widget-shell {
        padding: 24px 8px 10px;
        border-radius: 17px;
    }

    .booking-repeat__widget-label {
        right: 11px;
        top: 9px;
        font-size: 7px;
    }

    .booking-repeat__footnote {
        align-items: flex-start;
        justify-content: flex-start;
        margin-top: 12px;
        padding: 0 4px;
        font-size: 9px;
    }
}

/* =========================================================
 * 35.2 БРОНИРОВАНИЕ — SCENIC PREMIUM FINAL
 * Фон + композиция под утверждённый макет
 * ========================================================= */

.booking-repeat--scenic {
    margin: 48px 0 54px !important;
}

.booking-repeat--scenic .booking-repeat__container {
    position: relative;
    isolation: isolate;

    width: calc(100% - 80px) !important;
    max-width: 1420px !important;

    min-height: 470px;

    margin: 0 auto !important;
    padding: 44px 44px 28px !important;

    overflow: hidden;

    border: 1px solid rgba(49, 68, 53, 0.08) !important;
    border-radius: 32px !important;

    background: #f6f1e8 !important;

    box-shadow:
        0 26px 62px rgba(40, 53, 43, 0.09) !important;
}

/* Фотография: разворачиваем так, чтобы шале оказалось справа */
.booking-repeat--scenic .booking-repeat__container::before {
    content: "";

    position: absolute;
    inset: 0;
    z-index: -3;

    background:
        url("https://chalet74.ru/wp-content/uploads/2026/09/booking-bg.png")
        center center / cover no-repeat;

    transform: scaleX(-1);
    transform-origin: center;

    opacity: 0.86;

    pointer-events: none;
}

/* Светлая вуаль: текст читается слева, фотография остаётся живой справа */
.booking-repeat--scenic .booking-repeat__container::after {
    content: "";

    position: absolute;
    inset: 0;
    z-index: -2;

    background:
        linear-gradient(
            90deg,
            rgba(249, 246, 239, 0.995) 0%,
            rgba(249, 246, 239, 0.98) 31%,
            rgba(249, 246, 239, 0.90) 48%,
            rgba(249, 246, 239, 0.56) 66%,
            rgba(249, 246, 239, 0.13) 100%
        ),
        linear-gradient(
            180deg,
            rgba(255,255,255,0.13) 0%,
            rgba(27,48,35,0.04) 100%
        );

    pointer-events: none;
}

/* Верхняя часть теперь строится как в макете: весь смысл слева */
.booking-repeat--scenic .booking-repeat__top {
    position: relative;

    display: block !important;

    min-height: 255px;

    margin-bottom: 28px !important;
}

.booking-repeat--scenic .booking-repeat__head {
    position: relative;
    z-index: 3;

    max-width: 760px !important;
    margin: 0 !important;
}

.booking-repeat--scenic .booking-repeat__eyebrow {
    display: flex;
    align-items: center;
    gap: 16px;

    margin-bottom: 17px !important;
}

.booking-repeat--scenic .booking-repeat__eyebrow span {
    color: #9f774a !important;

    font-family: "Manrope", sans-serif;
    font-size: 10px !important;
    line-height: 1;
    font-weight: 700;

    letter-spacing: 0.26em;
}

.booking-repeat--scenic .booking-repeat__eyebrow i {
    width: 58px !important;
    height: 1px !important;

    display: block;

    background: rgba(171, 128, 77, 0.50) !important;
}

.booking-repeat--scenic .booking-repeat__head h2 {
    max-width: 760px;

    margin: 0 0 17px !important;

    color: #173629 !important;

    font-family:
        "Prata",
        Georgia,
        "Times New Roman",
        serif !important;

    font-size: clamp(52px, 4.65vw, 72px) !important;
    line-height: 0.98 !important;
    font-weight: 400 !important;

    letter-spacing: -0.045em !important;
}

.booking-repeat--scenic .booking-repeat__head p {
    max-width: 720px !important;

    margin: 0 !important;

    color: #69736c !important;

    font-family: "Manrope", sans-serif;
    font-size: 14.5px !important;
    line-height: 1.55 !important;
}

/* Рукописная фраза справа поверх фотографии */
.booking-repeat--scenic .booking-repeat__quote {
    position: absolute;

    top: 22px;
    right: 12px;

    max-width: 230px !important;

    padding-left: 20px !important;

    border-left: 1px solid rgba(165, 126, 79, 0.38) !important;

    color: #9f7a50 !important;

    font-family: "Caveat", Georgia, cursive !important;
    font-size: 27px !important;
    line-height: 1.02 !important;
    font-style: normal !important;

    text-align: left !important;

    transform: rotate(-4deg) !important;
}

/* Преимущества отдельной полосой под заголовком */
.booking-repeat--scenic .booking-repeat__aside {
    position: static !important;

    display: block !important;

    width: 100%;

    margin-top: 34px;
}

.booking-repeat--scenic .booking-repeat__perks {
    width: 700px !important;
    max-width: 72% !important;

    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;

    gap: 22px !important;
}

.booking-repeat--scenic .booking-repeat__perk {
    position: relative;

    min-height: 70px;

    display: grid;
    grid-template-columns: 48px 1fr;
    grid-template-rows: auto auto;
    align-items: center;
    column-gap: 12px;

    padding: 8px 0 !important;

    border: 0 !important;
    border-radius: 0 !important;

    background: transparent !important;

    text-align: left !important;
}

.booking-repeat--scenic .booking-repeat__perk::before {
    content: "";

    grid-row: 1 / 3;

    width: 46px;
    height: 46px;

    display: block;

    border: 1px solid rgba(159, 119, 74, 0.10);
    border-radius: 50%;

    background:
        rgba(239, 226, 207, 0.76)
        center / 24px 24px no-repeat;
}

/* % */
.booking-repeat--scenic .booking-repeat__perk:nth-child(1)::before {
    background-image:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cg fill='none' stroke='%23475d50' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='10' cy='10' r='4'/%3E%3Ccircle cx='22' cy='22' r='4'/%3E%3Cpath d='M24 8L8 24'/%3E%3C/g%3E%3C/svg%3E");
}

/* shield */
.booking-repeat--scenic .booking-repeat__perk:nth-child(2)::before {
    background-image:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M16 4l9 4v7c0 6-3.8 10.6-9 13-5.2-2.4-9-7-9-13V8l9-4z' fill='none' stroke='%23475d50' stroke-width='1.8' stroke-linejoin='round'/%3E%3C/svg%3E");
}

/* headset */
.booking-repeat--scenic .booking-repeat__perk:nth-child(3)::before {
    background-image:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cg fill='none' stroke='%23475d50' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 18v-3a9 9 0 0118 0v3'/%3E%3Crect x='5' y='17' width='5' height='8' rx='2'/%3E%3Crect x='22' y='17' width='5' height='8' rx='2'/%3E%3Cpath d='M22 25c-1 2-3 3-6 3'/%3E%3C/g%3E%3C/svg%3E");
}

.booking-repeat--scenic .booking-repeat__perk strong {
    align-self: end;

    margin: 0 0 2px !important;

    color: #253e30 !important;

    font-family: "Prata", Georgia, serif !important;
    font-size: 17px !important;
    line-height: 1.12 !important;
    font-weight: 400 !important;
}

.booking-repeat--scenic .booking-repeat__perk span {
    align-self: start;

    color: #747d77 !important;

    font-family: "Manrope", sans-serif !important;
    font-size: 10px !important;
    line-height: 1.3 !important;
}

/* HomeReserve — отдельная стеклянная полоса */
.booking-repeat--scenic .booking-repeat__widget-shell {
    position: relative;
    z-index: 3;

    margin-top: 0 !important;

    padding: 20px 18px 15px !important;

    border: 1px solid rgba(52, 72, 57, 0.08) !important;
    border-radius: 22px !important;

    background: rgba(255, 253, 248, 0.88) !important;

    box-shadow:
        0 16px 36px rgba(36, 50, 40, 0.09),
        inset 0 1px 0 rgba(255,255,255,0.90) !important;

    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.booking-repeat--scenic .booking-repeat__widget-label {
    position: absolute;

    top: -24px !important;
    left: 2px !important;
    right: auto !important;

    color: #9f774a !important;

    font-family: "Manrope", sans-serif;
    font-size: 8px !important;
    line-height: 1;
    font-weight: 700;

    letter-spacing: 0.22em;
}

.booking-repeat--scenic [data-instance-id="search-top"],
.booking-repeat--scenic [data-instance-id="search-bottom"] {
    width: 100% !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

.booking-repeat--scenic .booking-repeat__footnote {
    position: relative;
    z-index: 3;

    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;

    gap: 14px !important;

    margin-top: 18px !important;

    color: #707a73 !important;

    font-family: "Manrope", sans-serif;
    font-size: 10.5px !important;
    line-height: 1.4 !important;

    letter-spacing: 0.02em !important;
}

.booking-repeat--scenic .booking-repeat__footnote span {
    width: 46px !important;
    height: 1px !important;

    display: block;

    background: rgba(174, 132, 82, 0.48) !important;
}

/* TABLET */
@media (max-width: 1100px) {

    .booking-repeat--scenic .booking-repeat__container {
        min-height: 0;
        padding: 36px 30px 26px !important;
    }

    .booking-repeat--scenic .booking-repeat__top {
        min-height: 0;
    }

    .booking-repeat--scenic .booking-repeat__quote {
        display: none !important;
    }

    .booking-repeat--scenic .booking-repeat__perks {
        max-width: 760px !important;
    }

}

@media (max-width: 1024px) {

    .booking-repeat--scenic .booking-repeat__container {
        width: calc(100% - 48px) !important;
        border-radius: 27px !important;
    }

}

/* MOBILE */
@media (max-width: 650px) {

    .booking-repeat--scenic {
        margin: 32px 0 38px !important;
    }

    .booking-repeat--scenic .booking-repeat__container {
        width: calc(100% - 28px) !important;

        padding: 26px 16px 20px !important;

        border-radius: 22px !important;
    }

    .booking-repeat--scenic .booking-repeat__container::before {
        background-position: 62% center;
        opacity: 0.42;
    }

    .booking-repeat--scenic .booking-repeat__container::after {
        background:
            linear-gradient(
                180deg,
                rgba(249,246,239,0.995) 0%,
                rgba(249,246,239,0.95) 56%,
                rgba(249,246,239,0.80) 100%
            );
    }

    .booking-repeat--scenic .booking-repeat__eyebrow span {
        font-size: 8.5px !important;
    }

    .booking-repeat--scenic .booking-repeat__eyebrow i {
        width: 34px !important;
    }

    .booking-repeat--scenic .booking-repeat__head h2 {
        font-size: 37px !important;
        line-height: 1.02 !important;
    }

    .booking-repeat--scenic .booking-repeat__head p {
        font-size: 13px !important;
    }

    .booking-repeat--scenic .booking-repeat__aside {
        margin-top: 24px;
    }

    .booking-repeat--scenic .booking-repeat__perks {
        width: 100% !important;
        max-width: none !important;

        grid-template-columns: 1fr !important;
        gap: 7px !important;
    }

    .booking-repeat--scenic .booking-repeat__perk {
        min-height: 54px;

        grid-template-columns: 40px 1fr;
        column-gap: 10px;
    }

    .booking-repeat--scenic .booking-repeat__perk::before {
        width: 38px;
        height: 38px;
        background-size: 20px 20px;
    }

    .booking-repeat--scenic .booking-repeat__widget-shell {
        margin-top: 30px !important;
        padding: 12px 7px 8px !important;
        border-radius: 17px !important;
    }

    .booking-repeat--scenic .booking-repeat__widget-label {
        top: -20px !important;
        font-size: 7px !important;
    }

    .booking-repeat--scenic .booking-repeat__footnote {
        align-items: flex-start !important;
        font-size: 9px !important;
    }

}

/* =========================================================
 * 35.3 БРОНИРОВАНИЕ — ВЫРАВНИВАНИЕ ПО ШИРИНЕ ШАПКИ
 * ========================================================= */

/* На desktop блок бронирования идёт по той же оси, что верхний баннер */
.booking-repeat--scenic .booking-repeat__container {
    width: calc(100% - 80px) !important;
    max-width: 1320px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Планшет */
@media (max-width: 1024px) {
    .booking-repeat--scenic .booking-repeat__container {
        width: calc(100% - 48px) !important;
        max-width: none !important;
    }
}

/* Мобильный */
@media (max-width: 650px) {
    .booking-repeat--scenic .booking-repeat__container {
        width: calc(100% - 28px) !important;
        max-width: none !important;
    }
}

/* =========================================================
 * 36. ВЕРТИКАЛЬНЫЙ РИТМ ВЕРХНИХ БЛОКОВ — FINAL
 * Убираем слишком большие белые промежутки между:
 * бронированием → «Почему именно мы» → «О шале» →
 * правилами проживания → инфраструктурой.
 * ========================================================= */

/* Верхний premium-блок бронирования */
.booking-repeat--top,
.booking-repeat--scenic.booking-repeat--top {
    margin-top: 34px !important;
    margin-bottom: 34px !important;
}

/* «Почему именно мы» */
#advantages,
.advantages {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 26px !important;
    padding-bottom: 42px !important;
}

/* Переход к блоку «О шале / Двухуровневые апартаменты» */
#about,
.about {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 34px !important;
    padding-bottom: 0 !important;
}

/* Между карточками «Почему именно мы» и заголовком «О шале» */
.advantages + .about {
    margin-top: 0 !important;
}

/* Правила проживания — без лишнего воздуха после карточек о шале */
.about .stay-rules,
.stay-rules {
    margin-top: 42px !important;
    margin-bottom: 0 !important;
}

/* Главное исправление: правила → инфраструктура */
.about + .sv-infra,
.sv-infra--editorial,
.sv-infra {
    margin-top: 36px !important;
}

/* Сохраняем нормальный отступ после инфраструктуры */
.sv-infra {
    margin-bottom: 44px !important;
}

/* TABLET */
@media (max-width: 1024px) {
    .booking-repeat--top,
    .booking-repeat--scenic.booking-repeat--top {
        margin-top: 28px !important;
        margin-bottom: 28px !important;
    }

    #advantages,
    .advantages {
        padding-top: 22px !important;
        padding-bottom: 34px !important;
    }

    #about,
    .about {
        padding-top: 28px !important;
    }

    .about .stay-rules,
    .stay-rules {
        margin-top: 34px !important;
    }

    .about + .sv-infra,
    .sv-infra--editorial,
    .sv-infra {
        margin-top: 30px !important;
    }
}

/* MOBILE */
@media (max-width: 650px) {
    .booking-repeat--top,
    .booking-repeat--scenic.booking-repeat--top {
        margin-top: 22px !important;
        margin-bottom: 22px !important;
    }

    #advantages,
    .advantages {
        padding-top: 18px !important;
        padding-bottom: 26px !important;
    }

    #about,
    .about {
        padding-top: 24px !important;
    }

    .about .stay-rules,
    .stay-rules {
        margin-top: 28px !important;
    }

    .about + .sv-infra,
    .sv-infra--editorial,
    .sv-infra {
        margin-top: 24px !important;
        margin-bottom: 32px !important;
    }
}

/* =========================================================
 * 37. ЕДИНАЯ ШИРИНА НИЖНИХ PREMIUM-БЛОКОВ — FINAL
 * Эталон: верхний баннер / бронирование = 1320px
 * Меняем только:
 * - Инфраструктура
 * - Схема курорта
 * - Всё для отдыха — рядом
 * - Отзывы
 * - Свяжитесь с нами
 * ========================================================= */

:root {
    --premium-section-max: 1320px;
    --premium-section-gap-desktop: 80px;
    --premium-section-gap-tablet: 48px;
    --premium-section-gap-mobile: 28px;
}

/* ---------------------------------------------------------
 * ИНФРАСТРУКТУРА + СХЕМА КУРОРТА
 * Схема находится внутри этого же контейнера.
 * --------------------------------------------------------- */

.sv-infra > .container,
.sv-infra--editorial > .container {
    width: calc(100% - var(--premium-section-gap-desktop)) !important;
    max-width: var(--premium-section-max) !important;

    margin-left: auto !important;
    margin-right: auto !important;

    padding-left: 0 !important;
    padding-right: 0 !important;

    box-sizing: border-box !important;
}

.sv-infra-premium,
.resort-map-premium,
.resort-map-premium__inner,
.resort-map-premium__card {
    width: 100% !important;
    max-width: none !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    box-sizing: border-box !important;
}


/* ---------------------------------------------------------
 * ВСЁ ДЛЯ ОТДЫХА — РЯДОМ
 * Визуальный блок такой же ширины, как остальные.
 * --------------------------------------------------------- */

.nearby-premium {
    width: calc(100% - var(--premium-section-gap-desktop)) !important;
    max-width: var(--premium-section-max) !important;

    margin-left: auto !important;
    margin-right: auto !important;

    box-sizing: border-box !important;
}

.nearby-premium > .container {
    width: 100% !important;
    max-width: none !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    box-sizing: border-box !important;
}


/* ---------------------------------------------------------
 * ОТЗЫВЫ
 * Сам тёмный блок ограничиваем 1320px.
 * --------------------------------------------------------- */

.testimonials {
    width: calc(100% - var(--premium-section-gap-desktop)) !important;
    max-width: var(--premium-section-max) !important;

    margin-left: auto !important;
    margin-right: auto !important;

    box-sizing: border-box !important;
}

.testimonials > .container,
.testimonials .container {
    width: 100% !important;
    max-width: none !important;

    margin-left: auto !important;
    margin-right: auto !important;

    box-sizing: border-box !important;
}


/* ---------------------------------------------------------
 * СВЯЖИТЕСЬ С НАМИ
 * Вся видимая секция — по общей оси 1320px.
 * --------------------------------------------------------- */

.callback-section {
    width: calc(100% - var(--premium-section-gap-desktop)) !important;
    max-width: var(--premium-section-max) !important;

    margin-left: auto !important;
    margin-right: auto !important;

    box-sizing: border-box !important;
}

.callback-section > .container {
    width: 100% !important;
    max-width: none !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    box-sizing: border-box !important;
}

.callback-section .callback-wrapper,
.callback-section .callback-wrapper > .row {
    width: 100% !important;
    max-width: none !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    box-sizing: border-box !important;
}


/* =========================================================
 * TABLET
 * ========================================================= */

@media (max-width: 1024px) {

    .sv-infra > .container,
    .sv-infra--editorial > .container,
    .nearby-premium,
    .testimonials,
    .callback-section {
        width: calc(100% - var(--premium-section-gap-tablet)) !important;
        max-width: none !important;
    }

}


/* =========================================================
 * MOBILE
 * ========================================================= */

@media (max-width: 650px) {

    .sv-infra > .container,
    .sv-infra--editorial > .container,
    .nearby-premium,
    .testimonials,
    .callback-section {
        width: calc(100% - var(--premium-section-gap-mobile)) !important;
        max-width: none !important;
    }

}

/* =========================================================
 * 50. HEADER — CHALET74 PREMIUM
 * Финальная шапка в стиле сайта
 * ========================================================= */

.header.header-premium {
    position: sticky !important;
    top: 10px !important;
    z-index: 9990 !important;

    width: 100% !important;

    padding:
        0 !important;

    background:
        transparent !important;

    box-shadow:
        none !important;
}


/* Общая ширина — как у остальных основных блоков */
.header.header-premium > .container {
    width: calc(100% - 64px) !important;
    max-width: 1320px !important;

    margin:
        0
        auto !important;

    padding:
        0 !important;
}


/* =========================================================
 * ОСНОВНАЯ ПАНЕЛЬ
 * ========================================================= */

.header.header-premium .header-premium__bar {
    position: relative;

    min-height: 78px;

    display: grid !important;

    grid-template-columns:
        auto
        minmax(390px, 1fr)
        auto;

    align-items: center;

    gap: 24px;

    padding:
        10px
        14px
        10px
        18px !important;

    border:
        1px solid rgba(107, 91, 69, 0.12);

    border-radius:
        25px !important;

    background:
        linear-gradient(
            135deg,
            rgba(252, 250, 246, 0.975) 0%,
            rgba(247, 243, 236, 0.975) 100%
        ) !important;

    box-shadow:
        0 12px 34px rgba(40, 51, 43, 0.10),
        inset 0 1px 0 rgba(255, 255, 255, 0.90) !important;

    backdrop-filter:
        blur(14px);

    -webkit-backdrop-filter:
        blur(14px);

    overflow:
        hidden;
}


/* Тонкая золотая линия */
.header.header-premium .header-premium__bar::before {
    content: "";

    position: absolute;

    left: 28px;
    right: 28px;
    top: 0;

    height: 1px;

    background:
        linear-gradient(
            90deg,
            transparent 0%,
            rgba(184, 139, 83, 0.38) 22%,
            rgba(184, 139, 83, 0.18) 70%,
            transparent 100%
        );

    pointer-events: none;
}


/* =========================================================
 * БРЕНД
 * ========================================================= */

.header.header-premium .header-brand {
    min-width: 228px;

    display: flex !important;

    align-items: center;

    gap: 12px;

    color: #173629 !important;

    text-decoration:
        none !important;
}

.header.header-premium .header-brand__mark {
    width: 58px;
    height: 48px;

    display: flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 58px;

    color: #a57d4b;
}

.header.header-premium .header-brand__mark svg {
    width: 58px;
    height: 44px;

    display: block;
}

.header.header-premium .header-brand__copy {
    position: relative;

    display: flex;

    flex-direction: column;

    justify-content: center;

    padding-left: 13px;
}

.header.header-premium .header-brand__copy::before {
    content: "";

    position: absolute;

    left: 0;
    top: 5px;
    bottom: 5px;

    width: 1px;

    background:
        rgba(164, 126, 79, 0.22);
}

.header.header-premium .header-brand__copy strong {
    color: #173629 !important;

    font-family:
        "Prata",
        Georgia,
        "Times New Roman",
        serif !important;

    font-size: 28px !important;
    line-height: 1 !important;

    font-weight: 400 !important;

    letter-spacing:
        -0.035em !important;
}

.header.header-premium .header-brand__copy small {
    display: block;

    margin-top: 5px;

    color: #9b805e !important;

    font-family:
        "Manrope",
        sans-serif !important;

    font-size: 8px !important;
    line-height: 1 !important;

    font-weight: 650 !important;

    letter-spacing:
        0.30em !important;
}


/* Старый логотип темы не нужен */
.header.header-premium > .container > .header-wrapper > .logo {
    display:
        none !important;
}


/* =========================================================
 * DESKTOP MENU
 * ========================================================= */

.header.header-premium .header-desktop-menu {
    min-width: 0;

    display: flex;

    justify-content: center;
}

.header.header-premium .header-desktop-menu .main-menu {
    display: flex !important;

    align-items: center;

    justify-content: center;

    gap: clamp(18px, 1.9vw, 34px);

    width: auto !important;

    margin:
        0 !important;

    padding:
        0 !important;

    list-style:
        none !important;
}

.header.header-premium .header-desktop-menu .main-menu > li {
    position: relative;

    margin:
        0 !important;

    padding:
        0 !important;
}

.header.header-premium .header-desktop-menu .main-menu > li > a {
    position: relative;

    display: block;

    padding:
        11px
        0 !important;

    color: #26392f !important;

    font-family:
        "Manrope",
        sans-serif !important;

    font-size: 13.5px !important;
    line-height: 1 !important;

    font-weight: 500 !important;

    text-decoration:
        none !important;

    white-space:
        nowrap;

    transition:
        color 0.2s ease;
}

.header.header-premium .header-desktop-menu .main-menu > li > a::after {
    content: "";

    position: absolute;

    left: 0;
    right: 0;
    bottom: 1px;

    height: 1.5px;

    border-radius: 2px;

    background:
        #b48751;

    transform:
        scaleX(0);

    transform-origin:
        center;

    transition:
        transform 0.22s ease;
}

.header.header-premium .header-desktop-menu .main-menu > li > a:hover {
    color:
        #173629 !important;
}

.header.header-premium .header-desktop-menu .main-menu > li > a:hover::after,
.header.header-premium .header-desktop-menu .main-menu > .current-menu-item > a::after,
.header.header-premium .header-desktop-menu .main-menu > .current_page_item > a::after {
    transform:
        scaleX(1);
}


/* =========================================================
 * ПРАВАЯ ЧАСТЬ
 * ========================================================= */

.header.header-premium .pc-block-header {
    display: flex !important;

    align-items: center;

    justify-content: flex-end;

    gap: 10px;

    min-width: 0;
}


/* Телефон */

.header.header-premium .header-contact {
    display: flex;

    align-items: center;

    gap: 10px;

    padding:
        0
        14px
        0
        0;

    border-right:
        1px solid rgba(95, 81, 62, 0.15);
}

.header.header-premium .header-contact__icon {
    width: 38px;
    height: 38px;

    display: flex;

    align-items: center;
    justify-content: center;

    flex: 0 0 38px;

    border:
        1px solid rgba(92, 73, 49, 0.08);

    border-radius:
        50%;

    color:
        #526158;

    background:
        #f3eee6;
}

.header.header-premium .header-contact__icon svg {
    width: 21px;
    height: 21px;
}

.header.header-premium .header-contact__copy {
    display: flex;

    flex-direction: column;

    min-width: 124px;
}

.header.header-premium .header-contact__copy a {
    color:
        #173629 !important;

    font-family:
        "Manrope",
        sans-serif !important;

    font-size:
        13px !important;
    line-height:
        1.15 !important;

    font-weight:
        650 !important;

    text-decoration:
        none !important;

    white-space:
        nowrap;
}

.header.header-premium .header-contact__copy small {
    margin-top:
        4px;

    color:
        #92988f !important;

    font-family:
        "Manrope",
        sans-serif !important;

    font-size:
        8.5px !important;
    line-height:
        1 !important;

    font-weight:
        450 !important;

    white-space:
        nowrap;
}


/* =========================================================
 * TELEGRAM + MAX
 * ========================================================= */

.header.header-premium .pc-socials {
    display: flex !important;

    align-items: center;

    gap: 7px !important;

    margin:
        0 4px !important;
}

.header.header-premium .pc-socials .social-link {
    width: 38px !important;
    height: 38px !important;

    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    flex:
        0 0 38px !important;

    margin:
        0 !important;

    overflow:
        hidden;

    border:
        1px solid rgba(83, 73, 59, 0.08) !important;

    border-radius:
        50% !important;

    background:
        rgba(255, 255, 255, 0.90) !important;

    box-shadow:
        0 5px 13px rgba(40, 52, 43, 0.07) !important;

    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

.header.header-premium .pc-socials .social-link img {
    width: 22px !important;
    height: 22px !important;

    display: block !important;

    object-fit:
        contain !important;
}

.header.header-premium .pc-socials .social-link:hover {
    opacity:
        1 !important;

    transform:
        translateY(-2px) !important;

    box-shadow:
        0 8px 18px rgba(40, 52, 43, 0.11) !important;
}


/* =========================================================
 * КНОПКА БРОНИРОВАНИЯ
 * ========================================================= */

.header.header-premium .header-booking-btn {
    position: relative;

    min-height: 48px;

    display: flex;

    align-items: center;
    justify-content: center;

    gap: 10px;

    padding:
        0
        18px !important;

    overflow:
        hidden;

    border:
        0 !important;

    border-radius:
        24px !important;

    color:
        #fffaf2 !important;

    background:
        linear-gradient(
            135deg,
            #294b39 0%,
            #173827 100%
        ) !important;

    box-shadow:
        0 8px 18px rgba(22, 54, 37, 0.18);

    font-family:
        "Manrope",
        sans-serif !important;

    font-size:
        12.5px !important;
    line-height:
        1 !important;

    font-weight:
        650 !important;

    text-decoration:
        none !important;

    white-space:
        nowrap;

    transition:
        transform 0.22s ease,
        box-shadow 0.22s ease,
        background 0.22s ease;
}

.header.header-premium .header-booking-btn::after {
    content: "";

    position: absolute;

    right: -16px;
    bottom: -8px;

    width: 74px;
    height: 56px;

    opacity:
        0.13;

    background-image:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 90 62'%3E%3Cg fill='none' stroke='%23fff8ed' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 55L26 33l9 10 14-20 31 32'/%3E%3Cpath d='M57 55V35M51 43l6-10 7 10M52 49l5-9 6 9'/%3E%3C/g%3E%3C/svg%3E");

    background-size:
        contain;

    background-position:
        center;

    background-repeat:
        no-repeat;

    pointer-events:
        none;
}

.header.header-premium .header-booking-btn__icon {
    width: 23px;
    height: 23px;

    display: flex;
    align-items: center;
    justify-content: center;

    position: relative;
    z-index: 2;
}

.header.header-premium .header-booking-btn__icon svg {
    width: 22px;
    height: 22px;
}

.header.header-premium .header-booking-btn__arrow {
    position: relative;
    z-index: 2;

    margin-left:
        3px;

    font-size:
        18px;

    transition:
        transform 0.2s ease;
}

.header.header-premium .header-booking-btn:hover {
    color:
        #ffffff !important;

    transform:
        translateY(-1px);

    background:
        linear-gradient(
            135deg,
            #345a45 0%,
            #1c402e 100%
        ) !important;

    box-shadow:
        0 11px 24px rgba(22, 54, 37, 0.22);
}

.header.header-premium .header-booking-btn:hover .header-booking-btn__arrow {
    transform:
        translateX(3px);
}


/* Старый desktop phone скрываем */
.header.header-premium .header-phone-pc {
    display:
        none !important;
}


/* =========================================================
 * MOBILE BUTTON
 * ========================================================= */

.header.header-premium .mobile-menu-button {
    width: 44px !important;
    height: 44px !important;

    display: none;

    align-items: center;
    justify-content: center;
    flex-direction: column;

    gap: 5px;

    padding:
        0 !important;

    border:
        1px solid rgba(67, 82, 72, 0.10) !important;

    border-radius:
        50% !important;

    background:
        #f2ede5 !important;
}

.header.header-premium .mobile-menu-button .line {
    width: 18px;
    height: 1.5px;

    display:
        block;

    border-radius:
        2px;

    background:
        #274033 !important;
}


/* =========================================================
 * MOBILE DRAWER
 * ========================================================= */

.header.header-premium .header-nav {
    display:
        none;
}

.header.header-premium .header-nav__mobile-head {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 20px;

    margin-bottom:
        34px;
}

.header.header-premium .close-menu-mobile {
    width: 42px !important;
    height: 42px !important;

    position:
        relative;

    flex:
        0 0 42px;

    border:
        1px solid rgba(72, 85, 76, 0.10) !important;

    border-radius:
        50% !important;

    background:
        #f1ece3 !important;
}

.header.header-premium .close-menu-mobile::before,
.header.header-premium .close-menu-mobile::after {
    content: "";

    position:
        absolute;

    left:
        12px;
    right:
        12px;

    top:
        20px;

    height:
        1.5px;

    background:
        #243c30;
}

.header.header-premium .close-menu-mobile::before {
    transform:
        rotate(45deg);
}

.header.header-premium .close-menu-mobile::after {
    transform:
        rotate(-45deg);
}

.header.header-premium .mobile-title {
    margin-bottom:
        14px !important;

    color:
        #a37d50 !important;

    font-family:
        "Manrope",
        sans-serif !important;

    font-size:
        9px !important;

    font-weight:
        700 !important;

    letter-spacing:
        0.24em !important;
}

.header.header-premium .header-nav .main-menu {
    margin:
        0 !important;

    padding:
        0 !important;

    list-style:
        none !important;
}

.header.header-premium .header-nav .main-menu li {
    margin:
        0 !important;

    border-bottom:
        1px solid rgba(57, 74, 63, 0.09);
}

.header.header-premium .header-nav .main-menu li a {
    display:
        block;

    padding:
        13px
        0 !important;

    color:
        #243b2f !important;

    font-family:
        "Prata",
        Georgia,
        serif !important;

    font-size:
        22px !important;

    line-height:
        1.15 !important;

    font-weight:
        400 !important;

    text-decoration:
        none !important;
}

.header.header-premium .mobile-menu-wrapper + .mobile-menu-wrapper {
    margin-top:
        30px;
}

.header.header-premium .mobile-menu-block {
    margin-top:
        34px;
}

.header.header-premium .header-mobile-phone {
    display:
        block;

    margin-bottom:
        28px;

    color:
        #173629 !important;

    font-family:
        "Prata",
        Georgia,
        serif !important;

    font-size:
        23px !important;

    text-decoration:
        none !important;
}

.header.header-premium .mobile-menu-block .socials-block {
    display:
        flex;

    gap:
        9px;

    margin:
        0 0 24px !important;
}

.header.header-premium .mobile-menu-block .social-link {
    width:
        42px !important;
    height:
        42px !important;

    flex:
        0 0 42px !important;

    display:
        flex !important;

    align-items:
        center !important;
    justify-content:
        center !important;

    overflow:
        hidden;

    border:
        1px solid rgba(69, 82, 72, 0.09) !important;

    border-radius:
        50% !important;

    background:
        #ffffff !important;
}

.header.header-premium .mobile-menu-block .social-link img {
    width:
        23px !important;
    height:
        23px !important;

    object-fit:
        contain !important;
}

.header.header-premium .header-booking-btn--mobile {
    width:
        100%;

    min-height:
        52px;
}


/* =========================================================
 * MEDIUM DESKTOP
 * ========================================================= */

@media (max-width: 1240px) {

    .header.header-premium .header-contact__copy small {
        display:
            none;
    }

    .header.header-premium .header-contact__copy {
        min-width:
            auto;
    }

    .header.header-premium .header-contact__icon {
        display:
            none;
    }

    .header.header-premium .header-contact {
        padding-right:
            10px;
    }

    .header.header-premium .header-desktop-menu .main-menu {
        gap:
            17px;
    }

    .header.header-premium .header-desktop-menu .main-menu > li > a {
        font-size:
            12.5px !important;
    }

    .header.header-premium .header-brand {
        min-width:
            205px;
    }

}


/* =========================================================
 * TABLET / MOBILE NAV
 * Mobile-only after final responsive header rebuild.
 * ========================================================= */

@media (max-width: 900px) {

    .header.header-premium > .container {
        width:
            calc(100% - 32px) !important;
    }

    .header.header-premium .header-premium__bar {
        grid-template-columns:
            auto
            1fr
            auto;

        min-height:
            70px;

        padding:
            8px
            10px
            8px
            14px !important;

        border-radius:
            22px !important;
    }

    .header.header-premium .header-desktop-menu,
    .header.header-premium .header-contact,
    .header.header-premium .pc-socials,
    .header.header-premium .pc-block-header > .header-booking-btn {
        display:
            none !important;
    }

    .header.header-premium .pc-block-header {
        grid-column:
            3;

        display:
            flex !important;
    }

    .header.header-premium .mobile-menu-button {
        display:
            flex !important;
    }

    .header.header-premium .header-brand {
        grid-column:
            1;
    }

    .header.header-premium .header-nav {
        position:
            fixed;

        top:
            0;
        right:
            0;

        z-index:
            10050;

        width:
            min(420px, 92vw);
        height:
            100vh;

        display:
            block;

        overflow-y:
            auto;

        padding:
            24px
            26px
            32px;

        background:
            linear-gradient(
                160deg,
                #fbf8f2 0%,
                #f1ece3 100%
            );

        box-shadow:
            -22px 0 60px rgba(26, 42, 32, 0.16);

        transform:
            translateX(110%);

        visibility:
            hidden;

        transition:
            transform 0.28s ease,
            visibility 0.28s ease;
    }

    /*
     * Совместимость с типичными классами,
     * которые уже может ставить JS темы.
     */
    .header.header-premium .header-nav.active,
    .header.header-premium .header-nav.open,
    .header.header-premium .header-nav.menu-open,
    body.menu-open .header.header-premium .header-nav {
        transform:
            translateX(0);

        visibility:
            visible;
    }

    .header.header-premium .header-brand--mobile {
        min-width:
            0;
    }

}


/* =========================================================
 * MOBILE
 * ========================================================= */

@media (max-width: 600px) {

    .header.header-premium {
        top:
            6px !important;
    }

    .header.header-premium > .container {
        width:
            calc(100% - 18px) !important;
    }

    .header.header-premium .header-premium__bar {
        min-height:
            64px;

        border-radius:
            19px !important;
    }

    .header.header-premium .header-brand {
        min-width:
            0;

        gap:
            8px;
    }

    .header.header-premium .header-brand__mark {
        width:
            44px;
        height:
            38px;

        flex-basis:
            44px;
    }

    .header.header-premium .header-brand__mark svg {
        width:
            44px;
        height:
            36px;
    }

    .header.header-premium .header-brand__copy {
        padding-left:
            9px;
    }

    .header.header-premium .header-brand__copy strong {
        font-size:
            23px !important;
    }

    .header.header-premium .header-brand__copy small {
        margin-top:
            4px;

        font-size:
            6.5px !important;

        letter-spacing:
            0.22em !important;
    }

    .header.header-premium .mobile-menu-button {
        width:
            40px !important;
        height:
            40px !important;
    }

    .header.header-premium .header-nav {
        width:
            100vw;

        padding:
            20px
            20px
            28px;
    }

}

/* =========================================================
 * 51. HEADER — ФИНАЛЬНАЯ ДОВОДКА ПО СКРИНУ
 * ========================================================= */

/* CTA: принудительно делаем текст/иконки белыми —
 * старые стили темы сейчас перебивают цвет */
.header.header-premium .header-booking-btn,
.header.header-premium .header-booking-btn:link,
.header.header-premium .header-booking-btn:visited,
.header.header-premium .header-booking-btn:hover,
.header.header-premium .header-booking-btn:focus,
.header.header-premium .header-booking-btn span,
.header.header-premium .header-booking-btn strong,
.header.header-premium .header-booking-btn svg,
.header.header-premium .header-booking-btn svg * {
    color: #fffaf2 !important;
}

.header.header-premium .header-booking-btn svg * {
    stroke: currentColor !important;
}


/* Кнопку делаем чуть выразительнее и стабильнее по ширине */
.header.header-premium .pc-block-header > .header-booking-btn {
    min-width: 214px !important;

    padding-left: 18px !important;
    padding-right: 16px !important;

    background:
        linear-gradient(
            135deg,
            #315642 0%,
            #173827 100%
        ) !important;

    box-shadow:
        0 9px 22px rgba(22, 54, 37, 0.23) !important;
}


/* Сам текст CTA */
.header.header-premium .header-booking-btn > span:not(.header-booking-btn__icon):not(.header-booking-btn__arrow) {
    position: relative;
    z-index: 3;

    font-weight: 700 !important;
    letter-spacing: 0.01em !important;
}


/* Иконка календаря */
.header.header-premium .header-booking-btn__icon {
    position: relative;
    z-index: 3;

    opacity: 0.96;
}


/* Стрелка */
.header.header-premium .header-booking-btn__arrow {
    position: relative;
    z-index: 3;

    color: #f2dfc5 !important;
}


/* Немного увеличиваем читаемость режима работы */
.header.header-premium .header-contact__copy small {
    font-size: 9px !important;
    color: #8c938e !important;
}


/* Социальные кнопки чуть чище */
.header.header-premium .pc-socials .social-link {
    background: rgba(255, 255, 255, 0.96) !important;
}


/* На среднем десктопе не даём кнопке ужиматься слишком сильно */
@media (min-width: 1401px) and (max-width: 1240px) {

    .header.header-premium .pc-block-header > .header-booking-btn {
        min-width: 188px !important;
        padding-left: 15px !important;
        padding-right: 13px !important;
    }

    .header.header-premium .header-booking-btn > span:not(.header-booking-btn__icon):not(.header-booking-btn__arrow) {
        font-size: 11.5px !important;
    }

}

/* =========================================================
 * 52. HEADER — ПОСЛЕДНИЕ МИКРО-ПРАВКИ
 * ========================================================= */

/* Чуть больше воздуха между брендом и первым пунктом меню */
.header.header-premium .header-brand {
    margin-right: 14px !important;
}


/* Подпись «СОЛНЕЧНАЯ ДОЛИНА» делаем мягче */
.header.header-premium .header-brand__copy small {
    color: rgba(155, 128, 94, 0.82) !important;
}


/* На более узком desktop уменьшаем дополнительный отступ */
@media (min-width: 1401px) and (max-width: 1240px) {

    .header.header-premium .header-brand {
        margin-right: 8px !important;
    }

}

/* =========================================================
 * 53. HEADER → ГЛАВНЫЙ БАННЕР — ИСПРАВЛЕННЫЙ ОТСТУП
 * Предыдущий +22px действительно УВЕЛИЧИВАЛ расстояние.
 * Здесь поднимаем баннер вверх.
 * ========================================================= */

/* Desktop */
.header.header-premium + main > .main-banner {
    margin-top: -48px !important;
    padding-top: 0 !important;
}

.header.header-premium + main > .main-banner > .container,
.header.header-premium + main > .main-banner .banner-content,
.header.header-premium + main > .main-banner .banner-slider,
.header.header-premium + main > .main-banner .swiper-wrapper {
    margin-top: 0 !important;
    padding-top: 0 !important;
}


/* Tablet */
@media (max-width: 1400px) {

    .header.header-premium + main > .main-banner {
        margin-top: -32px !important;
    }

}


/* Mobile */
@media (max-width: 600px) {

    .header.header-premium + main > .main-banner {
        margin-top: -18px !important;
    }

}

/* =========================================================
 * 54. MOBILE MENU — FIX OPEN / CLOSE
 *
 * Старый JS темы добавляет класс .show к .header-nav.
 * Новый дизайн ждал .active/.open, поэтому меню оставалось
 * за правым краем экрана. Добавляем поддержку .show.
 * ========================================================= */

@media (max-width: 900px) {

    .header.header-premium .header-nav {
        pointer-events: none !important;
    }

    .header.header-premium .header-nav.show {
        transform: translateX(0) !important;
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
        overflow-y: auto !important;
    }

}


/* Кнопки гарантированно кликабельны */
.header.header-premium .mobile-menu-button,
.header.header-premium .close-menu-mobile {
    cursor: pointer !important;
    touch-action: manipulation;
}

/* =========================================================
 * 55. MOBILE MENU — FORCE VISIBLE CONTENT
 * Старые стили темы скрывают отдельные элементы mobile menu.
 * При открытом .header-nav.show принудительно показываем всё.
 * ========================================================= */

@media (max-width: 900px) {

    .header.header-premium .header-nav.show {
        display: block !important;
        transform: translateX(0) !important;
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
        overflow-y: auto !important;
    }

    .header.header-premium .header-nav.show .header-nav__mobile-head {
        display: flex !important;
        width: 100% !important;
    }

    .header.header-premium .header-nav.show .close-menu-mobile {
        display: block !important;
        position: relative !important;
        top: auto !important;
        right: auto !important;
        flex: 0 0 42px !important;
    }

    .header.header-premium .header-nav.show .mobile-menus-wrapper {
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 0 28px !important;
        padding: 0 !important;
    }

    .header.header-premium .header-nav.show .mobile-menu-wrapper {
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .header.header-premium .header-nav.show .mobile-menu-wrapper + .mobile-menu-wrapper {
        margin-top: 28px !important;
    }

    .header.header-premium .header-nav.show .mobile-title {
        display: block !important;
    }

    .header.header-premium .header-nav.show .main-menu,
    .header.header-premium .header-nav.show .main-menu-mobile {
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .header.header-premium .header-nav.show .main-menu li {
        display: block !important;
        width: 100% !important;
    }

    .header.header-premium .header-nav.show .main-menu li a {
        display: block !important;
        width: 100% !important;
    }

    .header.header-premium .header-nav.show .mobile-menu-block {
        display: block !important;
        width: 100% !important;
        margin-top: 32px !important;
    }

    .header.header-premium .header-nav.show .socials-block {
        display: flex !important;
    }

    .header.header-premium .header-nav.show .header-booking-btn--mobile {
        display: flex !important;
    }

}


/* На телефоне делаем меню полноэкранным и удобным */
@media (max-width: 600px) {

    .header.header-premium .header-nav.show {
        width: 100vw !important;
        min-height: 100dvh !important;
        padding: 20px 20px 34px !important;
    }

}

/* =========================================================
 * 56. MOBILE MENU — ИЗОЛИРОВАННОЕ МЕНЮ БЕЗ КОНФЛИКТОВ ТЕМЫ
 * ========================================================= */

@media (max-width: 900px) {

    /* Сам drawer */
    .header.header-premium .header-nav {
        display: block !important;

        position: fixed !important;
        top: 0 !important;
        right: 0 !important;
        left: auto !important;

        width: min(420px, 92vw) !important;
        height: 100dvh !important;

        padding: 24px 26px 34px !important;

        overflow-y: auto !important;

        background:
            linear-gradient(
                160deg,
                #fbf8f2 0%,
                #f1ece3 100%
            ) !important;

        box-shadow:
            -22px 0 60px rgba(26, 42, 32, 0.16) !important;

        transform: translateX(110%) !important;

        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;

        z-index: 10050 !important;

        transition:
            transform 0.28s ease,
            opacity 0.22s ease,
            visibility 0.28s ease !important;
    }

    .header.header-premium .header-nav.show {
        transform: translateX(0) !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }


    /* Верх drawer */
    .header.header-premium .header-nav__mobile-head {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;

        width: 100% !important;

        margin: 0 0 28px !important;
    }

    .header.header-premium .close-menu-mobile {
        display: block !important;

        position: relative !important;
        top: auto !important;
        right: auto !important;

        flex: 0 0 42px !important;
    }


    /* Новый изолированный блок меню */
    .header.header-premium .premium-mobile-links-wrap {
        display: block !important;

        width: 100% !important;

        margin: 0 !important;
        padding: 0 !important;
    }

    .header.header-premium .premium-mobile-section {
        display: block !important;

        width: 100% !important;

        margin: 0 0 28px !important;
        padding: 0 !important;
    }

    .header.header-premium .premium-mobile-section:last-child {
        margin-bottom: 0 !important;
    }

    .header.header-premium .premium-mobile-section__title {
        display: block !important;

        margin: 0 0 10px !important;

        color: #a37d50 !important;

        font-family: "Manrope", sans-serif !important;
        font-size: 9px !important;
        line-height: 1 !important;
        font-weight: 700 !important;

        letter-spacing: 0.24em !important;
    }


    /* Главное меню */
    .header.header-premium .premium-mobile-menu-list,
    .header.header-premium .premium-mobile-doc-list {
        display: block !important;

        width: 100% !important;

        margin: 0 !important;
        padding: 0 !important;

        list-style: none !important;

        opacity: 1 !important;
        visibility: visible !important;

        transform: none !important;
    }

    .header.header-premium .premium-mobile-menu-list li,
    .header.header-premium .premium-mobile-doc-list li {
        display: block !important;

        width: 100% !important;

        margin: 0 !important;
        padding: 0 !important;

        border-bottom:
            1px solid rgba(57, 74, 63, 0.10) !important;
    }

    .header.header-premium .premium-mobile-menu-list li:last-child,
    .header.header-premium .premium-mobile-doc-list li:last-child {
        border-bottom: 0 !important;
    }

    .header.header-premium .premium-mobile-menu-list li a {
        display: flex !important;

        align-items: center !important;
        justify-content: space-between !important;

        width: 100% !important;

        padding: 13px 0 !important;

        color: #203a2d !important;

        font-family:
            "Prata",
            Georgia,
            serif !important;

        font-size: 23px !important;
        line-height: 1.15 !important;
        font-weight: 400 !important;

        text-decoration: none !important;

        opacity: 1 !important;
        visibility: visible !important;
    }

    .header.header-premium .premium-mobile-menu-list li a::after {
        content: "→";

        margin-left: 14px;

        color: #ad8659 !important;

        font-family: "Manrope", sans-serif !important;
        font-size: 16px !important;
    }


    /* Документы — намеренно мельче */
    .header.header-premium .premium-mobile-doc-list li a {
        display: block !important;

        width: 100% !important;

        padding: 11px 0 !important;

        color: #536158 !important;

        font-family: "Manrope", sans-serif !important;
        font-size: 13px !important;
        line-height: 1.35 !important;
        font-weight: 500 !important;

        text-decoration: none !important;

        opacity: 1 !important;
        visibility: visible !important;
    }


    /* Нижняя часть */
    .header.header-premium .mobile-menu-block {
        display: block !important;

        width: 100% !important;

        margin: 30px 0 0 !important;
        padding: 26px 0 0 !important;

        border-top:
            1px solid rgba(57, 74, 63, 0.10) !important;
    }

    .header.header-premium .mobile-menu-block .mobile-title {
        display: block !important;
    }

    .header.header-premium .mobile-menu-block .socials-block {
        display: flex !important;
    }

    .header.header-premium .header-booking-btn--mobile {
        display: flex !important;
    }

}


/* Телефон: drawer на весь экран */
@media (max-width: 600px) {

    .header.header-premium .header-nav {
        width: 100vw !important;

        padding:
            18px
            20px
            30px !important;
    }

    .header.header-premium .premium-mobile-menu-list li a {
        font-size: 21px !important;
    }

}

/* =========================================================
 * 57. MOBILE MENU — FINAL FIX: DRAWER OUTSIDE HEADER BAR
 * Причина: .header-premium__bar имеет overflow:hidden и
 * backdrop-filter, из-за чего fixed-menu обрезался по высоте шапки.
 * Теперь nav вынесен наружу, а здесь фиксируем его геометрию.
 * ========================================================= */

@media (max-width: 900px) {

    .header.header-premium .header-nav {
        position: fixed !important;

        top: 0 !important;
        right: 0 !important;
        left: auto !important;

        width: min(420px, 92vw) !important;
        height: 100dvh !important;
        min-height: 100dvh !important;

        margin: 0 !important;

        padding:
            24px
            26px
            36px !important;

        display: block !important;

        overflow-x: hidden !important;
        overflow-y: auto !important;

        background:
            linear-gradient(
                160deg,
                #fbf8f2 0%,
                #f1ece3 100%
            ) !important;

        box-shadow:
            -24px 0 65px rgba(26, 42, 32, 0.20) !important;

        z-index: 999999 !important;

        transform: translateX(110%) !important;

        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;

        transition:
            transform 0.28s ease,
            opacity 0.22s ease,
            visibility 0.28s ease !important;
    }

    .header.header-premium .header-nav.show {
        transform: translateX(0) !important;

        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }


    /* Всё содержимое menu drawer — нормальный document flow */
    .header.header-premium .header-nav__mobile-head,
    .header.header-premium .premium-mobile-links-wrap,
    .header.header-premium .premium-mobile-section,
    .header.header-premium .mobile-menu-block {
        position: relative !important;

        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;

        float: none !important;

        transform: none !important;
    }

    .header.header-premium .premium-mobile-links-wrap {
        display: block !important;

        width: 100% !important;

        margin:
            0 !important;

        padding:
            0 !important;
    }

    .header.header-premium .premium-mobile-section {
        display: block !important;

        width: 100% !important;

        margin:
            0
            0
            28px !important;

        padding:
            0 !important;
    }

    .header.header-premium .premium-mobile-menu-list,
    .header.header-premium .premium-mobile-doc-list {
        position: static !important;

        display: block !important;

        width: 100% !important;
        height: auto !important;

        margin: 0 !important;
        padding: 0 !important;

        overflow: visible !important;

        opacity: 1 !important;
        visibility: visible !important;

        transform: none !important;

        list-style: none !important;
    }

    .header.header-premium .premium-mobile-menu-list > li,
    .header.header-premium .premium-mobile-doc-list > li {
        position: static !important;

        display: block !important;

        width: 100% !important;
        height: auto !important;

        margin: 0 !important;
        padding: 0 !important;

        opacity: 1 !important;
        visibility: visible !important;
    }

    .header.header-premium .premium-mobile-menu-list > li > a,
    .header.header-premium .premium-mobile-doc-list > li > a {
        opacity: 1 !important;
        visibility: visible !important;
    }

}


/* Телефон — drawer на весь экран */
@media (max-width: 600px) {

    .header.header-premium .header-nav {
        width: 100vw !important;

        padding:
            18px
            20px
            34px !important;
    }

}

/* =========================================================
 * 58. MOBILE HEADER — SIMPLE FINAL
 * На мобильном оставляем только логотип + Telegram + MAX.
 * Без бургер-меню и без drawer.
 * ========================================================= */

.header.header-premium .header-mobile-socials {
    display: none;
}


/* =========================================================
 * TABLET + MOBILE
 * ========================================================= */

@media (max-width: 900px) {

    .header.header-premium .header-premium__bar {
        grid-template-columns:
            minmax(0, 1fr)
            auto !important;

        gap: 12px !important;
    }


    /* Логотип слева */
    .header.header-premium .header-brand {
        grid-column: 1 !important;

        min-width: 0 !important;

        margin-right: 0 !important;
    }


    /* Справа только Telegram + MAX */
    .header.header-premium .header-mobile-socials {
        grid-column: 2 !important;

        display: flex !important;

        align-items: center !important;

        gap: 8px !important;
    }

    .header.header-premium .header-mobile-socials .social-link {
        width: 40px !important;
        height: 40px !important;

        display: flex !important;

        align-items: center !important;
        justify-content: center !important;

        flex: 0 0 40px !important;

        margin: 0 !important;

        overflow: hidden !important;

        border:
            1px solid rgba(83, 73, 59, 0.08) !important;

        border-radius: 50% !important;

        background:
            rgba(255, 255, 255, 0.96) !important;

        box-shadow:
            0 5px 13px rgba(40, 52, 43, 0.07) !important;
    }

    .header.header-premium .header-mobile-socials .social-link img {
        width: 22px !important;
        height: 22px !important;

        display: block !important;

        object-fit: contain !important;
    }


    /* Полностью убираем всё старое мобильное меню */
    .header.header-premium .header-nav,
    .header.header-premium .mobile-menu-button,
    .header.header-premium .pc-block-header,
    .header.header-premium .header-desktop-menu {
        display: none !important;
    }

}


/* =========================================================
 * MOBILE
 * ========================================================= */

@media (max-width: 600px) {

    .header.header-premium > .container {
        width:
            calc(100% - 14px) !important;
    }

    .header.header-premium .header-premium__bar {
        min-height: 62px !important;

        padding:
            7px
            10px
            7px
            12px !important;

        border-radius: 18px !important;
    }

    .header.header-premium .header-brand {
        gap: 7px !important;
    }

    .header.header-premium .header-brand__mark {
        width: 40px !important;
        height: 34px !important;

        flex-basis: 40px !important;
    }

    .header.header-premium .header-brand__mark svg {
        width: 40px !important;
        height: 33px !important;
    }

    .header.header-premium .header-brand__copy {
        padding-left: 8px !important;
    }

    .header.header-premium .header-brand__copy strong {
        font-size: 22px !important;
    }

    .header.header-premium .header-brand__copy small {
        margin-top: 3px !important;

        font-size: 6px !important;

        letter-spacing: 0.18em !important;
    }

    .header.header-premium .header-mobile-socials {
        gap: 6px !important;
    }

    .header.header-premium .header-mobile-socials .social-link {
        width: 36px !important;
        height: 36px !important;

        flex-basis: 36px !important;
    }

    .header.header-premium .header-mobile-socials .social-link img {
        width: 20px !important;
        height: 20px !important;
    }

}

/* =========================================================
   FIX: НИЖНИЙ HOMERESERVE — КАЛЕНДАРЬ НА DESKTOP
   ========================================================= */

@media (min-width: 651px) {

    #booking-repeat {
        position: relative !important;
        z-index: 50 !important;
    }

    #booking-repeat .booking-repeat__container {
        overflow: visible !important;
    }

    #booking-repeat .booking-repeat__container::before,
    #booking-repeat .booking-repeat__container::after {
        border-radius: inherit !important;
    }

    #booking-repeat .booking-repeat__widget-shell {
        position: relative !important;
        z-index: 100 !important;
        overflow: visible !important;
    }

    #booking-repeat [data-instance-id="search-bottom"] {
        position: relative !important;
        z-index: 101 !important;
        overflow: visible !important;
    }

}
/* =========================================================
   FIX HOMERESERVE — КНОПКИ + / − НА DESKTOP
   ========================================================= */

@media (min-width: 651px) {

    /* Сама кнопка должна получать весь клик */
    #booking-repeat [data-instance-id="search-bottom"] button {
        position: relative !important;
        z-index: 10 !important;
        pointer-events: auto !important;
    }

    /* SVG / span / иконка внутри кнопки не перехватывают мышь */
    #booking-repeat [data-instance-id="search-bottom"] button *,
    #booking-repeat [data-instance-id="search-bottom"] button svg,
    #booking-repeat [data-instance-id="search-bottom"] button path {
        pointer-events: none !important;
    }

}

/* =========================================================
   99. CHALET74 — HEADER ALWAYS FIXED / FINAL OVERRIDE
   Диагностика DevTools показала, что активным оставался
   старый position: sticky из style.css.
   Этот блок должен быть ПОСЛЕДНИМ в файле.
   ========================================================= */

html body .header.header-premium {
    position: fixed !important;

    top: 10px !important;
    left: 0 !important;
    right: 0 !important;

    width: 100% !important;

    z-index: 2147483000 !important;

    margin: 0 !important;

    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;

    transform: none !important;
    pointer-events: auto !important;
}

/* Внутренние элементы шапки всегда кликабельны */
html body .header.header-premium > .container,
html body .header.header-premium .header-premium__bar,
html body .header.header-premium .header-brand,
html body .header.header-premium .header-desktop-menu,
html body .header.header-premium .header-desktop-menu a,
html body .header.header-premium .pc-block-header,
html body .header.header-premium .pc-block-header a,
html body .header.header-premium .pc-block-header button {
    pointer-events: auto !important;
}

/* WordPress admin bar */
body.admin-bar .header.header-premium {
    top: 42px !important;
}

/* Мобильная версия */
@media (max-width: 1400px) {

    html body .header.header-premium {
        top: 8px !important;
    }

    body.admin-bar .header.header-premium {
        top: 54px !important;
    }

}

/* =========================================================
   100. HOMERESERVE — ВОЗВРАТ РАБОЧИХ ВЕРХНЕЙ И НИЖНЕЙ ФОРМ
   ========================================================= */

@media (min-width: 651px) {

    /* ---------- ВЕРХНЯЯ ФОРМА ---------- */

    #booking-top {
        position: relative !important;
        z-index: 60 !important;
    }

    #booking-top .booking-repeat__container {
        overflow: visible !important;
    }

    #booking-top .booking-repeat__container::before,
    #booking-top .booking-repeat__container::after {
        border-radius: inherit !important;
        pointer-events: none !important;
    }

    #booking-top .booking-repeat__widget-shell {
        position: relative !important;
        z-index: 1000 !important;
        overflow: visible !important;
    }

    #booking-top [data-instance-id="search-top"] {
        position: relative !important;
        z-index: 1001 !important;
        overflow: visible !important;
        pointer-events: auto !important;
    }

    #booking-top .booking-repeat__footnote,
    #booking-top .booking-repeat__footnote * {
        pointer-events: none !important;
    }

    #booking-top .booking-repeat__footnote {
        position: relative !important;
        z-index: 1 !important;
    }

    #booking-top [data-instance-id="search-top"] button {
        position: relative !important;
        z-index: 10 !important;
        pointer-events: auto !important;
    }

    #booking-top [data-instance-id="search-top"] button *,
    #booking-top [data-instance-id="search-top"] button svg,
    #booking-top [data-instance-id="search-top"] button path {
        pointer-events: none !important;
    }

/* =========================================================
   101. HOMERESERVE — CALENDAR FIXED CENTER FINAL
   F12 подтвердил: календарь создаётся, но HomeReserve
   вычисляет отрицательный top и уводит его за пределы экрана.
   Меню/шапку не трогаем.
   ========================================================= */

.vanilla-calendar.vanilla-calendar_to-input_bottom {
    position: fixed !important;

    top: 50% !important;
    left: 50% !important;
    right: auto !important;
    bottom: auto !important;

    inset: 50% auto auto 50% !important;

    transform: translate(-50%, -50%) !important;

    z-index: 2147482000 !important;

    max-width: calc(100vw - 40px) !important;
    max-height: calc(100vh - 120px) !important;

    overflow: auto !important;
}

/* Шапка/меню остаются выше календаря */
html body .header.header-premium {
    z-index: 2147483000 !important;
}

@media (max-width: 650px) {

    .vanilla-calendar.vanilla-calendar_to-input_bottom {
        max-width: calc(100vw - 16px) !important;
        max-height: calc(100vh - 90px) !important;
    }

}

} /* end of previously open @media block */


/* =========================================================
   102. CHALET74 — PREMIUM MOTION SYSTEM
   Только визуальные микро-анимации.
   Не меняет HomeReserve JS, календарь, z-index или pointer-events.
   ========================================================= */

:root {
    --c74-motion-fast: 180ms;
    --c74-motion-base: 300ms;
    --c74-motion-slow: 520ms;
    --c74-motion-ease: cubic-bezier(.22, 1, .36, 1);
    --c74-motion-soft: cubic-bezier(.2, .75, .25, 1);
    --c74-gold-glow: rgba(190, 144, 86, .20);
    --c74-green-glow: rgba(25, 63, 45, .18);
}


/* =========================================================
   102.1 КНОПКИ — PREMIUM MICRO-INTERACTIONS
   ========================================================= */

.btn,
.header.header-premium .header-booking-btn,
.sv-infra-premium__button,
.resort-map-premium__button,
.button-wrapper-bottom .btn,
.callback-section .wpcf7-submit,
.callback-section input[type="submit"],
.callback-section button[type="submit"] {
    transition:
        transform var(--c74-motion-base) var(--c74-motion-ease),
        box-shadow var(--c74-motion-base) var(--c74-motion-ease),
        filter var(--c74-motion-fast) ease,
        opacity var(--c74-motion-fast) ease !important;

    backface-visibility: hidden;
    -webkit-font-smoothing: antialiased;
}

@media (hover: hover) and (pointer: fine) {

    .btn:hover,
    .header.header-premium .header-booking-btn:hover,
    .sv-infra-premium__button:hover,
    .resort-map-premium__button:hover,
    .button-wrapper-bottom .btn:hover,
    .callback-section .wpcf7-submit:hover,
    .callback-section input[type="submit"]:hover,
    .callback-section button[type="submit"]:hover {
        transform: translateY(-2px) scale(1.012) !important;
        filter: brightness(1.035) saturate(1.04);
        box-shadow:
            0 14px 34px rgba(20, 48, 34, .20),
            0 3px 10px rgba(20, 48, 34, .10) !important;
    }
}

.btn:active,
.header.header-premium .header-booking-btn:active,
.sv-infra-premium__button:active,
.resort-map-premium__button:active,
.button-wrapper-bottom .btn:active,
.callback-section .wpcf7-submit:active,
.callback-section input[type="submit"]:active,
.callback-section button[type="submit"]:active {
    transform: translateY(0) scale(.985) !important;
    transition-duration: 90ms !important;
}


/* Стрелки в CTA слегка "едут" вперёд */
.header.header-premium .header-booking-btn__arrow,
.sv-infra-premium__button svg,
.resort-map-premium__button-icon,
.resort-map-premium__button svg {
    transition:
        transform var(--c74-motion-base) var(--c74-motion-ease),
        opacity var(--c74-motion-fast) ease !important;
}

@media (hover: hover) and (pointer: fine) {

    .header.header-premium .header-booking-btn:hover .header-booking-btn__arrow,
    .sv-infra-premium__button:hover svg,
    .resort-map-premium__button:hover .resort-map-premium__button-icon,
    .resort-map-premium__button:hover svg {
        transform: translateX(4px) !important;
    }
}


/* =========================================================
   102.2 HEADER — НАВИГАЦИЯ И СОЦСЕТИ
   ========================================================= */

.header.header-premium .header-desktop-menu a {
    background-image:
        linear-gradient(
            90deg,
            rgba(190, 144, 86, 0),
            rgba(190, 144, 86, .95),
            rgba(190, 144, 86, 0)
        ) !important;

    background-repeat: no-repeat !important;
    background-position: center calc(100% - 2px) !important;
    background-size: 0 1px !important;

    transition:
        color var(--c74-motion-fast) ease,
        background-size var(--c74-motion-base) var(--c74-motion-ease),
        opacity var(--c74-motion-fast) ease !important;
}

@media (hover: hover) and (pointer: fine) {
    .header.header-premium .header-desktop-menu a:hover {
        background-size: 100% 1px !important;
    }
}

.header.header-premium .pc-socials .social-link,
.header.header-premium .header-mobile-socials .social-link,
.callback-section .social-link,
.footer .social-link {
    transition:
        transform var(--c74-motion-base) var(--c74-motion-ease),
        box-shadow var(--c74-motion-base) var(--c74-motion-ease),
        filter var(--c74-motion-fast) ease !important;
}

@media (hover: hover) and (pointer: fine) {
    .header.header-premium .pc-socials .social-link:hover,
    .header.header-premium .header-mobile-socials .social-link:hover,
    .callback-section .social-link:hover,
    .footer .social-link:hover {
        transform: translateY(-3px) scale(1.055) !important;
        box-shadow: 0 10px 24px rgba(30, 48, 37, .13) !important;
        filter: saturate(1.08);
    }
}


/* =========================================================
   102.3 ОБЫЧНЫЕ ФОРМЫ — FOCUS / INPUT FEEDBACK
   ========================================================= */

.callback-section .form-input,
.callback-section .form-input__input,
.callback-section .wpcf7-form-control-wrap {
    transition:
        transform var(--c74-motion-base) var(--c74-motion-ease),
        border-color var(--c74-motion-fast) ease,
        box-shadow var(--c74-motion-base) var(--c74-motion-ease),
        background-color var(--c74-motion-base) ease !important;
}

.callback-section .form-input:focus-within .form-input__input,
.callback-section .form-input__input:focus-within {
    transform: translateY(-1px);
    box-shadow:
        0 0 0 1px rgba(215, 174, 123, .34),
        0 10px 28px rgba(8, 31, 21, .14) !important;
}

.callback-section input,
.callback-section textarea,
.callback-section select {
    transition:
        color var(--c74-motion-fast) ease,
        background-color var(--c74-motion-base) ease,
        box-shadow var(--c74-motion-base) var(--c74-motion-ease) !important;
}

.callback-section input:focus,
.callback-section textarea:focus,
.callback-section select:focus {
    outline: none !important;
}


/* =========================================================
   102.4 HOMERESERVE — ТОЛЬКО БЕЗОПАСНЫЕ ВИЗУАЛЬНЫЕ ЭФФЕКТЫ
   ВАЖНО: без transform на shell/container, чтобы не ломать
   позиционирование календаря.
   ========================================================= */

.booking-repeat__widget-shell {
    transition:
        box-shadow var(--c74-motion-slow) var(--c74-motion-ease),
        border-color var(--c74-motion-base) ease,
        background-color var(--c74-motion-base) ease !important;
}

@media (hover: hover) and (pointer: fine) {
    .booking-repeat__widget-shell:hover {
        border-color: rgba(184, 141, 88, .18) !important;
        box-shadow:
            0 22px 48px rgba(37, 50, 40, .105),
            0 0 0 1px rgba(193, 148, 91, .05) inset !important;
    }
}

#booking-top [data-instance-id="search-top"] button,
#booking-repeat [data-instance-id="search-bottom"] button {
    transition:
        filter var(--c74-motion-fast) ease,
        box-shadow var(--c74-motion-base) var(--c74-motion-ease),
        opacity var(--c74-motion-fast) ease !important;
}

@media (hover: hover) and (pointer: fine) {
    #booking-top [data-instance-id="search-top"] button:hover,
    #booking-repeat [data-instance-id="search-bottom"] button:hover {
        filter: brightness(1.035) saturate(1.04);
        box-shadow: 0 7px 18px rgba(20, 48, 34, .12);
    }
}


/* =========================================================
   102.5 КАРТОЧКИ — МЯГКИЙ LIFT
   ========================================================= */

.advantages .advantage-card,
.details-modern .detail-card,
.nearby-card,
.testimonial-card,
.sv-infra-feature,
.booking-repeat__perk,
.location-block-benefits .benefit-item,
.resort-map-premium__card {
    transition:
        transform var(--c74-motion-slow) var(--c74-motion-ease),
        box-shadow var(--c74-motion-slow) var(--c74-motion-ease),
        border-color var(--c74-motion-base) ease,
        background-color var(--c74-motion-base) ease !important;
}

@media (hover: hover) and (pointer: fine) {

    .advantages .advantage-card:hover,
    .details-modern .detail-card:hover,
    .nearby-card:hover,
    .testimonial-card:hover,
    .sv-infra-feature:hover,
    .booking-repeat__perk:hover,
    .location-block-benefits .benefit-item:hover {
        transform: translateY(-5px) !important;
    }

    .advantages .advantage-card:hover,
    .details-modern .detail-card:hover,
    .testimonial-card:hover,
    .nearby-card:hover {
        box-shadow:
            0 24px 52px rgba(42, 55, 45, .12),
            0 2px 8px rgba(42, 55, 45, .05) !important;
    }

    .sv-infra-feature:hover,
    .booking-repeat__perk:hover,
    .location-block-benefits .benefit-item:hover {
        box-shadow: 0 14px 30px rgba(42, 55, 45, .085) !important;
    }
}


/* =========================================================
   102.6 ФОТО — КИНЕМАТОГРАФИЧНЫЙ ZOOM
   ========================================================= */

.nearby-card__image img,
.sv-infra-premium__static-image,
.images-slider img,
.resort-map-premium__image img {
    transition:
        transform 900ms var(--c74-motion-ease),
        filter 650ms ease !important;
}

@media (hover: hover) and (pointer: fine) {

    .nearby-card:hover .nearby-card__image img {
        transform: scale(1.045) !important;
        filter: saturate(1.035) contrast(1.015);
    }

    .sv-infra-premium__visual:hover .sv-infra-premium__static-image,
    .resort-map-premium__card:hover .resort-map-premium__image img {
        transform: scale(1.025) !important;
        filter: saturate(1.025) contrast(1.01);
    }
}


/* =========================================================
   102.7 FAQ — ЖИВОЙ, НО СПОКОЙНЫЙ HOVER
   ========================================================= */

.faq-section .accordion-item-header {
    transition:
        transform var(--c74-motion-base) var(--c74-motion-ease),
        color var(--c74-motion-fast) ease,
        background-color var(--c74-motion-base) ease !important;
}

@media (hover: hover) and (pointer: fine) {
    .faq-section .accordion-item-header:hover {
        transform: translateX(3px);
    }
}


/* =========================================================
   102.8 МИКРОАНИМАЦИЯ АКЦЕНТНЫХ ИКОНОК
   ========================================================= */

.sv-infra-feature__icon,
.nearby-card__icon,
.location-block-benefits .benefit-ico,
.booking-repeat__perk strong {
    transition:
        transform var(--c74-motion-base) var(--c74-motion-ease),
        color var(--c74-motion-fast) ease,
        background-color var(--c74-motion-base) ease !important;
}

@media (hover: hover) and (pointer: fine) {

    .sv-infra-feature:hover .sv-infra-feature__icon,
    .nearby-card:hover .nearby-card__icon,
    .location-block-benefits .benefit-item:hover .benefit-ico {
        transform: scale(1.07) rotate(-2deg);
    }

    .booking-repeat__perk:hover strong {
        transform: translateY(-1px) scale(1.035);
    }
}


/* =========================================================
   102.9 SCROLL REVEAL — БЕЗ JAVASCRIPT
   Progressive enhancement: работает только там, где браузер
   поддерживает animation-timeline:view().
   ========================================================= */

@keyframes c74-reveal {
    from {
        opacity: .12;
        translate: 0 26px;
    }

    to {
        opacity: 1;
        translate: 0 0;
    }
}

@supports (animation-timeline: view()) {

    .booking-repeat__head,
    .advantages > .container > h2,
    .details-modern,
    .stay-rules__inner,
    .sv-infra-premium,
    .nearby-premium__head,
    .nearby-card,
    .testimonials .title-wrapper,
    .testimonial-card,
    .faq-section .accordion-item,
    .location-section > .container > .row,
    .callback-section .callback-wrapper {
        animation-name: c74-reveal;
        animation-duration: 1ms;
        animation-timing-function: linear;
        animation-fill-mode: both;
        animation-timeline: view();
        animation-range: entry 0% cover 22%;
    }

    .nearby-card:nth-child(2),
    .testimonial-card:nth-child(2),
    .faq-section .accordion-item:nth-child(2n) {
        animation-range: entry 4% cover 25%;
    }

    .nearby-card:nth-child(3),
    .testimonial-card:nth-child(3) {
        animation-range: entry 7% cover 28%;
    }

    .nearby-card:nth-child(4) {
        animation-range: entry 10% cover 31%;
    }
}


/* =========================================================
   102.10 ACCESSIBILITY — REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    html {
        scroll-behavior: auto !important;
    }

    *,
    *::before,
    *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
        scroll-behavior: auto !important;
    }
}

/* =========================================================
   103. INFRA PHOTO — SHARPNESS FIX
   Убираем scroll-reveal именно с большого блока инфраструктуры.
   На некоторых браузерах translate-анимация растрирует весь блок
   и визуально мылит фото + текст.
   ========================================================= */

.sv-infra-premium {
    animation: none !important;
    animation-timeline: auto !important;
    translate: none !important;
    transform: none !important;
    filter: none !important;
    opacity: 1 !important;
}

/* Само фото всегда резкое */
.sv-infra-premium__visual,
.sv-infra-premium__slider,
.sv-infra-premium__slider .swiper-wrapper,
.sv-infra-premium__slider .swiper-slide,
.sv-infra-premium__static-image,
.sv-infra-premium__slider .swiper-slide img {
    filter: none !important;
    -webkit-filter: none !important;
}

/*
 * Hover-zoom оставляем только для самого изображения,
 * но без фильтров/blur.
 */
@media (hover: hover) and (pointer: fine) {
    .sv-infra-premium__visual:hover .sv-infra-premium__static-image,
    .sv-infra-premium__visual:hover .sv-infra-premium__slider .swiper-slide img {
        transform: scale(1.025) !important;
        filter: none !important;
    }
}

/* =========================================================
   104. INFRA PHOTO — MOBILE RASTER SHARPNESS
   F12 подтвердил:
   - исходник 1122×1402;
   - на мобильном он рисуется примерно 321×360;
   - filter/transform/animation у картинки и родителей = none.
   Значит мыло не от анимации, а от ресемплинга большого
   растрового макета при принудительной высоте.
   ========================================================= */

@media (max-width: 650px) {

    .sv-infra-premium__slider--static {
        height: auto !important;
        min-height: 0 !important;
        overflow: hidden !important;
    }

    .sv-infra-premium__static-image {
        display: block !important;

        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;

        object-fit: contain !important;
        object-position: center center !important;

        transform: none !important;
        translate: none !important;

        filter: none !important;
        -webkit-filter: none !important;

        /*
         * В Chromium/WebKit делает уменьшенную растровую
         * картинку визуально чуть резче.
         */
        image-rendering: -webkit-optimize-contrast;

        backface-visibility: visible !important;
        -webkit-backface-visibility: visible !important;
    }

    /*
     * На мобильном убираем декоративный затемняющий слой:
     * он не размывает пиксели, но визуально снижает резкость.
     */
    .sv-infra-premium__slider--static::after {
        display: none !important;
    }

}

/* =========================================================
   105. PHOTO EFFECTS OFF — FINAL
   Убираем ВСЕ добавленные нами эффекты с фотографий.
   Кнопки, формы, меню и прочие микро-анимации остаются.
   ========================================================= */

/* Сами фотографии — без анимаций, фильтров, zoom и transform */
.nearby-card__image img,
.sv-infra-premium__static-image,
.sv-infra-premium__slider .swiper-slide img,
.images-slider img,
.resort-map-premium__image img {
    transition: none !important;
    animation: none !important;

    transform: none !important;
    translate: none !important;
    scale: none !important;

    filter: none !important;
    -webkit-filter: none !important;

    opacity: 1 !important;

    image-rendering: auto !important;
    backface-visibility: visible !important;
    -webkit-backface-visibility: visible !important;
}

/* Hover больше не увеличивает и не перекрашивает фото */
.nearby-card:hover .nearby-card__image img,
.sv-infra-premium__visual:hover .sv-infra-premium__static-image,
.sv-infra-premium__visual:hover .sv-infra-premium__slider .swiper-slide img,
.resort-map-premium__card:hover .resort-map-premium__image img {
    transform: none !important;
    filter: none !important;
    -webkit-filter: none !important;
}

/*
 * Контейнеры с крупными фотографиями тоже не двигаем.
 * Это исключает растрирование изображения из-за transform
 * на родительском блоке.
 */
.sv-infra-premium,
.sv-infra-premium__visual,
.sv-infra-premium__slider,
.sv-infra-premium__slider--static,
.resort-map-premium__card,
.resort-map-premium__image,
.images-slider-container,
.images-slider {
    animation: none !important;
    animation-timeline: auto !important;
    transform: none !important;
    translate: none !important;
    filter: none !important;
}

/* Убираем декоративное затемнение именно с фото инфраструктуры */
.sv-infra-premium__slider--static::after,
.sv-infra-premium__slider::after {
    display: none !important;
}




/* =========================================================
   106. ОТЗЫВЫ — ЗАГОЛОВОК НА ТЕЛЕФОНЕ
   Раньше h2 был font-size:0 из-за пустого ::before,
   и «Отзывы реальных гостей» не отображался.
   ========================================================= */

@media (max-width: 650px) {

    .testimonials h2.testimonials-title {
        font-size: 38px !important;
        line-height: 1.04 !important;
    }

    .testimonials h2.testimonials-title span {
        display: block !important;
    }

}


/* =========================================================
   107. ЕДИНАЯ ШИРИНА — FAQ, ЛОКАЦИЯ, ПОДВАЛ
   Эталон: те же значения, что у инфраструктуры, отзывов
   и контактов (раздел 37):
   desktop  — calc(100% - 80px), максимум 1320px
   tablet   — calc(100% - 48px)
   mobile   — calc(100% - 28px)
   Внутренние контейнеры FAQ и локации не трогаем:
   меняем только ширину самих секций.
   ========================================================= */

/* ---------------------------------------------------------
   FAQ + ЛОКАЦИЯ
   --------------------------------------------------------- */

.faq-section,
.location-section {
    width: calc(100% - 80px) !important;
    max-width: 1320px !important;

    margin-left: auto !important;
    margin-right: auto !important;

    box-sizing: border-box !important;
}

@media (max-width: 1024px) {

    .faq-section,
    .location-section {
        width: calc(100% - 48px) !important;
        max-width: none !important;
    }

}

@media (max-width: 650px) {

    .faq-section,
    .location-section {
        width: calc(100% - 28px) !important;
        max-width: none !important;
    }

}


/* ---------------------------------------------------------
   ПОДВАЛ
   Селектор усилен (html body ...), чтобы перебить inline-стили
   из footer.php, которые идут позже style.css.
   --------------------------------------------------------- */

@media (min-width: 1101px) {

    html body .c74-footer .c74-footer__inner {
        width: min(1320px, calc(100% - 80px)) !important;
        max-width: none !important;
    }

    /* В 1320px четыре колонки должны помещаться без тесноты */
    html body .c74-footer .c74-footer__grid {
        column-gap: 60px !important;
    }

}

@media (min-width: 651px) and (max-width: 1100px) {

    html body .c74-footer .c74-footer__inner {
        width: calc(100% - 48px) !important;
        max-width: none !important;
    }

}

@media (max-width: 650px) {

    html body .c74-footer .c74-footer__inner {
        width: calc(100% - 28px) !important;
        max-width: none !important;
    }

}

/* =========================================================
 * 103. CHALET74 HEADER — RESPONSIVE SAFETY OVERRIDE
 * 901–1400: одна горизонтальная строка.
 * <=900: отдельная mobile-шапка.
 * Этот блок оставлять в самом конце style.css.
 * ========================================================= */

@media (min-width: 901px) and (max-width: 1400px) {

    html body .header.header-premium .header-premium__bar {
        display: grid !important;
        grid-template-columns: minmax(165px, auto) minmax(0, 1fr) auto !important;
        align-items: center !important;
        gap: 12px !important;
        min-height: 64px !important;
    }

    html body .header.header-premium .header-desktop-menu {
        display: block !important;
        min-width: 0 !important;
        width: 100% !important;
    }

    html body .header.header-premium .header-desktop-menu ul.main-menu {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: center !important;
        gap: clamp(9px, 1.15vw, 17px) !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
    }

    html body .header.header-premium .header-desktop-menu ul.main-menu > li {
        display: block !important;
        flex: 0 0 auto !important;
        width: auto !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    html body .header.header-premium .header-desktop-menu ul.main-menu > li > a {
        display: block !important;
        white-space: nowrap !important;
    }

    html body .header.header-premium .pc-block-header {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
    }

    html body .header.header-premium .header-contact,
    html body .header.header-premium .pc-socials {
        display: none !important;
    }

    html body .header.header-premium .pc-block-header > .header-booking-btn {
        display: flex !important;
    }

    html body .header.header-premium .c74-mobile-header {
        display: none !important;
    }
}

@media (max-width: 900px) {

    html body .header.header-premium .header-premium__bar {
        display: none !important;
    }

    html body .header.header-premium .c74-mobile-header {
        display: flex !important;
    }
}


/* =========================================================
 * 104. CHALET74 HEADER — FINAL CLEANUP FOR 901–1400
 * Убираем старый бургер/drawer на компактном desktop.
 * ========================================================= */
@media (min-width: 901px) and (max-width: 1400px) {

    html body .header.header-premium .mobile-menu-button,
    html body .header.header-premium .header-nav,
    html body .header.header-premium .header-mobile-socials {
        display: none !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }

    html body .header.header-premium .header-premium__bar {
        grid-template-columns:
            minmax(185px, auto)
            minmax(0, 1fr)
            auto !important;
        padding: 8px 12px 8px 14px !important;
        overflow: visible !important;
    }

    html body .header.header-premium .header-desktop-menu ul.main-menu {
        gap: clamp(10px, 1.1vw, 16px) !important;
    }

    html body .header.header-premium .header-desktop-menu ul.main-menu > li > a {
        font-size: 12px !important;
        line-height: 1.2 !important;
        padding: 8px 0 !important;
    }

    html body .header.header-premium .header-booking-btn {
        min-height: 44px !important;
        padding-left: 16px !important;
        padding-right: 16px !important;
        white-space: nowrap !important;
    }
}


/* =========================================================
 * 107. CHALET74 HEADER — FINAL WIDTH
 * Шапка совпадает с основной сеткой сайта: 1280px.
 * Важно: правило действует уже с 1200 CSS px, а не с 1401,
 * поэтому не зависит от Windows scaling / DPR / zoom.
 * ========================================================= */
@media (min-width: 1200px) {

    html body .header.header-premium > .container {
        width: calc(100% - 80px) !important;
        max-width: 1280px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        box-sizing: border-box !important;
    }

    html body .header.header-premium .header-premium__bar {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
}

/* Компактный desktop/tablet оставляем гибким */
@media (min-width: 901px) and (max-width: 1199px) {
    html body .header.header-premium > .container {
        width: calc(100% - 32px) !important;
        max-width: none !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}

