/* ============ NOVA FİLO — v5: tüm sayfalarda hareket + giriş ekranı "rota ışınları" ============ */

/* ---------- Giriş: rota ışınları (dalga yerine) ---------- */
.ap-login { background: #020a06; }
.ap-login-bg { background: radial-gradient(900px 520px at 12% 8%, rgba(16, 185, 129, 0.14), transparent 62%), radial-gradient(800px 520px at 92% 92%, rgba(13, 148, 136, 0.14), transparent 60%), linear-gradient(180deg, #030f09 0%, #010604 100%); }
.ap-waves { display: none; }
.ap-glow-1 { opacity: 0.55; }
.ap-glow-2 { opacity: 0.5; }
.ap-routes { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; -webkit-mask-image: radial-gradient(90% 80% at 50% 50%, #000 40%, transparent 100%); mask-image: radial-gradient(90% 80% at 50% 50%, #000 40%, transparent 100%); }
.ap-route { fill: none; stroke: rgba(52, 211, 153, 0.16); stroke-width: 1.2; stroke-dasharray: 2 7; }
.ap-beam { fill: none; stroke: url(#rg); stroke-width: 2.4; stroke-linecap: round; stroke-dasharray: 70 930; stroke-dashoffset: 70; filter: drop-shadow(0 0 7px rgba(110, 231, 183, 0.95)); animation: apBeam 7s cubic-bezier(0.5, 0, 0.3, 1) infinite; }
.ap-beam-2 { animation-duration: 9s; animation-delay: -3s; }
.ap-beam-3 { animation-duration: 8s; animation-delay: -5s; }
.ap-beam-4 { animation-duration: 11s; animation-delay: -2s; }
.ap-beam-5 { animation-duration: 10s; animation-delay: -7s; }
@keyframes apBeam { from { stroke-dashoffset: 70; } to { stroke-dashoffset: -1000; } }
.ap-node { fill: #6ee7b7; filter: drop-shadow(0 0 8px rgba(110, 231, 183, 0.9)); transform-box: fill-box; transform-origin: center; animation: apNode 3.2s ease-in-out infinite; }
@keyframes apNode { 0%, 100% { transform: scale(0.6); opacity: 0.45; } 50% { transform: scale(1.5); opacity: 1; } }

/* Giriş butonu: ana sayfadaki derin zümrüt tonu */
.ap-login-btn { background: linear-gradient(135deg, #0a5c3b 0%, #0b7a4c 100%) !important; color: #eafff3 !important; border: 1px solid rgba(110, 231, 183, 0.35) !important; box-shadow: 0 14px 34px -14px rgba(16, 185, 129, 0.6), inset 0 1px 0 rgba(255, 255, 255, 0.14) !important; }
.ap-login-btn:hover { filter: none; background: linear-gradient(135deg, #0c6c45 0%, #0f9460 100%) !important; }
.ap-login-btn::after { background: linear-gradient(105deg, transparent 35%, rgba(255, 255, 255, 0.3) 50%, transparent 65%); }

/* ---------- Tüm sayfalar: giriş ve kaydırma hareketi ---------- */
#icerik { animation: gvPage 0.7s var(--ease) both; }
@keyframes gvPage { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }

.page-hero > .container > *, .os-page > * { animation: gvRiseIn 0.8s var(--ease) both; }
.page-hero > .container > *:nth-child(1) { animation-delay: 0.05s; }
.page-hero > .container > *:nth-child(2) { animation-delay: 0.14s; }
.page-hero > .container > *:nth-child(3) { animation-delay: 0.24s; }
.page-hero > .container > *:nth-child(4) { animation-delay: 0.34s; }
.page-hero::after { transform-origin: left; animation: gvBar 1s var(--ease) 0.4s both; }
@keyframes gvBar { from { transform: scaleX(0); } to { transform: scaleX(1); } }
.page-hero { position: relative; overflow: hidden; }
.page-hero::before { content: ""; position: absolute; inset: -30% -10% auto auto; width: 60%; height: 160%; pointer-events: none; background: radial-gradient(circle at 70% 30%, rgba(16, 185, 129, 0.16), transparent 62%); animation: gvAurora 16s ease-in-out infinite alternate; }

/* Araç listesi, kurumsal, iletişim kartları */
.vehicle-grid > * { transition: transform 0.4s var(--ease), box-shadow 0.4s var(--ease); }
.vehicle-grid > *:hover { transform: translateY(-6px); }
.vehicle-grid img { transition: transform 0.9s var(--ease); }
.vehicle-grid > *:hover img { transform: scale(1.06); }
.info-box, .contact-row, .detail-benefits > div { transition: transform 0.35s var(--ease), box-shadow 0.35s var(--ease), border-color 0.35s; }
.info-box:hover, .contact-row:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); border-color: color-mix(in srgb, var(--red) 40%, var(--line)); }
.info-box::before { transition: width 0.5s var(--ease); }
.info-box:hover::before { width: 64px; }
.bullet-list li { transition: padding-left 0.3s var(--ease), color 0.3s; }
.bullet-list li:hover { padding-left: 36px; color: var(--text); }
.bullet-list li::before { transition: width 0.3s var(--ease); }
.bullet-list li:hover::before { width: 20px; }

/* Düğmeler ve form alanları */
.nv-btn, .btn { transition: transform 0.25s var(--ease), box-shadow 0.3s, background 0.3s, border-color 0.3s; }
.nv-btn:hover, .btn:hover { transform: translateY(-2px); }
.nv-btn:active, .btn:active { transform: translateY(0) scale(0.97); }
.quote-form-box input, .quote-form-box select, .quote-form-box textarea, .form input, .form select, .form textarea { transition: border-color 0.25s, box-shadow 0.3s, transform 0.25s var(--ease); }
.quote-form-box input:focus, .quote-form-box select:focus, .quote-form-box textarea:focus, .form input:focus, .form select:focus, .form textarea:focus { box-shadow: 0 0 0 4px color-mix(in srgb, var(--red) 22%, transparent); transform: translateY(-1px); }

/* SSS: açılınca yumuşak */
.nv-faq details > :not(summary) { animation: gvRiseIn 0.5s var(--ease) both; }

/* Footer */
.os-footer a, .nv-footer a { transition: color 0.25s, transform 0.3s var(--ease); display: inline-block; }
.os-footer a:hover, .nv-footer a:hover { transform: translateX(4px); }

@media (prefers-reduced-motion: reduce) {
  #icerik, .page-hero > .container > *, .page-hero::after, .page-hero::before, .ap-beam, .ap-node { animation: none !important; }
}
