/* ============================================================
   NOVA FİLO — GÜVEN v2 (guven.css üstüne biner)
   Palet: siyah-yeşil. Gündüz: soğuk beyaz-yeşil kâğıt; gece: yeşilimsi siyah.
   Dashboard cam menü, showroom sahnesi, canlı animasyonlar.
   ============================================================ */
:root {
  --red: #0f8a4f;
  --red-d: #0a6e3e;
  --red-soft: #dcf3e5;
  --red-t: #0a7a45;
  --ink: #07120c;
  --ink-2: #0d2217;
  --ink-3: #14331f;
  --paper: #f3f8f4;
  --surface: #ffffff;
  --sand: #e5f0e8;
  --line: #cfe0d4;
  --text: #09170f;
  --text-2: #263a2e;
  --mute: #51675a;
  --btn-dark: #0d2217;
  --btn-dark-h: #14331f;
  --nav-bg: rgba(243, 248, 244, 0.86);
  --nav-bg-2: rgba(243, 248, 244, 0.97);
  --ok: #0f8a4f;
  --ok-soft: #dcf3e5;
  --shadow: 0 1px 2px rgba(7, 18, 12, 0.05), 0 14px 34px -14px rgba(7, 18, 12, 0.2);
  --shadow-lg: 0 2px 4px rgba(7, 18, 12, 0.06), 0 30px 64px -22px rgba(7, 18, 12, 0.34);
}
:root[data-theme="dark"] {
  --red: #2fd47a;
  --red-d: #22b866;
  --red-soft: rgba(47, 212, 122, 0.14);
  --red-t: #6ee9a6;
  --ink: #050a07;
  --paper: #070b09;
  --surface: #0e1612;
  --sand: #0a100d;
  --line: #1b2a22;
  --text: #ecf6f0;
  --text-2: #c3d6ca;
  --mute: #86a090;
  --btn-dark: #16251c;
  --btn-dark-h: #1f3427;
  --ok: #2fd47a;
  --ok-soft: rgba(47, 212, 122, 0.14);
  --nav-bg: rgba(7, 11, 9, 0.86);
  --nav-bg-2: rgba(7, 11, 9, 0.96);
}
:root[data-theme="dark"] .nv-btn-red,
:root[data-theme="dark"] .btn-primary { color: #04140b; }
.nv-btn-red, .btn-primary { box-shadow: 0 12px 26px -10px rgba(15, 138, 79, 0.65); }
:root[data-theme="dark"] .nv-btn-red { box-shadow: 0 12px 28px -10px rgba(47, 212, 122, 0.55); }
.gv-hero::before { background: radial-gradient(60% 70% at 85% 20%, rgba(15, 138, 79, 0.2), transparent 70%), radial-gradient(45% 55% at 5% 95%, rgba(143, 240, 180, 0.22), transparent 70%); }
:root[data-theme="dark"] .gv-hero::before { background: radial-gradient(60% 70% at 85% 20%, rgba(47, 212, 122, 0.16), transparent 70%), radial-gradient(45% 55% at 5% 95%, rgba(47, 212, 122, 0.07), transparent 70%); }
.gv-frame { background: linear-gradient(135deg, #0a1a12, #0f2a1b); }
.gv-orbit { border-color: rgba(15, 138, 79, 0.5); }
.gv-orbit::after { background: var(--ok); box-shadow: 0 0 0 6px rgba(15, 138, 79, 0.18); }
.gv-pill i { background: var(--ok); }
.gv-tag small, .gv-stat strong sup, .gv-marquee-track svg, .gv-dots button.is-on { color: #7af2b0; }
.gv-dots button.is-on { background: #7af2b0; }

/* ---------- Dashboard tarzı ortalanmış cam menü ---------- */
.nv-nav { background: transparent; backdrop-filter: none; -webkit-backdrop-filter: none; border-bottom: 0; box-shadow: none; }
.nv-nav.is-scrolled { background: transparent; border-bottom: 0; box-shadow: none; }
.nv-nav-in { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; height: 84px; gap: 16px; }
.nv-nav.is-scrolled .nv-nav-in { height: 72px; }
.nv-nav-in > a:first-child { justify-self: start; display: inline-flex; align-items: center; height: 100%; }
.nv-nav-in > .nv-btn-red { justify-self: end; }
.gv-dash { display: flex; align-items: center; gap: 4px; padding: 5px; border-radius: 999px; border: 1px solid color-mix(in srgb, var(--line) 80%, transparent); background: color-mix(in srgb, var(--surface) 58%, transparent); backdrop-filter: blur(22px) saturate(1.5); -webkit-backdrop-filter: blur(22px) saturate(1.5); box-shadow: 0 1px 0 rgba(255, 255, 255, 0.5) inset, 0 18px 40px -22px rgba(7, 18, 12, 0.5); animation: gvDashIn 0.9s var(--ease) both 0.1s; transition: background 0.4s; }
:root[data-theme="dark"] .gv-dash { box-shadow: 0 1px 0 rgba(255, 255, 255, 0.06) inset, 0 18px 44px -20px rgba(0, 0, 0, 0.8); }
.nv-nav.is-scrolled .gv-dash { background: color-mix(in srgb, var(--surface) 78%, transparent); }
@keyframes gvDashIn { from { opacity: 0; transform: translateY(-14px) scale(0.96); } to { opacity: 1; transform: none; } }
.gv-dash .nv-nav-links { margin: 0; gap: 2px; }
.gv-dash .nv-nav-links a { display: inline-flex; align-items: center; gap: 7px; padding: 8px 14px; border-radius: 999px; font-size: 0.88rem; font-weight: 600; color: var(--mute); animation: none; }
.gv-dash .nv-nav-links a::after { display: none; }
.gv-dash .nv-nav-links a svg, .gv-dash .nv-nav-links a span:not(.gv-nav-pill) { position: relative; z-index: 1; }
.gv-dash .nv-nav-links a svg { transition: transform 0.4s var(--ease); }
.gv-dash .nv-nav-links a:hover { color: var(--text); background: color-mix(in srgb, var(--red) 8%, transparent); }
.gv-dash .nv-nav-links a:hover svg { transform: translateY(-2px) scale(1.12); }
.gv-dash .nv-nav-links a.is-active { color: #fff; background: transparent; }
:root[data-theme="dark"] .gv-dash .nv-nav-links a.is-active { color: #04140b; }
.gv-nav-pill { position: absolute; inset: 0; border-radius: 999px; background: var(--red); box-shadow: 0 8px 20px -8px rgba(15, 138, 79, 0.8); }
.gv-dash-sep { width: 1px; height: 22px; background: var(--line); margin: 0 4px; }
.gv-dash .nv-theme { width: auto; height: 38px; padding: 0 14px 0 10px; border-radius: 999px; gap: 8px; display: inline-flex; align-items: center; border: 0; background: color-mix(in srgb, var(--red) 10%, transparent); font-size: 0.84rem; font-weight: 700; overflow: hidden; }
.gv-dash .nv-theme:hover { transform: none; background: color-mix(in srgb, var(--red) 18%, transparent); }
.nv-theme-ico { position: relative; width: 18px; height: 18px; flex: none; }
.nv-theme-ico svg { position: absolute; inset: 0; }
.nv-theme-txt { position: relative; display: inline-block; min-width: 3.4em; height: 1.2em; line-height: 1.2em; overflow: hidden; }
.nv-theme-txt span { position: absolute; left: 0; top: 0; transition: transform 0.5s var(--ease), opacity 0.35s; }
.nv-theme-txt .t-night { transform: translateY(120%); opacity: 0; }
:root[data-theme="dark"] .nv-theme-txt .t-day { transform: translateY(-120%); opacity: 0; }
:root[data-theme="dark"] .nv-theme-txt .t-night { transform: none; opacity: 1; }
@media (max-width: 1040px) {
  .gv-dash .nv-nav-links a span:not(.gv-nav-pill) { display: none; }
  .gv-dash .nv-nav-links a { padding: 9px 12px; }
}
@media (max-width: 860px) {
  .nv-nav-in { display: flex; height: 68px; }
  .nv-nav-in > a:first-child { margin-right: auto; }
  .gv-dash { padding: 3px; }
  .gv-dash .nv-nav-links, .gv-dash-sep { display: none; }
  .gv-dash .nv-theme { padding: 0 12px 0 9px; height: 36px; }
  .nv-theme-txt { display: none; }
}

/* ---------- Canlılık ---------- */
.nv-card, .vc-hero { position: relative; }
.nv-card::before, .vc-hero::before { content: ""; position: absolute; inset: -1px; border-radius: inherit; padding: 1px; background: conic-gradient(from var(--a, 0deg), transparent 0 70%, var(--red) 85%, transparent); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; opacity: 0; transition: opacity 0.4s; pointer-events: none; animation: gvSpinA 3.2s linear infinite; }
.nv-card:hover::before, .vc-hero:hover::before { opacity: 1; }
@property --a { syntax: "<angle>"; inherits: false; initial-value: 0deg; }
@keyframes gvSpinA { to { --a: 360deg; } }

/* ---------- Araç detay: showroom sahnesi ---------- */
.detail-img { display: none; }
.gv-show { background: linear-gradient(160deg, #06100a, #0d2217); position: relative; }
.gv-show-stage { position: relative; aspect-ratio: 16 / 10; display: grid; place-items: center; perspective: 1100px; overflow: hidden; cursor: grab; touch-action: pan-y; user-select: none; }
.gv-show-stage:active { cursor: grabbing; }
.gv-show-glow { position: absolute; width: 70%; aspect-ratio: 1; left: 15%; top: 8%; border-radius: 50%; background: radial-gradient(circle, rgba(47, 212, 122, 0.4), transparent 62%); filter: blur(20px); animation: gvBreath 5s ease-in-out infinite; }
@keyframes gvBreath { 0%, 100% { opacity: 0.55; transform: scale(0.94); } 50% { opacity: 1; transform: scale(1.06); } }
.gv-show-floor { position: absolute; left: 50%; bottom: 8%; width: 86%; aspect-ratio: 6 / 1; transform: translateX(-50%); }
.gv-show-floor i { position: absolute; inset: 0; border-radius: 50%; border: 1px solid rgba(47, 212, 122, 0.55); animation: gvRing 4.8s ease-out infinite; }
.gv-show-floor i:nth-child(2) { animation-delay: 1.6s; }
.gv-show-floor i:nth-child(3) { animation-delay: 3.2s; }
@keyframes gvRing { from { transform: scale(0.35); opacity: 0.9; } to { transform: scale(1); opacity: 0; } }
.gv-show-car { position: relative; width: 100%; height: 100%; transform-style: preserve-3d; will-change: transform; overflow: hidden; }
.gv-show-car img { width: 100%; height: 100%; object-fit: cover; pointer-events: none; transform: scale(1.1); }
.gv-show-sweep { position: absolute; inset: 0; background: linear-gradient(105deg, transparent 38%, rgba(255, 255, 255, 0.28) 50%, transparent 62%); transform: translateX(-130%); animation: gvSweep 4.5s ease-in-out 1.2s infinite; pointer-events: none; mix-blend-mode: overlay; }
@keyframes gvSweep { 0% { transform: translateX(-130%); } 45%, 100% { transform: translateX(130%); } }
.gv-show-hint { position: absolute; left: 50%; bottom: 14px; transform: translateX(-50%); display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border-radius: 999px; font-size: 0.8rem; font-weight: 600; color: #fff; background: rgba(7, 18, 12, 0.6); border: 1px solid rgba(255, 255, 255, 0.16); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); transition: opacity 0.5s; animation: gvNudge 2.4s ease-in-out infinite; z-index: 3; }
.gv-show-hint.is-off { opacity: 0; pointer-events: none; }
@keyframes gvNudge { 0%, 100% { transform: translateX(-50%); } 50% { transform: translateX(calc(-50% + 8px)); } }
.gv-show-specs { list-style: none; display: grid; grid-template-columns: repeat(4, 1fr); margin: 0; padding: 0; border-top: 1px solid rgba(255, 255, 255, 0.1); }
.gv-show-specs li { display: flex; align-items: center; justify-content: center; gap: 8px; padding: 14px 8px; font-size: 0.86rem; font-weight: 600; color: #e6f5ec; border-left: 1px solid rgba(255, 255, 255, 0.1); text-align: center; }
.gv-show-specs li:first-child { border-left: 0; }
.gv-show-specs svg { color: #7af2b0; flex: none; }
@media (max-width: 640px) {
  .gv-show-specs { grid-template-columns: 1fr 1fr; }
  .gv-show-specs li:nth-child(3) { border-left: 0; }
  .gv-show-specs li:nth-child(n+3) { border-top: 1px solid rgba(255, 255, 255, 0.1); }
}

/* Teklif paneli ve çağrı butonu */
.detail-side-card .quote-form-box { position: relative; animation: gvPanelIn 0.9s var(--ease) 0.25s both; box-shadow: 0 0 0 1px color-mix(in srgb, var(--red) 25%, var(--line)), var(--shadow-lg); }
@keyframes gvPanelIn { from { opacity: 0; transform: translateX(34px); } to { opacity: 1; transform: none; } }
.detail-content-block .btn-primary { position: relative; }
.detail-content-block .btn-primary::before { content: ""; position: absolute; inset: 0; border-radius: inherit; box-shadow: 0 0 0 0 rgba(47, 212, 122, 0.6); animation: gvCta 2.4s ease-out infinite; pointer-events: none; }
@keyframes gvCta { 70% { box-shadow: 0 0 0 14px rgba(47, 212, 122, 0); } 100% { box-shadow: 0 0 0 0 rgba(47, 212, 122, 0); } }

/* düzeltmeler */
.nv-theme-txt { min-width: 4.6em; }
body:has(.gv-hero) .nv-nav { margin-bottom: -84px; }
.gv-hero { padding-top: calc(clamp(36px, 6vw, 72px) + 84px); }
.gv-dash .nv-nav-links a.is-active .gv-nav-pill { z-index: 0; }
@media (max-width: 860px) { body:has(.gv-hero) .nv-nav { margin-bottom: -68px; } .gv-hero { padding-top: calc(36px + 68px); } }
:root[data-theme="dark"] .nv-nav .nv-btn-red, :root[data-theme="dark"] .nv-btn-red span { color: #04140b; }
