        /* --- BPG menu fonts --- */
        @font-face {
            font-family: 'BPG Banner Quadrosquare';
            src: url('../../fonts/bpg_banner_quadrosquare.ttf') format('truetype');
            font-weight: 400;
            font-style: normal;
            font-display: swap;
        }
        @font-face {
            font-family: 'BPG Banner Quadrosquare Caps';
            src: url('../../fonts/BPG-Banner-QuadroSquare-Caps.ttf') format('truetype');
            font-weight: 400;
            font-style: normal;
            font-display: swap;
        }
        /* --- ძირითადი პარამეტრები და ცვლადები --- */
        :root {
            --gold-primary: #D4AF37;
            --gold-muted: rgba(212, 175, 55, 0.4);
            --bg-solid: rgba(3, 3, 3, 0.94); 
            --text-white: #F8F8F8;
            --text-gray: #A9A9A9;
            --ease-luxury: cubic-bezier(0.25, 1, 0.25, 1);
        }
        * {
            box-sizing: border-box;
            margin: 0;
            padding: 0;
            -webkit-font-smoothing: antialiased;
        }
        body {
            font-family: 'Montserrat', sans-serif;
            background: url('https://images.unsplash.com/photo-1542314831-c6a4d274738c?ixlib=rb-4.0.3&auto=format&fit=crop&w=1920&q=80') no-repeat center center fixed;
            background-size: cover;
            height: 100vh;
            overflow: hidden;
            display: flex;
            align-items: center;
        }
        /* --- Minimal Premium Start Loading Window --- */
        .dreamland-start-loader {
            position: fixed;
            inset: 0;
            z-index: 2147482600;
            display: flex;
            align-items: center;
            justify-content: center;
            background:
                radial-gradient(circle at 50% 38%, rgba(212, 175, 55, 0.075), transparent 32%),
                radial-gradient(circle at 50% 100%, rgba(255, 255, 255, 0.035), transparent 30%),
                linear-gradient(180deg, #050505 0%, #0A0A09 46%, #030303 100%);
            opacity: 1;
            visibility: visible;
            pointer-events: auto;
            transition: opacity 0.85s var(--ease-luxury), visibility 0ms linear;
        }
        .dreamland-start-loader.is-hidden {
            opacity: 0;
            visibility: hidden;
            pointer-events: none;
            transition: opacity 0.85s var(--ease-luxury), visibility 0ms linear 0.85s;
        }
        .dreamland-start-loader-inner {
            width: min(300px, 74vw);
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            gap: 24px;
            transform: translateY(-8px);
        }
        .dreamland-start-loader-logo {
            width: min(168px, 46vw);
            height: auto;
            display: block;
            opacity: 0.96;
            filter: drop-shadow(0 18px 34px rgba(0, 0, 0, 0.55)) drop-shadow(0 0 18px rgba(212, 175, 55, 0.10));
            animation: dreamlandStartLogoFloat 2.8s ease-in-out infinite;
        }
        .dreamland-start-progress {
            width: min(242px, 58vw);
            height: 2px;
            border-radius: 999px;
            overflow: hidden;
            background: rgba(255, 255, 255, 0.105);
            box-shadow: 0 0 0 1px rgba(212, 175, 55, 0.055), 0 12px 26px rgba(0, 0, 0, 0.35);
        }
        .dreamland-start-progress-bar {
            display: block;
            width: 0%;
            height: 100%;
            border-radius: inherit;
            background: linear-gradient(90deg, rgba(212, 175, 55, 0.18), rgba(252, 246, 186, 0.92), rgba(212, 175, 55, 0.36));
            box-shadow: 0 0 16px rgba(212, 175, 55, 0.28);
            transition: width 0.42s var(--ease-luxury);
        }
        @keyframes dreamlandStartLogoFloat {
            0%, 100% { opacity: 0.88; transform: translateY(0); }
            50% { opacity: 1; transform: translateY(-2px); }
        }
        @media (max-width: 768px) {
            .dreamland-start-loader-inner {
                width: min(280px, 78vw);
                gap: 22px;
                transform: translateY(-5px);
            }
            .dreamland-start-loader-logo {
                width: min(154px, 48vw);
            }
            .dreamland-start-progress {
                width: min(220px, 62vw);
            }
        }
        /* --- მრგვალი Toggle ღილაკი (დესკტოპზე მენიუს გარეთ) --- */
        .menu-toggle {
            display: flex;
            justify-content: center;
            align-items: center;
            position: fixed;
            top: 25px;
            left: 345px; 
            width: 48px;
            height: 48px;
            border-radius: 50%;
            background: rgba(3, 3, 3, 0.85);
            backdrop-filter: blur(10px);
            border: 1px solid var(--gold-muted);
            cursor: pointer;
            z-index: 1001;
            transition: transform 0.6s var(--ease-luxury), border-color 0.4s ease, box-shadow 0.4s ease;
        }
        .menu-toggle:hover {
            border-color: var(--gold-primary);
            box-shadow: 0 0 15px rgba(212, 175, 55, 0.2);
        }
        .menu-toggle span {
            position: absolute;
            width: 20px;
            height: 2px;
            background-color: var(--gold-primary);
            transition: transform 0.4s var(--ease-luxury), opacity 0.4s ease, margin 0.4s ease;
        }
        .menu-toggle span:nth-child(1) { transform: rotate(45deg); margin-top: 0; }
        .menu-toggle span:nth-child(2) { opacity: 0; }
        .menu-toggle span:nth-child(3) { transform: rotate(-45deg); margin-top: 0; }
        body.nav-toggled .menu-toggle span:nth-child(1) { transform: none; margin-top: -12px; }
        body.nav-toggled .menu-toggle span:nth-child(2) { opacity: 1; }
        body.nav-toggled .menu-toggle span:nth-child(3) { transform: none; margin-top: 12px; }
        /* --- ულტრა-კომპაქტური მენიუს პანელი --- */
        .luxury-sidebar {
            position: fixed;
            top: 0;
            left: 0;
            width: 320px; 
            height: 100vh;
            background: var(--bg-solid);
            backdrop-filter: blur(24px); 
            -webkit-backdrop-filter: blur(24px);
            border-right: 1px solid rgba(255, 255, 255, 0.03);
            box-shadow: 10px 0 30px rgba(0, 0, 0, 0.9); 
            display: flex;
            flex-direction: column;
            padding: 25px 25px; 
            z-index: 1000;
            transition: transform 0.6s var(--ease-luxury);
            transform: translateX(0); 
        }
        body.nav-toggled .luxury-sidebar { transform: translateX(-100%); }
        body.nav-toggled .menu-toggle { transform: translateX(-320px); }
        /* --- ულტრა-კომპაქტური ლოგო --- */
        .brand-logo-container {
            text-align: center;
            margin-bottom: 25px; 
            position: relative;
            display: flex;
            justify-content: center;
            align-items: center;
            flex-direction: column;
            gap: 11px;
        }
        .brand-logo-container::after {
            content: '';
            position: absolute;
            bottom: -12px; 
            left: 50%;
            transform: translateX(-50%);
            width: 25px;
            height: 1px;
            background: var(--gold-muted);
        }
        .brand-logo img {
            width: 100%;
            max-width: 120px; 
            height: auto;
            opacity: 0.95;
            transition: opacity 0.5s ease;
        }
        .brand-logo img:hover { opacity: 1; }
        /* --- პრემიუმ კომპაქტური ენის გადამრთველი Header-ში --- */
        .language-switcher {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 2px;
            padding: 3px;
            border-radius: 999px;
            border: 1px solid rgba(212, 175, 55, 0.22);
            background: linear-gradient(180deg, rgba(255, 255, 255, 0.045), rgba(255, 255, 255, 0.015));
            box-shadow: inset 0 0 14px rgba(212, 175, 55, 0.05), 0 6px 18px rgba(0, 0, 0, 0.18);
            backdrop-filter: blur(10px);
            -webkit-backdrop-filter: blur(10px);
        }
        .lang-btn {
            min-width: 38px;
            height: 24px;
            padding: 0 9px;
            border: 1px solid transparent;
            border-radius: 999px;
            background: transparent;
            color: var(--text-gray);
            font-family: 'Montserrat', sans-serif;
            font-size: 9px;
            font-weight: 500;
            letter-spacing: 1.2px;
            text-transform: uppercase;
            cursor: pointer;
            transition: color 0.35s var(--ease-luxury), background 0.35s var(--ease-luxury), border-color 0.35s var(--ease-luxury), box-shadow 0.35s var(--ease-luxury);
        }
        .lang-btn:hover {
            color: var(--gold-primary);
            border-color: rgba(212, 175, 55, 0.25);
            background: rgba(212, 175, 55, 0.055);
        }
        .lang-btn.active {
            color: var(--text-white);
            border-color: rgba(212, 175, 55, 0.42);
            background: linear-gradient(180deg, rgba(212, 175, 55, 0.22), rgba(212, 175, 55, 0.08));
            box-shadow: 0 0 12px rgba(212, 175, 55, 0.14);
        }
        /* --- Premium Menu Search Field --- */
        .menu-search-panel {
            flex: 0 0 auto;
            position: relative;
            margin: 0 0 14px;
        }
        .menu-search-field {
            position: relative;
            height: 38px;
            display: flex;
            align-items: center;
            border-radius: 999px;
            border: 1px solid rgba(212, 175, 55, 0.24);
            background:
                linear-gradient(180deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.018)),
                rgba(3, 3, 3, 0.36);
            box-shadow:
                inset 0 0 18px rgba(212, 175, 55, 0.045),
                0 10px 24px rgba(0, 0, 0, 0.22);
            overflow: hidden;
            transition: border-color 0.35s var(--ease-luxury), box-shadow 0.35s var(--ease-luxury), background 0.35s var(--ease-luxury);
        }
        .menu-search-field:focus-within {
            border-color: rgba(212, 175, 55, 0.56);
            background:
                linear-gradient(180deg, rgba(212, 175, 55, 0.085), rgba(255, 255, 255, 0.018)),
                rgba(3, 3, 3, 0.48);
            box-shadow:
                inset 0 0 20px rgba(212, 175, 55, 0.075),
                0 0 18px rgba(212, 175, 55, 0.13),
                0 10px 24px rgba(0, 0, 0, 0.24);
        }
        .menu-search-icon {
            position: absolute;
            left: 14px;
            width: 14px;
            height: 14px;
            color: rgba(212, 175, 55, 0.86);
            fill: none;
            stroke: currentColor;
            stroke-width: 1.9;
            stroke-linecap: round;
            stroke-linejoin: round;
            pointer-events: none;
            filter: drop-shadow(0 0 6px rgba(212, 175, 55, 0.18));
        }
        .menu-search-input {
            width: 100%;
            height: 100%;
            border: 0;
            outline: 0;
            background: transparent;
            color: var(--text-white);
            font-family: 'Montserrat', sans-serif;
            font-size: 10.5px;
            font-weight: 400;
            letter-spacing: 1px;
            padding: 0 38px 0 38px;
            appearance: none;
            -webkit-appearance: none;
        }
        .menu-search-input::-webkit-search-cancel-button {
            display: none;
        }
        .menu-search-input::placeholder {
            color: rgba(248, 248, 248, 0.38);
            text-transform: uppercase;
        }
        .menu-search-clear {
            position: absolute;
            right: 8px;
            width: 24px;
            height: 24px;
            border: 1px solid rgba(212, 175, 55, 0.22);
            border-radius: 50%;
            background: rgba(255, 255, 255, 0.035);
            color: rgba(248, 248, 248, 0.62);
            cursor: pointer;
            display: grid;
            place-items: center;
            font-size: 15px;
            line-height: 1;
            opacity: 0;
            visibility: hidden;
            pointer-events: none;
            transition: opacity 0.28s ease, visibility 0.28s ease, color 0.28s ease, border-color 0.28s ease, background 0.28s ease, transform 0.28s var(--ease-luxury);
        }
        .menu-search-clear:hover {
            color: var(--text-white);
            border-color: rgba(212, 175, 55, 0.52);
            background: rgba(212, 175, 55, 0.12);
            transform: scale(1.04);
        }
        .menu-search-panel.has-value .menu-search-clear {
            opacity: 1;
            visibility: visible;
            pointer-events: auto;
        }
        .menu-search-empty {
            display: none;
            padding: 10px 6px 0;
            color: rgba(248, 248, 248, 0.46);
            font-family: 'Montserrat', sans-serif;
            font-size: 9px;
            letter-spacing: 1.2px;
            text-transform: uppercase;
            text-align: center;
        }
        .menu-search-panel.no-results .menu-search-empty {
            display: block;
        }
        .dreamland-search-hidden {
            display: none !important;
        }
        body.dreamland-menu-searching .category-btn.dreamland-search-match,
        body.dreamland-menu-searching .nested-btn.dreamland-search-match,
        body.dreamland-menu-searching .pano-link.dreamland-search-match {
            color: var(--gold-primary);
        }
        body.dreamland-menu-searching .pano-link.dreamland-search-match {
            background: linear-gradient(90deg, rgba(212, 175, 55, 0.10) 0%, transparent 82%);
        }
        /* --- სქროლი — River Side 1:1, მენიუს მარჯვენა კიდემდე --- */
        .menu-wrapper {
            flex-grow: 1;
            overflow-y: auto;
            overflow-x: hidden;
            margin-right: -25px;
            padding-right: 35px;
        }
        .menu-wrapper::-webkit-scrollbar { width: 3px; }
        .menu-wrapper::-webkit-scrollbar-track { background: transparent; }
        .menu-wrapper::-webkit-scrollbar-thumb { background: rgba(212, 175, 55, 0.3); border-radius: 10px; }
        .menu-wrapper::-webkit-scrollbar-thumb:hover { background: rgba(212, 175, 55, 0.6); }
        /* =========================================
           იერარქიის და სტრუქტურის დიზაინი
           ========================================= */
        /* --- 1. მთავარი კატეგორიები (Level 1) --- */
        .category-item {
            position: relative;
        }
        .category-item::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 0;
            width: 100%;
            height: 1px;
            background: linear-gradient(90deg, transparent 0%, rgba(212, 175, 55, 0.3) 50%, transparent 100%);
        }
        .category-btn {
            width: 100%;
            background: transparent;
            border: none;
            color: var(--text-white);
            font-family: 'BPG Banner Quadrosquare Caps', 'Cinzel', serif;
            font-size: 13px; 
            font-weight: 500;
            letter-spacing: 2px;
            text-transform: uppercase;
            text-align: left;
            padding: 18px 0; 
            cursor: pointer;
            display: flex;
            justify-content: space-between;
            align-items: center;
            position: relative;
            transition: color 0.4s var(--ease-luxury), letter-spacing 0.4s var(--ease-luxury);
        }
        .category-btn::before {
            content: '';
            position: absolute;
            left: -25px; 
            top: 50%;
            transform: translateY(-50%) scaleY(0);
            width: 2px;
            height: 50%;
            background-color: var(--gold-primary);
            transition: transform 0.4s var(--ease-luxury);
        }
        .category-btn:hover {
            color: var(--gold-primary);
            letter-spacing: 3px;
        }
        /* --- კატეგორიების პრემიუმ/Luxury Emoji ნიშნები --- */
        .category-btn > span[data-i18n] {
            display: inline-flex;
            align-items: center;
            gap: 9px;
            min-width: 0;
        }
        .category-btn > span[data-i18n]::before {
            content: '';
            display: inline-block;
            width: 18px;
            min-width: 18px;
            text-align: center;
            font-family: 'Apple Color Emoji', 'Segoe UI Emoji', 'Noto Color Emoji', sans-serif;
            font-size: 14px;
            line-height: 1;
            opacity: 0.92;
            transform: translateY(-1px);
            filter: drop-shadow(0 0 6px rgba(212, 175, 55, 0.28));
            transition: transform 0.35s var(--ease-luxury), opacity 0.35s ease, filter 0.35s ease;
        }
        .category-btn:hover > span[data-i18n]::before,
        .category-btn.active > span[data-i18n]::before {
            opacity: 1;
            transform: translateY(-1px) scale(1.08);
            filter: drop-shadow(0 0 10px rgba(212, 175, 55, 0.42));
        }
        .category-btn > span[data-i18n="hotel"]::before { content: '🏨'; }
        .category-btn > span[data-i18n="rooms"]::before { content: '🛏️'; }
        .category-btn > span[data-i18n="restaurants"]::before { content: '🍽️'; }
        .category-btn > span[data-i18n="pools"]::before { content: '🏊'; }
        .category-btn > span[data-i18n="funZone"]::before { content: '🎮'; }
        .category-btn > span[data-i18n="infrastructure"]::before { content: '🏝️'; }
        .icon-indicator { width: 10px; height: 10px; position: relative; }
        .icon-indicator::before, .icon-indicator::after {
            content: ''; position: absolute; background-color: var(--text-gray); transition: transform 0.5s var(--ease-luxury), background-color 0.4s ease;
        }
        .icon-indicator::before { top: 4px; left: 0; width: 10px; height: 1px; }
        .icon-indicator::after { top: 0; left: 4px; width: 1px; height: 10px; }
        .category-btn.active { color: var(--gold-primary); }
        .category-btn.active::before { transform: translateY(-50%) scaleY(1); }
        .category-btn.active .icon-indicator::before,
        .category-btn.active .icon-indicator::after { background-color: var(--gold-primary); }
        .category-btn.active .icon-indicator::after { transform: rotate(90deg); }
        /* --- 2. პირველი დონის შიგთავსი (Level 2 Container) --- */
        .submenu-content {
            max-height: 0;
            overflow: hidden;
            opacity: 0;
            transition: max-height 0.6s var(--ease-luxury), opacity 0.5s ease;
            display: flex;
            flex-direction: column;
            
            /* ვიზუალური იერარქია: ვერტიკალური ღერძი და შეწევა */
            margin-left: 14px; 
            border-left: 1px solid rgba(255, 255, 255, 0.08); /* მკრთალი ხაზი */
            padding-left: 12px; 
        }
        .category-btn.active + .submenu-content {
            opacity: 1;
            padding-top: 8px;
            padding-bottom: 12px; 
        }
        /* --- 3. პირდაპირი პანორამები და Nested ღილაკები (Level 2 Items) --- */
        .pano-link {
            text-decoration: none;
            color: var(--text-gray);
            font-family: 'BPG Banner Quadrosquare', 'Montserrat', sans-serif;
            font-size: 12px; 
            font-weight: 300;
            letter-spacing: 1px;
            padding: 10px 10px 10px 0px; /* ტექსტი იწყება ხაზიდან 12px-ის დაშორებით */
            display: flex;
            align-items: center;
            cursor: pointer;
            position: relative;
            transition: all 0.4s var(--ease-luxury);
            transform: translateX(-5px);
            opacity: 0;
            border-radius: 4px; 
            margin-bottom: 2px;
        }
        .category-btn.active + .submenu-content > .pano-link,
        .category-btn.active + .submenu-content > .nested-item {
            transform: translateX(0);
            opacity: 1;
        }
        /* ჰორიზონტალური დამაკავშირებელი ხაზი */
        .pano-link::before {
            content: '';
            position: absolute;
            left: -12px; /* ზუსტად ეხება ვერტიკალურ ღერძს */
            top: 50%;
            transform: translateY(-50%);
            width: 0px; 
            height: 1px; 
            background-color: var(--gold-primary);
            transition: width 0.4s var(--ease-luxury), opacity 0.4s ease, background-color 0.4s ease;
            opacity: 0;
        }
        .pano-link:hover {
            color: var(--gold-primary); 
            padding-left: 16px; /* ტექსტის შეწევა მარჯვნივ */
            background: linear-gradient(90deg, rgba(212, 175, 55, 0.05) 0%, transparent 80%);
        }
        .pano-link:hover::before { 
            width: 22px; /* ხაზი ივსება ღერძიდან ტექსტამდე */
            opacity: 1; 
        }
        .pano-link.active-pano {
            color: var(--text-white);
            padding-left: 16px;
            font-weight: 400; 
            background: linear-gradient(90deg, rgba(212, 175, 55, 0.12) 0%, transparent 80%);
        }
        .pano-link.active-pano::before {
            width: 22px;
            opacity: 1;
            background-color: var(--text-white); 
            box-shadow: 0 0 6px rgba(255, 255, 255, 0.4); 
        }
        /* --- პირდაპირი პანორამები მთავარ დონეზე --- */
        .menu-wrapper > .top-pano-link {
            color: var(--text-white);
            font-family: 'BPG Banner Quadrosquare', 'Cinzel', serif;
            font-size: 13px;
            font-weight: 500;
            letter-spacing: 2px;
            text-transform: uppercase;
            text-align: left;
            padding: 18px 0;
            display: flex;
            align-items: center;
            justify-content: flex-start;
            transform: none;
            opacity: 1;
            border-radius: 0;
            margin-bottom: 0;
        }
        .menu-wrapper > .top-pano-link .top-pano-label {
            display: inline-flex;
            align-items: center;
            gap: 9px;
            min-width: 0;
        }
        .menu-wrapper > .top-pano-link .top-pano-label::before {
            content: attr(data-pano-emoji);
            display: inline-block;
            width: 18px;
            min-width: 18px;
            text-align: center;
            font-family: 'Apple Color Emoji', 'Segoe UI Emoji', 'Noto Color Emoji', sans-serif;
            font-size: 14px;
            line-height: 1;
            opacity: 0.92;
            transform: translateY(-1px);
            filter: drop-shadow(0 0 6px rgba(212, 175, 55, 0.28));
            transition: transform 0.35s var(--ease-luxury), opacity 0.35s ease, filter 0.35s ease;
        }
        .menu-wrapper > .top-pano-link:hover .top-pano-label::before,
        .menu-wrapper > .top-pano-link.active-pano .top-pano-label::before {
            opacity: 1;
            transform: translateY(-1px) scale(1.08);
            filter: drop-shadow(0 0 10px rgba(212, 175, 55, 0.42));
        }
        .menu-wrapper > .top-pano-link::before {
            left: -25px;
            top: 50%;
            transform: translateY(-50%) scaleY(0);
            width: 2px;
            height: 50%;
            opacity: 1;
            background-color: var(--gold-primary);
            box-shadow: none;
            transition: transform 0.4s var(--ease-luxury);
        }
        .menu-wrapper > .top-pano-link::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 0;
            width: 100%;
            height: 1px;
            background: linear-gradient(90deg, transparent 0%, rgba(212, 175, 55, 0.3) 50%, transparent 100%);
        }
        .menu-wrapper > .top-pano-link:hover {
            color: var(--gold-primary);
            letter-spacing: 3px;
            padding-left: 0;
            background: transparent;
        }
        .menu-wrapper > .top-pano-link:hover::before,
        .menu-wrapper > .top-pano-link.active-pano::before {
            width: 2px;
            opacity: 1;
            transform: translateY(-50%) scaleY(1);
            background-color: var(--gold-primary);
        }
        .menu-wrapper > .top-pano-link.active-pano {
            color: var(--gold-primary);
            padding-left: 0;
            font-weight: 500;
            background: transparent;
        }
        /* --- 4. ჩაშენებული კატეგორიები (Nested Items) --- */
        .nested-item { 
            margin-bottom: 2px;
            transform: translateX(-5px);
            opacity: 0;
            transition: all 0.4s var(--ease-luxury);
        }
        .nested-btn {
            width: 100%;
            background: transparent;
            border: none;
            color: var(--text-gray); 
            font-family: 'BPG Banner Quadrosquare Caps', 'Cinzel', serif;
            font-size: 11px;
            font-weight: 600; /* გამორჩეული წონა */
            letter-spacing: 1px;
            text-transform: uppercase;
            text-align: left;
            padding: 10px 10px 10px 0px;
            cursor: pointer;
            display: flex;
            justify-content: space-between;
            align-items: center;
            transition: all 0.4s var(--ease-luxury);
            position: relative;
        }
        /* Nested ღილაკის ჰორიზონტალური დამაკავშირებელი ხაზი */
        .nested-btn::before {
            content: '';
            position: absolute;
            left: -12px;
            top: 50%;
            transform: translateY(-50%);
            width: 0;
            height: 1px;
            background-color: var(--gold-muted);
            transition: width 0.4s var(--ease-luxury), opacity 0.4s ease, background-color 0.4s ease;
            opacity: 0;
        }
        .nested-btn:hover {
            color: var(--text-white);
            letter-spacing: 2px;
            padding-left: 12px;
        }
        .nested-btn:hover::before { width: 18px; opacity: 1; }
        .nested-btn.active {
            color: var(--gold-primary);
            padding-left: 12px;
            letter-spacing: 2px;
        }
        .nested-btn.active::before {
            width: 18px;
            opacity: 1;
            background-color: var(--gold-primary);
        }
        .nested-indicator { position: relative; width: 8px; height: 8px; }
        .nested-indicator::before, .nested-indicator::after { content: ''; position: absolute; background-color: var(--text-gray); transition: transform 0.4s var(--ease-luxury), background-color 0.4s ease; }
        .nested-indicator::before { top: 3px; left: 0; width: 8px; height: 1px; }
        .nested-indicator::after { top: 0; left: 3px; width: 1px; height: 8px; }
        .nested-btn.active .nested-indicator::before, .nested-btn.active .nested-indicator::after { background-color: var(--gold-primary); }
        .nested-btn.active .nested-indicator::after { transform: rotate(90deg); }
        /* --- 5. მეორე დონის შიგთავსი (Level 3 Container) --- */
        .nested-submenu-content {
            max-height: 0;
            overflow: hidden;
            opacity: 0;
            transition: max-height 0.5s var(--ease-luxury), opacity 0.4s ease;
            display: flex;
            flex-direction: column;
            
            /* სიღრმის გამოსაყოფად დამოუკიდებელი, ოქროსფერი ღერძი */
            margin-left: 6px; 
            border-left: 1px solid rgba(212, 175, 55, 0.25); 
            padding-left: 12px; 
        }
        .nested-btn.active + .nested-submenu-content {
            opacity: 1;
            padding-top: 6px;
            padding-bottom: 8px;
        }
        /* ანიმაციის Delay ކასკადისთვის */
        .category-btn.active + .submenu-content > *:nth-child(1) { transition-delay: 0.04s; }
        .category-btn.active + .submenu-content > *:nth-child(2) { transition-delay: 0.08s; }
        .category-btn.active + .submenu-content > *:nth-child(3) { transition-delay: 0.12s; }
        .category-btn.active + .submenu-content > *:nth-child(4) { transition-delay: 0.16s; }
        .category-btn.active + .submenu-content > *:nth-child(5) { transition-delay: 0.20s; }
        
        .nested-btn.active + .nested-submenu-content .pano-link {
            transform: translateX(0);
            opacity: 1;
        }
        .nested-btn.active + .nested-submenu-content > *:nth-child(1) { transition-delay: 0.04s; }
        .nested-btn.active + .nested-submenu-content > *:nth-child(2) { transition-delay: 0.08s; }
        .nested-btn.active + .nested-submenu-content > *:nth-child(3) { transition-delay: 0.12s; }
        /* --- მარჯვენა ქვედა კუთხის Fullscreen ღილაკი --- */
        .fullscreen-toggle {
            position: fixed;
            right: 26px;
            bottom: calc(24px + env(safe-area-inset-bottom, 0px));
            width: 40px;
            height: 40px;
            border-radius: 50%;
            border: 1px solid rgba(212, 175, 55, 0.42);
            background: rgba(3, 3, 3, 0.82);
            color: var(--gold-primary);
            backdrop-filter: blur(12px);
            -webkit-backdrop-filter: blur(12px);
            box-shadow: 0 10px 28px rgba(0, 0, 0, 0.38), inset 0 0 16px rgba(212, 175, 55, 0.05);
            cursor: pointer;
            z-index: 1002;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: transform 0.45s var(--ease-luxury), border-color 0.35s ease, box-shadow 0.35s ease, background 0.35s ease;
        }
        .fullscreen-toggle:hover {
            transform: translateY(-2px);
            border-color: var(--gold-primary);
            background: rgba(3, 3, 3, 0.9);
            box-shadow: 0 12px 32px rgba(0, 0, 0, 0.45), 0 0 18px rgba(212, 175, 55, 0.2);
        }
        .fullscreen-toggle:active {
            transform: translateY(0) scale(0.96);
        }
        .fullscreen-toggle .fs-icon {
            width: 17px;
            height: 17px;
            display: block;
            fill: none;
            stroke: currentColor;
            stroke-width: 1.8;
            stroke-linecap: round;
            stroke-linejoin: round;
            transition: transform 0.35s var(--ease-luxury), opacity 0.3s ease;
        }
        .fullscreen-toggle .fs-exit {
            display: none;
        }
        .fullscreen-toggle.is-fullscreen .fs-enter {
            display: none;
        }
        .fullscreen-toggle.is-fullscreen .fs-exit {
            display: block;
        }
        /* --- Hotspots Show / Hide Toggle Button --- */
        .hotspots-toggle {
            position: fixed;
            right: 26px;
            bottom: calc(74px + env(safe-area-inset-bottom, 0px));
            width: 40px;
            height: 40px;
            border-radius: 50%;
            border: 1px solid rgba(212, 175, 55, 0.42);
            background: rgba(3, 3, 3, 0.82);
            color: var(--gold-primary);
            backdrop-filter: blur(12px);
            -webkit-backdrop-filter: blur(12px);
            box-shadow: 0 10px 28px rgba(0, 0, 0, 0.38), inset 0 0 16px rgba(212, 175, 55, 0.05);
            cursor: pointer;
            z-index: 1002;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: transform 0.45s var(--ease-luxury), border-color 0.35s ease, box-shadow 0.35s ease, background 0.35s ease, opacity 0.35s ease, visibility 0.35s ease;
        }
        .hotspots-toggle:hover {
            transform: translateY(-2px);
            border-color: var(--gold-primary);
            background: rgba(3, 3, 3, 0.9);
            box-shadow: 0 12px 32px rgba(0, 0, 0, 0.45), 0 0 18px rgba(212, 175, 55, 0.2);
        }
        .hotspots-toggle:active {
            transform: translateY(0) scale(0.96);
        }
        .hotspots-toggle .hs-icon {
            width: 17px;
            height: 17px;
            display: block;
            fill: none;
            stroke: currentColor;
            stroke-width: 1.8;
            stroke-linecap: round;
            stroke-linejoin: round;
            transition: transform 0.35s var(--ease-luxury), opacity 0.3s ease;
        }
        .hotspots-toggle .hs-hidden {
            display: none;
        }
        .hotspots-toggle.is-hotspots-hidden .hs-visible {
            display: none;
        }
        .hotspots-toggle.is-hotspots-hidden .hs-hidden {
            display: block;
        }
        /* --- Bottom Right Multilingual Language Switcher — vertical expanding main button; inner language labels without circles --- */
        .corner-language-switcher {
            position: fixed;
            right: 76px;
            bottom: calc(24px + env(safe-area-inset-bottom, 0px));
            width: 40px;
            height: 40px;
            z-index: 1002;
            border-radius: 50%;
            border: 1px solid rgba(212, 175, 55, 0.42);
            background: rgba(3, 3, 3, 0.82);
            color: var(--gold-primary);
            backdrop-filter: blur(12px);
            -webkit-backdrop-filter: blur(12px);
            box-shadow: 0 10px 28px rgba(0, 0, 0, 0.38), inset 0 0 16px rgba(212, 175, 55, 0.05);
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            overflow: hidden;
            transform-origin: bottom center;
            transition:
                height 0.42s var(--ease-luxury),
                border-radius 0.38s var(--ease-luxury),
                transform 0.35s var(--ease-luxury),
                border-color 0.35s ease,
                box-shadow 0.35s ease,
                background 0.35s ease,
                opacity 0.35s ease,
                visibility 0.35s ease;
        }
        .corner-language-switcher:hover,
        .corner-language-switcher.is-open {
            transform: translateY(-2px);
            border-color: var(--gold-primary);
            background: rgba(3, 3, 3, 0.9);
            box-shadow: 0 12px 32px rgba(0, 0, 0, 0.45), 0 0 18px rgba(212, 175, 55, 0.2), inset 0 0 16px rgba(212, 175, 55, 0.06);
        }
        .corner-language-switcher:active {
            transform: translateY(0) scale(0.96);
        }
        .corner-language-switcher.is-open {
            width: 40px;
            height: 132px;
            border-radius: 999px;
            cursor: default;
        }
        .corner-lang-current {
            position: absolute;
            inset: 0;
            width: 40px;
            height: 40px;
            min-width: 40px;
            padding: 0;
            border: 0;
            border-radius: 50%;
            background: transparent;
            color: var(--gold-primary);
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            font-family: 'Montserrat', sans-serif;
            font-size: 8.5px;
            font-weight: 600;
            line-height: 1;
            letter-spacing: 0.6px;
            text-transform: uppercase;
            outline: none;
            transition: opacity 0.22s ease, visibility 0.22s ease, transform 0.32s var(--ease-luxury), color 0.28s ease;
        }
        .corner-lang-current:hover {
            color: var(--text-white);
        }
        .corner-language-switcher.is-open .corner-lang-current {
            opacity: 0;
            visibility: hidden;
            pointer-events: none;
            transform: scale(0.74);
        }
        .corner-language-switcher .corner-lang-options {
            position: absolute;
            inset: 6px 0;
            width: 100%;
            height: auto;
            padding: 0;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            gap: 3px;
            opacity: 0;
            visibility: hidden;
            pointer-events: none;
            transform: translateY(12px) scale(0.96);
            transition:
                opacity 0.24s ease 0.05s,
                visibility 0.24s ease,
                transform 0.34s var(--ease-luxury);
        }
        .corner-language-switcher.is-open .corner-lang-options {
            opacity: 1;
            visibility: visible;
            pointer-events: auto;
            transform: translateY(0) scale(1);
        }
        .corner-language-switcher .corner-lang-option {
            width: 100%;
            min-width: 0;
            height: 34px;
            padding: 0;
            border: 0 !important;
            border-radius: 0 !important;
            background: transparent !important;
            color: rgba(248, 248, 248, 0.66);
            box-shadow: none !important;
            backdrop-filter: none;
            -webkit-backdrop-filter: none;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            font-family: 'Montserrat', sans-serif;
            font-size: 8.5px;
            font-weight: 600;
            line-height: 1;
            letter-spacing: 0.55px;
            text-transform: uppercase;
            outline: none;
            transition:
                transform 0.30s var(--ease-luxury),
                color 0.28s ease,
                text-shadow 0.28s ease,
                opacity 0.28s ease;
        }
        .corner-language-switcher .corner-lang-option:hover {
            transform: translateY(-1px);
            color: var(--text-white);
            text-shadow: 0 0 12px rgba(212, 175, 55, 0.42);
        }
        .corner-language-switcher .corner-lang-option:active {
            transform: translateY(0) scale(0.96);
        }
        .corner-language-switcher .corner-lang-option.active {
            display: flex;
            color: var(--gold-primary);
            background: transparent !important;
            box-shadow: none !important;
            text-shadow: 0 0 12px rgba(212, 175, 55, 0.32);
        }
        /* --- Dreamland Day / Night Panorama Toggle Button --- */
        .dreamland-day-night-toggle {
            position: fixed;
            top: 50px;
            right: 50px;
            width: 100px;
            height: 100px;
            padding: 0;
            border: 0;
            border-radius: 50%;
            background: transparent;
            cursor: pointer;
            z-index: 1004;
            display: none;
            align-items: center;
            justify-content: center;
            opacity: 0;
            visibility: hidden;
            pointer-events: none;
            transform: scale(0.94);
            transition: opacity 0.28s ease, visibility 0.28s ease, transform 0.36s var(--ease-luxury), filter 0.28s ease;
        }
        .dreamland-day-night-toggle.is-visible {
            display: flex;
            opacity: 1;
            visibility: visible;
            pointer-events: auto;
            transform: scale(1);
        }
        .dreamland-day-night-toggle:hover {
            transform: translateY(-2px) scale(1.04);
            filter: drop-shadow(0 0 16px rgba(212, 175, 55, 0.22));
        }
        .dreamland-day-night-toggle:active {
            transform: translateY(0) scale(0.96);
        }
        .dreamland-day-night-toggle .dn-icon {
            width: 100px;
            height: 100px;
            display: none;
            object-fit: contain;
            pointer-events: none;
            filter: drop-shadow(0 12px 22px rgba(0, 0, 0, 0.38));
            user-select: none;
            -webkit-user-drag: none;
        }
        .dreamland-day-night-toggle.is-sun .dn-sun,
        .dreamland-day-night-toggle.is-moon .dn-moon {
            display: block;
        }
        /* --- Dreamland Oasis Hover Preview (Project9-style, adapted) --- */
        #dreamlandHoverPreview {
            position: fixed;
            pointer-events: none;
            z-index: 1003;
            width: 228px;
            height: 146px;
            left: 340px;
            top: 72px;
            opacity: 0;
            visibility: hidden;
            transform: translateX(6px) scale(.97);
            transition: opacity 90ms linear, transform 120ms cubic-bezier(.22,.61,.36,1), visibility 0ms linear;
        }
        #dreamlandHoverPreview.show {
            opacity: 1;
            visibility: visible;
            transform: translateX(0) scale(1);
        }
        #dreamlandHoverPreview::before {
            content: '';
            position: absolute;
            left: -8px;
            top: 50%;
            transform: translateY(-50%);
            border-top: 8px solid transparent;
            border-bottom: 8px solid transparent;
            border-right: 8px solid rgba(212, 175, 55, 0.86);
            filter: drop-shadow(-2px 4px 6px rgba(0, 0, 0, 0.34));
            z-index: 10;
        }
        .dreamland-preview-card {
            position: relative;
            width: 100%;
            height: 100%;
            border-radius: 18px;
            overflow: hidden;
            background: linear-gradient(180deg, rgba(14, 12, 8, 0.94), rgba(3, 3, 3, 0.97));
            border: 1px solid rgba(212, 175, 55, 0.38);
            box-shadow:
                0 24px 60px rgba(0, 0, 0, 0.52),
                0 0 34px rgba(212, 175, 55, 0.14),
                inset 0 1px 0 rgba(255, 255, 255, 0.07);
            backdrop-filter: blur(22px) saturate(1.12);
            -webkit-backdrop-filter: blur(22px) saturate(1.12);
        }
        .dreamland-preview-card::after {
            content: '';
            position: absolute;
            inset: 1px;
            border-radius: 17px;
            background:
                linear-gradient(120deg, rgba(255, 255, 255, 0.13), transparent 30%, transparent 70%, rgba(212, 175, 55, 0.15)),
                radial-gradient(circle at 18% 0%, rgba(212, 175, 55, 0.18), transparent 36%);
            pointer-events: none;
            z-index: 7;
            opacity: 0.72;
        }
        .dreamland-preview-img-wrap {
            position: absolute;
            inset: 8px;
            border-radius: 14px;
            overflow: hidden;
            background: radial-gradient(circle at 50% 35%, rgba(212, 175, 55, 0.17), transparent 38%), #070707;
            box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.07);
        }
        .dreamland-preview-img-wrap img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
            filter: saturate(1.06) contrast(1.05) brightness(0.92);
            opacity: 1;
            transition: opacity 0.22s ease, transform 0.45s var(--ease-luxury);
            transform: scale(1.01);
        }
        #dreamlandHoverPreview.show .dreamland-preview-img-wrap img {
            transform: scale(1.045);
        }
        .dreamland-preview-img-wrap.image-missing img {
            opacity: 0;
        }
        .dreamland-preview-img-wrap.image-missing::after {
            content: 'PREVIEW';
            position: absolute;
            inset: 0;
            display: grid;
            place-items: center;
            font-family: 'Montserrat', sans-serif;
            font-size: 9px;
            letter-spacing: 0.24em;
            color: rgba(248, 248, 248, 0.38);
            text-transform: uppercase;
        }
        .dreamland-preview-title {
            position: absolute;
            left: 8px;
            right: 8px;
            bottom: 8px;
            min-height: 48px;
            padding: 18px 12px 9px;
            border-radius: 0 0 14px 14px;
            background: linear-gradient(to top, rgba(0, 0, 0, 0.94), rgba(0, 0, 0, 0.38), transparent);
            color: var(--text-white);
            font-family: 'Montserrat', sans-serif;
            font-size: 12px;
            line-height: 1.32;
            font-weight: 400;
            letter-spacing: 0.06em;
            white-space: normal;
            overflow: visible;
            text-overflow: clip;
            overflow-wrap: anywhere;
            word-break: normal;
            hyphens: auto;
            text-shadow: 0 2px 14px rgba(0, 0, 0, 0.78), 0 0 10px rgba(212, 175, 55, 0.24);
            text-align: center;
            z-index: 8;
        }
        @media (max-width: 768px) {
            #dreamlandHoverPreview {
                display: none !important;
            }
        }
        /* --- Dreamland Oasis Footer + Location Map Popup (Project9-style, adapted) --- */
        .luxury-sidebar .dreamland-footer {
            position: relative;
            flex: 0 0 auto;
            margin: 16px -25px -25px;
            padding: 13px 18px 15px;
            display: grid;
            gap: 9px;
            overflow: hidden;
            border-top: 1px solid rgba(212, 175, 55, 0.24);
            background:
                radial-gradient(circle at 50% 0%, rgba(212, 175, 55, 0.18), transparent 34%),
                linear-gradient(180deg, rgba(0, 0, 0, 0.08) 0%, rgba(8, 8, 7, 0.90) 40%, rgba(3, 3, 3, 0.98) 100%);
            box-shadow:
                inset 0 1px 0 rgba(255, 255, 255, 0.05),
                0 -10px 28px rgba(0, 0, 0, 0.18);
            font-family: 'Montserrat', sans-serif;
        }
        .luxury-sidebar .dreamland-footer::before {
            content: '';
            position: absolute;
            left: 18px;
            right: 18px;
            top: 0;
            height: 1px;
            background: linear-gradient(90deg, transparent, rgba(212, 175, 55, 0.74), rgba(255, 255, 255, 0.12), rgba(212, 175, 55, 0.42), transparent);
            pointer-events: none;
        }
        .luxury-sidebar .dreamland-socials {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 7px;
            flex-wrap: nowrap;
            padding: 0;
            border-radius: 0;
            border: none;
            background: transparent;
            box-shadow: none;
            backdrop-filter: none;
            -webkit-backdrop-filter: none;
        }
        .luxury-sidebar .dreamland-social,
        .luxury-sidebar .dreamland-location-btn {
            width: 34px;
            height: 34px;
            min-width: 34px;
            border-radius: 50%;
            border: 1px solid rgba(212, 175, 55, 0.42);
            display: grid;
            place-items: center;
            text-decoration: none;
            color: rgba(248, 248, 248, 0.78);
            background: rgba(8, 8, 7, 0.56);
            font-size: 12px;
            font-weight: 800;
            line-height: 1;
            cursor: pointer;
            box-shadow: 0 5px 14px rgba(0, 0, 0, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.05);
            outline: none;
            transition: transform .30s cubic-bezier(.22,.61,.36,1), background .30s ease, border-color .30s ease, box-shadow .30s ease, color .30s ease;
        }
        .luxury-sidebar .dreamland-social:hover,
        .luxury-sidebar .dreamland-location-btn:hover {
            color: var(--text-white);
            background: linear-gradient(135deg, rgba(212, 175, 55, 0.78), rgba(8, 8, 7, 0.78));
            border-color: rgba(255, 255, 255, 0.42);
            transform: translateY(-3px);
            box-shadow: 0 13px 28px rgba(0, 0, 0, 0.30), 0 0 22px rgba(212, 175, 55, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.08);
        }
        .luxury-sidebar .dreamland-social svg,
        .luxury-sidebar .dreamland-location-btn svg {
            width: 16px;
            height: 16px;
            display: block;
            fill: none;
            stroke: currentColor;
            stroke-width: 1.85;
            stroke-linecap: round;
            stroke-linejoin: round;
        }
        .luxury-sidebar .dreamland-social:first-child svg path {
            fill: currentColor;
            stroke: none;
        }
        .luxury-sidebar .dreamland-footer-note {
            margin: 0;
            text-align: center;
            font-family: 'Montserrat', sans-serif;
            font-size: 8px;
            line-height: 1.35;
            text-transform: uppercase;
            letter-spacing: .16em;
            color: rgba(248, 248, 248, 0.42);
        }
        .luxury-sidebar .dreamland-footer-note a {
            color: inherit;
            text-decoration: none;
            transition: color .28s ease, text-shadow .28s ease, opacity .28s ease;
        }
        .luxury-sidebar .dreamland-footer-note a:hover {
            color: var(--text-white);
            opacity: 1;
            text-shadow: 0 0 12px rgba(212, 175, 55, 0.34);
        }
        .dreamland-map-popup {
            position: fixed;
            inset: 0;
            z-index: 2147483000;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 32px;
            background: rgba(0, 0, 0, 0.70);
            backdrop-filter: blur(18px);
            -webkit-backdrop-filter: blur(18px);
            opacity: 0;
            visibility: hidden;
            pointer-events: none;
            transition: opacity .32s ease, visibility 0ms linear .32s;
        }
        .dreamland-map-popup.open {
            opacity: 1;
            visibility: visible;
            pointer-events: auto;
            transition: opacity .32s ease, visibility 0ms linear;
        }
        .dreamland-map-window {
            position: relative;
            width: min(1060px, 94vw);
            height: min(690px, 88dvh);
            border-radius: 26px;
            border: 1px solid rgba(212, 175, 55, 0.36);
            background: #050505;
            overflow: hidden;
            box-shadow: 0 36px 110px rgba(0, 0, 0, 0.66), 0 0 34px rgba(212, 175, 55, 0.14);
            transform: translateY(12px) scale(.985);
            transition: transform .32s cubic-bezier(.16, 1, .3, 1);
        }
        .dreamland-map-popup.open .dreamland-map-window {
            transform: none;
        }
        .dreamland-map-top {
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            height: 58px;
            z-index: 4;
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 0 14px 0 22px;
            background: linear-gradient(180deg, rgba(13, 12, 9, 0.98), rgba(5, 5, 5, 0.86));
            border-bottom: 1px solid rgba(212, 175, 55, 0.28);
            backdrop-filter: blur(16px);
            -webkit-backdrop-filter: blur(16px);
        }
        .dreamland-map-title {
            display: flex;
            align-items: center;
            gap: 10px;
            font-family: 'Montserrat', sans-serif;
            font-size: 12px;
            letter-spacing: .18em;
            text-transform: uppercase;
            color: var(--text-white);
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }
        .dreamland-map-title-icon,
        .dreamland-map-close,
        .dreamland-map-expand {
            width: 40px;
            height: 40px;
            border-radius: 50%;
            border: 1px solid rgba(212, 175, 55, 0.38);
            display: grid;
            place-items: center;
            color: var(--text-white);
            background: rgba(255, 255, 255, 0.05);
            box-shadow: 0 8px 20px rgba(0, 0, 0, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.05);
        }
        .dreamland-map-title-icon {
            width: 28px;
            height: 28px;
            min-width: 28px;
            color: var(--gold-primary);
        }
        .dreamland-map-actions {
            display: flex;
            align-items: center;
            gap: 8px;
        }
        .dreamland-map-close,
        .dreamland-map-expand {
            cursor: pointer;
            line-height: 1;
            outline: none;
            transition: background .25s ease, border-color .25s ease, transform .25s ease, color .25s ease, box-shadow .25s ease;
        }
        .dreamland-map-close {
            font-size: 21px;
        }
        .dreamland-map-close:hover,
        .dreamland-map-expand:hover {
            transform: translateY(-1px);
            color: var(--text-white);
            border-color: rgba(255, 255, 255, 0.50);
            background: rgba(212, 175, 55, 0.18);
            box-shadow: 0 12px 26px rgba(0, 0, 0, 0.25), 0 0 16px rgba(212, 175, 55, 0.20);
        }
        .dreamland-map-expand svg {
            width: 18px;
            height: 18px;
            fill: none;
            stroke: currentColor;
            stroke-width: 1.85;
            stroke-linecap: round;
            stroke-linejoin: round;
        }
        .dreamland-map-expand .restore-icon {
            display: none;
        }
        .dreamland-map-popup.is-expanded {
            padding: 0 !important;
            background: rgba(0, 0, 0, 0.82);
        }
        .dreamland-map-popup.is-expanded .dreamland-map-window {
            width: 100vw !important;
            height: 100dvh !important;
            border-radius: 0 !important;
            border: 0 !important;
            box-shadow: none !important;
        }
        .dreamland-map-popup.is-expanded .dreamland-map-expand .expand-icon {
            display: none;
        }
        .dreamland-map-popup.is-expanded .dreamland-map-expand .restore-icon {
            display: block;
        }
        .dreamland-map-window iframe {
            position: absolute;
            left: 0;
            right: 0;
            bottom: 0;
            top: 58px;
            width: 100%;
            height: calc(100% - 58px);
            border: 0;
            background: #fff;
            z-index: 1;
        }
        .dreamland-map-loader {
            position: absolute;
            inset: 58px 0 0;
            z-index: 3;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            background: radial-gradient(circle at 50% 38%, rgba(212, 175, 55, 0.15), transparent 34%), linear-gradient(180deg, #050505, #10100d);
            color: var(--text-white);
            opacity: 1;
            visibility: visible;
            transition: opacity .45s ease, visibility 0ms linear .45s;
        }
        .dreamland-map-loader.hidden {
            opacity: 0;
            visibility: hidden;
            pointer-events: none;
        }
        .dreamland-map-spinner {
            width: 62px;
            height: 62px;
            border-radius: 50%;
            position: relative;
            display: grid;
            place-items: center;
            color: var(--gold-primary);
        }
        .dreamland-map-spinner::before {
            content: "";
            position: absolute;
            inset: 0;
            border-radius: 50%;
            border: 2px solid rgba(212, 175, 55, 0.18);
            border-top-color: var(--gold-primary);
            animation: dreamlandMapSpin .85s linear infinite;
            box-shadow: 0 0 24px rgba(212, 175, 55, 0.16);
        }
        @keyframes dreamlandMapSpin {
            to { transform: rotate(360deg); }
        }
        .dreamland-map-loading-text {
            margin-top: 16px;
            font-family: 'Montserrat', sans-serif;
            font-size: 11px;
            letter-spacing: .22em;
            text-transform: uppercase;
            color: rgba(248, 248, 248, 0.58);
        }
        @media (max-width: 720px) {
            .luxury-sidebar .dreamland-social,
            .luxury-sidebar .dreamland-location-btn {
                width: 32px;
                height: 32px;
                min-width: 32px;
            }
            .dreamland-map-popup {
                padding: 14px;
            }
            .dreamland-map-window {
                width: 100%;
                height: 92dvh;
                border-radius: 20px;
            }
            .dreamland-map-top {
                height: 54px;
                padding: 0 10px 0 12px;
            }
            .dreamland-map-title {
                font-size: 10px;
                letter-spacing: .10em;
            }
            .dreamland-map-close,
            .dreamland-map-expand {
                width: 34px;
                height: 34px;
            }
            .dreamland-map-window iframe {
                top: 54px;
                height: calc(100% - 54px);
            }
            .dreamland-map-loader {
                inset: 54px 0 0;
            }
        }
        /* --- მობილური ვერსია (Responsive) --- */
        @media (max-width: 768px) {
            .luxury-sidebar {
                width: 100vw; 
                height: 100svh;
                height: 100dvh;
                max-height: 100svh;
                max-height: 100dvh;
                transform: translateX(-100%); 
            }
            .menu-wrapper {
                flex: 1 1 auto;
                min-height: 0;
            }
            .luxury-sidebar .dreamland-footer {
                flex: 0 0 auto;
            }
            .menu-toggle {
                left: 25px;
                right: auto;
                transform: translateX(0) !important;
                transition: transform 0.6s var(--ease-luxury), border-color 0.4s ease, box-shadow 0.4s ease;
                will-change: transform;
            }
            .menu-toggle span:nth-child(1) { transform: none; margin-top: -12px; }
            .menu-toggle span:nth-child(2) { opacity: 1; }
            .menu-toggle span:nth-child(3) { transform: none; margin-top: 12px; }
            body.nav-toggled .luxury-sidebar { transform: translateX(0); }
            body.nav-toggled .menu-toggle {
                transform: translateX(calc(100vw - 98px)) !important;
            }
            body.nav-toggled .menu-toggle span:nth-child(1) { transform: rotate(45deg) !important; margin-top: 0 !important; }
            body.nav-toggled .menu-toggle span:nth-child(2) { opacity: 0 !important; }
            body.nav-toggled .menu-toggle span:nth-child(3) { transform: rotate(-45deg) !important; margin-top: 0 !important; }
            .fullscreen-toggle {
                right: 16px;
                bottom: calc(16px + env(safe-area-inset-bottom, 0px));
                width: 40px;
                height: 40px;
            }
            .fullscreen-toggle .fs-icon {
                width: 17px;
                height: 17px;
            }
            .hotspots-toggle {
                right: 16px;
                bottom: calc(66px + env(safe-area-inset-bottom, 0px));
                width: 40px;
                height: 40px;
            }
            .hotspots-toggle .hs-icon {
                width: 17px;
                height: 17px;
            }
            .corner-language-switcher {
                right: 66px;
                bottom: calc(16px + env(safe-area-inset-bottom, 0px));
                width: 40px;
                height: 40px;
            }
            .corner-language-switcher.is-open {
                width: 40px;
                height: 132px;
                border-radius: 999px;
            }
            .corner-lang-current {
                width: 40px;
                height: 40px;
                min-width: 40px;
                font-size: 8.5px;
                letter-spacing: 0.6px;
            }
            .corner-language-switcher .corner-lang-options {
                inset: 6px 0;
                gap: 3px;
            }
            .corner-language-switcher .corner-lang-option {
                width: 100%;
                min-width: 0;
                height: 34px;
                padding: 0;
                border: 0 !important;
                border-radius: 0 !important;
                background: transparent !important;
                box-shadow: none !important;
                font-size: 8.5px;
                letter-spacing: 0.55px;
            }
            /* Mobile: keep the control buttons in their original positions,
               but place them behind the opened menu curtain so they do not cover the menu. */
            body.nav-toggled .fullscreen-toggle,
            body.nav-toggled .hotspots-toggle,
            body.nav-toggled .corner-language-switcher,
            body.nav-toggled .dreamland-day-night-toggle {
                z-index: 999;
            }
        }
    
        /* ===== Dreamland Pano2VR Pins + Tooltip — added only as a panorama layer; menu CSS untouched ===== */
        :root {
            --dreamland-pano-pin-icon: url("data:image/svg+xml,%3Csvg%20width=%22140%22%20height=%22170%22%20viewBox=%220%200%20140%20170%22%20fill=%22none%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cdefs%3E%3CradialGradient%20id=%22goldCore%22%20cx=%2250%%22%20cy=%2235%%22%20r=%2272%%22%3E%3Cstop%20offset=%220%%22%20stop-color=%22%23F0FEFF%22/%3E%3Cstop%20offset=%2238%%22%20stop-color=%22%2322D3EE%22/%3E%3Cstop%20offset=%2272%%22%20stop-color=%22%230284C7%22/%3E%3Cstop%20offset=%22100%%22%20stop-color=%22%23083344%22/%3E%3C/radialGradient%3E%3ClinearGradient%20id=%22pinBody%22%20x1=%2230%22%20y1=%228%22%20x2=%22112%22%20y2=%22145%22%20gradientUnits=%22userSpaceOnUse%22%3E%3Cstop%20offset=%220%%22%20stop-color=%22%23102A35%22/%3E%3Cstop%20offset=%2238%%22%20stop-color=%22%23071B24%22/%3E%3Cstop%20offset=%22100%%22%20stop-color=%22%23030B10%22/%3E%3C/linearGradient%3E%3ClinearGradient%20id=%22goldStroke%22%20x1=%2224%22%20y1=%2214%22%20x2=%22116%22%20y2=%22142%22%20gradientUnits=%22userSpaceOnUse%22%3E%3Cstop%20offset=%220%%22%20stop-color=%22%23DDFDFF%22/%3E%3Cstop%20offset=%2234%%22%20stop-color=%22%2322D3EE%22/%3E%3Cstop%20offset=%2268%%22%20stop-color=%22%230369A1%22/%3E%3Cstop%20offset=%22100%%22%20stop-color=%22%2367E8F9%22/%3E%3C/linearGradient%3E%3ClinearGradient%20id=%22leafGold%22%20x1=%2244%22%20y1=%2244%22%20x2=%2294%22%20y2=%2295%22%20gradientUnits=%22userSpaceOnUse%22%3E%3Cstop%20offset=%220%%22%20stop-color=%22%23ECFEFF%22/%3E%3Cstop%20offset=%2245%%22%20stop-color=%22%2322D3EE%22/%3E%3Cstop%20offset=%22100%%22%20stop-color=%22%23075985%22/%3E%3C/linearGradient%3E%3Cfilter%20id=%22outerGlow%22%20x=%22-40%%22%20y=%22-40%%22%20width=%22180%%22%20height=%22180%%22%3E%3CfeGaussianBlur%20stdDeviation=%225%22%20result=%22blur%22/%3E%3CfeColorMatrix%20in=%22blur%22%20type=%22matrix%22%20values=%221%200%200%200%200.05%200%201%200%200%200.82%200%200%201%200%200.95%200%200%200%200.55%200%22%20result=%22goldGlow%22/%3E%3CfeMerge%3E%3CfeMergeNode%20in=%22goldGlow%22/%3E%3CfeMergeNode%20in=%22SourceGraphic%22/%3E%3C/feMerge%3E%3C/filter%3E%3Cfilter%20id=%22softShadow%22%20x=%22-30%%22%20y=%22-20%%22%20width=%22160%%22%20height=%22170%%22%3E%3CfeDropShadow%20dx=%220%22%20dy=%2214%22%20stdDeviation=%2210%22%20flood-color=%22%23000000%22%20flood-opacity=%220.42%22/%3E%3C/filter%3E%3Cfilter%20id=%22innerGlow%22%20x=%22-30%%22%20y=%22-30%%22%20width=%22160%%22%20height=%22160%%22%3E%3CfeGaussianBlur%20stdDeviation=%221.2%22%20result=%22blur%22/%3E%3CfeComposite%20in=%22SourceGraphic%22%20in2=%22blur%22%20operator=%22over%22/%3E%3C/filter%3E%3C/defs%3E%3Cstyle%3E%20.marker%20%7B%20transform-origin:%2070px%2078px;%20animation:%20elegantFloat%203.2s%20ease-in-out%20infinite;%20%7D%20.pulse%20%7B%20transform-origin:%2070px%2076px;%20animation:%20luxuryPulse%202.4s%20ease-out%20infinite;%20%7D%20.ring%20%7B%20transform-origin:%2070px%2076px;%20animation:%20ringBreath%202.8s%20ease-in-out%20infinite;%20%7D%20.shine%20%7B%20transform-origin:%2070px%2072px;%20animation:%20softShine%203.6s%20ease-in-out%20infinite;%20%7D%20.leaf%20%7B%20transform-origin:%2070px%2076px;%20animation:%20leafGlow%202.7s%20ease-in-out%20infinite;%20%7D%20@keyframes%20elegantFloat%20%7B%200%,%20100%%20%7B%20transform:%20translateY(0);%20%7D%2050%%20%7B%20transform:%20translateY(-5px);%20%7D%20%7D%20@keyframes%20luxuryPulse%20%7B%200%%20%7B%20transform:%20scale(0.72);%20opacity:%200.34;%20%7D%2065%%20%7B%20transform:%20scale(1.35);%20opacity:%200;%20%7D%20100%%20%7B%20transform:%20scale(1.35);%20opacity:%200;%20%7D%20%7D%20@keyframes%20ringBreath%20%7B%200%,%20100%%20%7B%20opacity:%200.82;%20transform:%20scale(1);%20%7D%2050%%20%7B%20opacity:%201;%20transform:%20scale(1.045);%20%7D%20%7D%20@keyframes%20softShine%20%7B%200%,%20100%%20%7B%20opacity:%200.18;%20transform:%20translateX(-8px)%20rotate(-12deg);%20%7D%2050%%20%7B%20opacity:%200.46;%20transform:%20translateX(8px)%20rotate(-12deg);%20%7D%20%7D%20@keyframes%20leafGlow%20%7B%200%,%20100%%20%7B%20filter:%20drop-shadow(0%200%203px%20rgba(34,211,238,0.35));%20%7D%2050%%20%7B%20filter:%20drop-shadow(0%200%209px%20rgba(103,232,249,0.75));%20%7D%20%7D%20@media%20(prefers-reduced-motion:%20reduce)%20%7B%20.marker,%20.pulse,%20.ring,%20.shine,%20.leaf%20%7B%20animation:%20none;%20%7D%20%7D%20%3C/style%3E%3C!--%20ground%20shadow%20--%3E%3Cellipse%20cx=%2270%22%20cy=%22151%22%20rx=%2230%22%20ry=%229%22%20fill=%22%23000000%22%20opacity=%220.25%22%3E%3Canimate%20attributeName=%22rx%22%20values=%2228;33;28%22%20dur=%223.2s%22%20repeatCount=%22indefinite%22/%3E%3Canimate%20attributeName=%22opacity%22%20values=%220.20;0.30;0.20%22%20dur=%223.2s%22%20repeatCount=%22indefinite%22/%3E%3C/ellipse%3E%3C!--%20ambient%20pulse%20--%3E%3Ccircle%20class=%22pulse%22%20cx=%2270%22%20cy=%2276%22%20r=%2242%22%20fill=%22none%22%20stroke=%22%2322D3EE%22%20stroke-width=%223%22%20opacity=%220.28%22/%3E%3Cg%20class=%22marker%22%20filter=%22url(%23softShadow)%22%3E%3C!--%20pin%20silhouette%20--%3E%3Cpath%20d=%22M70%206C39.6%206%2015%2030.6%2015%2061C15%20101.2%2057.9%20117.7%2070%20158C82.1%20117.7%20125%20101.2%20125%2061C125%2030.6%20100.4%206%2070%206Z%22%20fill=%22url(%23pinBody)%22%20stroke=%22url(%23goldStroke)%22%20stroke-width=%223.2%22%20filter=%22url(%23outerGlow)%22/%3E%3C!--%20inner%20luxury%20plate%20--%3E%3Ccircle%20cx=%2270%22%20cy=%2269%22%20r=%2238%22%20fill=%22rgba(255,255,255,0.035)%22%20stroke=%22rgba(255,255,255,0.10)%22%20stroke-width=%221%22/%3E%3Ccircle%20class=%22ring%22%20cx=%2270%22%20cy=%2269%22%20r=%2231%22%20fill=%22none%22%20stroke=%22url(%23goldStroke)%22%20stroke-width=%222.2%22/%3E%3C!--%20soft%20highlight%20glass%20--%3E%3Cpath%20class=%22shine%22%20d=%22M43%2035C55%2021%2086%2018%20102%2042C85%2035%2065%2036%2043%2055C40%2048%2040%2041%2043%2035Z%22%20fill=%22%23FFFFFF%22%20opacity=%220.22%22/%3E%3C!--%20custom%20Walkinto%20/%20Virtual%20Tours%20symbol%20--%3E%3Cg%20class=%22leaf%22%20filter=%22url(%23innerGlow)%22%3E%3Cpath%20d=%22M69.66%2040.17%20L67.86%2050.89%20L71.58%2050.89%20Z%22%20fill=%22url(%23leafGold)%22/%3E%3Cpath%20d=%22M62.55%2046.38%20L59.28%2047.84%20L63%2052.13%20Z%22%20fill=%22url(%23leafGold)%22/%3E%3Cpath%20d=%22M76.88%2046.38%20L76.43%2052.13%20L80.16%2047.84%20Z%22%20fill=%22url(%23leafGold)%22/%3E%3Cpath%20d=%22M49.69%2048.29%20L56.01%2057.32%20L58.6%2054.73%20Z%22%20fill=%22url(%23leafGold)%22/%3E%3Cpath%20d=%22M89.75%2048.29%20L80.83%2054.73%20L83.43%2057.32%20Z%22%20fill=%22url(%23leafGold)%22/%3E%3Cpath%20d=%22M69.66%2052.24%20L67.86%2057.66%20L71.58%2057.66%20Z%22%20fill=%22url(%23leafGold)%22/%3E%3Cpath%20d=%22M58.26%2056.87%20L60.86%2062.06%20L63.46%2059.46%20Z%22%20fill=%22url(%23leafGold)%22/%3E%3Cpath%20d=%22M81.17%2056.87%20L75.98%2059.46%20L78.58%2062.06%20Z%22%20fill=%22url(%23leafGold)%22/%3E%3Cpath%20d=%22M47.77%2061.27%20L53.41%2061.61%20L49.12%2057.89%20Z%22%20fill=%22url(%23leafGold)%22/%3E%3Cpath%20d=%22M90.31%2057.89%20L86.02%2061.61%20L91.67%2061.27%20Z%22%20fill=%22url(%23leafGold)%22/%3E%3Cpath%20d=%22M52.17%2070.18%20L52.17%2066.57%20L41.34%2068.38%20Z%22%20fill=%22url(%23leafGold)%22/%3E%3Cpath%20d=%22M59.05%2070.18%20L59.05%2066.57%20L53.53%2068.38%20Z%22%20fill=%22url(%23leafGold)%22/%3E%3Cpath%20d=%22M80.38%2066.57%20L80.38%2070.18%20L85.91%2068.38%20Z%22%20fill=%22url(%23leafGold)%22/%3E%3Cpath%20d=%22M87.26%2066.57%20L87.26%2070.18%20L98.1%2068.38%20Z%22%20fill=%22url(%23leafGold)%22/%3E%3Cpath%20d=%22M63.46%2077.29%20L60.86%2074.7%20L58.26%2079.89%20Z%22%20fill=%22url(%23leafGold)%22/%3E%3Cpath%20d=%22M78.58%2074.7%20L75.98%2077.29%20L81.17%2079.89%20Z%22%20fill=%22url(%23leafGold)%22/%3E%3Cpath%20d=%22M53.53%2075.04%20L47.77%2075.49%20L49.12%2078.87%20Z%22%20fill=%22url(%23leafGold)%22/%3E%3Cpath%20d=%22M85.91%2075.04%20L90.31%2078.87%20L91.67%2075.49%20Z%22%20fill=%22url(%23leafGold)%22/%3E%3Cpath%20d=%22M67.86%2079.1%20L69.77%2084.52%20L71.58%2079.1%20Z%22%20fill=%22url(%23leafGold)%22/%3E%3Cpath%20d=%22M58.6%2082.03%20L56.01%2079.44%20L49.58%2088.46%20Z%22%20fill=%22url(%23leafGold)%22/%3E%3Cpath%20d=%22M83.43%2079.44%20L80.83%2082.03%20L89.75%2088.35%20Z%22%20fill=%22url(%23leafGold)%22/%3E%3Cpath%20d=%22M63%2084.52%20L59.28%2088.92%20L62.55%2090.38%20Z%22%20fill=%22url(%23leafGold)%22/%3E%3Cpath%20d=%22M76.43%2084.52%20L76.88%2090.38%20L80.16%2088.92%20Z%22%20fill=%22url(%23leafGold)%22/%3E%3Cpath%20d=%22M67.86%2085.87%20L69.77%2096.59%20L71.58%2085.87%20Z%22%20fill=%22url(%23leafGold)%22/%3E%3C/g%3E%3C!--%20gold%20core%20at%20tip%20--%3E%3Ccircle%20cx=%2270%22%20cy=%22132%22%20r=%224.2%22%20fill=%22url(%23goldCore)%22%20opacity=%220.96%22/%3E%3C/g%3E%3C/svg%3E");
            --dreamland-tooltip-max-width: 260px;
        }
        #dreamland-pano-tooltip,
        #blox-pano-tooltip {
            position: fixed;
            pointer-events: none;
            z-index: 999; /* below menu/toggle, above panorama */
            width: max-content;
            min-width: 0;
            max-width: min(var(--dreamland-tooltip-max-width), calc(100vw - 24px));
            height: auto;
            padding: 12px 11px;
            border-radius: 12px;
            background:
                radial-gradient(circle at 20% 0%, rgba(34, 211, 238, 0.18), transparent 34%),
                linear-gradient(180deg, rgba(7, 27, 36, 0.96), rgba(3, 11, 16, 0.96));
            border: 1px solid rgba(103, 232, 249, 0.26);
            box-shadow:
                0 16px 32px rgba(0, 0, 0, 0.34),
                0 0 20px rgba(34, 211, 238, 0.10),
                inset 0 1px 0 rgba(255, 255, 255, 0.12);
            backdrop-filter: blur(22px) saturate(1.18);
            -webkit-backdrop-filter: blur(22px) saturate(1.18);
            color: #ffffff;
            font-family: 'BPG Banner Quadrosquare', 'Montserrat', Arial, sans-serif;
            font-size: 11px;
            font-weight: 500;
            letter-spacing: 0.04em;
            text-transform: none;
            opacity: 0;
            visibility: hidden;
            transform-origin: 50% calc(100% + 6px);
            transform: translateY(8px) scale(0.95);
            transition: opacity 0s linear, transform 0s linear, visibility 0s linear;
            display: flex;
            align-items: center;
            justify-content: center;
            text-align: center;
            white-space: normal;
            overflow-wrap: break-word;
            word-break: normal;
            line-break: auto;
            line-height: 1.35;
            text-shadow: 0 2px 10px rgba(0, 0, 0, 0.45);
        }
        #dreamland-pano-tooltip.show,
        #blox-pano-tooltip.show {
            opacity: 1;
            visibility: visible;
            transform: translateY(0) scale(1);
            transition:
                opacity 0.25s ease,
                transform 0.25s cubic-bezier(0.22, 0.61, 0.36, 1),
                visibility 0s linear;
        }
        #dreamland-pano-tooltip::after,
        #blox-pano-tooltip::after {
            content: '';
            position: absolute;
            bottom: -6px;
            left: var(--dreamland-tooltip-arrow-left, 50%);
            transform: translateX(-50%);
            border-left: 6px solid transparent;
            border-right: 6px solid transparent;
            border-top: 6px solid rgba(3, 11, 16, 0.96);
        }
        #dreamland-pano-tooltip.below::after,
        #blox-pano-tooltip.below::after {
            top: -6px;
            bottom: auto;
            border-top: none;
            border-bottom: 6px solid rgba(7, 27, 36, 0.96);
        }
        #container .dreamland-pano-node-hotspot {
            overflow: visible !important;
            cursor: pointer !important;
            background: transparent !important;
        }
        #container .dreamland-pano-node-hotspot::before {
            content: '';
            position: absolute;
            left: 50%;
            top: 50%;
            width: 42px;
            height: 51px;
            transform: translate(-50%, -88%);
            transform-origin: 50% 100%;
            background-image: var(--dreamland-pano-pin-icon);
            background-repeat: no-repeat;
            background-position: center;
            background-size: contain;
            filter:
                drop-shadow(0 12px 18px rgba(0, 0, 0, 0.36))
                drop-shadow(0 0 10px rgba(34, 211, 238, 0.22));
            opacity: 0.98;
            pointer-events: none;
            z-index: 2;
            transition:
                opacity 0.25s ease,
                filter 0.25s ease,
                transform 0.25s cubic-bezier(0.22, 0.61, 0.36, 1);
        }
        #container .dreamland-pano-node-hotspot:hover::before,
        #container .dreamland-pano-node-hotspot:focus-visible::before,
        #container .dreamland-pano-node-hotspot.dreamland-pin-active::before {
            opacity: 1;
            transform: translate(-50%, -92%) scale(1.055);
            filter:
                drop-shadow(0 16px 22px rgba(0, 0, 0, 0.44))
                drop-shadow(0 0 16px rgba(34, 211, 238, 0.42));
        }
        #container .dreamland-pano-node-hotspot > img,
        #container .dreamland-pano-node-hotspot > svg,
        #container .dreamland-pano-node-hotspot > canvas {
            opacity: 0 !important;
            visibility: hidden !important;
        }
        @media (max-width: 768px) {
            body.nav-toggled #dreamland-pano-tooltip,
            body.nav-toggled #blox-pano-tooltip {
                opacity: 0 !important;
                visibility: hidden !important;
                pointer-events: none !important;
            }
            #container .dreamland-pano-node-hotspot::before {
                width: 36px;
                height: 44px;
            }
        }

        /* --- Mobile menu readability fix: category names use BPG Banner QuadroSquare Caps; inner items stay readable --- */
        @media (max-width: 768px) {
            .luxury-sidebar {
                padding: 22px 22px calc(18px + env(safe-area-inset-bottom, 0px));
            }
            .menu-search-input {
                font-family: 'BPG Banner Quadrosquare', 'Montserrat', Arial, sans-serif;
                font-size: 13px;
                letter-spacing: 0.2px;
                text-transform: none;
            }
            .menu-search-input::placeholder {
                text-transform: none;
            }
            .category-btn {
                font-family: 'BPG Banner Quadrosquare Caps', 'Cinzel', serif;
                font-size: 15px;
                line-height: 1.35;
                letter-spacing: 0.75px;
                text-transform: uppercase;
                padding: 16px 0;
            }
            .category-btn:hover {
                letter-spacing: 0.9px;
            }
            .menu-wrapper > .top-pano-link {
                font-family: 'BPG Banner Quadrosquare', 'Montserrat', Arial, sans-serif;
                font-size: 15px;
                line-height: 1.35;
                letter-spacing: 0.45px;
                text-transform: none;
                padding: 16px 0;
            }
            .menu-wrapper > .top-pano-link:hover {
                letter-spacing: 0.65px;
            }
            .category-btn > span[data-i18n],
            .menu-wrapper > .top-pano-link .top-pano-label {
                gap: 10px;
                max-width: calc(100vw - 92px);
                white-space: normal;
                overflow-wrap: anywhere;
            }
            .pano-link {
                font-family: 'BPG Banner Quadrosquare', 'Montserrat', Arial, sans-serif;
                font-size: 14px;
                line-height: 1.35;
                letter-spacing: 0.25px;
                padding: 11px 10px 11px 0;
            }
            .nested-btn {
                font-family: 'BPG Banner Quadrosquare', 'Montserrat', Arial, sans-serif;
                font-size: 13.5px;
                line-height: 1.35;
                letter-spacing: 0.25px;
                text-transform: none;
                padding: 11px 10px 11px 0;
            }
            .nested-btn:hover,
            .nested-btn.active {
                letter-spacing: 0.45px;
            }
            .menu-wrapper {
                padding-right: 32px;
                -webkit-overflow-scrolling: touch;
            }
        }


/* --- Mobile-only native tap / selection cleanup: no menu design logic changes --- */
@media (max-width: 768px) {
    .menu-toggle,
    .fullscreen-toggle,
    .hotspots-toggle,
    .dreamland-day-night-toggle,
    .corner-language-switcher,
    .corner-lang-current,
    .corner-lang-option,
    .lang-btn,
    .category-btn,
    .nested-btn,
    .pano-link,
    .top-pano-link,
    .menu-search-clear,
    .dreamland-social,
    .dreamland-location-btn,
    .dreamland-map-expand,
    .dreamland-map-close,
    [role="button"],
    button,
    a {
        -webkit-tap-highlight-color: rgba(0, 0, 0, 0) !important;
        -webkit-touch-callout: none !important;
        -webkit-user-select: none !important;
        -moz-user-select: none !important;
        -ms-user-select: none !important;
        user-select: none !important;
        outline: none !important;
    }

    .menu-toggle:focus,
    .menu-toggle:focus-visible,
    .fullscreen-toggle:focus,
    .fullscreen-toggle:focus-visible,
    .hotspots-toggle:focus,
    .hotspots-toggle:focus-visible,
    .dreamland-day-night-toggle:focus,
    .dreamland-day-night-toggle:focus-visible,
    .corner-language-switcher:focus,
    .corner-language-switcher:focus-visible,
    .corner-language-switcher:focus-within,
    .corner-lang-current:focus,
    .corner-lang-current:focus-visible,
    .corner-lang-option:focus,
    .corner-lang-option:focus-visible,
    .lang-btn:focus,
    .lang-btn:focus-visible,
    .category-btn:focus,
    .category-btn:focus-visible,
    .nested-btn:focus,
    .nested-btn:focus-visible,
    .pano-link:focus,
    .pano-link:focus-visible,
    .top-pano-link:focus,
    .top-pano-link:focus-visible,
    .menu-search-clear:focus,
    .menu-search-clear:focus-visible,
    .dreamland-social:focus,
    .dreamland-social:focus-visible,
    .dreamland-location-btn:focus,
    .dreamland-location-btn:focus-visible,
    .dreamland-map-expand:focus,
    .dreamland-map-expand:focus-visible,
    .dreamland-map-close:focus,
    .dreamland-map-close:focus-visible,
    [role="button"]:focus,
    [role="button"]:focus-visible,
    button:focus,
    button:focus-visible,
    a:focus,
    a:focus-visible {
        outline: 0 !important;
        box-shadow: none !important;
        -webkit-tap-highlight-color: rgba(0, 0, 0, 0) !important;
    }

    .category-btn *,
    .nested-btn *,
    .pano-link *,
    .top-pano-link *,
    .menu-toggle *,
    .fullscreen-toggle *,
    .hotspots-toggle *,
    .corner-language-switcher,
    .corner-language-switcher *,
    .corner-lang-current *,
    .corner-lang-option *,
    .dreamland-footer *,
    .dreamland-location-btn * {
        -webkit-user-select: none !important;
        -moz-user-select: none !important;
        -ms-user-select: none !important;
        user-select: none !important;
    }
}


/* --- Mobile-only extra reset for bottom-right language button: removes sticky mobile hover/focus state --- */
@media (max-width: 768px) {
    .corner-language-switcher,
    .corner-language-switcher *,
    .corner-lang-current,
    .corner-lang-current *,
    .corner-lang-option,
    .corner-lang-option * {
        -webkit-tap-highlight-color: transparent !important;
        -webkit-touch-callout: none !important;
        -webkit-user-select: none !important;
        -moz-user-select: none !important;
        -ms-user-select: none !important;
        user-select: none !important;
        outline: none !important;
    }

    .corner-language-switcher,
    .corner-lang-current,
    .corner-lang-option {
        touch-action: manipulation;
    }

    .corner-language-switcher:focus,
    .corner-language-switcher:focus-visible,
    .corner-language-switcher:focus-within,
    .corner-lang-current:focus,
    .corner-lang-current:focus-visible,
    .corner-lang-option:focus,
    .corner-lang-option:focus-visible,
    .corner-language-switcher *:focus,
    .corner-language-switcher *:focus-visible {
        outline: 0 !important;
        -webkit-tap-highlight-color: transparent !important;
    }
}

@media (max-width: 768px) and (hover: none),
       (max-width: 768px) and (pointer: coarse) {
    .corner-language-switcher:hover:not(.is-open),
    .corner-language-switcher:active:not(.is-open) {
        transform: none !important;
        border-color: rgba(212, 175, 55, 0.42) !important;
        background: rgba(3, 3, 3, 0.82) !important;
        box-shadow: 0 10px 28px rgba(0, 0, 0, 0.38), inset 0 0 16px rgba(212, 175, 55, 0.05) !important;
    }

    .corner-language-switcher.is-open:hover,
    .corner-language-switcher.is-open:active {
        transform: translateY(-2px) !important;
        border-color: var(--gold-primary) !important;
        background: rgba(3, 3, 3, 0.9) !important;
        box-shadow: 0 12px 32px rgba(0, 0, 0, 0.45), 0 0 18px rgba(212, 175, 55, 0.2), inset 0 0 16px rgba(212, 175, 55, 0.06) !important;
    }

    .corner-lang-current:hover,
    .corner-lang-current:active {
        color: var(--gold-primary) !important;
        transform: none !important;
    }

    .corner-language-switcher .corner-lang-option:hover:not(.active),
    .corner-language-switcher .corner-lang-option:active:not(.active) {
        transform: none !important;
        color: rgba(248, 248, 248, 0.66) !important;
        text-shadow: none !important;
    }

    .corner-language-switcher .corner-lang-option.active:hover,
    .corner-language-switcher .corner-lang-option.active:active {
        transform: none !important;
        color: var(--gold-primary) !important;
        background: transparent !important;
        box-shadow: none !important;
        text-shadow: 0 0 12px rgba(212, 175, 55, 0.32) !important;
    }
}

