/* =====================================================================
   inspection.css — Araç İnceleme Sistemi
   Hotspot katmanı + Detail overlay'i kapsar.
   landing.css'den ayrıştırılmıştır; ayrı versiyonlanabilir.

   JS mimarisi:  INSPECTION_CONFIG (landing.js)
                 HotspotController (görünürlük + konum)
                 DetailController  (FPV video + panel)

   Konum yönetimi: .landing-hotspot top/left değerleri
   INSPECTION_CONFIG.positions üzerinden JS tarafından atanır —
   per-modül CSS override gerekmez.
   ===================================================================== */

/* ─────────────────────────────────────────────────────────────────────
   Hotspot katmanı — 360° araç üstünde tıklanabilir inceleme noktaları
   ───────────────────────────────────────────────────────────────────── */

.landing-hotspots {
    position: absolute;
    inset: 0;
    z-index: 4;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.45s ease;
}

.landing-idle--360-live .landing-hotspots {
    opacity: 1;
}

.landing-idle--detail-active .landing-hotspots {
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.32s ease;
}

/* Hotspot anatomy (vertical leader — araç ↑ sky):
   [01] ÖN KABİN          ← tag aracın üstündeki siyah alanda
        |
        |                 ← dikey leader (~28vh)
        |
       ┌───┐
       │ V │              ← marker araç üstünde (bottom-anchor)
       └───┘
   Container bottom-center = marker merkezi.
   top/left JS tarafından INSPECTION_CONFIG'den atanır. */

.landing-hotspot {
    position: absolute;
    appearance: none;
    background: transparent;
    border: 0;
    margin: 0;
    padding: 0;
    color: inherit;
    cursor: pointer;
    pointer-events: auto;
    -webkit-tap-highlight-color: transparent;
    width: 160px;
    /* Dikey span — kabinden sky alanına kadar */
    height: clamp(180px, 28vh, 280px);
    opacity: 0;
    /* Tüm hotspot'lar aynı anchor pattern:
       bottom-center = marker merkezi (28px = yarı marker-yüksekliği) */
    transform: translate(-50%, calc(-100% + 28px)) scale(0.96);
    transform-origin: 50% 100%;
    transition:
        opacity 0.6s cubic-bezier(0.22, 1, 0.36, 1),
        transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
    will-change: opacity, transform;
    filter: drop-shadow(0 2px 12px rgba(0, 0, 0, 0.65));
}

/* Etkileşim alanını marker + tag ile sınırla (uzun leader tıklanamaz) */
.landing-hotspot__marker,
.landing-hotspot__tag {
    pointer-events: auto;
}
.landing-hotspot__leader { pointer-events: none; }

/* Aktif durum */
.landing-hotspot[data-active="true"] {
    opacity: 1;
    transform: translate(-50%, calc(-100% + 28px)) scale(1);
}
.landing-hotspot:focus-visible { outline: none; }
.landing-hotspot:focus-visible .landing-hotspot__marker {
    box-shadow: 0 0 0 2px var(--detail-accent, #c81a26);
}

/* === Marker: container bottom-center'ında oturur === */
.landing-hotspot__marker {
    position: absolute;
    bottom: 0;
    left: 50%;
    margin-left: -28px;   /* yarı 56px */
    width: 56px;
    height: 56px;
    transition: transform 0.28s cubic-bezier(0.22, 1, 0.36, 1);
}

/* Pulse halo */
.landing-hotspot__pulse {
    position: absolute;
    inset: -18px;
    background: radial-gradient(
        circle,
        rgba(255, 255, 255, 0.20) 0%,
        rgba(255, 255, 255, 0.07) 40%,
        rgba(255, 255, 255, 0) 72%
    );
    pointer-events: none;
    animation: hotspotBreathe 2.6s ease-in-out infinite;
    will-change: transform, opacity;
}

@keyframes hotspotBreathe {
    0%, 100% { transform: scale(0.90); opacity: 0.50; }
    50%      { transform: scale(1.22); opacity: 1.00; }
}

/* Corner ticks: 16×16, 2.2px stroke — belirgin viewfinder */
.landing-hotspot__corner {
    position: absolute;
    width: 16px;
    height: 16px;
    pointer-events: none;
}
.landing-hotspot__corner--tl {
    top: 0; left: 0;
    border-top: 2.2px solid rgba(255, 255, 255, 0.97);
    border-left: 2.2px solid rgba(255, 255, 255, 0.97);
}
.landing-hotspot__corner--tr {
    top: 0; right: 0;
    border-top: 2.2px solid rgba(255, 255, 255, 0.97);
    border-right: 2.2px solid rgba(255, 255, 255, 0.97);
}
.landing-hotspot__corner--bl {
    bottom: 0; left: 0;
    border-bottom: 2.2px solid rgba(255, 255, 255, 0.97);
    border-left: 2.2px solid rgba(255, 255, 255, 0.97);
}
.landing-hotspot__corner--br {
    bottom: 0; right: 0;
    border-bottom: 2.2px solid rgba(255, 255, 255, 0.97);
    border-right: 2.2px solid rgba(255, 255, 255, 0.97);
}

/* V-mark: Volkan favicon SVG, tamamen beyaz */
.landing-hotspot__mark {
    position: absolute;
    inset: 12px;
    width: calc(100% - 24px);
    height: calc(100% - 24px);
    overflow: visible;
    filter: drop-shadow(0 0 4px rgba(255, 255, 255, 0.35));
    pointer-events: none;
}

/* === Leader: marker üstünden tag altına dikey çizgi ===
   width 1.5px → subpixel rendering'de 1px hairline bulanıklaşıyordu;
   1.5px piksel sınırına oturup tam keskin render olur. Üst kısım da
   yüksek alpha ile (0.85 → 0.78 minimum) tag'e doğru solmadan ulaşır. */
.landing-hotspot__leader {
    position: absolute;
    bottom: 56px;        /* marker yüksekliği = 56px */
    top: 22px;           /* tag yüksekliği = 22px */
    left: 50%;
    width: 1.5px;
    margin-left: -0.75px;
    background: linear-gradient(
        to top,
        rgba(255, 255, 255, 0.95) 0%,
        rgba(255, 255, 255, 0.92) 25%,
        rgba(255, 255, 255, 0.85) 60%,
        rgba(255, 255, 255, 0.78) 100%
    );
    /* Karanlık bg üzerinde anti-aliasing kaybı için subtle glow */
    box-shadow: 0 0 2px rgba(255, 255, 255, 0.18);
}
/* Leader üst ucundaki yatay tick — tag'e doğru perpendicular */
.landing-hotspot__leader::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    width: 12px;
    height: 1.2px;
    margin-left: -6px;
    background: rgba(255, 255, 255, 0.92);
}
/* Leader alt ucunda küçük tick — marker'a doğru perpendicular */
.landing-hotspot__leader::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 9px;
    height: 1.2px;
    margin-left: -4.5px;
    background: rgba(255, 255, 255, 0.95);
}

/* === Tag: container TOP-CENTER, dark caps stamp === */
.landing-hotspot__tag {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    display: inline-flex;
    align-items: stretch;
    height: 22px;
    box-shadow:
        0 1px 10px rgba(0, 0, 0, 0.6),
        0 0 0 1px rgba(0, 0, 0, 0.28);
    user-select: none;
    transition: transform 0.28s cubic-bezier(0.22, 1, 0.36, 1);
    white-space: nowrap;
}

.landing-hotspot__tag-index {
    display: grid;
    place-items: center;
    padding: 0 7px;
    background: var(--detail-accent, #c81a26);
    font-family: var(--font-immersive, 'Manrope', system-ui, sans-serif);
    font-size: 10.5px;
    font-weight: 800;
    letter-spacing: 0.06em;
    color: #fff;
    font-variant-numeric: tabular-nums;
    line-height: 1;
}

.landing-hotspot__tag-text {
    display: grid;
    place-items: center;
    padding: 0 11px;
    background: rgba(8, 8, 10, 0.86);
    backdrop-filter: blur(6px) saturate(1.05);
    -webkit-backdrop-filter: blur(6px) saturate(1.05);
    font-family: var(--font-immersive, 'Manrope', system-ui, sans-serif);
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: rgba(252, 248, 244, 0.97);
    line-height: 1;
}

/* Hover/touch feedback */
.landing-hotspot:hover .landing-hotspot__marker,
.landing-hotspot:focus-visible .landing-hotspot__marker {
    transform: scale(1.08);
}
.landing-hotspot:hover .landing-hotspot__tag {
    transform: translate(-50%, -2px);
}
.landing-hotspot:active .landing-hotspot__marker {
    transform: scale(0.96);
}

@media (prefers-reduced-motion: reduce) {
    .landing-hotspot__pulse {
        animation: none;
        opacity: 0.45;
        transform: scale(1);
    }
}

/* ─────────────────────────────────────────────────────────────────────
   Leader varyantları — diagonal/horizontal yön çiftleri
   Geometri: tüm leader'lar 1px line; marker bottom edge'den çıkar.
   Rotate işareti: CSS y-down konvansiyonu ile + θ = clockwise.
     up-left  : right-center origin, line LEFT extend, rotate(+35°) = up-left
     up-right : left-center  origin, line RIGHT extend, rotate(-35°) = up-right
     right    : marker left-center, line RIGHT (no rotate)
     left     : marker right-center, line LEFT (no rotate)
   ───────────────────────────────────────────────────────────────────── */

/* ── Ortak diagonal container (up-left / up-right) ─────────────────── */
.landing-hotspot--leader-up-left,
.landing-hotspot--leader-up-right {
    width: 280px;
    height: 130px;
}
/* ── Ortak yatay container (right / left) ──────────────────────────── */
/* "FREN VE YÖNLENDİRME" gibi uzun tag'ler için yeterli genişlik;
   marker (56) + tag (~248) + leader visible payı (~80) ≥ 380. */
.landing-hotspot--leader-right,
.landing-hotspot--leader-left {
    width: clamp(280px, 28vw, 400px);
    height: 80px;
}

/* === UP-LEFT (sol-yan view: rear sağda → cabin solda → leader yukarı-sol) === */
.landing-hotspot--leader-up-left {
    transform: translate(calc(-100% + 28px), calc(-100% + 28px)) scale(0.96);
    transform-origin: 100% 100%;
}
.landing-hotspot--leader-up-left[data-active="true"] {
    transform: translate(calc(-100% + 28px), calc(-100% + 28px)) scale(1);
}
.landing-hotspot--leader-up-left .landing-hotspot__marker {
    bottom: 0; right: 0; left: auto; margin-left: 0;
}
/* Tag'i line endpoint'e snap et: line endpoint container origin (252,102)'dan
   145px @ +35° → (133, 19). Tag tag-text uzunluğuna göre değişken width;
   bu yüzden top:0/left:0 ile sabitlemek yerine RIGHT'tan referans alıyoruz —
   sağ kenarı line endpoint'in 5px solunda hizalanır, sol uca text doğru uzar. */
.landing-hotspot--leader-up-left .landing-hotspot__tag {
    top: 8px;                   /* line endpoint y=19, tag h=22 → tag top=8, bottom=30 */
    right: 142px;               /* container.w(280) - line endpoint.x(133) - 5px overlap */
    left: auto;
    transform: none;
}
.landing-hotspot--leader-up-left .landing-hotspot__leader {
    position: absolute;
    bottom: 28px; right: 28px; top: auto; left: auto;
    /* 145px @ +35° → endpoint (133, 19): tag (~140×22) içine girer →
       tag visually line endpoint'i kapatır = clean visual connection */
    width: 145px; height: 1px; margin: 0;
    transform-origin: 100% 50%;
    transform: rotate(35deg);
    background: linear-gradient(
        to left,
        rgba(255, 255, 255, 0.95) 0%,
        rgba(255, 255, 255, 0.78) 30%,
        rgba(255, 255, 255, 0.55) 70%,
        rgba(255, 255, 255, 0.35) 100%
    );
}

/* === UP-RIGHT (sağ-yan view: rear solda → cabin sağda → leader yukarı-sağ) === */
.landing-hotspot--leader-up-right {
    transform: translate(-28px, calc(-100% + 28px)) scale(0.96);
    transform-origin: 0% 100%;
}
.landing-hotspot--leader-up-right[data-active="true"] {
    transform: translate(-28px, calc(-100% + 28px)) scale(1);
}
.landing-hotspot--leader-up-right .landing-hotspot__marker {
    bottom: 0; left: 0; right: auto; margin-left: 0;
}
/* Mirror of up-left: line endpoint (container origin 28,102'dan 145px @ -35°)
   = (147, 19). Tag sol kenarı line endpoint'in 5px sağında hizalanır. */
.landing-hotspot--leader-up-right .landing-hotspot__tag {
    top: 8px;
    left: 142px;                /* mirror of right:142 */
    right: auto;
    transform: none;
}
.landing-hotspot--leader-up-right .landing-hotspot__leader {
    position: absolute;
    bottom: 28px; left: 28px; top: auto; right: auto;
    width: 145px; height: 1px; margin: 0;
    transform-origin: 0% 50%;
    transform: rotate(-35deg);
    background: linear-gradient(
        to right,
        rgba(255, 255, 255, 0.95) 0%,
        rgba(255, 255, 255, 0.78) 30%,
        rgba(255, 255, 255, 0.55) 70%,
        rgba(255, 255, 255, 0.35) 100%
    );
}

/* Diagonal'lerin tick'leri — line ucuna perpendicular küçük dikey 1×N */
.landing-hotspot--leader-up-left .landing-hotspot__leader::before,
.landing-hotspot--leader-up-right .landing-hotspot__leader::before {
    content: '';
    position: absolute;
    top: -4px;
    width: 1px; height: 9px;
    background: rgba(255, 255, 255, 0.85);
    margin-left: 0;
}
.landing-hotspot--leader-up-left .landing-hotspot__leader::after,
.landing-hotspot--leader-up-right .landing-hotspot__leader::after {
    content: '';
    position: absolute;
    top: -3px;
    width: 1px; height: 7px;
    background: rgba(255, 255, 255, 0.95);
    margin-left: 0;
}
/* up-left: ::before tag tarafında (sol uç) — line'ın LEFT endpoint'i */
.landing-hotspot--leader-up-left .landing-hotspot__leader::before { left: 0; right: auto; }
.landing-hotspot--leader-up-left .landing-hotspot__leader::after  { right: 0; left: auto; }
/* up-right: mirror — ::before sağ uçta (tag tarafı) */
.landing-hotspot--leader-up-right .landing-hotspot__leader::before { right: 0; left: auto; }
.landing-hotspot--leader-up-right .landing-hotspot__leader::after  { left: 0; right: auto; }

/* Hover */
.landing-hotspot--leader-up-left:hover .landing-hotspot__tag,
.landing-hotspot--leader-up-left:focus-visible .landing-hotspot__tag {
    transform: translate(-2px, -2px);
}
.landing-hotspot--leader-up-right:hover .landing-hotspot__tag,
.landing-hotspot--leader-up-right:focus-visible .landing-hotspot__tag {
    transform: translate(2px, -2px);
}

/* === RIGHT (sol-yan view: rear sağda → leader sağa açık alana) === */
.landing-hotspot--leader-right {
    transform: translate(-28px, -50%) scale(0.96);
    transform-origin: 0% 50%;
}
.landing-hotspot--leader-right[data-active="true"] {
    transform: translate(-28px, -50%) scale(1);
}
.landing-hotspot--leader-right .landing-hotspot__marker {
    left: 0; top: 50%; bottom: auto;
    margin-left: 0; margin-top: -28px;
}
.landing-hotspot--leader-right .landing-hotspot__tag {
    top: 50%; right: 0; left: auto;
    transform: translateY(-50%);
}
.landing-hotspot--leader-right .landing-hotspot__leader {
    position: absolute;
    top: 50%; left: 56px; right: 0; bottom: auto;
    width: auto; height: 1px;
    margin-top: -0.5px; margin-left: 0;
    background: linear-gradient(
        to right,
        rgba(255, 255, 255, 0.95) 0%,
        rgba(255, 255, 255, 0.78) 30%,
        rgba(255, 255, 255, 0.55) 70%,
        rgba(255, 255, 255, 0.35) 100%
    );
}

/* === LEFT (sağ-yan view: rear solda → leader sola açık alana) === */
.landing-hotspot--leader-left {
    transform: translate(calc(-100% + 28px), -50%) scale(0.96);
    transform-origin: 100% 50%;
}
.landing-hotspot--leader-left[data-active="true"] {
    transform: translate(calc(-100% + 28px), -50%) scale(1);
}
.landing-hotspot--leader-left .landing-hotspot__marker {
    right: 0; top: 50%; bottom: auto; left: auto;
    margin-left: 0; margin-top: -28px;
}
.landing-hotspot--leader-left .landing-hotspot__tag {
    top: 50%; left: 0; right: auto;
    transform: translateY(-50%);
}
.landing-hotspot--leader-left .landing-hotspot__leader {
    position: absolute;
    top: 50%; right: 56px; left: 0; bottom: auto;
    width: auto; height: 1px;
    margin-top: -0.5px; margin-left: 0;
    background: linear-gradient(
        to left,
        rgba(255, 255, 255, 0.95) 0%,
        rgba(255, 255, 255, 0.78) 30%,
        rgba(255, 255, 255, 0.55) 70%,
        rgba(255, 255, 255, 0.35) 100%
    );
}

/* Yatay tick'ler (right/left) */
.landing-hotspot--leader-right .landing-hotspot__leader::before,
.landing-hotspot--leader-left .landing-hotspot__leader::before {
    content: '';
    position: absolute;
    top: -3px;
    width: 1px; height: 7px;
    background: rgba(255, 255, 255, 0.95);
    margin-left: 0;
}
.landing-hotspot--leader-right .landing-hotspot__leader::after,
.landing-hotspot--leader-left .landing-hotspot__leader::after {
    content: '';
    position: absolute;
    top: -4px;
    width: 1px; height: 9px;
    background: rgba(255, 255, 255, 0.85);
    margin-left: 0;
}
/* right: ::before marker tarafı (sol uç), ::after tag tarafı (sağ uç) */
.landing-hotspot--leader-right .landing-hotspot__leader::before { left: 0; right: auto; }
.landing-hotspot--leader-right .landing-hotspot__leader::after  { right: 0; left: auto; }
/* left: mirror */
.landing-hotspot--leader-left  .landing-hotspot__leader::before { right: 0; left: auto; }
.landing-hotspot--leader-left  .landing-hotspot__leader::after  { left: 0; right: auto; }

/* Hover */
.landing-hotspot--leader-right:hover .landing-hotspot__tag,
.landing-hotspot--leader-right:focus-visible .landing-hotspot__tag {
    transform: translate(2px, -50%);
}
.landing-hotspot--leader-left:hover .landing-hotspot__tag,
.landing-hotspot--leader-left:focus-visible .landing-hotspot__tag {
    transform: translate(-2px, -50%);
}

/* =====================================================================
   Detail Overlay — FPV video + sağ inceleme paneli
   Renk paleti: marka kırmızısı (#891014 deep + #c81a26 hot), siyah bg
   Smooth seam: video sağ kenarı (media-seam) + panel sol (panel-bleed)
   ===================================================================== */

.landing-detail {
    position: absolute;
    inset: 0;
    z-index: 6;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    /* Kiosk: metin/görsel seçimi kapalı, native drag yok */
    user-select: none;
    -webkit-user-select: none;
    -webkit-touch-callout: none;
    /* Modül-scope renk değişkenleri */
    --detail-accent: #c81a26;
    --detail-accent-deep: var(--primary-color, #891014);
    --detail-accent-glow: rgba(200, 26, 38, 0.55);
    --detail-accent-soft: rgba(200, 26, 38, 0.22);
    --detail-card-bg: rgba(255, 255, 255, 0.058);
    --detail-card-bg-active: rgba(255, 255, 255, 0.10);
    --detail-line: rgba(255, 255, 255, 0.06);
    --detail-text: rgba(248, 244, 240, 0.94);
    --detail-text-dim: rgba(232, 226, 218, 0.62);
    --detail-text-faint: rgba(232, 226, 218, 0.40);
    transition:
        opacity 0.5s cubic-bezier(0.22, 1, 0.36, 1),
        visibility 0s linear 0.5s;
    will-change: opacity;
}

.landing-detail--active {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    transition:
        opacity 0.45s cubic-bezier(0.22, 1, 0.36, 1),
        visibility 0s linear 0s;
}

/* Media (video) konteyner: panel açılınca yatayda kayar */
.landing-detail__media {
    position: absolute;
    inset: 0;
    overflow: hidden;
    background: #000;
    transform: translate3d(0, 0, 0);
    transition: transform 1s cubic-bezier(0.65, 0, 0.35, 1);
    will-change: transform;
}

.landing-detail--panel-open .landing-detail__media {
    transform: translate3d(-16%, 0, 0);
}

.landing-detail__video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    background: #000;
    pointer-events: none;
    -webkit-user-select: none;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
    transition: opacity 80ms linear;
}
.landing-detail__video--forward { opacity: 1; z-index: 1; }
.landing-detail__video--reverse { opacity: 0; z-index: 1; }
.landing-detail__media--reverse-active .landing-detail__video--forward { opacity: 0; }
.landing-detail__media--reverse-active .landing-detail__video--reverse { opacity: 1; }

/* Hafif vinyet */
.landing-detail__media-vignette {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(ellipse at center, rgba(0, 0, 0, 0) 55%, rgba(0, 0, 0, 0.42) 100%);
    opacity: 0;
    transition: opacity 0.6s ease;
}

.landing-detail--active .landing-detail__media-vignette {
    opacity: 1;
}

/* Seam: video sağ kenarı siyaha fade — panel bleed ile birleşir */
.landing-detail__media-seam {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    width: 44%;
    pointer-events: none;
    background: linear-gradient(
        to right,
        rgba(0, 0, 0, 0) 0%,
        rgba(0, 0, 0, 0.20) 32%,
        rgba(0, 0, 0, 0.62) 64%,
        rgba(0, 0, 0, 0.92) 88%,
        rgba(0, 0, 0, 1.00) 100%
    );
    opacity: 0;
    transition: opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1);
}

.landing-detail--panel-open .landing-detail__media-seam {
    opacity: 1;
}

/* Panel: solid black bg */
.landing-detail__panel {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: clamp(420px, 34vw, 580px);
    background: #000;
    color: var(--detail-text);
    transform: translate3d(102%, 0, 0);
    transition: transform 1s cubic-bezier(0.65, 0, 0.35, 1);
    will-change: transform;
    overflow: visible;
    display: flex;
    flex-direction: column;
}

.landing-detail--panel-open .landing-detail__panel {
    transform: translate3d(0, 0, 0);
}

/* Panel-bleed: panel solundan video alanına taşan siyah gradient */
.landing-detail__panel-bleed {
    position: absolute;
    top: 0;
    bottom: 0;
    left: -56px;
    width: 56px;
    pointer-events: none;
    background: linear-gradient(
        to right,
        rgba(0, 0, 0, 0) 0%,
        rgba(0, 0, 0, 0.45) 50%,
        rgba(0, 0, 0, 0.92) 92%,
        rgba(0, 0, 0, 1.00) 100%
    );
    opacity: 0;
    transition: opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1) 0.1s;
}
.landing-detail--panel-open .landing-detail__panel-bleed {
    opacity: 1;
}

/* Close button — viewfinder framed kiosk button (hotspot marker dili) */
.landing-detail__close {
    position: absolute;
    top: clamp(22px, 2.4vw, 32px);
    right: clamp(22px, 2.4vw, 32px);
    width: 46px;
    height: 46px;
    appearance: none;
    background: transparent;
    border: 0;
    padding: 0;
    margin: 0;
    cursor: pointer;
    z-index: 4;
    color: rgba(248, 244, 240, 0.92);
    display: grid;
    place-items: center;
    transition:
        color 0.24s ease,
        transform 0.32s cubic-bezier(0.22, 1, 0.36, 1);
    -webkit-tap-highlight-color: transparent;
}
.landing-detail__close:focus-visible { outline: none; }
.landing-detail__close:active { transform: scale(0.94); }

/* 4 köşe tick — viewfinder framed (hotspot marker'ıyla aynı stil) */
.landing-detail__close-corner {
    position: absolute;
    width: 13px;
    height: 13px;
    pointer-events: none;
    transition: border-color 0.24s ease;
    border-color: rgba(255, 255, 255, 0.92);
}
.landing-detail__close-corner--tl {
    top: 0; left: 0;
    border-top: 1.8px solid;
    border-left: 1.8px solid;
}
.landing-detail__close-corner--tr {
    top: 0; right: 0;
    border-top: 1.8px solid;
    border-right: 1.8px solid;
}
.landing-detail__close-corner--bl {
    bottom: 0; left: 0;
    border-bottom: 1.8px solid;
    border-left: 1.8px solid;
}
.landing-detail__close-corner--br {
    bottom: 0; right: 0;
    border-bottom: 1.8px solid;
    border-right: 1.8px solid;
}

/* Bold X — frame içinde, hover'da 90° döner */
.landing-detail__close-svg {
    width: 22px;
    height: 22px;
    display: block;
    overflow: visible;
    transition: transform 0.36s cubic-bezier(0.22, 1, 0.36, 1);
}

/* Hover: köşeler kırmızı, X döner + kırmızı */
.landing-detail__close:hover,
.landing-detail__close:focus-visible {
    color: var(--detail-accent, #c81a26);
}
.landing-detail__close:hover .landing-detail__close-corner,
.landing-detail__close:focus-visible .landing-detail__close-corner {
    border-color: var(--detail-accent, #c81a26);
}
.landing-detail__close:hover .landing-detail__close-svg,
.landing-detail__close:focus-visible .landing-detail__close-svg {
    transform: rotate(90deg);
}

/* Panel inner */
.landing-detail__panel-inner {
    position: relative;
    z-index: 2;
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    gap: clamp(22px, 2.6vh, 32px);
    padding:
        clamp(64px, 7.6vh, 92px)
        clamp(32px, 3.4vw, 52px)
        clamp(30px, 3.8vh, 48px)
        clamp(34px, 3.8vw, 56px);
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-y;
    scrollbar-width: thin;
    scrollbar-color: rgba(255, 90, 28, 0.32) transparent;
    cursor: grab;
}
.landing-detail__panel-inner:active { cursor: grabbing; }
.landing-detail__panel-inner::-webkit-scrollbar { width: 4px; }
.landing-detail__panel-inner::-webkit-scrollbar-track { background: transparent; }
.landing-detail__panel-inner::-webkit-scrollbar-thumb {
    background: var(--detail-accent-soft);
}

/* İçerik elemanları: panel açıldıktan sonra staggered fade-in */
.landing-detail__panel-head,
.landing-detail__hero-figure,
.landing-detail__section,
.landing-detail__panel-foot {
    opacity: 0;
    transform: translateY(14px);
    transition:
        opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1),
        transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
    will-change: opacity, transform;
}
.landing-detail--panel-open .landing-detail__panel-head      { opacity: 1; transform: translateY(0); transition-delay: 0.42s; }
.landing-detail--panel-open .landing-detail__hero-figure     { opacity: 1; transform: translateY(0); transition-delay: 0.55s; }
.landing-detail--panel-open .landing-detail__section--options{ opacity: 1; transform: translateY(0); transition-delay: 0.68s; }
.landing-detail--panel-open .landing-detail__section--gallery{ opacity: 1; transform: translateY(0); transition-delay: 0.80s; }
.landing-detail--panel-open .landing-detail__panel-foot      { opacity: 1; transform: translateY(0); transition-delay: 0.92s; }

/* === Header === */
.landing-detail__panel-head {
    position: relative;
    display: flex;
    flex-direction: column;
    padding-bottom: 4px;
}

.landing-detail__panel-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin: 0 0 18px;
    font-family: var(--font-immersive, 'Manrope', system-ui, sans-serif);
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: 0.32em;
    text-transform: uppercase;
    color: var(--detail-accent);
}
.landing-detail__panel-index {
    color: var(--detail-accent);
    font-variant-numeric: tabular-nums;
}
.landing-detail__panel-divider {
    width: 24px;
    height: 1px;
    background: var(--detail-accent-glow);
    display: inline-block;
}
.landing-detail__panel-section {
    color: var(--detail-text-dim);
    letter-spacing: 0.28em;
}

/* Title */
.landing-detail__panel-title {
    margin: 0 0 16px;
    font-family: var(--font-immersive, 'Manrope', system-ui, sans-serif);
    font-weight: 700;
    font-size: clamp(28px, 3.0vw, 38px);
    line-height: 1.04;
    letter-spacing: -0.012em;
    color: rgba(252, 248, 244, 0.98);
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.landing-detail__panel-title-line {
    color: rgba(252, 248, 244, 0.97);
}
.landing-detail__panel-title-accent {
    color: var(--detail-accent);
    font-style: italic;
    font-weight: 600;
    letter-spacing: -0.004em;
}

/* Lede */
.landing-detail__panel-lede {
    margin: 0;
    font-family: var(--font-immersive, 'Manrope', system-ui, sans-serif);
    font-size: clamp(13.5px, 0.94vw, 15px);
    line-height: 1.66;
    color: var(--detail-text-dim);
    text-wrap: pretty;
}
.landing-detail__lede-key {
    font-style: normal;
    font-weight: 700;
    color: rgba(252, 248, 244, 0.98);
    background: linear-gradient(
        180deg,
        transparent 72%,
        var(--detail-accent-soft) 72%,
        var(--detail-accent-soft) 100%
    );
    padding: 0 2px;
}
.landing-detail__lede-aside {
    color: rgba(232, 226, 218, 0.50);
    font-style: italic;
    font-size: 0.92em;
}

/* === Hero figure === */
.landing-detail__hero-figure {
    position: relative;
    margin: 0;
    width: 100%;
    aspect-ratio: 16 / 10;
    flex: 0 0 auto;          /* flex column içinde küçülmesin */
    overflow: hidden;
    cursor: zoom-in;
    background:
        linear-gradient(
            135deg,
            rgba(28, 28, 32, 1) 0%,
            rgba(14, 14, 16, 1) 60%,
            rgba(8, 8, 10, 1) 100%
        );
}
.landing-detail__hero-figure::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image:
        repeating-linear-gradient(
            45deg,
            rgba(255, 255, 255, 0.012) 0,
            rgba(255, 255, 255, 0.012) 1px,
            transparent 1px,
            transparent 8px
        );
    pointer-events: none;
}
.landing-detail__hero-image {
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 1.8s cubic-bezier(0.22, 1, 0.36, 1);
    -webkit-user-drag: none;
    user-select: none;
    pointer-events: none;
}
.landing-detail__hero-image[src=""],
.landing-detail__hero-image:not([src]) {
    visibility: hidden;
}
.landing-detail--panel-open .landing-detail__hero-image {
    transform: scale(1.015);
}

/* Hero köşe işaretleri */
.landing-detail__hero-frame {
    position: absolute;
    width: 16px;
    height: 16px;
    z-index: 2;
    pointer-events: none;
}
.landing-detail__hero-frame--tl {
    top: 8px;
    left: 8px;
    border-top: 1px solid var(--detail-accent-glow);
    border-left: 1px solid var(--detail-accent-glow);
}
.landing-detail__hero-frame--br {
    bottom: 8px;
    right: 8px;
    border-bottom: 1px solid var(--detail-accent-glow);
    border-right: 1px solid var(--detail-accent-glow);
}

/* Hero caption */
.landing-detail__hero-caption {
    position: absolute;
    z-index: 2;
    bottom: 10px;
    left: 12px;
    margin: 0;
    pointer-events: none;
}
.landing-detail__hero-caption-tag {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 5px 9px 5px 8px;
    background: rgba(8, 8, 10, 0.74);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    font-family: var(--font-immersive, 'Manrope', system-ui, sans-serif);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: rgba(252, 248, 242, 0.88);
}
.landing-detail__hero-caption-dot {
    width: 5px;
    height: 5px;
    background: var(--detail-accent);
    box-shadow: 0 0 6px var(--detail-accent-glow);
    display: inline-block;
}

/* === Section heading === */
.landing-detail__section {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.landing-detail__section-head {
    display: flex;
    align-items: center;
    gap: 10px;
}
.landing-detail__section-tick {
    width: 5px;
    height: 5px;
    background: var(--detail-accent);
    box-shadow: 0 0 6px var(--detail-accent-glow);
    flex: 0 0 auto;
}
.landing-detail__section-title {
    margin: 0;
    font-family: var(--font-immersive, 'Manrope', system-ui, sans-serif);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.30em;
    text-transform: uppercase;
    color: rgba(252, 248, 244, 0.94);
    flex: 1 1 auto;
}
.landing-detail__section-count {
    font-family: var(--font-immersive, 'Manrope', system-ui, sans-serif);
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: 0.2em;
    color: var(--detail-text-faint);
    font-variant-numeric: tabular-nums;
    flex: 0 0 auto;
}

/* === Options grid === */
.landing-detail__options {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px;
}
.landing-detail__option {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 14px 14px 13px;
    background: var(--detail-card-bg);
    border-radius: 2px;
    font-family: var(--font-immersive, 'Manrope', system-ui, sans-serif);
    transition: background 0.22s ease;
}
.landing-detail__option::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 5px;
    height: 5px;
    background: var(--detail-accent);
}
.landing-detail__option:hover,
.landing-detail__option:focus-within {
    background: var(--detail-card-bg-active);
}
.landing-detail__option-key {
    font-size: 9.5px;
    font-weight: 700;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--detail-text-faint);
}
.landing-detail__option-val {
    font-size: 13.5px;
    font-weight: 600;
    letter-spacing: 0.005em;
    color: rgba(252, 248, 244, 0.96);
    font-variant-numeric: tabular-nums;
}

/* === Gallery === */
.landing-detail__gallery {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
}
.landing-detail__thumb {
    position: relative;
    margin: 0;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    cursor: zoom-in;
    background:
        linear-gradient(
            135deg,
            rgba(26, 26, 30, 1) 0%,
            rgba(12, 12, 14, 1) 100%
        );
}
.landing-detail__thumb::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image:
        repeating-linear-gradient(
            45deg,
            rgba(255, 255, 255, 0.014) 0,
            rgba(255, 255, 255, 0.014) 1px,
            transparent 1px,
            transparent 6px
        );
    pointer-events: none;
}
.landing-detail__thumb-img {
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
    -webkit-user-drag: none;
    user-select: none;
    pointer-events: none;
}
.landing-detail__thumb-img[src=""],
.landing-detail__thumb-img:not([src]) {
    visibility: hidden;
}
.landing-detail__thumb:hover .landing-detail__thumb-img,
.landing-detail__thumb:focus-visible .landing-detail__thumb-img {
    transform: scale(1.04);
}
.landing-detail__thumb-cap {
    position: absolute;
    z-index: 2;
    bottom: 6px;
    left: 8px;
    font-family: var(--font-immersive, 'Manrope', system-ui, sans-serif);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: rgba(252, 248, 242, 0.86);
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.65);
    pointer-events: none;
}

/* === Footer === */
.landing-detail__panel-foot {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: auto;
    padding-top: 14px;
    border-top: 1px solid var(--detail-line);
}
.landing-detail__panel-meta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: var(--font-immersive, 'Manrope', system-ui, sans-serif);
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: rgba(232, 226, 218, 0.50);
}
.landing-detail__panel-meta-key {
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: 0.22em;
    color: var(--detail-text-faint);
    text-transform: uppercase;
}
.landing-detail__panel-meta-divider {
    width: 14px;
    height: 1px;
    background: rgba(232, 226, 218, 0.28);
}
.landing-detail__panel-meta-val {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.2em;
    color: rgba(252, 248, 244, 0.86);
    text-transform: uppercase;
}
.landing-detail__progress {
    display: flex;
    align-items: center;
    gap: 14px;
    font-family: var(--font-immersive, 'Manrope', system-ui, sans-serif);
}
.landing-detail__progress-track {
    flex: 1 1 auto;
    height: 1px;
    background: rgba(255, 255, 255, 0.08);
    position: relative;
    overflow: hidden;
}
.landing-detail__progress-fill {
    position: absolute;
    inset: 0 auto 0 0;
    width: 16.66%;
    background: linear-gradient(
        to right,
        var(--detail-accent-deep) 0%,
        var(--detail-accent) 100%
    );
    transform-origin: 0 50%;
    transform: scaleX(0);
    transition: transform 1s cubic-bezier(0.22, 1, 0.36, 1) 0.85s;
}
.landing-detail--panel-open .landing-detail__progress-fill { transform: scaleX(1); }

.landing-detail__progress-step {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.22em;
    color: var(--detail-accent);
    text-transform: uppercase;
    font-variant-numeric: tabular-nums;
}

/* Detail aktifken compass + orbit hint gizlenir */
.landing-idle--detail-active .landing-360-orbit,
.landing-idle--detail-active .landing-compass {
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.32s ease;
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    .landing-detail__media,
    .landing-detail__panel,
    .landing-detail__panel-head,
    .landing-detail__hero-figure,
    .landing-detail__hero-image,
    .landing-detail__section,
    .landing-detail__panel-foot,
    .landing-detail__progress-fill,
    .landing-detail__panel-bleed,
    .landing-detail__close {
        transition-duration: 0.25s !important;
        transition-delay: 0s !important;
    }
}

/* Mobil */
@media (max-width: 720px) {
    .landing-detail__panel {
        width: min(84vw, 420px);
    }
    .landing-detail--panel-open .landing-detail__media {
        transform: translate3d(-22%, 0, 0);
    }
}
