/* ===== Responsive ===== */
    @media (max-width: 1100px) {
      .header-contacts { display: none; }
      .hero-layout {
        grid-template-columns: 1fr;
        grid-template-areas:
          "content"
          "reviews"
          "actions";
        gap: 20px;
        justify-items: center;
      }
      .hero-content {
        width: 100%;
        text-align: center;
        align-self: center;
      }
      .hero-actions {
        width: 100%;
        max-width: 360px;
      }
      .hero-reviews {
        width: 100%;
        max-width: 320px;
        height: auto;
      }
      .hero-reviews-widget {
        height: clamp(240px, calc(100dvh - var(--header-h, 72px) - 120px), 400px);
        max-height: calc(100dvh - var(--header-h, 72px) - 120px);
      }
      .hero-reviews-hat {
        justify-content: center;
      }
      .hero-reviews-hat .hero-good-place-icon {
        width: 36px;
        height: 36px;
      }
      .hero-reviews-hat .hero-good-place-text {
        font-size: 18px;
      }
      .hero-reviews-rate-mask {
        top: 90px;
        height: 36px;
      }
      .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); }
      .formats-flip-grid .flip-card,
      .articles-flip-grid .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: 10px;
        align-items: center;
      }
      .hero-content {
        display: flex;
        flex-direction: column;
        align-items: center;
        order: 1;
        width: 100%;
        text-align: center;
        padding: 0 12px;
      }
      .hero-reviews {
        order: 2;
        width: min(100%, 340px);
        max-width: 340px;
        height: auto;
        margin: 4px auto;
      }
      .hero-reviews-card {
        display: flex !important;
        flex-direction: column;
        border-radius: 14px;
        overflow: hidden;
        background: #fff;
      }
      .hero-reviews[data-good-place="1"] .hero-reviews-hat {
        justify-content: center;
        padding: 6px 12px 4px;
        gap: 6px;
      }
      .hero-reviews-hat .hero-good-place-icon {
        width: 24px;
        height: 24px;
      }
      .hero-reviews-hat .hero-good-place-text {
        font-size: 15px;
      }
      .hero-reviews-widget {
        position: relative;
        display: block !important;
        height: 112px;
        max-height: 112px;
        overflow: hidden;
      }
      .hero-reviews-widget iframe {
        height: 220px !important;
        min-height: 0;
      }
      .hero-reviews-rate-mask {
        display: none !important;
      }
      .hero-reviews-link {
        display: none !important;
      }
      .hero-reviews-leave-btn {
        display: flex !important;
        align-items: center;
        justify-content: center;
        margin: 2px 14px 12px;
        min-height: 44px;
        padding: 0 16px;
        border-radius: 10px;
        background: linear-gradient(180deg, #5eb0ff 0%, #198cff 100%);
        color: #fff !important;
        font-size: 15px;
        font-weight: 700;
        text-decoration: none !important;
        box-shadow: 0 2px 8px rgba(25, 140, 255, 0.35);
      }
      .hero-actions {
        order: 3;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 10px;
        width: 100%;
        max-width: 340px;
        margin-top: 14px;
      }
      .hero-book-label {
        margin: 0;
        font-size: 1rem;
        font-weight: 700;
        text-align: center;
        color: rgba(255, 255, 255, 0.94);
      }
      .hero-cta {
        justify-content: center;
        width: 100%;
      }
      .hero-cta--messengers {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 8px;
        max-width: 340px;
      }
      .hero-cta--messengers .btn-hero {
        width: 100%;
        min-height: 46px;
        padding: 10px;
        font-size: 14px;
        justify-content: center;
      }
      .hero-ai-mode {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 6px;
        width: 100%;
        max-width: 340px;
        min-height: 46px;
        padding: 10px 14px;
        box-sizing: border-box;
        border-radius: 12px;
        border: 1.5px solid #b56cff;
        background: rgba(12, 4, 24, 0.55);
        color: #fff;
        font-size: 1rem;
        font-weight: 700;
        text-decoration: none;
      }
      .hero-ai-accent {
        color: #c8f55a;
        font-weight: 800;
        text-decoration: underline;
        text-underline-offset: 3px;
      }
      .hero-actions .btn-speak,
      .fx-soundwave {
        display: none !important;
      }

      .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,
      .articles-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,
      .articles-flip-grid::-webkit-scrollbar { display: none; }
      .advantage-card,
      .formats-flip-grid .flip-card,
      .articles-flip-grid .flip-card,
      .format-card {
        flex: 0 0 85%;
        scroll-snap-align: center;
        min-height: 280px;
      }
      .articles-flip-grid .flip-card {
        flex: 0 0 min(86vw, 340px);
        width: min(86vw, 340px);
        min-height: 0;
        aspect-ratio: 1 / 1;
        height: auto !important;
      }

      .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); }
      .formats-flip-grid .flip-card,
      .articles-flip-grid .flip-card { height: 450px; min-height: 450px; }
      #advantagesCard.flip-card {
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        aspect-ratio: 1 / 1;
        max-width: 320px;
      }
      .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; }
    }
