
/* =====================================================================
 ANTRENÖR DİZİNİ — DadaFit Onaylı Antrenörler dizin/filtre sayfası
 Chrome (token+topbar+header+drawer+bottom-nav+footer+modal+JS) hub'dan
 BİREBİR taşındı (dadafit-hub-v1.html). DadaFit recolor: --fit → #009d4f.
 İskelet referansı egzersiz-kutuphane (sticky filtre + full-görsel kart),
 antrenör dizinine uyarlandı. Mega menü/chrome KİLİTLİ.
 ===================================================================== */

/* =====================================================================
 SAYFA CSS — ANTRENÖR DİZİNİ
 İskelet egzersiz-kütüphane'den (sticky filtre rayı + full-görsel kart),
 antrenör dizinine uyarlandı: portre kart, Onaylı rozet, Antrenör Ol CTA.
 ===================================================================== */
:root{
  --fit:var(--marka);          /* DadaFit aksanı (Pantone 7482 C) */
  --fit-deep:var(--marka-koyu);     /* hover / gradient ucu */
  --fit-tint:var(--marka-yikama-2);     /* yumuşak yeşil yıkama */
  --fit-line:var(--marka-cizgi);     /* yeşil-nötr hairline */
  --fit-bright:var(--marka-parlak);   /* koyu zeminde okunur aksan metni */
  --fit-dark:#211E16;     /* vurgu/hero zemini */
}
.sec-fit .eyebrow{color:var(--fit-deep)}
.sec-fit .eyebrow::before{background:var(--fit)}

/* ---- ÜST PANEL: koyu band + breadcrumb + başlık + arama (signature carry-over) ---- */
.lib-top{
  position:relative;overflow:hidden;margin-top:112px;
  /* hub df-hero-media deseni: desatüre METİNSİZ görsel + koyu gradient overlay (metin solda okunur, görsel sağda belirir) */
  background:
    radial-gradient(820px 360px at 84% 14%,color-mix(in srgb, var(--marka) 20%, transparent),transparent 62%),
    linear-gradient(90deg,rgba(33,30,22,.94) 0%,rgba(29,26,20,.82) 46%,rgba(27,25,19,.74) 100%),
    linear-gradient(180deg,rgba(33,30,22,0) 58%,rgba(24,22,16,.62) 100%),
    url('https://images.unsplash.com/photo-1518611012118-696072aa579a?w=1680&q=80&auto=format&fit=crop&exp=7&gam=6&sat=-16') center 30%/cover no-repeat,
    #1b1913;
  padding:40px 0 38px;
}
.lib-top .wrap{position:relative;z-index:2}
.lib-crumb{display:flex;align-items:center;gap:9px;font-size:12.5px;font-weight:600;color:rgba(255,255,255,.6);margin-bottom:18px}
.lib-crumb a{color:rgba(255,255,255,.6);transition:color .2s var(--ease)}
.lib-crumb a:hover{color:#fff}
.lib-crumb i{font-size:9px;color:rgba(255,255,255,.34)}
.lib-crumb a i.fa-house{font-size:13px;color:var(--fit-bright)}
.lib-crumb a:hover i.fa-house{color:#fff}
.lib-crumb .cur{color:var(--fit-bright)}
.lib-top .eyebrow{color:var(--fit-bright)}
.lib-top .eyebrow::before{background:var(--fit-bright)}
.lib-top h1{color:#fff;font-size:39px;letter-spacing:-.02em;margin:14px 0 10px;max-width:680px}
.lib-top .lib-sub{color:rgba(255,255,255,.78);font-size:15.5px;font-weight:500;max-width:560px;line-height:1.55}
/* arama input — cam panel */
.lib-search{
  display:flex;align-items:center;gap:12px;margin-top:24px;max-width:520px;
  background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  border-radius:var(--radius-md);padding:4px 4px 4px 18px;
  transition:border-color .2s var(--ease),background .2s var(--ease);
}
.lib-search:focus-within{border-color:var(--fit-bright);background:rgba(255,255,255,.14)}
.lib-search i{color:rgba(255,255,255,.62);font-size:15px;flex:none}
.lib-search input{
  flex:1;min-width:0;background:none;border:none;outline:none;
  font-family:inherit;font-size:14.5px;font-weight:500;color:#fff;padding:11px 0;
}
.lib-search input::placeholder{color:rgba(255,255,255,.5)}
.lib-search button{
  flex:none;font-family:inherit;font-size:13.5px;font-weight:700;color:#fff;
  background:var(--fit);border:none;border-radius:var(--radius-sm);padding:0 18px;height:42px;cursor:pointer;
  transition:background .2s var(--ease);
}
.lib-search button:hover{background:var(--fit-deep)}
/* üst panel hızlı istatistik şeridi */
.lib-stats{display:flex;align-items:center;gap:26px;margin-top:24px;flex-wrap:wrap}
.lib-stat{display:flex;align-items:baseline;gap:8px}
.lib-stat b{font-size:20px;font-weight:800;color:#fff;letter-spacing:-.01em}
.lib-stat span{font-size:12.5px;font-weight:600;color:rgba(255,255,255,.62)}

/* ---- FİLTRE RAYI (sticky) — df-fchip dili ---- */
.lib-body{padding:var(--sec-pad-sm) 0 var(--sec-pad);background:var(--bg-white)}
.lib-filters{
  position:sticky;top:112px;z-index:40;
  background:rgba(255,255,255,.92);
  -webkit-backdrop-filter:saturate(150%) blur(8px);backdrop-filter:saturate(150%) blur(8px);
  border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:18px 20px 16px;margin-bottom:28px;box-shadow:var(--sh-sm);
}
.fgroup{display:flex;align-items:center;flex-wrap:nowrap;gap:9px;padding:7px 0;overflow-x:auto;scrollbar-width:thin}
.fgroup::-webkit-scrollbar{height:5px}
.fgroup::-webkit-scrollbar-thumb{background:var(--line);border-radius:3px}
.fgroup::-webkit-scrollbar-track{background:transparent}
.fgroup+.fgroup{border-top:1px solid var(--line);margin-top:3px;padding-top:13px}
.fgroup .lbl{
  font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--muted);min-width:96px;flex:none;
  position:sticky;left:0;background:#fff;z-index:2;padding-right:6px;
}
.df-fchip{flex:none;white-space:nowrap;font-size:13px;font-weight:600;color:var(--slate);background:var(--paper);border:1px solid var(--line);padding:9px 16px;border-radius:var(--radius-sm);cursor:pointer;transition:.18s var(--ease);display:inline-flex;align-items:center;gap:7px}
.df-fchip i{font-size:12px;opacity:.8}
.df-fchip:hover{border-color:var(--fit);color:var(--fit-deep);background:var(--fit-tint)}
.df-fchip.on{border-color:var(--fit);color:#fff;background:var(--fit)}
.df-fchip.on i{opacity:1}
/* filtre rayı alt aksiyonu — temizle */
.fclear{
  margin-left:auto;font-size:12.5px;font-weight:700;color:var(--muted);
  background:none;border:none;cursor:pointer;display:inline-flex;align-items:center;gap:7px;
  padding:9px 6px;transition:color .2s var(--ease);
}
.fclear:hover{color:var(--fit-deep)}

/* ---- SONUÇ ÇUBUĞU: sayı + sıralama ---- */
.lib-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px;flex-wrap:wrap}
.lib-count{font-size:14px;font-weight:600;color:var(--slate-2)}
.lib-count b{color:var(--slate);font-weight:800}
.lib-sort{display:flex;align-items:center;gap:8px}
.lib-sort .lbl{font-size:12.5px;font-weight:600;color:var(--muted)}
.sort-seg{display:inline-flex;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-md);padding:3px}
.sort-seg button{
  font-family:inherit;font-size:13px;font-weight:700;color:var(--slate-2);
  background:none;border:none;border-radius:var(--radius-sm);padding:8px 15px;cursor:pointer;
  transition:.18s var(--ease);
}
.sort-seg button:hover{color:var(--fit-deep)}
.sort-seg button.on{background:var(--fit);color:#fff}

/* ---- ANTRENÖR KART GRID'İ — full-görsel portre kart (hub df-coach + ex-card dili) ---- */
.lib-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
/* ---- ANTRENÖR KARTI — biçim KABUĞA taşındı (R11/M3).
   `assets/css/fit-shell.css` → "ANTRENÖR KARTI". Kart artık bu sayfada
   ve `dadafit-hub-v1.html` teaser'ında ortak; iki kopya tutulmuyor.
   Dar ekran kuralları (`@≤640` · `@≤400` coach-*) da oraya gitti. ---- */

/* ---- ANTRENÖR OL CTA PANELİ (diyetisyen-ol / hub join pattern) ---- */
.coach-join{
  position:relative;overflow:hidden;margin-top:46px;border-radius:var(--radius-xl);
  background:
    radial-gradient(620px 280px at 88% 0%,color-mix(in srgb, var(--marka) 30%, transparent),transparent 64%),
    linear-gradient(120deg,#211E16 0%,#1c1a13 52%,#112d3c 100%);
  color:#fff;padding:42px 46px;
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:30px;align-items:center;
}
.coach-join .cj-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--fit-bright);margin-bottom:13px}
.coach-join h2{color:#fff;font-size:27px;letter-spacing:-.02em;margin-bottom:11px;max-width:560px}
.coach-join p{color:rgba(255,255,255,.82);font-size:14.5px;font-weight:500;line-height:1.55;max-width:540px;margin-bottom:18px}
.cj-steps{display:flex;flex-wrap:wrap;gap:10px 22px}
.cj-step{display:inline-flex;align-items:center;gap:9px;font-size:13px;font-weight:600;color:rgba(255,255,255,.9)}
.cj-step .n{width:24px;height:24px;border-radius:50%;background:color-mix(in srgb, var(--marka) 22%, transparent);border:1px solid color-mix(in srgb, var(--marka-parlak) 50%, transparent);color:var(--fit-bright);display:grid;place-items:center;font-size:12px;font-weight:800;flex:none}
.coach-join .cj-act{display:flex;flex-direction:column;gap:11px;align-items:flex-start;min-width:210px}
.coach-join .cj-act .btn{width:100%}
.coach-join .cj-note{font-size:12px;color:rgba(255,255,255,.62);font-weight:500;display:inline-flex;align-items:center;gap:7px}
.coach-join .cj-note i{color:var(--fit-bright)}

/* ---- BANNER CTA (koyu bant üstünde) ---- */
/* R6 m5: `.lib-cta` ve `.lib-cta-ghost` KABUĞA taşındı (fit-shell.css) —
   aynı yuvada iki sayfa iki ayrı dil konuşuyordu, tek kaynağa indi. */

/* ---- SAYFALAMA ----
 R12/R18 · ÖLÜ KURAL — bu blok artık kullanılmıyor. Sayfalama kabuk
 .pagi/.pg/.pg-dots/.pagi-note bileşenine taşındı (assets/css/fit-shell.css
 "SAYFALAMA", assets/js/fit-shell.js "SAYFALAMA MOTORU" / FIT_PAGI);
 işaretleme artık nav#libPage/div#pager/span#pageNote basmıyor, doğrudan
 nav.pagi#libPagi kullanıyor. Kabuk sözleşmesi gereği (docs/lessons.md §9)
 silinmedi, sadece işaretlendi — bkz. tasks/REVIZYON-12.md → R18. */
.lib-page{display:flex;flex-direction:column;align-items:center;gap:13px;margin-top:40px}
.pager{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:center}
.pager button,.pager span.gap{
  min-width:42px;height:42px;padding:0 12px;
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-family:inherit;font-size:14px;font-weight:700;color:var(--slate);
  background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-md);
  cursor:pointer;transition:.18s var(--ease);font-variant-numeric:tabular-nums;
}
.pager button:hover:not(:disabled):not(.on){border-color:var(--fit);color:var(--fit-deep);background:var(--fit-tint)}
.pager button.on{background:var(--fit);border-color:var(--fit);color:#fff;cursor:default}
.pager button:disabled{opacity:.36;cursor:default}
.pager button:focus-visible{outline:3px solid var(--fit);outline-offset:2px}
.pager span.gap{border:none;background:none;color:var(--muted);min-width:24px;padding:0}
.pager .pg-edge{padding:0 15px}
.lib-page .page-note{font-size:12.5px;font-weight:500;color:var(--muted)}
.lib-page .page-note b{color:var(--slate);font-weight:800}
@media (max-width:640px){
  .pager .pg-edge span{display:none}      /* dar ekranda ok metni gizlenir, ikon kalır */
  .pager .pg-edge{padding:0 12px;min-width:42px}
}
/* ÖLÜ KURAL sonu */

/* boş durum (filtre eşleşmezse) */
/* §D2 (Dalga 4) — bu sayfa kabuktaki `.lib-empty` kuralının ESKİ hâlinin
   birebir kopyasını taşıyordu ve kabuğu eziyordu. Kopya kaldırıldı; kit
   artık tek yerden, `fit-shell.css`ten geliyor. */

/* ===================== SAYFA RESPONSIVE ===================== */
@media (max-width:1024px){
  .lib-top{margin-top:112px}
  .lib-filters{top:112px}
  .lib-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lib-top h1{font-size:33px}
  .fgroup .lbl{min-width:88px}
  .coach-join{grid-template-columns:1fr;gap:24px;padding:36px 32px}
  .coach-join .cj-act{min-width:0;width:100%;max-width:320px}
}
@media (max-width:760px){
  .lib-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  .lib-top{margin-top:62px;padding:30px 0 30px}
  .lib-top h1{font-size:27px}
  .lib-top .lib-sub{font-size:14px}
  .lib-search{max-width:none}
  .lib-stats{gap:18px;margin-top:20px}
  .lib-stat b{font-size:18px}
  .lib-body{padding:var(--sec-pad-sm) 0 var(--sec-pad)}
  /* sticky filtre bar mobilde tek satır yatay kaydır */
  .lib-filters{top:62px;padding:14px 14px 12px}
  .fgroup{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:5px}
  .fgroup::-webkit-scrollbar{display:none}
  .fgroup .lbl{position:sticky;left:0;background:rgba(255,255,255,.96);min-width:auto;padding-right:6px;z-index:1}
  .df-fchip{flex:none;white-space:nowrap}
  .fclear{flex:none}
  .lib-bar{margin-bottom:18px}
  .lib-sort{width:100%;justify-content:space-between}
  .sort-seg button{padding:8px 12px;font-size:12.5px}
  .lib-grid{grid-template-columns:1fr 1fr;gap:14px}
  .coach-join{padding:30px 22px;margin-top:36px}
  .coach-join h2{font-size:22px}
}
@media (max-width:400px){
  .lib-grid{grid-template-columns:1fr}
}

/* ============ ADIM 3 — KABUK: brand-switch band (Fit, .bs-fit aktif) ============ */
/* NOT: .bs-gastro --bs-c LİTERAL #E14827 — bu sayfada --fit YEŞİL'e swap'lı (Fit aksanı),
 var(--fit) kullanılsaydı Gastro pill'i yeşil render olurdu. Diğer markalar page-bağımsız token. */

