/* 3D-тур по подъезду — модальный просмотрщик поверх сайта */
.tour-teaser{margin-top:clamp(40px,6vw,90px)}
.tour-card{position:relative;display:block;width:100%;border:0;background:var(--tint);cursor:pointer;overflow:hidden;aspect-ratio:16/9;text-align:left;isolation:isolate}
.tour-card img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.tour-card:hover img{transform:scale(1.04)}
.tour-card::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(20,18,16,.55),rgba(20,18,16,0) 55%)}
.tour-card-in{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:clamp(18px,3vw,40px);display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px}
.tour-card-in h3{color:#fff;font-size:clamp(1.4rem,2.6vw,2.2rem)}
.tour-card-in p{color:rgba(255,255,255,.85);margin-top:6px;max-width:32em}
.tour-cta{display:inline-flex;align-items:center;gap:10px;min-height:54px;padding:0 1.5em;border-radius:999px;background:#fff;color:var(--ink-d);font-weight:700;white-space:nowrap}
.tour-cta svg{width:22px;height:22px}
.tour-card:focus-visible{outline:3px solid #fff;outline-offset:-3px}
@media(max-width:560px){
  .tour-card{aspect-ratio:3/4}
  .tour-card-in{flex-direction:column;align-items:stretch;gap:14px}
  .tour-card-in p{display:none}
  .tour-cta{align-self:flex-start}
}

/* ---------- modal shell ---------- */
.tourModal{position:fixed;inset:0;z-index:200;background:#161412;visibility:hidden;opacity:0;transition:opacity .3s,visibility .3s}
.tourModal.on{visibility:visible;opacity:1}
.tourModal[hidden]{display:none}
.t-pano{position:absolute;inset:0}
.t-pano .pnlm-container{background:#161412}
.t-pano .pnlm-load-box{display:none!important}
.t-pano .pnlm-controls-container{display:none!important}
.t-pano .pnlm-compass,.t-pano .pnlm-about-msg,.t-pano .pnlm-orientation-button{display:none!important}

.t-load{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:#EDEAE6;background:#161412;z-index:5;transition:opacity .35s ease}
.t-load[hidden]{display:none}
.t-load.out{opacity:0;pointer-events:none}
.t-spin{width:46px;height:46px;border-radius:50%;border:3px solid rgba(237,234,230,.25);border-top-color:#EDEAE6;animation:tspin 1s linear infinite}
@keyframes tspin{to{transform:rotate(360deg)}}
.t-load span{font-size:.95rem;color:rgba(237,234,230,.85)}

.t-x{position:absolute;top:14px;right:14px;z-index:20;width:52px;height:52px;border-radius:50%;background:rgba(20,18,16,.55);backdrop-filter:blur(6px);color:#fff;display:grid;place-items:center;border:1px solid rgba(255,255,255,.16)}
.t-x svg{width:24px;height:24px}

.t-title{position:absolute;top:14px;left:50%;transform:translateX(-50%);z-index:15;background:#fff;color:#3A3632;font-weight:700;font-size:.98rem;padding:10px 20px;border-radius:999px;box-shadow:0 6px 20px rgba(0,0,0,.18);white-space:nowrap;max-width:min(72vw,520px);overflow:hidden;text-overflow:ellipsis}

.t-nav{position:absolute;top:50%;margin-top:-26px;z-index:15;width:52px;height:52px;border-radius:14px;background:rgba(20,18,16,.5);backdrop-filter:blur(4px);color:#fff;display:grid;place-items:center;border:1px solid rgba(255,255,255,.14);touch-action:none}
.t-nav svg{width:26px;height:26px}
.t-nav.l{left:16px}
.t-nav.r{right:16px}
.t-nav:active,.t-nav.active{background:rgba(20,18,16,.75)}

.t-zoom{position:absolute;right:16px;bottom:86px;z-index:15;display:flex;flex-direction:column;gap:8px}
.t-zoom button{width:48px;height:48px;border-radius:14px;background:rgba(20,18,16,.5);backdrop-filter:blur(4px);color:#fff;display:grid;place-items:center;border:1px solid rgba(255,255,255,.14)}
.t-zoom svg{width:22px;height:22px}

.t-fs{position:absolute;right:16px;bottom:22px;z-index:15;width:48px;height:48px;border-radius:14px;background:rgba(20,18,16,.5);backdrop-filter:blur(4px);color:#fff;display:grid;place-items:center;border:1px solid rgba(255,255,255,.14)}
.t-fs svg{width:22px;height:22px}

.t-map{position:absolute;top:14px;left:14px;z-index:16;max-width:min(42vw,220px)}
.t-map-card{position:relative;display:inline-block;max-height:min(42vh,340px);background:#fff;border-radius:16px;box-shadow:0 10px 30px rgba(0,0,0,.28);padding:8px;overflow:hidden}
.t-map-x{position:absolute;top:8px;right:8px;z-index:3;width:30px;height:30px;border-radius:50%;background:#fff;color:#3A3632;display:grid;place-items:center;box-shadow:0 2px 8px rgba(0,0,0,.18)}
.t-map-x svg{width:16px;height:16px}
.t-map-exp{position:absolute;top:8px;right:44px;z-index:3;width:30px;height:30px;border-radius:50%;background:#fff;color:#3A3632;display:grid;place-items:center;box-shadow:0 2px 8px rgba(0,0,0,.18)}
.t-map-exp svg{width:15px;height:15px}
.t-map-wrap{position:relative;display:block;border-radius:10px;overflow:hidden;height:min(calc(42vh - 16px),324px);max-width:min(calc(42vw - 16px),204px)}
.t-map-wrap img{display:block;width:auto;height:100%;max-width:none;-webkit-user-drag:none}
.t-dot{position:absolute;width:16px;height:16px;margin:-8px 0 0 -8px;border-radius:50%;background:#fff;border:2px solid #9c948b;box-shadow:0 1px 4px rgba(0,0,0,.3);z-index:2;padding:0}
.t-dot.cur{width:20px;height:20px;margin:-10px 0 0 -10px;background:#C1531F;border-color:#fff;box-shadow:0 0 0 3px rgba(193,83,31,.35),0 2px 6px rgba(0,0,0,.4)}
.t-sector{position:absolute;width:120px;height:120px;margin:-60px 0 0 -60px;z-index:1;pointer-events:none;border-radius:50%;transition:opacity .2s}
.t-map-show{position:absolute;top:14px;left:14px;z-index:16;width:48px;height:48px;border-radius:14px;background:rgba(20,18,16,.5);backdrop-filter:blur(4px);color:#fff;display:grid;place-items:center;border:1px solid rgba(255,255,255,.14)}
.t-map-show svg{width:22px;height:22px}
.t-map[hidden] .t-map-card{display:none}
.tourModal.t-map-big .t-map{max-width:min(80vw,460px)}
.tourModal.t-map-big .t-map-card{max-height:min(80vh,700px)}
.tourModal.t-map-big .t-map-wrap{height:min(calc(80vh - 16px),684px);max-width:min(calc(80vw - 16px),444px)}

.t-disc{position:absolute;left:0;right:0;bottom:0;z-index:14;text-align:center;font-size:.78rem;color:rgba(237,234,230,.65);padding:7px 10px calc(7px + env(safe-area-inset-bottom));background:linear-gradient(0deg,rgba(0,0,0,.35),rgba(0,0,0,0))}

@media(max-width:767px){
  .t-map{max-width:min(24vw,104px);top:64px}
  .t-map-card{max-height:min(26vh,220px);border-radius:12px;padding:6px}
  .t-map-wrap{height:min(calc(26vh - 12px),208px);max-width:min(calc(24vw - 12px),92px);border-radius:8px}
  .t-map-x,.t-map-exp{width:24px;height:24px}
  .t-map-x svg,.t-map-exp svg{width:13px;height:13px}
  .t-map-exp{right:34px}
  .t-map-show{top:64px;left:10px}
  .t-nav{width:46px;height:46px;border-radius:12px}
  .t-nav.l{left:10px}.t-nav.r{right:10px}
  .t-zoom{right:10px;bottom:76px}
  .t-zoom button{width:44px;height:44px}
  .t-fs{right:10px;bottom:18px;width:44px;height:44px}
  .t-title{font-size:.8rem;padding:8px 14px;max-width:56vw;top:10px}
  .t-x{width:46px;height:46px;top:10px;right:10px}
}
@media(orientation:landscape) and (max-height:520px){
  .t-map{max-width:min(26vw,130px)}
  .t-map-card{max-height:min(56vh,220px)}
  .t-map-wrap{height:min(calc(56vh - 16px),204px);max-width:min(calc(26vw - 16px),114px)}
}

/* pannellum hotspot pill — matches site's dark semi-transparent control style */
.pnlm-hotspot-base{z-index:16}
.t-hs{display:flex;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;background:rgba(20,18,16,.7);backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.18);box-shadow:0 4px 16px rgba(0,0,0,.3);color:#fff;font:700 .92rem/1 "Noto Sans",sans-serif;white-space:nowrap;transform:translate(-50%,-50%);cursor:pointer}
.t-hs svg{width:16px;height:16px;flex:none}

@media(prefers-reduced-motion:reduce){
  .t-spin{animation:none;border-top-color:rgba(237,234,230,.6)}
  .tourModal,.t-load{transition:none}
}
