/* =========================
   YUNTES Header – Glass + Senkron Neon (min. patch)
   ========================= */

/* ---- Global değişkenler ---- */
:root{
  --yuntes-neon: #F8E6BD;                  /* neon rengi */
  --yuntes-thickness: 3px;                 /* çizgi kalınlığı */
  --yuntes-speed: 4s;                      /* tam döngü süresi */
  --yuntes-gap-frac: 10;                   /* küçük boşluk: %10 */
  --yuntes-header-h: 96px;                 /* JS ölçer; fallback */
  --yuntes-glass-bg: rgba(15,17,20,0.35);  /* cam arkaplan */
  --yuntes-glass-stroke: rgba(255,255,255,0.08);
}

/* ---- Glassmorphism header ---- */
#yuntes-header,
header.yuntes-glass{
  position: sticky;
  top: 0;
  z-index: 9999;
  background: var(--yuntes-glass-bg);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--yuntes-glass-stroke);
  box-shadow: 0 6px 24px rgba(0,0,0,.25);
}

/* İstersen sticky'yi sayfa bazında kapat: .no-sticky */
#yuntes-header.no-sticky,
header.yuntes-glass.no-sticky{
  position: relative;
  top: auto;
}

/* ---- YATAY NEON (header alt çizgisi) ----
   <div class="yuntes-neon-h"><span class="runner"></span></div>
*/
.yuntes-neon-h{
  position: absolute;
  left: 0; right: 0; bottom: -1px;
  height: var(--yuntes-thickness);
  pointer-events: none;
  overflow: visible;
  z-index: 10000;
}
.yuntes-neon-h .runner{
  position: absolute;
  left: 0; bottom: 0;
  height: 100%;
  width: 80%;                               /* %80 çizgi */
  background: var(--yuntes-neon);
  /* Parlak baş + kuyruğa doğru solma */
  border-radius: 100vmax;
  filter: drop-shadow(0 0 6px var(--yuntes-neon)) drop-shadow(0 0 16px var(--yuntes-neon));
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.35) 30%, #000 65%, #000 100%);
          mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.35) 30%, #000 65%, #000 100%);
  transform: translateX(-120%);             /* biraz daha dışarıdan başla */
  animation: yuntes-neon-h var(--yuntes-speed) linear infinite;
  will-change: transform, opacity;
}

/* 0–(90-gap)%: soldan sağa geçiş
   (90-gap)–100%: kısa "boşluk" (%10 varsayılan)
*/
@keyframes yuntes-neon-h{
  0%    { transform: translateX(-120%); opacity: 1; }
  calc(90% - var(--yuntes-gap-frac)*1%) { transform: translateX(100%); opacity: 1; }
  100%  { transform: translateX(100%);  opacity: 0; }
}

/* ---- DİKEY NEON (sol alt → header alt hizası) ----
   <div class="yuntes-neon-v"><span class="runner"></span></div>
*/
.yuntes-neon-v{
  position: fixed;
  left: 0; bottom: 0;
  width: var(--yuntes-thickness);
  height: calc(100vh - var(--yuntes-header-h)); /* tam header alt çizgisine kadar */
  pointer-events: none;
  overflow: visible;
  z-index: 9998;
}
.yuntes-neon-v .runner{
  position: absolute;
  left: 0; bottom: 0; width: 100%; height: 80%;
  background: var(--yuntes-neon);
  border-radius: 100vmax;
  filter: drop-shadow(0 0 6px var(--yuntes-neon)) drop-shadow(0 0 16px var(--yuntes-neon));
  -webkit-mask-image: linear-gradient(0deg, transparent 0%, rgba(0,0,0,.35) 30%, #000 65%, #000 100%);
          mask-image: linear-gradient(0deg, transparent 0%, rgba(0,0,0,.35) 30%, #000 65%, #000 100%);
  transform: translateY(120%);               /* alttan daha dışarıdan başla */
  animation: yuntes-neon-v var(--yuntes-speed) linear infinite;
  /* SENKRON: dikey "çıkış" anını, yatayın "giriş" anına eşleştir (90%) */
  animation-delay: calc(-0.9 * var(--yuntes-speed));
  will-change: transform, opacity;
}

/* 0–90%: alttan üste (çıkış = tam header alt çizgisi)
   90–100%: üstte dışarıda bekleme (küçük boşluk)
*/
@keyframes yuntes-neon-v{
  0%   { transform: translateY(120%);  opacity: 1; }
  90%  { transform: translateY(-100%); opacity: 1; }  /* header alt çizgisinde bitti */
  100% { transform: translateY(-100%); opacity: 0; }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  .yuntes-neon-h .runner, .yuntes-neon-v .runner{
    animation: none !important; transform: none !important; opacity: 1 !important;
  }
}

/* Safari/backdrop-filter fallback */
@supports not ((-webkit-backdrop-filter: blur(10px)) or (backdrop-filter: blur(10px))){
  #yuntes-header, header.yuntes-glass{ background: rgba(15,17,20,.65); }
}

/* ---- STICKY-ON-SCROLL işareti (isteğe bağlı görsel vurgu) ---- */
#yuntes-header.is-sticky,
header.yuntes-glass.is-sticky{
  box-shadow: 0 6px 24px rgba(0,0,0,.25);
}
/* --- Sticky fallback (JS tetikler) --- */
:root{ --yuntes-offset-top: 0px; } /* wp-admin bar için */

#yuntes-header.sticky-fixed,
header.yuntes-glass.sticky-fixed{
  position: fixed;
  top: var(--yuntes-offset-top);
  left: 0;
  right: 0;
  width: 100%;
  z-index: 9999;
}

body.has-sticky-offset{
  /* içerik sıçramasın: sadece header yüksekliğini ekle */
  padding-top: var(--yuntes-header-h);
}

/* sentinel görünmez yardımcı eleman */
.yuntes-sticky-sentinel{ position: relative; height: 1px; margin: 0; }
