/* ============================================================================
   pd-ruh.css — YENİ RUH: landing/paketler tasarım dilinin uygulama sayfaları
   ----------------------------------------------------------------------------
   Dil (tipografi, başlık bandı, kart, düğme, rakam, chip) her temada AYNI;
   renk yalnız aşağıdaki --pr-* değişkenlerinden gelir. Tema = değişken takımı.

   body.pd-ruh              Uygulama sayfası, AÇIK tema (varsayılan).
   body.pd-ruh.pd-ruh-gece  Aynı sayfa, GECE teması (+ pd-gece-nav: menü/footer
                            gece derisi pd-gece.css'ten gelir).
   body.pd-gece-bs          Ziyaretçi gece sayfaları (hakkımızda, iletişim...):
                            yalnız değişkenleri gece değerleriyle alır ki ortak
                            bileşenler (toast, onay...) orada da doğru görünsün.

   Sınıfı base.html basar (context: ruh_body; tercih pd_tema çerezi). Sınıf
   yoksa bu dosyanın hiçbir kuralı çalışmaz → anahtar kapalıyken eski görünüm.

   NOT: body zeminini bu dosya basar (body:is(.pd-ruh,.pd-ruh-nav){background:var(--pr-bg)!important});
   kendi zemini olan kabuk sayfası (ör. kütüphane kremi) kendi kuralında !important yazmalı.

   KURAL: Bu dosyada ve sayfa eklerinde sabit renk yazılmaz; --pr-* kullanılır.
   Yeni bir renk gerekiyorsa önce buraya iki temalı değişken olarak eklenir.
   ========================================================================== */

/* ------------------------------------------------------------ değişkenler --
   Tema işareti body'de: .pd-tema-acik | .pd-tema-gece (ziyaretçi sayfaları da
   dahil). .pd-gece-bs eski ziyaretçi gece sayfaları için köprü. */
body.pd-tema-acik {
  /* zemin ve yüzeyler */
  --pr-bg: #F6F4FA;
  --pr-bg-2: #EEE9F5;                          /* alternatif bölüm alt ucu */
  --pr-dots: rgba(20, 16, 32, .055);           /* nokta deseni */
  --pr-glow: rgba(142, 68, 173, .24);          /* başlık bandı mor ışığı */
  --pr-card: #FFFFFF;
  --pr-card-2: #FAF8FD;                        /* kart içi ikincil yüzey */
  --pr-sunken: rgba(20, 16, 32, .04);          /* çukur alan: input, chip */
  --pr-hover: rgba(20, 16, 32, .05);
  --pr-line: rgba(20, 16, 32, .08);
  --pr-line-2: rgba(20, 16, 32, .15);
  /* Üç katmanlı: temas gölgesi + yakın yayılma + uzak derinlik. Tek katman
     kartı zeminle aynı kâğıtta bırakıyordu. */
  --pr-shadow: 0 1px 2px rgba(20, 16, 32, .05), 0 6px 14px -8px rgba(40, 20, 70, .16), 0 22px 44px -24px rgba(40, 20, 70, .30);
  --pr-shadow-lg: 0 2px 4px rgba(20, 16, 32, .05), 0 14px 30px -14px rgba(40, 20, 70, .22), 0 44px 80px -34px rgba(40, 20, 70, .42);
  --pr-card-edge: inset 0 1px 0 rgba(255, 255, 255, .9);   /* kartın üst kenar parıltısı */
  --pr-bloom-1: rgba(142, 68, 173, .26);                   /* ortam ışığı: mor */
  --pr-bloom-2: rgba(230, 126, 34, .19);                   /* ortam ışığı: turuncu */
  --pr-overlay: rgba(20, 16, 32, .45);         /* modal perdesi */
  --pr-drop: rgba(40, 20, 70, .22);            /* drop-shadow() tek renk ister */
  --pr-veil: rgba(20, 16, 32, .62);            /* koyu görsel üstü örtü (iki temada koyu) */
  --pr-veil-zemin: rgba(246, 244, 250, .92);   /* koyu görselin üstünü SAYFA ZEMİNİNE çeken örtü */
  --pr-veil-zemin-yari: rgba(246, 244, 250, .76); /* aynı örtünün yarı kademesi: görsel seçilsin ama yazı okunsun */
  --pr-veil-zemin-2: rgba(238, 233, 245, .96);
  --pr-veil-sahne: rgba(246, 244, 250, .66);      /* giriş/kayıt sahnesi: görsel seçilsin (5 Eki) */
  --pr-veil-sahne-orta: rgba(246, 244, 250, .80);
  --pr-sahne-yazi: linear-gradient(90deg, rgba(246, 244, 250, .86) 0%, rgba(246, 244, 250, .62) 40%, rgba(246, 244, 250, 0) 66%); /* sola yaslı yazı sütunu ≥4.5 kalsın */
  --pr-card-scrim: rgba(255, 255, 255, .94);   /* yarı saydam kart (yapışkan çubuk, blur bant) */
  --pr-accent-wash: linear-gradient(100deg, rgba(142, 68, 173, .10), rgba(230, 126, 34, .08)); /* tonlu bant */

  /* metin */
  --pr-ink: #141020;                           /* başlık */
  --pr-text: #2A2438;                          /* gövde */
  --pr-text-2: #4F4863;                        /* ikincil */
  --pr-text-3: #6B6480;                        /* üçüncül (beyazda 5.4:1) */
  --pr-on-accent: #FFFFFF;                     /* turuncu/koyu dolgu üstü */
  --pr-on-accent-soft: rgba(255, 255, 255, .26); /* dolgu üstü yumuşak rozet/çizgi */

  /* marka */
  --pr-orange: #E67E22;                        /* ana CTA dolgusu */
  --pr-orange-h: #D96F12;                      /* CTA hover */
  --pr-orange-ink: #B23A0A;                    /* turuncu YAZI (kicker, vurgu; tonlu zeminde ≥4.5) */
  --pr-pop: #C2410C;                           /* pop turuncu yazı/rakam (beyazda 5.2:1) */
  --pr-shadow-accent: 0 10px 24px -12px rgba(230, 126, 34, .7), inset 0 -2px 0 rgba(0, 0, 0, .12);
  --pr-shadow-accent-h: 0 12px 30px -10px rgba(230, 126, 34, .85), inset 0 -2px 0 rgba(0, 0, 0, .12);
  --pr-violet: #7E3AA8;                        /* mor yazı/link */
  --pr-violet-2: #8E44AD;
  --pr-accent-bg: rgba(142, 68, 173, .08);     /* mor vurgu yüzeyi */
  --pr-accent-line: rgba(142, 68, 173, .32);
  --pr-pop-bg: rgba(217, 72, 15, .08);         /* turuncu chip yüzeyi */
  --pr-pop-line: rgba(217, 72, 15, .28);
  --pr-grad: linear-gradient(100deg, #9B3FD1 0%, #E8590C 100%);  /* gradyan yazı */
  --pr-grad-fill: linear-gradient(100deg, #C04CF5 0%, #FC6E31 100%); /* ince çizgi/çubuk */
  --pr-focus: rgba(142, 68, 173, .35);

  /* anlam renkleri: yazı / yüzey / çizgi */
  --pr-green: #166534;  --pr-green-bg: rgba(22, 163, 74, .09);  --pr-green-line: rgba(22, 163, 74, .35);
  --pr-red: #C62828;    --pr-red-bg: rgba(220, 38, 38, .08);    --pr-red-line: rgba(220, 38, 38, .32);
  --pr-amber: #8A4B06;  --pr-amber-bg: rgba(217, 119, 6, .1);   --pr-amber-line: rgba(217, 119, 6, .35);
  --pr-blue: #1D4ED8;   --pr-blue-bg: rgba(37, 99, 235, .08);   --pr-blue-line: rgba(37, 99, 235, .3);

  /* grafik (Chart.js JS'ten getComputedStyle ile okur) */
  --pr-danger-fill: #C62828;  --pr-success-fill: #15803D;   /* dolu düğme zemini (yazı beyaz) */
  --pr-tooltip-bg: #141020;   --pr-tooltip-text: #FFFFFF;
  --pr-chart-text: #4F4863;
  --pr-chart-grid: rgba(20, 16, 32, .08);

  /* tipografi ve hareket — temadan bağımsız */
  --pr-font: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --pr-mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
  --pr-r-sm: 10px;
  --pr-r: 14px;
  --pr-r-lg: 18px;
  --pr-ease: cubic-bezier(.2, .8, .2, 1);
}

body.pd-tema-gece,
body.pd-gece-bs {
  --pr-bg: #141020;
  --pr-bg-2: #22163A;
  --pr-dots: rgba(255, 255, 255, .045);
  --pr-glow: rgba(142, 68, 173, .38);
  --pr-card: #1C1530;
  --pr-card-2: #231A3A;
  --pr-sunken: rgba(255, 255, 255, .05);
  --pr-hover: rgba(255, 255, 255, .07);
  --pr-line: rgba(255, 255, 255, .09);
  --pr-line-2: rgba(255, 255, 255, .16);
  /* 'none' yazılamaz: birleşik bildirimlerde (inset 3px 0 0 X, var(--pr-shadow))
     değerin tamamını geçersiz kılıp box-shadow'u tümden düşürüyordu. Görünmez
     ama geçerli bir gölge aynı sonucu verir, birleşimi bozmaz. */
  --pr-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
  --pr-shadow-lg: 0 30px 70px -30px rgba(0, 0, 0, .7);
  --pr-card-edge: inset 0 1px 0 rgba(255, 255, 255, .06);
  --pr-bloom-1: rgba(142, 68, 173, .30);
  --pr-bloom-2: rgba(230, 126, 34, .16);
  --pr-overlay: rgba(8, 6, 14, .72);
  --pr-drop: rgba(0, 0, 0, .5);
  --pr-veil: rgba(20, 16, 32, .72);
  --pr-veil-zemin: rgba(20, 16, 32, .90);
  --pr-veil-zemin-yari: rgba(20, 16, 32, .74);
  --pr-veil-zemin-2: rgba(20, 16, 32, .95);
  --pr-veil-sahne: rgba(20, 16, 32, .90);         /* = veil-zemin; gece görünümü değişmez */
  --pr-veil-sahne-orta: rgba(20, 16, 32, .9275);  /* .90→.95 doğrusalının %55'i */
  --pr-sahne-yazi: linear-gradient(transparent, transparent); /* gece: katman yok */
  --pr-card-scrim: rgba(31, 24, 48, .95);
  --pr-accent-wash: linear-gradient(100deg, rgba(192, 76, 245, .18), rgba(252, 110, 49, .12));

  --pr-ink: #FFFFFF;
  --pr-text: #EDEAF2;
  --pr-text-2: #C9CDD3;
  --pr-text-3: #A29EB2;
  --pr-on-accent: #FFFFFF;
  --pr-on-accent-soft: rgba(255, 255, 255, .26);

  --pr-orange: #E67E22;
  --pr-orange-h: #F08A2E;
  --pr-orange-ink: #F39C12;
  --pr-pop: #FC6E31;
  --pr-shadow-accent: 0 10px 28px -12px rgba(230, 126, 34, .75), inset 0 -2px 0 rgba(0, 0, 0, .14);
  --pr-shadow-accent-h: 0 12px 30px -10px rgba(230, 126, 34, .85), inset 0 -2px 0 rgba(0, 0, 0, .14);
  --pr-violet: #D9B8FF;
  --pr-violet-2: #C586F2;
  --pr-accent-bg: rgba(186, 54, 239, .12);
  --pr-accent-line: rgba(192, 76, 245, .45);
  --pr-pop-bg: rgba(252, 110, 49, .12);
  --pr-pop-line: rgba(252, 110, 49, .35);
  --pr-grad: linear-gradient(100deg, #C04CF5 0%, #FC6E31 100%);
  --pr-grad-fill: linear-gradient(100deg, #C04CF5 0%, #FC6E31 100%);
  --pr-focus: rgba(192, 76, 245, .3);

  --pr-green: #4ADE80;  --pr-green-bg: rgba(74, 222, 128, .1);   --pr-green-line: rgba(74, 222, 128, .45);
  --pr-red: #F87171;    --pr-red-bg: rgba(248, 113, 113, .1);   --pr-red-line: rgba(248, 113, 113, .45);
  --pr-amber: #FBBF24;  --pr-amber-bg: rgba(251, 191, 36, .1);  --pr-amber-line: rgba(251, 191, 36, .45);
  --pr-blue: #93C5FD;   --pr-blue-bg: rgba(96, 165, 250, .1);   --pr-blue-line: rgba(96, 165, 250, .4);

  --pr-danger-fill: #DC2626;  --pr-success-fill: #16A34A;
  --pr-tooltip-bg: #2A2140;   --pr-tooltip-text: #FFFFFF;
  --pr-chart-text: #B9B5C8;
  --pr-chart-grid: rgba(255, 255, 255, .08);
}
body.pd-gece-bs, body.pd-tema-gece {
  --pr-font: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --pr-mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
  --pr-r-sm: 10px; --pr-r: 14px; --pr-r-lg: 18px;
  --pr-ease: cubic-bezier(.2, .8, .2, 1);
}

/* ------------------------------------------------------------------ kabuk -- */
body:is(.pd-tema-acik, .pd-tema-gece) { background: var(--pr-bg) !important; color: var(--pr-text); font-family: var(--pr-font); -webkit-font-smoothing: antialiased; }
body.pd-ruh main#main-content { background: var(--pr-bg); color: var(--pr-text); }

/* Ortam ışığı — açık tema düz bir düzlemdi: beyaz kart, açık zemin, aralarında
   hiçbir hava yok. Gece temada derinliği mor ışıklar veriyor; açıktaki karşılığı
   iki büyük yumuşak bloom + üstten gelen aydınlık + nokta dokusu. Sabit (fixed)
   DEĞİL: sayfa kaydıkça üst ışık geride kalır, alt bölümler sakinleşir. */
body.pd-tema-acik:is(.pd-ruh, .pd-ruh-nav) {
  background-image:
    radial-gradient(58% 40% at 10% 0%, var(--pr-bloom-1), transparent 62%),
    radial-gradient(50% 36% at 94% 4%, var(--pr-bloom-2), transparent 62%),
    radial-gradient(var(--pr-dots) 1px, transparent 1.3px),
    linear-gradient(180deg, #FFFFFF 0%, var(--pr-bg) 420px) !important;
  background-size: 1400px 760px, 1200px 640px, 22px 22px, auto !important;
  background-repeat: no-repeat, no-repeat, repeat, no-repeat !important;
  background-position: left top, right top, left top, left top !important;
  background-color: var(--pr-bg) !important;
}
/* Uygulama sayfasının <main>'i kendi düz zeminini basıp ışığı örtüyordu. */
body.pd-tema-acik.pd-ruh main#main-content { background: transparent; }
/* Sayfa boyunca yaşayan ışık: sabit bir katman, içeriğin ARKASINDA (z-index:-1
   gövdenin zemininin üstünde, içeriğin altında kalır). background-attachment:fixed
   yerine bunu kullanıyoruz — iOS'ta o özellik tökezliyor, bu pürüzsüz. */
body.pd-tema-acik:is(.pd-ruh, .pd-ruh-nav)::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    radial-gradient(46% 36% at 8% 4%, var(--pr-bloom-1), transparent 66%),
    radial-gradient(42% 32% at 96% 10%, var(--pr-bloom-2), transparent 66%),
    radial-gradient(52% 40% at 50% 104%, var(--pr-bloom-1), transparent 68%);
}
@media (prefers-reduced-motion: no-preference) {
  /* Kaydırmada ışığın sabit kalması derinliği kuran şey; hareket eklenmiyor. */
}
body.pd-tema-gece { color-scheme: dark; }
/* İşletim sistemi gece modundayken tarih/saat seçici, select açılır listesi ve
   oluk gibi yerel denetimler koyu geliyordu; açık tema onları da açığa çeker. */
body.pd-tema-acik { color-scheme: light; }

/* Açık tema menüsü: landing'in sade menüsü, aydınlık. (Gece temada menü
   pd-gece.css'in pd-gece-nav derisinden gelir.) */
body.pd-tema-acik .eduvista-nav {
  background: rgba(255, 255, 255, .86) !important;
  border-bottom: 1px solid var(--pr-line) !important;
  /* Menü içeriğin üstünde durmalı: saydam cam + altında yumuşak bir ayrım. */
  box-shadow: 0 1px 0 rgba(255, 255, 255, .8) inset, 0 8px 24px -18px rgba(40, 20, 70, .45) !important;
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}
body.pd-tema-acik .eduvista-nav .nav-link { color: var(--pr-text-2) !important; font-family: var(--pr-font); font-weight: 600; }
body.pd-tema-acik .eduvista-nav .nav-link:hover,
body.pd-tema-acik .eduvista-nav .nav-link.active { color: var(--pr-ink) !important; background: var(--pr-hover) !important; }
body.pd-tema-acik .eduvista-nav .nav-link::after { background: var(--pr-grad-fill) !important; }
body.pd-tema-acik .eduvista-nav .dropdown-menu {
  background: var(--pr-card) !important; border: 1px solid var(--pr-line) !important;
  border-radius: var(--pr-r) !important; box-shadow: var(--pr-shadow-lg) !important;
}
body.pd-tema-acik .eduvista-nav .dropdown-item { color: var(--pr-text) !important; }
body.pd-tema-acik .eduvista-nav .dropdown-item:hover,
body.pd-tema-acik .eduvista-nav .dropdown-item.active { background: var(--pr-hover) !important; color: var(--pr-ink) !important; }
body.pd-tema-acik .eduvista-nav .dropdown-item i { color: var(--pr-text-3); }
@media (max-width: 991.98px) {
  body.pd-tema-acik .eduvista-nav .navbar-collapse {
    background: var(--pr-card) !important; border: 1px solid var(--pr-line) !important; box-shadow: var(--pr-shadow-lg) !important;
  }
  body.pd-tema-acik .pd-account-toggle .fa-user::after {
    content: "Hesabım"; margin-left: .55rem;
    font: 600 1rem/1 var(--pr-font);
  }
}
body:is(.pd-tema-acik, .pd-tema-gece) .pd-tema-secim i { width: 1.1em; }

/* ------------------------------------------------------------------ footer --
   Footer temayı İZLER: açık temada aydınlık kapanış, gece temada pd-gece.css'in
   koyu derisi. base.html'deki footer stili gece varsayımlı (beyaz yazı,
   rgba(255,255,255,...)); aşağıdaki kurallar onu açık karşılıklarıyla ezer.
   Sınıf yokken (anahtar kapalı) hiçbiri eşleşmez → eski koyu footer. */
body.pd-tema-acik .modern-footer {
  background: var(--pr-bg-2) !important;
  color: var(--pr-text) !important;
  border-top: 1px solid var(--pr-line) !important;
  /* Tam genişlik kapanış bandı olan sayfalarda üst boşluk açık şerit bırakıyordu. */
  margin-top: 0 !important;
}
/* style.css: "footer * { color: white !important }" — açık footer'da bütün
   yazıyı beyaza çekiyor. Onu tek seferde geri alıp altta ton ton ayarlıyoruz. */
body.pd-tema-acik .modern-footer,
body.pd-tema-acik .modern-footer * { color: var(--pr-text-2) !important; }
body.pd-tema-acik .modern-footer a { color: var(--pr-text-2) !important; }
/* base.html deseni 100x100 döşüyor: koyu zeminde görünmezdi, açıkta silik bir
   dama tahtası çıkarıyor. Açık temada tek büyük ışık olarak çizilir. */
body.pd-tema-acik .modern-footer .footer-pattern {
  opacity: 1;
  background-size: 100% 100% !important;
  background-repeat: no-repeat;
  background-image:
    radial-gradient(60% 90% at 20% 0%, rgba(230, 126, 34, .07) 0%, transparent 70%),
    radial-gradient(60% 90% at 85% 100%, rgba(142, 68, 173, .09) 0%, transparent 70%);
}
body.pd-tema-acik .modern-footer .footer-title,
body.pd-tema-acik .modern-footer .brand-logo h4 {
  color: var(--pr-ink) !important; font-family: var(--pr-font); font-weight: 800; letter-spacing: -.02em;
}
body.pd-tema-acik .modern-footer .brand-description,
body.pd-tema-acik .modern-footer .newsletter-text,
body.pd-tema-acik .modern-footer .contact-item,
body.pd-tema-acik .modern-footer .footer-links a,
body.pd-tema-acik .modern-footer .legal-link,
body.pd-tema-acik .modern-footer .copyright { color: var(--pr-text-2) !important; }
/* Künye satırı ve PWA notu inline style ile #bbb yazıyor → !important şart. */
body.pd-tema-acik .modern-footer .footer-credit,
body.pd-tema-acik .modern-footer .footer-credit a { color: var(--pr-text-3) !important; }
/* Diğer footer metinleriyle aynı tonda olmalı; .text-muted (#6c757d) iki temada
   da sönük kalıyordu (gecede 4.14 kontrast). */
body:is(.pd-tema-acik, .pd-tema-gece) .modern-footer #pwa-not-available { color: var(--pr-text-2) !important; }
body.pd-tema-acik .modern-footer .footer-links a:hover,
body.pd-tema-acik .modern-footer .legal-link:hover,
body.pd-tema-acik .modern-footer .footer-credit a:hover { color: var(--pr-orange-ink) !important; }
body.pd-tema-acik .modern-footer .contact-item i,
body.pd-tema-acik .modern-footer .brand-logo i { color: var(--pr-orange-ink) !important; }
body.pd-tema-acik .modern-footer .social-link {
  background: var(--pr-card) !important; color: var(--pr-text-2) !important;
  box-shadow: inset 0 0 0 1px var(--pr-line-2); backdrop-filter: none;
}
body.pd-tema-acik .modern-footer .social-link:hover,
body.pd-tema-acik .modern-footer .social-link:hover * {
  color: var(--pr-on-accent) !important;
}
body.pd-tema-acik .modern-footer .social-link:hover {
  background: var(--pr-orange) !important; box-shadow: var(--pr-shadow-accent);
}
body.pd-tema-acik .modern-footer .footer-bottom { border-top-color: var(--pr-line) !important; }
/* Gradyan dolgulu PWA düğmesi yukarıdaki toplu kuralın dışında kalmalı. */
body.pd-tema-acik .modern-footer #pwa-install-footer-btn,
body.pd-tema-acik .modern-footer #pwa-install-footer-btn * { color: var(--pr-on-accent) !important; }
/* Kart logoları kendi renkleriyle durur; beyaz şerit yerine kart yüzeyi. */
body.pd-tema-acik .modern-footer .payment-logos {
  display: inline-flex; flex-wrap: nowrap; width: auto; max-width: 100%; gap: 12px;
  padding: 6px 14px; border-radius: 8px; background: var(--pr-card);
  box-shadow: inset 0 0 0 1px var(--pr-line);
}
body.pd-tema-acik .modern-footer .payment-logos .payment-logo { filter: none; opacity: 1; flex-shrink: 0; height: 18px; width: auto; max-width: none; max-height: none; }
body.pd-tema-acik .modern-footer .payment-logos .visa-logo { height: 15px; }
body.pd-tema-acik .modern-footer .payment-logos .mastercard-logo { height: 20px; }
@media (max-width: 768px) {
  body.pd-tema-acik .footer-brand { text-align: center; }
  body.pd-tema-acik .footer-brand .brand-logo { justify-content: center; }
}

/* ---------------------------------------------------------- dil yardımcıları --
   Sayfalar bu sınıfları ekleyerek landing kalıbını alır. pdg-* adları gece
   turunda şablonlara eklendi; aynı adlarla iki temada çalışır. */
body.pd-ruh .pdg-kick,
body.pd-ruh .pr-kick { display: block; margin-bottom: 12px; font: 800 12px/1 var(--pr-font); letter-spacing: .16em; text-transform: uppercase; color: var(--pr-orange-ink); }
body.pd-ruh .pdg-grad,
body.pd-ruh .pr-grad { background: var(--pr-grad); -webkit-background-clip: text; background-clip: text; color: transparent !important; }
body.pd-ruh .pr-mono { font-family: var(--pr-mono); font-weight: 800; letter-spacing: -.02em; }
body.pd-ruh .pr-chip { display: inline-block; padding: 7px 11px; border-radius: 8px; background: var(--pr-pop-bg); border: 1px solid var(--pr-pop-line); font: 800 13px/1 var(--pr-mono); color: var(--pr-pop); }

/* Sayfa başlık bandı: gradyan dolgu yok — zemin + nokta + mor ışık + ink başlık.
   Uygulama sayfasında landing'den daha sıkı (içerik ilk ekranda). */
body.pd-ruh .pdg-hero {
  position: relative;
  overflow: hidden;
  margin: 0 0 8px !important;
  padding: 56px 0 44px !important;
  text-align: center;
  color: var(--pr-ink);
  background:
    radial-gradient(var(--pr-dots) 1px, transparent 1.3px) 0 0 / 22px 22px,
    radial-gradient(70% 90% at 50% 0%, var(--pr-glow), transparent 70%),
    var(--pr-bg) !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
body.pd-ruh .pdg-hero::before,
body.pd-ruh .pdg-hero::after { display: none !important; }
body.pd-ruh .pdg-hero h1,
body.pd-ruh .pdg-hero .h1,
body.pd-ruh .pdg-hero .display-5 {
  font-family: var(--pr-font) !important;
  font-weight: 800 !important;
  letter-spacing: -.04em;
  font-size: clamp(30px, 4vw, 48px) !important;
  line-height: 1.06 !important;
  color: var(--pr-ink) !important;
  text-shadow: none !important;
}
body.pd-ruh .pdg-hero h1 i,
body.pd-ruh .pdg-hero .hero-icon i { background: var(--pr-grad); -webkit-background-clip: text; background-clip: text; color: transparent !important; }
body.pd-ruh .pdg-hero p,
body.pd-ruh .pdg-hero .lead { color: var(--pr-text-2) !important; opacity: 1 !important; max-width: 680px; margin-inline: auto; }
@media (max-width: 760px) {
  body.pd-ruh .pdg-hero { padding: 40px 0 32px !important; }
}

/* ------------------------------------------------ Bootstrap dil katmanı --
   Eski Bootstrap sayfalarının içeriğini landing diline çeker. Sayfanın kendi
   bileşenleri sayfa ekinde (body.pd-ruh .sayfa-sinifi) ayarlanır. */

/* Tipografi */
body.pd-ruh main h1, body.pd-ruh main h2, body.pd-ruh main h3,
body.pd-ruh main h4, body.pd-ruh main h5, body.pd-ruh main h6,
body.pd-ruh main .h1, body.pd-ruh main .h2, body.pd-ruh main .h3,
body.pd-ruh main .h4, body.pd-ruh main .h5, body.pd-ruh main .h6 { color: var(--pr-ink); font-family: var(--pr-font); letter-spacing: -.02em; }
body.pd-ruh main h1, body.pd-ruh main .h1, body.pd-ruh main h2, body.pd-ruh main .h2 { font-weight: 800; letter-spacing: -.035em; }
body.pd-ruh main h3, body.pd-ruh main .h3, body.pd-ruh main h4, body.pd-ruh main .h4 { font-weight: 800; }
body.pd-ruh main h5, body.pd-ruh main .h5, body.pd-ruh main h6, body.pd-ruh main .h6 { font-weight: 700; }
body.pd-ruh main p, body.pd-ruh main li, body.pd-ruh main dd, body.pd-ruh main td { color: var(--pr-text-2); }
body.pd-ruh main strong, body.pd-ruh main b, body.pd-ruh main dt { color: var(--pr-ink); }
body.pd-ruh main .text-muted, body.pd-ruh main .text-secondary { color: var(--pr-text-3) !important; }
body.pd-ruh main .text-dark { color: var(--pr-ink) !important; }
body.pd-ruh main .text-primary { color: var(--pr-violet) !important; }
body.pd-ruh main .text-success { color: var(--pr-green) !important; }
body.pd-ruh main .text-danger { color: var(--pr-red) !important; }
body.pd-ruh main .text-warning { color: var(--pr-amber) !important; }
body.pd-ruh main .text-info { color: var(--pr-blue) !important; }
body.pd-ruh main .lead { color: var(--pr-text); }
body.pd-ruh main a:not(.btn):not(.nav-link):not(.pdg-plain):not(.dropdown-item) { color: var(--pr-violet); }
body.pd-ruh main a:not(.btn):not(.nav-link):not(.pdg-plain):not(.dropdown-item):hover { color: var(--pr-ink); }
body.pd-ruh main hr { border-color: var(--pr-line-2); opacity: 1; }
body.pd-ruh main code { color: var(--pr-pop); }

/* Zeminler */
body.pd-ruh main .bg-light,
body.pd-ruh main .bg-white { background: var(--pr-card) !important; }

/* Kartlar */
body.pd-ruh main .card,
body.pd-ruh main .list-group-item {
  background: var(--pr-card) !important;
  border: 1px solid var(--pr-line) !important;
  color: var(--pr-text);
}
body.pd-ruh main .card { border-radius: var(--pr-r-lg) !important; box-shadow: var(--pr-shadow), var(--pr-card-edge); }
body.pd-ruh main .card-header,
body.pd-ruh main .card-footer { background: var(--pr-card-2) !important; border-color: var(--pr-line) !important; color: var(--pr-ink); }
body.pd-ruh main .card-header:first-child { border-radius: var(--pr-r-lg) var(--pr-r-lg) 0 0 !important; }
body.pd-ruh main .shadow,
body.pd-ruh main .shadow-sm { box-shadow: var(--pr-shadow), var(--pr-card-edge) !important; }
body.pd-ruh main .shadow-lg { box-shadow: var(--pr-shadow-lg), var(--pr-card-edge) !important; }
body.pd-ruh main .border { border-color: var(--pr-line-2) !important; }

/* Rozetler: dolu Bootstrap rozetleri yerine tonlu hap (chip dili) */
body:is(.pd-ruh, .pd-gece-bs) main .badge { font-family: var(--pr-font); font-weight: 700; letter-spacing: .01em; border-radius: 999px; }
body:is(.pd-ruh, .pd-gece-bs) main .badge.bg-primary { background: var(--pr-accent-bg) !important; color: var(--pr-violet) !important; box-shadow: inset 0 0 0 1px var(--pr-accent-line); }
body:is(.pd-ruh, .pd-gece-bs) main .badge.bg-success { background: var(--pr-green-bg) !important; color: var(--pr-green) !important; box-shadow: inset 0 0 0 1px var(--pr-green-line); }
body:is(.pd-ruh, .pd-gece-bs) main .badge.bg-danger { background: var(--pr-red-bg) !important; color: var(--pr-red) !important; box-shadow: inset 0 0 0 1px var(--pr-red-line); }
body:is(.pd-ruh, .pd-gece-bs) main .badge.bg-warning { background: var(--pr-amber-bg) !important; color: var(--pr-amber) !important; box-shadow: inset 0 0 0 1px var(--pr-amber-line); }
body:is(.pd-ruh, .pd-gece-bs) main .badge.bg-info { background: var(--pr-blue-bg) !important; color: var(--pr-blue) !important; box-shadow: inset 0 0 0 1px var(--pr-blue-line); }
body:is(.pd-ruh, .pd-gece-bs) main .badge.bg-secondary,
body:is(.pd-ruh, .pd-gece-bs) main .badge.bg-light,
body:is(.pd-ruh, .pd-gece-bs) main .badge.bg-dark { background: var(--pr-sunken) !important; color: var(--pr-text-2) !important; box-shadow: inset 0 0 0 1px var(--pr-line-2); }

/* Uyarılar */
body.pd-ruh main .alert { background: var(--pr-sunken); border: 1px solid var(--pr-line-2); border-radius: var(--pr-r); color: var(--pr-text); }
body.pd-ruh main .alert-info { background: var(--pr-blue-bg); border-color: var(--pr-blue-line); }
body.pd-ruh main .alert-warning { background: var(--pr-amber-bg); border-color: var(--pr-amber-line); }
body.pd-ruh main .alert-success { background: var(--pr-green-bg); border-color: var(--pr-green-line); }
body.pd-ruh main .alert-danger { background: var(--pr-red-bg); border-color: var(--pr-red-line); }
body.pd-ruh main .alert-primary { background: var(--pr-accent-bg); border-color: var(--pr-accent-line); }
body.pd-ruh main .alert p, body.pd-ruh main .alert li { color: var(--pr-text); }

/* Tablolar */
body.pd-ruh main .table { color: var(--pr-text-2); --bs-table-bg: transparent; --bs-table-striped-bg: var(--pr-sunken); --bs-table-hover-bg: var(--pr-hover); border-color: var(--pr-line-2); }
body.pd-ruh main .table th { color: var(--pr-ink); font-weight: 700; }
body.pd-ruh main .table thead th { font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; color: var(--pr-orange-ink); }
body.pd-ruh main .table > :not(caption) > * > * { background-color: transparent; border-color: var(--pr-line); color: inherit; }

/* Akordeon */
body.pd-ruh main .accordion-item { background: var(--pr-card) !important; border: 1px solid var(--pr-line) !important; border-radius: var(--pr-r) !important; overflow: hidden; }
body.pd-ruh main .accordion-button { background: transparent !important; color: var(--pr-ink) !important; font-weight: 700; box-shadow: none !important; }
body.pd-ruh main .accordion-button:not(.collapsed) { background: var(--pr-accent-bg) !important; }
body.pd-tema-gece main .accordion-button::after { filter: invert(1) brightness(1.6); }
/* Bootstrap'in açık akordeon oku sabit mavi (#0d6efd) data-URI: ink tonuna çekilir. */
body.pd-tema-acik main .accordion-button::after,
body.pd-tema-acik main .accordion-button:not(.collapsed)::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23141020'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}
body.pd-ruh main .accordion-body { color: var(--pr-text-2); }

/* Formlar */
body.pd-ruh main .form-control,
body.pd-ruh main .form-select,
body.pd-ruh main textarea,
body.pd-ruh main input[type="text"],
body.pd-ruh main input[type="email"],
body.pd-ruh main input[type="search"],
body.pd-ruh main input[type="password"],
body.pd-ruh main input[type="tel"],
body.pd-ruh main input[type="number"],
body.pd-ruh main input[type="date"],
body.pd-ruh main input[type="time"],
body.pd-ruh main input[type="datetime-local"],
body.pd-ruh main input[type="url"] {
  /* Alanlar yüzeye GÖMÜLÜ: beyaz kartın üstünde beyaz input düz bir düzlem
     bırakıyordu; çukur zemin + ince üst içgölge kartla arasına hava koyuyor. */
  background-color: var(--pr-sunken) !important;
  border: 1px solid var(--pr-line-2) !important;
  border-radius: var(--pr-r-sm);
  color: var(--pr-ink) !important;
  box-shadow: inset 0 1px 2px rgba(20, 16, 32, .05);
}
body.pd-tema-gece main .form-control,
body.pd-tema-gece main .form-select,
body.pd-tema-gece main textarea,
body.pd-tema-gece main input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="color"]):not([type="file"]) { box-shadow: inset 0 1px 2px rgba(0, 0, 0, .25); }
body.pd-tema-gece main .form-control,
body.pd-tema-gece main .form-select,
body.pd-tema-gece main textarea,
body.pd-tema-gece main input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="color"]):not([type="file"]) { background-color: var(--pr-sunken) !important; }
body.pd-ruh main .form-control::placeholder,
body.pd-ruh main textarea::placeholder,
body.pd-ruh main input::placeholder { color: var(--pr-text-3) !important; opacity: 1; }
body.pd-ruh main .form-control:focus,
body.pd-ruh main .form-select:focus,
body.pd-ruh main textarea:focus,
body.pd-ruh main input:focus {
  border-color: var(--pr-accent-line) !important;
  background-color: var(--pr-card) !important;   /* odakta yüzeye çıkar */
  box-shadow: 0 0 0 .2rem var(--pr-focus) !important;
}
body.pd-ruh main .form-control:disabled,
body.pd-ruh main .form-control[readonly] { background-color: var(--pr-sunken) !important; color: var(--pr-text-2) !important; }
body.pd-tema-acik main .form-select { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%234f4863' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e") !important; background-repeat: no-repeat !important; background-position: right .75rem center !important; background-size: 16px 12px !important; }
body.pd-tema-gece main .form-select { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23c9cdd3' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e") !important; background-repeat: no-repeat !important; background-position: right .75rem center !important; background-size: 16px 12px !important; }
body.pd-ruh main .form-select option { background: var(--pr-card); color: var(--pr-ink); }
body.pd-ruh main .form-label, body.pd-ruh main label { color: var(--pr-text-2); font-weight: 600; }
body.pd-ruh main .form-floating > label { color: var(--pr-text-3); font-weight: 500; }
body.pd-ruh main .form-floating > .form-control::placeholder { color: transparent !important; }
body.pd-ruh main .form-check-input { background-color: var(--pr-card); border-color: var(--pr-line-2); }
body.pd-ruh main .form-check-input:checked { background-color: var(--pr-orange); border-color: var(--pr-orange); }
body.pd-ruh main .form-text { color: var(--pr-text-3); }
body.pd-ruh main .input-group-text { background: var(--pr-sunken) !important; border-color: var(--pr-line-2) !important; color: var(--pr-text-2) !important; }

/* Düğmeler: landing kalıbı — turuncu dolu ana, çizgili ikincil */
body.pd-ruh main .btn { font-family: var(--pr-font); font-weight: 700; border-radius: var(--pr-r-sm); }
body.pd-ruh main .btn-primary,
body.pd-ruh main .btn-warning {
  background: var(--pr-orange) !important; border-color: var(--pr-orange) !important; color: var(--pr-on-accent) !important;
  box-shadow: var(--pr-shadow-accent);
}
body.pd-ruh main .btn-primary:hover,
body.pd-ruh main .btn-warning:hover { background: var(--pr-orange-h) !important; border-color: var(--pr-orange-h) !important; transform: translateY(-1px); }
body.pd-ruh main .btn-outline-primary,
body.pd-ruh main .btn-outline-secondary,
body.pd-ruh main .btn-light,
body.pd-ruh main .btn-outline-light,
body.pd-ruh main .btn-outline-dark,
body.pd-ruh main .btn-secondary {
  background: transparent !important; border: 1.5px solid var(--pr-line-2) !important; color: var(--pr-ink) !important; box-shadow: none !important;
}
body.pd-ruh main .btn-outline-primary:hover,
body.pd-ruh main .btn-outline-secondary:hover,
body.pd-ruh main .btn-light:hover,
body.pd-ruh main .btn-outline-light:hover,
body.pd-ruh main .btn-outline-dark:hover,
body.pd-ruh main .btn-secondary:hover { background: var(--pr-hover) !important; border-color: var(--pr-ink) !important; }
body.pd-ruh main .btn-danger { background: var(--pr-danger-fill) !important; border-color: var(--pr-danger-fill) !important; color: #fff !important; }
body.pd-ruh main .btn-outline-danger { background: transparent !important; border: 1.5px solid var(--pr-red-line) !important; color: var(--pr-red) !important; }
body.pd-ruh main .btn-outline-danger:hover { background: var(--pr-red-bg) !important; }
body.pd-ruh main .btn-success { background: var(--pr-success-fill) !important; border-color: var(--pr-success-fill) !important; color: #fff !important; }
body.pd-ruh main .btn-outline-success { background: transparent !important; border: 1.5px solid var(--pr-green-line) !important; color: var(--pr-green) !important; }
body.pd-ruh main .btn-check:checked + .btn,
body.pd-ruh main .btn-check:active + .btn,
body.pd-ruh main .btn.active {
  background: var(--pr-accent-bg) !important; border-color: var(--pr-accent-line) !important; color: var(--pr-violet) !important;
  box-shadow: inset 0 0 0 1px var(--pr-accent-line) !important;
}
body.pd-ruh main .btn:disabled,
body.pd-ruh main .btn.disabled {
  background: var(--pr-sunken) !important; border-color: var(--pr-line) !important;
  color: var(--pr-text-3) !important; box-shadow: none !important; transform: none !important; opacity: 1;
}
body.pd-ruh main .btn:focus-visible { outline: 3px solid var(--pr-orange-ink); outline-offset: 2px; box-shadow: none !important; }

/* Sekmeler / hap menüler */
body.pd-ruh main .nav-tabs { border-color: var(--pr-line); }
body.pd-ruh main .nav-tabs .nav-link { color: var(--pr-text-2); border: 0; border-bottom: 2px solid transparent; }
body.pd-ruh main .nav-tabs .nav-link.active { color: var(--pr-ink); background: transparent; border-bottom-color: var(--pr-orange); }
body.pd-ruh main .nav-pills .nav-link { color: var(--pr-text-2); border-radius: 999px; }
body.pd-ruh main .nav-pills .nav-link.active { color: var(--pr-ink); background: var(--pr-accent-bg); box-shadow: inset 0 0 0 1px var(--pr-accent-line); }

/* İlerleme çubuğu: marka gradyanı */
body.pd-ruh main .progress { background: var(--pr-sunken); border-radius: 999px; box-shadow: inset 0 1px 2px rgba(20, 16, 32, .08); }
body.pd-ruh main .progress-bar { background: var(--pr-grad-fill); }

/* Modal ve dropdown (main dışında da açılabilir) */
body:is(.pd-tema-acik, .pd-tema-gece) .modal-content { background: var(--pr-card); color: var(--pr-text); border: 1px solid var(--pr-line); border-radius: var(--pr-r-lg); box-shadow: var(--pr-shadow-lg); }
body:is(.pd-tema-acik, .pd-tema-gece) .modal-header, body:is(.pd-tema-acik, .pd-tema-gece) .modal-footer { border-color: var(--pr-line); }
body:is(.pd-tema-acik, .pd-tema-gece) .modal-title { color: var(--pr-ink); font-family: var(--pr-font); font-weight: 800; letter-spacing: -.02em; }
body.pd-tema-gece .modal-content .btn-close { filter: invert(1); }
body:is(.pd-tema-acik, .pd-tema-gece) .modal-backdrop.show { background: var(--pr-overlay); opacity: 1; }
body.pd-ruh main .dropdown-menu { background: var(--pr-card); border: 1px solid var(--pr-line); border-radius: var(--pr-r); box-shadow: var(--pr-shadow-lg); }
body.pd-ruh main .dropdown-item { color: var(--pr-text); }
body.pd-ruh main .dropdown-item:hover { background: var(--pr-hover); color: var(--pr-ink); }

/* Bootstrap tooltip / popover body'e eklenir */
body:is(.pd-tema-acik, .pd-tema-gece) .tooltip-inner { background: var(--pr-tooltip-bg); color: var(--pr-tooltip-text); font-family: var(--pr-font); font-weight: 600; border-radius: 8px; }
body.pd-tema-gece .tooltip-inner { box-shadow: 0 0 0 1px var(--pr-line-2); }
body:is(.pd-tema-acik, .pd-tema-gece) .popover { background: var(--pr-card); border-color: var(--pr-line); }
body:is(.pd-tema-acik, .pd-tema-gece) .popover-body { color: var(--pr-text); }

/* Flash bantları (main dışında) */
body:is(.pd-tema-acik, .pd-tema-gece) .flash-messages-container .alert {
  background: var(--pr-card); border: 1px solid var(--pr-line-2); border-left-width: 4px;
  border-radius: var(--pr-r); color: var(--pr-text); box-shadow: var(--pr-shadow);
}
body:is(.pd-tema-acik, .pd-tema-gece) .flash-messages-container .alert-danger { border-left-color: var(--pr-red); }
body:is(.pd-tema-acik, .pd-tema-gece) .flash-messages-container .alert-danger > i { color: var(--pr-red); }
body:is(.pd-tema-acik, .pd-tema-gece) .flash-messages-container .alert-warning { border-left-color: var(--pr-amber); }
body:is(.pd-tema-acik, .pd-tema-gece) .flash-messages-container .alert-warning > i { color: var(--pr-amber); }
body:is(.pd-tema-acik, .pd-tema-gece) .flash-messages-container .alert-success { border-left-color: var(--pr-green); }
body:is(.pd-tema-acik, .pd-tema-gece) .flash-messages-container .alert-success > i { color: var(--pr-green); }
body:is(.pd-tema-acik, .pd-tema-gece) .flash-messages-container .alert-info { border-left-color: var(--pr-blue); }
body:is(.pd-tema-acik, .pd-tema-gece) .flash-messages-container .alert-info > i { color: var(--pr-blue); }
body:is(.pd-tema-acik, .pd-tema-gece) .flash-messages-container .alert a { color: var(--pr-violet); }
body.pd-tema-gece .flash-messages-container .btn-close { filter: invert(1) brightness(1.6); opacity: .7; }

/* Admin Panel öğesi satır içi gradyan dolgulu: yazısı beyaz kalmalı. */
body.pd-ruh .eduvista-nav .dropdown-item[style*="linear-gradient"],
body.pd-ruh .eduvista-nav .dropdown-item[style*="linear-gradient"] i { color: #fff !important; }

/* Tablolar: responsive_system.css/ux_polish.css .table'a min-width ve nowrap
   veriyor (pd-ruh.css'ten SONRA yüklenir) → telefonda yatay kaydırma. */
body.pd-ruh main .table { min-width: 0 !important; --bs-table-accent-bg: transparent; }
body.pd-ruh main .table td { white-space: normal !important; }

/* Beyaz kapatma çarpısı açık temada kaybolmasın. */
body.pd-tema-acik .btn-close-white { filter: none; }

/* body'e eklenen modallar main dışında: rozet/uyarı dili orada da geçerli. */
body:is(.pd-tema-acik, .pd-tema-gece) .modal .badge { font-family: var(--pr-font); font-weight: 700; border-radius: 999px; }
body:is(.pd-tema-acik, .pd-tema-gece) .modal .badge.bg-primary { background: var(--pr-accent-bg) !important; color: var(--pr-violet) !important; box-shadow: inset 0 0 0 1px var(--pr-accent-line); }
body:is(.pd-tema-acik, .pd-tema-gece) .modal .badge.bg-success { background: var(--pr-green-bg) !important; color: var(--pr-green) !important; box-shadow: inset 0 0 0 1px var(--pr-green-line); }
body:is(.pd-tema-acik, .pd-tema-gece) .modal .badge.bg-danger { background: var(--pr-red-bg) !important; color: var(--pr-red) !important; box-shadow: inset 0 0 0 1px var(--pr-red-line); }
body:is(.pd-tema-acik, .pd-tema-gece) .modal .badge.bg-warning { background: var(--pr-amber-bg) !important; color: var(--pr-amber) !important; box-shadow: inset 0 0 0 1px var(--pr-amber-line); }
body:is(.pd-tema-acik, .pd-tema-gece) .modal .badge.bg-info { background: var(--pr-blue-bg) !important; color: var(--pr-blue) !important; box-shadow: inset 0 0 0 1px var(--pr-blue-line); }
body:is(.pd-tema-acik, .pd-tema-gece) .modal .badge.bg-secondary,
body:is(.pd-tema-acik, .pd-tema-gece) .modal .badge.bg-light { background: var(--pr-sunken) !important; color: var(--pr-text-2) !important; box-shadow: inset 0 0 0 1px var(--pr-line-2); }
body:is(.pd-tema-acik, .pd-tema-gece) .modal .alert { background: var(--pr-sunken); border: 1px solid var(--pr-line-2); border-radius: var(--pr-r); color: var(--pr-text); }
body:is(.pd-tema-acik, .pd-tema-gece) .modal .alert-info { background: var(--pr-blue-bg); border-color: var(--pr-blue-line); }
body:is(.pd-tema-acik, .pd-tema-gece) .modal .alert-warning { background: var(--pr-amber-bg); border-color: var(--pr-amber-line); }
body:is(.pd-tema-acik, .pd-tema-gece) .modal .alert-success { background: var(--pr-green-bg); border-color: var(--pr-green-line); }
body:is(.pd-tema-acik, .pd-tema-gece) .modal .alert-danger { background: var(--pr-red-bg); border-color: var(--pr-red-line); }
body:is(.pd-tema-acik, .pd-tema-gece) .modal .bg-light { background: var(--pr-card-2) !important; }
body:is(.pd-tema-acik, .pd-tema-gece) .modal .text-muted { color: var(--pr-text-3) !important; }

/* Ziyaretçi menüsündeki tema düğmesi (üyede menü öğesi olarak duruyor). */
body:is(.pd-tema-acik, .pd-tema-gece) .nav-tema-item .pd-tema-secim { display: inline-flex; align-items: center; }
@media (min-width: 992px) {
  body:is(.pd-tema-acik, .pd-tema-gece) .nav-tema-item .pd-tema-secim { width: 40px; height: 40px; justify-content: center; border-radius: 50%; padding: 0; }
}
body.pd-tema-gece .nav-tema-item .pd-tema-secim { color: #e7e3ee !important; }
body.pd-tema-gece .nav-tema-item .pd-tema-secim:hover { background: rgba(255, 255, 255, .08) !important; color: #fff !important; }
body.pd-tema-acik .nav-tema-item .pd-tema-secim:hover { background: var(--pr-hover) !important; }

/* ------------------------------------------------------- çerez bandı/modal --
   Her sayfada var ve body'nin sonunda duruyor; kendi mor gradyanıyla iki temada
   da yabancı kalıyordu. Tema işaretine bağlanır (ziyaretçi gece sayfaları da
   pd-tema-gece taşır). Sınıf yokken banner eski hâlinde kalır. */
body:is(.pd-tema-acik, .pd-tema-gece) .cookie-consent-banner {
  background: var(--pr-card) !important;
  color: var(--pr-text) !important;
  border-top: 1px solid var(--pr-line);
  box-shadow: var(--pr-shadow-lg);
}
body:is(.pd-tema-acik, .pd-tema-gece) .cookie-consent-banner .cookie-icon { color: var(--pr-orange-ink); opacity: 1; }
body:is(.pd-tema-acik, .pd-tema-gece) .cookie-consent-banner .cookie-message h5 {
  color: var(--pr-ink); font-family: var(--pr-font); font-weight: 800; letter-spacing: -.02em;
}
body:is(.pd-tema-acik, .pd-tema-gece) .cookie-consent-banner .cookie-message p { color: var(--pr-text-2) !important; opacity: 1; }
body:is(.pd-tema-acik, .pd-tema-gece) .cookie-consent-banner .cookie-link { color: var(--pr-violet); }
body:is(.pd-tema-acik, .pd-tema-gece) .cookie-consent-banner .cookie-link:hover { color: var(--pr-ink); }
body:is(.pd-tema-acik, .pd-tema-gece) .cookie-consent-banner .cookie-btn-accept {
  background: var(--pr-orange) !important; border: none !important; color: var(--pr-on-accent) !important;
  box-shadow: var(--pr-shadow-accent);
}
body:is(.pd-tema-acik, .pd-tema-gece) .cookie-consent-banner .cookie-btn-accept:hover {
  background: var(--pr-orange-h) !important; box-shadow: var(--pr-shadow-accent-h);
}
body:is(.pd-tema-acik, .pd-tema-gece) .cookie-consent-banner .cookie-btn-settings,
body:is(.pd-tema-acik, .pd-tema-gece) .cookie-consent-banner .cookie-btn-reject {
  background: transparent !important; border: 1.5px solid var(--pr-line-2) !important; color: var(--pr-ink) !important;
}
body:is(.pd-tema-acik, .pd-tema-gece) .cookie-consent-banner .cookie-btn-settings:hover,
body:is(.pd-tema-acik, .pd-tema-gece) .cookie-consent-banner .cookie-btn-reject:hover {
  background: var(--pr-hover) !important; border-color: var(--pr-ink) !important; color: var(--pr-ink) !important;
}

body:is(.pd-tema-acik, .pd-tema-gece) .cookie-settings-modal { background: var(--pr-overlay); }
body:is(.pd-tema-acik, .pd-tema-gece) .cookie-settings-content {
  background: var(--pr-card); border: 1px solid var(--pr-line); box-shadow: var(--pr-shadow-lg);
}
body:is(.pd-tema-acik, .pd-tema-gece) .cookie-settings-header {
  background: var(--pr-grad-fill); border-bottom-color: var(--pr-line);
}
body:is(.pd-tema-acik, .pd-tema-gece) .cookie-settings-header h3 { font-family: var(--pr-font); font-weight: 800; letter-spacing: -.02em; }
body:is(.pd-tema-acik, .pd-tema-gece) .cookie-settings-intro {
  background: var(--pr-accent-bg); color: var(--pr-text-2); border-left-color: var(--pr-violet-2);
}
body:is(.pd-tema-acik, .pd-tema-gece) .cookie-category {
  background: var(--pr-card-2); border-color: var(--pr-line);
}
body:is(.pd-tema-acik, .pd-tema-gece) .cookie-category:hover { border-color: var(--pr-accent-line); box-shadow: var(--pr-shadow); }
body:is(.pd-tema-acik, .pd-tema-gece) .cookie-category-info h5 { color: var(--pr-ink); }
body:is(.pd-tema-acik, .pd-tema-gece) .cookie-category-info .text-muted,
body:is(.pd-tema-acik, .pd-tema-gece) .cookie-category-details,
body:is(.pd-tema-acik, .pd-tema-gece) .cookie-category-details p { color: var(--pr-text-3) !important; }
body:is(.pd-tema-acik, .pd-tema-gece) .cookie-category-details strong { color: var(--pr-text-2); }
body:is(.pd-tema-acik, .pd-tema-gece) .cookie-toggle-label { background: var(--pr-line-2); }
body:is(.pd-tema-acik, .pd-tema-gece) .cookie-toggle input:checked + .cookie-toggle-label { background: var(--pr-success-fill); }
body:is(.pd-tema-acik, .pd-tema-gece) .cookie-toggle-slider { background: #fff; }
body:is(.pd-tema-acik, .pd-tema-gece) .cookie-settings-body .alert-info {
  background: var(--pr-blue-bg); border: 1px solid var(--pr-blue-line); color: var(--pr-text);
}
body:is(.pd-tema-acik, .pd-tema-gece) .cookie-settings-footer { border-top-color: var(--pr-line); }
body:is(.pd-tema-acik, .pd-tema-gece) .cookie-settings-footer .btn-primary {
  background: var(--pr-orange) !important; border-color: var(--pr-orange) !important; color: var(--pr-on-accent) !important;
}
body:is(.pd-tema-acik, .pd-tema-gece) .cookie-settings-footer .btn-outline-secondary {
  background: transparent !important; border: 1.5px solid var(--pr-line-2) !important; color: var(--pr-ink) !important;
}

/* ----------------------------------------------------------- kabuk cilası --
   Menü giriş düğmesi, kaydırma çubuğu, metin seçimi, odak halkası: ikisi de
   temaya bağlı. Tema işareti yoksa hiçbiri çalışmaz. */
body.pd-tema-acik .eduvista-nav .login-btn {
  border: 1.5px solid var(--pr-line-2) !important;
  background: transparent !important;
  color: var(--pr-ink) !important;
}
body.pd-tema-acik .eduvista-nav .login-btn:hover {
  border-color: var(--pr-ink) !important; background: var(--pr-hover) !important;
}

body:is(.pd-tema-acik, .pd-tema-gece) ::selection { background: var(--pr-accent-bg); color: var(--pr-ink); }
body:is(.pd-tema-acik, .pd-tema-gece) :focus-visible { outline-color: var(--pr-orange-ink); }

/* Kaydırma çubuğu: gece temada beyaz oluk sayfayı ikiye bölüyordu. */
body.pd-tema-gece { scrollbar-color: rgba(255, 255, 255, .22) transparent; }
body.pd-tema-acik { scrollbar-color: rgba(20, 16, 32, .22) transparent; }
body:is(.pd-tema-acik, .pd-tema-gece) ::-webkit-scrollbar { width: 12px; height: 12px; }
body:is(.pd-tema-acik, .pd-tema-gece) ::-webkit-scrollbar-track { background: transparent; }
body:is(.pd-tema-acik, .pd-tema-gece) ::-webkit-scrollbar-thumb {
  background: var(--pr-line-2); border-radius: 999px; border: 3px solid transparent; background-clip: content-box;
}
body:is(.pd-tema-acik, .pd-tema-gece) ::-webkit-scrollbar-thumb:hover { background: var(--pr-text-3); background-clip: content-box; }
