:root {
    --black: #050505;
    --white: #ffffff;
    --gold: #d4af37;
    --gold-soft: rgba(212,175,55,.18);
    --wall: #f7f2e9;
    --wall-dark: #1a1510;
    --wood: #432818;
    --wood-deep: #22140d;
    --baseboard: #0f0f10;
    --panel: rgba(10,10,10,.74);
    --panel-strong: rgba(12,12,12,.92);
    --glass: rgba(255,255,255,.08);
    --outline: rgba(255,255,255,.16);
    --shadow: 0 22px 65px rgba(0,0,0,.55);
}

.edk-immersive-wrapper {
    position: relative;
    isolation: isolate;
    background:
        radial-gradient(circle at top center, rgba(212,175,55,.08), transparent 32%),
        linear-gradient(180deg, #0a0a0a 0%, #060606 100%);
    color: var(--white);
    font-family: 'Inter', sans-serif;
    min-height: 100dvh;
    overflow: hidden;
    user-select: none;
}
.edk-immersive-wrapper *,
.edk-immersive-wrapper *::before,
.edk-immersive-wrapper *::after { box-sizing: border-box; }

.edk-ih-empty {
    padding: 22px;
    background: #fff7e5;
    color: #1a1a1a;
    border-left: 4px solid var(--gold);
    border-radius: 12px;
}

/* Intro */
.edk-intro-overlay {
    position: fixed;
    inset: 0;
    z-index: 20000;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    background:
        radial-gradient(circle at center, rgba(212,175,55,.10), transparent 30%),
        linear-gradient(180deg, rgba(2,2,2,.95), rgba(2,2,2,.985));
    backdrop-filter: blur(14px);
    transition: opacity 1.2s ease;
}
.edk-intro-overlay::before,
.edk-intro-overlay::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    pointer-events: none;
    transition: opacity .45s ease, transform .45s ease, filter .45s ease;
}
.edk-intro-overlay::before {
    width: min(58vw, 620px);
    min-width: 320px;
    max-width: calc(100vw - 48px);
    aspect-ratio: 0.74;
    border-radius: 320px 320px 28px 28px;
    border: 1px solid rgba(212,175,55,.45);
    background: linear-gradient(180deg, rgba(212,175,55,.10), rgba(255,255,255,.02));
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.04), 0 24px 120px rgba(0,0,0,.68);
}
.edk-intro-overlay::after {
    width: min(44vw, 460px);
    min-width: 250px;
    max-width: calc(100vw - 92px);
    aspect-ratio: 0.66;
    border-radius: 260px 260px 22px 22px;
    border: 1px solid rgba(212,175,55,.22);
    background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.01));
    backdrop-filter: blur(10px);
}
.edk-intro-overlay.is-playing::before,
.edk-intro-overlay.is-playing::after {
    opacity: 0;
    transform: translate(-50%, -50%) scale(1.04);
    filter: blur(10px);
}
html.edk-ih-lock-scroll,
body.edk-ih-lock-scroll {
    overflow: hidden !important;
}
.edk-start-btn,
.edk-skip-btn,
.edk-floating-menu,
.edk-nav-btn,
.edk-room-close,
.edk-menu-item,
.edk-menu-close,
.edk-plaque-close,
.edk-close-keypad,
.edk-key-btn,
.edk-room-gallery-item {
    font-family: inherit;
}
.edk-start-btn {
    position: relative;
    z-index: 2;
    min-width: 230px;
    padding: 17px 34px;
    border-radius: 999px;
    border: 1px solid rgba(212,175,55,.55);
    background: linear-gradient(135deg, rgba(255,255,255,.08), rgba(255,255,255,.02));
    color: var(--white);
    font-family: 'Playfair Display', serif;
    font-size: 1.15rem;
    letter-spacing: .16em;
    text-transform: uppercase;
    cursor: pointer;
    box-shadow: 0 14px 34px rgba(0,0,0,.28), inset 0 0 0 1px rgba(255,255,255,.06);
    backdrop-filter: blur(14px);
    transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease, color .3s ease;
}
.edk-start-btn:hover {
    transform: translateY(-2px) scale(1.01);
    color: var(--gold);
    border-color: rgba(212,175,55,.9);
    box-shadow: 0 18px 45px rgba(0,0,0,.34), 0 0 0 1px rgba(212,175,55,.18);
}
.edk-intro-video,
.edk-intro-iframe {
    display: none;
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border: 0;
    z-index: 1;
    background: #000;
}
.edk-skip-btn {
    display: none;
    position: absolute;
    right: 28px;
    bottom: 30px;
    z-index: 3;
    padding: 12px 16px;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,.18);
    background: rgba(0,0,0,.38);
    color: #fff;
    cursor: pointer;
    backdrop-filter: blur(12px);
}
.edk-skip-btn:hover { border-color: rgba(212,175,55,.6); color: var(--gold); }

/* Header and HUD */
.edk-header-section {
    position: fixed;
    top: 16px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1000;
    width: min(1040px, calc(100vw - 28px));
    height: 76px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 24px;
    border: 1px solid rgba(212,175,55,.28);
    background: linear-gradient(180deg, rgba(18,18,18,.92), rgba(10,10,10,.72));
    box-shadow: var(--shadow), inset 0 0 0 1px rgba(255,255,255,.03);
    backdrop-filter: blur(16px);
}
.edk-header-section::before,
.edk-header-section::after {
    content: '';
    position: absolute;
    top: 50%;
    width: 54px;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(212,175,55,.75), transparent);
}
.edk-header-section::before { left: 32px; }
.edk-header-section::after { right: 32px; }
.edk-welcome-title {
    margin: 0;
    color: #f7f3ea;
    text-align: center;
    font-family: 'Playfair Display', serif;
    font-size: clamp(1.15rem, 2.1vw, 2rem);
    letter-spacing: .16em;
    text-transform: uppercase;
    text-shadow: 0 8px 30px rgba(0,0,0,.5);
}
.edk-instruction-bar {
    position: fixed;
    top: 106px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1000;
    max-width: calc(100vw - 34px);
    padding: 10px 18px;
    border-radius: 999px;
    border: 1px solid rgba(212,175,55,.22);
    background: rgba(9,9,9,.74);
    color: #f7e9bb;
    font-size: .8rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    text-align: center;
    box-shadow: 0 10px 30px rgba(0,0,0,.28);
    backdrop-filter: blur(12px);
}

.edk-welcome-plaque {
    position: fixed;
    top: 54%;
    left: 60px;
    z-index: 10000;
    width: min(340px, calc(100vw - 28px));
    padding: 24px 24px 22px;
    border-radius: 26px;
    border: 1px solid rgba(212,175,55,.35);
    background: linear-gradient(180deg, rgba(14,14,14,.80), rgba(8,8,8,.94));
    box-shadow: var(--shadow), inset 0 0 0 1px rgba(255,255,255,.03);
    transform: translateY(-50%);
    backdrop-filter: blur(18px);
    overflow: hidden;
}
.edk-welcome-plaque::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(212,175,55,.10), transparent 42%, rgba(255,255,255,.02));
    pointer-events: none;
}
.edk-plaque-close {
    position: absolute;
    top: 14px;
    right: 14px;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,.12);
    background: rgba(255,255,255,.04);
    color: var(--gold);
    cursor: pointer;
}
.edk-plaque-close:hover { color: #fff; border-color: rgba(212,175,55,.55); }
.edk-plaque-title {
    margin: 0 0 14px;
    padding-right: 34px;
    font-family: 'Playfair Display', serif;
    font-size: 1.18rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--gold);
}
.edk-plaque-text {
    position: relative;
    margin: 0 0 14px;
    color: rgba(255,255,255,.84);
    font-size: .96rem;
    line-height: 1.7;
}
.edk-plaque-text:last-child { margin-bottom: 0; }

/* Floating controls */
.edk-floating-menu {
    position: fixed;
    left: 32px;
    bottom: 34px;
    z-index: 10000;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 15px 20px;
    min-width: 170px;
    border-radius: 18px;
    border: 1px solid rgba(212,175,55,.28);
    background: linear-gradient(180deg, rgba(14,14,14,.9), rgba(8,8,8,.74));
    color: #fff;
    letter-spacing: .14em;
    text-transform: uppercase;
    font-size: .84rem;
    cursor: pointer;
    box-shadow: var(--shadow);
    backdrop-filter: blur(14px);
}
.edk-floating-menu:hover { color: var(--gold); transform: translateY(-2px); }
.edk-menu-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: radial-gradient(circle, #ffe08a 0%, #d4af37 55%, #8f6a13 100%);
    box-shadow: 0 0 16px rgba(212,175,55,.75);
}
.edk-d-pad {
    position: fixed;
    right: 30px;
    bottom: 30px;
    z-index: 10000;
    display: grid;
    grid-template-columns: repeat(3, 64px);
    grid-template-rows: repeat(2, 56px);
    gap: 10px;
}
.edk-btn-up { grid-column: 2; grid-row: 1; }
.edk-btn-left { grid-column: 1; grid-row: 2; }
.edk-btn-down { grid-column: 2; grid-row: 2; }
.edk-btn-right { grid-column: 3; grid-row: 2; }
.edk-nav-btn {
    border: 1px solid rgba(212,175,55,.26);
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(15,15,15,.9), rgba(8,8,8,.72));
    color: var(--gold);
    font-size: 1.4rem;
    cursor: pointer;
    box-shadow: 0 12px 28px rgba(0,0,0,.34);
    backdrop-filter: blur(12px);
    transition: transform .15s ease, color .25s ease, border-color .25s ease;
}
.edk-nav-btn:hover { color: #fff; border-color: rgba(212,175,55,.6); }
.edk-nav-btn:active { transform: scale(.96); }

/* Menu overlay */
.edk-menu-overlay {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 25000;
    justify-content: center;
    align-items: center;
    opacity: 0;
    transition: opacity .35s ease;
    background: rgba(0,0,0,.68);
    backdrop-filter: blur(14px);
}
.edk-menu-overlay.active { opacity: 1; }
.edk-menu-card {
    width: min(980px, calc(100vw - 28px));
    max-height: min(88vh, 860px);
    overflow: auto;
    padding: 30px;
    border-radius: 28px;
    border: 1px solid rgba(212,175,55,.30);
    background:
        radial-gradient(circle at top right, rgba(212,175,55,.10), transparent 24%),
        linear-gradient(180deg, rgba(18,18,18,.96), rgba(8,8,8,.96));
    box-shadow: 0 35px 90px rgba(0,0,0,.68), inset 0 0 0 1px rgba(255,255,255,.03);
    transform: translateY(18px) scale(.98);
    transition: transform .35s ease;
}
.edk-menu-overlay.active .edk-menu-card { transform: translateY(0) scale(1); }
.edk-menu-close {
    position: absolute;
    right: 28px;
    top: 22px;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,.14);
    background: rgba(255,255,255,.04);
    color: var(--gold);
    font-size: 1.4rem;
    cursor: pointer;
}
.edk-menu-title {
    margin: 0 0 22px;
    color: var(--gold);
    text-align: center;
    font-family: 'Playfair Display', serif;
    font-size: clamp(1.8rem, 3vw, 2.8rem);
    letter-spacing: .18em;
    text-transform: uppercase;
}
.edk-menu-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}
.edk-menu-item {
    display: flex;
    align-items: center;
    gap: 14px;
    width: 100%;
    padding: 18px 20px;
    border-radius: 18px;
    border: 1px solid rgba(255,255,255,.08);
    background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
    color: rgba(255,255,255,.92);
    font-size: 1rem;
    text-align: left;
    cursor: pointer;
    transition: transform .22s ease, border-color .22s ease, color .22s ease;
}
.edk-menu-item span {
    color: var(--gold);
    font-family: 'Playfair Display', serif;
    font-size: 1.4rem;
    min-width: 30px;
}
.edk-menu-item:hover {
    transform: translateY(-2px);
    color: #fff;
    border-color: rgba(212,175,55,.55);
}

/* 3D hallway */
.edk-viewport {
    position: fixed;
    inset: 0;
    top: 0;
    perspective: 1100px;
    overflow: hidden;
    background:
        radial-gradient(circle at center top, rgba(212,175,55,.08), transparent 28%),
        linear-gradient(180deg, #070707 0%, #000 100%);
}
.edk-camera-rig {
    position: absolute;
    top: 50%;
    left: 50%;
    transform-style: preserve-3d;
    transition: transform .55s cubic-bezier(.25,1,.5,1);
}
.edk-world {
    transform-style: preserve-3d;
    transition: transform .85s cubic-bezier(.25,1,.5,1);
}
.edk-item-3d {
    position: absolute;
    left: 50%;
    top: 50%;
    transform-style: preserve-3d;
}
.edk-placement { transform: translate3d(var(--x), var(--y), var(--z)) rotateY(var(--ry)); }

.edk-floor {
    width: 820px;
    height: var(--edk-total-length);
    margin: calc(var(--edk-half-length) * -1) 0 0 -410px;
    transform: translate3d(0, 246px, var(--edk-center-z)) rotateX(90deg);
    background:
        linear-gradient(to right, transparent 0, rgba(255,255,255,.06) 12%, transparent 22%),
        linear-gradient(to left, transparent 0, rgba(255,255,255,.06) 12%, transparent 22%),
        linear-gradient(to right, transparent calc(50% - 194px), rgba(212,175,55,.75) calc(50% - 194px), rgba(212,175,55,.75) calc(50% - 186px), rgba(78,55,34,.92) calc(50% - 186px), rgba(78,55,34,.92) calc(50% + 186px), rgba(212,175,55,.75) calc(50% + 186px), rgba(212,175,55,.75) calc(50% + 194px), transparent calc(50% + 194px)),
        repeating-linear-gradient(to bottom, rgba(0,0,0,.05) 0 48px, rgba(255,255,255,.025) 48px 96px),
        linear-gradient(180deg, #e5dccb 0%, #d5c7af 100%);
    border-left: 24px solid #111;
    border-right: 24px solid #111;
    box-shadow: inset 0 0 150px rgba(0,0,0,.18);
}
.edk-reflection-wall-left,
.edk-reflection-wall-right {
    width: 280px;
    height: var(--edk-total-length);
    margin: calc(var(--edk-half-length) * -1) 0 0 0;
    transform: translate3d(-410px, 244px, var(--edk-center-z)) rotateX(90deg);
    background: linear-gradient(90deg, rgba(255,255,255,.22), transparent 64%);
    filter: blur(6px);
    opacity: .45;
}
.edk-reflection-wall-right {
    transform: translate3d(130px, 244px, var(--edk-center-z)) rotateX(90deg);
    background: linear-gradient(270deg, rgba(255,255,255,.22), transparent 64%);
}
.edk-ceiling {
    width: 820px;
    height: var(--edk-total-length);
    margin: calc(var(--edk-half-length) * -1) 0 0 -410px;
    transform: translate3d(0, -255px, var(--edk-center-z)) rotateX(-90deg);
    background:
        radial-gradient(circle at center, rgba(212,175,55,.10), transparent 18%),
        linear-gradient(180deg, #fcfaf6, #ddd4c7);
    box-shadow: inset 0 0 160px rgba(0,0,0,.08);
}
.edk-wall-left,
.edk-wall-right {
    width: var(--edk-total-length);
    height: 520px;
    margin: -260px 0 0 calc(var(--edk-half-length) * -1);
    background:
        radial-gradient(circle at 15% 22%, rgba(255,255,255,.33), transparent 10%),
        linear-gradient(180deg, #f4eee2 0%, #e2d5bf 100%);
    border-bottom: 32px solid #141414;
}
.edk-wall-left { transform: translate3d(-410px, 0, var(--edk-center-z)) rotateY(90deg); }
.edk-wall-right { transform: translate3d(410px, 0, var(--edk-center-z)) rotateY(-90deg); }
.edk-wall-back {
    width: 820px;
    height: 520px;
    margin: -260px 0 0 -410px;
    transform: translate3d(0, 0, var(--edk-back-z));
    display: flex;
    justify-content: center;
    align-items: center;
    background:
        radial-gradient(circle at center, rgba(212,175,55,.10), transparent 22%),
        linear-gradient(180deg, #121212, #050505);
    border-bottom: 32px solid #141414;
    box-shadow: inset 0 0 220px rgba(0,0,0,.9);
}
.edk-back-video-container {
    position: relative;
    width: min(610px, 72vw);
    aspect-ratio: 16 / 9;
    border-radius: 24px;
    overflow: hidden;
    border: 1px solid rgba(212,175,55,.45);
    background: #000;
    box-shadow: 0 20px 50px rgba(0,0,0,.6), 0 0 0 8px rgba(255,255,255,.03);
}
.edk-back-video,
.edk-back-iframe,
.edk-video-pic,
.edk-video-iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border: 0;
    display: block;
}

/* Doors */
.edk-door-wrapper {
    width: 186px;
    height: 332px;
    margin: -166px 0 0 -93px;
    filter: drop-shadow(0 18px 25px rgba(0,0,0,.35));
}
.edk-door-frame {
    position: absolute;
    inset: 0;
    border-radius: 18px 18px 4px 4px;
    background: linear-gradient(180deg, #201710, #0d0b09);
    border: 2px solid rgba(212,175,55,.42);
    padding: 10px;
    box-shadow: inset 0 0 0 2px rgba(255,255,255,.05);
}
.edk-room-interior {
    position: absolute;
    inset: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    border-radius: 12px 12px 4px 4px;
    background:
        linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.02)),
        linear-gradient(180deg, #131313, #050505);
    box-shadow: inset 0 0 40px rgba(0,0,0,.6);
}
.edk-room-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1.02);
    transition: transform .7s ease;
}
.edk-door-wrapper.is-open .edk-room-image { transform: scale(1.08); }
.edk-door-panel {
    position: absolute;
    inset: 10px;
    z-index: 5;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    border-radius: 14px 14px 4px 4px;
    border: 1px solid rgba(24,18,12,.85);
    background:
        linear-gradient(135deg, rgba(255,255,255,.05), transparent 28%),
        linear-gradient(90deg, #1e130c 0%, #50311e 24%, #7d5633 50%, #462c1b 76%, #1e130c 100%);
    transform-origin: right;
    transition: transform .95s cubic-bezier(.25,1,.5,1), box-shadow .35s ease;
    cursor: pointer;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.03), 0 10px 22px rgba(0,0,0,.26);
}
.edk-door-panel:hover { box-shadow: inset 0 0 0 1px rgba(212,175,55,.14), 0 14px 30px rgba(0,0,0,.34); }
.edk-right-wall-door { transform-origin: left; }
.edk-left-wall-wrapper .edk-door-panel.open { transform: rotateY(102deg); }
.edk-right-wall-wrapper .edk-door-panel.open { transform: rotateY(-102deg); }
.edk-glass-panel {
    width: 72%;
    height: 85%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    border-radius: 18px;
    background:
        linear-gradient(180deg, rgba(255,255,255,.88), rgba(255,255,255,.55)),
        linear-gradient(180deg, rgba(212,175,55,.20), rgba(212,175,55,.04));
    border: 1px solid rgba(0,0,0,.12);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.35), 0 8px 24px rgba(0,0,0,.16);
}
.edk-door-edk {
    font-family: 'Playfair Display', serif;
    color: #3d2818;
    font-size: 1.4rem;
    letter-spacing: .18em;
    text-transform: uppercase;
}
.edk-door-number {
    margin-top: 14px;
    font-family: 'Playfair Display', serif;
    font-size: 3.6rem;
    line-height: 1;
    color: var(--gold);
    text-shadow: 0 2px 10px rgba(0,0,0,.18);
}
.edk-door-plaque {
    position: absolute;
    top: -52px;
    left: 50%;
    transform: translateX(-50%);
    padding: 8px 14px;
    border-radius: 999px;
    border: 1px solid rgba(212,175,55,.36);
    background: linear-gradient(180deg, rgba(16,16,16,.94), rgba(8,8,8,.82));
    color: #f2e2a8;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    white-space: nowrap;
    box-shadow: 0 10px 24px rgba(0,0,0,.28);
}
.edk-doorknob {
    position: absolute;
    top: 50%;
    left: 13px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    transform: translateY(-50%);
    background: radial-gradient(circle at 30% 30%, #ffe8a0 0%, #d4af37 48%, #8d6914 100%);
    box-shadow: 0 3px 8px rgba(0,0,0,.5);
}
.edk-right-wall-door .edk-doorknob { left: auto; right: 13px; }
.edk-keypad-visual {
    position: absolute;
    top: 48%;
    left: -24px;
    width: 14px;
    height: 34px;
    border-radius: 4px;
    background: linear-gradient(180deg, #1e1e1e, #090909);
    border: 1px solid rgba(212,175,55,.46);
    box-shadow: 0 6px 12px rgba(0,0,0,.28);
}
.edk-right-wall-door .edk-keypad-visual { left: auto; right: -24px; }

.edk-wall-picture {
    width: 240px;
    height: 150px;
    margin: -75px 0 0 -120px;
    overflow: hidden;
    border-radius: 18px;
    border: 1px solid rgba(212,175,55,.4);
    background: #050505;
    box-shadow: 0 18px 36px rgba(0,0,0,.45), 0 0 0 8px rgba(255,255,255,.025);
}
.edk-sconce {
    width: 18px;
    height: 48px;
    margin: -24px 0 0 -9px;
    border-radius: 999px;
    border: 1px solid rgba(54,36,18,.8);
    background: linear-gradient(180deg, #a58032 0%, #f8df89 48%, #8b6725 100%);
    cursor: pointer;
    --beam: rgba(255,255,255,.82);
}
.edk-sconce::before,
.edk-sconce::after {
    content: '';
    position: absolute;
    left: -48px;
    width: 114px;
    height: 114px;
    opacity: 1;
    transition: opacity .25s ease;
}
.edk-sconce::before {
    bottom: 100%;
    background: radial-gradient(circle at bottom, var(--beam) 0%, transparent 62%);
}
.edk-sconce::after {
    top: 100%;
    background: radial-gradient(circle at top, var(--beam) 0%, transparent 62%);
}
.edk-sconce.off {
    background: linear-gradient(180deg, #4f4f4f, #1b1b1b);
    border-color: #111;
}
.edk-sconce.off::before,
.edk-sconce.off::after { opacity: 0; }

/* Keypad */
.edk-keypad-modal {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 22000;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    background: rgba(0,0,0,.82);
    backdrop-filter: blur(14px);
}
.edk-keypad-heading {
    margin: 0 0 18px;
    color: var(--gold);
    font-family: 'Playfair Display', serif;
    font-size: 2rem;
    letter-spacing: .14em;
    text-transform: uppercase;
}
.edk-keypad-container {
    width: min(420px, calc(100vw - 28px));
    padding: 24px;
    border-radius: 26px;
    border: 1px solid rgba(212,175,55,.46);
    background: linear-gradient(180deg, rgba(15,15,15,.95), rgba(8,8,8,.95));
    box-shadow: var(--shadow);
}
.edk-keypad-display {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 62px;
    margin-bottom: 16px;
    border-radius: 16px;
    background: #050505;
    color: var(--gold);
    font-family: monospace;
    font-size: 2rem;
    font-weight: 700;
    letter-spacing: .28em;
}
.edk-keypad-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}
.edk-key-btn {
    padding: 16px;
    border-radius: 14px;
    border: 1px solid rgba(255,255,255,.10);
    background: linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.03));
    color: #fff;
    font-size: 1.05rem;
    font-weight: 700;
    cursor: pointer;
}
.edk-key-btn:hover { border-color: rgba(212,175,55,.46); color: var(--gold); }
.edk-key-btn.edk-clear { background: linear-gradient(180deg, rgba(130,20,20,.9), rgba(77,7,7,.95)); }
.edk-key-btn.edk-enter { background: linear-gradient(180deg, rgba(212,175,55,.18), rgba(212,175,55,.06)); }
.edk-close-keypad {
    margin-top: 16px;
    border: 0;
    background: transparent;
    color: rgba(255,255,255,.8);
    cursor: pointer;
    text-decoration: underline;
}

/* Immersive room view */
.edk-room-overlay {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 28000;
    justify-content: center;
    align-items: center;
    padding: 20px;
    background:
        radial-gradient(circle at center, rgba(212,175,55,.10), transparent 24%),
        rgba(3,3,3,.90);
    backdrop-filter: blur(12px);
    opacity: 0;
    transition: opacity .35s ease;
}
.edk-room-overlay.active { display: flex; opacity: 1; }
.edk-room-shell.edk-room-shell-immersive {
    position: relative;
    width: min(1520px, 100%);
    max-height: calc(100dvh - 40px);
    overflow: auto;
    padding: 22px 22px 30px;
    border-radius: 32px;
    border: 1px solid rgba(212,175,55,.32);
    background:
        radial-gradient(circle at top center, rgba(212,175,55,.10), transparent 28%),
        linear-gradient(180deg, rgba(18,18,18,.98), rgba(5,5,5,.98));
    box-shadow: 0 40px 120px rgba(0,0,0,.72), inset 0 0 0 1px rgba(255,255,255,.03);
}
.edk-room-close {
    position: sticky;
    top: 0;
    z-index: 5;
    margin-bottom: 18px;
    padding: 12px 18px;
    border-radius: 999px;
    border: 1px solid rgba(212,175,55,.32);
    background: rgba(255,255,255,.05);
    color: #fff;
    cursor: pointer;
    backdrop-filter: blur(12px);
}
.edk-room-scene-header {
    text-align: center;
    max-width: 900px;
    margin: 0 auto 24px;
}
.edk-room-kicker {
    margin: 0 0 8px;
    color: var(--gold);
    letter-spacing: .24em;
    font-size: .76rem;
    font-weight: 700;
    text-transform: uppercase;
}
.edk-room-title {
    margin: 0 0 12px;
    color: #fff;
    font-family: 'Playfair Display', serif;
    font-size: clamp(2.1rem, 3vw, 3.5rem);
    line-height: 1.04;
}
.edk-room-subtitle {
    margin: 0;
    color: rgba(255,255,255,.76);
    font-size: 1rem;
    line-height: 1.75;
}
.edk-room-center-badge {
    display: inline-flex;
    margin-top: 16px;
    padding: 10px 14px;
    border-radius: 999px;
    border: 1px solid rgba(212,175,55,.24);
    background: rgba(212,175,55,.08);
    color: #f7e9bb;
    font-size: .82rem;
    letter-spacing: .06em;
}
.edk-room-scene-perspective {
    position: relative;
    min-height: 700px;
    padding: 90px 90px 110px;
    overflow: hidden;
    border-radius: 28px;
    background:
        radial-gradient(circle at center 30%, rgba(212,175,55,.12), transparent 28%),
        linear-gradient(180deg, rgba(36,27,18,.96) 0%, rgba(16,12,8,.98) 45%, rgba(7,7,7,.99) 100%);
    border: 1px solid rgba(212,175,55,.16);
}
.edk-room-floor {
    position: absolute;
    left: 50%;
    bottom: -110px;
    width: 88%;
    height: 320px;
    transform: translateX(-50%) perspective(1200px) rotateX(74deg);
    transform-origin: center top;
    background:
        linear-gradient(90deg, rgba(0,0,0,.18), transparent 15%, transparent 85%, rgba(0,0,0,.18)),
        repeating-linear-gradient(90deg, rgba(255,255,255,.05) 0 2px, transparent 2px 68px),
        linear-gradient(180deg, #67503a, #2a1d12);
    border: 1px solid rgba(212,175,55,.18);
    box-shadow: 0 -20px 80px rgba(0,0,0,.45);
}
.edk-room-back-wall-glow {
    position: absolute;
    inset: 80px 7% 160px;
    border-radius: 28px 28px 18px 18px;
    border: 1px solid rgba(212,175,55,.14);
    background:
        linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.01)),
        radial-gradient(circle at center, rgba(212,175,55,.10), transparent 50%);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.04);
}
.edk-room-slider-shell {
    position: relative;
    z-index: 2;
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 74px;
}
.edk-room-slider-window {
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: thin;
    scrollbar-color: rgba(212,175,55,.45) rgba(255,255,255,.04);
    padding: 18px 0 12px;
    scroll-behavior: smooth;
}
.edk-room-slider-window::-webkit-scrollbar { height: 10px; }
.edk-room-slider-window::-webkit-scrollbar-track { background: rgba(255,255,255,.05); border-radius: 999px; }
.edk-room-slider-window::-webkit-scrollbar-thumb { background: rgba(212,175,55,.42); border-radius: 999px; }
.edk-room-slider-track {
    display: flex;
    gap: 24px;
    align-items: flex-end;
    min-height: 430px;
    padding: 28px 8px 16px;
}
.edk-room-slide {
    flex: 0 0 clamp(240px, 26vw, 320px);
    text-decoration: none;
    color: #fff;
}
.edk-room-slide:nth-child(3n+2) { transform: translateY(14px); }
.edk-room-slide:nth-child(3n+3) { transform: translateY(28px); }
.edk-room-slide-frame {
    position: relative;
    overflow: hidden;
    border-radius: 22px;
    border: 1px solid rgba(212,175,55,.24);
    background:
        linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02)),
        #111;
    padding: 12px;
    box-shadow: 0 28px 54px rgba(0,0,0,.34);
}
.edk-room-slide-frame::before {
    content: '';
    position: absolute;
    inset: 10px;
    border-radius: 16px;
    border: 1px solid rgba(255,255,255,.08);
    pointer-events: none;
    z-index: 1;
}
.edk-room-slide img {
    width: 100%;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    display: block;
    border-radius: 16px;
    transition: transform .45s ease;
}
.edk-room-slide:hover img { transform: scale(1.05); }
.edk-room-gallery-caption {
    position: absolute;
    left: 24px;
    right: 24px;
    bottom: 24px;
    z-index: 2;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    padding: 11px 13px;
    border-radius: 14px;
    background: rgba(0,0,0,.42);
    backdrop-filter: blur(10px);
    font-weight: 600;
    font-size: .92rem;
}
.edk-room-gallery-arrow { color: var(--gold); font-size: 1.15rem; }
.edk-room-slider-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 3;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    border: 1px solid rgba(212,175,55,.32);
    background: rgba(8,8,8,.76);
    color: var(--gold);
    font-size: 1.35rem;
    cursor: pointer;
    backdrop-filter: blur(10px);
    box-shadow: 0 12px 28px rgba(0,0,0,.34);
}
.edk-room-slider-prev { left: 8px; }
.edk-room-slider-next { right: 8px; }
.edk-room-slider-btn:hover { color: #fff; border-color: rgba(212,175,55,.7); }
.edk-room-gallery-empty {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 280px;
    width: 100%;
    padding: 18px;
    border-radius: 18px;
    border: 1px dashed rgba(255,255,255,.14);
    color: rgba(255,255,255,.68);
    text-align: center;
    background: rgba(255,255,255,.03);
}
.edk-room-open .edk-floating-menu,
.edk-room-open .edk-d-pad,
.edk-room-open .edk-instruction-bar,
.edk-room-open .edk-welcome-plaque { opacity: .18; pointer-events: none; }

/* Responsive */
@media (max-width: 1200px) {
    .edk-room-scene-perspective { padding: 72px 56px 100px; min-height: 660px; }
    .edk-room-slider-shell { padding: 0 64px; }
}
@media (max-width: 991px) {
    .edk-menu-grid { grid-template-columns: 1fr; }
    .edk-header-section { width: calc(100vw - 20px); height: 68px; top: 10px; border-radius: 20px; }
    .edk-instruction-bar { top: 86px; width: calc(100vw - 24px); border-radius: 18px; }
    .edk-welcome-plaque {
        top: auto;
        bottom: 122px;
        left: 50%;
        transform: translateX(-50%);
        width: min(420px, calc(100vw - 20px));
        max-height: min(44vh, 360px);
        overflow: auto;
    }
    .edk-floating-menu { left: 12px; bottom: 12px; min-width: 148px; }
    .edk-d-pad { right: 12px; bottom: 12px; grid-template-columns: repeat(3, 54px); grid-template-rows: repeat(2, 50px); gap: 8px; }
    .edk-room-scene-perspective { min-height: auto; padding: 34px 24px 90px; }
    .edk-room-slider-shell { padding: 0 56px; }
    .edk-room-slider-track { min-height: 360px; }
}
@media (max-width: 768px) {
    .edk-intro-overlay::before { width: min(82vw, 400px); }
    .edk-start-btn { min-width: 190px; padding: 15px 24px; font-size: 1rem; }
    .edk-skip-btn { right: 14px; bottom: 16px; }
    .edk-header-section::before,
    .edk-header-section::after { display: none; }
    .edk-welcome-title { letter-spacing: .10em; }
    .edk-instruction-bar { font-size: .72rem; line-height: 1.45; padding: 8px 12px; }
    .edk-back-video-container { width: min(86vw, 350px); }
    .edk-floating-menu {
        bottom: 16px;
        left: 16px;
        min-width: auto;
        padding: 13px 16px;
        gap: 10px;
        font-size: .72rem;
    }
    .edk-d-pad {
        right: 16px;
        bottom: 16px;
        grid-template-columns: repeat(3, 46px);
        grid-template-rows: repeat(2, 42px);
    }
    .edk-nav-btn { border-radius: 14px; font-size: 1.08rem; }
    .edk-welcome-plaque {
        left: 50%;
        right: auto;
        bottom: 92px;
        transform: translateX(-50%);
        width: calc(100vw - 18px);
        padding: 18px 18px 16px;
    }
    .edk-room-overlay { padding: 8px; align-items: flex-end; }
    .edk-room-shell.edk-room-shell-immersive { max-height: calc(100dvh - 8px); padding: 14px; border-radius: 24px 24px 0 0; }
    .edk-room-scene-header { margin-bottom: 16px; }
    .edk-room-scene-perspective { padding: 24px 12px 82px; }
    .edk-room-slider-shell { padding: 0 46px; }
    .edk-room-slider-track { gap: 16px; min-height: 300px; padding-top: 12px; }
    .edk-room-slide { flex-basis: 78vw; }
    .edk-room-slide:nth-child(3n+2),
    .edk-room-slide:nth-child(3n+3) { transform: none; }
}
@media (max-width: 580px) {
    .edk-header-section { height: 62px; }
    .edk-welcome-title { font-size: .95rem; }
    .edk-instruction-bar { top: 78px; }
    .edk-room-title { font-size: 1.9rem; }
    .edk-room-center-badge { font-size: .74rem; }
    .edk-room-slider-shell { padding: 0 40px; }
    .edk-room-slider-btn { width: 44px; height: 44px; }
    .edk-door-wrapper { transform: scale(.96); }
}

/* ===== v1.4.0 3D ROOM EXPERIENCE ===== */
.edk-room-shell.edk-room-shell-3d {
    --edk-room-depth: 1900px;
    --edk-room-half-depth: 950px;
    position: relative;
    width: min(1400px, calc(100vw - 40px));
    max-width: 1400px;
    height: min(920px, calc(100dvh - 40px));
    padding: 24px 24px 88px;
    border-radius: 34px;
    border: 1px solid rgba(212,175,55,.28);
    background:
        radial-gradient(circle at 50% 0%, rgba(212,175,55,.12), transparent 35%),
        linear-gradient(180deg, rgba(18,12,8,.94), rgba(8,6,5,.98));
    box-shadow: 0 30px 90px rgba(0,0,0,.72), inset 0 0 0 1px rgba(255,255,255,.03);
    overflow: hidden;
}
.edk-room-topbar {
    position: relative;
    z-index: 4;
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: start;
    gap: 18px;
    margin-bottom: 16px;
}
.edk-room-headings { min-width: 0; }
.edk-room-topbar .edk-room-close {
    position: static;
    margin: 0;
}
.edk-room-topbar .edk-room-kicker {
    margin: 0 0 8px;
    letter-spacing: .25em;
    text-transform: uppercase;
    font-size: .78rem;
    color: rgba(212,175,55,.92);
}
.edk-room-topbar .edk-room-title {
    margin: 0;
    font-size: clamp(1.9rem, 3vw, 3.2rem);
    color: #fff7e2;
}
.edk-room-topbar .edk-room-subtitle {
    margin: 10px 0 0;
    max-width: 760px;
    color: rgba(255,248,233,.76);
    line-height: 1.7;
}
.edk-room-topbar .edk-room-center-badge {
    white-space: nowrap;
    align-self: center;
}
.edk-room-viewport {
    position: relative;
    height: calc(100% - 104px);
    perspective: 1200px;
    overflow: hidden;
    border-radius: 28px;
    background:
        radial-gradient(circle at 50% 18%, rgba(212,175,55,.14), transparent 34%),
        linear-gradient(180deg, rgba(22,15,10,.96), rgba(7,5,4,.99));
    border: 1px solid rgba(212,175,55,.14);
}
.edk-room-viewport::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(255,255,255,.02), transparent 18%, transparent 78%, rgba(0,0,0,.45)),
        radial-gradient(circle at 50% 12%, rgba(255,215,120,.12), transparent 26%);
    pointer-events: none;
    z-index: 1;
}
.edk-room-camera-rig {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    transform-style: preserve-3d;
    transition: transform .55s cubic-bezier(.25,1,.5,1);
    z-index: 2;
}
.edk-room-world {
    position: relative;
    transform-style: preserve-3d;
    transition: transform .55s cubic-bezier(.25,1,.5,1);
}
.edk-room-floor-3d,
.edk-room-ceiling-3d,
.edk-room-wall-3d,
.edk-room-frame-item,
.edk-room-empty-wallnote {
    position: absolute;
    left: 50%;
    top: 50%;
    transform-style: preserve-3d;
}
.edk-room-floor-3d {
    width: 1540px;
    height: calc(var(--edk-room-depth) + 280px);
    margin: calc((var(--edk-room-depth) + 280px) / -2) 0 0 -770px;
    transform: translate3d(0, 320px, calc(var(--edk-room-half-depth) * -1)) rotateX(90deg);
    background:
        linear-gradient(to right, rgba(0,0,0,.4), transparent 10%, transparent 90%, rgba(0,0,0,.38)),
        repeating-linear-gradient(to right, rgba(255,209,102,.08) 0, rgba(255,209,102,.08) 2px, transparent 2px, transparent 86px),
        repeating-linear-gradient(to bottom, rgba(255,209,102,.10) 0, rgba(255,209,102,.10) 2px, transparent 2px, transparent 130px),
        linear-gradient(180deg, rgba(109,72,35,.92), rgba(42,24,13,.98));
    border: 1px solid rgba(212,175,55,.15);
    box-shadow: inset 0 0 80px rgba(0,0,0,.35);
}
.edk-room-ceiling-3d {
    width: 1540px;
    height: calc(var(--edk-room-depth) + 280px);
    margin: calc((var(--edk-room-depth) + 280px) / -2) 0 0 -770px;
    transform: translate3d(0, -320px, calc(var(--edk-room-half-depth) * -1)) rotateX(-90deg);
    background:
        radial-gradient(circle at 50% 50%, rgba(255,214,120,.13), transparent 26%),
        linear-gradient(180deg, rgba(31,22,16,.98), rgba(10,8,7,.98));
    box-shadow: inset 0 0 120px rgba(0,0,0,.42);
}
.edk-room-wall-left-3d,
.edk-room-wall-right-3d {
    width: calc(var(--edk-room-depth) + 160px);
    height: 720px;
    margin: -360px 0 0 calc((var(--edk-room-depth) + 160px) / -2);
    background:
        linear-gradient(180deg, rgba(56,39,28,.96), rgba(24,16,11,.98)),
        repeating-linear-gradient(to right, rgba(255,215,130,.04) 0, rgba(255,215,130,.04) 2px, transparent 2px, transparent 160px);
    border: 1px solid rgba(212,175,55,.12);
    box-shadow: inset 0 0 90px rgba(0,0,0,.45);
}
.edk-room-wall-left-3d { transform: translate3d(-770px, 0, calc(var(--edk-room-half-depth) * -1)) rotateY(90deg); }
.edk-room-wall-right-3d { transform: translate3d(770px, 0, calc(var(--edk-room-half-depth) * -1)) rotateY(-90deg); }
.edk-room-wall-back-3d {
    width: 1540px;
    height: 720px;
    margin: -360px 0 0 -770px;
    transform: translate3d(0, 0, calc(var(--edk-room-depth) * -1));
    background:
        radial-gradient(circle at 50% 30%, rgba(255,218,132,.12), transparent 30%),
        linear-gradient(180deg, rgba(52,35,24,.98), rgba(18,12,9,.99));
    border: 1px solid rgba(212,175,55,.14);
    box-shadow: inset 0 0 130px rgba(0,0,0,.48);
}
.edk-room-frame-item {
    width: 310px;
    height: 230px;
    margin: -115px 0 0 -155px;
    transform: translate3d(var(--x), var(--y), var(--z)) rotateY(var(--ry));
    text-decoration: none;
    color: inherit;
}
.edk-room-frame-hero {
    width: 420px;
    height: 300px;
    margin: -150px 0 0 -210px;
}
.edk-room-frame-art {
    position: relative;
    width: 100%;
    height: 100%;
    padding: 14px;
    border-radius: 24px;
    background:
        linear-gradient(180deg, rgba(44,30,22,.96), rgba(19,13,10,.98));
    border: 1px solid rgba(212,175,55,.30);
    box-shadow: 0 18px 36px rgba(0,0,0,.5), inset 0 0 0 1px rgba(255,255,255,.03);
}
.edk-room-frame-art::before {
    content: '';
    position: absolute;
    inset: 8px;
    border-radius: 18px;
    border: 1px solid rgba(212,175,55,.14);
    pointer-events: none;
}
.edk-room-frame-art img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 16px;
    box-shadow: 0 12px 24px rgba(0,0,0,.35);
    transition: transform .35s ease, filter .35s ease;
}
.edk-room-frame-item:hover img {
    transform: scale(1.03);
    filter: brightness(1.03);
}
.edk-room-frame-caption {
    position: absolute;
    left: 20px;
    right: 20px;
    bottom: 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 14px;
    border-radius: 999px;
    background: rgba(8,8,8,.64);
    backdrop-filter: blur(8px);
    color: #fff;
    font-size: .9rem;
    font-weight: 700;
}
.edk-room-gallery-arrow { color: var(--gold); font-size: 1.08rem; }
.edk-room-empty-wallnote {
    width: 420px;
    margin: -70px 0 0 -210px;
    transform: translate3d(0, 0, calc(var(--edk-room-depth) * -1 + 12px));
    padding: 22px 24px;
    border-radius: 20px;
    text-align: center;
    color: rgba(255,248,230,.82);
    background: rgba(10,10,10,.72);
    border: 1px solid rgba(212,175,55,.25);
}
.edk-room-controls {
    position: absolute;
    right: 22px;
    bottom: 20px;
    z-index: 4;
    display: grid;
    grid-template-columns: repeat(3, 52px);
    grid-template-rows: repeat(2, 48px);
    gap: 8px;
}
.edk-room-btn-up { grid-column: 2; grid-row: 1; }
.edk-room-btn-down { grid-column: 2; grid-row: 2; }
.edk-room-btn-left { grid-column: 1; grid-row: 2; }
.edk-room-btn-right { grid-column: 3; grid-row: 2; }
.edk-room-nav-btn {
    background: rgba(12,12,12,.88);
    color: var(--gold);
    border: 1px solid rgba(212,175,55,.28);
    border-radius: 16px;
    font-size: 1.15rem;
    box-shadow: 0 12px 24px rgba(0,0,0,.32);
}
.edk-room-nav-btn:hover {
    color: #fff;
    border-color: rgba(212,175,55,.56);
}
.edk-room-open .edk-floating-menu,
.edk-room-open .edk-d-pad,
.edk-room-open .edk-instruction-bar,
.edk-room-open .edk-welcome-plaque {
    opacity: .14;
    pointer-events: none;
}

@media (max-width: 1024px) {
    .edk-room-shell.edk-room-shell-3d {
        width: min(100vw - 18px, 1200px);
        height: min(100dvh - 18px, 860px);
        padding: 18px 18px 82px;
    }
    .edk-room-topbar {
        grid-template-columns: 1fr;
        gap: 14px;
    }
    .edk-room-topbar .edk-room-center-badge { justify-self: start; }
}
@media (max-width: 768px) {
    .edk-room-overlay {
        padding: 8px;
        align-items: flex-end;
    }
    .edk-room-shell.edk-room-shell-3d {
        width: calc(100vw - 8px);
        height: calc(100dvh - 8px);
        max-height: calc(100dvh - 8px);
        padding: 14px 14px 78px;
        border-radius: 24px 24px 0 0;
    }
    .edk-room-viewport {
        height: calc(100% - 140px);
        border-radius: 20px;
    }
    .edk-room-topbar .edk-room-title { font-size: 1.7rem; }
    .edk-room-topbar .edk-room-subtitle { font-size: .92rem; line-height: 1.55; }
    .edk-room-floor-3d,
    .edk-room-ceiling-3d,
    .edk-room-wall-back-3d { width: 1180px; margin-left: -590px; }
    .edk-room-floor-3d,
    .edk-room-ceiling-3d { height: calc(var(--edk-room-depth) + 200px); margin-top: calc((var(--edk-room-depth) + 200px) / -2); }
    .edk-room-wall-left-3d,
    .edk-room-wall-right-3d { width: calc(var(--edk-room-depth) + 100px); margin-left: calc((var(--edk-room-depth) + 100px) / -2); }
    .edk-room-wall-left-3d { transform: translate3d(-590px, 0, calc(var(--edk-room-half-depth) * -1)) rotateY(90deg); }
    .edk-room-wall-right-3d { transform: translate3d(590px, 0, calc(var(--edk-room-half-depth) * -1)) rotateY(-90deg); }
    .edk-room-frame-item { width: 230px; height: 176px; margin: -88px 0 0 -115px; }
    .edk-room-frame-hero { width: 290px; height: 220px; margin: -110px 0 0 -145px; }
    .edk-room-controls {
        right: 14px;
        bottom: 12px;
        grid-template-columns: repeat(3, 44px);
        grid-template-rows: repeat(2, 40px);
    }
}



/* ===== v1.5.0 WHITE GALLERY ROOM ===== */
.edk-room-shell.edk-room-shell-3d {
    background: linear-gradient(180deg, rgba(248,249,251,.98), rgba(235,238,242,.98));
    border: 1px solid rgba(16,24,32,.10);
    box-shadow: 0 36px 100px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.72);
}
.edk-room-topbar .edk-room-kicker { color: #6f7a85; }
.edk-room-topbar .edk-room-title { color: #11181f; letter-spacing: -.02em; }
.edk-room-topbar .edk-room-subtitle { color: rgba(17,24,31,.72); }
.edk-room-topbar .edk-room-center-badge,
.edk-room-close,
.edk-room-nav-btn {
    color: #18222d;
    border-color: rgba(17,24,31,.10);
    background: rgba(255,255,255,.74);
    backdrop-filter: blur(10px);
}
.edk-room-close:hover,
.edk-room-nav-btn:hover {
    color: #0e1720;
    border-color: rgba(17,24,31,.22);
    background: rgba(255,255,255,.92);
}
.edk-room-viewport {
    background: linear-gradient(180deg, #edf0f3 0%, #e9ecef 100%);
    border: 1px solid rgba(17,24,31,.08);
}
.edk-room-viewport::before {
    background:
        linear-gradient(180deg, rgba(255,255,255,.22), transparent 24%, transparent 78%, rgba(0,0,0,.12)),
        radial-gradient(circle at 16% 14%, rgba(255,255,255,.45), transparent 18%),
        radial-gradient(circle at 50% 10%, rgba(255,255,255,.40), transparent 20%),
        radial-gradient(circle at 84% 14%, rgba(255,255,255,.45), transparent 18%);
}
.edk-room-floor-3d {
    background:
        linear-gradient(to right, rgba(0,0,0,.08), transparent 12%, transparent 88%, rgba(0,0,0,.08)),
        repeating-linear-gradient(90deg, rgba(255,255,255,.14) 0 2px, transparent 2px 92px),
        linear-gradient(180deg, #d8d1c4, #c9c0b2);
    border: 1px solid rgba(17,24,31,.06);
    box-shadow: inset 0 0 80px rgba(0,0,0,.08);
}
.edk-room-ceiling-3d {
    background:
        repeating-linear-gradient(90deg, rgba(255,255,255,.04) 0 120px, rgba(0,0,0,.04) 120px 124px),
        linear-gradient(180deg, #20262c, #0f1419);
    box-shadow: inset 0 0 120px rgba(0,0,0,.22);
}
.edk-room-wall-left-3d,
.edk-room-wall-right-3d,
.edk-room-wall-back-3d {
    background: linear-gradient(180deg, #f7f7f5 0%, #efefed 100%);
    border: 1px solid rgba(17,24,31,.06);
    box-shadow: inset 0 0 80px rgba(0,0,0,.05);
}
.edk-room-wall-back-3d::after,
.edk-room-wall-left-3d::after,
.edk-room-wall-right-3d::after {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 16% 16%, rgba(255,255,255,.55), transparent 15%),
        radial-gradient(circle at 50% 12%, rgba(255,255,255,.42), transparent 17%),
        radial-gradient(circle at 84% 16%, rgba(255,255,255,.55), transparent 15%);
    opacity: .9;
    pointer-events: none;
}
.edk-room-frame-item {
    width: 248px;
    height: 176px;
    margin: -88px 0 0 -124px;
}
.edk-room-frame-back-main {
    width: 300px;
    height: 214px;
    margin: -107px 0 0 -150px;
}
.edk-room-frame-art {
    position: relative;
    padding: 8px;
    border-radius: 4px;
    background: #ffffff;
    border: 1px solid rgba(17,24,31,.10);
    box-shadow: 0 14px 28px rgba(0,0,0,.14), 0 2px 6px rgba(0,0,0,.06);
}
.edk-room-frame-art::before {
    inset: 0;
    border-radius: 4px;
    border: 1px solid rgba(0,0,0,.04);
}
.edk-room-frame-art img {
    border-radius: 0;
    object-fit: cover;
    box-shadow: none;
}
.edk-room-frame-light {
    position: absolute;
    left: 50%;
    top: -140px;
    width: 180px;
    height: 180px;
    transform: translateX(-50%);
    background: radial-gradient(ellipse at top, rgba(255,255,255,.45), rgba(255,255,255,0) 70%);
    filter: blur(6px);
    pointer-events: none;
    opacity: .85;
}
.edk-room-frame-cta {
    position: absolute;
    right: 14px;
    bottom: 14px;
    padding: 7px 11px;
    border-radius: 999px;
    background: rgba(255,255,255,.92);
    border: 1px solid rgba(17,24,31,.08);
    color: #11181f;
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .04em;
    opacity: 0;
    transform: translateY(6px);
    transition: opacity .22s ease, transform .22s ease;
}
.edk-room-frame-item:hover .edk-room-frame-cta {
    opacity: 1;
    transform: translateY(0);
}
.edk-room-frame-item:hover img {
    transform: scale(1.015);
    filter: brightness(1.02);
}
.edk-room-empty-wallnote {
    background: rgba(255,255,255,.92);
    border: 1px solid rgba(17,24,31,.10);
    color: rgba(17,24,31,.78);
    box-shadow: 0 12px 32px rgba(0,0,0,.12);
}
@media (max-width: 768px) {
    .edk-room-frame-item {
        width: 190px;
        height: 138px;
        margin: -69px 0 0 -95px;
    }
    .edk-room-frame-back-main {
        width: 238px;
        height: 170px;
        margin: -85px 0 0 -119px;
    }
    .edk-room-frame-light {
        width: 140px;
        height: 140px;
        top: -112px;
    }
    .edk-room-topbar .edk-room-title { font-size: 1.6rem; }
    .edk-room-topbar .edk-room-subtitle { font-size: .9rem; }
}

/* ===== v1.6.0 IMMERSIVE LIVE GALLERY ROOM ===== */
.edk-room-shell.edk-room-shell-3d {
    --edk-room-depth: 2600px;
    --edk-room-half-depth: 1300px;
    width: min(1540px, calc(100vw - 28px));
    max-width: 1540px;
    height: min(940px, calc(100dvh - 28px));
    padding: 18px 18px 82px;
    border-radius: 28px;
    border: 1px solid rgba(12,18,24,.16);
    background: linear-gradient(180deg, rgba(26,32,38,.95), rgba(13,17,21,.98));
    box-shadow: 0 30px 90px rgba(0,0,0,.42);
}
.edk-room-topbar {
    grid-template-columns: auto 1fr auto;
    gap: 16px;
    margin-bottom: 12px;
}
.edk-room-topbar .edk-room-kicker {
    color: rgba(255,255,255,.56);
    letter-spacing: .20em;
    font-size: .72rem;
}
.edk-room-topbar .edk-room-title {
    color: #f8fafc;
    font-size: clamp(1.7rem, 2.5vw, 2.6rem);
}
.edk-room-topbar .edk-room-subtitle {
    color: rgba(241,245,249,.70);
    max-width: 700px;
    margin-top: 6px;
    line-height: 1.6;
}
.edk-room-close,
.edk-room-topbar .edk-room-center-badge,
.edk-room-nav-btn {
    color: #f8fafc;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.14);
    backdrop-filter: blur(10px);
}
.edk-room-close:hover,
.edk-room-nav-btn:hover {
    background: rgba(255,255,255,.14);
    border-color: rgba(255,255,255,.24);
}
.edk-room-viewport {
    height: calc(100% - 96px);
    perspective: 1700px;
    border-radius: 22px;
    background:
        radial-gradient(circle at 50% 0%, rgba(255,255,255,.06), transparent 24%),
        linear-gradient(180deg, #dfe6ec 0%, #d9e0e6 100%);
    border: 1px solid rgba(255,255,255,.12);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.04);
}
.edk-room-viewport::before {
    background:
        linear-gradient(180deg, rgba(255,255,255,.06), transparent 18%, transparent 82%, rgba(0,0,0,.10)),
        radial-gradient(circle at 18% 10%, rgba(255,255,255,.40), transparent 18%),
        radial-gradient(circle at 50% 10%, rgba(255,255,255,.30), transparent 22%),
        radial-gradient(circle at 82% 10%, rgba(255,255,255,.40), transparent 18%);
}
.edk-room-viewport::after {
    content: '';
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(14,18,22,.16) 0 3.5%, transparent 10%, transparent 90%, rgba(14,18,22,.16) 96.5% 100%),
        linear-gradient(180deg, transparent 0 76%, rgba(14,18,22,.12) 100%);
    pointer-events: none;
    z-index: 3;
}
.edk-room-camera-rig { top: 56%; }
.edk-room-world { transition: transform .65s cubic-bezier(.22,1,.36,1); }
.edk-room-floor-3d {
    width: 2100px;
    height: calc(var(--edk-room-depth) + 260px);
    margin: calc((var(--edk-room-depth) + 260px) / -2) 0 0 -1050px;
    transform: translate3d(0, 345px, calc(var(--edk-room-half-depth) * -1)) rotateX(90deg);
    background:
        linear-gradient(to right, rgba(0,0,0,.08), transparent 12%, transparent 88%, rgba(0,0,0,.08)),
        repeating-linear-gradient(90deg, rgba(255,255,255,.14) 0 2px, transparent 2px 94px),
        linear-gradient(180deg, #dacfbf 0%, #cabda9 100%);
    box-shadow: inset 0 0 80px rgba(0,0,0,.08);
    border: 1px solid rgba(0,0,0,.05);
}
.edk-room-ceiling-3d {
    width: 2100px;
    height: calc(var(--edk-room-depth) + 260px);
    margin: calc((var(--edk-room-depth) + 260px) / -2) 0 0 -1050px;
    transform: translate3d(0, -345px, calc(var(--edk-room-half-depth) * -1)) rotateX(-90deg);
    background: linear-gradient(180deg, #1c232a 0%, #0c1116 100%);
    box-shadow: inset 0 0 120px rgba(0,0,0,.25);
}
.edk-room-wall-left-3d,
.edk-room-wall-right-3d,
.edk-room-wall-back-3d {
    height: 780px;
    background: linear-gradient(180deg, #fbfbfa 0%, #f0f1f2 100%);
    border: 1px solid rgba(0,0,0,.04);
    box-shadow: inset 0 0 90px rgba(0,0,0,.04);
}
.edk-room-wall-left-3d,
.edk-room-wall-right-3d {
    width: calc(var(--edk-room-depth) + 220px);
    margin: -390px 0 0 calc((var(--edk-room-depth) + 220px) / -2);
}
.edk-room-wall-left-3d { transform: translate3d(-1050px, 0, calc(var(--edk-room-half-depth) * -1)) rotateY(90deg); }
.edk-room-wall-right-3d { transform: translate3d(1050px, 0, calc(var(--edk-room-half-depth) * -1)) rotateY(-90deg); }
.edk-room-wall-back-3d {
    width: 2100px;
    margin: -390px 0 0 -1050px;
    transform: translate3d(0, 0, calc(var(--edk-room-depth) * -1));
}
.edk-room-wall-back-3d::after,
.edk-room-wall-left-3d::after,
.edk-room-wall-right-3d::after {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 14% 12%, rgba(255,255,255,.58), transparent 14%),
        radial-gradient(circle at 50% 10%, rgba(255,255,255,.38), transparent 18%),
        radial-gradient(circle at 86% 12%, rgba(255,255,255,.58), transparent 14%);
    opacity: .95;
}
.edk-room-frame-item {
    width: 280px;
    height: 204px;
    margin: -102px 0 0 -140px;
    text-decoration: none;
}
.edk-room-frame-back-main {
    width: 330px;
    height: 238px;
    margin: -119px 0 0 -165px;
}
.edk-room-frame-art {
    position: relative;
    width: 100%;
    height: 100%;
    padding: 10px;
    border-radius: 2px;
    background: #fff;
    border: 1px solid rgba(17,24,31,.10);
    box-shadow: 0 18px 38px rgba(0,0,0,.16), 0 2px 8px rgba(0,0,0,.08);
}
.edk-room-frame-art::before {
    content: '';
    position: absolute;
    inset: 10px;
    border: 14px solid #fff;
    box-shadow: inset 0 0 0 1px rgba(17,24,31,.08);
    pointer-events: none;
}
.edk-room-frame-mat {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background: #fff;
}
.edk-room-frame-art img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform .35s ease, filter .35s ease;
}
.edk-room-frame-item:hover img {
    transform: scale(1.02);
    filter: saturate(1.02);
}
.edk-room-frame-light {
    position: absolute;
    left: 50%;
    top: -120px;
    width: 220px;
    height: 170px;
    transform: translateX(-50%);
    background: radial-gradient(ellipse at top, rgba(255,255,255,.42), rgba(255,255,255,0) 72%);
    filter: blur(8px);
    opacity: .78;
    pointer-events: none;
}
.edk-room-frame-cta { display: none !important; }
.edk-room-empty-wallnote {
    background: rgba(255,255,255,.94);
    border: 1px solid rgba(17,24,31,.10);
    color: rgba(17,24,31,.78);
    box-shadow: 0 14px 34px rgba(0,0,0,.12);
}
@media (max-width: 1024px) {
    .edk-room-shell.edk-room-shell-3d { width: calc(100vw - 12px); height: calc(100dvh - 12px); }
    .edk-room-topbar { grid-template-columns: 1fr; }
    .edk-room-topbar .edk-room-center-badge { justify-self: start; }
}
@media (max-width: 768px) {
    .edk-room-shell.edk-room-shell-3d {
        width: calc(100vw - 6px);
        height: calc(100dvh - 6px);
        padding: 12px 12px 76px;
        border-radius: 22px 22px 0 0;
    }
    .edk-room-viewport { height: calc(100% - 132px); border-radius: 18px; }
    .edk-room-floor-3d,
    .edk-room-ceiling-3d,
    .edk-room-wall-back-3d { width: 1460px; margin-left: -730px; }
    .edk-room-wall-left-3d,
    .edk-room-wall-right-3d { width: calc(var(--edk-room-depth) + 140px); margin-left: calc((var(--edk-room-depth) + 140px) / -2); }
    .edk-room-wall-left-3d { transform: translate3d(-730px, 0, calc(var(--edk-room-half-depth) * -1)) rotateY(90deg); }
    .edk-room-wall-right-3d { transform: translate3d(730px, 0, calc(var(--edk-room-half-depth) * -1)) rotateY(-90deg); }
    .edk-room-frame-item { width: 210px; height: 156px; margin: -78px 0 0 -105px; }
    .edk-room-frame-back-main { width: 248px; height: 182px; margin: -91px 0 0 -124px; }
    .edk-room-frame-art::before { border-width: 10px; }
}


/* ===== v1.6.1 TRUE ROOM GALLERY VIEW ===== */
.edk-room-overlay {
    padding: 0 !important;
    align-items: stretch;
    justify-content: stretch;
    background: rgba(6, 8, 10, .96) !important;
    backdrop-filter: none !important;
}
.edk-room-shell.edk-room-shell-3d {
    width: 100vw !important;
    max-width: none !important;
    height: 100dvh !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #0a0d10 !important;
    box-shadow: none !important;
}
.edk-room-topbar {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 12;
}
.edk-room-topbar .edk-room-kicker,
.edk-room-topbar .edk-room-headings,
.edk-room-topbar .edk-room-center-badge {
    display: none !important;
}
.edk-room-close {
    position: absolute !important;
    top: 18px;
    left: 18px;
    z-index: 30;
    margin: 0 !important;
    padding: 12px 16px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(255,255,255,.16) !important;
    background: rgba(14,18,22,.58) !important;
    color: #fff !important;
    backdrop-filter: blur(10px);
    pointer-events: auto;
}
.edk-room-controls {
    position: absolute;
    right: 18px;
    bottom: 18px;
    z-index: 30;
}
.edk-room-nav-btn {
    background: rgba(14,18,22,.56) !important;
    border-color: rgba(255,255,255,.16) !important;
}
.edk-room-viewport {
    height: 100% !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: linear-gradient(180deg, #eef1f3 0%, #e5e9ec 100%) !important;
    box-shadow: none !important;
    perspective: 2600px !important;
}
.edk-room-viewport::before {
    background:
        linear-gradient(180deg, rgba(255,255,255,.05), transparent 16%, transparent 84%, rgba(0,0,0,.06)),
        radial-gradient(circle at 22% 12%, rgba(255,255,255,.34), transparent 14%),
        radial-gradient(circle at 50% 10%, rgba(255,255,255,.22), transparent 18%),
        radial-gradient(circle at 78% 12%, rgba(255,255,255,.34), transparent 14%) !important;
}
.edk-room-viewport::after {
    background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,.08) 100%) !important;
}
.edk-room-camera-rig {
    top: 57% !important;
}
.edk-room-world {
    transition: transform .7s cubic-bezier(.22,1,.36,1) !important;
}
.edk-room-floor-3d {
    width: 2800px !important;
    height: calc(var(--edk-room-depth) + 620px) !important;
    margin: calc((var(--edk-room-depth) + 620px) / -2) 0 0 -1400px !important;
    transform: translate3d(0, 410px, calc(var(--edk-room-half-depth) * -1)) rotateX(90deg) !important;
    background:
        linear-gradient(to right, rgba(0,0,0,.06), transparent 12%, transparent 88%, rgba(0,0,0,.06)),
        repeating-linear-gradient(90deg, rgba(255,255,255,.16) 0 2px, transparent 2px 102px),
        linear-gradient(180deg, #d9d0c2 0%, #cdbfa9 100%) !important;
    border: 0 !important;
    box-shadow: inset 0 0 40px rgba(0,0,0,.08) !important;
}
.edk-room-ceiling-3d {
    width: 2800px !important;
    height: calc(var(--edk-room-depth) + 620px) !important;
    margin: calc((var(--edk-room-depth) + 620px) / -2) 0 0 -1400px !important;
    transform: translate3d(0, -410px, calc(var(--edk-room-half-depth) * -1)) rotateX(-90deg) !important;
    background: linear-gradient(180deg, #13181d 0%, #070b0e 100%) !important;
    box-shadow: inset 0 0 90px rgba(0,0,0,.28) !important;
}
.edk-room-wall-left-3d,
.edk-room-wall-right-3d,
.edk-room-wall-back-3d {
    height: 920px !important;
    background: linear-gradient(180deg, #fafaf8 0%, #f2f2ef 100%) !important;
    border: 0 !important;
    box-shadow: inset 0 0 55px rgba(0,0,0,.045) !important;
}
.edk-room-wall-left-3d,
.edk-room-wall-right-3d {
    width: calc(var(--edk-room-depth) + 320px) !important;
    margin: -460px 0 0 calc((var(--edk-room-depth) + 320px) / -2) !important;
}
.edk-room-wall-left-3d { transform: translate3d(-1240px, 0, calc(var(--edk-room-half-depth) * -1)) rotateY(90deg) !important; }
.edk-room-wall-right-3d { transform: translate3d(1240px, 0, calc(var(--edk-room-half-depth) * -1)) rotateY(-90deg) !important; }
.edk-room-wall-back-3d {
    width: 2480px !important;
    margin: -460px 0 0 -1240px !important;
    transform: translate3d(0, 0, calc(var(--edk-room-depth) * -1)) !important;
}
.edk-room-wall-back-3d::after,
.edk-room-wall-left-3d::after,
.edk-room-wall-right-3d::after {
    background:
        radial-gradient(circle at 22% 12%, rgba(255,255,255,.18), transparent 11%),
        radial-gradient(circle at 50% 10%, rgba(255,255,255,.12), transparent 14%),
        radial-gradient(circle at 78% 12%, rgba(255,255,255,.18), transparent 11%) !important;
    opacity: .75 !important;
}
.edk-room-frame-item {
    width: 220px !important;
    height: 220px !important;
    margin: -110px 0 0 -110px !important;
    text-decoration: none !important;
}
.edk-room-frame-item.is-portrait {
    width: 186px !important;
    height: 252px !important;
    margin: -126px 0 0 -93px !important;
}
.edk-room-frame-item.is-landscape {
    width: 262px !important;
    height: 176px !important;
    margin: -88px 0 0 -131px !important;
}
.edk-room-frame-item.is-square {
    width: 220px !important;
    height: 220px !important;
    margin: -110px 0 0 -110px !important;
}
.edk-room-frame-back-main,
.edk-room-frame-back-main.is-portrait,
.edk-room-frame-back-main.is-landscape,
.edk-room-frame-back-main.is-square {
    width: inherit !important;
    height: inherit !important;
    margin: inherit !important;
}
.edk-room-frame-art {
    width: 100%;
    height: 100%;
    padding: 10px !important;
    border-radius: 0 !important;
    background: #fff !important;
    border: 1px solid rgba(12,18,24,.10) !important;
    box-shadow: 0 10px 28px rgba(0,0,0,.14), 0 1px 3px rgba(0,0,0,.08) !important;
}
.edk-room-frame-art::before {
    inset: 10px !important;
    border: 0 !important;
    box-shadow: inset 0 0 0 1px rgba(12,18,24,.08) !important;
}
.edk-room-frame-mat {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f7f7f4 !important;
}
.edk-room-frame-art img {
    width: 100%;
    height: 100%;
    object-fit: contain !important;
    background: #f7f7f4;
}
.edk-room-frame-item:hover img {
    transform: none !important;
    filter: none !important;
}
.edk-room-frame-light {
    top: -64px !important;
    width: 140px !important;
    height: 80px !important;
    background: radial-gradient(ellipse at top, rgba(255,255,255,.22), rgba(255,255,255,0) 72%) !important;
    filter: blur(14px) !important;
    opacity: .55 !important;
}
.edk-room-empty-wallnote {
    background: rgba(255,255,255,.96) !important;
    border: 1px solid rgba(12,18,24,.10) !important;
}
@media (max-width: 768px) {
    .edk-room-close { top: 12px; left: 12px; padding: 10px 14px !important; }
    .edk-room-controls { right: 12px; bottom: 12px; }
    .edk-room-floor-3d,
    .edk-room-ceiling-3d,
    .edk-room-wall-back-3d { width: 1800px !important; margin-left: -900px !important; }
    .edk-room-wall-left-3d,
    .edk-room-wall-right-3d { width: calc(var(--edk-room-depth) + 220px) !important; margin-left: calc((var(--edk-room-depth) + 220px) / -2) !important; }
    .edk-room-wall-left-3d { transform: translate3d(-820px, 0, calc(var(--edk-room-half-depth) * -1)) rotateY(90deg) !important; }
    .edk-room-wall-right-3d { transform: translate3d(820px, 0, calc(var(--edk-room-half-depth) * -1)) rotateY(-90deg) !important; }
    .edk-room-frame-item.is-portrait { width: 150px !important; height: 204px !important; margin: -102px 0 0 -75px !important; }
    .edk-room-frame-item.is-landscape { width: 214px !important; height: 146px !important; margin: -73px 0 0 -107px !important; }
    .edk-room-frame-item.is-square { width: 176px !important; height: 176px !important; margin: -88px 0 0 -88px !important; }
}


/* ===== v1.6.2 WALL-MOUNTED GALLERY PATCH ===== */
.edk-room-overlay {
    background: #0b0e11 !important;
}
.edk-room-viewport {
    background:
        linear-gradient(180deg, #eef2f4 0%, #e7ebee 100%) !important;
}
.edk-room-viewport::after {
    background:
        linear-gradient(90deg, rgba(11,14,17,.10) 0 2.5%, transparent 8%, transparent 92%, rgba(11,14,17,.10) 97.5% 100%),
        linear-gradient(180deg, transparent 0 79%, rgba(11,14,17,.06) 100%) !important;
}
.edk-room-camera-rig {
    top: 58% !important;
}
.edk-room-frame-item,
.edk-room-frame-back-main,
.edk-room-frame-side {
    z-index: 5;
}
.edk-room-frame-art {
    box-shadow: 0 14px 30px rgba(0,0,0,.12), 0 1px 0 rgba(255,255,255,.85), inset 0 0 0 1px rgba(12,18,24,.06) !important;
}
.edk-room-frame-light {
    top: -78px !important;
    width: 160px !important;
    height: 96px !important;
    opacity: .38 !important;
}
.edk-room-frame-art img {
    object-fit: contain !important;
}
.edk-room-wall-left-3d,
.edk-room-wall-right-3d,
.edk-room-wall-back-3d {
    box-shadow: inset 0 0 60px rgba(0,0,0,.03) !important;
}
@media (max-width: 768px) {
    .edk-room-camera-rig { top: 60% !important; }
}


/* v1.6.3 wall-mounted room fix */
.edk-room-wall-3d{overflow:hidden;}
.edk-room-wall-surface{
    position:relative;
    width:100%;
    height:100%;
    transform-style:preserve-3d;
}
.edk-room-wall-surface-left,
.edk-room-wall-surface-right,
.edk-room-wall-surface-back{
    pointer-events:auto;
}
.edk-room-frame-mounted{
    position:absolute !important;
    transform:translate(-50%,-50%) !important;
    --x:initial;
    --y:initial;
    --z:initial;
    --ry:initial;
}
.edk-room-frame-left,
.edk-room-frame-right,
.edk-room-frame-back{
    text-decoration:none !important;
}
.edk-room-wall-surface-left .edk-room-frame-item,
.edk-room-wall-surface-right .edk-room-frame-item,
.edk-room-wall-surface-back .edk-room-frame-item{
    backface-visibility:hidden;
}
.edk-room-wall-surface-left .edk-room-frame-item,
.edk-room-wall-surface-right .edk-room-frame-item{
    box-shadow:none !important;
}
.edk-room-wall-surface-left .edk-room-frame-item.is-portrait,
.edk-room-wall-surface-right .edk-room-frame-item.is-portrait,
.edk-room-wall-surface-back .edk-room-frame-item.is-portrait{
    width:164px !important;
    height:224px !important;
    margin:0 !important;
}
.edk-room-wall-surface-left .edk-room-frame-item.is-landscape,
.edk-room-wall-surface-right .edk-room-frame-item.is-landscape,
.edk-room-wall-surface-back .edk-room-frame-item.is-landscape{
    width:240px !important;
    height:160px !important;
    margin:0 !important;
}
.edk-room-wall-surface-left .edk-room-frame-item.is-square,
.edk-room-wall-surface-right .edk-room-frame-item.is-square,
.edk-room-wall-surface-back .edk-room-frame-item.is-square,
.edk-room-wall-surface-left .edk-room-frame-item,
.edk-room-wall-surface-right .edk-room-frame-item,
.edk-room-wall-surface-back .edk-room-frame-item{
    width:196px !important;
    height:196px !important;
    margin:0 !important;
}
.edk-room-wall-surface-back .edk-room-frame-item{
    filter:drop-shadow(0 10px 18px rgba(0,0,0,.10));
}
.edk-room-wall-surface-left .edk-room-frame-item,
.edk-room-wall-surface-right .edk-room-frame-item{
    filter:drop-shadow(0 8px 14px rgba(0,0,0,.08));
}
.edk-room-frame-mounted .edk-room-frame-light{
    top:-70px !important;
    width:160px !important;
    height:120px !important;
    opacity:.58 !important;
}
.edk-room-frame-mounted .edk-room-frame-art{
    border-radius:2px !important;
    padding:8px !important;
}
.edk-room-frame-mounted .edk-room-frame-art::before{
    inset:8px !important;
    border-width:10px !important;
}
.edk-room-frame-mounted .edk-room-frame-mat{
    background:#fff !important;
}
.edk-room-frame-mounted:hover img{transform:none !important;filter:none !important;}
.edk-room-empty-wallnote{
    position:absolute !important;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%) !important;
}
@media (max-width:768px){
    .edk-room-wall-surface-left .edk-room-frame-item,
    .edk-room-wall-surface-right .edk-room-frame-item,
    .edk-room-wall-surface-back .edk-room-frame-item{
        width:148px !important;
        height:148px !important;
    }
    .edk-room-wall-surface-left .edk-room-frame-item.is-portrait,
    .edk-room-wall-surface-right .edk-room-frame-item.is-portrait,
    .edk-room-wall-surface-back .edk-room-frame-item.is-portrait{
        width:126px !important;
        height:176px !important;
    }
    .edk-room-wall-surface-left .edk-room-frame-item.is-landscape,
    .edk-room-wall-surface-right .edk-room-frame-item.is-landscape,
    .edk-room-wall-surface-back .edk-room-frame-item.is-landscape{
        width:176px !important;
        height:122px !important;
    }
}


/* ===== v1.6.4 enhanced live room ===== */
.edk-room-shell.edk-room-shell-3d{
    width:min(1620px,calc(100vw - 22px)) !important;
    max-width:1620px !important;
    height:min(960px,calc(100dvh - 22px)) !important;
    padding:16px 16px 78px !important;
    border-radius:30px !important;
    background:linear-gradient(180deg,rgba(18,23,28,.92),rgba(10,14,18,.98)) !important;
    border:1px solid rgba(255,255,255,.10) !important;
    box-shadow:0 28px 90px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.06) !important;
}
.edk-room-topbar{margin-bottom:10px !important;}
.edk-room-topbar .edk-room-center-badge{
    color:#f3f6f8 !important;
    background:rgba(255,255,255,.09) !important;
    border-color:rgba(255,255,255,.12) !important;
}
.edk-room-viewport{
    height:calc(100% - 92px) !important;
    perspective:1950px !important;
    border-radius:24px !important;
    background:linear-gradient(180deg,#edf2f5 0%,#e6ebef 100%) !important;
    border:1px solid rgba(255,255,255,.12) !important;
}
.edk-room-viewport::before{
    background:
        linear-gradient(180deg,rgba(255,255,255,.12),transparent 20%,transparent 78%,rgba(0,0,0,.08)),
        radial-gradient(circle at 18% 8%, rgba(255,255,255,.52), transparent 18%),
        radial-gradient(circle at 50% 7%, rgba(255,255,255,.34), transparent 20%),
        radial-gradient(circle at 82% 8%, rgba(255,255,255,.52), transparent 18%) !important;
    z-index:1 !important;
}
.edk-room-viewport::after{
    content:'';
    position:absolute;
    inset:0;
    background:
        linear-gradient(90deg, rgba(22,27,32,.22) 0 2.5%, transparent 7%, transparent 93%, rgba(22,27,32,.22) 97.5% 100%),
        linear-gradient(180deg, transparent 0 84%, rgba(10,14,18,.12) 100%);
    pointer-events:none;
    z-index:3;
}
.edk-room-camera-rig{top:58% !important;}
.edk-room-world{transition:transform .5s cubic-bezier(.22,1,.36,1) !important;}
.edk-room-floor-3d{
    width:2200px !important;
    height:calc(var(--edk-room-depth) + 260px) !important;
    margin:calc((var(--edk-room-depth) + 260px)/-2) 0 0 -1100px !important;
    transform:translate3d(0,348px,calc(var(--edk-room-half-depth) * -1)) rotateX(90deg) !important;
    background:
        linear-gradient(to right, rgba(0,0,0,.06), transparent 12%, transparent 88%, rgba(0,0,0,.06)),
        repeating-linear-gradient(90deg, rgba(255,255,255,.10) 0 2px, transparent 2px 112px),
        repeating-linear-gradient(0deg, rgba(255,255,255,.03) 0 2px, transparent 2px 112px),
        linear-gradient(180deg,#d8cfbf 0%,#c8bcab 100%) !important;
    box-shadow: inset 0 0 90px rgba(0,0,0,.06) !important;
}
.edk-room-ceiling-3d{
    width:2200px !important;
    height:calc(var(--edk-room-depth) + 260px) !important;
    margin:calc((var(--edk-room-depth) + 260px)/-2) 0 0 -1100px !important;
    transform:translate3d(0,-348px,calc(var(--edk-room-half-depth) * -1)) rotateX(-90deg) !important;
    background:
        radial-gradient(circle at 18% 42%, rgba(255,255,255,.06), transparent 10%),
        radial-gradient(circle at 50% 40%, rgba(255,255,255,.05), transparent 11%),
        radial-gradient(circle at 82% 42%, rgba(255,255,255,.06), transparent 10%),
        linear-gradient(180deg,#1c2328 0%,#12181d 100%) !important;
    box-shadow: inset 0 0 120px rgba(0,0,0,.28) !important;
}
.edk-room-ceiling-3d::after{
    content:'';
    position:absolute;
    inset:0;
    background:
        linear-gradient(90deg, transparent 0 20%, rgba(255,255,255,.03) 20% 21%, transparent 21% 49%, rgba(255,255,255,.025) 49% 51%, transparent 51% 79%, rgba(255,255,255,.03) 79% 80%, transparent 80%),
        radial-gradient(circle at 18% 46%, rgba(255,241,214,.18), transparent 9%),
        radial-gradient(circle at 50% 44%, rgba(255,241,214,.14), transparent 10%),
        radial-gradient(circle at 82% 46%, rgba(255,241,214,.18), transparent 9%);
    opacity:1;
}
.edk-room-wall-left-3d,
.edk-room-wall-right-3d,
.edk-room-wall-back-3d{
    background:linear-gradient(180deg,#fcfcfb 0%,#f1f2f3 100%) !important;
    border:1px solid rgba(0,0,0,.045) !important;
    box-shadow: inset 0 0 80px rgba(0,0,0,.03) !important;
}
.edk-room-wall-left-3d,
.edk-room-wall-right-3d{
    width:calc(var(--edk-room-depth) + 180px) !important;
    margin:-390px 0 0 calc((var(--edk-room-depth) + 180px)/-2) !important;
}
.edk-room-wall-left-3d{transform:translate3d(-980px,0,calc(var(--edk-room-half-depth) * -1)) rotateY(90deg) !important;}
.edk-room-wall-right-3d{transform:translate3d(980px,0,calc(var(--edk-room-half-depth) * -1)) rotateY(-90deg) !important;}
.edk-room-wall-back-3d{
    width:1960px !important;
    margin:-390px 0 0 -980px !important;
}
.edk-room-wall-left-3d::before,
.edk-room-wall-right-3d::before,
.edk-room-wall-back-3d::before{
    content:'';
    position:absolute;
    left:0; right:0; bottom:0;
    height:18px;
    background:linear-gradient(180deg,#c8cdd2,#aeb6bd);
    box-shadow:0 -1px 0 rgba(255,255,255,.5);
}
.edk-room-wall-left-3d::after,
.edk-room-wall-right-3d::after,
.edk-room-wall-back-3d::after{
    background:
      radial-gradient(circle at 20% 10%, rgba(255,255,255,.56), transparent 12%),
      radial-gradient(circle at 50% 9%, rgba(255,255,255,.38), transparent 14%),
      radial-gradient(circle at 80% 10%, rgba(255,255,255,.56), transparent 12%) !important;
    opacity:.92 !important;
}
.edk-room-wall-surface{overflow:hidden;}
.edk-room-wall-surface-left .edk-room-frame-item,
.edk-room-wall-surface-right .edk-room-frame-item,
.edk-room-wall-surface-back .edk-room-frame-item{
    transform:translate(-50%,-50%) translateZ(2px) !important;
}
.edk-room-frame-mounted .edk-room-frame-art{
    background:#fff !important;
    border:1px solid rgba(17,24,31,.10) !important;
    box-shadow:0 18px 34px rgba(0,0,0,.12), 0 2px 8px rgba(0,0,0,.06) !important;
}
.edk-room-frame-mounted .edk-room-frame-art::before{
    inset:10px !important;
    border:12px solid #fff !important;
    box-shadow: inset 0 0 0 1px rgba(17,24,31,.08) !important;
}
.edk-room-frame-mounted .edk-room-frame-light{
    top:-108px !important;
    width:200px !important;
    height:150px !important;
    background:radial-gradient(ellipse at top, rgba(255,244,220,.22), rgba(255,255,255,0) 72%) !important;
    filter:blur(7px) !important;
    opacity:.82 !important;
}
.edk-room-controls{right:18px !important; bottom:16px !important;}
.edk-room-nav-btn{
    background:rgba(17,24,31,.60) !important;
    color:#f8fafc !important;
    border:1px solid rgba(255,255,255,.14) !important;
    box-shadow:0 10px 28px rgba(0,0,0,.18) !important;
}
.edk-room-nav-btn:hover{background:rgba(17,24,31,.78) !important;}
@media (max-width: 768px){
    .edk-room-shell.edk-room-shell-3d{width:calc(100vw - 6px) !important; height:calc(100dvh - 6px) !important; padding:12px 12px 74px !important;}
    .edk-room-viewport{border-radius:18px !important;}
    .edk-room-camera-rig{top:60% !important;}
}


/* ===== v1.6.5 ultra room enhancement ===== */
.edk-room-shell.edk-room-shell-3d{
    width:100vw !important;
    max-width:none !important;
    height:100dvh !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:#070a0d !important;
    box-shadow:none !important;
}
.edk-room-topbar{position:absolute !important; inset:0 !important; z-index:40 !important; pointer-events:none;}
.edk-room-topbar .edk-room-headings,
.edk-room-topbar .edk-room-kicker,
.edk-room-topbar .edk-room-center-badge{display:none !important;}
.edk-room-close{
    top:18px !important; left:18px !important; pointer-events:auto !important;
    background:rgba(14,19,24,.62) !important; border-color:rgba(255,255,255,.18) !important;
    box-shadow:0 12px 30px rgba(0,0,0,.25) !important;
}
.edk-room-viewport{
    height:100% !important;
    border:0 !important;
    border-radius:0 !important;
    perspective:3000px !important;
    background:
        linear-gradient(180deg,#f2f4f6 0%,#e9edf0 100%) !important;
}
.edk-room-viewport::before{
    background:
        linear-gradient(180deg,rgba(255,255,255,.08),transparent 18%,transparent 82%,rgba(0,0,0,.06)),
        radial-gradient(circle at 18% 8%, rgba(255,255,255,.46), transparent 14%),
        radial-gradient(circle at 50% 7%, rgba(255,255,255,.30), transparent 18%),
        radial-gradient(circle at 82% 8%, rgba(255,255,255,.46), transparent 14%) !important;
}
.edk-room-viewport::after{
    background:
      linear-gradient(180deg,transparent 0 82%,rgba(0,0,0,.10) 100%),
      linear-gradient(90deg, rgba(6,10,14,.10) 0 1.5%, transparent 5%, transparent 95%, rgba(6,10,14,.10) 98.5% 100%) !important;
}
.edk-room-camera-rig{top:57% !important;}
.edk-room-floor-3d{
    width:3600px !important;
    height:calc(var(--edk-room-depth) + 500px) !important;
    margin:calc((var(--edk-room-depth) + 500px)/-2) 0 0 -1800px !important;
    transform:translate3d(0,365px,calc(var(--edk-room-half-depth) * -1)) rotateX(90deg) !important;
    background:
        linear-gradient(to right, rgba(0,0,0,.06), transparent 12%, transparent 88%, rgba(0,0,0,.06)),
        repeating-linear-gradient(90deg, rgba(255,255,255,.12) 0 2px, transparent 2px 128px),
        repeating-linear-gradient(0deg, rgba(255,255,255,.04) 0 2px, transparent 2px 128px),
        linear-gradient(180deg,#d9d0c1 0%,#ccbfae 100%) !important;
    box-shadow: inset 0 0 120px rgba(0,0,0,.07) !important;
}
.edk-room-ceiling-3d{
    width:3600px !important;
    height:calc(var(--edk-room-depth) + 500px) !important;
    margin:calc((var(--edk-room-depth) + 500px)/-2) 0 0 -1800px !important;
    transform:translate3d(0,-365px,calc(var(--edk-room-half-depth) * -1)) rotateX(-90deg) !important;
    background:
      linear-gradient(180deg,#20262b 0%,#11161b 100%) !important;
    box-shadow: inset 0 0 160px rgba(0,0,0,.34) !important;
}
.edk-room-ceiling-3d::before{
    content:''; position:absolute; inset:0;
    background:
      linear-gradient(90deg, transparent 0 16%, rgba(255,255,255,.035) 16% 17%, transparent 17% 49%, rgba(255,255,255,.03) 49% 51%, transparent 51% 83%, rgba(255,255,255,.035) 83% 84%, transparent 84%),
      radial-gradient(circle at 18% 46%, rgba(255,244,220,.20), transparent 8%),
      radial-gradient(circle at 50% 44%, rgba(255,244,220,.16), transparent 10%),
      radial-gradient(circle at 82% 46%, rgba(255,244,220,.20), transparent 8%);
    opacity:1;
}
.edk-room-wall-left-3d,
.edk-room-wall-right-3d,
.edk-room-wall-back-3d{
    height:820px !important;
    background:linear-gradient(180deg,#fbfbfa 0%,#f1f2f2 100%) !important;
    border:1px solid rgba(0,0,0,.045) !important;
    box-shadow: inset 0 0 80px rgba(0,0,0,.025) !important;
}
.edk-room-wall-left-3d,
.edk-room-wall-right-3d{
    width:calc(var(--edk-room-depth) + 520px) !important;
    margin:-410px 0 0 calc((var(--edk-room-depth) + 520px)/-2) !important;
}
.edk-room-wall-left-3d{transform:translate3d(-1500px,0,calc(var(--edk-room-half-depth) * -1)) rotateY(90deg) !important;}
.edk-room-wall-right-3d{transform:translate3d(1500px,0,calc(var(--edk-room-half-depth) * -1)) rotateY(-90deg) !important;}
.edk-room-wall-back-3d{
    width:3000px !important;
    margin:-410px 0 0 -1500px !important;
    transform:translate3d(0,0,calc(var(--edk-room-depth) * -1)) !important;
}
.edk-room-wall-left-3d::before,
.edk-room-wall-right-3d::before,
.edk-room-wall-back-3d::before{
    height:20px !important;
    background:linear-gradient(180deg,#c4ccd2,#a9b2ba) !important;
}
.edk-room-column{
    position:absolute; top:50%; width:76px; height:820px; margin:-410px 0 0 -38px;
    transform-style:preserve-3d; z-index:8; pointer-events:none;
    background:linear-gradient(90deg,#edf1f4 0%,#d7dde2 24%,#fafbfd 52%,#d6dbe0 78%,#eef2f5 100%);
    border:1px solid rgba(0,0,0,.08); box-shadow:0 12px 30px rgba(0,0,0,.08), inset 0 0 24px rgba(255,255,255,.65);
}
.edk-room-column::before{
    content:''; position:absolute; inset:18px 14px;
    background:repeating-linear-gradient(180deg, rgba(255,255,255,.56) 0 18px, rgba(204,213,220,.62) 18px 36px);
    opacity:.42;
}
.edk-room-column::after{
    content:''; position:absolute; left:-14px; right:-14px; top:-10px; height:16px;
    background:linear-gradient(180deg,#cdd5db,#b4bdc5); box-shadow:0 4px 10px rgba(0,0,0,.12);
}
.edk-room-column-front-left{transform:translate3d(-1460px,0,-220px) !important;}
.edk-room-column-front-right{transform:translate3d(1460px,0,-220px) !important;}
.edk-room-column-back-left{transform:translate3d(-1460px,0,calc(var(--edk-room-depth) * -1 + 220px)) !important;}
.edk-room-column-back-right{transform:translate3d(1460px,0,calc(var(--edk-room-depth) * -1 + 220px)) !important;}
.edk-room-frame-item{
    width:260px !important; height:260px !important; margin:0 !important;
}
.edk-room-frame-item.is-portrait{width:220px !important; height:300px !important;}
.edk-room-frame-item.is-landscape{width:320px !important; height:214px !important;}
.edk-room-frame-item.is-square{width:260px !important; height:260px !important;}
.edk-room-wall-surface-left .edk-room-frame-item,
.edk-room-wall-surface-right .edk-room-frame-item,
.edk-room-wall-surface-back .edk-room-frame-item{
    transform:translate(-50%,-50%) translateZ(6px) !important;
}
.edk-room-frame-mounted .edk-room-frame-art{
    padding:10px !important;
    box-shadow:0 16px 34px rgba(0,0,0,.12),0 2px 6px rgba(0,0,0,.06) !important;
}
.edk-room-frame-mounted .edk-room-frame-art::before{inset:10px !important; border:12px solid #fff !important;}
.edk-room-frame-mounted .edk-room-frame-light{
    top:-86px !important; width:180px !important; height:120px !important; opacity:.72 !important;
    background:radial-gradient(ellipse at top, rgba(255,245,225,.32), rgba(255,255,255,0) 72%) !important;
}
.edk-room-controls{right:18px !important; bottom:18px !important; z-index:42 !important;}
.edk-room-nav-btn{background:rgba(17,24,31,.58) !important; border-color:rgba(255,255,255,.16) !important;}
.edk-room-nav-btn:hover{background:rgba(17,24,31,.78) !important;}
@media (max-width: 1024px){
  .edk-room-floor-3d,.edk-room-ceiling-3d{width:2600px !important; margin-left:-1300px !important;}
  .edk-room-wall-back-3d{width:2200px !important; margin-left:-1100px !important;}
  .edk-room-wall-left-3d,.edk-room-wall-right-3d{width:calc(var(--edk-room-depth) + 260px) !important; margin-left:calc((var(--edk-room-depth) + 260px)/-2) !important;}
  .edk-room-wall-left-3d{transform:translate3d(-1040px,0,calc(var(--edk-room-half-depth) * -1)) rotateY(90deg) !important;}
  .edk-room-wall-right-3d{transform:translate3d(1040px,0,calc(var(--edk-room-half-depth) * -1)) rotateY(-90deg) !important;}
  .edk-room-column-front-left{transform:translate3d(-1000px,0,-220px) !important;}
  .edk-room-column-front-right{transform:translate3d(1000px,0,-220px) !important;}
  .edk-room-column-back-left{transform:translate3d(-1000px,0,calc(var(--edk-room-depth) * -1 + 220px)) !important;}
  .edk-room-column-back-right{transform:translate3d(1000px,0,calc(var(--edk-room-depth) * -1 + 220px)) !important;}
}
@media (max-width: 768px){
  .edk-room-close{top:12px !important; left:12px !important;}
  .edk-room-floor-3d,.edk-room-ceiling-3d{width:1900px !important; margin-left:-950px !important;}
  .edk-room-wall-back-3d{width:1600px !important; margin-left:-800px !important;}
  .edk-room-wall-left-3d,.edk-room-wall-right-3d{width:calc(var(--edk-room-depth) + 140px) !important; margin-left:calc((var(--edk-room-depth) + 140px)/-2) !important;}
  .edk-room-wall-left-3d{transform:translate3d(-760px,0,calc(var(--edk-room-half-depth) * -1)) rotateY(90deg) !important;}
  .edk-room-wall-right-3d{transform:translate3d(760px,0,calc(var(--edk-room-half-depth) * -1)) rotateY(-90deg) !important;}
  .edk-room-column{display:none !important;}
  .edk-room-frame-item{width:180px !important; height:180px !important;}
  .edk-room-frame-item.is-portrait{width:150px !important; height:208px !important;}
  .edk-room-frame-item.is-landscape{width:220px !important; height:150px !important;}
}


/* ===== v1.6.6 REALER GALLERY ENHANCEMENT ===== */
.edk-room-shell.edk-room-shell-3d{
    width:calc(100vw - 2px) !important;
    max-width:none !important;
    height:100dvh !important;
}
.edk-room-close{
    top:16px !important;
    left:16px !important;
    border-radius:999px !important;
    padding:10px 16px !important;
}
.edk-room-viewport{
    background:
      linear-gradient(180deg,#eef2f5 0%,#e6ebef 100%) !important;
}
.edk-room-viewport::before{
    background:
      linear-gradient(180deg,rgba(255,255,255,.05),transparent 20%,transparent 82%,rgba(0,0,0,.05)),
      radial-gradient(circle at 18% 8%, rgba(255,245,225,.34), transparent 14%),
      radial-gradient(circle at 50% 7%, rgba(214,232,255,.20), transparent 18%),
      radial-gradient(circle at 82% 8%, rgba(255,236,220,.30), transparent 14%) !important;
}
.edk-room-camera-rig{top:58% !important;}
.edk-room-world{transition:transform .7s cubic-bezier(.22,1,.36,1) !important;}
.edk-room-floor-3d{
    width:4200px !important;
    height:calc(var(--edk-room-depth) + 680px) !important;
    margin:calc((var(--edk-room-depth) + 680px)/-2) 0 0 -2100px !important;
    transform:translate3d(0,380px,calc(var(--edk-room-half-depth) * -1)) rotateX(90deg) !important;
    background:
      linear-gradient(to right, rgba(0,0,0,.05), transparent 10%, transparent 90%, rgba(0,0,0,.05)),
      repeating-linear-gradient(90deg, rgba(255,255,255,.10) 0 2px, transparent 2px 138px),
      repeating-linear-gradient(0deg, rgba(255,255,255,.03) 0 2px, transparent 2px 138px),
      linear-gradient(180deg,#ddd2c2 0%,#cdbfae 100%) !important;
}
.edk-room-ceiling-3d{
    width:4200px !important;
    height:calc(var(--edk-room-depth) + 680px) !important;
    margin:calc((var(--edk-room-depth) + 680px)/-2) 0 0 -2100px !important;
    transform:translate3d(0,-380px,calc(var(--edk-room-half-depth) * -1)) rotateX(-90deg) !important;
    background:
      radial-gradient(circle at 20% 42%, rgba(145,191,214,.12), transparent 12%),
      radial-gradient(circle at 50% 40%, rgba(241,190,144,.10), transparent 14%),
      radial-gradient(circle at 80% 42%, rgba(118,153,185,.12), transparent 12%),
      linear-gradient(180deg,#20262b 0%,#10161c 100%) !important;
}
.edk-room-wall-left-3d,
.edk-room-wall-right-3d,
.edk-room-wall-back-3d{
    height:860px !important;
    background:
      linear-gradient(180deg, rgba(227,238,244,.88) 0 44px, rgba(248,249,250,.96) 44px, #f2f3f3 100%) !important;
    box-shadow: inset 0 0 90px rgba(0,0,0,.02) !important;
}
.edk-room-wall-left-3d,
.edk-room-wall-right-3d{
    width:calc(var(--edk-room-depth) + 700px) !important;
    margin:-430px 0 0 calc((var(--edk-room-depth) + 700px)/-2) !important;
}
.edk-room-wall-left-3d{transform:translate3d(-1650px,0,calc(var(--edk-room-half-depth) * -1)) rotateY(90deg) !important;}
.edk-room-wall-right-3d{transform:translate3d(1650px,0,calc(var(--edk-room-half-depth) * -1)) rotateY(-90deg) !important;}
.edk-room-wall-back-3d{
    width:3400px !important;
    margin:-430px 0 0 -1700px !important;
}
.edk-room-wall-left-3d::before,
.edk-room-wall-right-3d::before,
.edk-room-wall-back-3d::before{
    content:'' !important;
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    top:0 !important;
    height:56px !important;
    background:
      linear-gradient(90deg, rgba(120,154,178,.70), rgba(225,188,140,.55), rgba(156,198,204,.65)) !important;
    opacity:.9 !important;
    box-shadow:0 6px 18px rgba(74,93,113,.12) !important;
}
.edk-room-wall-back-3d::after,
.edk-room-wall-left-3d::after,
.edk-room-wall-right-3d::after{
    background:
        radial-gradient(circle at 16% 12%, rgba(255,250,240,.72), transparent 12%),
        radial-gradient(circle at 50% 10%, rgba(255,248,232,.52), transparent 16%),
        radial-gradient(circle at 84% 12%, rgba(255,250,240,.72), transparent 12%) !important;
}
.edk-room-column{
    width:84px !important;
    height:860px !important;
    margin:-430px 0 0 -42px !important;
    background:linear-gradient(90deg,#f5f7f9 0%,#dbe3e9 22%,#ffffff 50%,#d7dee4 78%,#eef3f6 100%) !important;
    box-shadow:0 18px 36px rgba(0,0,0,.08), inset 0 0 28px rgba(255,255,255,.72) !important;
}
.edk-room-column::after{
    height:18px !important;
    background:linear-gradient(180deg,#d3dce3,#b7c1ca) !important;
}
.edk-room-column-front-left{transform:translate3d(-1600px,0,-240px) !important;}
.edk-room-column-front-right{transform:translate3d(1600px,0,-240px) !important;}
.edk-room-column-back-left{transform:translate3d(-1600px,0,calc(var(--edk-room-depth) * -1 + 240px)) !important;}
.edk-room-column-back-right{transform:translate3d(1600px,0,calc(var(--edk-room-depth) * -1 + 240px)) !important;}

.edk-room-frame-item{
    width:360px !important;
    height:252px !important;
    transform:translate(-50%,-50%) translateZ(8px) !important;
}
.edk-room-frame-item.is-portrait{width:280px !important; height:392px !important;}
.edk-room-frame-item.is-landscape{width:420px !important; height:272px !important;}
.edk-room-frame-item.is-square{width:320px !important; height:320px !important;}
.edk-room-shell.edk-room-shell-3d[data-density="medium"] .edk-room-frame-item{width:300px !important; height:220px !important;}
.edk-room-shell.edk-room-shell-3d[data-density="medium"] .edk-room-frame-item.is-portrait{width:240px !important; height:336px !important;}
.edk-room-shell.edk-room-shell-3d[data-density="medium"] .edk-room-frame-item.is-landscape{width:360px !important; height:230px !important;}
.edk-room-shell.edk-room-shell-3d[data-density="medium"] .edk-room-frame-item.is-square{width:280px !important; height:280px !important;}
.edk-room-shell.edk-room-shell-3d[data-density="dense"] .edk-room-frame-item{width:250px !important; height:182px !important;}
.edk-room-shell.edk-room-shell-3d[data-density="dense"] .edk-room-frame-item.is-portrait{width:190px !important; height:276px !important;}
.edk-room-shell.edk-room-shell-3d[data-density="dense"] .edk-room-frame-item.is-landscape{width:298px !important; height:192px !important;}
.edk-room-shell.edk-room-shell-3d[data-density="dense"] .edk-room-frame-item.is-square{width:220px !important; height:220px !important;}

.edk-room-frame-mounted .edk-room-frame-art{
    padding:12px !important;
    border-radius:4px !important;
    box-shadow:0 24px 44px rgba(0,0,0,.16),0 5px 14px rgba(0,0,0,.10) !important;
}
.edk-room-frame-mounted .edk-room-frame-art::before{
    inset:12px !important;
    border:16px solid #fff !important;
}
.edk-room-shell.edk-room-shell-3d[data-density="dense"] .edk-room-frame-mounted .edk-room-frame-art::before{
    border-width:11px !important;
}
.edk-room-frame-mounted .edk-room-frame-light{
    top:-120px !important;
    width:240px !important;
    height:160px !important;
    opacity:.8 !important;
    background:radial-gradient(ellipse at top, rgba(255,247,232,.42), rgba(255,255,255,0) 72%) !important;
}
.edk-room-shell.edk-room-shell-3d[data-density="dense"] .edk-room-frame-mounted .edk-room-frame-light{
    top:-92px !important;
    width:180px !important;
    height:110px !important;
}
.edk-room-controls{
    right:20px !important;
    bottom:20px !important;
    gap:8px !important;
}
.edk-room-nav-btn{
    width:54px !important;
    height:54px !important;
    border-radius:18px !important;
}
@media (max-width: 1024px){
  .edk-room-floor-3d,.edk-room-ceiling-3d{width:3000px !important; margin-left:-1500px !important;}
  .edk-room-wall-back-3d{width:2400px !important; margin-left:-1200px !important;}
  .edk-room-wall-left-3d,.edk-room-wall-right-3d{width:calc(var(--edk-room-depth) + 300px) !important; margin-left:calc((var(--edk-room-depth) + 300px)/-2) !important;}
  .edk-room-wall-left-3d{transform:translate3d(-1150px,0,calc(var(--edk-room-half-depth) * -1)) rotateY(90deg) !important;}
  .edk-room-wall-right-3d{transform:translate3d(1150px,0,calc(var(--edk-room-half-depth) * -1)) rotateY(-90deg) !important;}
  .edk-room-column-front-left{transform:translate3d(-1110px,0,-220px) !important;}
  .edk-room-column-front-right{transform:translate3d(1110px,0,-220px) !important;}
  .edk-room-column-back-left{transform:translate3d(-1110px,0,calc(var(--edk-room-depth) * -1 + 220px)) !important;}
  .edk-room-column-back-right{transform:translate3d(1110px,0,calc(var(--edk-room-depth) * -1 + 220px)) !important;}
}
@media (max-width: 768px){
  .edk-room-close{top:12px !important; left:12px !important;}
  .edk-room-column{display:none !important;}
  .edk-room-frame-item{width:190px !important; height:150px !important;}
  .edk-room-frame-item.is-portrait{width:150px !important; height:220px !important;}
  .edk-room-frame-item.is-landscape{width:230px !important; height:154px !important;}
  .edk-room-frame-item.is-square{width:180px !important; height:180px !important;}
}

/* ===== v1.7.0 TRUE 3D GALLERY ROOM ===== */
.edk-room-overlay{
    position:fixed !important;
    inset:0 !important;
    z-index:26000 !important;
    display:none;
    align-items:stretch;
    justify-content:stretch;
    padding:0 !important;
    background:linear-gradient(180deg, rgba(5,8,12,.84), rgba(5,8,12,.92)) !important;
    backdrop-filter: blur(12px);
    opacity:0;
    transition:opacity .28s ease;
}
.edk-room-overlay.active{display:flex !important; opacity:1 !important;}
.edk-room-shell.edk-room-shell-3d{
    position:relative !important;
    width:100vw !important;
    height:100dvh !important;
    max-width:none !important;
    max-height:none !important;
    padding:22px 22px 92px !important;
    border-radius:0 !important;
    border:0 !important;
    background:
        radial-gradient(circle at top center, rgba(92,184,211,.10), transparent 28%),
        linear-gradient(180deg, #091018 0%, #070b12 100%) !important;
    box-shadow:none !important;
    overflow:hidden;
}
.edk-room-topbar{
    position:absolute !important;
    top:18px;
    left:18px;
    right:18px;
    z-index:40;
    display:grid !important;
    grid-template-columns:auto 1fr auto;
    align-items:start;
    gap:16px;
    pointer-events:none;
}
.edk-room-topbar .edk-room-close,
.edk-room-topbar .edk-room-center-badge{pointer-events:auto;}
.edk-room-close{
    display:inline-flex !important;
    align-items:center;
    gap:8px;
    padding:12px 16px !important;
    border-radius:999px !important;
    border:1px solid rgba(255,255,255,.14) !important;
    background:rgba(7,13,20,.58) !important;
    color:#f4f7fa !important;
    box-shadow:0 12px 28px rgba(0,0,0,.22);
    backdrop-filter: blur(14px);
}
.edk-room-close:hover{border-color:rgba(127,196,216,.55) !important; color:#fff !important;}
.edk-room-headings{
    justify-self:center;
    min-width:0;
    text-align:center;
}
.edk-room-topbar .edk-room-kicker{
    margin:0 0 4px;
    color:#7fc4d8 !important;
    letter-spacing:.18em;
    text-transform:uppercase;
    font-size:.75rem;
    font-weight:700;
}
.edk-room-topbar .edk-room-title{
    margin:0;
    color:#fff !important;
    font-family:'Playfair Display', serif;
    font-size:clamp(1.45rem,2vw,2.3rem);
    letter-spacing:.02em;
}
.edk-room-topbar .edk-room-subtitle{
    margin:8px auto 0;
    max-width:min(920px, 70vw);
    color:rgba(235,240,245,.78) !important;
    font-size:.95rem;
}
.edk-room-topbar .edk-room-center-badge{
    justify-self:end;
    padding:12px 14px !important;
    border-radius:18px !important;
    border:1px solid rgba(255,255,255,.12) !important;
    background:rgba(7,13,20,.48) !important;
    color:#d9e8ee !important;
    font-size:.8rem;
    line-height:1.35;
    text-align:right;
    max-width:280px;
    box-shadow:0 12px 28px rgba(0,0,0,.18);
    backdrop-filter: blur(14px);
}
.edk-room-viewport{
    position:relative !important;
    width:100% !important;
    height:100% !important;
    min-height:0 !important;
    margin:0 !important;
    border-radius:26px !important;
    border:1px solid rgba(255,255,255,.08) !important;
    overflow:hidden !important;
    background:linear-gradient(180deg,#dfe5ea 0%, #ece9e2 100%) !important;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.04), 0 20px 60px rgba(0,0,0,.22);
}
.edk-room-canvas,
.edk-room-canvas canvas{
    width:100% !important;
    height:100% !important;
    display:block;
}
.edk-room-viewport::before,
.edk-room-viewport::after,
.edk-room-camera-rig,
.edk-room-world,
.edk-room-frames,
.edk-room-floor-3d,
.edk-room-ceiling-3d,
.edk-room-wall-3d,
.edk-room-column{display:none !important;}
.edk-room-crosshair{
    position:absolute;
    inset:50% auto auto 50%;
    transform:translate(-50%,-50%);
    width:12px;
    height:12px;
    border-radius:50%;
    border:1px solid rgba(255,255,255,.42);
    box-shadow:0 0 0 4px rgba(255,255,255,.06);
    pointer-events:none;
    opacity:.58;
}
.edk-room-controls{
    position:absolute !important;
    right:22px !important;
    bottom:22px !important;
    z-index:45 !important;
    display:grid !important;
    grid-template-columns:52px 52px 52px;
    grid-template-rows:52px 52px;
    gap:8px !important;
}
.edk-room-nav-btn{
    width:52px;
    height:52px;
    border-radius:16px !important;
    border:1px solid rgba(255,255,255,.14) !important;
    background:rgba(7,13,20,.54) !important;
    color:#f5f8fb !important;
    box-shadow:0 10px 26px rgba(0,0,0,.22);
    backdrop-filter: blur(12px);
}
.edk-room-btn-up{grid-column:2; grid-row:1;}
.edk-room-btn-down{grid-column:2; grid-row:2;}
.edk-room-btn-left{grid-column:1; grid-row:2;}
.edk-room-btn-right{grid-column:3; grid-row:2;}
.edk-room-nav-btn:hover{
    border-color:rgba(127,196,216,.58) !important;
    color:#fff !important;
    transform:translateY(-1px);
}
@media (max-width: 900px){
    .edk-room-shell.edk-room-shell-3d{padding:14px 14px 84px !important;}
    .edk-room-topbar{grid-template-columns:1fr; gap:10px; left:12px; right:12px; top:12px;}
    .edk-room-headings{justify-self:start; text-align:left;}
    .edk-room-topbar .edk-room-subtitle{max-width:none;}
    .edk-room-topbar .edk-room-center-badge{justify-self:start; text-align:left; max-width:none;}
    .edk-room-viewport{border-radius:20px !important;}
    .edk-room-controls{right:14px !important; bottom:14px !important; transform:scale(.92); transform-origin:bottom right;}
}

/* v1.7.1 Enhanced true 3D gallery */
.edk-room-shell.edk-room-shell-3d {
    background:
        radial-gradient(circle at top left, rgba(113, 214, 223, .18), transparent 22%),
        radial-gradient(circle at top right, rgba(153, 190, 255, .16), transparent 24%),
        linear-gradient(180deg, rgba(255,255,255,.96), rgba(247,249,250,.96));
    border: 1px solid rgba(123, 175, 182, .22);
    box-shadow: 0 28px 90px rgba(0,0,0,.24);
}
.edk-room-topbar {
    background: linear-gradient(180deg, rgba(255,255,255,.88), rgba(248,250,251,.74));
    border: 1px solid rgba(127, 180, 187, .22);
    box-shadow: 0 12px 35px rgba(9, 30, 41, .08);
}
.edk-room-topbar .edk-room-kicker {
    color: #52757c;
    letter-spacing: .14em;
}
.edk-room-topbar .edk-room-center-badge,
.edk-room-close,
.edk-room-nav-btn {
    background: linear-gradient(180deg, rgba(117, 208, 217, .16), rgba(117, 208, 217, .08));
    border-color: rgba(97, 168, 176, .28);
    color: #264149;
}
.edk-room-close:hover,
.edk-room-nav-btn:hover {
    background: linear-gradient(180deg, rgba(117, 208, 217, .24), rgba(117, 208, 217, .14));
    color: #11262d;
}
.edk-room-viewport {
    background:
        radial-gradient(circle at 50% 8%, rgba(126, 213, 220, .24), transparent 28%),
        linear-gradient(180deg, #eef4f5 0%, #f4f3ef 100%);
}
.edk-room-viewport::before {
    background: linear-gradient(180deg, rgba(255,255,255,.18), transparent 42%);
}
.edk-room-viewport::after {
    background: linear-gradient(180deg, rgba(122, 215, 223, .14), transparent 34%);
}


/* v1.7.2 premium true 3D polish */
.edk-room-shell.edk-room-shell-3d {
    background:
        radial-gradient(circle at 14% 0%, rgba(112, 198, 199, .18), transparent 24%),
        radial-gradient(circle at 86% 0%, rgba(237, 195, 153, .16), transparent 22%),
        linear-gradient(180deg, rgba(255,255,255,.98), rgba(246,248,249,.96));
    border: 1px solid rgba(130, 183, 188, .20);
    box-shadow: 0 32px 100px rgba(6, 22, 31, .20);
}
.edk-room-topbar {
    background: linear-gradient(180deg, rgba(255,255,255,.9), rgba(248,250,251,.8));
    border: 1px solid rgba(132, 186, 191, .18);
    box-shadow: 0 12px 34px rgba(9, 30, 41, .08);
}
.edk-room-topbar .edk-room-kicker {
    color: #617f84;
}
.edk-room-topbar .edk-room-center-badge,
.edk-room-close,
.edk-room-nav-btn {
    background: linear-gradient(180deg, rgba(255,255,255,.86), rgba(242,248,249,.68));
    color: #213a40;
    border-color: rgba(122, 176, 181, .22) !important;
}
.edk-room-viewport {
    background:
        radial-gradient(circle at 50% 0%, rgba(122, 202, 204, .20), transparent 24%),
        radial-gradient(circle at 50% 100%, rgba(230, 193, 158, .09), transparent 20%),
        linear-gradient(180deg, #edf2f4 0%, #f4f2ec 100%);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.06), 0 22px 60px rgba(0,0,0,.18);
}
.edk-room-viewport::before {
    background: linear-gradient(180deg, rgba(255,255,255,.14), transparent 32%);
}
.edk-room-viewport::after {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at 50% 18%, rgba(255,255,255,.16), transparent 26%),
        radial-gradient(circle at 50% 50%, transparent 56%, rgba(9, 26, 35, .08) 100%);
    mix-blend-mode: normal;
}
.edk-room-crosshair {
    opacity: .4;
    box-shadow: 0 0 0 6px rgba(255,255,255,.04);
}


/* v1.7.5 premium realism pass */
.edk-room-shell.edk-room-shell-3d{background:linear-gradient(180deg,rgba(242,246,247,.96) 0%,rgba(251,249,244,.98) 46%,rgba(236,228,214,.98) 100%);}
.edk-room-topbar{background:linear-gradient(90deg,rgba(83,206,220,.18),rgba(255,255,255,.86) 18%,rgba(255,243,229,.88) 82%,rgba(250,201,158,.18));border-bottom:1px solid rgba(82,164,176,.18);box-shadow:0 16px 42px rgba(25,35,43,.08);}
.edk-room-topbar .edk-room-kicker{color:#4fa8b1;letter-spacing:.3em;}
.edk-room-topbar .edk-room-title{color:#121a22;text-shadow:0 1px 0 rgba(255,255,255,.7);}
.edk-room-topbar .edk-room-subtitle{color:rgba(18,26,34,.72);}
.edk-room-topbar .edk-room-center-badge,.edk-room-close,.edk-room-nav-btn{background:rgba(255,255,255,.74);border-color:rgba(83,166,178,.22);box-shadow:0 10px 26px rgba(27,43,54,.08);}
.edk-room-close:hover,.edk-room-nav-btn:hover{background:rgba(255,255,255,.96);box-shadow:0 14px 34px rgba(27,43,54,.12);}
.edk-room-viewport{box-shadow:inset 0 1px 0 rgba(255,255,255,.75),0 28px 60px rgba(24,30,36,.14);}


/* v1.7.8 final viewport and full-width fixes */
.edk-room-overlay{padding:0 !important;background:rgba(7,12,18,.90) !important;}
.edk-room-shell.edk-room-shell-3d{width:100vw !important;height:100dvh !important;max-width:none !important;max-height:none !important;padding:0 !important;border-radius:0 !important;border:0 !important;overflow:hidden !important;background:linear-gradient(180deg,#eef4f5 0%,#f5f3ed 56%,#ebe1d1 100%) !important;box-shadow:none !important;}
.edk-room-topbar{position:absolute !important;top:18px !important;left:18px !important;right:18px !important;z-index:60 !important;padding:0 !important;background:transparent !important;border:0 !important;box-shadow:none !important;}
.edk-room-headings{background:rgba(255,255,255,.78);backdrop-filter:blur(10px);padding:12px 18px;border-radius:20px;box-shadow:0 12px 28px rgba(22,33,42,.10);}
.edk-room-topbar .edk-room-title{color:#18222b !important;}
.edk-room-topbar .edk-room-subtitle{color:rgba(24,34,43,.72) !important;}
.edk-room-topbar .edk-room-center-badge,.edk-room-close,.edk-room-nav-btn{background:rgba(255,255,255,.84) !important;border:1px solid rgba(92,140,150,.18) !important;color:#22343d !important;box-shadow:0 10px 24px rgba(18,29,37,.12) !important;}
.edk-room-viewport{position:absolute !important;inset:0 !important;width:100% !important;height:100% !important;border-radius:0 !important;border:0 !important;background:linear-gradient(180deg,#eff4f6 0%,#f5f3ec 58%,#e7dece 100%) !important;box-shadow:none !important;}
.edk-room-canvas,.edk-room-canvas canvas{position:absolute !important;inset:0 !important;width:100% !important;height:100% !important;}
.edk-room-controls{right:22px !important;bottom:22px !important;z-index:70 !important;}
@media (max-width:900px){.edk-room-topbar{top:12px !important;left:12px !important;right:12px !important;}.edk-room-headings{padding:10px 14px;border-radius:16px;}.edk-room-shell.edk-room-shell-3d{width:100vw !important;height:100dvh !important;}}


/* --- v1.7.9 Hall-style room polish --- */
.edk-door-frame {
    background:
        linear-gradient(180deg, rgba(212,175,55,.20), rgba(0,0,0,0) 18%),
        linear-gradient(180deg, #16110c, #090705);
    border-color: rgba(212,175,55,.58);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.04), 0 16px 34px rgba(0,0,0,.34);
}
.edk-room-interior {
    background:
        radial-gradient(circle at 50% 18%, rgba(255,245,215,.18), rgba(255,245,215,0) 28%),
        linear-gradient(180deg, #16110c 0%, #0c0906 100%);
    perspective: 700px;
}
.edk-room-interior .edk-room-image { display:none !important; }
.edk-room-preview,
.edk-room-preview-floor,
.edk-room-preview-frame { position:absolute; pointer-events:none; }
.edk-room-preview-back {
    left: 24%; right: 24%; top: 16%; bottom: 26%;
    background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02)), linear-gradient(180deg, #f6f0e5, #e4d9c4);
    border-top: 4px solid rgba(212,175,55,.75);
    box-shadow: inset 0 0 0 1px rgba(0,0,0,.06), inset 0 0 0 2px rgba(255,255,255,.08);
    transform: translateZ(-20px);
}
.edk-room-preview-left,
.edk-room-preview-right {
    top: 18%; bottom: 26%; width: 30%;
    background: linear-gradient(180deg, #f7f1e6, #e6dcc8);
    border-top: 4px solid rgba(212,175,55,.65);
    box-shadow: inset 0 0 0 1px rgba(0,0,0,.05);
}
.edk-room-preview-left {
    left: -2%; transform-origin:right center; transform: skewY(10deg) rotateY(34deg);
}
.edk-room-preview-right {
    right: -2%; transform-origin:left center; transform: skewY(-10deg) rotateY(-34deg);
}
.edk-room-preview-floor {
    left: 8%; right: 8%; bottom: -4%; height: 38%;
    background:
        linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,0) 16%),
        repeating-linear-gradient(90deg, rgba(255,255,255,.05) 0 1px, transparent 1px 46px),
        linear-gradient(180deg, #9b7756, #6c4f36);
    transform: rotateX(78deg);
    transform-origin:center top;
    box-shadow: inset 0 22px 30px rgba(255,255,255,.08);
}
.edk-room-preview-frame {
    width: 18%; height: 22%;
    background: linear-gradient(180deg, #ffffff, #ece6da);
    box-shadow: 0 4px 12px rgba(0,0,0,.18), inset 0 0 0 1px rgba(0,0,0,.06);
}
.edk-room-preview-frame::before {
    content:""; position:absolute; inset:10% 10% 12%;
    background: radial-gradient(circle at 50% 20%, rgba(255,255,255,.16), rgba(255,255,255,0) 40%), linear-gradient(180deg, #2c221a, #0d0a08);
}
.edk-room-preview-frame-center { left: 41%; top: 30%; }
.edk-room-preview-frame-left { left: 14%; top: 34%; width: 14%; height: 20%; transform: skewY(8deg) rotateY(24deg); }
.edk-room-preview-frame-right { right: 14%; top: 34%; width: 14%; height: 20%; transform: skewY(-8deg) rotateY(-24deg); }

.edk-room-shell.edk-room-shell-3d {
    background: linear-gradient(180deg, rgba(6,6,6,.94), rgba(18,13,9,.96));
    border: 1px solid rgba(212,175,55,.22);
    box-shadow: 0 24px 80px rgba(0,0,0,.52), inset 0 0 0 1px rgba(255,255,255,.04);
}
.edk-room-topbar {
    background: linear-gradient(90deg, rgba(15,15,15,.86), rgba(32,20,10,.68));
    border: 1px solid rgba(212,175,55,.24);
    border-radius: 18px;
    backdrop-filter: blur(8px);
}
.edk-room-topbar .edk-room-close {
    background: linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.04)), rgba(0,0,0,.42);
    color: #f6e6b0;
    border-color: rgba(212,175,55,.34);
}
.edk-room-topbar .edk-room-title { color: #f8f2e7 !important; font-family: 'Playfair Display', serif; letter-spacing: .04em; }
.edk-room-topbar .edk-room-subtitle,
.edk-room-topbar .edk-room-center-badge,
.edk-room-topbar .edk-room-kicker { color: rgba(246,235,210,.82) !important; }
.edk-room-viewport {
    background: linear-gradient(180deg, #090806, #15100b 58%, #0c0907);
    border: 1px solid rgba(212,175,55,.16);
}
.edk-room-controls .edk-room-nav-btn,
.edk-d-pad .edk-nav-btn {
    border-color: rgba(212,175,55,.35);
    color: #f4deb3;
}

/* v1.8.0 blur + scale + shorter room viewport fix */
.edk-room-overlay{
    padding: 6px !important;
    background: rgba(7,10,14,.92) !important;
}
.edk-room-shell.edk-room-shell-3d{
    width: calc(100vw - 12px) !important;
    height: calc(100dvh - 12px) !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 auto !important;
    border-radius: 18px !important;
    overflow: hidden !important;
}
.edk-room-topbar{
    top: 8px !important;
    left: 10px !important;
    right: auto !important;
    width: auto !important;
    max-width: calc(100vw - 20px) !important;
}
.edk-room-headings{
    padding: 10px 14px !important;
    border-radius: 16px !important;
    backdrop-filter: none !important;
}
.edk-room-topbar .edk-room-title{font-size: clamp(1.05rem,1.55vw,1.45rem) !important;}
.edk-room-topbar .edk-room-subtitle,
.edk-room-topbar .edk-room-center-badge,
.edk-room-topbar .edk-room-kicker{display:none !important;}
.edk-room-viewport{
    position: absolute !important;
    left: 8px !important;
    right: 8px !important;
    top: 52px !important;
    bottom: 8px !important;
    width: auto !important;
    height: auto !important;
    border-radius: 16px !important;
    overflow: hidden !important;
}
.edk-room-viewport::before,
.edk-room-viewport::after,
.edk-room-crosshair{
    display: none !important;
}
.edk-room-canvas,
.edk-room-canvas canvas{
    width: 100% !important;
    height: 100% !important;
    image-rendering: auto !important;
    filter: none !important;
    transform: none !important;
    backface-visibility: hidden !important;
}
.edk-room-controls{
    right: 14px !important;
    bottom: 14px !important;
    gap: 6px !important;
}
.edk-room-nav-btn{width:46px !important;height:46px !important;}
@media (max-width: 900px){
    .edk-room-shell.edk-room-shell-3d{width: calc(100vw - 8px) !important;height: calc(100dvh - 8px) !important;border-radius: 12px !important;}
    .edk-room-topbar{top: 6px !important;left: 6px !important;max-width: calc(100vw - 12px) !important;}
    .edk-room-headings{padding: 8px 12px !important;border-radius: 14px !important;}
    .edk-room-viewport{left: 4px !important;right: 4px !important;top: 46px !important;bottom: 4px !important;border-radius: 10px !important;}
    .edk-room-controls{right: 8px !important;bottom: 8px !important;}
    .edk-room-nav-btn{width:42px !important;height:42px !important;}
}


/* v1.8.1 hall portal + refined room styling */
.edk-room-overlay{background:rgba(4,6,9,.82) !important;}
.edk-room-shell.edk-room-shell-3d{width:calc(100vw - 10px) !important;height:calc(100dvh - 10px) !important;background:linear-gradient(180deg,rgba(7,8,10,.78),rgba(16,12,9,.82)) !important;border:1px solid rgba(212,175,55,.18) !important;box-shadow:0 18px 60px rgba(0,0,0,.34) !important;}
.edk-room-topbar{top:12px !important;left:12px !important;right:auto !important;background:transparent !important;border:0 !important;box-shadow:none !important;backdrop-filter:none !important;}
.edk-room-topbar .edk-room-close{background:rgba(255,255,255,.92) !important;color:#1f2a32 !important;border:1px solid rgba(40,54,64,.12) !important;box-shadow:0 10px 28px rgba(0,0,0,.16) !important;}
.edk-room-viewport{left:10px !important;right:10px !important;top:66px !important;bottom:10px !important;background:linear-gradient(180deg,#070707 0%,#14100c 100%) !important;border-radius:18px !important;border:1px solid rgba(212,175,55,.16) !important;box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 18px 40px rgba(0,0,0,.22) !important;}
.edk-room-canvas,.edk-room-canvas canvas{filter:none !important;image-rendering:auto !important;}
.edk-room-controls{right:18px !important;bottom:18px !important;}


.edk-room-tooltip {
    position: fixed;
    z-index: 30010;
    max-width: min(340px, calc(100vw - 32px));
    padding: 14px 16px;
    border-radius: 16px;
    border: 1px solid rgba(212,175,55,.28);
    background: linear-gradient(180deg, rgba(18,18,18,.96), rgba(10,10,10,.92));
    color: #f8f3ea;
    box-shadow: 0 18px 45px rgba(0,0,0,.34);
    backdrop-filter: blur(10px);
    opacity: 0;
    transform: translateY(6px);
    pointer-events: none;
    transition: opacity .18s ease, transform .18s ease;
}
.edk-room-tooltip.is-visible {
    opacity: 1;
    transform: translateY(0);
}
.edk-room-tooltip strong {
    display: block;
    margin-bottom: 6px;
    font-family: 'Playfair Display', serif;
    font-size: 1rem;
    color: #f5deb3;
}
.edk-room-tooltip span {
    display: block;
    font-size: .88rem;
    line-height: 1.5;
    color: rgba(248,243,234,.85);
}

/* === v1.9.0 premium hall-room continuity overrides === */
.edk-room-interior{
    background:
        linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,.03)),
        linear-gradient(180deg, #241f1a 0 7%, #d5b161 7.2% 8.4%, #f4eee3 8.4% 70%, #e5d7c3 70% 100%);
    perspective: 420px;
}
.edk-room-image{
    position:absolute;
    width:38%;
    height:32%;
    object-fit:cover;
    left:50%;
    top:38%;
    transform:translate(-50%,-50%) scale(1) !important;
    border:6px solid rgba(248,248,245,.95);
    box-shadow:0 0 0 2px rgba(212,175,55,.55),0 12px 20px rgba(0,0,0,.22);
    border-radius:2px;
    z-index:2;
}
.edk-door-wrapper.is-open .edk-room-image{transform:translate(-50%,-50%) scale(1.03) !important;}
.edk-room-preview-back,
.edk-room-preview-left,
.edk-room-preview-right{
    background:
      linear-gradient(180deg, rgba(33,30,26,.95) 0 10%, rgba(212,175,55,.95) 10.3% 11.5%, #f4eee3 11.5% 74%, #e2d5c5 74% 100%);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.12);
}
.edk-room-preview-back{border-left:1px solid rgba(255,255,255,.16);border-right:1px solid rgba(255,255,255,.16);}
.edk-room-preview-left,.edk-room-preview-right{opacity:.92;}
.edk-room-preview-floor{
    background:
      linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,0) 25%),
      repeating-linear-gradient(90deg, #7b5531 0 12%, #8b6540 12% 24%, #6b4626 24% 36%);
    opacity:.95;
}
.edk-room-preview-frame{
    border:5px solid rgba(249,248,245,.98);
    box-shadow:0 0 0 2px rgba(212,175,55,.45), 0 8px 16px rgba(0,0,0,.14);
    background:rgba(255,255,255,.18);
}
.edk-room-preview-frame-center{left:40%; top:29%; width:18%; height:24%;}
.edk-room-preview-frame-left{left:12%; top:32%; width:15%; height:21%;}
.edk-room-preview-frame-right{right:12%; top:32%; width:15%; height:21%;}

.edk-door-wrapper{width:182px;height:324px;margin:-162px 0 0 -91px;}
.edk-door-panel{inset:9px;}
.edk-door-frame{padding:9px;}
.edk-glass-panel{width:70%;height:83%;}

.edk-room-overlay{
    background: radial-gradient(circle at center, rgba(10,10,10,.28), rgba(6,8,10,.84)) !important;
}
.edk-room-shell{
    background: linear-gradient(180deg, rgba(14,14,14,.66), rgba(8,8,8,.48)) !important;
    border:1px solid rgba(212,175,55,.22) !important;
}
.edk-room-topbar{
    background:linear-gradient(180deg, rgba(20,19,17,.88), rgba(9,9,9,.70)) !important;
    border-bottom:1px solid rgba(212,175,55,.24) !important;
}
.edk-room-topbar .edk-room-title{color:#f8f2e7 !important;}
.edk-room-subtitle{color:rgba(255,255,255,.78) !important;}
.edk-room-close{
    background:linear-gradient(180deg, rgba(25,25,25,.92), rgba(10,10,10,.82)) !important;
    color:#f5e5b1 !important;
    border:1px solid rgba(212,175,55,.28) !important;
}
.edk-room-viewport{
    background:linear-gradient(180deg,#e8dfd2 0%, #eadfce 100%) !important;
}
.edk-room-viewport::before,
.edk-room-viewport::after,
.edk-room-canvas::before,
.edk-room-canvas::after{display:none !important;}
