/* =====================================================================
   STK Web - dernek siteleri ön yüz stilleri (tokdef.paflima.com temel alındı; Bootstrap 5, mobile-first)
   Tema: --site-ana (ana renk) ve --site-vurgu (vurgu) header.asp içinde siteye göre yazılır.
   ===================================================================== */
:root {
  --site-ana: #0b2545;
  --site-vurgu: #a4161a;
  --tk-navy: var(--site-ana);
  --tk-navy-2: color-mix(in srgb, var(--site-ana) 80%, #fff);
  --tk-red: var(--site-vurgu);
  --tk-red-2: color-mix(in srgb, var(--site-vurgu) 85%, #fff);
  --tk-gold: #e0a100;
  --tk-blue: var(--site-vurgu);
  --tk-blue-text: var(--site-vurgu);
  --tk-bg: #f5f7fa;
  --tk-text: #1f2933;
  --tk-muted: #5f6b7a;
  --tk-radius: 14px;
  --tk-shadow: 0 6px 24px rgba(11, 37, 69, .08);
  --bs-primary: var(--site-ana);
  --bs-primary-rgb: 11, 37, 69;
  --bs-link-color: var(--tk-navy-2);
  --bs-link-hover-color: var(--site-vurgu);
  --bs-body-font-family: "Segoe UI", system-ui, -apple-system, Roboto, "Helvetica Neue", Arial, sans-serif;
}

body { background: var(--tk-bg); color: var(--tk-text); padding-bottom: 68px; }
@media (min-width: 992px) { body { padding-bottom: 0; } }
img { max-width: 100%; height: auto; }
a { text-decoration: none; }
.skip-link { position: absolute; z-index: 2000; top: .5rem; left: .5rem; background: #fff; padding: .5rem 1rem; }

/* Butonlar */
.btn { border-radius: 10px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
.btn-sm { min-height: 34px; }
.btn-primary { --bs-btn-bg: var(--tk-navy); --bs-btn-border-color: var(--tk-navy); --bs-btn-hover-bg: var(--tk-navy-2); --bs-btn-hover-border-color: var(--tk-navy-2); --bs-btn-active-bg: var(--tk-navy-2); }
.btn-accent { background: var(--tk-red); border-color: var(--tk-red); color: #fff; }
.btn-accent:hover, .btn-accent:focus { background: var(--tk-red-2); border-color: var(--tk-red-2); color: #fff; }
.btn-outline-primary { --bs-btn-color: var(--tk-navy); --bs-btn-border-color: var(--tk-navy); --bs-btn-hover-bg: var(--tk-navy); --bs-btn-hover-border-color: var(--tk-navy); }

/* Üst bar ve header */
.topbar { background: var(--tk-navy); color: #cfd8e3; font-size: .85rem; padding: .4rem 0; }
.topbar a { color: #cfd8e3; }
.topbar a:hover { color: #fff; }
.site-header { background: #fff; box-shadow: 0 2px 12px rgba(0,0,0,.06); }
.site-header .navbar { padding: .5rem 0; }
.navbar-brand img { width: 52px; height: 52px; }
.brand-text { display: flex; flex-direction: column; justify-content: center; line-height: 1.12; color: var(--tk-navy);
  padding-left: .7rem; border-left: 3px solid var(--tk-blue); }
.brand-text strong { font-size: 1.45rem; font-weight: 800; letter-spacing: 2px; }
.brand-text small { font-size: .74rem; font-weight: 700; color: var(--tk-blue-text); letter-spacing: .2px; white-space: nowrap; }
@media (min-width: 576px) {
  .navbar-brand img { width: 62px; height: 62px; }
  .brand-text strong { font-size: 1.7rem; }
  .brand-text small { font-size: .9rem; }
}
@media (min-width: 1200px) {
  .navbar-brand img { width: 68px; height: 68px; }
  .brand-text strong { font-size: 1.95rem; letter-spacing: 2.5px; }
  .brand-text small { font-size: 1.02rem; }
}
/* lg aralığında menü 8 öğe olduğu için başlık biraz küçülür, satır kırılmaz */
@media (min-width: 992px) and (max-width: 1199.98px) {
  .brand-text strong { font-size: 1.5rem; }
  .brand-text small { font-size: .78rem; }
  .navbar .nav-link { padding-left: .6rem; padding-right: .6rem; }
}
.navbar-toggler { border: 0; font-size: 1.5rem; color: var(--tk-navy); width: 48px; height: 48px; }
.navbar-toggler:focus { box-shadow: none; }
.navbar .nav-link { color: var(--tk-text); font-weight: 500; padding: .75rem 1rem; border-radius: 8px; }
.navbar .nav-link:hover, .navbar .nav-link.active { color: var(--tk-red); }
.dropdown-menu { border: 0; box-shadow: var(--tk-shadow); border-radius: 12px; padding: .5rem; }
.dropdown-item { border-radius: 8px; padding: .6rem .9rem; }
.dropdown-item:active { background: var(--tk-navy); }
@media (max-width: 991.98px) {
  .offcanvas { max-width: 86vw; }
  .navbar .nav-link { font-size: 1.05rem; border-bottom: 1px solid #eef1f5; border-radius: 0; }
  .dropdown-menu { box-shadow: none; background: var(--tk-bg); }
}
@media (min-width: 992px) {
  .navbar .dropdown:hover > .dropdown-menu { display: block; margin-top: 0; }
}

/* Mobil alt menü */
.mobile-dock { position: fixed; left: 0; right: 0; bottom: 0; z-index: 1030; display: flex; background: #fff;
  border-top: 1px solid #e3e8ef; padding-bottom: env(safe-area-inset-bottom); box-shadow: 0 -4px 16px rgba(0,0,0,.06); }
.mobile-dock a { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px;
  min-height: 60px; color: var(--tk-muted); font-size: .7rem; }
.mobile-dock a i { font-size: 1.15rem; }
.mobile-dock a.active { color: var(--tk-red); }

/* Hero / slider */
.hero { position: relative; background: var(--tk-navy); color: #fff; overflow: hidden; }
.hero .carousel-item, .hero .hero-static { height: 440px; }
@media (min-width: 992px) { .hero .carousel-item, .hero .hero-static { height: 520px; } }
.hero .carousel-indicators { margin-bottom: 2.25rem; }
.hero .carousel-control-prev, .hero .carousel-control-next { width: 6%; }
@media (max-width: 991.98px) { .hero .carousel-control-prev, .hero .carousel-control-next { display: none; } }

/* Banner: tam genişlik görsel */
.hero-banner picture, .hero-banner img { display: block; width: 100%; height: 100%; }
.hero-banner img { object-fit: cover; object-position: center; }
.hero-banner-caption { position: absolute; inset: auto 0 0 0; padding: 4rem 0 3.5rem;
  background: linear-gradient(transparent, rgba(8,26,51,.88)); }
.hero-banner-caption h2 { font-size: clamp(1.4rem, 4vw, 2.6rem); font-weight: 800; max-width: 820px; text-shadow: 0 2px 12px rgba(0,0,0,.35); }
.hero-banner-caption p { max-width: 720px; font-size: 1.1rem; opacity: .92; }

/* Haber manşeti: bulanık arka plan + net fotoğraf kartı (düşük çözünürlüklü fotoğraflar için de iyi görünür) */
.hero-news { position: relative; background: linear-gradient(135deg, var(--tk-navy) 0%, var(--tk-navy-2) 60%, color-mix(in srgb, var(--site-vurgu) 60%, #000) 130%); }
.hero-blur { position: absolute; inset: -30px; background-size: cover; background-position: center;
  filter: blur(4px) brightness(.4); transform: scale(1.05); }
@media (min-width: 992px) { .hero-blur { filter: blur(22px) brightness(.38) saturate(1.2); } }
.hero-news::after { content: ""; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(90deg, color-mix(in srgb, var(--site-ana) 85%, transparent) 0%, color-mix(in srgb, var(--site-ana) 35%, transparent) 70%, color-mix(in srgb, var(--site-ana) 15%, transparent) 100%); }
.hero-news .container { z-index: 2; }
.hero-title { font-size: clamp(1.45rem, 4.2vw, 2.6rem); font-weight: 800; line-height: 1.2; margin-bottom: .75rem; }
.hero-title a { color: #fff; }
.hero-title a:hover { color: #ffd6d6; }
.hero-text { font-size: 1.1rem; opacity: .9; max-width: 640px; }
.hero-photo { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 18px; border: 4px solid rgba(255,255,255,.9);
  box-shadow: 0 24px 60px rgba(0,0,0,.45); transform: rotate(1.5deg); }
.hero-logo { display: block; width: 320px; height: 320px; margin-left: auto; filter: drop-shadow(0 18px 40px rgba(0,0,0,.4)); }
.hero-static { padding: 0; }

/* Sayfa başlığı */
.page-hero { background: linear-gradient(120deg, var(--tk-navy), var(--tk-navy-2)); color: #fff; padding: 2rem 0 1.75rem; }
.page-hero .breadcrumb { --bs-breadcrumb-divider-color: rgba(255,255,255,.5); --bs-breadcrumb-item-active-color: rgba(255,255,255,.75); font-size: .85rem; }
.page-hero .breadcrumb a { color: #fff; }
.page-title { font-size: clamp(1.4rem, 4vw, 2.2rem); font-weight: 700; margin: 0; }
.page-sub { opacity: .8; }

/* Bölümler */
.section { padding: 2.5rem 0; }
@media (min-width: 992px) { .section { padding: 4rem 0; } }
.section-title { display: flex; justify-content: space-between; align-items: end; gap: 1rem; margin-bottom: 1.5rem; }
.section-title h2 { font-size: clamp(1.25rem, 3vw, 1.75rem); font-weight: 700; color: var(--tk-navy); margin: 0; position: relative; padding-bottom: .5rem; }
.section-title h2::after { content: ""; position: absolute; left: 0; bottom: 0; width: 48px; height: 4px; background: var(--tk-red); border-radius: 4px; }

/* Kartlar */
.card-tk { background: #fff; border: 0; border-radius: var(--tk-radius); box-shadow: var(--tk-shadow); overflow: hidden; height: 100%; transition: transform .15s ease, box-shadow .15s ease; }
.card-tk:hover { transform: translateY(-3px); box-shadow: 0 12px 30px rgba(11,37,69,.12); }
.card-tk .card-img-top { aspect-ratio: 16/10; object-fit: cover; background: #e9eef4; }
.card-tk .card-body { padding: 1.1rem 1.2rem; }
.card-tk .card-title { font-size: 1.05rem; font-weight: 600; color: var(--tk-navy); line-height: 1.35; }
.card-tk .meta { font-size: .8rem; color: var(--tk-muted); }
.stretched-link:focus-visible { outline: 3px solid var(--tk-gold); }
.badge-cat { background: rgba(164,22,26,.1); color: var(--tk-red); font-weight: 600; }

/* Dernek kartı */
.dernek-card .avatar { width: 56px; height: 56px; border-radius: 14px; background: var(--tk-navy); color: #fff; display: flex;
  align-items: center; justify-content: center; font-weight: 700; font-size: 1.2rem; flex-shrink: 0; overflow: hidden; }
.dernek-card .avatar img { width: 100%; height: 100%; object-fit: contain; }
.dernek-card .avatar:has(img) { background: #fff; border: 1px solid #e3e8ef; }
.dernek-card .actions .btn { flex: 1; }
.dernek-iletisim { font-size: .9rem; border-top: 1px solid #eef1f5; padding-top: .75rem; display: grid; gap: .35rem; }
.dernek-iletisim > div { display: flex; gap: .5rem; min-width: 0; }
.dernek-iletisim dt { font-weight: 600; color: var(--tk-muted); width: 104px; flex-shrink: 0; }
.dernek-iletisim dt i { color: var(--tk-red); margin-right: .3rem; }
.dernek-iletisim dd { margin: 0; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dernek-iletisim dd.dd-adres { white-space: normal; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; font-size: .85rem; }

/* İstatistik */
.stats { background: var(--tk-navy); color: #fff; }
.stat { text-align: center; padding: 1.25rem .5rem; }
.stat .num { font-size: clamp(1.6rem, 5vw, 2.6rem); font-weight: 800; color: var(--tk-gold); line-height: 1; }
.stat .lbl { font-size: .85rem; opacity: .8; margin-top: .35rem; }

/* CTA */
.cta { background: linear-gradient(120deg, var(--tk-red), color-mix(in srgb, var(--site-vurgu) 55%, #000)); color: #fff; border-radius: var(--tk-radius); padding: 2rem; }

/* Etkinlik */
.event-date { width: 76px; min-width: 76px; text-align: center; border-radius: 12px; background: var(--tk-navy); color: #fff; padding: .45rem 0; }
.event-date .d { font-size: 1.5rem; font-weight: 800; line-height: 1; }
.event-date .m { font-size: .68rem; font-weight: 700; letter-spacing: .3px; text-transform: uppercase; opacity: .85; }
.event-date .y { font-size: .66rem; opacity: .7; line-height: 1.1; }
.event-date.tatil { background: var(--tk-red); }
.calendar { width: 100%; table-layout: fixed; border-collapse: separate; border-spacing: 4px; }
.calendar th { text-align: center; font-size: .8rem; color: var(--tk-muted); font-weight: 600; }
.calendar td { background: #fff; border-radius: 10px; vertical-align: top; height: 96px; padding: 6px; font-size: .8rem; }
.calendar td.bos { background: transparent; }
.calendar td.bugun { outline: 2px solid var(--tk-red); }
.calendar .gun { font-weight: 700; color: var(--tk-navy); }
.calendar .ev { display: block; margin-top: 3px; padding: 2px 6px; border-radius: 6px; background: rgba(11,37,69,.08); color: var(--tk-navy);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.calendar .ev.tatil { background: rgba(164,22,26,.12); color: var(--tk-red); }

/* Etkinlik listesi (satır satır, en yakın tarihten) */
.etk-ay { font-size: 1rem; font-weight: 800; color: var(--tk-navy); text-transform: uppercase; letter-spacing: 1px;
  margin: 1.75rem 0 .75rem; display: flex; align-items: center; gap: .75rem; }
.etk-ay::after { content: ""; flex: 1; height: 2px; background: #e3e8ef; }
.etk-ay:first-child { margin-top: 0; }
.etk-satir { display: grid; grid-template-columns: 72px 1fr; gap: 1rem; align-items: center; background: #fff;
  border-radius: var(--tk-radius); box-shadow: var(--tk-shadow); padding: 1rem; margin-bottom: .85rem; transition: transform .15s, box-shadow .15s; }
.etk-satir:hover { transform: translateY(-2px); box-shadow: 0 12px 30px rgba(11,37,69,.12); }
.etk-satir:hover .etk-baslik { color: var(--tk-red); }
.etk-tarih { width: 72px; height: 72px; border-radius: 50%; background: var(--tk-red); color: #fff; display: flex; flex-direction: column;
  align-items: center; justify-content: center; line-height: 1; box-shadow: 0 6px 16px rgba(164,22,26,.3); }
.etk-satir.tatil .etk-tarih { background: var(--tk-navy); box-shadow: 0 6px 16px rgba(11,37,69,.3); }
.etk-tarih .g { font-size: 1.6rem; font-weight: 800; }
.etk-tarih .a { font-size: .58rem; font-weight: 700; margin-top: 2px; letter-spacing: .3px; text-transform: uppercase; } /* lang="tr": i→İ, ı→I doğru */
.etk-tarih .y { font-size: .62rem; font-weight: 700; opacity: .85; }
.etk-gorsel { display: none; }
.etk-baslik { font-size: 1.05rem; font-weight: 700; color: var(--tk-navy); margin: .15rem 0 .35rem; line-height: 1.3; }
.etk-meta { display: flex; flex-wrap: wrap; gap: .25rem 1rem; font-size: .85rem; color: var(--tk-muted); }
.etk-meta i { color: var(--tk-red); margin-right: .35rem; }
.etk-ozet { font-size: .9rem; color: var(--tk-muted); margin-top: .4rem; }
@media (min-width: 768px) {
  .etk-satir { grid-template-columns: 104px 170px 1fr; gap: 1.5rem; padding: 1.25rem 1.5rem; }
  .etk-tarih { width: 104px; height: 104px; }
  .etk-tarih .g { font-size: 2.3rem; }
  .etk-tarih .a { font-size: .75rem; }
  .etk-tarih .y { font-size: .78rem; }
  .etk-gorsel { display: flex; width: 170px; height: 120px; border-radius: 12px; overflow: hidden; background: var(--tk-bg);
    align-items: center; justify-content: center; border: 1px solid #e3e8ef; }
  .etk-gorsel img { width: 100%; height: 100%; object-fit: cover; }
  .etk-gorsel.logo img { object-fit: contain; padding: .6rem; background: #fff; }
  .etk-gorsel.ikon i { font-size: 2.6rem; color: var(--tk-navy); opacity: .35; }
  .etk-baslik { font-size: 1.25rem; }
}

/* Galeri */
.gallery-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: .5rem; }
@media (min-width: 768px) { .gallery-grid { grid-template-columns: repeat(4, 1fr); gap: .75rem; } }
.gallery-grid a { display: block; border-radius: 10px; overflow: hidden; aspect-ratio: 1; background: #e9eef4; }
.gallery-grid img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.gallery-grid a:hover img { transform: scale(1.05); }
.lightbox .modal-content { background: #000; border: 0; }
.lightbox img { max-height: 82vh; object-fit: contain; width: 100%; }

/* İçerik */
.content-body { background: #fff; border-radius: var(--tk-radius); box-shadow: var(--tk-shadow); padding: 1.25rem; font-size: 1.05rem; line-height: 1.75; }
@media (min-width: 768px) { .content-body { padding: 2rem 2.5rem; } }
.content-body img { border-radius: 10px; margin: .5rem 0; }
.content-body iframe { max-width: 100%; }
.content-body h2, .content-body h3, .content-body h4, .content-body h5 { color: var(--tk-navy); margin-top: 1.5rem; }

/* Formlar */
.form-card { background: #fff; border-radius: var(--tk-radius); box-shadow: var(--tk-shadow); padding: 1.25rem; }
@media (min-width: 768px) { .form-card { padding: 2rem; } }
.form-control, .form-select { min-height: 48px; border-radius: 10px; font-size: 16px; } /* 16px: iOS yakınlaştırmasını önler */
textarea.form-control { min-height: 110px; }
.form-check-input { width: 1.3em; height: 1.3em; }
.form-section { font-size: 1rem; font-weight: 700; color: var(--tk-navy); border-bottom: 2px solid #eef1f5; padding-bottom: .5rem; margin: 1.5rem 0 1rem; }
.form-section:first-child { margin-top: 0; }
.hp-field { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* Rehber */
.person-card .photo { width: 88px; height: 88px; border-radius: 50%; object-fit: cover; background: #e9eef4; display: flex; align-items: center; justify-content: center; font-size: 1.8rem; color: var(--tk-navy); margin: 0 auto; }

/* Arama kutusu */
.search-bar { position: relative; }
.search-bar i { position: absolute; left: 1rem; top: 50%; transform: translateY(-50%); color: var(--tk-muted); }
.search-bar input { padding-left: 2.75rem; }

.empty-state { color: var(--tk-muted); }

/* Footer */
.site-footer { background: color-mix(in srgb, var(--site-ana) 72%, #000); color: #cfd8e3; padding: 3rem 0 1.5rem; margin-top: 3rem; }
.site-footer h6 { color: #fff; font-weight: 700; margin-bottom: 1rem; }
.site-footer a { color: #cfd8e3; }
.site-footer a:hover { color: #fff; }
.footer-links li { margin-bottom: .5rem; }
.footer-contact li { display: flex; gap: .6rem; margin-bottom: .6rem; }
.social a { width: 38px; height: 38px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: rgba(255,255,255,.08); }
.topbar .social a { width: auto; height: auto; background: none; }
.site-footer hr { border-color: rgba(255,255,255,.12); }

/* Kurullar */
.member { text-align: center; }
.member .photo { width: 120px; height: 120px; box-shadow: 0 6px 18px rgba(11,37,69,.15); border-radius: 50%; margin: 0 auto .75rem; background: #e9eef4; overflow: hidden; display: flex; align-items: center; justify-content: center; color: var(--tk-navy); font-size: 1.8rem; font-weight: 700; }
.member .photo img { width: 100%; height: 100%; object-fit: cover; }
.member.lead .photo { width: 168px; height: 168px; border: 4px solid var(--tk-gold); }
.member.lead .fw-bold { font-size: 1.15rem; }
a.member, .member:has(.stretched-link) { cursor: pointer; }
.member:has(.stretched-link):hover .fw-bold { color: var(--tk-red); }

/* Kurul üyesi profil sayfası */
.profil-foto { width: 220px; height: 220px; border-radius: 50%; overflow: hidden; border: 5px solid #fff;
  box-shadow: 0 12px 34px rgba(11,37,69,.18); background: #e9eef4; display: flex; align-items: center; justify-content: center; }
.profil-foto img { width: 100%; height: 100%; object-fit: cover; }
.profil-foto span { font-size: 3.4rem; font-weight: 800; color: var(--tk-navy); }
.profil-bilgi { border-top: 1px solid #eef1f5; padding-top: 1rem; display: grid; gap: .5rem; font-size: .95rem; }
.profil-bilgi > div { display: flex; gap: .5rem; }
.profil-bilgi dt { width: 104px; flex-shrink: 0; color: var(--tk-muted); font-weight: 600; }
.profil-bilgi dt i { color: var(--tk-red); margin-right: .3rem; }
.profil-bilgi dd { margin: 0; min-width: 0; word-break: break-word; }
.profil-sosyal a { width: 42px; height: 42px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
  background: var(--tk-bg); color: var(--tk-navy); }
.profil-sosyal a:hover { background: var(--tk-navy); color: #fff; }
@media (min-width: 992px) { .profil-kart { position: sticky; top: 100px; } }

@media (prefers-reduced-motion: reduce) { * { transition: none !important; animation: none !important; } }

/* ===== STK Web eklemeleri ===== */
.min-w-0 { min-width: 0; }
/* Dernek adları uzun olabilir: Tokdef'in büyük, harf aralıklı marka yazısı yerine iki satıra sığan başlık */
.brand-text { min-width: 0; }
.brand-text strong, .brand-text small { letter-spacing: 0 !important; white-space: normal; }
.brand-text strong { font-size: 1.05rem !important; line-height: 1.2; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.brand-text small { font-size: .74rem !important; font-weight: 600; }
@media (min-width: 576px) { .brand-text strong { font-size: 1.25rem !important; } .brand-text small { font-size: .82rem !important; } }
@media (min-width: 1200px) { .brand-text strong { font-size: 1.4rem !important; } }
.navbar-brand { max-width: calc(100% - 60px); margin-right: .5rem; }
@media (min-width: 992px) { .navbar-brand { max-width: 42%; } }
.navbar-brand img { object-fit: contain; flex-shrink: 0; }
.brand-harf { width: 52px; height: 52px; flex-shrink: 0; border-radius: 14px; background: var(--site-ana); color: #fff; display: flex;
  align-items: center; justify-content: center; font-weight: 800; font-size: 1.5rem; }
.footer-logo { object-fit: contain; background: #fff; border-radius: 12px; padding: 4px; }

.card-img-bos { aspect-ratio: 16/10; display: flex; align-items: center; justify-content: center; font-size: 2.6rem;
  background: linear-gradient(135deg, color-mix(in srgb, var(--site-ana) 12%, #fff), color-mix(in srgb, var(--site-ana) 25%, #fff)); color: var(--site-ana); }
.card-img-bos i { opacity: .45; }
.badge-ust { background: color-mix(in srgb, var(--site-ana) 12%, #fff); color: var(--site-ana); font-weight: 700; }

.onizleme-bandi { background: #fef3c7; color: #92400e; text-align: center; font-size: .82rem; font-weight: 700; padding: .35rem 1rem; }

/* Üst kurul (federasyon) haber şeridi */
.ust-serit { background: color-mix(in srgb, var(--site-ana) 6%, #fff); border-top: 1px solid color-mix(in srgb, var(--site-ana) 14%, #fff);
  border-bottom: 1px solid color-mix(in srgb, var(--site-ana) 14%, #fff); }

/* Bağış */
.iban { font-family: ui-monospace, Consolas, monospace; font-size: 1.15rem; font-weight: 700; letter-spacing: .5px; color: var(--tk-navy); word-break: break-all; }

/* Harita */
.harita { border: 0; width: 100%; height: 320px; border-radius: var(--tk-radius); box-shadow: var(--tk-shadow); }

/* Başkanlarımız — numaralı zaman çizelgesi (1. Başkanımız → bugün) */
.baskan-cizgi { position: relative; padding-left: 3.25rem; }
.baskan-cizgi::before { content: ""; position: absolute; left: 1.1rem; top: 1rem; bottom: 1rem; width: 3px; border-radius: 3px; background: color-mix(in srgb, var(--tk-navy) 18%, transparent); }
.baskan { position: relative; margin-bottom: 1.5rem; }
.baskan-no { position: absolute; left: -3.25rem; top: -.2rem; width: 2.5rem; height: 2.5rem; border-radius: 50%; background: var(--tk-navy); color: #fff;
  display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 1.05rem; box-shadow: 0 0 0 4px var(--tk-bg, #f4f6fa); }
.baskan.halen .baskan-no { background: var(--tk-gold); color: #3a2a00; box-shadow: 0 0 0 4px var(--tk-bg, #f4f6fa), 0 0 0 9px color-mix(in srgb, var(--tk-gold) 25%, transparent); }
.baskan-yil { font-weight: 800; color: var(--tk-navy); font-size: 1.05rem; margin-bottom: .5rem; line-height: 2.1rem; }
.baskan-yil span { font-weight: 600; color: var(--tk-muted); font-size: .95rem; }
.baskan-kart { display: flex; align-items: center; gap: 1.1rem; padding: 1rem 1.25rem; height: auto; }
.baskan.halen .baskan-kart { border: 2px solid var(--tk-gold); }
.baskan-foto { width: 96px; height: 96px; flex-shrink: 0; border-radius: 50%; overflow: hidden; background: #e9eef4; display: flex; align-items: center; justify-content: center;
  color: var(--tk-navy); font-size: 1.6rem; font-weight: 700; box-shadow: 0 6px 18px rgba(11,37,69,.15); }
.baskan.halen .baskan-foto { width: 120px; height: 120px; border: 4px solid var(--tk-gold); }
.baskan-foto img { width: 100%; height: 100%; object-fit: cover; }
.baskan-rozet { background: var(--tk-gold); color: #3a2a00; font-weight: 700; }
.baskan-ok { color: var(--tk-muted); }
.baskan-kart:hover h2 { color: var(--tk-red); }
.min-w-0 { min-width: 0; }
@media (max-width: 575.98px) { .baskan-foto { width: 72px; height: 72px; font-size: 1.2rem; } .baskan.halen .baskan-foto { width: 84px; height: 84px; } .baskan-ok { display: none; } }
@media (max-width: 575.98px) { .baskan-cizgi { padding-left: 2.75rem; } .baskan-cizgi::before { left: .95rem; } .baskan-no { left: -2.75rem; width: 2.1rem; height: 2.1rem; font-size: .95rem; } .baskan-yil { line-height: 1.8rem; } }

/* Tüzük — içindekiler */
.tuzuk-icindekiler { height: auto; font-size: .9rem; }
@media (min-width: 992px) { .tuzuk-icindekiler { position: sticky; top: 100px; max-height: calc(100vh - 120px); overflow: auto; } }
.tuzuk-icindekiler li { padding: .2rem 0; border-bottom: 1px dashed #eef1f5; }
.tuzuk-icindekiler li.ic-h2 { font-weight: 600; margin-top: .3rem; }
.tuzuk-icindekiler li.ic-h3 { padding-left: .9rem; font-size: .85rem; }
.tuzuk-icindekiler a { color: var(--tk-text); text-decoration: none; }
.tuzuk-icindekiler a:hover { color: var(--tk-red); }
.tuzuk h2, .tuzuk h3 { scroll-margin-top: 110px; }
.tuzuk h2 { font-size: 1.3rem; border-bottom: 2px solid #eef1f5; padding-bottom: .4rem; }
.tuzuk h3 { font-size: 1.1rem; }
@media print { header, footer, .page-hero nav, .onizleme-bandi, .mobile-dock, .topbar, .navbar { display: none !important; } .content-body { box-shadow: none; padding: 0; } body { background: #fff; padding: 0; } }
.yan-menu li { border-bottom: 1px dashed #eef1f5; }
.yan-menu a { display: block; padding: .45rem .25rem; color: var(--tk-text); text-decoration: none; }
.yan-menu a:hover, .yan-menu a.aktif { color: var(--tk-red); font-weight: 600; }
.yan-menu a.aktif::before { content: "› "; }

/* Editör (Quill) biçimleri — panelde verilen hizalama/girinti sitede de geçerli */
.content-body .ql-align-center { text-align: center; }
.content-body .ql-align-right { text-align: right; }
.content-body .ql-align-justify { text-align: justify; hyphens: auto; }
.content-body .ql-indent-1 { padding-left: 2em; } .content-body .ql-indent-2 { padding-left: 4em; } .content-body .ql-indent-3 { padding-left: 6em; }
.content-body iframe.ql-video { width: 100%; aspect-ratio: 16/9; height: auto; border: 0; border-radius: 10px; }
.content-body blockquote { border-left: 4px solid var(--tk-red); padding: .25rem 0 .25rem 1rem; color: var(--tk-muted); }

/* İçerik resimleri: masaüstünde sola yaslı, metin yanından akar (eski site düzeni); mobilde tam genişlik */
.icerik-govde::after { content: ""; display: table; clear: both; }
.icerik-govde p { margin-bottom: 1rem; }
.icerik-govde img { display: block; max-width: 100%; height: auto; border-radius: 10px; margin: .25rem 0 1rem; }
.icerik-govde h2, .icerik-govde h3, .icerik-govde h4, .icerik-govde iframe { clear: both; }
@media (min-width: 768px) {
  .icerik-govde img { float: left; width: auto; max-width: min(45%, 460px); margin: .35rem 1.75rem 1rem 0; }
  .icerik-govde .ql-align-right img { float: right; margin: .35rem 0 1rem 1.75rem; }
  .icerik-govde .ql-align-center img { float: none; margin: .5rem auto 1rem; max-width: 100%; }
}

/* Etkinlik görseli: kare simge / dikey afiş sayfayı kaplamasın */
.etkinlik-gorsel { display: block; max-width: 100%; max-height: 420px; width: auto; height: auto; margin: 0 auto; border-radius: 10px; object-fit: contain; }

/* Etkinlik grupları (Bugün / Yarın / Bu Hafta / …) ve yakınlık rozetleri */
.etk-grup { display: flex; align-items: center; gap: .6rem; font-size: 1.05rem; font-weight: 800; color: var(--tk-navy); margin: 1.6rem 0 .7rem; }
.etk-grup:first-of-type { margin-top: .4rem; }
.etk-grup span { font-size: .78rem; font-weight: 600; color: var(--tk-muted); }
.etk-grup::after { content: ""; flex: 1; height: 1px; background: #e3e8ef; }
.etk-grup.bugun { color: var(--tk-red); }
.etk-grup.bugun::before { content: ""; width: .6rem; height: .6rem; border-radius: 50%; background: var(--tk-red); box-shadow: 0 0 0 4px color-mix(in srgb, var(--tk-red) 22%, transparent); }
.etk-grup.yarin { color: #9a6a00; }
.event-date.bugun { background: var(--tk-red); }
.event-date.yarin { background: var(--tk-gold); color: #3a2a00; }
.etk-rozet { display: inline-block; font-size: .68rem; font-weight: 700; line-height: 1; padding: .3rem .55rem; border-radius: 999px; margin-right: .45rem; vertical-align: .12em; }
.etk-rozet.bugun { background: var(--tk-red); color: #fff; }
.etk-rozet.yarin { background: var(--tk-gold); color: #3a2a00; }
.etk-rozet.yakin { background: color-mix(in srgb, var(--tk-navy) 10%, #fff); color: var(--tk-navy); }

/* Slider odak noktası (panel: Slider > Odak) — kırpmada korunacak bölge */
.hero-banner img.odak-ust { object-position: center 18%; }
.hero-banner img.odak-alt { object-position: center 82%; }
/* Başlıksız slaytta gösterge noktaları fotoğraf üstünde okunur kalsın */
.hero .carousel-indicators [data-bs-target] { box-shadow: 0 0 4px rgba(0,0,0,.5); }

/* ===== Standart slaytlar (tokdef düzeni) — kart: eğik çerçeveli foto + logo; üyelik: büyük logo ===== */
.hero-kart, .hero-uyelik { position: relative; overflow: hidden;
  background: radial-gradient(circle at 76% 48%, color-mix(in srgb, var(--site-ana) 55%, #3d8ad1) 0%, transparent 62%),
              linear-gradient(115deg, color-mix(in srgb, var(--site-ana) 80%, #000) 0%, var(--site-ana) 50%, color-mix(in srgb, var(--site-ana) 55%, #1d8fd8) 100%); }
.hero-uyelik { background: radial-gradient(circle at 76% 48%, color-mix(in srgb, var(--site-ana) 60%, #4a7fc4) 0%, transparent 58%),
              linear-gradient(110deg, color-mix(in srgb, var(--site-ana) 80%, #000) 0%, var(--site-ana) 55%, color-mix(in srgb, var(--site-vurgu) 80%, var(--site-ana)) 100%); }
/* ince çemberler + nokta dokusu */
.hero-kart::before, .hero-uyelik::before { content: ""; position: absolute; inset: 0; pointer-events: none;
  background: repeating-radial-gradient(circle at 76% 50%, transparent 0 128px, rgba(255,255,255,.07) 129px 130px); }
.hero-kart::after, .hero-uyelik::after { content: ""; position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(rgba(255,255,255,.07) 1px, transparent 1.6px) 0 0 / 24px 24px;
  -webkit-mask-image: linear-gradient(90deg, #000 0%, transparent 55%); mask-image: linear-gradient(90deg, #000 0%, transparent 55%); }
.hero-kart .container, .hero-uyelik .container { z-index: 2; }
.hero-kart .hero-title, .hero-uyelik .hero-title { font-size: clamp(1.7rem, 4.4vw, 3.1rem); text-shadow: 0 2px 14px rgba(0,0,0,.25); }
.kart-cerceve { position: relative; max-width: 540px; margin: 2.4rem 1.6rem 0 auto; transform: rotate(-3deg); }
.kart-foto { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border: 10px solid #fff; border-radius: 3px;
  box-shadow: 14px 16px 0 rgba(0,0,0,.28), 0 24px 60px rgba(0,0,0,.35); }
.kart-foto.odak-ust { object-position: center 18%; } .kart-foto.odak-alt { object-position: center 82%; }
.kart-logo { position: absolute; top: -40px; right: -34px; width: 112px; height: 112px; border-radius: 50%; background: #fff; padding: 5px;
  object-fit: contain; transform: rotate(3deg); box-shadow: 0 10px 28px rgba(0,0,0,.35); }
/* mobil: çerçeve gizli, fotoğraf koyulaştırılmış zemin olur */
.kart-zemin { position: absolute; inset: 0; background-size: cover; background-position: center; filter: brightness(.42) saturate(1.1); }
.kart-zemin.odak-ust { background-position: center 18%; } .kart-zemin.odak-alt { background-position: center 82%; }
@media (min-width: 992px) { .kart-zemin { display: none; } }
.uyelik-logo { display: block; width: min(400px, 100%); aspect-ratio: 1; margin-left: auto; object-fit: contain; border-radius: 50%;
  filter: drop-shadow(0 22px 50px rgba(0,0,0,.45)); }
.uyelik-logo-mobil { width: 84px; height: 84px; border-radius: 50%; background: #fff; padding: 4px; object-fit: contain; margin-bottom: 1rem; }

/* Menü (özel menüler eklenince) orta genişlikte iki satıra kırılmasın */
.navbar .nav-link, .navbar .btn { white-space: nowrap; }
@media (min-width: 992px) and (max-width: 1199.98px) {
  .navbar .nav-link { font-size: .9rem; padding-left: .4rem !important; padding-right: .4rem !important; }
  .navbar .brand-text small { display: none; }
}
/* Logosu olmayan sitede üyelik bannerının sağı */
.uyelik-simge { width: min(340px, 100%); aspect-ratio: 1; margin-left: auto; border-radius: 50%; display: flex; align-items: center; justify-content: center;
  background: rgba(255,255,255,.08); border: 2px solid rgba(255,255,255,.18); box-shadow: inset 0 0 0 18px rgba(255,255,255,.04); color: rgba(255,255,255,.9); font-size: 8rem; }
@media (min-width: 992px) and (max-width: 1199.98px) { .navbar-brand { flex-shrink: 0; } .brand-text strong { font-size: 1.12rem !important; white-space: nowrap; display: block; } }

/* Bölünmüş menü öğesi (Haberler): yazı bağlantı, ok açılır menüyü açar; masaüstünde üzerine gelince de açılır */
.menu-bolunmus { display: flex; align-items: center; flex-wrap: wrap; }
.menu-bolunmus > button.nav-link { background: none; border: 0; padding-left: .1rem !important; padding-right: .4rem !important; }
.menu-bolunmus > .nav-link:first-child { padding-right: .15rem !important; }
.menu-bolunmus > .dropdown-menu { flex-basis: 100%; }
@media (min-width: 992px) {
  .menu-bolunmus:hover > .dropdown-menu { display: block; top: 100%; left: 0; margin-top: 0; }
}

/* ===================== Turnuva (web: turnuva.asp, ana sayfa bandı; tokdef düzeni) ===================== */
.tm-stat { background: #fff; border-radius: var(--tk-radius); box-shadow: var(--tk-shadow); padding: .9rem 1rem; text-align: center; height: 100%; }
.tm-stat b { display: block; font-size: 1.6rem; line-height: 1.1; color: var(--tk-navy); }
.tm-stat b small { font-size: .9rem; color: var(--tk-muted); font-weight: 600; }
.tm-stat span { font-size: .8rem; color: var(--tk-muted); }
.tm-canli { animation: tmNabiz 1.4s infinite; }
@keyframes tmNabiz { 50% { opacity: .3; } }
@media (prefers-reduced-motion: reduce) { .tm-canli { animation: none; } }

.tm-arma { width: 36px; height: 36px; border-radius: 50%; object-fit: contain; background: #fff; border: 1px solid #e3e8ef; flex: 0 0 auto; }
.tm-arma.kucuk { width: 26px; height: 26px; }
.tm-arma.buyuk { width: 64px; height: 64px; }
.tm-harf { display: inline-flex; align-items: center; justify-content: center; font-weight: 700; color: #fff; background: var(--tk-navy-2); border: 0; font-size: .85em; }
.tm-arma.buyuk.tm-harf { font-size: 1.6rem; }

/* Grup renkleri (afişle uyumlu) */
.g-a { --g: #b8860b; } .g-b { --g: #c1121f; } .g-c { --g: #1b8a4a; } .g-d { --g: #1d5fd1; }
.g-e { --g: #7b2cbf; } .g-f { --g: #b5651d; } .g-g { --g: #0f9b9b; } .g-h { --g: #222; }
.g-i, .g-j, .g-k, .g-l, .g-m, .g-n, .g-o, .g-p { --g: var(--tk-navy-2); }

.tm-grup { display: inline-flex; align-items: center; justify-content: center; min-width: 1.6rem; height: 1.6rem; padding: 0 .4rem;
  border-radius: 6px; background: var(--g, var(--tk-navy)); color: #fff; font-weight: 700; font-size: .8rem; }
.tm-lider { display: flex; align-items: center; gap: .6rem; background: #fff; border-radius: 12px; box-shadow: var(--tk-shadow);
  padding: .55rem .7rem; color: var(--tk-text); border-left: 4px solid var(--g); height: 100%; }
.tm-lider:hover { color: var(--tk-text); transform: translateY(-2px); }
.tm-lider .harf { font-size: 1.4rem; font-weight: 800; color: var(--g); width: 1.4rem; text-align: center; }
.tm-lider .bilgi { min-width: 0; display: flex; flex-direction: column; line-height: 1.2; }
.tm-lider strong { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: .92rem; }
.tm-lider small { color: var(--tk-muted); font-size: .75rem; }

.tm-siradaki { border-radius: var(--tk-radius); overflow: hidden; box-shadow: var(--tk-shadow);
  background: linear-gradient(120deg, rgba(0,0,0,.12), rgba(255,255,255,.1)), var(--tk-navy); color: #fff; }
.tm-siradaki-ust, .tm-siradaki-alt { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem; padding: .6rem 1rem; font-size: .85rem; background: rgba(255,255,255,.08); }
.tm-siradaki-ust span:first-child { font-weight: 700; color: var(--tk-gold); text-transform: uppercase; letter-spacing: .03em; }
.tm-siradaki-govde { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: .75rem; padding: 1.25rem 1rem; text-align: center; }
.tm-siradaki .tk { display: flex; flex-direction: column; align-items: center; gap: .5rem; min-width: 0; }
.tm-siradaki .tk strong { font-size: clamp(1rem, 3.2vw, 1.35rem); }
.tm-siradaki .vs { font-size: 1.6rem; font-weight: 800; font-style: italic; display: flex; flex-direction: column; line-height: 1; }
.tm-siradaki .vs small { font-size: .7rem; font-style: normal; font-weight: 600; opacity: .75; margin-top: .4rem; }

.tm-sekmeler .nav-link { border: 1px solid #d5dde8; background: #fff; color: var(--tk-navy); font-weight: 600; }
.tm-sekmeler .nav-link.active { background: var(--tk-navy); border-color: var(--tk-navy); color: #fff; }

.tm-grup-kart { overflow: hidden; }
.tm-grup-kart:hover { transform: none; }
.tm-grup-baslik { background: var(--g); color: #fff; font-weight: 700; padding: .6rem 1rem; text-transform: uppercase; letter-spacing: .04em; }
.tm-grup-baslik span { font-size: 1.35rem; margin-right: .2rem; }
.tm-puan { font-size: .92rem; }
.tm-puan th { font-size: .75rem; color: var(--tk-muted); font-weight: 600; text-align: center; white-space: nowrap; }
.tm-puan th:nth-child(2) { text-align: left; }
.tm-puan td { text-align: center; vertical-align: middle; }
.tm-puan td.takim { text-align: left; font-weight: 600; }
.tm-puan td.puan { font-weight: 800; color: var(--tk-navy); }
.tm-puan td.sira { color: var(--tk-muted); font-weight: 700; width: 2.2rem; }
.tm-puan tr.gecti td:first-child { box-shadow: inset 4px 0 0 #1b8a4a; color: #1b8a4a; }
.tm-lejant { display: inline-block; width: 12px; height: 12px; background: #1b8a4a; border-radius: 3px; vertical-align: -1px; }

.tm-mac { background: #fff; color: var(--tk-text); border-radius: 12px; box-shadow: var(--tk-shadow); padding: .6rem .85rem .75rem; scroll-margin-top: 110px; }
.tm-mac.soluk { opacity: .65; }
.tm-mac.vurgu { outline: 3px solid var(--tk-gold); }
.tm-ust { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; font-size: .78rem; color: var(--tk-muted); margin-bottom: .4rem; position: relative; }
.tm-tarih { font-weight: 600; }
@media (min-width: 576px) { .tm-tarih { position: absolute; left: 50%; transform: translateX(-50%); } }
.tm-govde { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: .6rem; }
.tm-takim { display: flex; align-items: center; gap: .5rem; min-width: 0; font-weight: 600; }
.tm-takim.ev { justify-content: flex-end; text-align: right; }
.tm-takim .ad { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tm-takim.kazandi .ad { color: var(--tk-navy); font-weight: 800; }
.tm-mac.oynandi .tm-takim:not(.kazandi) .ad { color: var(--tk-muted); }
.tm-orta { text-align: center; min-width: 74px; }
.tm-skor { display: inline-block; background: var(--tk-navy); color: #fff; font-weight: 800; font-size: 1.05rem; border-radius: 8px; padding: .2rem .6rem; letter-spacing: .04em; }
.tm-skor i { font-style: normal; opacity: .6; margin: 0 .2rem; }
.tm-saat { display: inline-block; border: 1px solid #d5dde8; border-radius: 8px; padding: .15rem .55rem; font-weight: 700; color: var(--tk-navy); }
.tm-vs { font-weight: 800; color: var(--tk-muted); font-style: italic; }
.tm-pen { display: block; font-size: .7rem; color: var(--tk-muted); margin-top: .15rem; }
.tm-not { font-size: .78rem; color: var(--tk-muted); margin-top: .4rem; }
@media (max-width: 575.98px) {
  .tm-takim .tm-arma { display: none; }
  .tm-takim { font-size: .9rem; }
}

/* Ana sayfa turnuva bandı */
.tm-band { background: linear-gradient(135deg, rgba(0,0,0,.18), rgba(255,255,255,.07)), var(--site-ana); color: #fff; }   /* sitenin tema rengi */
.tm-band .section-title h2 { color: #fff; }
.tm-band .tm-lider { color: var(--tk-text); }
.tab-content > .tab-pane:focus:not(:focus-visible) { outline: 0; }
