/* EYS Puan: Quiety teması üstüne site katmanı */

:root {
  --site-koyu: #000717;
  --site-mavi: #175cff;
  --site-cizgi: #e5e5e5;
  /* Katsayı için sıralı tek renk skalası (1 açık → 6 koyu) */
  --k1: #dbe6ff;
  --k2: #b3cbff;
  --k3: #7fa6ff;
  --k4: #4a80ff;
  --k5: #175cff;
  --k6: #0b3aa8;
  --pozitif: #2e7d32;
  --negatif: #c62828;
}

/* Tema "inherit" kullanıyor; <details> içeriği Chrome'da miras almadığı için açıkça veriyoruz */
*, *::before, *::after { box-sizing: border-box; }

/* Gövde metni sistem fontu (ek font indirmesi yok, SEO_BRIEF §9); başlıklar kendi sunucumuzdaki Plus Jakarta Sans */
body {
  color: #4f5663; /* tema #737373 kullanıyordu: açık mor/gri zeminlerde 4.5:1 altında */
  font-family: system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  background: #fff;
}
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6, .display-5, .display-6 {
  font-family: 'Plus Jakarta Sans', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
}

/* Erişilebilirlik (WCAG AA): temanın soluk ikincil metin rengi beyaz zeminde 4.5:1'i tutmuyordu */
:root, [data-bs-theme=light] { --bs-secondary-color: #5b6270; --bs-secondary-color-rgb: 91, 98, 112; --bs-body-color: #4f5663; --bs-body-color-rgb: 79, 86, 99; }
.text-muted { color: #5b6270 !important; }
/* Metin içindeki bağlantılar yalnızca renkle ayırt edilmesin */
main p a:not(.btn), main td a, main th a, main .icerik-metni li a:not(.btn), main .small a, .analiz-ad a, #simulator li > a, .footer-single-col p a { text-decoration: underline; text-underline-offset: 2px; }
/* Temanın bağlantı mavisi (#3a74ff) beyaz zeminde 4.09:1; koyulaştırıldı. Turuncu "tehlike" rengi de 2.8:1 idi. */
:root { --bs-link-color: #1d4ed8; --bs-link-color-rgb: 29, 78, 216; --bs-link-hover-color: #1e3a8a; }
/* :where() ile özgüllük düşük tutulur: koyu zemindeki bağlantılar (breadcrumb, degrade kutular) kendi renklerini korur */
:where(main) a:where(:not(.btn)) { color: #1d4ed8; }
.bg-gradient a:not(.btn), .page-header a:not(.btn) { color: rgba(255, 255, 255, 0.85); }
.text-danger { color: #c2410c !important; }
/* Tema beyaz kartlardaki metni de #737373 yapıyor (açık mor zeminde 4.47:1) */
.bg-white p, .bg-white li, .bg-white span, .bg-white label, .accordion-list li a { color: #4f5663; }

/* Sıralanabilir tablo başlıkları */
.sirala-btn { all: unset; cursor: pointer; display: inline-flex; align-items: center; gap: 4px; font-weight: inherit; }
.sirala-btn:focus-visible { outline: 2px solid var(--site-mavi, #175cff); outline-offset: 2px; border-radius: 4px; }
th[aria-sort="ascending"] .sirala-ok::after { content: '▲'; font-size: .7em; }
th[aria-sort="descending"] .sirala-ok::after { content: '▼'; font-size: .7em; }
.tablo-uzun { max-height: 70vh; overflow: auto; }
.tablo-uzun thead th { position: sticky; top: 0; background: #fff; z-index: 1; }
.lead-sm { font-size: 1.075rem; }
.donem-bandi .badge { white-space: normal; text-align: left; line-height: 1.4; }

.skip-link {
  position: absolute;
  z-index: 1000;
  top: 8px;
  left: 8px;
  background: #fff;
  padding: 8px 12px;
  border-radius: 8px;
}

/* Logo */
.site-logo { display: inline-flex; align-items: center; gap: 10px; font-family: 'Plus Jakarta Sans', sans-serif; font-weight: 800; font-size: 1.35rem; letter-spacing: -0.02em; color: var(--site-koyu); }
.site-logo.text-white { color: #fff; }
.site-logo-text .fw-normal { font-weight: 500; opacity: 0.85; }

/* Header */
.main-menu .nav-link { color: rgba(255, 255, 255, 0.85); font-weight: 500; }
.main-menu .nav-link.active, .main-menu .nav-link:hover { color: #fff; }
.navbar-dark.sticky-header.affix .main-menu .nav-link { color: #525252; }
.navbar-dark.sticky-header.affix .main-menu .nav-link.active,
.navbar-dark.sticky-header.affix .main-menu .nav-link:hover { color: var(--site-mavi); }
.navbar-dark.sticky-header.affix .site-logo.text-white { color: var(--site-koyu) !important; }
.navbar-dark.sticky-header.affix .navbar-toggler { color: var(--site-koyu) !important; }
.navbar-toggler { font-size: 1.6rem; top: 50%; transform: translateY(-50%); right: 12px; }
.mobil-menu .nav-link { color: var(--site-koyu); font-size: 1.1rem; padding: 12px 16px; }
.mobil-menu .nav-link.active { color: var(--site-mavi); }
.offcanvas .close-btn { background: none; border: 0; font-size: 1.2rem; }

/* Hero */
.hero-compact { padding: 150px 0 60px; }
.hero-compact h1 { letter-spacing: -0.02em; }
.hero-ozellik li { background: rgba(255, 255, 255, 0.08); border: 1px solid rgba(255, 255, 255, 0.15); border-radius: 999px; padding: 6px 14px; font-size: 0.92rem; }
.page-header { padding-top: 150px !important; padding-bottom: 60px !important; }
@media (max-width: 991px) {
  .hero-compact, .page-header { padding-top: 110px !important; }
}
.site-breadcrumb { --bs-breadcrumb-divider-color: rgba(255, 255, 255, 0.5); --bs-breadcrumb-item-active-color: rgba(255, 255, 255, 0.85); font-size: 0.9rem; }
.site-breadcrumb a { color: rgba(255, 255, 255, 0.7); text-decoration: none; }
.site-breadcrumb a:hover { color: #fff; }
.pt-60 { padding-top: 60px; }
.pb-60 { padding-bottom: 60px; }
@media (max-width: 767px) { .pt-60 { padding-top: 40px; } .pb-60 { padding-bottom: 40px; } }

/* Form */
.form-control, .form-select { border-radius: 10px; min-height: 44px; }
.form-select-sm { min-height: 38px; }
.form-label { font-weight: 500; }
.kayit { border: 1px solid var(--site-cizgi); transition: border-color 0.2s; }
.kayit-hatali { border-color: #f1b0b0; }
.kayit-baslik { color: var(--site-koyu); }

/* İlçe seçici */
.ilce-secici { position: relative; }
.ilce-liste { position: absolute; z-index: 20; left: 0; right: 0; top: calc(100% + 4px); max-height: 300px; overflow-y: auto; background: #fff; border: 1px solid var(--site-cizgi); border-radius: 10px; box-shadow: 0 10px 30px rgba(0, 7, 23, 0.12); margin: 0; padding: 4px; }
.ilce-liste li { display: flex; justify-content: space-between; gap: 12px; padding: 10px 12px; border-radius: 8px; cursor: pointer; color: var(--site-koyu); }
.ilce-liste li.aktif, .ilce-liste li:hover { background: #eef3ff; }
.ilce-liste .ilce-liste-bos { cursor: default; color: #5b6270; }
.hizli-ara .ilce-liste { text-align: left; }
.hizli-ara .form-label { color: var(--site-koyu) !important; }

/* Sonuç paneli */
@media (min-width: 992px) {
  .sonuc-panel { position: sticky; top: 90px; max-height: calc(100vh - 110px); overflow-y: auto; scrollbar-width: thin; }
}
.sonuc-puan { font-family: 'Plus Jakarta Sans', sans-serif; font-weight: 800; font-size: clamp(2.6rem, 6vw, 3.4rem); line-height: 1; letter-spacing: -0.02em; font-variant-numeric: tabular-nums; }
.sonuc-detay dd { font-variant-numeric: tabular-nums; font-weight: 600; }
.dogrulama-rozet { display: inline-block; background: rgba(255, 255, 255, 0.12); border-radius: 999px; padding: 4px 12px; }
.dokum summary { cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: center; }
.dokum summary::after { content: '+'; font-size: 1.3rem; color: var(--site-mavi); }
.dokum[open] summary::after { content: '–'; }
.dokum summary::-webkit-details-marker { display: none; }
.dokum td, .dokum th, .dokum-tablo td { font-variant-numeric: tabular-nums; }
.dokum abbr { text-decoration: none; margin-left: 2px; color: #b26a00; cursor: help; }
.dokum-toplam dd { font-variant-numeric: tabular-nums; }

/* Mobilde altta sabit puan çubuğu */
.mobil-puan-cubugu { position: fixed; left: 12px; right: 12px; bottom: 12px; z-index: 30; background: var(--site-koyu); border-radius: 14px; padding: 12px 16px; box-shadow: 0 8px 24px rgba(0, 7, 23, 0.3); }
.mobil-puan-cubugu strong { font-size: 1.25rem; font-variant-numeric: tabular-nums; }

/* Katsayı rozeti */
.katsayi-rozet { display: inline-flex; align-items: center; justify-content: center; min-width: 30px; height: 30px; padding: 0 8px; border-radius: 8px; font-weight: 700; font-variant-numeric: tabular-nums; color: var(--site-koyu); }
.katsayi-rozet.k1 { background: var(--k1); }
.katsayi-rozet.k2 { background: var(--k2); }
.katsayi-rozet.k3 { background: var(--k3); }
.katsayi-rozet.k4 { background: var(--k4); color: #fff; }
.katsayi-rozet.k5 { background: var(--k5); color: #fff; }
.katsayi-rozet.k6 { background: var(--k6); color: #fff; }
.katsayi-rozet.katsayi-yok { background: #f0f0f0; color: #5b6270; }
.katsayi-buyuk { min-width: 64px; height: 64px; font-size: 2rem; border-radius: 14px; }
.degisim-rozet { background: #fff4d6; color: #7a5200; font-weight: 600; }
.degisim-satir td { background: #fffaf0; }

/* Özet kartları */
.ozet-kart { background: #f7f9ff; border: 1px solid #e3eaff; }
.ozet-deger { font-family: 'Plus Jakarta Sans', sans-serif; font-weight: 700; font-size: 1.6rem; font-variant-numeric: tabular-nums; }

/* Grafik */
.katsayi-grafik { position: relative; }
.katsayi-grafik svg { width: 100%; height: auto; display: block; overflow: visible; }
.katsayi-grafik .izgara { stroke: #ececec; stroke-width: 1; }
.katsayi-grafik .eksen { fill: #5b6270; font-size: 12px; font-family: system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; }
.katsayi-grafik .cizgi { stroke: var(--site-mavi); stroke-width: 2; stroke-linejoin: round; }
.katsayi-grafik .isaret { fill: var(--site-mavi); stroke: #fff; stroke-width: 2; }
.katsayi-grafik .hedef { fill: transparent; cursor: pointer; }
.katsayi-grafik .grafik-nokta:focus { outline: none; }
.katsayi-grafik .grafik-nokta:focus .isaret, .katsayi-grafik .grafik-nokta.aktif .isaret { r: 7; }
.grafik-ipucu { position: absolute; pointer-events: none; background: var(--site-koyu); color: #fff; font-size: 0.82rem; padding: 6px 10px; border-radius: 8px; white-space: nowrap; }

/* Analiz */
.grup-btn { border: 1px solid var(--site-cizgi); background: #fff; border-radius: 999px; padding: 8px 16px; font-weight: 600; }
.grup-btn .badge { background: #f0f0f0; color: var(--site-koyu); margin-left: 4px; }
.grup-btn[aria-pressed='true'] { background: var(--site-koyu); color: #fff; border-color: var(--site-koyu); }
.grup-btn[aria-pressed='true'] .badge { background: rgba(255, 255, 255, 0.2); color: #fff; }
.grup-rahat::before, .grup-sinirda::before, .grup-zor::before, .grup-veriYok::before { content: ''; display: inline-block; width: 10px; height: 10px; border-radius: 50%; margin-right: 8px; }
.grup-rahat::before { background: var(--pozitif); }
.grup-sinirda::before { background: #e0a100; }
.grup-zor::before { background: var(--negatif); }
.grup-veriYok::before { background: #a3a3a3; }
.analiz-satir { display: grid; grid-template-columns: 1fr auto auto; gap: 12px 16px; align-items: center; padding: 12px 0; border-bottom: 1px solid var(--site-cizgi); }
.analiz-veri { display: flex; align-items: center; gap: 10px; }
.analiz-fark { text-align: right; font-weight: 700; font-variant-numeric: tabular-nums; min-width: 64px; }
.analiz-fark.pozitif { color: var(--pozitif); }
.analiz-fark.negatif { color: var(--negatif); }
.mini-grafik .cizgi { stroke: var(--site-mavi); stroke-width: 2; stroke-linejoin: round; stroke-linecap: round; }
.mini-grafik .isaret { fill: var(--site-mavi); }
.mini-grafik .referans { stroke: #5b6270; stroke-width: 1; stroke-dasharray: 3 3; }
@media (max-width: 575px) {
  .analiz-satir { grid-template-columns: 1fr auto; }
  .analiz-veri { grid-column: 1 / -1; grid-row: 2; }
  .analiz-fark { grid-row: 1; grid-column: 2; }
}

/* Listeler */
.il-izgara { columns: 2; column-gap: 24px; }
@media (min-width: 768px) { .il-izgara { columns: 4; } }
@media (min-width: 1200px) { .il-izgara { columns: 6; } }
.il-izgara li { padding: 4px 0; break-inside: avoid; }
.il-izgara-dar { columns: 2 !important; }
.ilce-link-listesi li a { padding: 6px 0; text-decoration: none; color: var(--site-koyu); border-bottom: 1px dashed var(--site-cizgi); }
.ilce-link-listesi li a:hover span:first-child { color: var(--site-mavi); }
.il-tablo th a, .zaman-tablo a { text-decoration: none; }
.taban-satir td { background: #f4fbf4; }

.icerik-metni h2 { margin-bottom: 1rem; }
.formul-kutu { background: #f7f9ff; border: 1px solid #e3eaff; font-size: 1.05rem; }

.faq-accordion .accordion-button { font-weight: 600; }
.footer-section .footer-nav-list li a { opacity: 0.8; }
.footer-section h3 { color: #fff; }
.resmi-degil { opacity: 0.85; }

/* Mobilde altta sabit çubuk footer'ı örtmesin */
@media (max-width: 991px) { .footer-bottom { padding-bottom: 80px !important; } }

/* ---------- Tarih seçici (flatpickr) ---------- */
.tarih-alani, .flatpickr-input.form-control {
  padding-right: 44px;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23175cff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3crect x='3' y='4.5' width='18' height='17' rx='3'/%3e%3cpath d='M3 9.5h18M8 2.5v4M16 2.5v4'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right 14px center;
  background-size: 18px;
  cursor: pointer;
}
.flatpickr-input.form-control:disabled { background-color: #f3f4f6; cursor: not-allowed; opacity: 0.7; }
.flatpickr-input.form-control.active { border-color: var(--site-mavi); box-shadow: 0 0 0 4px rgba(23, 92, 255, 0.12); }

.flatpickr-calendar {
  font-family: system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  border: 1px solid #e3eaff;
  border-radius: 16px;
  box-shadow: 0 20px 50px rgba(0, 7, 23, 0.16), 0 2px 6px rgba(0, 7, 23, 0.06);
  padding: 10px 8px 12px;
  width: auto;
}
.flatpickr-calendar.arrowTop::before, .flatpickr-calendar.arrowTop::after,
.flatpickr-calendar.arrowBottom::before, .flatpickr-calendar.arrowBottom::after { display: none; }
.flatpickr-calendar.open { animation: tarihAc 0.16s ease-out; }
@keyframes tarihAc { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }

/* Başlık: ay açılır listesi + yıl */
.flatpickr-months { align-items: center; padding: 2px 4px 8px; }
.flatpickr-months .flatpickr-month { height: 40px; color: var(--site-koyu); fill: var(--site-koyu); }
.flatpickr-current-month { font-size: 1rem; font-weight: 700; padding-top: 6px; display: flex; align-items: center; justify-content: center; gap: 6px; }
.flatpickr-current-month .flatpickr-monthDropdown-months {
  font-weight: 700; border-radius: 8px; padding: 4px 6px; appearance: auto; background: transparent;
}
.flatpickr-current-month .flatpickr-monthDropdown-months:hover,
.flatpickr-current-month input.cur-year:hover { background: #eef3ff; }
.flatpickr-current-month .numInputWrapper { width: 4.2em; border-radius: 8px; }
.flatpickr-current-month input.cur-year { font-weight: 700; padding: 4px 6px; border-radius: 8px; }
.flatpickr-months .flatpickr-prev-month, .flatpickr-months .flatpickr-next-month {
  top: 12px; height: 36px; width: 36px; padding: 10px; border-radius: 10px; color: var(--site-koyu); fill: var(--site-koyu);
}
.flatpickr-months .flatpickr-prev-month { left: 8px; }
.flatpickr-months .flatpickr-next-month { right: 8px; }
.flatpickr-months .flatpickr-prev-month:hover, .flatpickr-months .flatpickr-next-month:hover { background: #eef3ff; }
.flatpickr-months .flatpickr-prev-month:hover svg, .flatpickr-months .flatpickr-next-month:hover svg { fill: var(--site-mavi); }

/* Gün adları ve günler */
span.flatpickr-weekday { color: #8a8f98; font-weight: 600; font-size: 0.78rem; }
.flatpickr-day {
  border-radius: 10px; border: 0; color: var(--site-koyu); font-weight: 500;
  max-width: 40px; height: 40px; line-height: 40px; margin: 1px 0;
}
.flatpickr-day:hover, .flatpickr-day:focus { background: #eef3ff; }
.flatpickr-day.today { box-shadow: inset 0 0 0 1.5px var(--site-mavi); color: var(--site-mavi); font-weight: 700; }
.flatpickr-day.today:hover { background: #eef3ff; color: var(--site-mavi); }
.flatpickr-day.selected, .flatpickr-day.selected:hover, .flatpickr-day.selected:focus,
.flatpickr-day.selected.today {
  background: var(--site-mavi); color: #fff; box-shadow: 0 4px 12px rgba(23, 92, 255, 0.35);
}
.flatpickr-day.prevMonthDay, .flatpickr-day.nextMonthDay { color: #c4c7cd; }
.flatpickr-day.flatpickr-disabled, .flatpickr-day.flatpickr-disabled:hover { color: #d4d4d4; background: none; }

/* Ay seçici eklentisi */
.flatpickr-monthSelect-months { margin: 6px 4px 0; gap: 4px; }
.flatpickr-monthSelect-month {
  border-radius: 10px; border: 0; color: var(--site-koyu); font-weight: 500; padding: 10px 0; margin: 0; width: calc(33.33% - 3px);
}
.flatpickr-monthSelect-month:hover, .flatpickr-monthSelect-month:focus { background: #eef3ff; }
.flatpickr-monthSelect-month.selected, .flatpickr-monthSelect-month.selected:hover {
  background: var(--site-mavi); color: #fff; box-shadow: 0 4px 12px rgba(23, 92, 255, 0.35);
}
.flatpickr-monthSelect-month.today { box-shadow: inset 0 0 0 1.5px var(--site-mavi); }

@media (max-width: 400px) {
  .flatpickr-calendar { max-width: calc(100vw - 24px); }
}

/* ---------- Strateji simülatörü ---------- */
.sim-kart { border: 1px solid var(--site-cizgi); }
.sim-ad { border-color: transparent; padding-left: 4px; }
.sim-ad:hover, .sim-ad:focus { border-color: var(--site-cizgi); }
/* Varsayımsal kayıtlar gerçeklerden ayrışsın: kesikli mor kenar */
.sim-kayit { border: 1.5px dashed #8b5cf6; border-radius: 12px; background: #faf7ff; }
.sim-rozet { background: #ede9fe; color: #5b21b6 !important; font-weight: 600; }
.sim-puan-kutu { background: #f7f9ff; border: 1px solid #e3eaff; }
.sim-puan { font-family: 'Plus Jakarta Sans', sans-serif; font-weight: 800; font-size: 2rem; line-height: 1.1; font-variant-numeric: tabular-nums; }
.sim-tablo td, .sim-tablo th { font-variant-numeric: tabular-nums; }
.sim-katsayi-liste li { padding: 6px 0; border-bottom: 1px dashed var(--site-cizgi); }
.sim-katsayi-liste .katsayi-rozet { min-width: 24px; height: 24px; font-size: 0.8rem; margin: 0 6px; }


/* "En çok aranan ilçeler": uzun ilçe adları sığsın diye iki sütun, ad ve il alt alta değil yan yana */
.populer-liste { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.5rem 1.25rem; }
.populer-liste li { min-width: 0; overflow-wrap: anywhere; }
