@media (max-width: 1199px) {
    .py-64px {
        padding-top: 48px;
        padding-bottom: 48px;
    }
    .pt-128px {
        padding-top: 96px;
    }
    .pb-128px {
        padding-bottom: 96px;
    }
    .py-128px {
        padding-top: 96px;
        padding-bottom: 96px;
    }
    .heading-1 {
        font-size: 48px;
    }
    .heading-2 {
        font-size: 40px;
    }
    .heading-3 {
        font-size: 24px;
    }
    .heading-4 {
        font-size: 20px;
    }
    .body-m {
        font-size: 16px;
    }
    .btn-purple {
        font-size: 16px;
    }
    .logo-img {
        height: 48px;
    }
    .header .navbar-nav .nav-link {
        font-size: 16px;
    }
    .header .d-none.d-lg-block .navbar-nav {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        gap: 24px !important;
    }
    .menu-item {
        font-size: 1rem;
    }
    .lang-active {
        font-size: 1rem;
    }
    .lang-divider {
        font-size: 1rem;
    }
    .lang-inactive {
        font-size: 1rem;
    }
    .btn-primary {
        font-size: 16px;
    }
    .btn-book {
        font-size: 0.875em;
    }
    .footer-title {
        font-size: 1rem;
    }
    .contact-phone, .contact-email {
        font-size: 1rem;
    }
    .event-date {
        padding-right: 32px;
    }
    .social-buttons {
        gap: 8px;
    }
    .hero-section {
        height: 750px;
    }
    .show-hero {
        padding: 48px 0;
    }
    .hero-info {
        margin-bottom: 48px;
    }
    .poster-title {
        font-size: 48px;
    }
    .gallery-bell-icon::before {
        width: 160px;
        height: 160px;
        right: 25%;
        top: -70px;
    }
    .accordion-custom-btn {
        font-size: 20px;
    }
    .capacity-label {
        font-size: 16px;
    }
    .capacity-text {
        font-size: 16px;
    }
    .menu-nav-pills .nav-link {
        font-size: 14px;
    }
    .booking-steps {
        padding: 0;
    }
    .benefit-card .text-overlay {
        padding: 24px 10px;
    }
    .bg-mask-icon::after {
        width: 160px;
        height: 160px;
        bottom: -95px;
    }
    .title-feather::after {
        width: 160px;
        height: 160px;
        bottom: -45px;
    }
    .bg-cloche-icon::after {
        width: 160px;
        height: 160px;
        bottom: -84px;
    }
    .bg-letter-icon::after {
        width: 160px;
        height: 160px;
        bottom: -86px;
    }
    .info-title {
        font-size: 20px;
    }
    .info-desc {
        font-size: 16px;
    }
    .video-wrapper {
        max-width: 786px;
    }
    .event-card-inner {
        padding: 16px;
    }
    .event-day {
        font-size: 48px;
    }
    .event-weekday {
        font-size: 16px;
    }
    .event-month {
        font-size: 20px;
    }
    .event-icon {
        width: 32px;
        height: 32px;
    }
    .event-time {
        font-size: 24px;
        padding-left: 32px;
    }
    .event-desc {
        font-size: 16px;
    }
    .map-container {
        height: 440px;
    }
    .contacts-section .info-card .info-contacts {
        padding-left: 50px;
    }
}
@media (max-width: 991px) {
    .btn-primary {
        font-size: 16px;
    }
    .btn-pink {
        font-size: 16px;
    }
    .btn-mobile {
        display: block;
    }
    .offcanvas-menu {
        width: 100% !important;
    }
    .header .navbar-toggler {
        display: block;
        margin-left: auto;
    }
    .header .navbar-collapse {
        background: var(--pink-500);
        padding: 16px 0 8px;
        border-radius: 0 0 4px 4px;
        margin-top: 8px;
    }
    .header .navbar-nav {
        gap: 8px;
        text-align: center;
    }
    .header .navbar-nav .nav-item .nav-link {
        color: var(--beige-500);
        font-weight: 500;
        font-size: 18px;
    }
    .header .navbar-nav .nav-item .nav-link:hover {
        color: #fff;
    }
    .header .lang-block .inner {
        justify-content: flex-start;
    }
    .header .dropdown-menu-custom {
        transform: translate(0, 0) !important;
        background: var(--beige-600);
        border: none;
        margin-top: 4px;
        position: relative !important;
        width: 100%;
    }
    .header .dropdown-menu-custom .dropdown-item {
        color: var(--purple-500);
        text-align: center;
    }
    .header .dropdown-menu-custom .dropdown-item:hover {
        background: var(--purple-400);
        color: #fff;
    }
    .header .btn-book {
        display: none;
    }
    .page-title {
        font-size: 56px;
    }
    .page-title::after {
        width: 160px;
        height: 160px;
        bottom: -90px;
    }
    .title-feather::after {
        bottom: -58px;
        left: 52%;
    }
    .bg-icon-top-star::before {
        width: 32px;
        height: 32px;
    }
    .header-inner {
        flex-wrap: wrap;
        justify-content: space-between;
        gap: 12px;
    }
    .nav-col {
        order: 2;
        flex: 0 0 100%;
        text-align: center;
    }
    .nav-col .d-flex {
        justify-content: center;
        flex-wrap: wrap;
        gap: 16px;
    }
    .info-desc {
        font-size: 1rem;
    }
    .event-day {
        font-size: 48px;
    }
    .event-weekday {
        font-size: 16px;
    }
    .event-month {
        font-size: 20px;
    }
    .event-time {
        font-size: 24px;
    }
    .logo-col { order: 1; }
    .right-col { order: 3; }
    .hero-title { font-size: 48px; }
    .info-title { font-size: 20px; }
    .gallery-img { flex: 0 0 280px; height: 200px; }
    .gallery-item { height: 220px; }
    .poster-title { font-size: 40px; }
    .interior-section .decor-bell {
        width: 120px;
        height: 120px;
        right: 2%;
    }
    .hall-hero .decor-bell {
        width: 120px;
        height: 120px;
        right: 20px;
        top: 80px;
    }
    .booking-tabs .nav-link {
        min-width: 140px;
        font-size: 14px;
        padding: 8px 16px;
    }
    .hall-scheme-wrapper {
        min-height: 400px;
    }
    .scheme-tables-left,
    .scheme-tables-right,
    .scheme-tables-center,
    .scheme-tables-bottom {
        gap: 4px 6px;
    }
    .table-big, .table-small {
        transform: scale(0.85);
    }
    .total-price {
        font-size: 26px;
    }
    .event-desc {
        min-width: unset;
        width: 100%;
        font-size: 16px;
    }
    .event-date {
        gap: 6px;
    }
    .poster-section .icon-arrow-right {
        display: block;
    }
    .footer-logo-col {
        align-items: start;
    }
    .footer-logo-col .footer-reviews {
        display: none;
    }
    .footer-logo-col .footer-messengers {
        display: none;
    }
    .footer-right .footer-reviews {
        display: block;
    }
    .footer-right .footer-messengers {
        display: block;
    }
    .footer-link {
        font-size: 16px;
    }
    .footer .copyright {
        font-size: 16px;
    }
    .footer-design {
        font-size: 16px;
    }
    .btn-up { margin-left: 12px; }
    .benefit-card {
        height: 340px;
    }
    .video-container { height: 420px; }
    .interior-card { height: 300px; }
    .arrow-btn { width: 48px; height: 48px; }
    .arrow-left { left: 10px; }
    .arrow-right { right: 10px; }
    .info-card {
        padding-left: 0;
        padding-right: 0;
    }
    .hero-info .hero-format {
        padding: 0 20px;
    }
    .hero-info .hero-timing {
        padding: 0 20px;
    }
    .slick-prev::before {
        width: 48px;
        height: 48px;
    }
    .slick-next::before {
        width: 48px;
        height: 48px;
    }
    .contacts-section .info-card .info-contacts {
        padding-left: 28px;
    }
}
@media (max-width: 767px) {
    .page-title {
        font-size: 36px;
    }
    .page-title::after {
        width: 120px;
        height: 120px;
        bottom: -60px;
    }
    .show-hero {
        padding-bottom: 80px;
    }
    .slick-show .slick-prev,
    .slick-show .slick-next {
        width: 48px;
        height: 48px;
    }
    .slick-show .slick-prev::before,
    .slick-show .slick-next::before {
        width: 48px;
        height: 48px;
    }
    .decor-cloche {
        width: 120px;
        height: 120px;
        bottom: -20px;
    }
    .gallery-slide img {
        height: 200px;
    }
    .menu-item-card {
        max-width: 400px;
        margin: 0 auto;
    }
    .hall-gallery .slick-slide img {
        height: 200px;
    }
    .hall-gallery .slick-prev,
    .hall-gallery .slick-next {
        width: 48px;
        height: 48px;
    }
    .hall-gallery .slick-prev::before,
    .hall-gallery .slick-next::before {
        width: 30px;
        height: 30px;
    }
    .hall-hero {
        padding-bottom: 60px;
    }
    .hall-description {
        padding: 40px 0 32px;
    }
    .virtual-tour {
        padding: 40px 0 64px;
    }
    .hall-tabs .nav-link {
        font-size: 14px;
        padding: 8px 16px;
        min-width: 100px;
    }
    .booking-tabs .nav-link {
        min-width: 100px;
        font-size: 12px;
        padding: 6px 12px;
    }
    .booking-steps {
        padding: 16px 0 4px;
    }
    .booking-steps .col-md-4 {
        margin-bottom: 8px;
    }
    .hall-scheme-wrapper {
        min-height: 300px;
        padding: 10px 6px;
    }
    .table-big, .table-small {
        transform: scale(0.7);
    }
    .scheme-stage {
        max-width: 280px;
        height: 22px;
    }
    .scheme-dancefloor {
        max-width: 180px;
        height: 26px;
    }
    .total-price {
        font-size: 22px;
    }
    .btn-submit {
        font-size: 16px;
        padding: 10px 0;
    }
    .booking-input {
        font-size: 16px;
    }
    .error-title {
        font-size: 180px;
        letter-spacing: -12px;
    }
    .heading-1 { font-size: 32px; }
    .heading-2 { font-size: 28px; }
    .heading-3 {
        font-size: 24px;
    }
    .heading-4 { font-size: 20px; }
    .body-m { font-size: 16px; }
    .body-l { font-size: 18px; }
    .hero-section { height: 600px; }
    .benefit-card {
        height: 420px;
    }
    .video-container { height: 300px; }
    .gallery-item { height: 180px; }
    .interior-card { height: 240px; }
    .date-number { font-size: 40px; }
    .event-time { font-size: 24px; }
    .event-card { padding: 12px 16px; gap: 12px; }
    .play-btn { width: 72px; height: 72px; }
    .play-btn img { width: 30px; height: 40px; }
    .arrow-btn { width: 40px; height: 40px; }
    .arrow-btn img { width: 20px; }
    .footer-logo img { width: 80px; height: 80px; }
    .event-desc {
        flex: content;
    }
    .bg-cloche-icon::after {
        width: 140px;
        height: 140px;
        bottom: -95px;
    }
    .bg-letter-icon::after {
        width: 140px;
        height: 140px;
    }
    .contacts-section .info-card .info-contacts {
        padding-left: 128px;
    }
}
@media (max-width: 575px) {
    .pt-128px {
        padding-top: 80px;
    }
    .pb-128px {
        padding-bottom: 80px;
    }
    .py-128px {
        padding-top: 80px;
        padding-bottom: 80px;
    }
    .footer .footer-logo-col {
        order: 1;
        margin-bottom: 40px;
    }
    .footer .footer-contacts {
        order: 2;
    }
    .footer .footer-contacts .contact-item {
        margin-bottom: 16px;
    }
    .footer .footer-right {
        order: 3;
    }
    .footer .btn-social {
        width: 36px;
        height: 24px;
    }
    .footer .btn-social > i {
        width: 12px;
        height: 12px;
    }
    .footer .footer-bottom {
        order: 4;
        padding-top: 40px;
        margin-top: 40px;
    }
    .footer .social-buttons {
        justify-content: end;
    }
    .footer .footer-links {
        order: 1;
        width: 50%;
    }
    .footer .footer-design {
        order: 2;
        width: 50%;
    }
    .footer .footer-scroll-up {
        order: 3;
        padding: 40px 0;
    }
    .nav-sub-mobile {
        display: block;
        position: relative;
        background: none;
        background-color: var(--color-beige-500);
        border: none;
        transition: none;
    }
    .nav-sub-mobile .btn-dropdown {
        color: var(--purple-500);
        text-transform: uppercase;
        font-family: 'Anticva';
    }
    .nav-sub-mobile .btn-dropdown::before {
        content: '';
        position: absolute;
        top: 0;
        left: -5px;
        width: 6px;
        height: 100%;
        background-image: url(../images/bg-nav-pills-active-before.png);
        background-size: 100% 100%;
        background-repeat: no-repeat;
        background-position: center;
        transition: none;
    }
    .nav-sub-mobile .btn-dropdown::after {
        content: '';
        position: absolute;
        top: 0;
        right: -5px;
        width: 6px;
        height: 100%;
        background-image: url(../images/bg-nav-pills-active-after.png);
        background-size: 100% 100%;
        background-repeat: no-repeat;
        background-position: center;
        transition: none;
    }
    .nav-sub-mobile .btn-dropdown.show {
        border: none;
        background-color: var(--beige-600);
    }
    .nav-sub-mobile .btn-dropdown.show::before {
        content: '';
        position: absolute;
        top: 0;
        left: -5px;
        width: 6px;
        height: 100%;
        background-image: url(../images/bg-nav-pills-mobile-dark-side.png);
        background-size: 100% 100%;
        background-repeat: no-repeat;
        background-position: center;
        transition: none;
    }
    .nav-sub-mobile .btn-dropdown.show::after {
        content: '';
        position: absolute;
        top: 0;
        right: -5px;
        width: 6px;
        height: 100%;
        background-image: url(../images/bg-nav-pills-mobile-dark-side.png);
        background-size: 100% 100%;
        background-repeat: no-repeat;
        background-position: center;
        transition: none;
        transform: rotateY(180deg);
    }
    .nav-sub-mobile .btn-dropdown .arrow-dropdown {
        content: '';
        position: relative;
        display: inline-flex;
        top: 2px;
        background-image: url(../images/icons/icon-arrow-down-purple.png);
        background-size: cover;
        width: 16px;
        height: 16px;
        transition: all ease-in-out .2s;
    }
    .nav-sub-mobile .btn-dropdown.show .arrow-dropdown {
        transform: rotateX(180deg);
    }
    .nav-sub-mobile .dropdown-menu {
        border: none;
        background-color: var(--beige-600);
        border-radius: 0;
        margin-top: -2px !important;
        width: calc(100% + 12px);
    }
    .nav-sub-mobile .dropdown-menu .dropdown-item {
        color: var(--purple-500);
        text-transform: uppercase;
        font-family: 'Anticva';
        padding: .5rem
    }
    .nav-subcategory-mobile {
        display: block;
        background-color: var(--beige-600);
    }
    .nav-subcategory-mobile .subcategory-menu {
        list-style: none;
        padding: .5rem;
    }
    .nav-subcategory-mobile .subcategory-menu .item {
        text-align: center;
        padding: .5rem
    }
    .nav-subcategory-mobile .subcategory-menu .item .link {
        color: var(--purple-500);
        text-transform: uppercase;
        font-family: 'Anticva';
        text-decoration: none;
    }
    .menu-nav-pills {
        display: none;
    }
    .slick-fluid-three .slick-prev {
        top: auto;
        bottom: -42px;
        left: calc(50% - 8px);
        transform: translateX(-100%);
        width: 48px;
        height: 48px;
    }
    .slick-fluid-three .slick-prev::before {
        background: url(../images/icons/icon-arrow-left-slider.svg);
        width: 48px;
        height: 48px;
    }
    .slick-fluid-three .slick-next {
        top: auto;
        bottom: -42px;
        right: calc(50% - 8px);
        transform: translateX(100%);
        width: 48px;
        height: 48px;
        z-index: 1;
    }
    .slick-fluid-three .slick-next::before {
        background: url(../images/icons/icon-arrow-right-slider.svg);
        width: 48px;
        height: 48px;
    }
    .offcanvas-menu .btn-close {
        font-size: 16px;
    }
    .offcanvas-menu .navbar-nav .nav-item .menu-item {
        font-size: 36px;
        padding: 8px 0;
    }
    .offcanvas-menu .dropdown-menu-custom::after {
        width: 32px;
        height: 32px;
    }
    .offcanvas-menu .dropdown-menu-custom .dropdown-item {
        font-size: 36px;
    }
    .offcanvas-menu .dropdown-toggle::after {
        display: none;
    }
    .offcanvas-menu .navbar-nav .dropdown .nav-link {
        font-size: 14px;
    }
    .offcanvas-menu .offcanvas-body {
        padding: 16px 20px 20px;
    }
    .offcanvas-menu .btn-primary-custom {
        font-size: 18px;
        padding: 14px;
    }
    .logo-img {
        height: 40px;
    }
    .btn-book {
        font-size: 14px;
        padding: 6px 12px;
    }
    .lang-active, .lang-inactive, .lang-divider {
        font-size: 14px;
    }
    .page-title {
        font-size: 48px;
        margin-bottom: 64px;
    }
    .page-title::after {
        width: 140px;
        height: 140px;
        bottom: -78px;
    }
    .gallery-slide img {
        height: 160px;
    }
    .show-hero {
        padding-bottom: 0;
    }
    .hall-hero .decor-bell {
        display: none;
    }
    .hall-gallery .slick-slide img {
        height: 160px;
    }
    .hall-hero {
        padding-bottom: 40px;
    }
    .hall-description {
        padding: 48px 0 48px;
    }
    .hall-description .heading-2 {
        font-size: 36px;
    }
    .virtual-tour {
        padding: 24px 0 40px;
    }
    .virtual-tour .heading-2 {
        font-size: 36px;
    }
    .hall-tabs .nav-link {
        font-size: 12px;
        padding: 6px 12px;
        min-width: 80px;
    }
    .booking-tabs .nav-link {
        min-width: 80px;
        font-size: 11px;
        padding: 4px 8px;
    }
    .hall-scheme-wrapper {
        min-height: 240px;
        padding: 6px 4px;
    }
    .gallery-bell-icon::before {
        width: 140px;
        height: 140px;
        right: 25%;
        top: -70px;
    }
    .table-big,
    .table-small {
        transform: scale(0.55);
    }
    .scheme-stage {
        max-width: 200px;
        height: 18px;
    }
    .scheme-dancefloor {
        max-width: 140px;
        height: 20px;
    }
    .scheme-label {
        font-size: 10px !important;
    }
    .total-price {
        font-size: 18px;
    }
    .total-label {
        font-size: 16px;
    }
    .booking-agreement {
        font-size: 14px;
    }
    .counter-btn {
        width: 24px;
        height: 24px;
        font-size: 14px;
    }
    .counter-value {
        font-size: 16px;
    }
    .header-inner { padding: 0 16px; }
    .hero-content { padding: 0 16px; }
    .hero-title { font-size: 32px; }
    .hero-format {
        margin-bottom: 40px;
    }
    .play-button {
        width: 48px;
        height: 48px;
    }
    .play-button i { font-size: 28px; }
    .gallery-arrow { width: 48px; height: 48px; font-size: 18px; }
    .poster-title {
        font-size: 36px;
    }
    .title-feather::after {
        width: 140px;
        height: 140px;
        left: 55%;
        bottom: -50px;
    }
    .event-card-inner {
        padding: 16px;
    }
    .event-date {
        padding-right: 12px;
    }
    .event-time {
        padding-left: 12px;
    }
    .event-icon {
        width: 32px;
        height: 32px;
    }
    .footer-inner { padding: 0 16px; }
    .contact-phone, .contact-email, .contact-label { font-size: 15px; }
    .heading-1 { font-size: 28px; }
    .heading-2 { font-size: 24px; }
    .hero-section { height: 500px; }
    .benefit-card .text-overlay { padding: 12px 16px 20px; }
    .video-container { height: 220px; }
    .gallery-item { height: 140px; }
    .interior-card { height: 180px; }
    .date-number { font-size: 32px; }
    .event-desc { font-size: 16px; }
    .event-card { padding: 10px 12px; gap: 8px; }
    .play-btn { width: 56px; height: 56px; }
    .play-btn img { width: 24px; height: 32px; }
    .btn-primary-custom { font-size: 16px; padding: 10px 20px; min-height: 40px; }
    .map-container { height: 300px; }
}
@media (max-width: 480px) {
    .error-title {
        font-size: 120px;
        letter-spacing: -8px;
    }
}