/* [1919-1500] - средние ПК-мониторы */
@media screen and (max-width: 1919px) {}


/* [1499-1280] - небольшие ПК-мониторы, ноутбуки */
@media screen and (max-width: 1499px) {}


/* [1279-1024] - небольшие ноутбуки */
@media screen and (max-width: 1279px) {
    html, body {
        font-size: 12px;
    }
}


/* [1023-768] - планшеты */
@media screen and (max-width: 1023px) {
    html, body {
        font-size: 16px;
    }
}


/* [767-480] - мобильные устройства */
@media screen and (max-width: 767px) {}


/* [479-?] - мелкие мобильные устройства */
@media screen and (max-width: 479px) {
    /* ОБЩЕЕ */
    main section.grey_section {
        border-radius: 1.25rem;
    }
    .container {
        padding-left: 1.25rem;
        padding-right: 1.25rem;
    }
    main section .container {
        padding-top: 3.75rem;
        padding-bottom: 3.75rem;
    }
    main section.grey_section .container {
        padding-top: 1.875rem;
        padding-bottom: 1.875rem;
    }

    .section_title {
        margin-bottom: 3.125rem;
        font-size: 3.25rem;
    }


    /* ХЕДЕР */
    body:has(main > section.mainslider_section:first-child) .header_section {
        background: #000;
    }
    .header_container {
        min-height: auto;
        padding: 0.5rem 0.625rem;
    }
    .header_menu {
        display: none;
    }
    .mobile_panel_toggler,
    .mobile_panel {
        display: flex;
    }


    /* ФУТЕР */
    .footer_container {
        position: relative;
        padding-top: 3.625rem;
        padding-bottom: 2.25rem;
    }
    .footer_container::before,
    .footer_container::after {
        content: '';
        display: block;
        position: absolute;
        z-index: 2;
        background: center / contain no-repeat url('../images/object-star.png');
        pointer-events: none;
    }
    .footer_container::before {
        top: 2.375rem;
        left: -0.375rem;
        width: 5.625rem;
        height: 5.625rem;
        rotate: -14deg;
    }
    .footer_container::after {
        top: -0.5rem;
        right: -3.375rem;
        width: 11.5rem;
        height: 11.5rem;
        rotate: 24deg;
        opacity: 0.4;
    }
    .footer_layout {
        position: relative;
        z-index: 1;
        padding: 3.25rem 1.625rem 2.375rem;
        border-radius: 1.25rem;
    }

    .footer_columns {
        flex-direction: column;
        align-items: center;
        gap: 0;
    }
    .footer_column {
        display: contents;
    }

    .footer_text {
        margin-bottom: 1.25rem;
        text-align: center;
        font-size: 3.25rem;
    }
    .footer_company_info {
        order: 2;
        margin-top: 2.5rem;
        text-align: center;
    }
    .footer_contacts {
        order: 1;
        text-align: center;
    }
    .footer_contacts + .footer_contacts {
        margin-top: 1.625rem;
    }
    .footer_contacts.phones span.data {
        font-size: 3.125rem;
    }
    .footer_contacts.worktime span.data {
        font-size: 2.25rem;
    }
    .footer_socials {
        order: 1;
        margin: 2.25rem 0 0;
    }
    .footer_booking {
        margin-bottom: 2.25rem;
    }


    /* ТИТУЛЬНЫЙ СЛАЙДЕР */
    .mainslider_layout {
        padding-bottom: 0;
    }
    .mainslide_logo {
        margin-bottom: 1.25rem;
    }
    .mainslide_logo img {
        width: 10rem;
        height: 9.5rem;
        object-fit: contain;
    }
    .mainslide_title {
        margin-bottom: 1.25rem;
        font-size: 3.25rem;
    }
    .mainslide_title br {
        display: none;
    }
    .mainslide_text {
        margin-bottom: 1.5rem;
        font-size: 0.875rem;
    }


    /* СЛАЙДЕР ИВЕНТОВ */
    .eventslide_image img {
        height: 26.25rem;
    }


    /* СЛАЙДЕР БАРОВ */
    .barslider_container::before {
        top: 5rem;
        right: -0.25rem;
        width: 11.5rem;
        height: 11.5rem;
    }
    .barslider_container::after {
        top: 4.5rem;
        right: 5rem;
        width: 5.625rem;
        height: 5.625rem;
    }
    .foodslider_title {
        font-size: 2.5rem;
    }


    /* ГАЛЕРЕЯ */
    .maingallery_container::before {
        top: 60%;
        left: -4rem;
        width: 12.125rem;
        height: 12.125rem;
    }
    .maingallery_container::after {
        top: 7.875rem;
        right: -3.125rem;
        width: 8.25rem;
        height: 8.25rem;
    }
    .maingallery_title {
        margin-bottom: 1.625rem;
        font-size: 5.75rem;
    }
    .maingallery_items {
        grid-template-columns: repeat(2, 1fr);
        grid-auto-rows: 7.375rem;
        gap: 0.625rem;
    }


    /* СЛАЙДЕРЫ Swiper.js */
    .swiper-pagination-bullet > div {
        width: 1.125rem;
    }
    .swiper-pagination.swiper-pagination-bullets {
        margin-top: 2.25rem;
    }
}
