/* ===== Responsive ===== */
    @media (max-width: 1100px) {
      .header-contacts { display: none; }
      .hero-layout {
        grid-template-columns: 1fr;
        gap: 32px;
        justify-items: center;
      }
      .hero-content { order: -1; text-align: center; width: 100%; }
      .hero-reviews {
        width: 100%;
        max-width: 320px;
        height: 420px;
      }
      .nav-list { gap: 16px; }
      .nav-link { font-size: 0.88rem; }
    }

    @media (max-width: 992px) {
      .halls-grid { grid-template-columns: 1fr; max-width: 480px; margin: 0 auto; }
      .contacts-grid {
        grid-template-columns: repeat(2, 1fr);
        max-width: 640px;
        margin-left: auto;
        margin-right: auto;
      }
      .neonloft-grid { grid-template-columns: 1fr; }
      .guests-item { width: 120px; height: 120px; }
      .maps-grid { grid-template-columns: 1fr; }
      .map-frame { height: 280px; }
      .map-switcher-nav { gap: 8px; }
      .map-switcher-nav .tab-btn {
        padding: 10px 16px;
        font-size: 0.88rem;
      }
      .features-grid { grid-template-columns: repeat(2, 1fr); }
      .photo-grid-inner { grid-template-columns: repeat(2, 1fr); }
      .formats-flip-grid { grid-template-columns: repeat(2, 1fr); }
      .flip-card { height: 380px; }
    }

    @media (max-width: 768px) {
  .logo-desktop { display: none; }
  .logo-mobile { display: block; }
      .nav {
        position: fixed;
        top: var(--header-h);
        left: 0; right: 0;
        background: rgba(26, 11, 46, 0.98);
        backdrop-filter: blur(20px);
        border-bottom: 1px solid var(--border);
        padding: 16px 20px;
        transform: translateY(-130%);
        opacity: 0;
        transition: all var(--ease);
        z-index: 999;
      }

      .nav.open { transform: translateY(0); opacity: 1; }

      .nav-list { flex-direction: column; gap: 0; }
      .nav-link {
        display: block;
        padding: 14px 0;
        border-bottom: 1px solid var(--border);
      }

      .burger { display: flex; }
      .header-phone { display: none; }

      .price-calc-row {
        flex-direction: column;
        align-items: stretch;
      }
      .price-calc-slider-wrap { width: 100%; }
      .price-calc-slider { width: 100%; }
      .price-calc-switches { grid-template-columns: 1fr; }
      .price-calc-chip { min-height: 48px; font-size: 15px; }
      .price-calc-result-value { font-size: 32px; }
      .price-calc-result-meta { font-size: 13px; }
      .price-compare-grid {
        grid-template-columns: 1fr;
        gap: 16px;
      }

      .hero-layout {
        display: flex;
        flex-direction: column;
        gap: 20px;
      }
      .hero-content {
        order: -1;
        width: 100%;
        text-align: center;
      }
      .hero-reviews,
      .hero-reviews-widget {
        width: 100%;
        max-width: 320px;
        height: 280px;
        max-height: 280px;
        overflow: hidden;
      }
      .hero-reviews-widget iframe {
        height: 100% !important;
      }
      .hero-cta { justify-content: center; }

      .tabs-nav {
        flex-direction: row;
        flex-wrap: nowrap;
        justify-content: flex-start;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        gap: 12px;
        padding: 8px 4px 16px;
        margin-bottom: 24px;
        border-bottom: 0;
        scrollbar-width: none;
        -ms-overflow-style: none;
      }
      .tabs-nav::-webkit-scrollbar { display: none; }
      .tab-btn {
        flex: 0 0 auto;
        width: auto;
        min-width: 140px;
        min-height: 44px;
        padding: 12px 20px;
        border-radius: 24px;
        border: 1px solid rgba(255, 255, 255, 0.2);
        background: rgba(255, 255, 255, 0.05);
        color: rgba(255, 255, 255, 0.7);
        font-size: 15px;
        font-weight: 600;
        white-space: nowrap;
        scroll-snap-align: start;
        box-shadow: none;
        text-align: center;
      }
      .tab-btn.active {
        background: #593C90;
        color: #fff;
        border-color: #593C90;
        border-bottom: 0;
        box-shadow: none;
      }
      .tab-btn:hover {
        background: rgba(89, 60, 144, 0.2);
        color: #fff;
      }

      .advantages-grid,
      .formats-container,
      .formats-flip-grid {
        display: flex;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scroll-behavior: smooth;
        gap: 16px;
        padding: 0 8px 24px;
        max-width: none;
        margin: 0;
        scrollbar-width: none;
        -ms-overflow-style: none;
        -webkit-overflow-scrolling: touch;
      }
      .advantages-grid::-webkit-scrollbar,
      .formats-container::-webkit-scrollbar,
      .formats-flip-grid::-webkit-scrollbar { display: none; }
      .advantage-card,
      .flip-card,
      .format-card {
        flex: 0 0 85%;
        scroll-snap-align: center;
        min-height: 280px;
      }

      .formats-section.advantages,
      #formats.advantages {
        background: linear-gradient(180deg, #060306 0%, #1a0b2e 100%);
      }

      @media (max-width: 375px) {
        .format-card {
          flex: 0 0 90%;
          padding: 20px 16px;
          min-height: 260px;
        }
      }

      @media (min-width: 414px) and (max-width: 768px) {
        .format-card {
          flex: 0 0 80%;
        }
      }

      .formats-dots,
      .slider-indicators {
        display: flex;
        justify-content: center;
        gap: 6px;
        margin-top: 16px;
      }
      .formats-dot,
      .slider-indicator {
        width: 8px;
        height: 8px;
        padding: 0;
        border: 0;
        border-radius: 50%;
        background: rgba(89, 60, 144, 0.3);
        min-height: 8px;
        cursor: pointer;
        transition: width 0.25s ease, border-radius 0.25s ease, background 0.25s ease;
      }
      .formats-dot.is-active,
      .slider-indicator.active {
        width: 24px;
        border-radius: 4px;
        background: #593C90;
      }

      .prices,
      .halls,
      .advantages,
      .gallery,
      .features,
      .contacts,
      .formats-strip,
      .guests,
      .social,
      .photo-grid {
        padding: 48px 0;
      }

      .price-layout,
      .price-grid { grid-template-columns: 1fr; }
      .price-card { padding: 28px 20px; }
      .modal-dialog { padding: 28px 20px; }
      .modal-specs { grid-template-columns: 1fr; }
      .modal-gallery { grid-template-columns: repeat(2, 1fr); }
      .hero-stats { gap: 28px; }
      .photo-slider-slide { height: 280px; }
      .photo-slider-prev { left: 8px; }
      .photo-slider-next { right: 8px; }
      .modal-hall-grid { grid-template-columns: 1fr; }
      .modal-main-image img { height: 220px; }
      .modal-thumbs { grid-template-columns: repeat(5, 1fr); }
      .flip-card { height: 450px; min-height: 450px; }
      .hero-cta { justify-content: center; }
      .footer-franchise {
        flex-direction: column;
        text-align: center;
        padding: 24px 20px;
      }
      .footer-docs {
        flex-direction: column;
        align-items: center;
        gap: 14px;
      }
    }

    @media (max-width: 480px) {
      .contacts-grid {
        grid-template-columns: 1fr;
        max-width: 360px;
      }
      .guests-item { width: 100px; height: 100px; }
      .hero-stats { flex-direction: column; gap: 16px; }
      .modal-dialog--hall { padding: 20px 16px; }
      .modal-thumbs { grid-template-columns: repeat(4, 1fr); }
      .features-grid { grid-template-columns: 1fr; max-width: 400px; margin: 0 auto; }
      .photo-grid-inner { grid-template-columns: 1fr; max-width: 480px; }
    }


    @media (max-width: 768px) {
      .price-classic-grid { grid-template-columns: 1fr; }
      .price-glass { width: 100%; }
      .formats-head { display: block; }
      .format-card--cover {
        display: none !important;
      }
    }
    @media (min-width: 769px) and (max-width: 1024px) {
      .price-classic-grid { grid-template-columns: repeat(2, 1fr); }
      .format-card--cover { display: none !important; }
    }
