/* =====================================================================
   /sanal-tur — showroom 360° sanal turu (yalnız includes/virtual-tour.php; style.css belirteçleri, header/footer/dock
   style.css'te). Onaylı konsept: assets/concepts/sanal-tur-konsept-20261030/a-sahne + B kadran kapısı (30.10.2026).
   Koyu grafit sayfa: künye → ekranı dolduran sahne (kırmızı vizör köşeleri) → kontrol şeridi → açık ziyaret defteri.
   Etiket/düğme dili contact.css ile aynı (Azeret Mono künye + 22×2 kırmızı çizgi, 3 px köşe). Gradyan, cam, kart yok.
   JS kancaları: .vt-stage[data-tour-src] > .vt-frame, [data-tour-load], [data-tour-full], [data-tour-status] — virtual-tour.js.
   ===================================================================== */
.vt-page{background:var(--graphite)}
.vt-main{background:var(--graphite);color:#fff}
:where(.vt-main) :where(dl,dd,ol){margin:0}

.vt-eb,.vt-k{display:flex;align-items:center;gap:10px;font-family:'Azeret Mono',monospace;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.vt-eb::before{content:"";flex:none;width:22px;height:2px;background:var(--red)}
.vt-main .ar{flex:none;transition:transform .2s var(--ease)}
.vt-main a:hover .ar,.vt-main a:focus-visible .ar{transform:translate(2px,-2px)}
.vt-main a:focus-visible,.vt-main button:focus-visible{outline:2px solid var(--red);outline-offset:3px}

.vt-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 22px;border:1px solid var(--graphite);border-radius:3px;background:var(--graphite);color:#fff;font:inherit;font-size:15px;font-weight:600;white-space:nowrap;cursor:pointer;transition:background-color .2s,border-color .2s,color .2s}
.vt-btn:hover{background:var(--black);border-color:var(--black)}
.vt-tool{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 14px;border:1px solid rgba(255,255,255,.35);border-radius:3px;background:none;font:inherit;font-size:14px;font-weight:600;color:#fff;cursor:pointer;white-space:nowrap;transition:color .15s,border-color .15s}
/* Hover ziyaret çubuğundaki çerçeveli düğmeyle aynı (.vt-btn.is-ghost): kırmızı değil, beyaz çerçeve. Ölçüler değişmez. */
.vt-tool:hover{color:#fff;border-color:#fff}
.vt-sr{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- künye ---------- */
.vt-head{max-width:var(--maxw);margin:0 auto;padding:calc(68px + 26px) var(--gutter) 22px;display:grid;gap:16px}
.vt-head>*{min-width:0}
.vt-head .ca-crumb{color:#8A9099}
.vt-head .ca-crumb a{padding:13px 0;margin:-13px 0}
.vt-head .ca-crumb a:hover{color:#fff}
.vt-head .ca-crumb b{color:#fff}
.vt-head .vt-eb{margin-top:18px;color:#8A9099}
.vt-head h1{margin-top:12px;font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-variation-settings:"wdth" 84;letter-spacing:-.05em;line-height:.9;font-size:clamp(46px,13vw,72px);color:#fff}
/* İkinci satır ana sayfa manşetinin ince satırıyla aynı dil (style.css .ieh-h .thin): ince, gri — tam kırmızı satır göz yoruyordu. */
.vt-head h1 span{display:block;font-weight:300;letter-spacing:-.035em;font-variation-settings:"wdth" 96;color:var(--steel-dk)}
/* Açıklama: solda ince kırmızı çizgi (yasal sayfalar ve ana sayfa açıklamalarıyla aynı). */
.vt-lead{max-width:46ch;padding:2px 0 2px clamp(16px,1.6vw,22px);border-left:2px solid var(--red);font-size:15.5px;line-height:1.55;color:#C9CCD1;text-wrap:pretty}
.vt-facts{display:none;grid-template-columns:minmax(0,.85fr) minmax(0,.85fr) minmax(0,1.3fr);margin-top:18px;border-top:1px solid rgba(255,255,255,.16)}
.vt-facts div{padding:12px 12px 0 0}
.vt-facts div+div{padding-left:12px;border-left:1px solid rgba(255,255,255,.12)}
.vt-facts dt{font-family:'Azeret Mono',monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#8A9099}
.vt-facts dd{margin-top:4px;font-family:'Bricolage Grotesque',sans-serif;font-weight:700;letter-spacing:-.02em;font-size:20px;line-height:1.15;color:#fff;overflow-wrap:anywhere}
@media(min-width:700px){.vt-facts{display:grid}.vt-lead{font-size:16px}.vt-head{gap:22px;padding-bottom:26px}}
@media(min-width:1024px){
  .vt-head{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:end;column-gap:clamp(32px,5vw,96px);padding:calc(78px + clamp(28px,3vw,48px)) var(--gutter) clamp(28px,2.6vw,40px)}
  .vt-head h1{font-size:clamp(68px,6.4vw,112px)}
  .vt-lead{font-size:17px}
}

/* ---------- sahne ----------
   <700: tam genişlik, kapı 460 px (kadran ilk ekranda); tur yüklenince ekran − üst çubuk − dock − nefes (en az 420 px).
   700–899: 560 px. ≥900: kenar boşluklu, 6 px köşe, clamp(480px, ekran − 140 px, 900px). */
.vt-stage-wrap{position:relative}
.vt-stage{position:relative;height:460px;overflow:hidden;background:var(--black);isolation:isolate}
.vt-stage.is-live{height:max(420px,min(calc(100svh - 68px - 96px - 36px),720px))}
.vt-frame,.vt-frame iframe,.vt-gate{position:absolute;inset:0;width:100%;height:100%;border:0}
.vt-frame{z-index:1}
.vt-gate{z-index:2;display:flex;flex-direction:column}
.vt-gate::after{content:"";position:absolute;inset:0;background:rgba(11,12,14,.34);pointer-events:none}
.vt-stage.is-live .vt-gate{display:none}
.vt-cover,.vt-cover img{position:absolute;inset:0;width:100%;height:100%}
.vt-cover img{object-fit:cover}

/* kadran: dönen halka (AI düğmesi halka dili) + grafit iç disk; hover/odakta kırmızı */
.vt-dial-wrap{position:relative;z-index:1;flex:1;display:grid;place-items:center;padding-bottom:56px}
.vt-dial{position:relative;display:grid;place-items:center;width:136px;height:136px;padding:0;border:0;border-radius:50%;background:none;color:#fff;cursor:pointer}
.vt-dial-ring{position:absolute;inset:0;width:100%;height:100%;animation:vt-turn 16s linear infinite}
@keyframes vt-turn{to{transform:rotate(360deg)}}
.vt-dial-in{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:106px;height:106px;border-radius:50%;background:var(--graphite);box-shadow:0 18px 40px -16px rgba(11,12,14,.7);transition:background-color .2s,transform .2s var(--ease)}
.vt-dial-in b{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-variation-settings:"wdth" 88;letter-spacing:-.04em;font-size:30px;line-height:1}
.vt-dial-in span{font-family:'Azeret Mono',monospace;font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:#C9CCD1}
.vt-dial:hover .vt-dial-in,.vt-dial:focus-visible .vt-dial-in{background:var(--red);transform:scale(1.04)}
.vt-dial:hover .vt-dial-in span,.vt-dial:focus-visible .vt-dial-in span{color:#fff}
.vt-main .vt-dial:focus-visible{outline:2px solid #fff;outline-offset:4px}
.vt-gate-note{position:absolute;z-index:1;left:0;right:0;bottom:0;margin:0;padding:10px var(--gutter);background:var(--graphite);font-size:12px;line-height:1.5;color:#A1A6AD;text-wrap:pretty}
.vt-gate-note a{color:#fff;text-decoration:underline;text-underline-offset:2px}

/* yükleniyor: ince kırmızı yay, iframe yüklenince kalkar */
.vt-spin{position:absolute;z-index:3;top:50%;left:50%;width:36px;height:36px;margin:-18px 0 0 -18px;border:2px solid rgba(255,255,255,.18);border-top-color:var(--red);border-radius:50%;opacity:0;pointer-events:none;transition:opacity .2s}
.vt-stage.is-loading .vt-spin{opacity:1;animation:vt-turn .8s linear infinite}
@media(prefers-reduced-motion:reduce){.vt-dial-ring{animation:none}.vt-stage.is-loading .vt-spin{animation-duration:2.4s}}

/* vizör köşeleri (üst); tur yüklenince kalkar (turun kendi düğmelerini örtmesin) */
.vt-corner{position:absolute;z-index:4;top:12px;width:22px;height:22px;border:0 solid var(--red);pointer-events:none;transition:opacity .25s}
.vt-corner.tl{left:12px;border-width:2px 0 0 2px}
.vt-corner.tr{right:12px;border-width:2px 2px 0 0}
.vt-stage.is-live .vt-corner{opacity:0}

/* tam ekran: sahne tüm ekranı kaplar */
.vt-stage:fullscreen{width:100%;height:100%;border-radius:0}
.vt-stage:-webkit-full-screen{width:100%;height:100%;border-radius:0}

@media(min-width:700px){
  .vt-stage{height:560px}
  .vt-corner{top:16px}.vt-corner.tl{left:16px}.vt-corner.tr{right:16px}
}
@media(min-width:900px){
  .vt-stage-wrap{max-width:calc(var(--maxw) + 2 * var(--gutter));margin:0 auto;padding:0 var(--gutter)}
  .vt-stage,.vt-stage.is-live{height:clamp(480px,calc(100svh - 140px),900px);border-radius:6px}
  .vt-gate-note{padding:10px 20px}
}

/* ---------- kontrol şeridi ---------- */
.vt-bar{display:flex;flex-direction:column-reverse;gap:14px;padding:14px var(--gutter) 0}
.vt-tools{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.vt-hints{display:flex;flex-wrap:wrap;gap:6px 18px;margin:0;padding:0;list-style:none;font-family:'Azeret Mono',monospace;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#8A9099}
.vt-hints li{display:inline-flex;align-items:center;gap:8px}
.vt-hints svg{flex:none;color:var(--red)}
@media(min-width:900px){
  .vt-bar{flex-direction:row;align-items:center;justify-content:space-between;padding:16px 0 0}
  .vt-tools{display:flex}
}

/* ---------- ziyaret çubuğu: turun hemen altında, ayrı bölüm yok (adres/telefon footer'da) ---------- */
.vt-visit{max-width:calc(var(--maxw) + 2 * var(--gutter));margin:16px auto 0;padding:0 var(--gutter) clamp(48px,6vw,88px)}
.vt-visit-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 28px;padding:18px 22px;border:1px solid rgba(255,255,255,.12);border-left:2px solid var(--red);border-radius:4px;background:rgba(255,255,255,.03)}
.vt-visit-t{display:flex;flex-wrap:wrap;align-items:center;gap:6px 22px;min-width:0}
.vt-visit-t h2{font-family:'Bricolage Grotesque',sans-serif;font-size:18px;font-weight:700;letter-spacing:-.02em;line-height:1.2;color:#fff}
.vt-visit-t span{display:inline-flex;align-items:center;gap:8px;font-size:14.5px;color:#C9CCD1}
.vt-ic{width:18px;height:18px;flex:none;color:var(--red)}
.vt-visit-acts{display:flex;flex-wrap:wrap;gap:10px}
.vt-btn.is-light{background:#fff;border-color:#fff;color:var(--ink)}
.vt-btn.is-light:hover{background:var(--paper2);border-color:var(--paper2)}
.vt-btn.is-ghost{background:transparent;border-color:rgba(255,255,255,.35);color:#fff}
.vt-btn.is-ghost:hover{background:transparent;border-color:#fff}
@media(max-width:899px){
  .vt-visit-bar{padding:16px}
  .vt-visit-acts{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .vt-visit-acts .vt-btn{padding:0 12px}
}
@media(max-width:359px){.vt-visit-acts .vt-btn{font-size:14px;padding:0 8px}.vt-tools .vt-tool{padding:0 8px;font-size:13.5px}}
