@media screen and (max-width: 900px) {
    html {
        font-size: calc(1px * (100vw / 390));
    }

    body {
        overflow-x: hidden;
    }

    .wrapper {
        overflow: hidden;
        width: 100%;
    }

    .content {
        width: 100%;
        padding: 0 15rem;
    }


    .m_gerb_badge br,
    .header_cont_h1 br {
        display: block !important;
    }

    .header {
        position: relative;
        z-index: 9985;
        height: auto;
        padding-bottom: 40rem;
        background-position: 0% 30%;
        /* margin-bottom: 20rem; */
    }

    .header_inner {
        width: 100%;
        background-size: 250%;
    }

    .breadcrumbs {
        display: none;
    }

    .header_top {
        padding: 15rem 0;
        align-items: center;
        flex-direction: row;
        justify-content: space-between;
        position: relative;
        z-index: 9999;
    }

    .logo_img {
        width: 90rem;
    }

    .search {
        display: none;
    }

    .head_soc_a:nth-child(1),
    .head_soc_a:nth-child(2) {
        display: none;
    }

    .head_soc {
        gap: 10rem;
    }

    .head_soc_a:nth-child(1),
    .head_soc_a:nth-child(2) {
        display: none !important;
    }

    .phone_head,
    .flex_3>.phone_head {
        display: none;
    }

    .mobile_phone_btn {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 45rem;
        height: 45rem;
        background: rgba(246, 252, 255, 0.2);
        backdrop-filter: blur(5px);
        border-radius: 50%;
        color: #fff;
    }

    .mobile_menu_btn {
        display: flex;
        align-items: center;
        justify-content: center;
        height: 45rem;
        padding: 0 17rem;
        background: rgba(255, 255, 255, 0.2);
        backdrop-filter: blur(5px);
        border-radius: 50rem;
        color: #A3D400;
        font: 500 14rem/14rem "Onest", sans-serif;
        border: none;
        cursor: pointer;
        text-decoration: none;
        transition: background 0.3s ease;
    }

    .mobile_menu_btn.is-active {
        background: #85ac00;
        color: #fff;
        backdrop-filter: none;
        position: relative;
        z-index: 9999;
    }

    .mobile_menu_overlay {
        display: block;
        position: fixed;
        inset: 0;
        z-index: 9995;
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.35s ease, visibility 0.35s ease;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        margin: 90rem 20rem 40rem;
    }

    .mobile_menu_overlay.open {
        opacity: 1;
        visibility: visible;
        margin: 90rem 20rem 40rem;
    }

    .mobile_menu_panel {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .mobile_menu_card {
        margin-top: 20rem;
        background: rgba(255, 255, 255, 0.92);
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
        border-radius: 20rem;
        padding: 10rem 25rem 30rem;
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        box-shadow: 0 0 30rem rgb(0 0 0 / 15%);
    }

    .mobile_menu_links {
        margin-top: 10rem;
        display: flex;
        flex-direction: column;
        align-items: center;
        width: 100%;
        margin-bottom: 20rem;
    }

    .mobile_menu_links a {
        display: block;
        width: 100%;
        text-align: center;
        padding: 5rem 0;
        font: 500 17rem/17rem "Onest", sans-serif;
        color: #3a3a3a;
        text-decoration: none;
        transition: color 0.2s;
    }

    .mobile_menu_links a:first-child {}

    .mobile_menu_links a:active {
        color: #85ac00;
    }

    .mobile_menu_avia {
        display: flex;
        align-items: center;
        gap: 10rem;
        font: 500 17rem "Onest", sans-serif;
        color: #85ac00;
        text-decoration: none;
        margin-bottom: 20rem;
    }

    .mobile_menu_avia img {
        width: 24rem;
        height: 24rem;
    }

    .mobile_menu_policy {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 10rem;
        margin-bottom: 25rem;
    }

    .mobile_menu_policy a {
        font: 400 15rem "Onest", sans-serif;
        color: #3a3a3a;
        text-decoration: none;
    }

    .mobile_menu_bottom {
        display: flex;
        align-items: center;
        gap: 12rem;
        margin-bottom: 25rem;
    }

    .mobile_menu_call {
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 16rem 40rem;
        background: #85ac00;
        border-radius: 50rem;
        color: #fff;
        font: 500 16rem "Onest", sans-serif;
        text-decoration: none;
        transition: background 0.2s;
    }

    .mobile_menu_call:active {
        background: #6e9200;
    }

    .mobile_menu_soc {
        display: flex;
        gap: 10rem;
    }

    .mobile_menu_soc a {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 48rem;
        height: 48rem;
        background: #85ac02;
        border-radius: 12rem;
    }

    .mobile_menu_soc a img {
        width: 22rem;
        height: 22rem;
    }

    .mobile_menu_company {
        text-align: center;
        font: 400 12rem/1.7 "Onest", sans-serif;
        color: rgba(0, 0, 0, 0.45);
        margin-top: 5rem;
    }

    .mobile_menu_company a {
        color: rgba(0, 0, 0, 0.55);
        text-decoration: none;
    }

    .nav_head {
        display: none;
    }

    .flex_2 {
        width: auto;
    }

    .m_gerb_badge {
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: 10rem;
        border-radius: 100rem;
        padding: 5rem 15rem 5rem 5rem;
        background: rgba(255, 255, 255, 0.15);
        backdrop-filter: blur(5px);
        height: auto;
        width: max-content;
        max-width: 100%;
        margin-left: -5rem;
        margin-bottom: 20rem;
    }

    .m_gerb_badge_img {
        width: 35rem;
        height: 35rem;
        display: block;
    }

    .m_gerb_badge_p {
        font-size: 12rem;
        line-height: 17rem;
        color: #fff;
    }

    .content_head {
        display: flex;
        flex-direction: column;
        margin: 70rem auto 0 auto;
    }

    .header_cont,
    .header_cont_right {
        display: block;
    }

    .header_cont_h1 {
        font-size: 38rem;
        line-height: 42rem;
        width: 100%;
        margin-top: 0;
        text-transform: uppercase;
        font-family: "Bebas Neue", "Bebas Neue Cyrillic", "Oswald", sans-serif;
    }

    .head_name_p {
        font-size: 14rem;
        line-height: 20rem;
        margin-top: 20rem;
    }

    .but_head {
        width: 100%;
        justify-content: center;
        margin-top: 25rem;
    }

    .header_cont_right {
        display: flex;
        flex-direction: row;
        gap: 10rem;
        overflow-x: auto;
        padding-bottom: 10rem;
        width: 100%;
        margin-top: 40rem;
    }

    .header_cont_right::-webkit-scrollbar {
        display: none;
    }

    .header_cont_right_cont_1 {
        min-width: 180rem;
        max-width: 200rem;
        background: rgba(255, 255, 255, 0.1);
        backdrop-filter: blur(5px);
        padding: 15rem;
        border-radius: 12rem;
        min-height: 160rem;
        position: relative;
        overflow: hidden;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        box-sizing: border-box;
    }

    .header_cont_right_cont_1:first-child {
        display: none;
    }

    .header_cont_right_cont_1_h {
        font-size: 32rem;
        line-height: 32rem;
    }

    .header_cont_right_cont_1_p {
        font-size: 13rem;
        line-height: 16rem;
    }

    .header_cont_right_cont_1_img {
        width: 60rem;
        height: 60rem;
        background: #fff;
        border-radius: 50%;
        padding: 10rem;
        box-sizing: border-box;
        object-fit: contain;
    }

    .header_cont_right_cont_1:nth-child(2) {
        display: none !important;
    }

    /* ---------- Search block ---------- */
    .search_home {
        margin-top: 20rem;
        padding: 30rem 15rem;
        margin-bottom: 25rem;
        border-radius: 20rem;
        width: 100%;
        margin-left: 0;
        margin-right: 0;
        box-sizing: border-box;
        box-sizing: border-box;
        background: #fff;
    }

    .search_home_h2 {
        font-size: 34rem;
        line-height: 34rem;
    }

    .search_home_tab {
        flex-wrap: wrap;
        gap: 10rem;
    }

    .search_home_tab_li,
    .search_home_tab_act {
        width: calc(50% - 5rem);
        white-space: nowrap;
        font-size: 14rem;
        padding: 12rem 5rem;
        text-align: center;
    }

    .search_home_tab_block {
        flex-direction: column;
        align-items: stretch;
    }

    .search_home_tab_block_li {
        width: 100%;
        border-right: none;
        border-bottom: 1px solid #E1E8E9;
        padding: 15rem 0;
    }

    .search_home_tab_block_li:last-child {
        border-bottom: none;
    }

    .button_search_tab {
        width: 100%;
        margin-top: 15rem;
        justify-content: center;
    }

    /* ---------- Quiz / Help Promo ---------- */
    .quiz_home {
        padding: 40rem 0;
        border-radius: 20rem 20rem 0 0;
    }

    .quiz_home_h2 {
        font-size: 34rem;
        line-height: 34rem;
        margin-bottom: 15rem;
    }

    .quiz_home_h2 .h_green {
        color: #fff !important;
    }

    .quiz_home_p {
        font-size: 15rem;
        line-height: 22rem;
        margin-bottom: 30rem;
    }

    .quiz_home_cont {
        height: auto;
        overflow: visible;
    }

    .quiz_home_left {
        width: 100%;
        padding: 30rem 20rem;
        border-radius: 20rem;
        background: rgba(30, 40, 45, 0.6);
        backdrop-filter: blur(8px) !important;
        -webkit-backdrop-filter: blur(8px) !important;
    }

    .quiz_home_q {
        font-size: 18rem;
        max-width: 90%;
        line-height: 24rem;
    }

    .style_tours_search_h2 {
        font: 34rem / 34rem "Bebas Neue", "Bebas Neue Cyrillic", "Oswald", sans-serif !important;
        text-transform: uppercase;
        margin-bottom: 10rem;
    }

    .quiz_home_sub {
        font-size: 14rem;
        margin-bottom: 25rem;
    }

    .quiz_home_grid {
        flex-direction: column;
        flex-wrap: nowrap;
        gap: 15rem;
        margin-bottom: 30rem;
    }

    .quiz_home_label {
        width: 100% !important;
    }

    .quiz_home_span {
        font-size: 16rem;
    }

    .quiz_home_span::before {
        width: 25rem;
        height: 25rem;
    }

    .quiz_home_label input:checked+.quiz_home_span::before {
        box-shadow: 0 0 0 1px #85ac00;
    }

    .quiz_home_bot {
        border-top: none;
        padding-top: 0;
        margin-top: 20rem;
    }

    .quiz_home_btn_next {
        padding: 0 0 0 10rem !important;
    }

    .quiz_home_btn_prev {
        padding: 0 10rem 0 0 !important;
    }

    .quiz_home_right {
        display: none;
    }

    .questions_home_agry {
        margin-top: 50rem;
    }

    .but_quiz {
        width: 100%;
        justify-content: center;
    }

    /* ---------- Geography ---------- */
    .geo_home {
        padding-top: 50rem;
        padding-bottom: 50rem;
    }

    .geo_home_h2 {
        font-size: 34rem;
        line-height: 34rem;
    }

    .geo_home_grid {
        grid-template-columns: repeat(1, 1fr);
        flex-direction: column;
        gap: 20rem;
    }

    .geo_home_item {
        width: 100%;
        margin-bottom: 0;
    }

    .geo_home_item_h {
        font-size: 25rem;
        line-height: 25rem;
    }

    .geo_home_item_top {
        height: 250rem;
    }

    /* ---------- Soon Home ---------- */
    .soon_home {
        padding: 50rem 0;
    }

    .soon_home_wrap {
        flex-direction: column;
        gap: 30rem;
        padding: 30rem 20rem;
    }

    .soon_home_left {
        width: 100%;
    }

    .soon_home_h2 {
        font-size: 34rem;
        line-height: 34rem;
    }

    .soon_home_btn {
        width: 100%;
        justify-content: center;
    }

    .soon_home_right {
        width: 100%;
        height: auto;
        display: flex;
        flex-direction: column;
        align-items: stretch;
        position: static !important;
    }

    .soon_home_map_wrapper {
        position: relative;
        width: 100%;
        margin-bottom: 20rem;
    }

    .soon_home_map {
        width: 100%;
        height: auto;
    }

    .m_dot {
        position: absolute;
        width: 14rem;
        height: 14rem;
        background: #85ac00;
        border: 2px solid #fff;
        border-radius: 50%;
        box-shadow: 0 0 10rem rgba(133, 172, 0, 0.8);
        display: block !important;
        transform: translate(-50%, -50%);
    }

    .m_spb {
        top: 30%;
        left: 20%;
    }

    .m_ural {
        top: 50%;
        left: 40%;
    }

    .m_altay {
        bottom: 20%;
        left: 60%;
    }

    .m_kamchatka {
        top: 30%;
        right: 15%;
    }

    .soon_desktop_btn {
        display: none !important;
    }

    .soon_mobile_btn {
        width: 100%;
        justify-content: center;
        margin-top: 5rem;
        display: flex !important;
    }

    /* Change maps pins into normal stacked horizontal cards */
    .soon_pin {
        position: relative !important;
        width: 100%;
        margin-bottom: 15rem;
        left: unset !important;
        right: unset !important;
        top: unset !important;
        bottom: unset !important;
        transform: none !important;
        padding: 10rem 15rem;
        border-radius: 12rem;
        box-shadow: 0 4rem 15rem rgba(0, 0, 0, 0.05);
    }

    .soon_pin_img {
        width: 50rem;
        height: 50rem;
        border-radius: 8rem;
    }

    /* ---------- Comfort ---------- */
    .comf_home {
        padding: 50rem 0;
    }

    .comf_home_h2 {
        font-size: 34rem;
        line-height: 34rem;
    }

    .comf_home_grid {
        flex-direction: row !important;
        flex-wrap: wrap !important;
        gap: 15rem;
        display: flex;
    }

    .comf_home_item {
        width: 100%;
    }

    @media screen and (max-width: 900px) {

        .comf_home_item:nth-child(1),
        .comf_home_item:nth-child(2) {
            flex: 0 0 calc(50% - 7.5rem);
            width: calc(50% - 7.5rem);
        }
    }

    .comf_home_item_p {
        font-size: 16rem;
        line-height: 22rem;
    }

    .comf_home_h3 {
        font-size: 20rem;
    }

    /* ---------- Pop Home ---------- */
    .pop_home {
        padding: 50rem 0;
    }

    .pop_home_head {
        flex-direction: column;
        align-items: flex-start;
        gap: 15rem;
    }

    .pop_home_h2 {
        font-size: 26rem;
        line-height: 30rem;
    }

    .pop_home_grid {
        flex-direction: row;
        flex-wrap: nowrap;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        padding-bottom: 20rem;
        gap: 15rem;
        -webkit-overflow-scrolling: touch;
    }

    .pop_home_grid::-webkit-scrollbar {
        display: none;
    }

    .pop_home_item {
        width: 85vw;
        flex-shrink: 0;
        scroll-snap-align: start;
    }

    /* ---------- Cats Block ---------- */
    .cats_home_block {
        flex-direction: row;
        flex-wrap: nowrap;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        gap: 15rem;
        padding-bottom: 20rem;
        -webkit-overflow-scrolling: touch;
    }

    .cats_home_block::-webkit-scrollbar {
        display: none;
    }

    .cats_home_block_item {
        width: 75vw;
        flex-shrink: 0;
        scroll-snap-align: start;
    }

    /* ---------- Quiz Promo Marquee ---------- */
    .quiz_promo_marquee {
        flex-direction: column;
        padding: 30rem 0;
    }

    .quiz_promo_home {
        padding: 40rem 0px 40rem;
    }

    .marquee_set {
        gap: 10rem;
        margin-right: 10rem;
    }

    .quiz_promo_cat {
        height: 80rem;
        padding: 0 15rem;
        font-size: 14rem;
    }

    .quiz_promo_cat_img {
        width: 100%;
    }

    .quiz_promo_content {
        width: 100%;
        padding: 20rem 15rem;
    }

    .quiz_promo_text {
        font-size: 22rem;
        line-height: 26rem;
    }

    .quiz_promo_btn {
        width: auto;
        display: inline-flex;
        justify-content: flex-end;
        margin-bottom: 30rem;
    }

    .search_home_tab_block_li_h {
        font-size: 14rem;
    }

    /* ---------- About ---------- */
    .about_home {
        padding: 50rem 0;
        margin-bottom: 40rem;
    }

    .about_home_wrap {
        width: 100%;
    }

    .about_home_h2 {
        font-size: 34rem;
        line-height: 34rem;
    }

    .about_home_p {
        font-size: 16rem;
        line-height: 24rem;
    }

    .about_home_imgs {
        display: flex;
        flex-direction: column;
        gap: 15rem;
        margin-top: 30rem;
    }

    .about_home_imgs img {
        width: 100%;
        height: auto;
        margin: 0;
        border-radius: 12rem;
    }

    .about_home_btn {
        width: 100%;
        justify-content: center;
    }

    /* ---------- Reviews ---------- */
    .revs_home {
        padding: 50rem 0;
    }

    .revs_home_top {
        flex-direction: column;
        align-items: flex-start;
    }

    .revs_home_h2 {
        font-size: 34rem;
        line-height: 34rem;
    }

    .revs_home_middle {
        flex-direction: column;
        gap: 20rem;
        align-items: stretch;
    }

    .revs_home_ratings {
        flex-direction: column;
        width: 100%;
        gap: 15rem;
    }

    .revs_home_rating {
        width: 100%;
    }

    .revs_home_actions {
        width: 100%;
        flex-direction: column;
        gap: 15rem;
    }

    .revs_home_write {
        width: 100%;
        justify-content: center;
    }

    .revs_home_nav {
        width: 100%;
        justify-content: center;
    }

    .revs_home_cards {
        flex-direction: row;
        flex-wrap: nowrap;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        padding-bottom: 20rem;
        -webkit-overflow-scrolling: touch;
    }

    .revs_home_cards::-webkit-scrollbar {
        display: none;
    }

    .revs_home_card {
        width: 85vw;
        flex-shrink: 0;
        scroll-snap-align: center;
    }

    /* ---------- FAQ ---------- */
    .faq_home {
        padding: 0 0 50rem;
    }

    .faq_home_h2 {
        padding-top: 50rem;
        font-size: 34rem;
        line-height: 34rem;
    }

    .faq_home_grid {
        display: flex;
        flex-direction: column;
        gap: 15rem;
    }

    .faq_item {
        padding: 15rem;
    }

    .faq_item_top {
        font-size: 16rem;
        line-height: 22rem;
    }

    /* ---------- Questions ---------- */
    .questions_home {
        padding: 40rem 0;
    }

    .questions_home_content {
        width: 100%;
        padding: 30rem 15rem;
        border-radius: 12rem;
        box-sizing: border-box;
    }

    .questions_home_top {
        flex-direction: column;
        align-items: stretch;
    }

    .questions_home_h2 {
        font-size: 34rem;
        line-height: 34rem;
    }

    .questions_home_form {
        display: flex;
        flex-direction: column;
        gap: 15rem;
    }

    .questions_home_input,
    .questions_home_btn {
        width: 100%;
        box-sizing: border-box;
    }

    /* ---------- Footer ---------- */
    .footer_home {
    background: #464646;
    padding: 60rem 0 0;
    color: #fff;
    border-top-right-radius: 20rem;
    border-top-left-radius: 20rem;
}

    /* Логотип: показать в футере на мобиле */
    .footer_home_logo {
        display: flex;
        justify-content: center;
        margin-bottom: 30rem;
    }

    .footer_home_logo img {
        width: 160rem;
        height: auto;
    }

    /* Скрыть колонки десктопного лэйаута */
    .footer_home_col_3 {
        display: none;
    }

    .footer_home_col_title {
        display: none;
    }

    .footer_home_soc_text {
        display: none;
    }

    /* Весь top — вертикально по центру */
    .footer_home_top {
        display: flex;
        flex-direction: column;
        gap: 0;
        align-items: center;
    }

    /* Колонка 2 — навигация по центру, первой */
    .footer_home_col_2 {
        width: 100%;
        order: 1;
        text-align: center;
    }

    .footer_home_nav {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 16rem;
    }

    .footer_home_nav a {
        font-size: 16rem;
        line-height: 20rem;
        color: #fff;
        text-decoration: none;
    }

    .footer_home_nav .nav_avia {
        color: #8bc34a;
        display: flex;
        align-items: center;
        gap: 6rem;
        justify-content: center;
        margin-top: 4rem;
    }

    .footer_home_nav .nav_green {
        display: none;
    }

    /* Колонка 1 — соцсети и офис, второй */
    .footer_home_col_1 {
        width: 100%;
        order: 2;
        text-align: center;
        align-items: center;
    }

    .footer_home_socials {
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: center;
        gap: 12rem;
        margin-top: 30rem;
    }

    .footer_home_soc_links {
        display: flex;
        gap: 12rem;
        justify-content: center;
    }

    .footer_home_soc_links a {
        width: 48rem;
        height: 48rem;
        border-radius: 50%;
        background: rgba(255, 255, 255, 0.12);
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .footer_home_soc_links img {
        width: 22rem;
        height: 22rem;
    }

    .footer_home_office {
        display: none;
    }

    /* Нижняя часть футера */
    .footer_home_bot {
        display: flex;
        flex-direction: column;
        gap: 0;
        margin-top: 0;
    }

    .footer_home_bot_empty {
        background: #515151;
        border-radius: 20rem;
        padding: 30rem;
}

    .footer_home_b_content {
        flex-direction: column;
        gap: 0;
        width: 100%;
    }

    /* Кнопка "Заказать звонок" */
    .footer_home_b_right {
        display: flex;
        flex-direction: column;
        width: 100%;
        text-align: center;
        gap: 0;
        order: -1;
        margin-top: 30rem;
        padding: 0 20rem;
        box-sizing: border-box;
    }

    .footer_home_phone {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .footer_home_phone a {
        display: block;
        width: 100%;
        padding: 18rem 30rem;
        background: #8bc34a;
        color: #fff !important;
        font: 700 18rem/1 "Bebas Neue", "Bebas Neue Cyrillic", "Oswald", sans-serif;
        letter-spacing: 0.5rem;
        border-radius: 50rem;
        text-decoration: none;
        text-align: center;
    }

    .footer_home_phone span {
        display: none;
    }

    .footer_home_dev {
        display: none;
    }

    /* Документы и реквизиты */
    .footer_home_b_left {
        display: flex;
        flex-direction: column;
        width: 100%;
        text-align: center;
        gap: 15rem;
        margin-top: 30rem;
    }

    .footer_home_docs {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 10rem;
    }

    .footer_home_docs a {
        font-size: 14rem;
        line-height: 18rem;
        color: rgba(255, 255, 255, 0.7);
        text-decoration: none;
    }

    .footer_home_copy {
        font-size: 12rem;
        line-height: 18rem;
        color: rgba(255, 255, 255, 0.5);
        text-align: center;
        padding: 0 15rem;
    }

    .footer_home_big_text {
        font-size: 32rem;
        line-height: 44rem;
        width: 100%;
        margin-top: 20rem;
        padding: 0 15rem 100rem;
        box-sizing: border-box;
        word-break: break-word;
    }


    /* --- Реквизиты компании (только мобиль) --- */
    .footer_home_requisites {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 4rem;
        margin-top: 30rem;
        padding: 0 15rem;
        text-align: center;
    }

    .footer_home_requisites p {
        font-size: 12rem;
        line-height: 18rem;
        color: rgba(255, 255, 255, 0.55);
        margin: 0;
    }

    /* Логотип в футере — только мобиль */
    .footer_home_logo {
        display: flex;
        justify-content: center;
        margin-bottom: 30rem;
    }

    .footer_home_logo img {
        width: 160rem;
        height: auto;
    }

    /* ---------- Mobile Menu Modal ---------- */
    .modal_mobile_menu {
        max-width: calc(100% - 30rem) !important;
        width: 100% !important;
        height: auto;
        padding: 40rem 20rem !important;
        border-radius: 20rem !important;
        box-shadow: 0px 4px 20px rgba(0, 0, 0, 0.1);
        text-align: center;
        background: #fff;
    }

    .m_menu_content {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }

    .m_menu_links {
        display: flex;
        flex-direction: column;
        gap: 15rem;
        margin-bottom: 30rem;
    }

    .m_menu_links a {
        font: 500 16rem/1.2 "Onest", sans-serif;
        color: #515c5e;
        text-decoration: none;
    }

    .m_menu_avia {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10rem;
        font: 600 16rem/1.2 "Onest", sans-serif;
        color: #85ac00;
        text-decoration: none;
        margin-bottom: 30rem;
    }

    .m_menu_politics {
        display: flex;
        flex-direction: column;
        gap: 15rem;
        margin-bottom: 30rem;
    }

    .m_menu_politics a {
        font: 500 14rem/1.2 "Onest", sans-serif;
        color: #515c5e;
        text-decoration: none;
    }

    .m_menu_actions {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10rem;
        margin-bottom: 30rem;
        width: 100%;
        max-width: 350rem;
    }

    .m_menu_btn_call {
        background: #85ac00;
        color: #fff;
        text-decoration: none;
        font: 500 15rem/1.2 "Onest", sans-serif;
        padding: 15rem 25rem;
        border-radius: 100rem;
        display: flex;
        align-items: center;
        justify-content: center;
        flex: 1;
    }

    .m_menu_icon_btn {
        width: 50rem;
        height: 50rem;
        background: #efede5;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
    }

    .m_menu_icon_btn img {
        width: 24rem;
        height: 24rem;
        filter: invert(53%) sepia(87%) saturate(2255%) hue-rotate(44deg) brightness(97%) contrast(101%);
    }

    .m_menu_footer {
        font: 400 12rem/1.5 "Onest", sans-serif;
        color: #8d9597;
        text-align: center;
    }

    /* ---------- Blocker specific to mobile menu ---------- */
    .blocker_mobile_menu {
        background-color: rgba(0, 0, 0, 0.3) !important;
        -webkit-backdrop-filter: none !important;
        backdrop-filter: none !important;
    }

    /* ==================================================
       TOURS REGION PAGE (MOBILE)
    ================================================== */
    .region_page_header {
        padding: 10rem 0;
        margin-bottom: 20rem;
    }

    .region_h1 {
        font-size: 36rem;
    }

    .region_desc {
        font-size: 14rem;
    }

    .region_sort {
        flex-direction: column;
        align-items: flex-start;
        gap: 10rem;
    }

    .sort_links {
        width: 100%;
        display: flex;
        justify-content: space-between;
    }

    .sort_links a {
        padding: 10rem 15rem;
        font-size: 13rem;
        flex: 1;
        text-align: center;
    }

    .region_tours_list {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr);
        gap: 10rem;
    }

    .region_tours {
        margin-bottom: 40rem;
    }

    .r_tour_card {
        display: flex;
        flex-direction: column;
        gap: 0;
        padding: 0;
        position: relative;
        height: 100%;
        z-index: 0;
    }

    .r_tour_card:hover {
        z-index: 1;
    }

    .r_tour_left {
        width: 100%;
        height: auto;
        margin: 0;
        position: relative;
        border-radius: 15rem 15rem 0 0;
    }

    .r_tour_left::before {
        border-radius: 0;
    }

    .r_tour_left a {
        height: 170rem;
    }

    .r_tour_img {
        height: 100%;
        border-radius: 15rem 15rem 0 0;
    }

    .r_tour_badge {
        left: 10rem;
        top: 10rem;
        border-radius: 6rem;
        padding: 4rem 8rem;
        font-size: 10rem;
        gap: 5rem;
    }

    .r_tour_badge img {
        width: 12rem;
    }

    .r_tour_badge::after {
        display: none !important;
    }

    .r_tour_buy .r_tour_duration {
        position: absolute;
        top: 5rem;
        left: 5rem;
        background: rgba(255, 255, 255, 0.92);
        backdrop-filter: blur(4px);
        padding: 4rem 8rem;
        border-radius: 8rem;
        font-size: 11rem;
        font-weight: 600;
        gap: 12rem;
        z-index: 5;
        margin-bottom: 0;
        width: auto;
        justify-content: flex-start;
    }

    .r_tour_duration .dur_text {
        display: none;
    }

    .tour_card_badges {
        bottom: 40rem;
        flex-direction: column;
        flex-wrap: nowrap;
        gap: 6rem;
        position: absolute;
        top: 32rem;
        left: 5rem;
        display: flex;
    }

    /* Бейджи-тэги на мобилке: только иконки-кружки */
    .tour_card_badges .geo_home_item_badge {
        width: 28rem;
        height: 24rem;
        min-width: 28rem;
        padding: 0;
        border-radius: 8rem;
        font-size: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        background: rgba(0, 155, 213, 0.9);
        backdrop-filter: blur(4px);
        position: relative;
    }

    .tour_card_badges .geo_home_item_badge svg {
        width: 14rem;
        height: 14rem;
        flex-shrink: 0;
        margin-left: 6rem;
    }

    .tour_card_badges .geo_home_item_badge::before {
        display: none;
    }

    /* Тултип при тапе на бейдж — справа */
    .tour_card_badges .geo_home_item_badge::after {
        content: attr(data-label);
        position: absolute;
        top: 50%;
        left: calc(100% + 6rem);
        transform: translateY(-50%);
        background: rgba(0, 0, 0, 0.82);
        color: #fff;
        font-size: 10rem;
        line-height: 1.2;
        padding: 4rem 8rem;
        border-radius: 5rem;
        white-space: nowrap;
        pointer-events: none;
        opacity: 0;
        transition: opacity 0.2s;
        z-index: 10;
    }

    .tour_card_badges .geo_home_item_badge.tooltip_show::after {
        opacity: 1;
    }

    .r_tour_duration img {
        width: 12rem;
    }

    .r_tour_loc {
        font-size: 0;
        bottom: 10rem;
        left: 10rem;
    }

    .r_tour_loc::before {
        content: "Адыгея";
        font-size: 13rem;
        color: #fff;
        font-weight: 600;
        text-shadow: 0 1px 4px rgba(0, 0, 0, 0.5);
    }

    .r_tour_right {
        flex: 1;
        display: flex;
        flex-direction: row;
        gap: 0;
        padding: 10rem 10rem 20rem 10rem;
        width: 100%;
    }

    .r_tour_p,
    .r_tour_tags,
    .r_tour_hotels_wrap,
    .r_tour_price_sub,
    .r_tour_book,
    .r_tour_buy::before {
        display: none !important;
    }

    .r_tour_h3 {
        font: 400 18rem/1.1 "Bebas Neue", "Bebas Neue Cyrillic", "Oswald", sans-serif;
        color: #515c5e;
        margin-bottom: 8rem;
    }

    .r_tour_level {
        font-size: 12rem;
    }

    .r_tour_level img {
        height: 6rem;
    }

    .r_tour_buy {
        width: 100%;
        border: none;
        margin: 0;
        margin-top: auto;
        padding: 0;
        text-align: left;
    }

    .r_tour_price_box {
        margin-bottom: 12rem;
    }

    .r_tour_price {
        font-size: 13rem;
        color: #8c9b9d;
    }

    .r_tour_price span {
        font-size: 16rem;
        color: #515c5e;
    }

    .r_tour_date {
        width: 100%;
        margin-bottom: 15rem;
    }

    .r_tour_date_title {
        display: none;
    }

    .r_tour_date_select {
        margin: 0;
        padding: 0;
        border: none;
        border-radius: 0;
    }

    .date_sel_inner {
        font-size: 11rem;
        background: #efefef;
        border: none;
        padding: 8rem 10rem;
        border-radius: 8rem;
        justify-content: space-between;
        flex-wrap: nowrap;
        width: 100%;
    }

    .date_sel_inner img {
        width: 14rem;
    }

    .date_sel_inner .arr_down {
        width: 10rem;
    }

    .r_tour_more {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center;
        width: 100%;
        color: #23abdd;
        font-size: 13rem;
        font-weight: 500;
        padding-top: 0;
    }

    .r_tour_more img {
        width: 16rem;
    }


    .mess_head_mobile {
        width: 92%;
        left: 4%;
    }

    .mess_head_mobile_blcok {
        display: flex;
        gap: 20rem;
        position: fixed;
        width: 92%;
        left: 4%;
        justify-content: space-between;
        background: #fff;
        padding: 20rem;
        bottom: 20rem;
        z-index: 222222;
        border-radius: 10rem;
        transition: all 0.3s ease-in-out;
        box-shadow: 0 0 30rem hsl(0deg 0% 0% / 18%);
    }

    .mess_head {
        display: flex;
        gap: 10rem;
    }

    .mess_head a {
        line-height: 0;
    }

    .mess_head_img {
        width: 41rem;
    }

    .cookie-popup__btn {
        padding: 5rem;
        border: 1rem solid;
        width: 100%;
    }

    .cookie-popup {
        width: 90%;
        margin: 0 5%;
        bottom: 20px;
    }

    .cookie-popup__inner {
        height: auto;
        padding: 15px;
        flex-direction: column;
        gap: 15rem;
    }

    .form-message-tt {
        display: none;
    }

    .form-elements-wh {
        display: block;
    }

    .h2_price {
        font:
            700 34rem/44rem "Onest",
            sans-serif;
        text-transform: uppercase;
        color: #fff;
    }

    /* УСТРАНЕНИЕ БАГА ПРОКРУТКИ */
    .wrapper {
        overflow: clip;
        /* clip safely prevents horizontal scroll without breaking GSAP/Lenis */
        overflow-x: hidden;
    }
}

/* OTURE MOBILE */
/* OTURE MOBILE TABLET */
@media screen and (max-width: 900px) {
    .content {
        box-sizing: border-box;
    }

    .o_left,
    .o_right {
        width: 100%;
        position: static;
    }

    .o_right_overlap {
        margin-top: 0;
    }

    .o_content_split_flex {
        flex-direction: column;
        gap: 20rem;
        padding: 0;
    }

    .o_content_split {
        flex-direction: column;
        width: 100%;
    }

    .o_banner {
        border-radius: 15rem;
        height: auto;
        min-height: auto;
        display: block;
        margin-bottom: 0;
        height: 400rem;
    }

    .o_banner_img {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        z-index: 1;
    }

    .o_hero_text {
        width: 100% !important;
    }

    .o_banner_overlay {
        position: absolute;
        width: 100%;
        padding: 90rem 20rem 20rem 20rem;
        background: linear-gradient(to top, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0) 80%);
        z-index: 2;
        inset: auto;
        justify-content: flex-end;
        bottom: 0;
    }

    .o_banner_badge {
        font: 600 15rem/18rem "Onest", sans-serif;
        margin-bottom: 5rem;
        position: relative;
        z-index: 2;
    }

    .o_banner_badge svg {
        width: 17rem;
        height: 17rem;
    }

    .o_banner_h1 {
        font: 34rem / 30rem "Bebas Neue", "Bebas Neue Cyrillic", "Oswald", sans-serif;
        margin-bottom: 15rem;
        position: relative;
        z-index: 2;
    }

    .o_banner_btns {
        flex-direction: row;
        width: 100%;
        gap: 12rem !important;
        position: relative;
        z-index: 2;
    }

    .o_banner_btn_info {
        width: auto;
        justify-content: center;
        padding: 8rem 8rem;
        font: 500 12rem / 14rem "Onest", sans-serif;
        border-radius: 8rem;
    }

    .o_banner_btn_info svg,
    .o_banner_btn_info img {
        width: 20rem;
        height: 20rem;
    }

    .o_info_top {
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        justify-content: flex-start;
        gap: 15rem;
        padding-bottom: 0;
        margin-bottom: 20rem;
    }

    .o_info_item_dates {
        gap: 15rem;
    }

    .o_info_item_dates span {
        font-size: 14rem !important;
        font-weight: 600 !important;
    }

    .o_info_item_dates img {
        width: 20rem !important;
    }

    .pop_home_level {
        gap: 10rem !important;
    }

    .pop_home_level .dot {
        width: 10rem;
        height: 10rem;
    }

    .level_text {
        font: 600 14rem / 20rem "Onest", sans-serif !important;
    }

    .o_group {
        margin-bottom: 15rem;
        font: 500 14rem "Onest", sans-serif;
    }

    .o_group span {
        font-size: 14rem !important;
        font-weight: 600 !important;
    }

    .o_desc {
        font: 400 14rem / 20rem "Onest", sans-serif;
        margin-bottom: 20rem;
        color: #515c5e;
    }

    .o_gallery_row1,
    .o_gallery_row2 {
        grid-template-columns: 1fr 1fr;
    }

    .o_gallery_row2 a:nth-child(n+3) {
        display: none;
    }

    .o_gallery img {
        height: 120rem;
        border-radius: 6rem;
    }

    .o_h2 {
        font: 40rem / 40rem "Bebas Neue", "Bebas Neue Cyrillic", "Oswald", sans-serif;
    }

    .o_prog {
        padding: 15rem 0;
        border-radius: 12rem;
    }

    .o_prog_head {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        gap: 15rem;
        margin-bottom: 15rem;
    }

    .o_prog_head .o_h2 {
        font: 45rem / 45rem "Bebas Neue", "Bebas Neue Cyrillic", "Oswald", sans-serif;
    }

    .prog_expand_all {
        font: 500 12rem / 16rem "Onest", sans-serif;
        margin-bottom: -12rem;
    }

    .o_prog_item_head {
        padding: 12rem 15rem;
        flex-wrap: nowrap;
        gap: 15rem;
        align-items: center;
    }

    .prog_day_new {
        font: 600 11rem / 16rem "Onest", sans-serif;
        padding: 6rem 12rem 5rem;
        width: auto;
    }

    .prog_name_new {
        font: 500 13rem / 18rem "Onest", sans-serif;
        width: auto;
        padding-right: 25rem;
    }

    .prog_plus_new, .living_plus {
        right: 15rem;
        bottom: 50%;
        width: 24rem;
        height: 24rem;
    }

    .prog_plus_new svg, .living_plus svg {
        width: 14rem;
        height: 14rem;
    }

    .o_prog_item {
        position: relative;
    }

    .o_prog_item_body {
        font: 500 13rem / 18rem "Onest", sans-serif;
        padding: 0 25rem;
    }

    .o_prog_item.active .o_prog_item_body {
        padding: 0 25rem;
    }

    .btn_prog_download {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        gap: 15rem;
        padding: 15rem 20rem;
    }

    .btn_prog_download>span {
        font: 500 14rem / 16rem "Onest", sans-serif;
    }

    .download_text {
        font: 400 12rem / 16rem "Onest", sans-serif;
    }

    .btn_prog_download .flex_3 {
        width: auto;
        justify-content: flex-end;
        gap: 10rem;
    }

    .btn_prog_download .prog_plus_new, .living_plus {
        position: static;
        transform: none;
        width: 24rem;
        height: 24rem;
    }

    .faq_home_col {
        width: 100%;
    }

    .btn_o_green,
    .btn_o_clear {
        width: 100%;
        text-align: center;
        justify-content: center;
        padding: 30rem 0;
        font-size: 26rem;
    }

    .o_sights {
        padding: 15rem 0;
        border-radius: 12rem;
    }

    .o_sights .o_h2, .o_living .o_h2 {
    font: 34rem / 34rem "Bebas Neue", "Bebas Neue Cyrillic", "Oswald", sans-serif;
    letter-spacing: 1px;
    color: #4d5658;
}

    .o_sights_grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 15rem;
    }

    .sight_item {
        width: 187rem;
        max-width: 187rem;
        padding: 10rem;
        border-radius: 15rem;
    }

    .o_prices_block {
        padding: 50rem 0 10rem;
    }

    .sight_item h3 {
        font: 600 13rem / 16rem "Onest", sans-serif;
        margin-top: 10rem;
        margin-bottom: 5rem;
    }

    .sight_item p {
        font: 400 12rem / 15rem "Onest", sans-serif;
        padding-bottom: 5rem;
        color: #8c8c8c;
    }

    .o_living {
        padding: 15rem 0;
        margin-top: 20rem;
        border-radius: 12rem;
    }

    .o_living_subtitle {
        font: 600 14rem / 20rem "Onest", sans-serif;
    }

    .o_living_p {
        font: 600 14rem / 20rem "Onest", sans-serif;
    }

    .o_living_ul li {
        font: 500 12rem / 18rem "Onest", sans-serif;
    }

    .living_item {
        padding: 10rem 15rem;
    }

    .living_item span {
        font: 500 12rem / 16rem "Onest", sans-serif;
    }

    .living_icon_wrap {
        width: 40rem;
        height: 40rem;
    }

    .living_icon_wrap img {
        width: 20rem;
        height: 20rem;
    }


.living_plus {
    margin-right: 0;
}

@media screen and (max-width: 900px) {
    .o_arrival {
        margin-bottom: 10rem;
        padding-bottom: 10rem;
    }
    .o_arrival .o_h2 {
        font: 34rem / 1.1 "Bebas Neue", "Bebas Neue Cyrillic", "Oswald", sans-serif;
        color: #505C5F;
        margin-bottom: 0;
        margin-top: 40rem;
    }
    .arr_title {
        font: 600 20rem/1.3 "Onest", sans-serif;
        color: #515c5e;
        margin-bottom: 10rem;
    }
    .arr_row {
        margin-bottom: 25rem;
    }
    /* Скрываем десктопный блок */
    .arr_desktop {
        display: none;
    }
    /* Показываем мобильный блок */
    .arr_mobile {
        display: flex;
        flex-direction: column;
        gap: 0;
    }
    /* Каждая строка: иконка | зелёная метка | текст */
    .arr_mob_item {
        display: grid;
        grid-template-columns: 40rem 130rem 1fr;
        align-items: start;
        gap: 10rem;
        padding: 12rem 0;
        border-bottom: 1px solid #eee;
    }
    .arr_mob_item:last-child {
        border-bottom: none;
    }
    .arr_mob_item img {
        width: 30rem;
        height: 30rem;
        object-fit: contain;
        margin-top: 2rem;
    }
    .arr_mob_label {
        font: 700 16rem/1.3 "Onest", sans-serif;
        color: #85ac00;
    }
    .arr_mob_val {
        font: 500 15rem/1.3 "Onest", sans-serif;
        color: #515c5e;
    }
    .arr_mob_sub {
        font: 400 12rem/1.3 "Onest", sans-serif;
        color: #8c8c8c;
        margin-top: 3rem;
    }
}

    .o_prices_desc {
        font: 500 13rem / 18rem "Onest", sans-serif;
    }

    .o_prices_overflow {
        overflow-x: auto;
    }

    .o_prices_t th,
    .o_prices_t td {
        font-size: 14rem;
        line-height: 20rem;
        padding: 15rem;
    }

    .btn_show_prices {
        padding: 12rem 30rem;
        font-size: 15rem;
        border-radius: 30rem;
    }

    .o_buy_price {
        font-size: 20rem;
    }

    .o_buy_price span {
        font-size: 42rem;
    }

    .o_buy_sub {
        font: 500 12rem / 16rem "Onest", sans-serif;
    }

    .o_buy_dur div {
        font-size: 14rem;
    }

    .o_buy_list h4 {
        font-size: 18rem;
    }

    .o_buy_list ul li {
        font: 500 13rem / 18rem "Onest", sans-serif;
    }

    .o_sidebar_banner p {
        font-size: 26rem;
        line-height: 34rem;
    }

    .o_sidebar_banner {
        display: none;
    }

    .o_sidebar_contact {
        background: #8aa900;
        margin-bottom: 50rem;
        padding: 30rem 20rem;
        border-radius: 20rem;
    }

    .o_sidebar_contact p {
        font: 600 20rem / 26rem "Bebas Neue", "Bebas Neue Cyrillic", "Oswald", sans-serif;
        color: #fff;
        margin-bottom: 20rem;
    }

    .o_sidebar_contact div {
        color: #fff !important;
        font-size: 14rem !important;
        font-weight: 500 !important;
    }

    .o_sidebar_contact .phone {
        font-size: 30rem;
        color: #fff !important;
        margin-bottom: 20rem;
        display: inline-block;
    }

    .o_sidebar_soc {
        margin-top: 15rem;
        gap: 15rem;
    }

    .o_sidebar_soc a {
        width: 50rem;
        height: 50rem;
        background: rgba(255, 255, 255, 0.2);
    }

    .o_sidebar_soc img {
        width: 20rem;
    }

    /* Onas page mobile */
    .about_hero {
        padding-top: 15rem;
        padding-bottom: 30rem;
    }

    .about_hero_banner {
        padding: 20rem;
        min-height: 380rem;
        border-radius: 12rem;
    }

    .about_hero_banner_content {
        flex-direction: column;
        align-items: flex-start;
        gap: 20rem;
    }

    .about_hero_h1 {
        font: 50rem/50rem "Bebas Neue", "Bebas Neue Cyrillic", "Oswald", sans-serif;
    }

    .about_hero_badge {
        padding: 8rem 15rem;
        gap: 10rem;
    }

    .about_hero_badge img {
        width: 24rem;
        height: 24rem;
    }

    .about_hero_badge p {
        font: 500 11rem/14rem "Onest", sans-serif;
    }

    .about_expert {
        padding: 40rem 0;
    }

    .about_expert_h2 {
        font: 36rem/40rem "Bebas Neue", "Bebas Neue Cyrillic", "Oswald", sans-serif;
        margin-bottom: 10rem;
    }

    .about_expert_p {
        font: 400 14rem/20rem "Onest", sans-serif;
        margin-bottom: 25rem;
    }

    .about_expert_grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 10rem;
    }

    .about_exp_card {
        padding: 20rem 15rem;
        border-radius: 12rem;
    }

    .about_exp_card:nth-child(3),
    .about_exp_green {
        grid-column: span 2;
        padding: 25rem 20rem;
    }

    .about_exp_val {
        font: 32rem/32rem "Bebas Neue", "Bebas Neue Cyrillic", "Oswald", sans-serif;
        margin-bottom: 8rem;
    }

    .about_exp_text {
        font: 500 12rem/16rem "Onest", sans-serif;
        margin-bottom: 15rem;
    }

    .about_exp_card:nth-child(3) .about_exp_text {
        font-size: 14rem;
        line-height: 18rem;
    }

    .about_exp_link {
        font: 500 14rem/16rem "Onest", sans-serif;
        padding: 12rem 20rem;
        width: 100%;
        box-sizing: border-box;
    }

    .about_exp_link_green,
    .about_exp_link_blue {
        font: 600 13rem/16rem "Onest", sans-serif;
        width: 100%;
        margin-top: auto;
    }

    .about_exp_lic {
        font: 600 12rem/12rem "Onest", sans-serif;
        padding: 12rem 0;
        margin-top: auto;
    }

    .about_exp_faces {
        margin-bottom: 0;
    }

    .about_exp_face {
        width: 50rem;
        height: 50rem;
        margin-left: -15rem;
    }

    .about_exp_green {
        padding: 25rem 20rem;
        border-radius: 12rem;
    }

    .about_exp_green_val {
        font: 32rem/36rem "Bebas Neue", "Bebas Neue Cyrillic", "Oswald", sans-serif;
        margin-bottom: 10rem;
    }

    .about_exp_green_text {
        font: 500 14rem/18rem "Onest", sans-serif;
        margin-bottom: 20rem;
    }

    .about_exp_link_o {
        font: 600 14rem/16rem "Onest", sans-serif;
        padding: 12rem 20rem;
        width: 100%;
        box-sizing: border-box;
    }

    .about_map {
        display: none;
    }

    .about_geo_mobile {
        display: block;
    }

    .about_map_pin {
        padding: 4rem 10rem 4rem 4rem;
        gap: 6rem;
        border-radius: 4rem;
    }

    .about_map_pin img {
        width: 30rem;
        height: 25rem;
        border-radius: 3rem;
    }

    .about_map_pin_name {
        font: 500 9rem/11rem "Onest", sans-serif;
    }

    .about_map_pin_count {
        font: 600 9rem/11rem "Onest", sans-serif;
    }

    /* DOMA PAGE FIXES */
    .doma_grid {
        grid-template-columns: 1fr !important;
        gap: 15rem !important;
        display: grid !important;
        padding-bottom: 0 !important;
        overflow-x: visible !important;
        flex-direction: column !important;
    }

    .doma_item {
        width: 100% !important;
        padding: 10rem !important;
    }

    /* DOMIN PAGE */
    .domin_h1 {
        font-size: 32rem;
        line-height: 1.2;
    }

    .domin_p {
        font-size: 14rem;
        margin-bottom: 20rem;
    }

    .domin_gallery_top {
        grid-template-columns: 1fr;
        gap: 10rem;
        margin-bottom: 10rem;
    }

    .domin_gallery_top .domin_gal_item {
        height: 240rem;
    }

    .domin_gallery_bot {
        grid-template-columns: repeat(2, 1fr);
        gap: 10rem;
    }

    .domin_gallery_bot .domin_gal_item {
        height: 120rem;
    }

    .domin_rooms_h2 {
        font-size: 30rem;
    }

    .domin_rooms_grid {
        grid-template-columns: 1fr;
        gap: 10rem;
    }

    .domin_room_item {
        padding: 15rem 20rem;
    }

    .domin_room_item span {
        font-size: 14rem;
    }
}

/* Достопримечательности Mobile */
@media screen and (max-width: 1024px) {
    .dost_home {
        padding: 40rem 0;
    }

    .dost_home_p {
        margin-bottom: 20rem;
        font-size: 14rem;
        line-height: 20rem;
    }

    .dost_grid {
        grid-template-columns: 1fr;
        gap: 20rem;
        margin-top: 30rem;
    }

    .dost_card {
        flex-direction: column;
        padding: 15rem;
        gap: 15rem;
        align-items: stretch;
    }

    .dost_card_img_wrap {
        width: 100%;
        height: 200rem;
    }

    .dost_card_img {
        min-height: auto;
    }

    .dost_card_title {
        font-size: 20rem;
        line-height: 24rem;
    }

    .dost_card_info {
        padding: 0;
    }
}

/* Inner Attraction Page Mobile */
@media screen and (max-width: 1024px) {
    .dost_in_hero {
        padding: 30rem 0 50rem;
    }

    .dost_in_card {
        flex-direction: column;
        padding: 20rem;
        gap: 30rem;
    }

    .dost_in_card_right {
        width: 100%;
    }

    .dost_in_card_bot {
        flex-direction: column;
        align-items: stretch;
        gap: 20rem;
    }

    .dost_in_card_btn {
        width: 100%;
        text-align: center;
    }

    .dost_in_gal_big {
        height: 250rem;
    }

    .dost_in_gal_small {
        height: 80rem;
    }

    .dost_in_card_h1 {
        font-size: 36rem;
        line-height: 40rem;
    }

    .dost_in_features {
        padding: 0 0 50rem;
    }

    .dost_in_h2 {
        font-size: 30rem;
        line-height: 36rem;
    }

    .dost_in_features_cards {
        grid-template-columns: 1fr;
        gap: 20rem;
    }

    .dost_in_f_card_img_wrap {
        height: 200rem;
    }

    .dost_in_f_card_info {
        padding: 20rem;
    }
}

/* Fix dost_in.html mobile styles */
@media screen and (max-width: 1024px) {
    .dost_in_hero {
        padding: 30rem 0 0;
    }

    .dost_in_card {
        padding: 20rem;
    }

    .dost_in_card_h1 {
        font-size: 30rem;
        line-height: 35rem;
        text-align: center;
        width: 100%;
    }

    .dost_in_card_subtitle {
        text-align: center;
        width: 100%;
    }

    .dost_in_card_p {
        text-align: center;
        width: 100%;
    }

    .dost_in_card_bot {
        align-items: center;
    }

    .dost_in_card_gerb {
        justify-content: center;
    }

    .dost_in_gal_small_grid {
        display: flex;
        flex-direction: column;
    }

    .dost_in_gal_small {
        height: 120rem;
    }

    .dost_in_card_btn {
        width: auto;
    }
}

/* CONTACTS & POLICY MOBILE */
@media screen and (max-width: 1024px) {
    .contacts_page {
        padding: 30rem 0;
    }

    .contacts_grid {
        flex-direction: column;
        gap: 20rem;
    }

    .contacts_info {
        width: 100%;
    }

    .contacts_map {
        width: 100%;
        height: 350rem;
        min-height: 350rem;
    }

    .contacts_h1 {
        font-size: 36rem;
        line-height: 40rem;
        margin-bottom: 15rem;
    }

    .contacts_desc {
        font-size: 14rem;
        line-height: 20rem;
        margin-bottom: 20rem;
    }

    .contacts_text a,
    .contacts_text p {
        font-size: 16rem;
        line-height: 22rem;
    }

    .contacts_social p {
        font-size: 20rem;
        line-height: 20rem;
    }

    .policy_page {
        padding: 30rem 0;
    }

    .policy_h1 {
        font-size: 30rem;
        line-height: 36rem;
        margin-bottom: 20rem;
        text-align: left;
    }

    .policy_content_box {
        padding: 20rem;
    }

    .policy_content_box h2 {
        font-size: 20rem;
        line-height: 26rem;
        margin: 20rem 0 10rem 0;
    }

    .policy_content_box p,
    .policy_content_box ul li {
        font-size: 14rem;
        line-height: 20rem;
    }

    /* ═══ Мобильная фиксированная плашка тура ═══ */
    .tour_mob_bar {
        display: flex;
        align-items: center;
        justify-content: space-between;
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        z-index: 9990;
        background: #4d5658;
        padding: 14rem 10rem;
        padding-bottom: calc(14rem + env(safe-area-inset-bottom, 0px));
        gap: 12rem;
    }

    .tour_mob_bar_left {
        display: flex;
        flex-direction: column;
        gap: 4rem;
        flex: 1;
        min-width: 0;
    }

    .tour_mob_bar_top {
        display: flex;
        align-items: center;
        gap: 15rem;
        white-space: nowrap;
    }

    .tour_mob_bar_price {
        font: 400 14rem/18rem "Onest", sans-serif;
        color: #fff;
        display: flex;
        align-items: baseline;
        gap: 3rem;
    }

    .tour_mob_bar_price span {
        font: 700 28rem/32rem "Bebas Neue", "Bebas Neue Cyrillic", "Oswald", sans-serif;
        color: #a3d400;
        letter-spacing: 0.5px;
    }

    .tour_mob_bar_days {
        font: 500 14rem/18rem "Onest", sans-serif;
        color: rgba(255, 255, 255, 0.8);
        display: flex;
        align-items: center;
        gap: 5rem;
    }

    .tour_mob_bar_icon {
        width: 18rem;
        height: 18rem;
        filter: brightness(0) invert(1);
        opacity: 0.7;
    }

    .tour_mob_bar_avia {
        font: 500 12rem/16rem "Onest", sans-serif;
        color: #D9F281;
        text-decoration: none;
        display: flex;
        align-items: center;
        gap: 6rem;
    }

    .tour_mob_bar_fly {
        width: 16rem;
        height: 16rem;
        filter: brightness(0) saturate(100%) invert(92%) sepia(30%) saturate(600%) hue-rotate(25deg) brightness(105%);
    }

    .tour_mob_bar_btn {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        padding: 10rem 15rem;
        background: #85ac00;
        border-radius: 12rem;
        color: #fff;
        text-decoration: none;
        flex-shrink: 0;
        min-width: 150rem;
        transition: background 0.2s;
    }

    .tour_mob_bar_btn:active {
        background: #6e9200;
    }

    .tour_mob_bar_btn span {
        font: 500 14rem/14rem "Onest", sans-serif;
        color: #fff;
    }

    .tour_mob_bar_btn small {
        font: 400 11rem/14rem "Onest", sans-serif;
        color: rgba(255, 255, 255, 0.7);
    }

    /* Сайдбар скрыть на мобиле - информация в плашке */
    .o_right {
        display: none;
    }

    .o_content_split {
        flex-direction: column;
    }

    .o_left {
        width: 100%;
    }

    /* Отступ внизу чтобы контент не скрывался за плашкой */
    .o_hero_wrap {
        padding-bottom: 100rem;
    }

    /* ═══ Chat widget mobile ═══ */
    .chat_fab {
        bottom: 10rem;
        right: 10rem;
        padding: 10px 18px;
        font-size: 13px;
    }

    .chat_widget {
        bottom: 0;
        right: 0;
        left: 5%;
        width: 90%;
        max-height: 85vh;
        border-radius: 16px 16px 0 0;
        transform-origin: bottom center;
    }

    /* Когда есть плашка тура — поднимаем чат выше */
    .tour_mob_bar~.chat_fab,
    body:has(.tour_mob_bar) .chat_fab {
        bottom: 100rem;
    }

    .tour_mob_bar~.chat_widget,
    body:has(.tour_mob_bar) .chat_widget {
        bottom: 85rem;
        border-radius: 16px 16px 0 0;
    }

    /* ═══════════════════════════════════════
       МОБИЛЬНЫЙ ФУТЕР — точная вёрстка по макету
       ═══════════════════════════════════════ */

    /* Скрыть десктопный футер на мобиле */
    .footer_desktop {
        display: none;
    }

    /* Показать мобильный футер */
    .footer_mobile {
        display: flex;
        flex-direction: column;
        align-items: center;
        padding: 40rem 20rem 0;
        text-align: center;
        box-sizing: border-box;
        width: 100%;
    }

    /* 1. Логотип */
    .footer_mobile_logo {
        margin-bottom: 30rem;
    }

    .footer_mobile_logo img {
        width: 160rem;
        height: auto;
    }

    /* 2. Навигация */
    .footer_mobile_nav {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 16rem;
        width: 100%;
        margin-bottom: 20rem;
    }

    .footer_mobile_nav a {
        font-size: 16rem;
        line-height: 20rem;
        color: #fff;
        text-decoration: none;
    }

    /* Авиабилеты — зелёный с иконкой */
    .footer_mobile_avia {
        display: flex !important;
        align-items: center;
        gap: 6rem;
        justify-content: center;
        color: #8bc34a !important;
        margin-top: 4rem;
    }

    .footer_mobile_avia img {
        width: 18rem;
        height: 18rem;
    }

    /* 3. Документы */
    .footer_mobile_docs {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 10rem;
        margin-bottom: 25rem;
        width: 100%;
    }

    .footer_mobile_docs a {
        font-size: 15rem;
        line-height: 20rem;
        color: rgba(255, 255, 255, 0.85);
        text-decoration: none;
    }

    /* 4. Кнопка Заказать звонок */
    .footer_mobile_call {
        width: 100%;
        margin-bottom: 30rem;
        display: flex;
        justify-content: center;
    }

    .footer_mobile_call_btn {
        display: block;
        width: 100%;
        padding: 20rem 30rem;
        background: #85AC00;
        color: #fff !important;
        font: 500 14rem / 1 "Onest", sans-serif;
        border-radius: 50rem;
        text-decoration: none !important;
        text-align: center;
        box-sizing: border-box;
        max-width: 300rem;
    }

    /* 5. Соцсети — 4 тёмных кружка */
    .footer_mobile_socials {
        display: flex;
        flex-direction: row;
        gap: 12rem;
        justify-content: center;
        margin-bottom: 30rem;
    }

    .footer_mobile_soc_icon {
        width: 52rem;
        height: 52rem;
        border-radius: 50%;
        background: rgba(255, 255, 255, 0.12);
        display: flex !important;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
    }

    .footer_mobile_soc_icon img {
        width: 22rem;
        height: 22rem;
    }

    /* 6. Реквизиты */
    .footer_mobile_requisites {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 4rem;
        margin-bottom: 20rem;
        width: 100%;
    }

    .footer_mobile_requisites p {
        font-size: 12rem;
        line-height: 18rem;
        color: rgba(255, 255, 255, 0.55);
        margin: 0;
    }

}



@media screen and (max-width: 1024px) {
    .o_hero_wrap {
        padding-bottom: 0;
    }
}


/* =============================================
   Migrated from style.css
   ============================================= */

@media screen and (max-width: 1400px) and (min-width: 901px) {
	html {
		font-size: calc(1px * (100vw / 1400));
	}
}

@media screen and (max-width: 1024px) {
	.pages .expert {
		padding-bottom: 50rem;
	}
}

@media screen and (max-width: 1024px) {
	.dost_in_tours {
		padding-bottom: 50rem !important;
	}
}

@media screen and (max-width: 1024px) {
	.dost_in_expert {
		padding-bottom: 50rem;
	}
}

@media screen and (max-width: 1024px) {
	.chat_widget {
		bottom: 0 !important;
		right: 0 !important;
		left: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
		max-height: 100vh !important;
		border-radius: 0 !important;
		transform-origin: bottom center !important;
		height: 100% !important;
	}
}

@media screen and (max-width: 900px) {
    .o_prog_head .o_h2 {
        font: 34rem / 34rem "Bebas Neue", "Bebas Neue Cyrillic", "Oswald", sans-serif;
    }
}

@media screen and (max-width: 900px) {
    .living_item span {
        font: 500 14rem / 16rem "Onest", sans-serif;
    }
}

@media screen and (max-width: 900px) {
    .prog_name_new {
        font: 500 14rem / 18rem "Onest", sans-serif;
        width: auto;
        padding-right: 25rem;
    }
}


/* =============================================
   Migrated remaining @media from style.css
   ============================================= */

@media (max-width: 768px) {
	.video-hide-mobile {
		display: none !important;
	}

	/* Когда видео скрыто — показать изображение баннера */
	.video-hide-mobile+.o_banner_img,
	.o_banner:has(.video-hide-mobile) .o_banner_img {
		opacity: 1 !important;
	}
}

@media (min-width: 769px) {
	.video-hide-desktop {
		display: none !important;
	}

	.video-hide-desktop+.o_banner_img,
	.o_banner:has(.video-hide-desktop) .o_banner_img {
		opacity: 1 !important;
	}
}

@media (max-width: 900px) {
	.contacts_grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.contacts_details_grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 600px) {
	.contacts_grid {
		grid-template-columns: 1fr;
	}

	.contacts_h1 {
		font-size: 36rem;
		line-height: 36rem;
	}

	.contacts_mess_btn {
		min-width: 100%;
	}

	.contacts_details {
		padding: 24rem;
	}
}

@media screen and (max-width: 900px) {
    .o_banner_badge {
        font: 600 15rem / 18rem Onest, sans-serif;
        margin-bottom: 15rem;
        position: relative;
        z-index: 2;
    }
}

@media screen and (max-width: 900px) {
    .o_info_top {
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        gap: 15rem;
        padding-bottom: 0;
        margin-bottom: 20rem;
    }
}
