/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/


/*#main {*/
/*    padding-top: 100px;*/
/*}*/
html, body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

:root {
    --beige: rgba(175, 145, 114, 1);
    --white: rgba(255, 255, 255, 1);
}

@font-face {
    font-family: 'Commissioner';
    src: url(../fonts/Commissioner.woff2);
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Faberge';
    src: url(../fonts/Faberge-Regular.woff2);
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
    display: block;
}

body {
    line-height: 1;
    font-family: 'Commissioner', sans-serif;
    background-color: #000;
    font-weight: 400;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Faberge', sans-serif;
}

h1 {
    color: var(--beige);
}

ol, ul {
    list-style: none;
}

blockquote, q {
    quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
    content: '';
    content: none;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

.container {
    max-width: 1600px;
    margin: 0 auto;
}

img {
    max-width: 100%;
}

a.logo {
    width: 286px;
    display: block;
}

.mob-btn {
    display: flex;
    flex-direction: column;
    gap: 15px;
    cursor: pointer;
}

.mob-btn span {
    display: block;
    width: 73px;
    height: 4px;
    background-color: #fff;
    border-radius: 20px;
}

.mob-btn span:last-child {
    width: calc(73px / 2);
}

.left-header {
    display: flex;
    align-items: center;
    gap: 45px;
}

.header {
    padding: 29px 0;
    position: absolute;
    width: 100%;
    z-index: 10;
}

header.header .container {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.logo2 img {
    width: 58px;
}

.right-header {
    display: flex;
}

a {
    text-decoration: none;
}

.btn {
    background-color: var(--beige);
    color: var(--white);
    display: flex;
    align-items: center;
    padding: 12px 20px;
    font-size: 12px;
    line-height: 14px;
    text-transform: uppercase;
    font-weight: 600;
}

.header .btn {
    margin-left: 50px;
}

a.btn.with-icon span {
    display: flex;
    align-items: center;
}

a.btn.with-icon span::before {
    content: '';
    display: block;
    width: 1px;
    height: 30px;
    background-color: #fff;
    margin: 0 20px;
}

.right-header {
    display: flex;
    align-items: center;
}

.header__phone a {
    color: var(--white);
    font-weight: 200;
    font-size: 24px;
    line-height: 29px;
}

.header__phone {
    margin-left: 25px;
}

.socs {
    display: flex;
    align-items: center;
    gap: 25px;
}

.lang {
    border: 1px solid #fff;
    border-radius: 60px;
    width: 160px;
    height: 53px;
    display: flex;
    justify-content: space-between;
    text-align: center;
    margin-right: 30px;
}

a.lang-item {
    width: 45%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    border-radius: 40px;

    margin-top: -1px;
    width: 55%;
    margin-left: -1px;
}

a.lang-item.active {
    border: 1px solid #fff;
    background: #fff;
    color: #000;
}

a.lang-item:last-child {
    margin-right: -1px;
}

.mob-btn:hover span {
    background-color: var(--beige);
}

.header__phone a:hover {
    color: var(--beige)
}

.swiper-slide.hero__slide {
    height: 85 svh;
    background-size: cover;
    background-position: center;
}

.hero__title {
    font-size: 90px;
    line-height: 100%;
    color: var(--white);
}

.hero__desc {
    font-size: 40px;
    color: #fff;
    max-width: 822px;
    line-height: 100%;
    font-weight: 200 !important;
}

.swiper-slide.hero__slide {
    display: flex;
    justify-content: center;
    align-items: center;
}

.swiper-slide.hero__slide .container {
    /*display: flex;*/
    /*gap: 75px;*/
    /*flex-direction: column;*/
}


.image-block.swiper {
    max-width: 400px;
    height: auto;
    overflow: hidden;
    border-radius: 20px; /* если нужны скругления, как на макете */
}

.image-block .swiper-slide img {
    max-width: 400px;
    height: auto;
    object-fit: cover;
}

/* Кастомизация стрелок и пагинации под дизайн */
.swiper-button-prev,
.swiper-button-next {
    color: #fff; /* или ваш цвет */
    /*background: rgba(0,0,0,0.3);*/
    border-radius: 50%;
    width: 40px;
    height: 40px;
}

.swiper-button-prev:after,
.swiper-button-next:after {
    font-size: 20px;
}

.swiper-pagination-bullet {
    background: #fff;
    opacity: 0.7;
}

.swiper-pagination-bullet-active {
    background: #007aff; /* ваш акцентный цвет */
}


@media (max-width: 767px) {
    .first-screen .hero__slide .container {
        /* Поднимаем заголовок, чтобы он не прятался за шапку */
        padding-top: 200px; /* при необходимости скорректируйте значение */
        /* Оставляем снизу место под блок бронирования */
        padding-bottom: 250px; /* подберите под высоту iframe TravelLine (237px + запас) */
        /* Растягиваем контейнер и прижимаем содержимое к верху */
        min-height: 100%;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
    }

    /* Дополнительно можно уменьшить размер шрифта заголовка для мелких экранов */
    .hero__title {
        font-size: 24px; /* подберите подходящий размер */
        line-height: 1.2;
    }
}

* {
    outline: none;
}

.swiper-pagination {
    display: flex;
    gap: 15px;
}

span.swiper-pagination-bullet {
    display: block;
    width: 16px;
    height: 16px;
    border: 2px solid rgba(213, 162, 134, 1);
    border-radius: 5px;
    background: transparent;
    opacity: 1;
}

span.swiper-pagination-bullet-active {
    border-color: #fff;
}

.swiper-pagination {
    display: flex;
    gap: 15px;
    max-width: 1600px;
    margin: 0 auto;
    float: none;
    position: static;
    position: absolute;
    left: 50% !important;
    transform: translate(-50%, 0px);
    bottom: 80px !important;
}

.image-block .swiper-pagination {
    bottom: 20px !important;
    left: 56% !important;
}

.dfx {
    display: flex;
}

.text-with-image {
    padding: 140px 0 150px;
}

.text-with-image2 {
    padding: 10px 0 10px;
}

.section2 {
    background-color: #2a2a2a;
    background-image: url(../img/pat4.png);
    /*background-size: cover;*/
}

.section2 .room-details {
    background-color: #3A3A3A;
    color: #E2D4C7;
    padding: 15px 14px 0px;
    min-height: 70px;
}

.section2 .room-title {
    font-size: 20px;
}

.section-title {
    font-size: 70px;
    color: var(--beige);

}

.gradient {
    background: linear-gradient(90deg, #AF9172 0%, #D5A286 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    color: transparent;
}

.image-block img {
    border-radius: 16px;
}

.section-title {
    font-size: 70px;
    color: var(--beige);
    margin-bottom: 80px;
    font-family: 'Faberge', sans-serif;
    line-height: 59px;
}

.section-desc {
    font-size: 28px;
    line-height: 44px;
    font-weight: 200;
    color: rgba(255, 245, 233, 1);
    max-width: 900px;
    /* width: 100%; */
}


.w-100 {
    width: 100% !important;
    max-width: 100% !important;
}

.image-block img {
    border-radius: 16px;
    max-width: 631px;
}

.text-with-image .container {
    justify-content: space-between;
    gap: 60px;
    align-items: center;
}

.section-desc p:not(:last-child) {
    margin-bottom: 40px;
}

.section3 {
    background-image: url(../img/section-img3.jpg);
    background-size: cover;
}

.section4 {
    background-image: url(../img/section-img3.jpg);
    background-size: cover;
}

.section5 {
    background-image: url(../img/texture2.jpg);
    background-size: cover;
}

.dark-text {
    color: rgba(58, 58, 58, 1);
}

.features {
    display: flex;
    flex-wrap: wrap;
    gap: 80px 50px;
}

.feat-item {
    color: rgba(255, 245, 233, 1);
    width: calc(33.33% - (100px / 3));
}

section.section.section33 {
    padding: 165px 0;
}

.feat-item-title {
    font-family: 'Faberge', sans-serif;
    line-height: 36px;
    font-size: 22px;
    margin-bottom: 36px;
}

.feat-item-desc {
    font-size: 22px;
    line-height: 36px;
    font-weight: 200;
}

img.feat__item--img {
    margin-bottom: 40px;
    height: 64px;
}

.section33 {
    background-image: url(../img/section33-bg.jpg);
    background-size: cover;
    background-position: center;
}

.section33 .section-title {
    margin-bottom: 105px;
}

.section44 {
    padding: 160px 0;
    background-color: rgba(58, 58, 58, 1);
}

.section44 .section-title {
    margin-bottom: 130px;
}

.rooms {
    display: flex;
    flex-wrap: wrap;
    gap: 50px;
}

.room-item {
    width: calc(33.33% - (100px / 3));
}

.room-item img {
    display: block;
    aspect-ratio: 350 / 200;
    border-radius: 16px 16px 0 0;
}

.room-details {
    background-color: rgba(170, 149, 130, 1);
    padding: 33px 38px 17px;
    color: #fff;
}

/*.room-details a {*/
/*    font-size: 14px;*/
/*}*/
.room-title {
    font-size: 22px;
    font-family: 'Faberge', sans-serif;
}

.room-desc {
    font-size: 20px;
    font-weight: 200;
    margin-top: 20px;
}

button.room-btn {
    width: 100%;
    -webkit-appearance: none;
    border: none;
    background-color: #262626;
    margin-top: -1px;
    position: relative;
    margin-top: -1px;
    top: -2px;
    height: 80px;
    font-size: 20px;
    font-family: 'Faberge', sans-serif;
    color: #fff;
    text-transform: uppercase;
    border-radius: 0 0 16px 16px;
    cursor: pointer;
}

a.load-more-btn {
    width: 335px;

    height: 65px;
    background-color: rgba(38, 38, 38, 1);
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 20px;
    color: #fff;
    text-transform: uppercase;
    font-family: 'Faberge', sans-serif;
    border-radius: 6px;
}

.load-more {
    text-align: center;
    margin-top: 67px;
    display: flex;
    justify-content: center;
}

.section55 {
    padding: 160px 0;
    background-image: url(../img/section55-bg.jpg);
    background-size: cover;
    background-position: center;
}

.section55 h2 {
    color: rgba(58, 58, 58, 1);
    text-align: center;
    background: none;
    -webkit-text-fill-color: rgba(58, 58, 58, 1);
}

.contact-col.contact-col--left ul li {
    position: relative;
}

.contact-col.contact-col--left ul li {
    position: relative;
    padding-left: 52px;
}

.contact-col.contact-col--left ul li img {
    position: absolute;
    left: 0;
    top: 5px;
}

.contact-col--left ul li a {
    color: white;
}

.services {
    display: flex;
    gap: 38px;
}

.service {
    aspect-ratio: 800 / 502;
    cursor: pointer;
}

.services > div {
    width: calc(50% - 19px);
    position: relative;
    overflow: hidden;
    /*border-radius: 22px;*/

}

/*.services > div > div::before {*/
/*    content: '';*/
/*    display: block;*/
/*    width: 100%;*/
/*    height: 100%;*/
/*    position: absolute;*/
/*    background: #3A3A3A;*/
/*    background: linear-gradient(180deg,rgba(58, 58, 58, 0) 0%, rgba(58, 58, 58, 1) 100%);*/
/*    left: 0;*/
/*    top: 0;*/
/*    transition: all .4s ease;*/
/*}*/
/*.services > div > div:hover::before {*/
/*    background: linear-gradient(180deg, rgba(58, 58, 58, 0) 0%, rgba(58, 58, 58, .90) 100%);*/
/*    transition: all .4s ease;*/
/*}*/

.right-section55 > div {
    /*aspect-ratio: 353 / 239;*/
    overflow: hidden;
    /*border-radius: 16px;*/
    position: relative;
    justify-content: center;
}

/*.right-section55 {*/
/*    display: flex;*/
/*    flex-direction: column;*/
/*    gap: 22px;*/
/*}*/


.right-section55 {
    display: grid;
    grid-template-columns: repeat(2, 1fr); /* две равные колонки */
    gap: 16px; /* расстояние между ячейками */
}

.service {
    background-size: 100%;
    /*background-position: center;*/
    height: 100%;
    color: #fff;
    display: flex;
    justify-content: end;
    flex-direction: column;
    padding: 54px;
    transition: all 1s ease;
}

.service:hover {
    background-size: 110%;
    transition: all 1s ease;
}

.service > div {
    z-index: 1;
}

* {
    box-sizing: border-box;
}

.service-title {
    font-size: 30px;
    font-family: 'Faberge', sans-serif;
    line-height: 100%;
}

.service-desc {
    font-size: 20px;
    line-height: 100%;
    font-weight: 100;
    max-width: 70%;
}

.service-title {
    font-size: 30px;
    font-family: 'Faberge', sans-serif;
    line-height: 100%;
    margin-bottom: 30px;
}

.section55 {
    padding: 430px 0 160px;
    background-image: url(../img/section55-bg.jpg);
    background-size: cover;
    background-position: center;
}

.section-loyalty {
    background-image: url(../img/loyalty-bg.jpg);
    padding: 154px 0 154px;
    background-size: cover;
}

.loyalty-section--title {
    font-size: 70px;
    font-family: 'Faberge', sans-serif;
    color: #fff;
    margin-bottom: 80px;
}


.loyalty-section--desc {
    font-size: 28px;
    line-height: 44px;
    font-weight: 200;
    width: 1117px;
    color: #fff;
    margin-bottom: 39px;
}

.home-form input {
    width: 383px;
    height: 62px;
    border-radius: 6px;
    border: none;
    font-family: 'Faberge', sans-serif;
    font-size: 22px;
    padding: 0 80px;
}

input.phone {
    background-image: url(../img/ph-ic.svg);
    background-repeat: no-repeat;
    background-position: 28px center;
}

input.name {
    background-image: url(../img/user-ic.svg);
    background-repeat: no-repeat;
    background-position: 28px center;
}

.home-form button.submit {
    width: 239px;
    height: 62px;
    -webkit-appearance: none;
    border: none;
    border-radius: 6px;
    margin: 0;
    padding: 0;
    text-transform: uppercase;
    font-family: 'Faberge', sans-serif;
    font-size: 20px;
    background-color: rgba(213, 162, 134, 1);
    color: #fff;
}

.home-form form {
    display: flex;
    gap: 30px;
}


.home-form button.submit:hover {
    opacity: 0.7;
    cursor: pointer;
}

.section-loyalty .container {
    position: relative;
}

img.logo-block {
    width: 275px;
    position: absolute;
    right: 40px;
    bottom: 0;
}

.section-map {
    background-image: url(../img/map.jpg);
    background-size: cover;
    padding: 100px 0 176px;
}

.map-details {
    padding: 40px 55px;
    color: #fff;
    background-color: rgba(58, 58, 58, .8);
    border-radius: 16px;
    max-width: max-content;

}

.map-title {
    font-family: 'Faberge', sans-serif;
    font-size: 40px;
    margin-bottom: 35px;
}

.map-details ul li {
    /*white-space: nowrap;*/
    font-size: 24px;
    font-weight: 200;
    margin-bottom: 24px;
    padding-left: 43px;
    min-height: 30px;
    padding-top: 4px;
    line-height: 26px;
}


.map-details li span {
    display: block;
    margin-top: 30px;
    font-size: 18px;
}

li.map-loc {
    background-image: url(../img/loc1.svg);
    background-repeat: no-repeat;
}

.map-phone {
    background-image: url(../img/ph1.svg);
    background-repeat: no-repeat;
}

.footer {
    background-color: rgba(58, 58, 58, 1);
    padding: 60px 0;
}

.footer__btn {
    font-family: 'Faberge', sans-serif;
    font-size: 20px;
    line-height: 22px;
    padding: 20px 45px;
    border-radius: 6px;
    text-transform: uppercase;
    min-width: 335px;
    display: inline-block;
    text-align: center;
}

.footer__btn--primary {
    background: #AF9172;
    background: linear-gradient(180deg, rgba(175, 145, 114, 1) 0%, rgba(213, 162, 134, 1) 100%);
    color: #fff;
}

.footer__btn--dark {
    background: #262626;
    color: #fff;
}

a.footer__logo img {
    width: 430px;
    display: block;
}

.container.footer__container {
    display: flex;
    justify-content: space-between;
    gap: 80px;
    color: #fff;
}

.footer__copyright {
    font-weight: 200;
    font-size: 16px;
    color: rgba(255, 245, 233, 1);
}

.footer__btns {
    display: flex;
    gap: 30px;
}

span.footer__copyright {
    margin-top: 25px;
    display: block;
    line-height: 32px;
}

a.footer__link {
    font-size: 16px;
    line-height: 38px;
    color: rgba(255, 245, 233, 1);
    font-weight: 200;
}

.footer__item {
    /*list-style: disc;*/
}

input.booking__input, button.booking__guests-btn {
    width: 300px;
    height: 62px;
    border-radius: 6px;
    border: none;
    padding: 32px 20px 7px;
    font-family: 'Arial';
    font-weight: bold;
    font-size: 20px;
    cursor: pointer;
    text-align: left;
    background-color: rgba(255, 255, 255, 1);
}

.booking__field {
    position: relative;
}

.booking__field {
    color: rgba(58, 58, 58, 1);
    display: block;
    width: 300px;
}

span.booking__label {
    position: absolute;
    top: 0;
    left: 20px;
    font-family: 'Arial', sans-serif;
    top: 9px;
}

span.booking__icon {
    position: absolute;
    right: 20px;
    top: 18px;
}

h3.booking__title {
    font-size: 32px;
    color: #fff;
}

p.booking__subtitle {
    font-size: 20px;
    color: #fff;
    font-weight: 200;
    margin-top: 8px;
}

form.booking__form {
    display: flex;
}

form.booking__form {
    display: flex;
    border: 1px solid #fff;
    border-radius: 10px;
    padding: 42px 33px;
    align-items: center;
    justify-content: space-between;
}

section.booking {
    /*background-image: url(../img/texture1.jpg);*/
    padding: 10px 0;
}

button.booking__submit {
    width: 182px;
    height: 62px;
    background: #AF9172;
    background: linear-gradient(180deg, rgba(175, 145, 114, 1) 0%, rgba(213, 162, 134, 1) 100%);
    color: #fff;
    text-transform: uppercase;
    font-family: 'Faberge', sans-serif;
    font-size: 20px;
    border: none;
    border-radius: 6px;
}

a.main-nav__link {
    color: rgba(58, 58, 58, 1);
    font-family: 'Faberge';
    font-size: 20px;
    line-height: 100%;
    text-transform: uppercase;
    text-align: center;
}

nav.main-nav {
    background-image: url(../img/nav-bg.jpg);
}

ul.main-nav__list {
    display: flex;
    justify-content: space-between;
    gap: 20px;
}

nav.main-nav {
    padding: 43px 0;
    background-size: cover;
    background-position: center;
}

ul.main-nav__list {
    text-align: center;
}

ul.main-nav__list {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;
    align-items: center;
}

a.main-nav__link:hover {
    color: rgba(213, 162, 134, 1);
}

.popup-nav {
    background-image: url(../img/navigation-bg.jpg);
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 11;
}

a.popup-nav__link {
    font-size: 40px;
    font-weight: 300;
    color: #fff;
}

.popup-nav__container.container {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100 svh;
}

ul.popup-nav__list {
    display: flex;
    justify-content: start;
    flex-wrap: wrap;
    gap: 120px 80px;
    max-width: 89%;
    margin: 0 auto;
}

li.popup-nav__item {
    width: calc(33.33% - (160px / 3));
}

span.popup-nav__num {
    font-size: 18px;
    color: #fff;
    font-weight: 400;
    position: relative;
    top: -26px;
    left: -10px;
}

a.popup-nav__link {
    font-size: 40px;
    font-weight: 300;
    color: #fff;
}

ul.popup-nav__list {
    display: flex;
    justify-content: start;
    flex-wrap: wrap;
    gap: 120px 80px;
    max-width: 1220px;
    margin: 0 auto;
}

.popup-nav {
    /*background-image: url("/dev/img/hero-img.jpg");*/
    background: rgba(58, 58, 58, 1);
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 11;
    padding-top: 121px;
}

.popup-nav__container.container {
    display: flex;
    justify-content: center;
    align-items: center;
    height: calc(100svh - (121px));
}

.popup-nav {
    opacity: 0;
    visibility: hidden;
}

body.nav-opened {
    overflow: hidden; /* чтобы страница не скроллилась */
}

body.nav-opened .popup-nav {
    opacity: 1;
    visibility: visible;
}

.mob-btn.active {
    /* стили активной кнопки */
}

body.nav-opened .header {
    padding: 29px 0;
    position: fixed;
    width: 100%;
    z-index: 10;
    z-index: 1111;
    top: 0;
    left: 0;
}

.mob-btn img {
    display: none;
}

.mob-btn.active span {
    display: none;
}

.mob-btn.active img {
    display: block;
}

a.popup-nav__link:hover {
    color: #af9172;
}

section.contact-section {
    background-image: url(../img/texture1.jpg);
    padding: 160px 0;
}

.container.container__contact ul {
    font-size: 28px;
    line-height: 40px;
    color: #fff;
    font-weight: 200;
}

.container.container__contact ul {
    font-size: 28px;
    line-height: 40px;
    margin-top: 60px;
    color: #fff;
    font-weight: 200;
    display: flex;
    flex-direction: column;
    gap: 70px;
}

.container.container__contact {
    display: flex;
    justify-content: space-between;
    align-items: end;
}

div.contact-form {
    padding: 50px;
    border-radius: 50px;
    background-image: url(../img/dark-wall.png);
}

.form-field input {
    width: 100%;
    height: 80px;
    padding: 0 90px;
    font-size: 20px;
    border-radius: 80px;
    border: none;
}

textarea#message {
    width: 100%;
    height: 100px;
    border-radius: 30px;
    padding: 20px 24px;
    font-size: 20px;
    font-family: 'Commissioner';
}

.form-field {
    margin-bottom: 20px;
}

.form-checkbox {
    display: flex;
    align-items: center;
    gap: 10px;
    justify-content: center;
}

.form-checkbox label, .form-checkbox label a {
    color: rgba(255, 245, 233, 1);
    font-size: 14px;
}

.contact-col.contact-col--right {
    width: 60%;
}

button.form-submit {
    width: 280px;
    height: 62px;
    margin: 0 auto;
    display: block;
    margin-top: 30px;
    background: #AF9172;
    background: linear-gradient(180deg, rgba(175, 145, 114, 1) 0%, rgba(213, 162, 134, 1) 100%);
    color: #fff;
    font-family: 'Faberge', sans-serif;
    font-size: 20px;
    line-height: 22px;
    padding: 20px 45px;
    border-radius: 6px;
    text-transform: uppercase;
    min-width: 335px;
    /* display: inline-block; */
    text-align: center;
    border: none;
}

.contact-col.contact-col--right {
    width: 790px;
}

button.form-submit:hover, button.booking__submit:hover {
    opacity: 0.8;
    cursor: pointer;
}

input#name {
    background-image: url(../img/user-ic.svg);
    background-repeat: no-repeat;
    background-position: 35px center;
}

input#email {
    background-image: url(../img/email-ic.svg);
    background-repeat: no-repeat;
    background-position: 35px center;
}

textarea#message {
    height: 155px
}

section.contact-section {
    background-image: url(../img/texture1.jpg);
    padding: 160px 0;

}

button.room-btn:hover,
a.load-more-btn:hover,
.footer__btn:hover {
    opacity: 0.8;
}

button.room-btn {
    top: 0;
}

a.footer__link:hover {
    color: var(--beige);
}

.btn:hover {
    background-color: #373737;
}

li.map-phone a {
    color: #fff;
}

li.map-phone a:hover {
    color: var(--beige)
}

.swiper-slide.hero__slide {
    min-height: 740px;
}

.mob-btn {
    justify-content: center;
    align-items: center;
    width: 60px;
}

.booking__field--guests {
    position: relative;
}

.booking__guests-popup {
    position: absolute;
    top: 100%;
    left: 0;
    background: #fff;
    padding: 14px;
    border-radius: 10px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .15);
    display: none;
    z-index: 50;
    min-width: 220px;
}

.booking__guests-popup.active {
    display: block;
}

.guest-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
}

.counter {
    display: flex;
    gap: 8px;
    align-items: center;
}

.counter button {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    border: 1px solid #ccc;
    background: #fff;
    cursor: pointer;
}

.room-item img {
    transform: scale(1);
    transition: transform 1s ease;
    cursor: pointer;
}

.room-item:hover img:hover {
    transform: scale(1.05);
    transition: transform 1s ease;
}

.room-item {
    overflow: hidden;
    border-radius: 16px;
}

.room-img {
    overflow: hidden;
}

.mob-btn span:last-child {
    width: calc(73px / 2);
}

.mob-btn span:nth-child(3) {
    width: calc(73px / 2) !important;
}

.mob-btn {
    align-items: start;

}

.swiper-slide.hero__slide .container {
    width: 100%;
}

.footer-socs {
    display: flex;
    gap: 20px;
    align-items: center;
}

.footer-socs a {
    width: 30px;
}

.container.container__contact ul {

    margin-bottom: 160px;
}

/*body.header-fixed header .btn {*/
/*    position: fixed;*/
/*    top: 0;*/
/*    right: 0;*/
/*}*/
@media screen and (max-width: 1680px) {
    .container.container__contact ul {
        font-size: 22px;
        line-height: 34px;
        margin-top: 60px;
        color: #fff;
        font-weight: 200;
        display: flex;
        flex-direction: column;
        gap: 70px;
    }

    .section-desc {
        font-size: 20px;
        line-height: 32px;
    }

    .form-field input {
        width: 100%;
        height: 64px;
        padding: 0 90px;
        font-size: 20px;
        border-radius: 80px;
        border: none;
    }

    .section-desc ul li {
        list-style-type: disc;
        margin-left: 30px;
        padding-left: 10px;
    }

    .section-desc strong {
        font-weight: 800;
    }

    textarea#message {
        height: 135px;
    }

    .container {
        max-width: 1200px;
        margin: 0 auto;
    }

    .header__phone a {
        font-size: 18px;
    }

    a.logo {
        width: 200px;
    }

    .mob-btn span {
        width: 60px;
        height: 3px;
    }

    .mob-btn span:last-child {
        width: calc(60px / 2);
    }

    .mob-btn {
        display: flex;
        flex-direction: column;
        gap: 10px;
        cursor: pointer;
    }

    .socs {
        gap: 18px;
    }

    a.soc-item img {
        width: 22px;
    }

    .logo2 img {
        width: 45px;
    }

    .header .btn {
        margin-left: 32px;
    }

    .hero__title {
        font-size: 70px;
    }

    .hero__desc {
        font-size: 30px;
    }

    .swiper-slide.hero__slide .container {
        gap: 250px;
    }

    .swiper-pagination {
        max-width: 1200px;
    }

    h3.booking__title {
        font-size: 24px;
        color: #fff;
    }

    p.booking__subtitle {
        font-size: 16px;
        margin-top: 5px;
    }

    input.booking__input, button.booking__guests-btn {
        font-size: 16px;
    }

    span.booking__label {
        font-size: 14px;
        top: 12px;
    }

    button.booking__submit {
        width: 150px;
        height: 62px;
        background: #AF9172;
        background: linear-gradient(180deg, rgba(175, 145, 114, 1) 0%, rgba(213, 162, 134, 1) 100%);
        color: #fff;
        text-transform: uppercase;
        font-family: 'Faberge', sans-serif;
        font-size: 16px;
        border: none;
        border-radius: 6px;
    }

    input.booking__input, button.booking__guests-btn {
        width: 100%;
    }

    .booking__field {
        width: 250px;
    }

    .booking__field--date, .booking__field--date {
        width: 190px;
    }

    a.main-nav__link {
        font-size: 16px;
    }

    section.booking {
        /*background-image: url(../img/texture1.jpg);*/
        padding: 10px 0;
    }

    .image-block img {
        border-radius: 16px;
        max-width: 460px;
    }

    .section-title {
        font-size: 55px;
        margin-bottom: 50px;
    }

    .section-desc {
        font-size: 24px;
        line-height: 32px;
    }

    .feat-item-desc {
        font-size: 18px;
        line-height: 30px;
        font-weight: 200;
    }

    .feat-item-title {
        font-family: 'Faberge', sans-serif;
        line-height: 36px;
        font-size: 20px;
        margin-bottom: 16px;
    }

    img.feat__item--img {
        margin-bottom: 30px;
        width: 65px;
    }

    section.section.section33 {
        padding: 120px 0;
    }

    .section44 {
        padding: 120px 0;
    }

    .room-title {
        font-size: 22px;
        font-family: 'Faberge', sans-serif;
    }

    .room-desc {
        font-size: 16px;
        font-weight: 200;
        margin-top: 20px;
    }

    .rooms {
        display: flex;
        flex-wrap: wrap;
        gap: 30px;
    }

    .room-item {
        width: calc(33.33% - (60px / 3));
    }

    .room-details {
        background-color: rgba(170, 149, 130, 1);
        padding: 25px 19px 17px;
        color: #fff;
    }

    button.room-btn {
        height: 63px;
        font-size: 17px;
    }

    .section44 .section-title {
        margin-bottom: 90px;
    }

    .service-title {
        font-size: 24px;
        margin-bottom: 20px;
    }

    .service-desc {
        font-size: 16px;
        line-height: 100%;
        font-weight: 100;
        max-width: 89%;
    }

    .section55 {
        padding: 430px 0 120px;
    }

    .section-desc p:not(:last-child) {
        margin-bottom: 20px;
    }

    .loyalty-section--title {
        font-size: 55px;
        font-family: 'Faberge', sans-serif;
        color: #fff;
        margin-bottom: 60px;
    }

    .loyalty-section--desc {
        font-size: 22px;
        line-height: 34px;
        font-weight: 200;
        width: 1117px;
        color: #fff;
        margin-bottom: 39px;
    }

    .home-form input {
        width: 303px;
        height: 62px;
        border-radius: 6px;
        border: none;
        font-family: 'Faberge', sans-serif;
        font-size: 18px;
        padding: 0 80px;
    }

    .loyalty-section--desc {
        font-size: 22px;
        line-height: 34px;
        font-weight: 200;
        width: 840px;
        color: #fff;
        margin-bottom: 39px;
    }

    img.logo-block {
        width: 165px;
    }

    .section-loyalty {
        padding: 154px 0 154px;
        background-size: cover;
    }

    .footer__btn {
        font-size: 16px;
        min-width: 285px;
    }

    .container.footer__container {
        gap: 40px;
    }

    a.footer__logo img {
        width: 250px;
    }

    .map-title {
        font-family: 'Faberge', sans-serif;
        font-size: 34px;
        margin-bottom: 25px;
    }

    .map-details ul li {
        font-size: 18px;
        font-weight: 200;
        line-height: 26px;
        margin-bottom: 24px;
        padding-left: 43px;
        min-height: 30px;
    }

    .map-details li span {
        margin-top: 20px;
        font-size: 15px;
    }

    .map-details {
        padding: 40px 35px;
        color: #fff;
        background-color: rgba(58, 58, 58, .8);
        border-radius: 16px;
        max-width: max-content;

    }

    .contact-col.contact-col--right {
        width: 590px;
    }

    .contact-col.contact-col--right {
        width: 650px;
    }

    .contact-col.contact-col--left ul li img {
        position: absolute;
        left: 0;
        top: 8px;
        width: 18px;
    }

    .section-desc {
        font-size: 20px;
        line-height: 32px;
    }

    div.contact-form {
        padding: 40px;
        border-radius: 30px;
        background-image: url(/dev/img/dark-wall.png);
    }

    .section-title {
        margin-bottom: 30px;
    }

    .container.container__contact ul {
        gap: 50px;
    }

    .contact-col.contact-col--left ul li {
        position: relative;
        padding-left: 37px;
    }
}

@media screen and (max-width: 1440px) {
    .contact-col.contact-col--right {
        width: 590px;
    }

    ul.popup-nav__list {
        display: flex;
        justify-content: start;
        flex-wrap: wrap;
        gap: 90px 80px;
        max-width: 960px;
        margin: 0 auto;
    }

    a.popup-nav__link {
        font-size: 22px;
        font-weight: 300;
        color: #fff;
    }
}




/* Улучшенные стили для попапов */
.popup-content {
    padding: 40px;
    max-width: 480px;
    background: #fff;
    border-radius: 24px;
    box-shadow: 0 30px 60px rgba(0, 0, 0, 0.3);
    font-family: 'Inter', sans-serif; /* или ваш основной шрифт */
}

.popup-content h2,
.popup-content h3 {
    margin: 0 0 12px 0;
    color: #1e2c3a;
    font-weight: 600;
    font-size: 28px;
    letter-spacing: -0.02em;
    line-height: 1.2;
}

.popup-content p {
    color: #4a5a6a;
    margin-bottom: 24px;
    font-size: 16px;
}

.popup-content .form-field {
    margin-bottom: 20px;
}

.popup-content input,
.popup-content textarea {
    width: 100%;
    padding: 16px 18px;
    border: 1px solid #e0e8f0;
    border-radius: 14px;
    font-size: 16px;
    background: #f9fbfd;
    transition: border-color 0.2s, box-shadow 0.2s;
    box-sizing: border-box;
    font-family: inherit;
}

.popup-content input:focus,
.popup-content textarea:focus {
    border-color: #b58b5b;
    outline: none;
    background: #fff;
    box-shadow: 0 0 0 3px rgba(181, 139, 91, 0.1);
}

.popup-content input[type="file"] {
    padding: 12px;
    background: #f0f4f8;
    border: 1px dashed #b58b5b;
    border-radius: 14px;
    cursor: pointer;
}

.popup-content input[type="file"]::-webkit-file-upload-button {
    background: #b58b5b;
    border: none;
    color: white;
    padding: 10px 20px;
    border-radius: 30px;
    font-weight: 600;
    margin-right: 15px;
    cursor: pointer;
    transition: background 0.2s;
}

.popup-content input[type="file"]::-webkit-file-upload-button:hover {
    background: #9a6e3f;
}

.popup-content button:hover {
    background: #9a6e3f;
}

.popup-content button:active {
    transform: scale(0.98);
}

body:not(.icms-frontpage) main {
    /*padding-top: 150px;*/

}

.container {
    color: rgba(255, 245, 233, 1);
}

.form-field label {
    margin-bottom: 5px;
}


.header {
    transition: box-shadow 0.3s ease, background-color 0.3s ease;
}

.header.fixed {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background-color: rgba(0, 0, 0, .7); /* или цвет вашего хедера */
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    z-index: 1000;
    animation: slideDown 0.3s ease;
}

@keyframes slideDown {
    from {
        transform: translateY(-100%);
    }
    to {
        transform: translateY(0);
    }
}

/* Чтобы контент не дёргался, когда хедер становится фиксированным,
   можно добавить отступ для body равный высоте хедера */
body.header-fixed {
    padding-top: 80px; /* укажите реальную высоту вашего хедера */
}


.first-screen {
    display: flex;
    flex-direction: column;
    height: 100vh; /* вся высота окна браузера */
}

.first-screen .section__hero {
    flex: 1 1 auto; /* занимает всё доступное место */
    min-height: 0; /* важно для корректной работы flex */
}

.first-screen .section__hero .hero__slider,
.first-screen .section__hero .swiper-wrapper,
.first-screen .section__hero .swiper-slide {
    height: 100%; /* слайдер и слайды растягиваются на всю высоту hero */
}

.first-screen .booking {
    flex-shrink: 0; /* блок бронирования сохраняет свою естественную высоту */
}


/* Контейнер первого экрана */
.first-screen {
    position: relative;
    height: 100vh; /* вся высота окна */
    overflow: hidden; /* чтобы ничего не вылезало */
}

/* Слайдер занимает всю высоту контейнера */
.first-screen .section__hero {
    height: 100%;
}

/* Растягиваем внутренности слайдера на всю высоту */
.first-screen .section__hero .hero__slider,
.first-screen .section__hero .swiper-wrapper,
.first-screen .section__hero .swiper-slide {
    height: 100%;
}

/* Блок бронирования накладывается поверх слайдера */
.booking-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 10; /* чтобы быть выше слайдера */
    pointer-events: auto; /* форма должна быть интерактивной */
}

/* Дополнительно можно стилизовать саму форму, чтобы она выглядела как оверлей */
.booking {
    /*background: rgba(0, 0, 0, 0.2); !* полупрозрачный фон для читаемости *!*/
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0) 50%);
    backdrop-filter: blur(2px); /* размытие фона (по желанию) */
    color: #fff;
    padding: 20px 0;
    border-radius: 0; /* или скруглить углы */
    border: none;
}

/* Пример стилей для контейнера формы TravelLine */
#block-search {
    background: transparent;
    border: none;
}

.tl-container {
    /*padding: 15px 30px;*/
}

/* Чтобы контент слайдера не перекрывался шапкой, добавьте отступ */
.first-screen .section__hero .container {
    /*padding-top: 80px; !* подберите под высоту вашей шапки *!*/
}


.loyalty-levels__accordion-container {
    gap: 80px;
    padding: 40px;
}

.loyalty-levels__item {
    border: 1px solid rgb(255 246 233);
    -webkit-transition: .4s;
    transition: .4s;
}

.loyalty-levels__item {
    width: 100%;
}

.loyalty-levels__accordion-container, .loyalty-levels__item {
    position: relative;
}

.loyalty-levels__accordion-container {
    gap: 80px;
    padding: 40px;
}

.loyalty-levels__items {
    display: grid;
    gap: 20px;
}


/*Интерактивная карта яндекс */
/* Секция с интерактивной картой */
.section-map-interactive {
    padding: 0;
    position: relative;
    height: 600px; /* При необходимости измените высоту */
    width: 100%;
    overflow: hidden;
}

/* Обёртка для карты и оверлея */
.map-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
}

/* Карта на всю обёртку */
.map-wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
    pointer-events: auto; /* карта остаётся интерактивной */
}

/* Затемняющий слой */
.map-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5); /* полупрозрачный чёрный */
    display: block;
    align-items: center;
    justify-content: center;
    pointer-events: none; /* чтобы клики проходили сквозь слой к карте */
    padding-top: 50px;
}

/* Контейнер внутри оверлея – контакты должны быть кликабельны */
.map-overlay .container .map-details {
    pointer-events: all;
}

/* Существующие стили для .map-details (если ещё не определены) */


.map-title {
    font-size: 24px;
    /*font-weight: bold;*/
    margin-bottom: 15px;
}

.map-details ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.map-details li {
    margin-bottom: 10px;
    padding-left: 30px;
    background-repeat: no-repeat;
    background-position: 0 center;
}

.map-loc {
    background-image: url('/dev/img/loc1.svg'); /* замените на свой иконки */
}

.map-phone {
    background-image: url('/dev/img/ph1.svg');
}

.map-mail {
    background-image: url('/dev/img/m1.svg');
}

.map-details a {
    color: #fff;
    text-decoration: none;
}

.map-details a:hover {
    text-decoration: underline;
}

.footer-socs {
    margin-top: 20px;
}

.footer-socs a {
    display: inline-block;
    margin-right: 10px;
}

@media (max-width: 768px) {
    .section-map-interactive {
        height: 550px;
    }
}

@media only screen and (max-width: 430px) {
    .section-map-interactive {
        height: 650px;
    }
}

/*Интерактивная карта яндекс энд*/

.title-h3 {
    font-size: 24px;
    padding-bottom: 15px;
}

.title-h2--style-uppercase {
    font-size: 30px;
}

.loyalty-levels__description {
    font-weight: 200;
}


.swiper-button-next, .swiper-button-prev {
    color: wheat;
}

.popup-nav__item {
    display: flex; /* Включаем flex-контейнер */
    align-items: flex-start; /* Выравниваем дочерние элементы по верхнему краю */
}


.section-desc .footer__btn--primary {
    background-color: #3A3A3A !important;
    background: #3A3A3A !important;
    color: #E2D4C7 !important;
    font-size: 20px;

}


section.restaurants {
    padding-top: 182px;
}

.restaurants__breadcrumbs a {
    color: #000;
}

.restaurants__breadcrumbs {
    font-family: 'Commissioner';
    font-weight: 100;
    text-transform: uppercase;
    color: #000;
    font-size: 16px;
}

h1.restaurants__title {
    font-size: 45px;
    text-transform: uppercase;
    margin-top: 70px;
    color: #3A3A3A;
    margin-bottom: 40px;
}

p.restaurants__description {
    font-size: 20px;
    color: #3A3A3A;
    font-family: 'Commissioner';
    font-weight: 100;
    line-height: 32px;
    margin-bottom: 107px;
}

h1.restaurants__title {
    font-size: 45px;
    text-transform: uppercase;
    margin-top: 62px;
    color: #3A3A3A;
    margin-bottom: 40px;
}

.restaurants__content {
    background-color: #3A3A3A;
    padding: 66px;
    color: #E2D4C7;
    font-weight: 100;
    font-size: 20px;
    line-height: 35px;
}

h2.restaurants__item-title {
    text-transform: uppercase;
    font-size: 37px;
    margin-bottom: 33px;
}

p.restaurants__item-text:not(:last-child) {
    margin-bottom: 35px;
}

a.restaurants__link {
    font-family: 'Faberge';
    color: #e2d4c7;
    text-transform: uppercase;
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-underline-offset: 3px;
    margin-top: 11px;
    display: inline-block;
    font-size: 23px;
}

a.restaurants__link:hover {
    text-decoration: none;
}

.restaurants__content {
    background-color: #3A3A3A;
    padding: 54px 106px 76px 55px;
    color: #E2D4C7;
    font-weight: 100;
    font-size: 20px;
    line-height: 28.5px;
    width: 704px;
}

p.restaurants__description {
    font-size: 26px;
    font-family: 'Commissioner';
    font-weight: 100;
    line-height: 32px;
    margin-bottom: 186px;
}

.restaurants__item.restaurants__item--restaurant {
    position: relative;
    margin-bottom: 132px;
}

p.restaurants__item-text:not(:last-child) {
    margin-bottom: 27px;
}

.restaurants__image {
    position: absolute;
    top: -66px;
    right: 0;
    width: 578px;
}

.restaurants__item.restaurants__item--bar {
    display: flex;
    justify-content: end;
}

.restaurants__item--bar {
    position: relative;
}

.restaurants__item.restaurants__item--bar .restaurants__image {
    left: 0;
    right: auto;
    width: 608px;
}

.restaurants__item.restaurants__item--bar .restaurants__content {
    padding-right: 0;
    padding-left: 142px;
    padding-top: 65px;
    padding-right: 40px;
    width: 668px;
}

.restaurants__item.restaurants__item--bar h2.restaurants__item-title {
    margin-bottom: 72px;
}

.restaurants__item.restaurants__item--bar a.restaurants__link {
    margin-top: 58px;
}

.restaurants__list {
    padding-bottom: 100px;
}

/*section.restaurants {*/
/*    background-image: url(../img/pattern1.png);*/
/*    background-size: contain;*/
/*    background-position: bottom;*/
/*    background-repeat: no-repeat;*/
/*}*/

.restaurant-detail__gallery {
    display: flex;
    gap: 20px;
}

.restaurant-detail__gallery-main {
    width: 55%;
}

.restaurant-detail__gallery-main img {
    display: block;
}

.restaurant-detail__gallery-thumbs {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

.restaurant-detail__gallery-thumbs {
    width: 45%;
}

.restaurant-detail__gallery-thumb {
    width: calc(50% - 10px);
}

.restaurant-detail__gallery-thumbs img {
    display: block;
    height: 100%;
    object-fit: cover;
}

.restaurant-detail__gallery {
    display: flex;
    gap: 20px;
    margin-bottom: 60px;
}

.restaurant-detail__description {
    margin-bottom: 80px;
    color: #3A3A3A;
}

.restaurant-detail__description {
    font-size: 28px;
    font-weight: 100;
    line-height: 25px;
}

.restaurant-detail__info-time, .restaurant-detail__info-title {
    font-size: 35px;
    line-height: 43px;
    color: #3A3A3A;
    margin-bottom: 43px;
}

p.restaurant-detail__info-text {
    font-size: 35px;
    line-height: 43px;
    font-weight: 100;
    color: #3A3A3A;
}

.restaurant-detail__info > div {
    width: 45%;
}

.restaurant-detail__info {
    display: flex;
    gap: 10%;
    color: #3A3A3A;
}

.restaurant-detail__info-icon {
    margin-bottom: 53px;
    height: 73px;
}

.restaurant-detail__info-time, .restaurant-detail__info-title {
    font-size: 28px;
    line-height: 36px;
    color: #3A3A3A;
    text-transform: uppercase;
    margin-bottom: 43px;
    font-weight: 400;
    min-height: 100px;
}

.restaurant-detail__info-text {
    font-size: 35px;
    line-height: 43px;
    font-weight: 100;
}

li.restaurant-detail__info-list-item {
    font-size: 28px;
    line-height: 43px;
    font-weight: 100;
}

li.restaurant-detail__info-list-item {
    list-style: disc;
    list-style-position: inside;
}

.restaurant-detail__note {
    font-size: 28px;
    line-height: 33px;
    margin-top: 100px;
    color: #3A3A3A;
}

a.restaurant-detail__button.restaurant-detail__button--primary {
    width: 380px;
    height: 95px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 32px;
    line-height: 35px;
    text-transform: uppercase;
    font-family: 'Faberge';
    border-radius: 10px;
    border: 2px solid #D5C2AE;
    background-color: #3A3A3A;
    color: #D5C2AE;
}

a.restaurant-detail__button.restaurant-detail__button--secondary {
    font-family: 'Faberge', sans-serif;
    font-size: 20px;
    line-height: 22px;
    padding: 20px 45px;
    border-radius: 6px;
    text-transform: uppercase;
    min-width: 335px;
    display: inline-block;
    text-align: center;
    background-color: #C5AF99;
    background-color: #C5AF99;
    color: #3A3A3A;

}

.restaurant-detail__actions {
    display: flex;
    gap: 65px;
    padding-bottom: 100px;
    margin-top: 100px;
}
.restaurants__container .text-block {
    margin-top: 70px;
    padding-bottom: 100px;
    color: #3A3A3A;
    font-size: 20px;
    line-height: 30px;
}

a.restaurant-detail__button.restaurant-detail__button--primary:hover {
    background-color: #D5C2AE;
    color: #3a3a3a;
}

a.restaurant-detail__button.restaurant-detail__button--secondary:hover {
    background-color: #3a3a3a;
    color: #D5C2AE;
}

.restaurant-detail__gallery {
    gap: 40px;
}

section.restaurants {
    background-color: #E2D4C7;
    background-image: url(/dev/img/pattern2-1.png);
}

.gal-imgs img {
    max-width: 100%;
    width: 50%;
}

.gal-imgs {
    display: flex;
    gap: 36px;
}

.text-block {
    font-size: 28px;
    line-height: 33px;
    font-weight: 100;
}

.text-block p {
    margin-bottom: 43px;
}

.text-block li {
    list-style: disc;
    list-style-position: inside;
}

.pat2 {
    background-image: url(/dev/img/pattern2.png) !important;
    background-position: center !important;
}

@media screen and (min-width: 1680px) {
    .restaurants__breadcrumbs {
        font-family: 'Commissioner';
        font-weight: 100;
        text-transform: uppercase;
        color: #000;
        font-size: 18px;
    }

    section.restaurants {
        padding-top: 245px;
    }

    h1.restaurants__title {
        font-size: 58px;
        text-transform: uppercase;
        margin-top: 132px;
        color: #3A3A3A;
        margin-bottom: 54px;
    }

    p.restaurants__description {
        font-size: 48px;
        font-family: 'Commissioner';
        font-weight: 100;
        line-height: 53px;
        margin-bottom: 238px;
    }

    .restaurants__content {
        background-color: #3A3A3A;
        padding: 73px 136px 97px 67px;
        color: #E2D4C7;
        font-weight: 100;
        font-size: 36.5px;
        line-height: 36.5px;
        width: 895px;
    }

    h2.restaurants__item-title {
        text-transform: uppercase;
        font-size: 47px;
        margin-bottom: 40px;
    }

    p.restaurants__item-text:not(:last-child) {
        margin-bottom: 35px;
    }

    a.restaurants__link {
        font-size: 29px;
    }

    .restaurants__image {
        position: absolute;
        top: -86px;
        right: 0;
        width: 806px;
    }

    .restaurants__item.restaurants__item--restaurant {
        position: relative;
        margin-bottom: 172px;
    }

    .restaurants__item.restaurants__item--bar .restaurants__content {
        padding-right: 0;
        padding-left: 182px;
        padding-top: 85px;
        padding-right: 90px;
        width: 904px;
        padding-bottom: 113px;
    }

    .restaurants__item.restaurants__item--bar h2.restaurants__item-title {
        margin-bottom: 92px;
    }

    .restaurants__item.restaurants__item--bar a.restaurants__link {
        margin-top: 76px;
    }

    .restaurants__item.restaurants__item--bar .restaurants__image {
        left: 0;
        right: auto;
        width: 794px;
    }

    .restaurants__image img {
        width: 100%;
    }
}

@media screen and (max-width: 1680px) {
    .restaurant-detail__info-text, p.restaurant-detail__info-text {
        font-size: 28px;
        line-height: 38px;
        font-weight: 100;
    }

    .container.container__contact ul {
        font-size: 22px;
        line-height: 34px;
        margin-top: 60px;
        color: #fff;
        font-weight: 200;
        display: flex;
        flex-direction: column;
        gap: 70px;
    }

    .dark-page section.restaurants {
        background-position: center;
    }
}

@media screen and (max-width: 1240px) {
    .container {
        max-width: 940px;
        margin: 0 auto;
    }

    .header__phone {
        display: none;
    }

    .lang {
        border: 1px solid #fff;
        border-radius: 60px;
        width: 120px;
        height: 43px;
        display: flex;
        justify-content: space-between;
        text-align: center;
        margin-right: 30px;
        font-size: 14px;
    }

    a.lang-item:first-child {
        height: 43px;
    }

    .hero__title {
        font-size: 60px;
    }

    .swiper-pagination {
        max-width: 940px;
    }

    form.booking__form {
        flex-wrap: wrap;
    }

    .booking__info {
        width: 100%;
        margin-bottom: 30px;
    }

    a.main-nav__link {
        font-size: 12px;
    }

    nav.main-nav {
        padding: 30px 0;
        background-size: cover;
        background-position: center;
    }

    .image-block img {
        border-radius: 16px;
        max-width: 380px;
    }

    .section-title {
        font-size: 45px;
    }

    .section-desc {
        font-size: 18px;
        line-height: 28px;
    }

    .section-title {
        margin-bottom: 30px;
    }

    .text-with-image {
        padding: 80px 0 80px;
    }

    section.section.section33 {
        padding: 80px 0;
    }

    .feat-item {
        color: rgba(255, 245, 233, 1);
        width: calc(50% - (50px / 2));
    }

    .room-title {
        font-size: 20px;
        font-family: 'Faberge', sans-serif;
    }

    .room-desc {
        font-size: 14px;
        font-weight: 200;
        margin-top: 20px;
    }

    button.room-btn {
        height: 53px;
        font-size: 14px;
    }

    a.load-more-btn {
        width: 275px;
        height: 55px;
        background-color: rgba(38, 38, 38, 1);
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 16px;
        color: #fff;
        text-transform: uppercase;
        font-family: 'Faberge', sans-serif;
        border-radius: 6px;
    }

    .service {
        padding: 30px;
    }

    .section55 {
        padding: 430px 0 80px;
    }

    .section55 .section-title {
        margin-bottom: 70px;
    }

    .section-title {
        font-size: 40px;
        line-height: 36px;
    }

    .loyalty-section--title {
        font-size: 40px;
        font-family: 'Faberge', sans-serif;
        color: #fff;
        margin-bottom: 50px;
    }

    .home-form input {
        width: 263px;
        height: 62px;
        border-radius: 6px;
        border: none;
        font-family: 'Faberge', sans-serif;
        font-size: 18px;
        padding: 0 60px;
    }

    input.phone {
        background-image: url(../img/ph-ic.svg);
        background-repeat: no-repeat;
        background-position: 20px center;
        background-size: 18px;
    }

    input.name {
        background-image: url(../img/user-ic.svg);
        background-repeat: no-repeat;
        background-position: 20px center;
        background-size: 18px;
    }

    .home-form input {
        width: 243px;
        height: 62px;
        border-radius: 6px;
        border: none;
        font-family: 'Faberge', sans-serif;
        font-size: 18px;
        padding: 0 55px;
    }

    .loyalty-section--desc {
        font-size: 20px;
        line-height: 34px;
        font-weight: 200;
        width: 760px;
        color: #fff;
        margin-bottom: 39px;
    }

    img.logo-block {
        width: 125px;
    }

    .home-form button.submit {
        width: 180px;
        font-size: 18px;
    }

    .home-form form {
        display: flex;
        gap: 20px;
    }

    .footer__btns {
        display: flex;
        gap: 15px;
        flex-direction: column;
    }

    .restaurants__image {
        position: static;
        width: 100%;
    }

    .restaurants__image img {
        width: 100%;
    }

    .restaurants__content {
        width: 100%;
    }

    .restaurants__image img {
        width: 100%;
        aspect-ratio: 16 / 9;
        object-fit: cover;
    }

    .restaurants__item.restaurants__item--bar {
        flex-direction: column;
    }

    .restaurants__item.restaurants__item--bar .restaurants__image {
        width: 100%;
    }

    .restaurants__item.restaurants__item--bar .restaurants__content {
        padding-right: 0;
        padding-left: 142px;
        padding-top: 65px;
        padding-right: 40px;
        width: 100%;
    }

    .restaurants__item.restaurants__item--bar .restaurants__content {
        padding-left: 55px;
    }
}

@media screen and (max-width: 992px) {
    .container {
        max-width: 640px;
        margin: 0 auto;
    }

    .hero__title {
        font-size: 50px;
    }

    .left-header {
        display: flex;
        align-items: center;
        gap: 25px;
    }

    .logo2 {
        display: none;
    }

    .socs {
        display: none;
    }

    .header .btn {
        margin-left: 0px;
    }

    a.logo {
        width: 170px;
    }

    .mob-btn span {
        width: 40px;
        height: 1px;
    }

    .mob-btn {
        display: flex;
        flex-direction: column;
        gap: 7px;
        cursor: pointer;
    }

    .lang {
        width: 100px;
        font-size: 12px;
        height: 35px;
    }

    .hero__desc {
        font-size: 24px;
        line-height: 120%;
    }

    a.lang-item:first-child {
        height: 35px;
    }

    a.btn.with-icon span::before {
        content: '';
        display: block;
        width: 1px;
        height: 30px;
        background-color: #fff;
        margin: 0 10px;
    }

    a.btn.with-icon img {
        width: 23px;
    }

    .swiper-pagination {
        max-width: 640px;
    }

    li.main-nav__item {
        width: calc(20% - (80px / 5));
    }

    ul.main-nav__list {
        justify-content: center;
    }

    .image-block img {
        border-radius: 16px;
        max-width: 240px;
    }

    .section-title {
        font-size: 30px;
    }

    .section-desc {
        font-size: 14px;
        line-height: 22px;
    }

    .text-with-image .container {
        justify-content: space-between;
        gap: 40px;
        align-items: center;
    }

    .section-title {
        margin-bottom: 20px;
        margin-top: 20px;
    }

    .feat-item-desc {
        font-size: 16px;
        line-height: 24px;
        font-weight: 200;
    }

    .feat-item-title {
        font-family: 'Faberge', sans-serif;
        line-height: 36px;
        font-size: 17px;
        margin-bottom: 6px;
    }

    img.feat__item--img {
        margin-bottom: 15px;
        width: 45px;
    }

    .room-item {
        width: calc(50% - (60px / 3));
    }

    .service-title {
        font-size: 18px;
        margin-bottom: 20px;
    }

    .service-desc {
        font-size: 14px;
        line-height: 100%;
        font-weight: 100;
        max-width: 89%;
    }

    .services > div {
        width: 100%;
    }

    .services {
        display: flex;
        gap: 38px;
        flex-wrap: wrap;
    }

    .service-title {
        font-size: 24px;
        margin-bottom: 20px;
    }

    .service-desc {
        font-size: 18px;
        line-height: 120%;
        font-weight: 200;
        max-width: 89%;
    }

    .loyalty-section--desc {
        font-size: 16px;
        line-height: 24px;
        font-weight: 200;
        width: 600px;
        color: #fff;
        margin-bottom: 39px;
    }

    .home-form input {
        width: 213px;
        height: 50px;
        border-radius: 6px;
        border: none;
        font-family: 'Faberge', sans-serif;
        font-size: 16px;
        padding: 0 55px;
    }

    .home-form button.submit {
        width: 140px;
        font-size: 16px;
        height: 50px;
    }

    img.logo-block {
        display: none;
    }

    .booking__field--date, .booking__field--date {
        width: 48%;
    }

    .booking__field {
        width: 100%;
        margin-top: 22px;
    }

    button.booking__submit {
        width: 100%;
        margin-top: 22px;
    }

    .booking__info {
        width: 100%;
        margin-bottom: 8px;
    }

    ul.popup-nav__list {
        display: flex;
        justify-content: start;
        flex-wrap: wrap;
        gap: 80px 80px;
        max-width: 1220px;
        margin: 0 auto;
    }

    a.popup-nav__link {
        font-size: 20px;
        font-weight: 300;
        color: #fff;
    }

    span.popup-nav__num {
        font-size: 14px;
        color: #fff;
        font-weight: 400;
        position: relative;
        top: -26px;
        left: -10px;
    }
}

@media screen and (max-width: 767px) {
    .gal-imgs {
        display: flex;
        gap: 10px;
    }
    .gal-imgs img {
        max-width: 100%;
        width: calc(50% - 5px);
    }
    .restaurants__breadcrumbs {
        font-family: 'Commissioner';
        font-weight: 100;
        text-transform: uppercase;
        color: #000;
        font-size: 17px;
        line-height: 25px;
    }
    .restaurant-detail__gallery {
        gap: 20px;
        flex-direction: column;
    }
    h1.restaurants__title {
        font-size: 32px;
        text-transform: uppercase;
        margin-top: 104px;
        color: #3A3A3A;
        margin-bottom: 34px;
    }
    .restaurant-detail__gallery {
        display: flex;
        gap: 20px;
        margin-bottom: 40px;
    }
    .restaurant-detail__description {
        font-size: 22px;
        font-weight: 100;
        line-height: 30px;
    }
    .restaurant-detail__info {
        display: flex;
        gap: 10%;
        flex-direction: column;
    }
    .restaurant-detail__info > div {
        width: 100%;
    }

    .restaurant-detail__info-time, .restaurant-detail__info-title {
        font-size: 20px;
        line-height: 30px;
        color: #3A3A3A;
        text-transform: uppercase;
        margin-bottom: 23px;
        font-weight: 400;
    }
    .restaurant-detail__info-text, p.restaurant-detail__info-text {
        font-size: 20px;
        line-height: 30px;
        font-weight: 100;
    }
    .restaurant-detail__info-icon {
        margin-bottom: 53px;
        max-width: 70px;
        margin-bottom: 20px;
    }
    .restaurant-detail__info {
        display: flex;
        gap: 30px;
        flex-direction: column;
    }
    li.restaurant-detail__info-list-item {
        font-size: 20px;
        line-height: 30px;
        font-weight: 100;
    }
    .restaurant-detail__description {
        margin-bottom: 50px;
    }
    .restaurant-detail__note {
        font-size: 20px;
        line-height: 30px;
        margin-top: 60px;
        color: #3A3A3A;
    }
    .restaurant-detail__actions {
        display: flex;
        gap: 65px;
        margin-bottom: 100px;
        margin-top: 100px;
        flex-direction: column;
    }
    a.restaurant-detail__button.restaurant-detail__button--primary {
        width: 100%;
        height: 75px;
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 26px;
        line-height: 28px;
        text-transform: uppercase;
        font-family: 'Faberge';
        border-radius: 10px;
        border: 2px solid #D5C2AE;
        background-color: #3A3A3A;
        color: #D5C2AE;
    }
    a.restaurant-detail__button.restaurant-detail__button--secondary {
        width: 100%;
        height: 75px;
        display: flex;
        justify-content: center;
        align-items: center;
        border-radius: 10px;
        background-color: #C5AF99;
        color: #3A3A3A;
        font-size: 26px;
        line-height: 28px;
        text-transform: uppercase;
        font-family: 'Faberge';
    }
    .restaurant-detail__actions {
        display: flex;
        gap: 25px;
        margin-bottom: 60px;
        margin-top: 50px;
        flex-direction: column;
    }
    p.restaurants__description {
        font-size: 20px;
        font-family: 'Commissioner';
        font-weight: 100;
        line-height: 30px;
        margin-bottom: 37px;
    }
    .restaurant-detail__actions {
        display: flex;
        gap: 25px;
        margin-bottom: 100px;
        margin-top: 100px;
        flex-direction: column;
    }
    .restaurant-detail__gallery-main {
        width: 100%;
    }
    .restaurant-detail__gallery-thumbs {
        width: 100%;
    }
    .text-block {
        font-size: 16px;
        line-height: 26px;
        font-weight: 100;
        margin-top: 30px;
        margin-bottom: 50px;
    }
    section.restaurants {
        padding-top: 122px;
    }
    h1.restaurants__title {
        margin-top: 35px;
    }
    p.restaurants__description {
        font-size: 30px;
        line-height: 38px;
    }
    .restaurants__content {
        background-color: #3A3A3A;
        padding: 40px 30px;
        color: #E2D4C7;
        font-weight: 100;
        font-size: 28.5px;
        line-height: 28.5px;
    }
    .restaurants__item.restaurants__item--bar .restaurants__content {
        padding: 40px 30px;
        margin-top: -2px;
    }
    h2.restaurants__item-title {
        text-transform: uppercase;
        font-size: 30px;
        margin-bottom: 33px;
    }
    .restaurants__content {
        background-color: #3A3A3A;
        padding: 40px 30px;
        color: #E2D4C7;
        font-weight: 100;
        font-size: 20px;
        line-height: 30px;
    }
    a.restaurants__link {
        font-family: 'Faberge';
        color: #e2d4c7;
        text-transform: uppercase;
        text-decoration: underline;
        text-decoration-thickness: 1px;
        text-underline-offset: 2px;
        margin-top: 11px;
        display: inline-block;
        font-size: 20px;
    }
    .restaurants__item.restaurants__item--bar h2.restaurants__item-title {
        margin-bottom: 30px;
    }
    .restaurants__item.restaurants__item--bar a.restaurants__link {
        margin-top: 18px;
    }
    p.restaurants__description {
        font-size: 20px;
        font-family: 'Commissioner';
        font-weight: 100;
        line-height: 42px;
        margin-bottom: 76px;
    }
    .restaurants__item.restaurants__item--restaurant {
        margin-bottom: 40px;
    }
    p.restaurants__description {
        font-size: 20px;
        font-family: 'Commissioner';
        font-weight: 100;
        line-height: 30px;
        margin-bottom: 67px;
    }
    .container {
        max-width: 100%;
        margin: 0 auto;
        padding: 0 20px;
    }

    a.btn.with-icon {
        display: none;
    }

    a.logo {
        width: 140px;
    }

    .lang {
        margin-right: 0;
    }

    .hero__title {
        font-size: 40px;
    }

    .swiper-pagination {
        max-width: calc(100% - 40px);
    }

    .hero__desc {
        font-size: 18px;
        line-height: 120%;
    }

    li.main-nav__item {
        width: calc(33.33% - (40px / 3));
    }

    li.main-nav__item {
        width: calc(50% - 20px);
    }

    .image-block img {
        border-radius: 16px;
        max-width: 100%;
        width: 100%;
    }

    .image-block {
        width: 100%;
    }

    .text-block {
        width: 100%;
    }

    .text-with-image .container {
        justify-content: space-between;
        gap: 40px;
        align-items: center;
        flex-direction: column;
    }

    section.section.section3.text-with-image .section-title {
        font-size: 27px;
    }

    .section-desc {
        font-size: 16px;
        line-height: 26px;
    }

    section.section.section3.text-with-image .section-title {
        font-size: 27px;
        margin-bottom: 40px;
    }

    .services {
        display: flex;
        gap: 20px;
        flex-wrap: wrap;
    }

    .section55 {
        padding: 280px 0 80px;
    }

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

    .home-form input {
        width: 100%;
    }

    .home-form button.submit {
        width: 100%;
    }

    .loyalty-section--desc {
        width: 100%;
    }

    .container.footer__container {
        display: flex;
        justify-content: space-between;
        gap: 80px;
        color: #fff;
        flex-direction: column;
    }

    .container.footer__container {
        display: flex;
        justify-content: center;
        gap: 50px;
        color: #fff;
        flex-direction: column;
        align-items: center;
    }

    .feat-item {
        color: rgba(255, 245, 233, 1);
        width: 100%;
    }

    .room-item {
        width: 100%;
    }

    .section-loyalty {
        padding: 145px 0 145px;
        background-size: cover;
    }

    li.popup-nav__item {
        width: auto;
    }

    a.popup-nav__link {
        font-size: 16px;
        font-weight: 300;
        color: #fff;
    }

    span.popup-nav__num {
        font-size: 10px;
        color: #fff;
        font-weight: 400;
        position: relative;
        top: -26px;
        left: -10px;
    }

    li.popup-nav__item {
        width: auto;
    }

    ul.popup-nav__list {
        display: flex;
        justify-content: start;
        flex-wrap: wrap;
        gap: 40px 20px;
        max-width: 1220px;
        margin: 0 auto;
        align-items: start;
    }

    span.popup-nav__num {
        font-size: 10px;
        color: #fff;
        font-weight: 400;
        position: relative;
        top: -11px;
        left: 2px;
    }

    button.form-submit {
        width: 80%;
        height: 62px;
        margin: 0 auto;
        display: block;
        margin-top: 30px;
        background: #AF9172;
        background: linear-gradient(180deg, rgba(175, 145, 114, 1) 0%, rgba(213, 162, 134, 1) 100%);
        color: #fff;
        font-family: 'Faberge', sans-serif;
        font-size: 20px;
        line-height: 22px;
        padding: 20px 25px;
        border-radius: 6px;
        text-transform: uppercase;
        min-width: 213px;
        /* display: inline-block; */
        text-align: center;
        border: none;
    }

    div.contact-form {
        padding: 40px 20px;
        border-radius: 50px;
        background-image: url(../img/dark-wall.png);
    }

    section.contact-section {
        background-image: url(../img/texture1.jpg);
        padding: 80px 0;
        background-size: cover;
    }

    .container.container__contact ul {
        font-size: 20px;
        line-height: 28px;
        margin-top: 60px;
        color: #fff;
        font-weight: 200;
        display: flex;
        flex-direction: column;
        gap: 30px;
    }

    div.contact-form {
        padding: 40px 20px;
        border-radius: 20px;
        background-image: url(../img/dark-wall.png);
    }

    .container.container__contact {
        flex-direction: column;
    }

    .contact-col.contact-col--right {
        width: 100%;
    }

    .contact-col.contact-col--right {
        width: 100%;
        margin-top: 50px;
    }

    div.contact-form {
        padding: 20px;
        border-radius: 50px;
        background-image: url(../img/dark-wall.png);
    }

    .form-field input {
        width: 100%;
        height: 60px;
        padding: 0 90px;
        font-size: 20px;
        border-radius: 80px;
        border: none;
        font-size: 16px;
    }

    textarea#message {
        width: 100%;
        height: 100px;
        border-radius: 30px;
        padding: 20px 24px;
        font-size: 16px;
        font-family: 'Commissioner';
    }

    .swiper-slide.hero__slide {
        min-height: 0;
    }

    a.lang-item {
        height: auto;
    }

    .mob-btn {
        width: 40px;
    }

    .mob-btn.active img {
        display: block;
        max-height: 18px;
    }

    ul.popup-nav__list {
        display: flex;
        justify-content: start;
        flex-wrap: wrap;
        gap: 40px 20px;
        max-width: 1220px;
        margin: 0;
        align-items: start;
        flex-direction: column;
        width: 100%;
    }

    .popup-nav {
        padding-top: 101px;
    }

    .swiper-slide.hero__slide {
        min-height: 500px;
    }

    .footer-socs img {
        width: 50px;
    }

    .service {
        background-size: cover;
    }

    .container.container__contact {
        align-items: start;
    }

    .container.container__contact ul {
        margin-bottom: 0px;
    }

    div.contact-form {
        border-radius: 20px;
    }

    input {
        background-size: 18px !important;
        background-position: 20px center !important;
    }

    .form-field input {
        padding: 0 60px;
    }

    textarea#message {
        width: 100%;
        height: 100px;
        border-radius: 16px;
        padding: 20px 24px;
        font-size: 16px;
        font-family: 'Commissioner';
        border: none;
    }

    .form-field input {
        height: 50px;
    }

    .form-field input {
        height: 50px;
        border-radius: 16px;
    }

    button.form-submit {
        height: 53px;
        font-size: 18px;
    }

    a.popup-nav__link {
        font-size: 20px;
        font-weight: 300;
        color: #fff;
    }

    li.popup-nav__item {
        width: 44%;
    }

    ul.popup-nav__list {
        display: flex;
        justify-content: start;
        flex-wrap: wrap;
        gap: 40px 20px;
        max-width: 1220px;
        margin: 0;
        align-items: start;
        flex-direction: row;
        width: 100%;
    }

    .popup-nav .socs, .popup-nav .header__phone {
        display: flex !important;
    }

    .popup-nav__container.container {
        display: flex;
        justify-content: center;
        align-items: center;
        height: calc(100svh - (121px));
        flex-direction: column;
        justify-content: space-between;
    }

    .popup-nav__container.container {
        display: flex;
        justify-content: center;
        align-items: center;
        height: calc(100svh - (121px));
        flex-direction: column;
        justify-content: space-between;
        padding: 30px 20px 10px;
    }

    .popup-nav__container.container .right-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
    }

    .popup-nav__container.container a.btn.with-icon {
        display: flex;
    }

    .popup-nav__container.container .right-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        flex-wrap: wrap;
    }

    .header__phone {
        margin-left: 0;
        margin-top: 7px;
        font-size: 20px !important;
    }

    .popup-nav__container.container .right-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        flex-wrap: wrap;
        padding-top: 30px;
        border-top: 1px solid #fff;
    }

    .header-fixed header a.btn.with-icon {
        position: fixed;
        right: 0;
        top: 0;
    }
}

@media screen and (min-width: 768px ) {

    .popup-nav__container.container .right-header {
        display: none !important;
    }
}