/* ============ NOVA FİLO — v6: hero arka plan hareketi TÜM SİTEDE + koyu giriş butonu ============ */

/* ---------- Site geneli ortam katmanı: kayan ızgara + yeşil aurora + süzülen ışık ---------- */
body:not(:has(.ap-shell)):not(:has(.ap-login)) { position: relative; }
body:not(:has(.ap-shell)):not(:has(.ap-login))::before {
  content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none;
  background:
    radial-gradient(60% 70% at 85% 12%, rgba(15, 138, 79, 0.16), transparent 70%),
    radial-gradient(48% 56% at 6% 90%, rgba(143, 240, 180, 0.2), transparent 70%),
    linear-gradient(color-mix(in srgb, var(--red) 16%, transparent) 1px, transparent 1px),
    linear-gradient(90deg, color-mix(in srgb, var(--red) 16%, transparent) 1px, transparent 1px);
  background-size: auto, auto, 64px 64px, 64px 64px;
  -webkit-mask-image: radial-gradient(120% 100% at 60% 30%, #000 30%, rgba(0, 0, 0, 0.35) 100%);
  mask-image: radial-gradient(120% 100% at 60% 30%, #000 30%, rgba(0, 0, 0, 0.35) 100%);
  animation: gvGrid 40s linear infinite, gvAmbient 16s ease-in-out infinite alternate;
}
body:not(:has(.ap-shell)):not(:has(.ap-login))::after {
  content: ""; position: fixed; z-index: -1; pointer-events: none; width: 52vmax; height: 52vmax; right: -16vmax; top: -18vmax; border-radius: 50%;
  border: 1px dashed color-mix(in srgb, var(--red) 40%, transparent);
  animation: gvSpin 70s linear infinite;
}
:root[data-theme="dark"] body:not(:has(.ap-shell)):not(:has(.ap-login))::before {
  background:
    radial-gradient(60% 70% at 85% 12%, rgba(47, 212, 122, 0.14), transparent 70%),
    radial-gradient(48% 56% at 6% 90%, rgba(20, 120, 80, 0.2), transparent 70%),
    linear-gradient(rgba(47, 212, 122, 0.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(47, 212, 122, 0.07) 1px, transparent 1px);
  background-size: auto, auto, 64px 64px, 64px 64px;
}
@keyframes gvAmbient { from { opacity: 0.75; } to { opacity: 1; } }

/* Bölümler ortam katmanını örtmesin: yarı saydam */
.nv-section-sand { background: color-mix(in srgb, var(--sand) 55%, transparent); }
.page-hero, .os-page { background: color-mix(in srgb, var(--sand) 34%, transparent); }
.gv-hero { background: transparent; }
.alt-section { background: color-mix(in srgb, var(--sand) 72%, transparent); }
.os-shell, .nv-shell { background: transparent; }
main#icerik { background: transparent; }

/* ---------- Admin giriş butonu: ana sayfadaki koyu yeşil-siyah ton ---------- */
.ap-login-btn {
  background: radial-gradient(120% 220% at 100% 0%, #0f3322 0%, transparent 62%), linear-gradient(160deg, #04100a 0%, #07180f 55%, #0a2418 100%) !important;
  color: #d9ffec !important;
  border: 1px solid rgba(47, 212, 122, 0.55) !important;
  box-shadow: 0 14px 34px -14px rgba(47, 212, 122, 0.55), inset 0 1px 0 rgba(255, 255, 255, 0.08), inset 0 0 22px rgba(47, 212, 122, 0.08) !important;
  text-shadow: 0 0 14px rgba(47, 212, 122, 0.5);
}
.ap-login-btn:hover {
  background: radial-gradient(120% 220% at 100% 0%, #14502f 0%, transparent 62%), linear-gradient(160deg, #05140c 0%, #0a2016 55%, #0e3222 100%) !important;
  border-color: rgba(110, 231, 183, 0.8) !important;
  box-shadow: 0 16px 40px -12px rgba(47, 212, 122, 0.75), inset 0 0 26px rgba(47, 212, 122, 0.16) !important;
}
.ap-login-btn:active { transform: scale(0.98); }
.ap-login-btn::after { background: linear-gradient(105deg, transparent 35%, rgba(110, 231, 183, 0.3) 50%, transparent 65%); }

@media (prefers-reduced-motion: reduce) {
  body::before, body::after { animation: none !important; }
}
.gv-grid { display: none; }
