/* Общие стили баннера для всех страниц */
.rkz-top-banner {
    position: relative;
    min-height: 294px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}


.rkz-bg-image {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 40px;
}

.rkz-overlay {
    position: absolute;
    width: 100%;
    height: 100%;
    background: rgba(255, 101, 0, 0.8);
    border-radius: 40px;
}

.rkz-content-center {
    position: relative;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    color: white;
    padding: 0 20px;
    font-family: 'Gilroy-Medium', sans-serif;
}

.rkz-title {
    font-size: 64px;
    /*line-height: 124px;*/
    margin-bottom: 0;
    font-family: 'Gilroy-Bold', sans-serif;
}

.rkz-subtitle {
    font-size: 24px;
    line-height: 46px;
    margin-top: -20px;
    font-family: 'Gilroy-Medium', sans-serif;
}

.breadcrumb-custom a,
.breadcrumb-custom span,
.breadcrumb-custom li,
.breadcrumb-custom li::before,
.breadcrumb-custom li a {
    color: white !important;
    text-decoration: none !important;
}

@media (max-width: 675px) {
    .rkz-title,
    .rkz-subtitle {
        /*font-size: 1.5rem;*/
        text-align: center;
    }
}


/*.rkz-top-banner,*/
/*.banner-page .rkz-top-banner {*/
/*    margin-top: 125px;*/
/*}*/

/*.hotel-page .rkz-top-banner {*/
/*    margin-top: 20px;*/
/*}*/

/*.news-content .rkz-top-banner,*/
/*.new-item .rkz-top-banner {*/
/*    margin-top: 84px;*/
/*}*/

/*.cities-page .rkz-top-banner {*/
/*    margin-top: 70px;*/
/*}*/

/*.rkz-top-banner.hotelsmart-page-banner,*/
/*.contacts-page .rkz-top-banner,*/
/*.reviews-page .rkz-top-banner {*/
/*    margin-top: 150px;*/
/*}*/

/* Специальные стили ТОЛЬКО для страницы offers */
/*#offers-page .rkz-top-banner {*/
/*    height: 294px;*/
/*    margin: 0 0 40px;*/
/*    border-radius: 40px;*/
/*    !*overflow: hidden;*!*/
/*    position: relative;*/
/*    margin-top: 150px;*/
/*}*/

#offers-page .rkz-bg-image {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#offers-page .rkz-overlay {
    position: absolute;
    width: 100%;
    height: 100%;
    background: rgba(255, 101, 0, 0.8);
}

#offers-page .rkz-content-center {
    position: relative;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    color: white;
    padding: 0 20px;
}

#offers-page .rkz-title {
    font-size: 64px;
    line-height: 124px;
    margin-bottom: 0;
    font-family: 'Gilroy-Bold', sans-serif;
}

#offers-page .rkz-subtitle {
    font-size: 24px;
    line-height: 46px;
    margin-top: -20px;
    font-family: 'Gilroy', sans-serif;
}

/* Адаптация для мобильных */
@media (max-width: 767px) {
    #offers-page .rkz-title {
        font-size: 36px;
        line-height: 80px;
    }

    #offers-page .rkz-subtitle {
        font-size: 18px;
        line-height: 30px;
    }
}

/* Специальные стили для страницы hotel_base */

@media (max-width: 868px) {
    .hotels-page-content .rkz-top-banner {
        height: 240px;
    }

    .hotel-page .rkz-top-banner .container.position-relative {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
        text-align: center;
        padding: 20px;
    }

    .hotel-page .rkz-top-banner .d-flex.justify-content-between {
        flex-direction: column;
        align-items: center;
        gap: 10px;
        margin-bottom: 10px;
    }

    .hotel-page .rkz-top-banner .d-flex.flex-column.align-items-end {
        align-items: center !important;
    }

    .hotel-page .rkz-top-banner .d-flex.flex-column.align-items-end > div {
        text-align: center;
        width: 100%;
    }

    .hotel-page .rkz-title {
        font-size: 32px;
        line-height: 1.2;
        margin-bottom: 10px;
    }

    .hotel-page .breadcrumb-custom {
        text-align: center;
        padding-bottom: 10px;
    }
}

@media (max-width: 400px) {
    .hotel-page .rkz-title {
        font-size: 24px;
    }
}

.special-styled-page {
    border: 1px solid #000;
    border-radius: 20px;
    padding: 20px;
    margin: 0 auto;
}

.rkz-top-banner { margin-top: 50px; }
.hotel-page .rkz-top-banner { margin-top: 5px; }
#news_list .rkz-top-banner,
#hotel_base_id .rkz-top-banner { margin-top: 80px; }
#search_result .rkz-top-banner,
#restaurant_id .rkz-top-banner,
#offers_id .rkz-top-banner,
.reviews-page .rkz-top-banner,
#page_hotelsmart .rkz-top-banner,
#contacts_id .rkz-top-banner,
#faqs_id .rkz-top-banner,
#vacancies_id .rkz-top-banner,
.hotel-city-page .rkz-top-banner { margin-top: 140px; }

@media (max-width: 576px) {
    .hotel-city-page .rkz-top-banner {
        margin-top: 0;
    }
    .hotel-page .rkz-top-banner,
    #hotel_base_id .rkz-top-banner,
    #search_result .rkz-top-banner,
    #restaurant_id .rkz-top-banner,
    #offers_id .rkz-top-banner,
    #reviews_id .rkz-top-banner,
    #page_hotelsmart .rkz-top-banner,
    #contacts_id .rkz-top-banner,
    #faqs_id .rkz-top-banner,
    #vacancies_id .rkz-top-banner,
    .hotel-city-page .rkz-top-banner { margin-top: auto; }
}
@media (max-width: 767px) {
    .hotel-page .rkz-top-banner,
    #hotel_base_id .rkz-top-banner,
    #search_result .rkz-top-banner,
    #restaurant_id .rkz-top-banner,
    #offers_id .rkz-top-banner,
    #reviews_id .rkz-top-banner,
    #page_hotelsmart .rkz-top-banner,
    #contacts_id .rkz-top-banner,
    #faqs_id .rkz-top-banner,
    #vacancies_id .rkz-top-banner,
    .hotel-city-page .rkz-top-banner { margin-top: auto; }
}
@media (max-width: 999px) {
    .hotel-page .rkz-top-banner,
    #hotel_base_id .rkz-top-banner,
    #search_result .rkz-top-banner,
    #restaurant_id .rkz-top-banner,
    #offers_id .rkz-top-banner,
    #reviews_id .rkz-top-banner,
    #page_hotelsmart .rkz-top-banner,
    #contacts_id .rkz-top-banner,
    #faqs_id .rkz-top-banner,
    #vacancies_id .rkz-top-banner,
    .hotel-city-page .rkz-top-banner { margin-top: auto; }
    .rkz-title { font-size: 40px; }
}

@media (min-width: 999px) and (max-width: 1243px) {
    #search_result .rkz-top-banner,
    #restaurant_id .rkz-top-banner,
    #offers_id .rkz-top-banner,
    .reviews-page .rkz-top-banner,
    #page_hotelsmart .rkz-top-banner,
    #contacts_id .rkz-top-banner,
    #faqs_id .rkz-top-banner,
    #vacancies_id .rkz-top-banner,
    .hotel-city-page .rkz-top-banner { margin-top: 180px; }
}
