body {
    background-color: black;
}

.slider {
    position: relative;
    width: 80%;
    height: 300px;
    margin: 0 auto;
    overflow: hidden;
}

.slide21 {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transition: left 0.5s ease-in-out;
}

.slide21.active {
    left: 0;
}

.slide21.prev {
    left: -80%;
}

.slide21.next {
    left: 80%;
}

.slide21 img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}


@media (max-width: 1224px) {
    /* Скрываем обычное меню и кнопку */
    .headerMenuContainer,
    .headerButtonBooking {
        display: none !important;
    }
}

/* Мобильные стили  */
@media (max-width: 767px) {

    /* Важные базовые стили */
    html,
    body {
        width: 100%;
        overflow-x: hidden;
        position: relative;
    }

    .containerMarginHeaderMain {
        margin: 0px 20px !important;
        flex: 1;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    /* Хеддер */
    .headerContainer {
        margin-top: 46px !important;
        position: relative;
        display: flex;
        justify-content: space-between;
        align-items: center;
        width: 280px;

    }

    .headLogo {
        width: 184px !important;
        height: 18px !important;
        font-size: 14px !important;
        font-weight: 700;
        color: #000000;
        font-family: 'PT Sans', sans-serif;
        padding: 10px 1px !important;
        cursor: pointer;
        user-select: none;
    }

    .menuDivider {
        display: none !important;
    }

    /* Мобильное меню */
    .mobile-menu {
        position: fixed;
        top: 0;
        right: -340px;
        width: 300px;
        height: 100vh;
        background: #fff;
        z-index: 1000;
        padding: 70px 20px 20px;
        transition: right 0.3s ease;
        overflow-y: auto;
    }

    .mobile-menu.active {
        right: 0;
    }

    /* Стили для контейнера меню */
    .mobile-menu .headerMenuContainer {
        display: flex !important;
        flex-direction: column;
        width: 100% !important;
        height: auto;
        padding: 0;
        background: transparent;
    }

    /* Стили для списка меню */
    .mobile-menu .headerMenuList {
        display: flex !important;
        flex-direction: column !important;
        gap: 15px !important;
        width: 100% !important;
        padding: 0;
        margin: 0;
        list-style: none !important;
    }

    /* Стили для пунктов меню - ОСНОВНЫЕ ИЗМЕНЕНИЯ */
    .mobile-menu .headerMenuItem {
        display: block !important;
        padding: 12px 15px !important;
        border-bottom: 1px solid #eee;
        font-size: 18px !important;
        color: #000 !important;
        /* Явно задаем цвет текста */
        font-family: 'PT Sans', sans-serif !important;
        /* Явно задаем шрифт */
        font-weight: 400 !important;
        text-decoration: none !important;
        width: 100% !important;
        box-sizing: border-box !important;
        background: transparent !important;
        text-align: left !important;
        margin: 0 !important;
    }

    /* Убираем возможные наследуемые стили */
    .mobile-menu .headerMenuItem:hover,
    .mobile-menu .headerMenuItem:focus,
    .mobile-menu .headerMenuItem:active {
        color: #000 !important;
        background: transparent !important;
    }

    /* Оверлей */
    .menu-overlay {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.5);
        z-index: 999;
        display: none;
    }

    .menu-overlay.active {
        display: block;
    }

    /* Анимация бургера в крестик */
    .burger-menu.active span:nth-child(1) {
        transform: rotate(45deg) translate(6px, 6px);
    }

    .burger-menu.active span:nth-child(2) {
        opacity: 0;
    }

    .burger-menu.active span:nth-child(3) {
        transform: rotate(-45deg) translate(5px, -6px);
    }
}

/* стили ПК хедера */
.headerContainer {
    display: flex;
    align-items: center;
    gap: 61px;
    max-width: 1808px;
    /* или нужная вам максимальная ширина */
    margin: 0 auto;
    /* padding: 0 20px; */
    box-sizing: border-box;
}

.headLogo {
    flex: 0 0 auto;
    /* Не растягивается и не сжимается */
    font-size: 24px;
    font-weight: 700;
    color: #000000;
    font-family: 'PT Sans', sans-serif;
    white-space: nowrap;
    padding: 10px 61px;
    user-select: none;
}

.headLogo a {
    text-decoration: none;
    color: black;
}

@media(max-width:1440px) {
    .headLogo {
        flex: 0 0 auto;
        font-size: 24px;
        font-weight: 700;
        color: #000000;
        font-family: 'PT Sans', sans-serif;
        white-space: nowrap;
        padding: 10px 1px;
    }

    .formNameText {
        width: 203px;
        height: 26px;
        font-family: 'PT Sans', sans-serif;
        font-weight: 700;
        font-size: 20px;
        color: #FFFFFF;
        margin-left: 20px;
        display: flex;
        align-items: center;
    }

    .dateInputContainer {
        position: relative;
        width: 232px !important;
        height: 70px;
        background-color: #FFFFFF;
        border-radius: 20px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        padding: 0 20px;
        box-sizing: border-box;
    }

    .relaxFormContainer .dateInputContainer {
        width: 542px !important;
    }

    .relaxFormContainer .selectContainer {
        width: 542px !important;
    }

    .relaxFormContainer .FooterButtonBooking {
        margin-right: 0px !important;
    }

    .selectContainer {
        position: relative;
        width: 232px !important;
        height: 70px;
        background-color: #FFFFFF;
        border-radius: 20px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        padding: 0 20px;
        box-sizing: border-box;
    }

    .FooterButtonBooking {
        width: 232px;
        height: 70px;
        border: 1px solid;
        border-color: #FFFFFF;
        border-radius: 20px;
        display: flex;
        justify-content: center;
        align-items: center;
        font-family: 'PT Sans', sans-serif;
        font-weight: 700;
        font-size: 20px;
        color: #FFFFFF;
        cursor: pointer;
        margin-right: 20px;
    }
}

.headerMenuContainer {
    flex: 1 1 auto;
    /* Занимает всё доступное пространство */
    height: 71px;
    border-radius: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #FFFFFF;
    min-width: 0;
    /* Важно для flex-элементов */
}

.green-bg-white-border {
    transition: .5s;
}

.green-bg-white-border:hover {
    background-color: white;
    color: #272F07;
}

.headerMenuList {
    width: 100%;
    height: 31px;
    list-style-type: none;
    display: flex;
    /* justify-content: space-between; */
    justify-content: space-around;
    padding: 0;
    margin: 0;
}

.headerMenuItem {
    font-size: 18px;
    padding: 5px 10px;
    font-family: 'PT Sans', sans-serif;
    white-space: nowrap;
    text-align: center;
    flex: 1 1 auto;
    user-select: none;
}

.headerMenuItem a {
    text-decoration: none;
    color: black;
}

.menuDivider {
    color: #F2F3ED;
    font-size: 24px;
    font-weight: 400;
    /* flex: 0 0 auto;
   padding: 0 5px; */
    display: flex;
    justify-content: center;
    align-items: center;

}

.headerButtonBooking {
    /* display: flex;
  justify-content: center;
  align-items: center;
  width: 282px;
  height: 70px;
  border-radius: 20px;
  color: #FFFFFF;
  background-color: #272F07;
  font-weight: 700;
  font-size: 20px;
  font-family: 'PT Sans', sans-serif;
  cursor: pointer; */
    flex: 0 0 auto;
    min-width: 282px;
    height: 70px;
    border-radius: 20px;
    color: #FFFFFF;
    background-color: #272F07;
    font-weight: 700;
    font-size: 20px;
    font-family: 'PT Sans', sans-serif;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    white-space: nowrap;
    padding: 0 15px;
}

@media (max-width: 1224px) {
    .formBlock .dateInputContainer {
        width: 230px !important;
    }
    
    .formBlock .selectContainer {
        width: 321px !important;
    }
}

@media (min-width: 768px) and (max-width: 1224px) {
    .formBlock {
        height: fit-content !important;
        padding: 27px 184px !important;
        box-sizing: border-box;
    }

    /* Бургер-кнопка */
    .burger-menu {
        display: block !important;
        position: relative;
        width: 25px;
        /* height: 25px; */
        cursor: pointer;
        z-index: 1001;
    }

    .burger-menu span {
        display: block;
        width: 25px;
        height: 2px;
        border-radius: 5px !important;
        background: #000;
        margin: 6px 0;
        transition: all 0.3s ease;
    }
    
    .formBlock .formContainer {
        display: flex;
        flex-direction: column;
        width: 100%;
    }

    .formBlock .formContainer .FooterButtonBooking {
        width: 100%;
        margin: 0px !important;
        margin-top: 16px !important;
    }

    .formBlock .formContainer .inputFlex {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        width: 100% !important;
    }

    .formBlock .formContainer .inputFlex .dateInputContainer {
        width: 100% !important;
    }

    .formBlock .formContainer .inputFlex .selectContainer {
        width: 100% !important;
    }

    .formBlock .formContainer form {
        width: 100%;
        margin-top: 26px;
    }

    .formBlock .formContainer .formNameText {
        width: 100% !important;
        margin: 0px !important;
        justify-content: center;
    }
}

@font-face {
    font-family: 'Bookman Old Style';
    src: url('fonts/BookmanSyr.eot');
    src: url('fonts/BookmanSyr.woff2');
    font-weight: normal;
    font-style: normal;
    font-display: swap;

}

/* Десктопные стили (от 768px и выше) */
@media (max-width: 1300px) {
    .photoPresentationHomeRelaxFamily {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scroll-snap-type: x mandatory;
        scroll-padding: 0 10px;
        scroll-behavior: smooth;
    }

    .photoPresentationBlock {
        scroll-snap-align: center;
        /* flex: 0 0 60%; */
    }

}

@media (min-width: 1224px) {
    .burger-menu {
        display: none !important;
        /* Скрываем бургер-кнопку */
    }

    .mobile-menu {
        display: none !important;
        /* Скрываем мобильное меню */
    }

    /* Убедитесь, что оверлей тоже скрыт */
    .menu-overlay {
        display: none !important;
    }
}

@media (min-width: 768px) {
    .footerContactContainerMobile {
        display: none;
    }

    .addressContainerMobile {
        display: none
    }

    .howSearchContainerMobile {
        display: none
    }

    .blockMapAddressText1Mobile {
        display: none
    }

    .blockMapAddressText2Mobile {
        display: none
    }

    .blockMapHowSearchText1Mobile {
        display: none
    }

    .blockMapHowSearchText2Mobile {
        display: none
    }

    .containerMobileForAddress1Search {
        display: none
    }

    div.blockChildMobile {
        display: none;
    }
}

/* Мобильные стили  */
@media (max-width: 767px) {

    /* Важные базовые стили */
    html,
    body {
        width: 100%;
        overflow-x: hidden;
        position: relative;
    }

    .containerMarginHeaderMain {
        margin: 0px 20px !important;
        flex: 1;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    main {
        flex: 1;
        text-align: -webkit-center;
        width: 100%;
    }

    /* Баннер */
    .relaxBanner {
        width: 100% !important;
        height: 229px !important;
        border-radius: 20px !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        position: relative !important;
    }

    .relaxBanner::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.2);
        /* Черный цвет с прозрачностью 20% */
        border-radius: 20px;
        /* Скругленные углы */
        z-index: 0;
        /* Помещаем подложку под текст */
    }

    .relaxBannerTextContainer {
        margin: 20px !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        z-index: 1;
        /* Помещаем текст поверх подложки */
    }

    .relaxBannerTextTwo {
        font-size: 12px !important;
        width: 153px !important;
        height: 18px !important;
        margin-top: 20px !important;
    }

    /* Форма бронирования */
    .formBlock,
    .formContainer {
        margin-top: 26px;
        width: 280px !important;
        height: 290px !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: start !important;
        border-radius: 20px !important;
    }

    .formBlock .dateLabel {
        font-family: 'PT Sans', sans-serif !important;
        color: #2B2B2B !important;
        font-weight: 700 !important;
        text-align: start;
    }

    .formNameText {
        /* margin: 10px 0 !important; */
        font-size: 14px !important;
    }

    .inputFlex {
        margin-bottom: 120px !important;
        flex-direction: column;
        width: 247px !important;
        height: 43px !important;
        gap: 0px !important;

    }

    @media(max-width: 361px) {
        .inputFlex {
            margin-bottom: 120px !important;
            flex-direction: column;
            width: 247px !important;
            height: 43px !important;

        }
    }

    .selectLabel {
        font-size: 12px !important;
        color: #2B2B2B;
    }

    .selectValue {
        font-size: 16px !important;
        text-align: start;
    }

    .dateInputContainer {
        width: 100% !important;
        height: 43px !important;
        margin-bottom: 10px;
        border-radius: 10px !important;
        padding: 5px 15px !important;
    }

    .selectContainer {
        width: 100% !important;
        height: 43px !important;
        margin-bottom: 10px;
        border-radius: 10px !important;
        padding: 5px 15px !important;

    }

    .calendarIcon {
        cursor: pointer;
        width: 16.67px !important;
        height: 16.25px !important;
        filter: drop-shadow(0 0 0.5px #272F07);
        /* Увеличивает "жирность" */
        top: 50% !important;
    }

    .selectArrow {
        position: absolute;
        top: 50% !important;
        right: 20px;
        transform: translateY(-50%);
        width: 16px;
        /*  Настройте размер стрелки */
        height: 16px;
        /* pointer-events: none;  Чтобы клики проходили сквозь стрелку */
    }

    .dateLabel {
        font-size: 12px !important;
    }

    .dateInput {
        font-size: 16px !important;
    }

    .FooterButtonBooking {
        width: 247px !important;
        height: 43px !important;
        margin-top: -10px !important;
        border-radius: 10px !important;
        font-size: 14px !important;
        margin-right: 0px !important;
        /*  margin-bottom: 10px !important; */
    }

    @media(max-width:361px) {
        .FooterButtonBooking {
            width: 247px !important;
            height: 43px !important;
            margin-top: -10px !important;
            border-radius: 10px !important;
            font-size: 14px !important;
            margin-right: 0px !important;
            /* margin-bottom: 10px !important; */
        }

    }

    .center-line {
        display: block !important;
        text-align: center !important;
    }

    .photoPresentationHomeRelaxFamily {
        margin-top: 35px !important;
        flex-direction: column;
        width: 100% !important;
        height: 200px !important;
    }


    /* Блок "Что у нас есть" */
    .blockWeHave {
        width: 100% !important;
        margin-top: 65px !important;
    }

    .WeHaveText {
        font-size: 26px !important;
        margin-bottom: 0px !important;
    }

    .WeHaveLogoItemText {
        font-size: 16px !important;
        width: 100% !important;
        font-weight: 400 !important;
        color: #2B2B2B !important;
    }

    .WeHaveLogoTableContainer {
        width: 100% !important;
        height: fit-content !important;
        border-radius: 20px !important;
        margin-top: 35px !important;
        padding: 10px !important;
    }

    .WeHaveLogoTable {
        width: 95% !important;
        height: auto !important;
        justify-content: start !important;
        margin-left: 20px !important;
    }

    .WeHaveLogoItem {
        width: 100% !important;
        margin: 0 !important;
        gap: 10px;
        /* Основное свойство для современных браузеров */
        /* Фолбэк для старых версий Safari */
        row-gap: 10px;
    }

    /* Двойная страховка для gap */
    .WeHaveLogoItem:not(:last-child) {
        margin-bottom: 10px;
    }

    .WeHaveLogoItemContent img {
        width: 20px !important;
        height: 20px !important;
    }

    .WeHaveLogoList {
        display: flex;
        flex-direction: column !important;
        width: 200px !important;
        height: fit-content !important;
        row-gap: 0px !important;
        flex-wrap: nowrap !important;
        -webkit-margin-before: 0;
        -webkit-margin-after: 0;
        -webkit-padding-start: 0;
    }

    /* Банный комплекс */
    .blockBathComplex {
        margin-top: 65px !important;
        width: 100% !important;
        height: 482px !important;
        gap: 0px !important;
    }

    .BathComplexText {
        font-size: 26px !important;
        font-weight: 400 !important;
        color: #2B2B2B;
    }

    .BathComplexContainer {
        margin-top: 29px !important;
        width: 280px !important;
        height: 428px !important;
    }

    .BathComplexContentContainer {
        width: 236px !important;
        height: 180px !important;
        left: 8% !important;
        top: 220px !important;
        gap: 1px !important;
        padding: 0px !important;
        border-radius: 20px !important;
        justify-content: start !important;
    }

    .bathFeaturesList {
        width: 166px !important;
        height: 72px;
        font-size: 14px !important;
        font-weight: 400 !important;
        gap: 5px !important;
        padding: 0;
        margin-top: 20px;
        margin-left: 40px;
        margin-bottom: 30px;
    }

    .bathBookButton {
        width: 204px !important;
        height: 43px !important;
        border-radius: 10px !important;
        font-size: 14px !important;
    }

    /* Карта */

    .blockMap {
        margin-top: 65px !important;
        width: 280px !important;
        height: 577px !important;
        border-radius: 20px !important;
        align-items: center !important;
    }

    .blockMapContainer {
        width: 236px !important;
        height: 531px !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;

    }

    .addressContainerMobile {
        /* margin-top: 10% !important; */
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 5px;
    }

    .howSearchContainerMobile {
        /* margin-top: 5% !important; */
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        margin-left: 13px !important;
        gap: 5px;
    }

    .blockMapAddressText1Mobile {
        font-size: 14px !important;
        color: #FFFFFF;
        font-weight: 700;
    }

    .blockMapAddressText2Mobile {
        font-size: 14px !important;
        color: #FFFFFF;
    }

    .blockMapHowSearchText1Mobile {
        font-size: 14px !important;
        color: #FFFFFF;

    }

    .howSearch {
        font-size: 14px !important;
        color: #FFFFFF;
        font-weight: 700;
    }

    .containerMobileForAddress1Search {
        margin-top: 20px;
        width: 236px;
        height: 64px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 10px;
    }

    .blockMapHowSearchText2Mobile {
        font-size: 14px !important;
        color: #FFFFFF;
        padding-right: 10px !important;
    }

    .addressContainer {
        display: none !important;
    }

    .howSearchContainer {
        display: none !important;
    }

    .blockMapAddressText1 {
        display: none !important;
    }

    .blockMapAddressText2 {
        display: none !important;
    }

    .blockMapHowSearchText1 {
        display: none !important;
    }

    .blockMapHowSearchText2 {
        display: none !important;
    }

    .blockMapText {
        margin-top: 5%;
        width: 204px;
        height: 21px;
        text-align: center;
        font-size: 16px !important;
    }

    .blockMapStyle {
        width: 236px !important;
        height: 406px !important;
        border-radius: 40px !important;
        overflow: hidden;
        /* Важно для скругления углов */
        position: relative;
        /* Нужно для абсолютного позиционирования дочерних элементов */
    }

    /* Стили для iframe карты */
    .blockMapStyle iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100% !important;
        height: 100% !important;
        border: none;
        border-radius: 40px;
        /* Совпадает с родителем */
    }

    .blockOurRooms {
        display: none !important;
        margin-top: 50px !important;
        width: 100% !important;

    }

    .OurRoomsContainer {
        width: 100% !important;
    }

    /* мобильные слайдеры на главной*/
    .blockOurRoomsTextMobile {
        font-family: "Bookman Old Style";
        font-size: 26px !important;
        font-weight: 400 !important;
        color: #2B2B2B;
        text-align: center;
    }

    .blockChildTextMobile {
        font-family: "Bookman Old Style";
        font-size: 26px !important;
        font-weight: 400 !important;
        color: #2B2B2B;
        text-align: center;
    }

    .blockOurRoomsMobile {
        display: block !important;
        margin-top: 65px !important;
        width: 360px !important;
        height: auto !important;
    }

    div.blockChildMobile {
        display: block !important;
        margin-top: 65px !important;
        width: 360px !important;
        height: auto !important;
    }

    .OurRoomsMobileSlideText {
        margin-top: 5%;
        font-family: 'PT Sans', sans-serif;
        font-size: 16px !important;
        font-weight: 700 !important;
        color: #2B2B2B;
        margin-left: 20px;
    }

    .ChildMobileSlideText {
        /* margin-top: 30%; */
        font-family: 'PT Sans', sans-serif;
        font-size: 16px !important;
        font-weight: 700 !important;
        color: #2B2B2B;
        /* margin-left: 15px; */
    }

    .OurRoomsMobileButtonContainer {
        display: flex;
        flex-direction: column;
        gap: 4px;
        justify-content: center;
        margin-top: auto;
    }

    .mobileBookingButton {
        width: 204px;
        height: 43px;
        display: flex;
        justify-content: center;
        align-items: center;
        background-color: #272F07;
        border-radius: 10px;
        color: #FFFFFF;
        font-family: 'PT Sans', sans-serif;
        font-size: 14px !important;
        font-weight: 700 !important;
    }

    .mobileAllViews {
        width: 204px;
        height: 43px;
        display: flex;
        justify-content: center;
        align-items: center;
        background-color: #FFFFFF;
        border: 1px solid #272F07;
        border-radius: 10px;
        color: #272F07;
        font-family: 'PT Sans', sans-serif;
        font-size: 14px !important;
        font-weight: 700 !important;
    }

    .OurRoomsMobileTextListItem {
        font-family: 'PT Sans', sans-serif;
        font-size: 16px !important;
        font-weight: 400 !important;
        color: #000000;
        margin-right: 100px;
    }

    .ChildMobileTextList {
        margin-top: 20px;
        padding: 0;
        margin-left: 20px;
    }

    .ChildMobileTextListItem {
        font-family: 'PT Sans', sans-serif;
        font-size: 16px !important;
        font-weight: 400 !important;
        color: #000000;
        margin-right: 10px;

    }

    .ImgBlockRoomsMobile {
        width: 100%;
        height: 217px;
        border-radius: 20px;
        overflow: hidden;
        /* Это важно для скругления углов */
        display: block;
        position: relative;
        /* Для дополнительных элементов внутри */
    }

    .ImgBlockChildMobile {
        width: 100%;
        height: 217px;
        border-radius: 20px;
        overflow: hidden;
        /* Это важно для скругления углов */
        display: block;
        position: relative;
    }

    .ImgRoomsMobile {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
        display: block;
    }

    .ImgChildMobile {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
        display: block;
    }

    .blockOurRoomsMobileContainer {
        margin-top: 35px;
        width: 360px !important;
        position: relative;
        overflow: hidden;
        /* Скрываем нативный скролл */
        overflow-x: auto;
        touch-action: pan-y;
        /* Разрешаем только вертикальные жесты */

    }

    .blockChildMobileContainer {
        margin-top: 18px;
        width: 360px !important;
        position: relative;
        /* overflow: scroll; */
        /* Скрываем нативный скролл */
        /* touch-action: pan-y; */
    }

    .rooms-mobile-slider {
        display: flex;
        /* Располагаем слайды в строку */
        gap: 14px;
        /* Расстояние между слайдами */
        width: 100% !important;
        transition: transform 0.1s ease;
        /* Для плавности */
        will-change: transform;
    }

    .child-mobile-slider {
        display: flex;
        /* Располагаем слайды в строку */
        gap: 14px;
        /* Расстояние между слайдами */
        width: 100% !important;
        height: 425px !important;
        transition: transform 0.3s ease;
        /* Для плавности */
        will-change: transform;

    }

    .OurRoomsMobileSlide {
        /* width: 85vw !important; */
        /* Ширина слайда */
        /* max-width: 236px !important; */
        /* scroll-snap-align: start; */
        /* flex-shrink: 0; */
        /* Не сжимать слайды */
        height: 501px !important;
        border-radius: 20px;
        background-color: #FFFFFF;
        display: flex;
        flex-direction: column;
        align-items: center;
        box-sizing: border-box;
        padding-bottom: 20px;
    }

    .ChildMobileSlide {
        /* width: 85vw !important; */
        /* Ширина слайда */
        /* max-width: 236px !important; */
        /* scroll-snap-align: start; */
        /* flex-shrink: 0; */
        /* Не сжимать слайды */
        height: 425px !important;
        border-radius: 20px;
        /* background-color: #FFFFFF; */
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .childInfoContainer {
        margin-top: 23px;
        border-radius: 20px;
        width: 85vw !important;
        max-width: 236px !important;
        height: 160px;
        background-color: #FFFFFF;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }

    .childInfoInnerBlock {
        /* border: 1px solid #000; */
        width: 188px;
        height: 113px;
    }

    .blockForChildren {
        margin-top: 50px !important;
        width: 100% !important;
        display: none !important;
    }

    .ForChildrenContainer {
        width: 100% !important;
    }

    /* Мобильные отзывы (свайп по одному) */
    .blockReviews {
        margin-top: 65px !important;
        width: 100% !important;
        height: 190px !important;
        display: flex;
        flex-direction: column;
        align-items: center;
        overflow: hidden;
        gap: 16px !important;
    }

    .reviewsText {
        font-family: "Bookman Old Style" !important;
        font-size: 26px !important;
        font-weight: 400 !important;
        color: #000000;
    }

    .reviewsContainer {
        margin-top: 15px !important;
        width: 100% !important;
        /* Используем 100% ширины контейнера */
        height: 147px !important;
        display: flex !important;
        overflow-x: auto !important;
        scroll-snap-type: x mandatory !important;
        -webkit-overflow-scrolling: touch;
        scroll-behavior: smooth;
        margin: 0 15px;
        /* Боковые отступы для контейнера */
        gap: 8px;
        /* Отступ между слайдами */
    }

    .reviewsOne {
        scroll-snap-align: center;
        /* Центрируем текущий слайд */
        flex: 0 0 219px;
        /* Фиксированная ширина слайда */
        min-width: 219px;
        /* Минимальная ширина слайда */
        /* height: 150px !important; */
        /* box-sizing: border-box; */
    }

    .reviewsOne img {
        width: 100%;
        height: auto;
        object-fit: cover;
    }

    /* Скрываем scrollbar */
    .reviewsContainer::-webkit-scrollbar {
        display: none;
    }

    .reviewsContainer {
        -ms-overflow-style: none;
        scrollbar-width: none;
    }

    /* Нижняя форма */
    .blockStartRelaxForm {
        margin-top: 65px !important;
        width: 280px !important;
        height: 290px !important;
        border-radius: 20px !important;
    }

    .selectLabel {
        color: #2B2B2B !important;
        font-weight: 700 !important;
        text-align: start;
    }

    .relaxFormText {
        font-size: 14px !important;
        text-align: center;
    }

    .relaxFormContainer {
        width: 247px !important;
        /* padding: 15px; */
        height: 238px !important;
        gap: 12px !important;
    }

    .inputContainerFlex {
        margin-top: 12px;
        gap: 0 !important;
    }

    .blockStartRelaxForm .dateInputContainer,
    .blockStartRelaxForm .selectContainer,
    .blockStartRelaxForm .FooterButtonBooking {
        width: 100% !important;
        margin-top: 0px !important;
        position: relative;
        /* Гарантируем, что инпут и иконка правильно взаимодействуют */
        z-index: 0;
    }

    /* Стили для календаря */
    .flatpickr-calendar {
        position: absolute !important;
        left: 0 !important;
        top: 100% !important;
        z-index: 10000 !important;
        width: auto !important;
        min-width: 300px !important;
        max-width: 100% !important;
        box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
    }

    /* Специальные стили для второй формы */
    .relaxFormContainer .dateInputContainer {
        z-index: 10;
        /* Больше чем у соседних элементов */
    }

    .relaxFormContainer .flatpickr-calendar {
        top: calc(100% + 5px) !important;
        left: 0 !important;
        width: 100% !important;
    }

    /* Иконка календаря */
    .calendarIcon {
        position: relative;
        z-index: 2;
        cursor: pointer;
    }

    /* Инпут даты */
    .dateInput {
        pointer-events: none;
        background: transparent;
    }

    .inputFlex {
        position: relative;
        z-index: 1;
    }

    .dateInputContainer {
        position: relative;
        z-index: 1;
    }

    .dateInputContainer.active {
        z-index: 1001;
    }

    .flatpickr-calendar {
        position: absolute !important;
        left: 0 !important;
        width: 100% !important;
        z-index: 1002 !important;
        box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
        background: #fff !important;
        border-radius: 8px !important;
    }

    .calendarIcon {
        position: relative;
        z-index: 3;
        cursor: pointer;
    }

    .dateInput {
        pointer-events: none;
        background: transparent;
        position: relative;
        z-index: 1;
    }

    /* Дополнительные гарантированные стили для второго календаря */
    .dateInputContainer:nth-child(2) .flatpickr-calendar,
    .dateInputContainer:nth-child(2) .flatpickr-month,
    .dateInputContainer:nth-child(2) .flatpickr-innerContainer,
    .dateInputContainer:nth-child(2) .flatpickr-rContainer {
        background: #fff !important;
    }
}

@media (max-width: 1300px) {
    .photoPresentationBlock2Container {
        display: flex;
        justify-content: center;
        align-items: center;
        /* border: 1px solid #000; */
        width: 219px !important;
        height: 186px !important;
        border-radius: 30px;
        background-color: #FFFFFF;
    }

    .photoPresentationBlock1,
    .photoPresentationBlock2,
    .photoPresentationBlock3,
    .photoPresentationBlock4,
    .photoPresentationBlock5 {
        width: 219px !important;
        height: 186px !important;
        border-radius: 30px !important;
        /* overflow: hidden !important; */
        /* Важно: чтобы скругления применились к img */
        margin-right: 10px !important;
        /* Добавляет отступ между слайдами */
        margin-top: 0 !important;
    }

    .photoPresentationBlock1 img,
    .photoPresentationBlock2 img,
    .photoPresentationBlock3 img,
    .photoPresentationBlock4 img,
    .photoPresentationBlock5 img {
        width: 219px !important;
        /* Растягиваем на весь блок */
        height: 186px !important;
        /* object-fit: cover !important; */
        /* Аналог background-size: cover */
        object-position: center !important;
        /* Аналог background-position */
    }

    .photoPresentationBlock2Text {
        margin-top: 80px;
        font-size: 14px !important;
        text-align: justify;
    }

    .photoPresentationBlock2Text2 {
        display: none !important;
    }

    /* Блок "Гостевой дом" */
    .blockHomeRelaxFamily {
        width: 100% !important;
        height: auto !important;
        margin: 0px 0px !important;
    }

    .HomeRelaxFamilyTextContainer {
        margin-top: 65px;
        width: 100%;
        /* width: 280px !important; */
        height: fit-content !important;
        margin-left: 0 !important;
        /* padding: 15px 15px; */
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        gap: 22px !important;
    }

    .HomeRelaxFamilyText1 {
        width: 100% !important;
        height: fit-content !important;
        text-align: center;
        font-size: 40px !important;
        line-height: 1;
    }

    .HomeRelaxFamilyText2 {
        font-size: 14px !important;
        width: 100% !important;
        height: 54px !important;
        text-align: justify;
    }
}

@media (max-width: 767px) {
    .HomeRelaxFamilyText1 {
        font-size: 26px !important; 
        height: 75px !important;
    }
}

html,
body {
    width: 100%;
    height: 100%;
    margin: 0;
}

body {
    display: flex;
    flex-direction: column;
    background-color: #F2F3ED;
}

/* Скрываем слайдер на ПК (ширина больше 768px) */
.photoPresentationSliderWrapper {
    display: flex;
    transition: transform 0.3s ease;
    justify-content: center;
}

@media (min-width: 1025px) {
    .photoPresentationSliderWrapper {
        width: 100%;
    }
}

.dateInputContainer {
    position: relative;
    z-index: 1;
}


.containerMarginHeaderMain {
    margin: 20px 56px 0px 56px;
    flex: 1;
    display: flex;
    flex-direction: column;

}

main {
    flex: 1;
}

.blockOurRoomsMobile {
    display: none;
}

/* стили для основного контента */
.relaxBanner {
    margin-top: 20px;
    /* width: 1808px; */
    width: 100%;
    background-size: cover;
    /*  Чтобы картинка заполняла весь блок */
    background-position: center;
    /*  Чтобы картинка была отцентрирована */
    height: 69vh;
    border-radius: 40px;
    display: flex;
    flex-direction: column;
    justify-content: start;
    align-items: start;
    color: white;
    position: relative;
    /* Добавляем для позиционирования фона */
    overflow: hidden;
    user-select: none;
    /* Чтобы скругленные углы работали для дочерних элементов */
}

.relaxBannerBg {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    /* Аналог background-size: cover */
    object-position: center;
    /* Аналог background-position: center */
    z-index: -1;
    /* Отправляем изображение на задний план */
}

.relaxBannerTextContainer {
    /* border: 1px solid #000; */
    margin-top: 176px;
    margin-left: 76px;
    display: flex;
    flex-direction: column;
    justify-content: start;
    align-items: start;
}

.relaxBannerTextTwo {
    font-size: 20px;
    font-family: 'PT Sans', sans-serif;
    font-weight: 700;
    color: #FFFFFF;
}

/* стили для формы под банером */
.formBlock {
    margin-top: 20px;
    border: 1px solid #000;
    /*  width: 1808px; */
    width: 100%;
    height: 123px;
    border-radius: 40px;
    background-color: #272F07;
    display: flex;
    align-items: center;
    padding: 0px 10px;
    box-sizing: border-box;
}

@media (max-width: 767px) {
    .formBlock {
        display: none !important;
    }
}

.formContainer {
    /* width: 1808px; */
    width: 100%;
    display: flex;
    justify-content: space-around;
    align-items: center;
    gap: 10px;
}

.formNameText {
    /* width: 243px; */
    height: 26px;
    font-family: 'PT Sans', sans-serif;
    font-weight: 700;
    font-size: 20px;
    color: #FFFFFF;
}

.FooterButtonBooking {
    width: 282px;
    height: 70px;
    border: 1px solid;
    border-color: #FFFFFF;
    border-radius: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: 'PT Sans', sans-serif;
    font-weight: 700;
    font-size: 20px;
    color: #FFFFFF;
    cursor: pointer;
}

/* Стили для кастомных инпутов даты */
.dateInputContainer {
    position: relative;
    width: 282px;
    height: 70px;
    background-color: #FFFFFF;
    border-radius: 20px;
    display: flex;
    flex-direction: column;
    /*  Текст сверху, дата снизу */
    justify-content: center;
    padding: 0 20px;
    box-sizing: border-box;
}

.dateLabel {
    font-size: 14px;
    font-family: 'PT Sans', sans-serif;
    color: #888;
    /*  Серый цвет для текста "Заезд" и "Выезд" */
    margin-bottom: 5px;
}

.inputFlex {
    display: flex;
    gap: 12px;
}

.dateInput {
    font-size: 18px;
    font-family: 'PT Sans', sans-serif;
    border: none;
    background: none;
    outline: none;
    /* padding-right: 30px; /*  Место для иконки календаря */
    cursor: pointer;
    /*  Меняем курсор на руку */
}

/* Убираем нативную иконку календаря */
.dateInput::-webkit-calendar-picker-indicator {
    display: none !important;
}

.dateInput {
    -moz-appearance: textfield;
    /* Для Firefox */
    appearance: none;
    /* Для современных браузеров */
}

#reviews-desktop {
    display: flex;
}

#reviews-mobile {
    display: none;
}

@media (max-width: 767px) {
    #reviews-desktop {
        display: none !important;
    }
    
    #reviews-mobile {
        display: block !important;
    }
}

.calendarIcon {
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    width: 30px;
    /* Подстройте под ваш размер */
    height: 30px;
    /* Подстройте под ваш размер */
    object-fit: contain;
    /* Чтобы изображение не искажалось */
    cursor: pointer;
}

/* стили для кастомного селекта */
.selectContainer {
    position: relative;
    width: 282px;
    height: 70px;
    background-color: #FFFFFF;
    border-radius: 20px;
    display: flex;
    flex-direction: column;
    /*  Текст сверху, дата снизу */
    justify-content: center;
    padding: 0 20px;
    box-sizing: border-box;
}

.selectLabel {
    font-size: 14px;
    font-family: 'PT Sans', sans-serif;
    color: #000000;
    margin-bottom: 5px;
    font-weight: 600;
}

.selectValue {
    font-size: 18px;
    font-family: 'PT Sans', sans-serif;
}

.selectArrow {
    position: absolute;
    top: 65%;
    right: 20px;
    transform: translateY(-50%);
    width: 36px;
    /*  Настройте размер стрелки */
    height: 16px;
    /* pointer-events: none;  Чтобы клики проходили сквозь стрелку */
}

.selectDropdownList {

    position: absolute;
    top: 100%;
    /* Сразу под контейнером */
    left: 0px;
    right: 0px;
    margin: 0;
    padding: 0;
    list-style: none;
    background: #fff;
    border-top: none;
    /* Убираем двойную границу */
    border-radius: 0 0 20px 20px;
    /* box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2); */
    z-index: 100;
    overflow: hidden;
    /* Чтобы скругления работали */
    display: none;
}

/* Убираем скругление у контейнера, когда список открыт */
.selectContainer.open {
    border-radius: 20px 20px 0 0;
}

/* стили для блока "Гостевой дом для семейного отдыха" */
.blockHomeRelaxFamily {
    /* border: 1px solid #000; */
    /*  width: 1484px; */
    width: 100%;
    height: 600px;
    /* margin-left: 162px; */
    margin-top: 114px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.HomeRelaxFamilyTextContainer {
    /* border: 1px solid #000; */
    /* width: 1199px; */
    width: 100%;
    height: 76px;
    /* margin-left: 150px; */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 10px;
}

.HomeRelaxFamilyText1 {
    height: 38px;
    font-weight: 400;
    font-size: 40px;
    color: #2B2B2B;
    font-family: "Bookman Old Style";
}

.HomeRelaxFamilyText2 {
    font-weight: 400;
    font-size: 22px;
    font-family: 'PT Sans', sans-serif;
    color: #2B2B2B;
    text-align: center;
}

.photoPresentationHomeRelaxFamily {
    /* border: 1px solid #000; */
    /* width: 1484px; */
    width: 100%;
    height: 220px;
    margin-top: 102px;
    /* margin-bottom: 182px; */
    display: flex;
}

.photoPresentationBlock img {
    object-fit: cover;
}

.photoPresentationBlock1 {
    width: 326px;
    height: 418px;
    border-radius: 30px;
    overflow: hidden;
    /* Важно: чтобы скругления применились к img */
}

.photoPresentationBlock1 img {
    width: 100%;
    /* Растягиваем на весь блок */
    height: 100%;
    object-fit: cover;
    /* Аналог background-size: cover */
    object-position: center;
    /* Аналог background-position */
}

.photoPresentationBlock2 {
    /* border: 1px solid #000; */
    width: 266px;
    height: 418px;
    display: flex;
    flex-direction: column;
    justify-content: end;
    margin-left: 1%;
}

.photoPresentationBlock2Container {
    display: flex;
    justify-content: center;
    align-items: center;
    /* border: 1px solid #000; */
    width: 266px;
    height: 282px;
    border-radius: 30px;
    background-color: #FFFFFF;
}

.photoPresentationBlock2Content {
    /* border: 1px solid #000; */
    width: 212px;
    height: 214px;
    display: flex;
    flex-direction: column;

}

.photoPresentationBlock2Text {
    display: flex;
    justify-content: start;
    align-items: start;
    /* border: 1px solid #000; */
    width: 190px;
    height: 156px;
    text-align: left;
    font-family: 'PT Sans', sans-serif;
    font-weight: 400;
    font-size: 19px;
    color: #2B2B2B;
}

.photoPresentationBlock2Text2 {
    margin-top: 5%;
    display: flex;
    gap: 10px;
}

.contentPresentationBlock2Text {
    display: flex;
    flex-direction: column;
    width: 148px;
    height: 36px;
    font-family: 'PT Sans', sans-serif;
    font-weight: 400;
    font-size: 14px;
    color: #2B2B2B;
}

.photoPresentationBlock3 {
    margin-left: 1%;
    width: 251px;
}

.photoPresentationBlock3 img {
    width: 251px;
    height: 290px;
    border-radius: 30px;
}

.photoPresentationBlock4 {
    margin-left: 1%;
    width: 326px;
}

.photoPresentationBlock4 img {
    width: 326px;
    height: 418px;
    border-radius: 30px;
}

.photoPresentationBlock5 {
    margin-left: 1%;
    width: 251px;
    margin-top: auto;
}

.photoPresentationBlock5 img {
    width: 251px;
    height: 290px;
    border-radius: 30px;
}

/* стили для блока ЧТО У НАС ЕСТЬ */
.blockWeHave {
    margin-top: 146px;
    /* border: 1px solid #000; */
    /* width: 1808px; */
    width: 100%;
    height: fit-content;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.WeHaveText {
    /*  border: 1px solid #000; */
    font-weight: 400;
    font-size: 40px;
    color: #2B2B2B;
    font-family: "Bookman Old Style";
}

.WeHaveLogoTableContainer {
    /* border: 1px solid #000; */
    margin-top: 60px;
    /* width: 1808px; */
    width: 100%;
    height: fit-content;
    border-radius: 40px;
    display: flex;
    justify-content: center;
    background-color: #FFFFFF;
    box-sizing: border-box;
    padding: 84px 60px 71px 60px;
    box-sizing: border-box;
}

.WeHaveLogoTable {
    /* border: 1px solid #000; */
    /* width: 1689px; */
    width: 100%;
    height: fit-content;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #FFFFFF;
}

.WeHaveLogoList {
    /* border: 1px solid #000; */
    width: 1689px;
    box-sizing: border-box;
    padding: 10px;
    height: fit-content;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: start;
    row-gap: 15px;
    background-color: #FFFFFF;
}

.blockMap {
    padding: 9px;
    box-sizing: border-box;
}

@media (max-width: 360px) {
    .blockMap {
        padding: 0;
    }
}

.WeHaveLogoItem {
    /* border: 1px solid #000; */
    width: 275px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: start;
    background-color: #FFFFFF;
    gap: 10px;
}

.WeHaveLogoItemContent {
    display: flex;
    align-items: center;
    gap: 10px;
}

@media (max-width: 1452px) {
    .relaxBannerTextTwo {
        margin-top: 40px;
    }
}

.WeHaveLogoItemContent img {
    width: 40px !important;
    height: 40px !important;
}

.WeHaveLogoItemText {
    width: 259px;
    font-family: 'PT Sans', sans-serif;
    font-weight: 400;
    font-size: 26px;
    color: #2B2B2B;
}

/* стили для слайдера НАШИ НОМЕРА */
.blockOurRooms {
    /* border: 1px solid #000; */
    /* margin-top: 5%;
                 margin-bottom: 5%; */
    /* border: 1px solid #000; */
    /* width: 1808px; */
    margin-top: 135px;
    width: 100%;
    height: fit-content;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 60px;
}

.OurRoomsText {
    font-weight: 400;
    font-size: 40px;
    color: #2B2B2B;
    font-family: "Bookman Old Style";
}

.OurRoomsContainer {
    /* border: 1px solid #000; */
    /* width: 1798px; */
    width: 100%;
    height: 557px;
    border-radius: 30px;
    background-color: #FFFFFF;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: xx-large;
}

/* стили для СЛАЙДЕРА наши номера*/
.sliderContainer {
    position: relative;
    /* border: 1px solid #000; */
    /* width: 1739px; */
    width: 100%;
    height: 475px;
    overflow: hidden;
    /* Скрываем всё за пределами контейнера */
}

.slide {
    position: absolute;
    /* width: 1565px; */
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    top: 0;
    left: 0;
    opacity: 0;
    transition: opacity 0.5s ease-in-out;
    /* Анимация движения */
    /* Только плавное появление */
}

.slide.active {
    /* display: flex; */
    /* Активный слайд виден */
    opacity: 1;
    z-index: 2;
    transform: translateX(0);
}


.slide.next {
    transform: translateX(100%);
    /* Следующий слайд справа */
}

.slide.prev {
    transform: translateX(-100%);
    /* Предыдущий слайд слева */
}


.sliderArrow {
    /* border: 1px solid #000; */
    padding: 30px;
}

.sliderButtonBlock {
    /* border: 1px solid #000; */
    width: 636px;
    height: 314px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.sliderText {
    font-family: 'PT Sans', sans-serif;
    font-weight: 700;
    font-size: 28px;
    color: #2B2B2B;
}

.sliderTextListItem {
    font-family: 'PT Sans', sans-serif;
    font-weight: 400;
    font-size: 20px;
    color: #000000;
}

.sliderButtonContainer {
    display: flex;
    width: 592px;
    height: 70px;
    gap: 18px;
}

.sliderButtonContainer div {
    cursor: pointer;
    user-select: none;
}

.sliderBooking {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 282px;
    height: 70px;
    border-radius: 20px;
    background-color: #272F07;
    color: #FFFFFF;
    font-family: 'PT Sans', sans-serif;
    font-weight: 700;
    font-size: 20px;
}

.viewAllRooms {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 282px;
    height: 70px;
    border-radius: 20px;
    border: 1px solid #272F07;
    font-family: 'PT Sans', sans-serif;
    font-weight: 700;
    font-size: 20px;
    color: #272F07;
}

.sliderImgBlock.active {
    width: 629px;
    /* Активное фото */
}

.sliderImgBlock:not(.active) {
    width: 107px;
    /* Неактивные фото */
}

.sliderImgBlock {
    margin-left: 16px;
    /* border: 1px solid #000; */
    /* width: 107px; */
    height: 475px;
    transition: width 0.3s ease;
}

.sliderImg {
    border-radius: 40px;
    width: 100%;
    /* Картинка занимает 100% ширины блока */
    height: 100%;
    /* Можно оставить 475px или тоже 100% */
    object-fit: cover;
}

/* стили для блока Банный комплекс */
.blockBathComplex {
    margin-top: 150px;
    width: 100%;
    max-width: 1808px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 60px;
}

.BathComplexText {
    font-weight: 400;
    font-size: 40px;
    color: #2B2B2B;
    font-family: "Bookman Old Style";
}

.BathComplexContainer {
    position: relative;
    /* Важно для позиционирования дочерних элементов */
    width: 100%;
    height: 704px;
    border-radius: 20px;
    overflow: hidden;
    /* Обрезаем выходящее за границы */
}

.bathComplexImage {
    width: 100%;
    height: 100%;
    object-fit: cover;
    /* Аналог background-size: cover */
    object-position: center;
    display: block;
    /* Убираем лишний отступ снизу */
}

.BathComplexContentContainer {
    position: absolute;
    top: 125px;
    left: 50px;
    background-color: #272F07;
    padding: 30px;
    border-radius: 30px;
    width: 345px;
    height: 398px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 60px;

}

.bathFeaturesList {
    color: #FFFFFF;
    font-family: 'PT Sans', sans-serif;
    font-weight: 400;
    font-size: 20px;
    display: flex;
    flex-direction: column;
    margin-right: 15%;
    gap: 10px;
}

.bathBookButton {
    width: 282px;
    height: 70px;
    border-radius: 20px;
    background-color: #FFFFFF;
    font-family: 'PT Sans', sans-serif;
    font-weight: 700;
    font-size: 20px;
    color: #272F07;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* стили для слайдера блок ДЛЯ ДЕТЕЙ */
.blockForChildren {
    display: block;
    /* border: 1px solid #000; */
    margin-top: 160px;
    /* border: 1px solid #000; */
    /* width: 1808px; */
    width: 100%;
    height: 673px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 60px;
}

.ForChildrenText {
    font-weight: 400;
    font-size: 40px;
    color: #2B2B2B;
    font-family: "Bookman Old Style";
}

.sliderArrowChild {
    padding: 20px;
}

.ForChildrenContainer {
    /* border: 1px solid #000; */
    /* width: 1798px; */
    width: 100%;
    height: 557px;
    border-radius: 30px;
    background-color: #FFFFFF;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: xx-large;
}

.sliderChildContainer {
    /* border: 1px solid #000; */
    width: 1739px;
    height: 475px;
    /* display: flex;
                align-items: center; */
    position: relative;
    overflow: hidden;
    /* Важно для анимации */
}

.slideChild {
    position: absolute;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    top: 0;
    left: 0;
    opacity: 0;
    /* Изначально скрываем все слайды */
    transition: opacity 0.6s ease-in-out;
    /*  Анимация */
}

.slideChild.active {
    opacity: 1;
    /*  Показываем активный слайд */
}

/* Стили для картинок (аналогично первому слайдеру) */
.slideChildImgBlock {
    margin-left: 16px;
    /* border: 1px solid #000; */
    height: 475px;
    transition: width 0.3s ease;
    overflow: hidden;
}

.sliderChildImg {
    border-radius: 40px;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.slideChildImgBlock.active {
    width: 629px;
    /* Активное фото */
}

.slideChildImgBlock:not(.active) {
    width: 107px;
    /* Неактивные фото */
}

.slideChildInfoBlock {
    margin-left: 16px;
    /* border: 1px solid #000; */
    width: 386px;
    height: 192px;
}

.childText {
    font-family: 'PT Sans', sans-serif;
    font-weight: 700;
    font-size: 28px;
    color: #2B2B2B;
}

.childListItem {
    font-family: 'PT Sans', sans-serif;
    font-weight: 400;
    font-size: 20px;
    color: #000000;
}

/* стили для блока КАК К НАМ ДОБРАТЬСЯ */
.blockMap {
    /* width: 1808px; */
    width: 100%;
    height: 1073px;
    border-radius: 40px;
    background-color: #272F07;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 120px;
}

.blockMapContainer {
    /* border: 1px solid #000; */
    /* width: 1723px; */
    width: 95%;
    height: 1015px;
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    align-items: start;
}

.blockMapText {
    font-family: 'PT Sans', sans-serif;
    font-weight: 700;
    font-size: 30px;
    color: #FFFFFF;
}

.addressContainer {
    display: flex;
    align-items: center;
}

.blockMapAddressText1 {
    font-family: 'PT Sans', sans-serif;
    font-weight: 400;
    font-size: 20px;
    color: #FFFFFF;
}

.blockMapAddressText2 {
    font-family: 'PT Sans', sans-serif;
    font-size: 20px;
    color: #FFFFFF;
}

.howSearchContainer {
    display: flex;
}

.map-info-texts {
    display: flex;
    justify-content: start;
    align-items: start;
    gap: 10px;
    flex-direction: column;
}

.blockMapHowSearchText1 {
    font-family: 'PT Sans', sans-serif;
    font-weight: 400;
    font-size: 20px;
    color: #FFFFFF;
}

.blockMapHowSearchText2 {
    font-family: 'PT Sans', sans-serif;
    font-weight: 400;
    font-size: 20px;
    color: #FFFFFF;
}

.blockMapStyle {
    width: 100%;
    height: 800px;
    /* Управляйте высотой здесь */
    margin: 20px 0;
    border-radius: 40px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

/* стили для блока ОТЗЫВЫ О НАС */
.blockReviews {

    margin-top: 170px;
    /* width: 1808px; */
    width: 100%;
    height: fit-content;
    display: flex;
    flex-direction: column;
    justify-content: start;
    gap: 40px;
}

.reviewsText {
    font-family: "Bookman Old Style";
    font-size: 40px;
    font-weight: 400;
    color: #000000;
    text-align: center;
}

.reviewsContainer {

    /* width: 1808px; */
    width: 100%;
    height: 576px;
    display: flex;
    justify-content: space-between;
    gap: 80px;
}

/* ОТЗЫВ ОДИН */
.reviewsOne {

    /* width: 842px; */
    width: 100%;
    height: 576px;
    background-color: #FFFFFF;
}

.reviewsOne img {

    width: 100%
}

.reviewsOneContentContainer {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 50px;
    padding: 30px 30px;
    height: auto;
}

.reviewsOneTopBlock {

    width: 790px;
    display: flex;
    justify-content: space-between;

}

.reviewScoreContainer {

    display: flex;
    align-items: center;
    gap: 10px;
}

.reviewCountContainer {
    font-family: 'PT Sans', sans-serif;
    font-weight: 400;

    width: auto;
    gap: 5px;
    color: #888;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.reviewName {
    font-family: 'PT Sans', sans-serif;
    font-size: 30px;
    font-weight: 700;
}

.reviewTotalScore {
    font-family: 'PT Sans', sans-serif;
    font-size: 50px;
    font-weight: 400;
}

.reviewStars {
    color: yellow;
    font-size: 20px;
}

.reviewsPlace {
    font-family: 'PT Sans', sans-serif;
    font-size: 25px;
    font-weight: 700;
    color: #888;
}

.reviewsOneMiddleBlock {
    font-family: 'PT Sans', sans-serif;
    font-size: 15px;
    font-weight: 700;

    border-radius: 10px;
    width: 790px;
    height: 100px;
    background-color: rgb(233, 233, 233);
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
}

.middleButton {
    font-family: 'PT Sans', sans-serif;
    font-size: 15px;
    font-weight: 700;
    width: 190px;
    height: 40px;
    background-color: #0073ff;
    color: #FFFFFF;
    border-radius: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.reviewsOneBottomBlock {

    width: 790px;
}

.bottomReviewUser {

    width: 200px;
}

.reviewUserContainer {

    display: flex;
    gap: 10px;
}

.userName {
    font-family: 'PT Sans', sans-serif;
    font-size: 15px;
    font-weight: 700;
}

.reviewDate {
    color: #888;
    font-family: 'PT Sans', sans-serif;
}

.bottomScore {
    color: yellow;
    font-size: 20px;
}

.bottomText {

    width: 700px;

    font-family: 'PT Sans', sans-serif;
    font-size: 20px;
    font-weight: 500;
    position: relative;
    /* Для позиционирования кнопки */
}

/* Скрываем часть текста */
.bottomText {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    /* Число строк до обрезки */
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Кнопка "ещё" */
.show-more-btn {
    display: none;
    /* По умолчанию скрыта */
    position: absolute;
    right: 0;
    bottom: 0;
    background: white;
    border: none;
    color: #2B2B2B;
    font-family: 'PT Sans', sans-serif;
    font-size: 20px;
    cursor: pointer;
    padding-left: 10px;
    text-decoration: underline;
}

/* Показываем кнопку, если текст обрезан */
.bottomText.truncated .show-more-btn {
    display: inline;
}

/* Раскрытый текст */
.bottomText.expanded {
    -webkit-line-clamp: unset;
}


/* стили для формы внизу */
.blockStartRelaxForm {
    margin-top: 170px;
    width: 100%;
    height: 668px;
    border-radius: 40px;
    background-color: #272F07;
    display: flex;
    justify-content: center;
    align-items: center;
}

.relaxFormContainer {
    /* border: 1px solid #000; */
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 30px;
    width: 542px;
    height: 463px;
}

.inputContainerFlex {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.relaxFormContainer .inputContainerFlex {
    width: 100%;
    height: 100%;
}

.relaxFormText {
    font-family: 'PT Sans', sans-serif;
    font-weight: 700;
    font-size: 30px;
    color: #FFFFFF;
}

.blockStartRelaxForm .dateInputContainer {
    width: 542px;
    height: 72px;
}

.blockStartRelaxForm .dateLabel {
    font-family: 'PT Sans', sans-serif;
    font-size: 16px;
    font-weight: 700;
    color: #2B2B2B;
}

.blockStartRelaxForm .dateInput {
    font-family: 'PT Sans', sans-serif;
    font-size: 25px;
    font-weight: 400;
    color: #000000;
}

.blockStartRelaxForm .FooterButtonBooking {
    width: 542px;
    height: 72px;
}

.blockStartRelaxForm .selectContainer {
    width: 542px;
    height: 72px;
}