/* Original viewer geometry, scoped and recolored for the Neo public shell. */
.aztour-published_floor * {box-sizing:border-box}
.aztour-published_floor #app {display:grid;grid-template-columns:320px 1fr;height:100%}
.aztour-published_floor .sidebar {padding:20px;border-right:1px solid var(--line);background:var(--surface);overflow:auto}
.aztour-published_floor .kicker {display:inline-block;background:var(--az-accent-soft);color:var(--accent);padding:8px 12px;border-radius:999px;font-size:12px;font-weight:700}
.aztour-published_floor h1 {font-size:24px;margin:14px 0 8px}
.aztour-published_floor .muted {color:var(--muted);font-size:14px;line-height:1.5}
.aztour-published_floor .section-title {margin-top:22px;margin-bottom:10px;font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:800}
.aztour-published_floor .list {display:grid;gap:10px;margin-top:10px}
.aztour-published_floor .item-link {text-decoration:none;color:inherit;display:block}
.aztour-published_floor .item {padding:12px;border-radius:14px;background:var(--surface);border:1px solid var(--line);cursor:pointer;transition:.15s ease}
.aztour-published_floor .item:hover {background:var(--surface)}
.aztour-published_floor .item.active {border-color:var(--line);box-shadow:var(--az-glass-shadow)}
.aztour-published_floor .item-title {font-weight:700;color:var(--text)}
.aztour-published_floor .item-subtitle {color:var(--muted);font-size:13px;margin-top:4px}
.aztour-published_floor #view {position:relative;overflow:hidden;background:var(--surface)}
.aztour-published_floor .toolbar {position:absolute;top:16px;right:16px;z-index:50;display:flex;gap:10px}
.aztour-published_floor .btn {background:var(--accent);border:none;color:var(--text);padding:12px 18px;border-radius:14px;font-weight:800;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center}
.aztour-published_floor .btn-soft {background:var(--surface);color:var(--text);border:1px solid var(--line)}
.aztour-published_floor .viewer-title {position:absolute;left:16px;top:16px;z-index:52;display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--surface);border:1px solid var(--line);border-radius:14px;color:var(--text);backdrop-filter:blur(8px)}
.aztour-published_floor .viewer-title .badge {padding:5px 9px;border-radius:999px;background:var(--az-accent-soft);color:var(--accent);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.aztour-published_floor .viewer-title strong {font-size:14px;font-weight:800}
.aztour-published_floor .floor-wrap {position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:82px 28px 70px}
.aztour-published_floor .floor-stage {position:relative;display:none;width:100%;max-width:1180px;height:calc(100vh - 160px);max-height:720px;border-radius:16px;box-shadow:var(--az-glass-shadow);user-select:none;overflow:hidden;background:var(--surface);border:1px solid var(--line)}
.aztour-published_floor .floor-stage.is-image {width:auto;height:auto;max-width:100%;max-height:100%;overflow:visible;background:transparent;border:0}
.aztour-published_floor #floorImage {display:block;max-width:100%;max-height:calc(100vh - 160px);width:auto;height:auto;border-radius:16px;border:1px solid var(--line);background:var(--surface)}
.aztour-published_floor #floorModel {width:100%;height:100%;min-height:520px;pointer-events:auto;background:var(--az-accent-soft)}
.aztour-published_floor #unitOverlay {position:absolute;inset:0;z-index:25;pointer-events:none}
.aztour-published_floor .unit-hotspot-link {position:absolute;display:block;z-index:30;cursor:pointer;text-decoration:none;color:inherit;pointer-events:auto;width:60px;height:60px}
.aztour-published_floor .unit-dot-container {position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);width:60px;height:60px;opacity:.8}
.aztour-published_floor .unit-dot-pulse {position:absolute;top:50%;left:50%;width:50px;height:50px;margin:-25px 0 0 -25px;border-radius:50%;background:var(--az-accent-soft);animation:pulse-ring 2s cubic-bezier(0.4, 0, 0.6, 1) infinite}
.aztour-published_floor .unit-dot-pulse:nth-child(2) {animation-delay:0.4s}
.aztour-published_floor .unit-dot-pulse:nth-child(3) {animation-delay:0.8s}
@keyframes pulse-ring{0% {transform:scale(0.6);opacity:1}
50% {opacity:0.6}
100% {transform:scale(1.4);opacity:0}

        }
.aztour-published_floor .unit-dot-core {position:absolute;top:50%;left:50%;width:16px;height:16px;margin:-8px 0 0 -8px;border-radius:50%;background:var(--accent);box-shadow:var(--az-glass-shadow);animation:blink-dot 1.5s ease-in-out infinite;z-index:2}
@keyframes blink-dot{0%, 100% {opacity:1;transform:scale(1)}
50% {opacity:0.7;transform:scale(1.1)}

        }
.aztour-published_floor .unit-hotspot-link:hover .unit-dot-core {background:var(--surface);box-shadow:var(--az-glass-shadow);animation:blink-dot-hover 0.8s ease-in-out infinite}
@keyframes blink-dot-hover{0%, 100% {opacity:1;transform:scale(1.15)}
50% {opacity:0.85;transform:scale(1.3)}

        }
.aztour-published_floor .unit-hotspot-link:hover .unit-dot-pulse {background:var(--az-accent-soft);animation-duration:1.5s}
.aztour-published_floor .unit-hotspot-label {position:absolute;top:-38px;left:50%;transform:translateX(-50%);background:var(--surface);color:var(--accent);padding:6px 12px;border-radius:999px;font-size:11px;font-weight:800;white-space:nowrap;border:1px solid var(--line);pointer-events:none;opacity:1;z-index:3}
.aztour-published_floor .unit-hotspot-link:hover .unit-hotspot-label {opacity:1}
.aztour-published_floor .model-hotspot {width:1px;height:1px;border:0;background:transparent;opacity:0;pointer-events:none}
.aztour-published_floor .help {position:absolute;left:16px;bottom:16px;background:var(--surface);padding:10px 12px;border-radius:12px;border:1px solid var(--line);font-size:13px;color:var(--muted);z-index:55;max-width:520px;line-height:1.5}
.aztour-published_floor .viewer-empty-state {position:absolute;inset:0;z-index:60;display:none;align-items:center;justify-content:center;text-align:center;padding:30px;background:var(--surface)}
.aztour-published_floor .viewer-empty-card {max-width:520px;padding:24px;border-radius:22px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--az-glass-shadow)}
.aztour-published_floor .viewer-empty-card h3 {margin:0 0 10px;font-size:22px;color:var(--text)}
.aztour-published_floor .viewer-empty-card p {margin:0;color:var(--muted);line-height:1.6}
@media (max-width: 900px){.aztour-published_floor #app {grid-template-columns:1fr}
.aztour-published_floor .sidebar {display:none}
.aztour-published_floor .floor-wrap {padding:78px 12px 78px}
.aztour-published_floor .floor-stage {height:calc(100vh - 156px)}
.aztour-published_floor .help {right:12px;left:12px;max-width:none}

        }

    
/* Neo glass workspace, with all media mapping kept in the original stages. */
.aztour-published_floor #app { height:100%; min-height:0; grid-template-columns: minmax(230px,280px) minmax(0,1fr); gap:16px; }
.aztour-published_floor .sidebar { display:block; min-width:0; padding:22px; background:var(--az-glass); border:1px solid var(--az-glass-edge); border-radius:var(--az-r-card); box-shadow:var(--az-glass-shadow); backdrop-filter:blur(22px); }
.aztour-published_floor h1 { font-size:clamp(20px,2vw,27px); font-weight:600; line-height:1.3; overflow-wrap:anywhere; }
.aztour-published_floor .kicker { font-size:11px; font-weight:500; color:var(--az-accent-text); padding:7px 11px; }
.aztour-published_floor .section-title { text-transform:none; letter-spacing:0; font-size:12px; font-weight:500; margin-top:22px; }
.aztour-published_floor .muted { font-size:13px; line-height:1.65; }
.aztour-published_floor .list { gap:8px; }
.aztour-published_floor .item { border:1px solid transparent; border-radius:15px; background:var(--az-raised); padding:12px 14px; transition:background .18s ease,border-color .18s ease,transform .18s ease; }
.aztour-published_floor .item:hover,.aztour-published_floor .item.active { background:var(--az-accent-soft); border-color:var(--az-glass-edge); box-shadow:none; }
.aztour-published_floor .item-title { font-size:14px; font-weight:600; overflow-wrap:anywhere; }
.aztour-published_floor .item-subtitle { font-size:12px; }
.aztour-published_floor #view { min-width:0; min-height:0; height:100%; border:1px solid var(--az-glass-edge); border-radius:var(--az-r-card); background:var(--az-glass); box-shadow:var(--az-glass-shadow); backdrop-filter:blur(22px); }
.aztour-published_floor .back-to-zen,.aztour-published_floor .btn,.aztour-published_floor .view-action { min-height:40px; border:1px solid var(--az-glass-edge); background:var(--az-accent-soft); color:var(--az-accent-text); border-radius:var(--az-r-control); font:500 12px/1.4 var(--az-font); padding:10px 13px; }
.aztour-published_floor .back-to-zen:hover,.aztour-published_floor .btn:hover,.aztour-published_floor .view-action:hover { background:var(--az-raised); border-color:var(--az-accent); }
.aztour-published_floor .item-link:focus-visible,.aztour-published_floor .back-to-zen:focus-visible,.aztour-published_floor .btn:focus-visible,.aztour-published_floor .view-action:focus-visible { outline:2px solid var(--az-accent); outline-offset:3px; }
.aztour-published_floor .help { font-size:11px; line-height:1.55; padding:10px 12px; background:var(--az-glass-solid); border:1px solid var(--az-glass-edge); border-radius:14px; color:var(--az-muted); backdrop-filter:blur(14px); }
.aztour-published_floor .unit-dot-core,.aztour-published_floor .unit-hotspot-link:hover .unit-dot-core { background:var(--az-accent); box-shadow:0 0 0 4px var(--az-accent-soft),0 0 18px color-mix(in srgb,var(--az-accent) 45%,transparent); }
.aztour-published_floor .unit-dot-pulse { background:color-mix(in srgb,var(--az-accent) 28%,transparent); }
.aztour-published_floor .unit-hotspot-label { color:var(--az-text); font-weight:500; background:var(--az-glass-solid); border-color:var(--az-glass-edge); box-shadow:var(--az-glass-shadow); max-width:220px; overflow:hidden; text-overflow:ellipsis; }
.aztour-published_floor .unit-hotspot-link:focus-visible .unit-hotspot-label { opacity:1; }
.aztour-published_floor .viewer-empty-state { background:var(--az-glass); backdrop-filter:blur(12px); }
.aztour-published_floor .viewer-empty-card { background:var(--az-glass-solid); border:1px solid var(--az-glass-edge); padding:26px; border-radius:var(--az-r-card); box-shadow:var(--az-glass-shadow); }
.aztour-published_floor .viewer-empty-card h3 { color:var(--az-text); font-size:22px; line-height:1.35; }
.aztour-published_floor .viewer-empty-card p { color:var(--az-muted); font-size:13px; line-height:1.65; }
@media (max-width:1000px) {
  .aztour-published_floor #app { grid-template-columns:minmax(205px,240px) minmax(0,1fr); gap:12px; }
  .aztour-published_floor .sidebar { padding:16px; }
}
@media (max-width:760px) {
  .aztour-main.aztour-published_floor { height:auto; min-height:0; }
  .aztour-published_floor #app { display:flex; flex-direction:column; height:auto; gap:12px; }
  .aztour-published_floor .sidebar { display:block; overflow:visible; padding:16px; }
  .aztour-published_floor .sidebar h1 { font-size:20px; margin:9px 0 5px; }
  .aztour-published_floor .sidebar .section-title { margin:12px 0 7px; }
  .aztour-published_floor .sidebar .list { display:flex; overflow-x:auto; gap:8px; padding:2px 2px 7px; margin-top:0; }
  .aztour-published_floor .sidebar .item-link { flex:0 0 152px; }
  .aztour-published_floor .sidebar .back-to-zen { margin-bottom:10px; }
  .aztour-published_floor #view { height:64dvh; min-height:370px; width:100%; flex:none; }
  .aztour-published_floor .help { max-width:calc(100% - 24px); left:12px; right:12px; bottom:12px; }
  .aztour-published_floor .unit-hotspot-label { max-width:160px; }
}
@media (prefers-reduced-motion:reduce) {
  .aztour-published_floor .unit-dot-core,.aztour-published_floor .unit-dot-pulse { animation:none; }
  .aztour-published_floor .item,.aztour-published_floor .back-to-zen,.aztour-published_floor .view-action { transition:none; }
}

.aztour-published_floor .floor-wrap { padding:80px 20px 74px; }
.aztour-published_floor .floor-stage { height:100%; max-height:100%; min-height:0; width:100%; box-shadow:none; background:transparent; border-radius:20px; }
.aztour-published_floor .floor-stage.is-image { width:auto; height:auto; max-width:100%; max-height:100%; }
.aztour-published_floor #floorImage { max-height:calc(100dvh - var(--aznm-header-height) - 210px); max-width:100%; background:transparent; }
.aztour-published_floor #floorModel { height:100%; min-height:0; background:transparent; }
.aztour-published_floor .viewer-title { max-width:calc(100% - 180px); padding:10px 12px; border-radius:14px; background:var(--az-glass-solid); border-color:var(--az-glass-edge); }
.aztour-published_floor .viewer-title .badge { text-transform:none; letter-spacing:0; color:var(--az-accent-text); font-weight:500; }
.aztour-published_floor .viewer-title strong { font-size:13px; font-weight:600; overflow-wrap:anywhere; }
.aztour-published_floor .help { right:16px; max-width:none; }
@media(max-width:760px) {
  .aztour-published_floor .toolbar { top:12px; right:12px; }
  .aztour-published_floor .toolbar .btn { font-size:11px; max-width:135px; text-align:center; }
  .aztour-published_floor .viewer-title { top:12px; left:12px; max-width:calc(100% - 165px); flex-wrap:wrap; gap:4px; }
  .aztour-published_floor .floor-wrap { padding:78px 12px 74px; }
  .aztour-published_floor #floorImage { max-height:calc(64dvh - 152px); }
}

/* Allow model gestures through the dots; their real links remain keyboard accessible. */
.aztour-published_floor .floor-stage[data-media-type="glb"] .unit-hotspot-link { pointer-events:none; }
.aztour-published_floor .unit-hotspot-link[hidden] { display:none; }
.aztour-published_floor .floor-stage.is-preparing #floorModel { opacity:0; pointer-events:none; }
.aztour-published_floor .floor-stage.has-unit-hover #floorModel { cursor:pointer; }
.aztour-published_floor .unit-hotspot-link.is-hovered .unit-dot-core { animation:blink-dot-hover .8s ease-in-out infinite; }
.aztour-published_floor .unit-hotspot-link.is-hovered .unit-dot-pulse { animation-duration:1.5s; }
.aztour-published_floor .unit-hotspot-link:focus-visible { outline:2px solid var(--az-accent); outline-offset:3px; border-radius:50%; }
@media (prefers-reduced-motion:reduce) {
  .aztour-published_floor .unit-hotspot-link.is-hovered .unit-dot-core,
  .aztour-published_floor .unit-hotspot-link.is-hovered .unit-dot-pulse { animation:none; }
}
