.navbar-brand svg {
    width: 174px;
    height: 39px;
}
.bookingForm-search {
    transition: all 0.3s ease;
}
.bookingForm-search.bookingForm-search-fixed {
    position: fixed;
    top: 0;
    height: fit-content;
    background-color: rgba(38, 38, 38, 0.9) !important;
}
.module-roomGallery .bookingForm-search.bookingForm-search-fixed {
    position: fixed;
    top: 0;
    height: fit-content;
    background-color: rgba(255, 255, 255, 0.9) !important;
}
.page-services__text a {
    color: #DD4814;
}

.offcanvas {
    .btn-group {
        width: 100%;
    }
    .dropdown-menu {
        width: 100%;
    }
}
.page-content {
    width: 100%;
}
.titleBlock .container {
    padding-left: 0;
    padding-right: 0;
}
.section-wrapper {
    padding-top: 40px;
}
.module-gallerySlider {
    padding-left: 0;
    padding-right: 0;
}
.swiper-button-prev {
    left: -10px;
}
.swiper-button-next {
    right: -10px;
}
.slider-wrapper {
    padding-left: 40px;
    padding-right: 40px;
}
.module-anonas h3,
.module-anonas h2 {
    font-size: 48px;
    letter-spacing: .1em;
}
.module-gallerySlider-title h2,
.module-gallerySlider-title h3 {
    font-weight: 500;
}

.header-navbar .nav-link.selected::after {
    width: 100%;
}
header .offcanvas-body .nav-link.selected {
    color: #dd4814;
}
@media screen and (max-width: 600px) {
    .firstScreen-container span h1 {
        font-size: 0.8em;
    }
    .module-anonas h3 {
        font-size: 40px;
        line-height: 1em;
        margin-bottom: 12px;
    }
    .module-restWork_workTime p {
        font-size: 36px;
        line-height: 1em;
    }
    .module-hallsTabs .hallsTabs__tabs-item_titleBlock h3 {
        font-size: 24px;
    }
    header.headerCustom-mobile {
        position: relative;
        background-color: rgba(38, 38, 38, 0.9) !important;
    }
    .firstScreen {
        padding: 0 0 80px;
        justify-content: center;
        background-size: cover;
        background-position: bottom center;
        background-repeat: no-repeat;
        .bookingForm-search {
            order: 1;
            top: 0;
            bottom: auto;
            background-color: rgba(38, 38, 38, 0.9) !important;
        }
        .firstScreen-wrapper {
            order: 2;
        }
    }
}

.levels {
    padding: 0 0 40px;
    .row {
        gap: 12px;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
    }
    @media screen and (width < 1024px) {
        .row {
            grid-template-columns: repeat(1, 1fr);
        }
    }
    .card-bg {
        width: 100%;
        height: 200px;
        background-size: cover;
        background-image: url("../img/bg/cardGradient.webp");
        position: relative;
        border-radius: 12px;
        overflow: hidden;
        padding: 20px 12px;
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        h5 {
            font-size: 36px;
            position: relative;
            z-index: 1;
            color: #fff;
            text-shadow: 0 0 20px #00000080;
        }
        p {
            font-size: 20px;
            position: relative;
            z-index: 1;
            color: #fff;
            text-shadow: 0 0 20px #00000080;
        }
    }
    .card-bg.bronze::after,
    .card-bg.silver::after,
    .card-bg.gold::after,
    .card-bg.platinum::after {
        content: '';
        width: 100%;
        height: 100%;
        position: absolute;
        inset: 0;
        mix-blend-mode: multiply;
        user-select: none;
        pointer-events: none;
        z-index: 0;
    }.card-bg.silver ~ .card-body {
        border-color: rgba(192, 192, 192, 1);
    }
    .card-bg.bronze ~ .card-body {
        border-color: rgba(205, 127, 50, 1);
    }
    .card-bg.gold ~ .card-body {
        border-color: rgba(242, 195, 65, 1);
    }
    .card-bg.platinum ~ .card-body {
        border-color: rgba(229, 228, 226, 1);
    }
    .card-bg.bronze::after {
        background-color: rgba(205, 127, 50, 1);
    }
    .card-bg.silver::after {
        background-color: rgba(192, 192, 192, 1);
    }
    .card-bg.gold::after {
        background-color: rgba(242, 195, 65, 1);
    }
    .card-bg.platinum::after {
        /* background-color: rgba(229, 228, 226, 1); */
        background-color: #a1aba5;
    }
    .card {
        border: none;
    }
    .card-body {
        /* padding: 12px 24px; */
        padding: 40px 24px 12px;
        border: 2px solid;
        border-radius: 0 0 12px 12px;
        margin-top: -20px;
        ul {
            padding-left: 24px;
        }
    }
    .card-text {
        font-size: 12px;
        hyphens: auto;
        opacity: 1;
    }

}
.firstScreen {
    position: relative;
}
.firstScreen-downloads {
    position: absolute;
    right: 0;
    top: 0;
    height: 100%;
    display: flex;
    flex-direction: column;
    gap: 12px;
    justify-content: center;
    align-items: center;
    z-index: 1;
    padding: 0 40px;
    user-select: none;
    pointer-events: none;
    @media screen and (max-width: 600px) {
        position: relative;
    }
    .firstScreen-downloads_item-link {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        padding: 40px 20px;
        gap: 10px;
        background: #DD4814;
        border-radius: 20px;
        font-family: 'Forma DJR Cyrilic Variable';
        font-style: normal;
        font-weight: 400;
        font-size: 16px;
        line-height: 120%;
        text-align: center;
        letter-spacing: 0.04em;
        text-transform: uppercase;
        color: #FFFFFF;
        text-decoration: none;
        user-select: auto;
        pointer-events: auto;
        max-width: 200px;
        svg {
            width: 48px;
            height: 48px;
        }
    }
}
.reviews__container {
    iframe {
        height: 720px;
        width: 100%;
        margin: 0 auto;
    }
}
@media screen and (max-width: 600px) {
    .levels {
        .row {
            grid-template-columns: repeat(1, 1fr);
        }
    }
}
@media screen and (max-width: 1199px) {
    .module-hallsTabs .hallsTabs__tabs-nav {
        display: none;
    }
}
@media screen and (min-width: 1200px) {
    .form-select {
        display: none;
    }
}

@media screen and (min-width: 1200px) {
    .archiveItem {
        grid-template-areas: 'thumb info' 'attr attr';
    }
    .archiveItem .archiveItem-thumb {
        grid-area: thumb;
    }
    .archiveItem .archiveItem-wrapper {
        grid-area: info;
    }
    .archiveItem .modal-room_facilities {
        grid-area: attr;
        padding: 20px 40px 40px;
    }
}
@media screen and (max-width: 600px) {
    .archiveItem {
        display: flex;
        flex-direction: column;
    }
    .btn-border {
        padding: 16px 32px;
    }
}

.module-hallsTabs .hallsTabs__tabs-nav .nav-link {
    text-align: left;
}
.swiper-tabsGallery .swiper-slide img {
    object-fit: contain;
}
.firstScreen__video video {
    user-select: none;
    pointer-events: none;
}
.titlePage-container h1 {
    font-size: 4em;
    font-weight: 400;
    line-height: 1em;
}
@media screen and (max-width: 500px) {
    .titleBlock-text:has(.btn.btn-gray) {
        grid-template-columns: 2fr max-content;
    }
    .titleBlock-text:has(.btn.btn-gray) a {
        width: max-content;
    }
    .archiveItem-footer {
        flex-direction: column;
    }
    .archiveItem-footer a {
        width: 100%;
        text-align: center;
        align-items: center;
    }
    .slider-wrapper {
        padding-left: 20px;
        padding-right: 20px;
    }
    .sliderItem {
        padding-left: 0;
        padding-right: 0;
    }
    .modal-room_gallery .swiper-button-next svg,
    .modal-room_gallery .swiper-button-prev svg {
        padding: 0;
    }
    video {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
    }
}
.firstScreen-wrapper .container:has(.titlePage-breadcrumbs) {
    display: none;
}
.firstScreen::before {
    opacity: 0.3;
}

.titlePage-breadcrumbs {
    justify-content: flex-start;
}
@media screen and (max-width: 1024px) {
    .titlePage-breadcrumbs {
        display: none;
    }
}
.titlePage-container {
    text-align: left;
    gap: 20px
}
.footer ul li a {
    line-height: 1.2em;
}
.footer ul li:not(:nth-last-child(1)) {
    margin-bottom: 8px;
}
.footer-col span {
    color: #fff;
    text-decoration: none;
    font-size: 1em;
    font-weight: 300;
    line-height: 1.2em;
    margin-top: 20px;
    display: block;
}
.archiveItem-options_item-title,
.archiveItem-options_item>sup.archiveItem-options_item-title {
    font-weight: 600;
}
.archiveItem-options_item {
    font-weight: 400;
}
.module-equipment-item {
    position: relative;
    overflow: hidden;
}
.module-equipment-item_header svg {
    width: 250px;
    height: 250px;
    position: absolute;
    z-index: 0;
    opacity: 0.4;
    right: -100px;
    bottom: -20px;
    user-select: none;
    pointer-events: none;
}
.module-equipment-item_header svg path {
    stroke: #d1d1d1;
}
.module-equipment-item_content {
    position: relative;
    z-index: 2;
}
.cardItem-label {
    background: #dd4814;
    position: absolute;
    z-index: 2;
    padding: 4px 12px;
    border-radius: 0 0 12px 12px;
    color: #fff;
    min-width: 72px;
    text-align: center;
    right: 20px;
    top: 0;
}
@media screen and (width < 1024px) {
    .module-equipment-item {
        flex: 1 0 100%;
    }
    .firstScreen-downloads {
        position: relative;
        height: auto;
        padding: 20px 0;
    }
    .module-restWork.container {
        grid-template-areas: 'workTime workTime workTime'
                            'priceList priceList priceList'
                            'gallery_1 gallery_2'
                            'gallery_3 gallery_4' !important;
    }
    .module-hallsTabs .hallsTabs__tabs-content {
        height: auto;
        align-items: stretch;
    }
    .module-hallsTabs .hallsTabs__tabs-item {
        height: auto;
    }
    .module-tabsGallery-content .form-select {
        max-width: calc(100% - 20px) !important;
    }
    .rooms__slider .swiper-wrapper {
        align-items: stretch;
    }
    .rooms__slider .swiper-slide {
        height: auto;
    }
    .rooms__slider .sliderItem {
        height: 100%;
    }
    .rooms__slider .sliderItem-content {
        height: calc(100% - 170px);
    }
}
@media screen and (width < 600px) {
    .titlePage-container h1 {
        font-size: 2.6em;
    }
    .firstScreen-downloads {
        position: absolute;
        height: auto;
        padding: 0;
        top: auto;
        bottom: 0;
        left: 0;
        right: 0;
        width: 100%;
        .firstScreen-downloads_item {
            width: 100%;
        }
        .firstScreen-downloads_item-link {
            width: 100%;
            max-width: none;
            border-radius: 12px 12px 0 0;
            display: flex;
            flex-direction: row;
            gap: 12px;
            align-items: center;
            justify-content: center;
            padding: 16px 20px;
        }
    }
}

.module-formCallBack-container .agreement {
    font-size: 12px;
    line-height: 1.2em;
    color: #fff;
    display: flex;
    flex-direction: row;
    gap: 4px;
    align-items: flex-start;
    justify-content: flex-start;
    input {
        width: 16px;
        height: 16px;
    }
    /* text-wrap: balance; */
    a {
        color: #fff;
        text-decoration: underline;
    }
}
.modalBooking .agreement {
    font-size: 12px;
    line-height: 1.2em;
    color: #000;
    display: flex;
    flex-direction: row;
    gap: 4px;
    align-items: flex-start;
    justify-content: flex-start;
    input {
        width: 16px;
        height: 16px;
    }
    /* text-wrap: balance; */
    a {
        color: #DD4814;
        text-decoration: underline;
    }
}
.footer-developed p {
    opacity: 0.3;
    line-height: 0.6em;
    width: fit-content;
    transition: opacity 0.2s;
}
.footer-developed p:hover {
    opacity: 1;
}
.footer-developed svg {
    width: 160px;
    height: 40px;
}

.adsGrid {
    text-align: left;
    margin-top: 40px;
    font-size: 12px;
}
.page-wrapper:has(.module-gallery) {
    padding-top: 40px;
}
.sliderItem-content-options-item-text,
.archiveItem-options_item,
.module-paramsRoom-item-value {
    sup {
        top: 0;
    }
}
.grecaptcha-badge {
    display: none !important;
}
.only-mobile {
    display: none;
}
.bookingForm-search.bookingForm-search_mobile {
    background-color: rgba(38, 38, 38, 0.9) !important;
}
.bookingForm-search.bookingForm-search-fixed {
    z-index: 50;
    top: -100%;
    animation: topToDown 0.7s ease forwards;
}
@keyframes topToDown {
    from {
        top: -100%;
    }
    to {
        top: 0;
    }
}
.offcanvas-wrapper {
    display: none;
}
@media screen and (width <= 1024px) {
    .firstScreen-btn-wrapper {
        /* padding-top: 60px; */
        padding-top: 50%;
    }
    .firstScreen-container.container:has( > span ) .firstScreen-btn-wrapper {
        padding-top: 20px;
    }
    .bookingForm-search.bookingForm-search_pc:not(.bookingForm-search-fixed) {
        display: none;
    }
    .firstScreen {
        min-height: 460px;
    }
    .offcanvas-wrapper {
        display: none;
        .sf-wrapper {
            padding-top: 0 !important;
            padding-bottom: 0 !important;
        }
        .offcanvas-body {
            padding-top: 0;
        }
        .offcanvas-top {
            height: fit-content;
            background-color: rgba(38, 38, 38, 0.9) !important;
        }
        .btn-close {
            position: absolute;
            right: 12px;
            top: 12px;
            background: transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23FFF'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;
        }
        .btn.btn-primary {
            font-size: 20px;
            width: 100%;
            background: transparent;
            display: flex;
            padding: 20px 12px;
            justify-content: space-between;
            text-transform: uppercase;
            svg {
                width: 20px;
                height: 20px;
            }
        }
    }
    .bookingForm-search-fixed {
        .offcanvas-wrapper {
            display: block;
        }
        #tl-search-form-1 {
            display: none !important;
        }
    }
    .contactsFooter-map {
        padding-top: 20px;
    }
    .page-wrapper {
        padding-bottom: 40px;
    }
    .section-wrapper {
        padding: 24px 0 !important;
        gap: 24px !important;
    }
    .module-paramsRoom--v2 {
        gap: 12px
    }
    .module-roomGallery {
        padding-bottom: 40px !important;
    }
    .module-equipment {
        padding: 24px 0;
    }
    .module-equipment-container {
        gap: 24px;
    }
}


:root {
    --opacity: 0.8;
}

.firstScreen-btn {
    background-color: hsla(var(--bg_color), 1);
    color: hsla(var(--text_color));;
    transition: .2s;
}

.firstScreen-btn:hover {
    /* Сделать цвет фона темнее */
    background-color: hsla(var(--bg_color), var(--opacity));
}










@media screen and (1024px <= width) {
    .cardItem-content-btn:before {
        position: absolute;
        width: 100%;
        height: 100%;
        content: '';
        z-index: 1;
        inset: 0;
    }
    .bookingForm-search.bookingForm-search_mobile {
        display: none;
    }
    .cardItem .btn.btn-orange::before {
        position: absolute;
        width: 100%;
        height: 100%;
        content: '';
        z-index: 1;
        inset: 0;
    }


    
}
.buttonToTop {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background-color: rgb(221 72 20);
    border: none;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0px 0px 0px 4px rgb(221 72 20 / 50%);
    cursor: pointer;
    transition-duration: 0.3s;
    overflow: hidden;
    position: fixed;
    left: 20px;
    bottom: 20px;
    z-index: 60;
    opacity: 0;
}
.buttonToTop.show {
    opacity: 1;
}

.svgIcon {
    width: 12px;
    transition-duration: 0.3s;
}

.svgIcon path {
    fill: white;
}

.buttonToTop:hover {
    width: 140px;
    border-radius: 50px;
    transition-duration: 0.3s;
    background-color: #dd4814;
    align-items: center;
}

.buttonToTop:hover .svgIcon {
    /* width: 20px; */
    transition-duration: 0.3s;
    transform: translateY(-200%);
}

.buttonToTop::before {
    position: absolute;
    bottom: -20px;
    content: "顶部";
    color: white;
    /* transition-duration: .3s; */
    font-size: 0px;
}

.buttonToTop:hover::before {
    font-size: 13px;
    opacity: 1;
    bottom: unset;
    /* transform: translateY(-30px); */
    transition-duration: 0.3s;
}


.modal-room_info-title a {
    all: inherit;
    cursor: pointer;
    width: fit-content;
}
/* <picture> из hotel_picture(): обёртка не влияет на раскладку, стили .xxx img работают как раньше */
.hp-picture {
    display: contents;
}

.firstScreen__bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
@media (max-width: 1023px) {
    .firstScreen__video { display: none; }
}

/* Резерв места под форму бронирования TravelLine на мобильных/планшетах.
   Без него при загрузке формы первый экран сначала прыгает вверх (заглушка 104px исчезает),
   потом вниз на ~340px — это давало CLS ≈ 0.35–0.49. Высоты замерены на живом сайте. */
@media (max-width: 1023.98px) {
    #bookingForm-search_mobile .tl-container { min-height: 213px; }
}
@media (max-width: 379.98px) {
    #bookingForm-search_mobile .tl-container { min-height: 339px; }
}
@media (max-width: 359.98px) {
    #bookingForm-search_mobile .tl-container { min-height: 354px; }
}
@media (min-width: 768px) and (max-width: 991.98px) {
    #bookingForm-search_mobile .tl-container { min-height: 219px; }
}
@media (min-width: 992px) and (max-width: 1023.98px) {
    #bookingForm-search_mobile .tl-container { min-height: 153px; }
}
