
/* =====================================================================
 _SHELL.HTML — KANONİK İSKELET (anasayfa-portal-v3a.html'den BİREBİR)
 Token + tipografi + utilities + topbar + header + mega menü (KİLİTLİ)
 + footer + drawer/bottom-nav + çerez/görüş modal + ortak JS.
 Yeni sayfa = bu dosyanın kopyası; SAYFA İÇERİĞİ bloğu doldurulur,
 sayfa-spesifik CSS "SAYFA CSS" işaretinin altına eklenir.
 Header varsayılan KATI; hero'lu sayfa ?hdr=hero benzeri davranış için
 JS'teki heroMode bayrağını açar.
 ===================================================================== */

/* ============ GERÇEK SİTE FONTU: Gilroy-Medium — TEK YÜZ (eski site DNA'sı) ============
 Eski site (main.css): @font-face myBrandFont = Gilroy-Medium.ttf, universal reset ile
 başlık/gövde/buton dahil HER eleman bu tek yüzle render olur; 600/700 bold'lar
 tarayıcının sentetik bold'udur. Light/ExtraBold dosyaları klasörde var ama
 eski site CSS'i hiç yüklemez — bu yüzden burada da yalnız Medium yüklenir. */

   
    

            

 

/* sayfa genel: yeşil eyebrow (fit bölümleri) */
.sec-fit .eyebrow{color:var(--fit-deep)}
.sec-fit .eyebrow::before{background:var(--fit)}

/* =====================================================================
 EGZERSİZ DETAY — tek hareket sayfası · #009d4f aksan, gövde beyaz-baskın
 Çekirdek: set × tekrar × ağırlık inline-input set-takip katmanı.
 Miras (semantik çeviri): dyt-recete-builder canlı toplam → canlı HACİM;
 hub df-top glass-hero dili → kompakt koyu üst band; hub full-görsel
 kart şeridi → benzer hareketler.
 Görsel dili: kare/oranlı görsel = div+background cover center (img YOK).
 ===================================================================== */

/* ---- ÜST BAND: kompakt koyu hero (hareket başlığı + meta) ---- */
.ed-top{position:relative;overflow:hidden;margin-top:112px;
  background:
    radial-gradient(680px 300px at 88% 8%,color-mix(in srgb, var(--marka) 20%, transparent),transparent 60%),
    linear-gradient(90deg,rgba(33,30,22,.95) 0%,rgba(29,26,20,.84) 48%,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-1571008887538-b36bb32f4571?w=1680&q=80&auto=format&fit=crop&exp=7&gam=6&sat=-16') center 28%/cover no-repeat,
    #1b1913;
  padding:22px 0 24px}
.ed-top .wrap{position:relative;z-index:2}
.ed-crumb{display:flex;align-items:center;gap:9px;font-size:12.5px;font-weight:600;color:#a99;margin-top:6px;flex-wrap:wrap}
.ed-crumb a{color:#a7c8de;transition:.2s}
.ed-crumb a:hover{color:var(--fit-bright)}
.ed-crumb a i.fa-house{font-size:12.5px;color:inherit}
.ed-crumb i{font-size:9px;color:rgba(255,255,255,.32)}
.ed-crumb b{color:#fff;font-weight:700}
.ed-head{margin-top:14px}
.ed-head .eyebrow{color:var(--fit-bright)}
.ed-head .eyebrow::before{background:var(--fit)}
.ed-head h1{color:#fff;font-size:38px;line-height:1.1;letter-spacing:-.03em;margin:13px 0 0}
/* R8/15 · alt metin — kütüphane kartının özeti banner'a taşındı.
   Ölçüler kabuğun `.lib-top .lib-sub` değerleriyle birebir (15.5/500/1.55,
   rgba(255,255,255,.78)); aile içi tek dil. İki satıra kilitli: banner
   sabit yükseklikli ve uzun özet kutuyu büyütemez (R15 kuralı). */
.ed-head .ed-sub{color:rgba(255,255,255,.78);font-size:15.5px;font-weight:500;line-height:1.55;max-width:560px;margin:11px 0 0;
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
/* meta etiket şeridi (kas grubu · seviye · ekipman) */
.ed-meta{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px}
.ed-tag{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600;color:var(--marka-yikama-koyu);background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);padding:8px 13px;border-radius:var(--radius-sm);backdrop-filter:blur(6px)}
.ed-tag i{font-size:12px;color:var(--fit-bright)}
.ed-tag.is-accent{background:color-mix(in srgb, var(--marka) 22%, transparent);border-color:color-mix(in srgb, var(--marka-parlak) 50%, transparent);color:#fff}
.ed-tag.is-accent i{color:#fff}

/* ---- GÖVDE: iki kolon (sol içerik · sağ set-takip sticky) ---- */
.ed-body{padding:var(--sec-pad-sm) 0 var(--sec-pad);background:var(--bg-white)}
.ed-grid{display:grid;grid-template-columns:minmax(0,1fr) 384px;gap:40px;align-items:start}
.ed-col{min-width:0}

/* hareket demo görseli / GIF placeholder (full-görsel, düzgün oran) */
.ed-demo{position:relative;aspect-ratio:16/10;border-radius:var(--radius-xl);overflow:hidden;background-size:cover;background-position:center;background-color:#211E16}
.ed-demo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(33,30,22,0) 52%,rgba(15,13,9,.62))}
.ed-demo .ed-play{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;color:#fff;cursor:pointer}
.ed-demo .ed-play .pp{width:62px;height:62px;border-radius:var(--radius-circle);background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.4);backdrop-filter:blur(8px);display:grid;place-items:center;font-size:21px;transition:.22s var(--ease)}
.ed-demo .ed-play:hover .pp{background:var(--fit);border-color:var(--fit);transform:scale(1.06)}
.ed-demo .ed-play small{font-size:12.5px;font-weight:700;letter-spacing:.04em;color:rgba(255,255,255,.9);text-shadow:0 1px 6px rgba(0,0,0,.4)}
.ed-demo .ed-gifbadge{position:absolute;top:14px;left:14px;z-index:2;display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:700;letter-spacing:.04em;color:#fff;background:rgba(33,30,22,.55);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(8px);padding:6px 11px;border-radius:var(--radius-sm)}
.ed-demo .ed-gifbadge i{color:var(--fit-bright);font-size:11px}

/* ---- SAYFA ALTI NOT YIĞINI (R8/16+18) ----
   Üç not tek bandın içinde; bandın kendi dolgusu bir kez ödeniyor.
   Notlar arası nefes 14px — kabuğun `.hr-note` üst marjı (34px) yığın
   içinde ANLAMSIZ, ilk notun bandın dolgusuyla çakışmasına yol açıyordu.
   `margin-left/right:0` ŞART: kabuğun `.hr-note.is-center` kuralı yatay
   marjı `auto` bırakıyor; blok akışında bu ortalama demek, ama flex
   kolonunun içinde otomatik marj `stretch`i eziyor ve kutu içeriğe
   büzülüyor (ölçüldü: 786/1176 @1440 — tam da 16. maddenin kusuru). */
.ed-notes{display:flex;flex-direction:column;gap:14px}
.ed-notes>.hr-note{margin-top:0;margin-left:0;margin-right:0;align-self:stretch}
/* Sağlık notu: gövde metni KADEME DÜŞMEZ. `.note-more` kabukta 13px/--muted;
   video notunda doğru (yardımcı ayrıntı), sağlık notunda yanlış — sakatlanma
   riski, "ağrıda dur" ve "hekimine danış" kalıcı güvenlik bilgisi.
   Kardeş marka ölçüsü: dadadiet.com/beslenme `.reh-note` metnin tamamı tek
   kademe (16px/500/rgb(33,30,22)); DadaFit kendi gövde ölçüsünde kalır. */
.ed-guide .note-more{font-size:14px;color:var(--slate-2)}
/* Durum mesajı kalıcı notla aynı görünmez: "bulamadık" yalnız bir şey ters
   gittiğinde açılıyor, o yüzden dikkat tonunda. Kabuğun rozet paletinden
   (.fp-badge.wait) alındı — yeni renk üretilmedi. */
#edFallback{background:#fff6e6;border-color:#e8d5a8}
#edFallback>i{color:#8a6410;background:#fffdf7}

/* içerik blok başlığı (sol kolon section'ları) */
.ed-blk{margin-top:38px}
.ed-blk-h{display:flex;align-items:center;gap:11px;margin-bottom:18px}
.ed-blk-h .ic{flex:none;width:38px;height:38px;border-radius:var(--radius-md);background:var(--fit-tint);color:var(--fit-deep);display:grid;place-items:center;font-size:16px}
.ed-blk-h h2{font-size:21px;letter-spacing:-.02em}
.ed-blk-h p{font-size:13px;color:var(--muted);font-weight:500;margin-top:1px}

/* nasıl yapılır — numaralı adım listesi (gerçek sıra → numara anlamlı) */
.ed-steps{list-style:none;counter-reset:step;display:flex;flex-direction:column;gap:2px}
.ed-steps li{position:relative;display:flex;gap:16px;padding:15px 4px 15px 0;border-bottom:1px solid var(--line)}
.ed-steps li:last-child{border-bottom:none}
.ed-steps li::before{counter-increment:step;content:counter(step);flex:none;width:30px;height:30px;border-radius:var(--radius-md);background:var(--fit);color:#fff;font-size:13.5px;font-weight:700;display:grid;place-items:center;font-variant-numeric:tabular-nums}
.ed-steps li b{display:block;font-size:15px;font-weight:700;color:var(--slate);margin-bottom:2px}
.ed-steps li span{display:block;font-size:14px;font-weight:500;color:var(--slate-2);line-height:1.55}

/* form / güvenlik ipuçları — kapsayıcı ton, uyarı değil rehber */
.ed-tips{margin-top:18px;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ed-tip{display:flex;gap:12px;padding:15px;border:1px solid var(--fit-line);background:var(--fit-tint);border-radius:var(--radius-md)}
.ed-tip i{flex:none;width:34px;height:34px;border-radius:var(--radius-md);background:#fff;color:var(--fit-deep);display:grid;place-items:center;font-size:14px}
.ed-tip b{display:block;font-size:13.5px;font-weight:700;color:var(--slate);margin-bottom:2px}
.ed-tip span{display:block;font-size:12.5px;font-weight:500;color:var(--slate-2);line-height:1.5}

/* hedef kaslar — birincil / ikincil görsel etiket */
.ed-musc{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:6px}
.ed-musc-card{padding:18px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--bg-white)}
.ed-musc-card.primary{border-color:var(--fit-line);background:var(--fit-tint)}
.ed-musc-lab{display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}
.ed-musc-card.primary .ed-musc-lab{color:var(--fit-deep)}
.ed-musc-lab .dot{width:9px;height:9px;border-radius:var(--radius-circle);background:var(--muted)}
.ed-musc-card.primary .ed-musc-lab .dot{background:var(--fit)}
.ed-musc-tags{display:flex;flex-wrap:wrap;gap:8px}
.ed-musc-tags span{font-size:13px;font-weight:600;color:var(--slate);background:#fff;border:1px solid var(--line);padding:7px 13px;border-radius:var(--radius-sm)}
.ed-musc-card.primary .ed-musc-tags span{border-color:var(--fit-line)}

/* =====================================================================
 ÇEKİRDEK · SET-TAKİP PANELİ (recete-builder canlı toplam → canlı hacim)
 Sağ kolon sticky. Satır = set; inline number input'lar; canlı Σ hacim.
 ===================================================================== */
.ed-track{position:sticky;top:128px;background:var(--bg-white);border:1px solid var(--line);border-radius:var(--radius-xl);box-shadow:var(--sh-md);overflow:hidden}
.ed-track-h{display:flex;align-items:center;gap:12px;padding:20px 22px 18px;background:linear-gradient(180deg,#211E16,#1d1a14);color:#fff}
.ed-track-h .ic{flex:none;width:40px;height:40px;border-radius:var(--radius-md);background:color-mix(in srgb, var(--marka) 22%, transparent);border:1px solid color-mix(in srgb, var(--marka-parlak) 40%, transparent);color:#fff;display:grid;place-items:center;font-size:17px}
.ed-track-h b{display:block;font-size:16px;font-weight:700;letter-spacing:-.01em}
.ed-track-h small{display:block;font-size:12px;font-weight:500;color:rgba(255,255,255,.62);margin-top:1px}
.ed-track-body{padding:6px 16px 16px}

/* kronometre — başlık satırının sağında */
.ed-clock{
  margin-left:auto;flex:none;display:inline-flex;align-items:center;gap:8px;
  font-family:inherit;font-size:13px;font-weight:700;color:#fff;
  background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);
  border-radius:var(--radius-md);padding:0 12px;height:36px;cursor:pointer;
  font-variant-numeric:tabular-nums;transition:.2s var(--ease);
}
.ed-clock:hover{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.4)}
.ed-clock.run{background:color-mix(in srgb, var(--marka) 30%, transparent);border-color:color-mix(in srgb, var(--marka-parlak) 55%, transparent)}
.ed-clock i{font-size:11px;color:var(--fit-bright)}
.ed-clock:focus-visible{outline:3px solid var(--fit-bright);outline-offset:2px}

/* ---- DİNLENME SAYACI ---- */
.ed-rest{
  display:flex;align-items:center;gap:14px;padding:14px 16px;
  background:var(--fit-tint);border-bottom:1px solid var(--fit-line);
}
.ed-rest.warn{background:#fff4e5;border-bottom-color:#f3d9ae}
.ed-rest-ring{position:relative;width:52px;height:52px;flex:none}
.ed-rest-ring svg{width:52px;height:52px;transform:rotate(-90deg)}
.ed-rest-ring circle{fill:none;stroke-width:4;stroke-linecap:round}
.ed-rest-ring .tr{stroke:color-mix(in srgb, var(--marka) 16%, transparent)}
.ed-rest-ring .pg{stroke:var(--fit);stroke-dasharray:119.4;stroke-dashoffset:0;transition:stroke-dashoffset .95s linear}
.ed-rest.warn .ed-rest-ring .pg{stroke:#d98324}
.ed-rest-ring b{position:absolute;inset:0;display:grid;place-items:center;font-size:15px;font-weight:800;color:var(--slate);font-variant-numeric:tabular-nums}
.ed-rest-txt{min-width:0;flex:1}
.ed-rest-txt b{display:block;font-size:14px;font-weight:700;color:var(--slate)}
.ed-rest-txt small{display:block;font-size:12px;font-weight:500;color:var(--slate-2);margin-top:1px}
.ed-rest-acts{display:flex;gap:6px;flex:none}
.ed-rest-acts button{
  min-width:38px;height:34px;padding:0 8px;font-family:inherit;font-size:12px;font-weight:700;
  color:var(--fit-deep);background:#fff;border:1px solid var(--fit-line);border-radius:var(--radius-sm);
  cursor:pointer;transition:.18s var(--ease);
}
.ed-rest-acts button:hover{border-color:var(--fit);background:var(--fit-tint)}
.ed-rest-acts button:focus-visible{outline:3px solid var(--fit);outline-offset:2px}

/* tablo başlığı */
.ed-set-head{display:grid;grid-template-columns:30px 1fr 1fr 58px 40px 34px;gap:6px;align-items:center;padding:12px 4px 9px;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.ed-set-head span:nth-child(2),.ed-set-head span:nth-child(3),.ed-set-head span:nth-child(4),.ed-set-head span:nth-child(5){text-align:center}
/* set satırı */
.ed-set-row{display:grid;grid-template-columns:30px 1fr 1fr 58px 40px 34px;gap:6px;align-items:center;padding:6px 4px;border-radius:var(--radius-md);transition:background .18s var(--ease)}
.ed-set-row.done{background:var(--fit-tint)}
.ed-set-no{display:grid;place-items:center;width:30px;height:32px;border-radius:var(--radius-sm);background:var(--bg);color:var(--slate);font-size:13px;font-weight:700;font-variant-numeric:tabular-nums}
.ed-set-row.done .ed-set-no{background:var(--fit);color:#fff}
.ed-set-row input[type=number]{width:100%;height:40px;text-align:center;font-family:inherit;font-size:15px;font-weight:700;color:var(--slate);background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-md);outline:none;-moz-appearance:textfield;transition:border-color .18s var(--ease),background .18s var(--ease);font-variant-numeric:tabular-nums}
.ed-set-row input[type=number]::-webkit-outer-spin-button,.ed-set-row input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.ed-set-row input[type=number]:focus{border-color:var(--fit);background:#fff;box-shadow:0 0 0 3px color-mix(in srgb, var(--marka) 12%, transparent)}
/* RPE — algılanan zorluk (1–10). Renk TEK sinyal değil; sayı da yazılı. */
.ed-rpe{
  width:100%;height:40px;font-family:inherit;font-size:13px;font-weight:700;color:var(--slate);
  background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-md);
  text-align:center;cursor:pointer;appearance:none;-webkit-appearance:none;
  padding:0 4px;transition:.18s var(--ease);
}
.ed-rpe:focus{border-color:var(--fit);background:#fff;outline:none;box-shadow:0 0 0 3px color-mix(in srgb, var(--marka) 12%, transparent)}
.ed-rpe[data-lvl="hard"]{border-color:#e6b98a;background:#fff6ea;color:#8a5a1b}
.ed-rpe[data-lvl="max"]{border-color:#e2a3a3;background:#fdf0f0;color:#9c3535}

/* ✓ tamam toggle */
.ed-set-check{width:40px;height:40px;border-radius:var(--radius-md);border:1px solid var(--line);background:var(--bg-white);color:var(--muted);font-size:14px;cursor:pointer;display:grid;place-items:center;transition:.18s var(--ease)}
.ed-set-check:hover{border-color:var(--fit);color:var(--fit-deep)}
.ed-set-row.done .ed-set-check{background:var(--fit);border-color:var(--fit);color:#fff}
/* satır sil */
.ed-set-del{width:34px;height:40px;border-radius:var(--radius-md);border:1px solid transparent;background:none;color:var(--muted);font-size:13px;cursor:pointer;display:grid;place-items:center;transition:.18s var(--ease)}
.ed-set-del:hover{color:var(--food);background:rgba(225,72,39,.08)}
.ed-set-del:disabled{opacity:.3;cursor:not-allowed}

/* ---- dinlenme süresi tercihi ---- */
.ed-restset{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:14px;padding-top:13px;border-top:1px solid var(--line)}
.ed-restset>span{font-size:12.5px;font-weight:600;color:var(--slate-2);display:inline-flex;align-items:center;gap:7px}
.ed-restset>span i{color:var(--fit-deep);font-size:12px}
.ed-restpick{display:inline-flex;gap:3px;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-md);padding:3px}
.ed-restpick button{
  font-family:inherit;font-size:12px;font-weight:700;color:var(--slate-2);
  background:none;border:none;border-radius:var(--radius-sm);padding:6px 9px;cursor:pointer;transition:.16s var(--ease);
}
.ed-restpick button:hover{color:var(--fit-deep)}
.ed-restpick button.on{background:var(--fit);color:#fff}

/* önceki antrenmanla karşılaştırma */
.ed-sum-row.cmp b{font-size:14px;color:rgba(255,255,255,.86)}
.ed-delta{
  display:flex;align-items:center;gap:8px;margin-top:10px;padding:10px 13px;
  border-radius:var(--radius-md);font-size:12.5px;font-weight:600;line-height:1.45;
  background:var(--fit-tint);border:1px solid var(--fit-line);color:var(--slate-2);
}
.ed-delta.down{background:#fff6ea;border-color:#f0dcc0}
.ed-delta i{flex:none}
.ed-delta.up i{color:var(--fit-deep)}
.ed-delta.down i{color:#c07d22}

/* hızlı not */
.ed-note-lbl{display:flex;align-items:center;gap:8px;margin-top:16px;margin-bottom:7px;font-size:12.5px;font-weight:700;color:var(--slate-2)}
.ed-note-lbl i{color:var(--fit-deep);font-size:12px}
.ed-note{
  width:100%;font-family:inherit;font-size:13.5px;font-weight:500;color:var(--slate);
  background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-md);
  padding:11px 13px;resize:vertical;min-height:62px;outline:none;line-height:1.5;
  transition:border-color .18s var(--ease),background .18s var(--ease);
}
.ed-note:focus{border-color:var(--fit);background:#fff;box-shadow:0 0 0 3px color-mix(in srgb, var(--marka) 12%, transparent)}
.ed-note::placeholder{color:var(--muted)}

/* ---- ANTRENMAN ÖZETİ MODALI ---- */
.ed-sumo-ov{position:fixed;inset:0;background:rgba(20,18,12,.55);z-index:97}
.ed-sumo{position:fixed;inset:0;z-index:98;display:grid;place-items:center;padding:20px}
.ed-sumo-p{
  position:relative;width:min(430px,100%);background:#fff;border-radius:var(--radius-xl);
  box-shadow:var(--sh-lg);padding:30px 26px 24px;text-align:center;
  max-height:88vh;overflow-y:auto;
}
.ed-sumo-x{position:absolute;top:13px;right:13px;width:36px;height:36px;border-radius:var(--radius-md);border:1px solid var(--line);background:var(--paper);color:var(--slate);font-size:15px;cursor:pointer;display:grid;place-items:center}
.ed-sumo-x:hover{border-color:var(--fit);color:var(--fit-deep)}
.ed-sumo-ico{width:60px;height:60px;border-radius:var(--radius-circle);background:var(--fit-tint);color:var(--fit-deep);display:grid;place-items:center;font-size:24px;margin:0 auto 15px}
.ed-sumo h3{font-size:20px;margin-bottom:7px}
.ed-sumo>.ed-sumo-p>p{font-size:13.5px;color:var(--muted);font-weight:500;margin-bottom:20px}
.ed-sumo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;text-align:left;margin-bottom:16px}
.ed-sumo-grid .k{padding:13px 14px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg)}
.ed-sumo-grid .k b{display:block;font-size:19px;font-weight:800;color:var(--slate);letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.ed-sumo-grid .k b small{font-size:12px;font-weight:600;color:var(--muted);margin-left:2px}
.ed-sumo-grid .k span{display:block;font-size:11.5px;font-weight:600;color:var(--muted);margin-top:2px}
.ed-sumo-note{text-align:left;font-size:12.5px;font-weight:500;color:var(--slate-2);background:var(--fit-tint);border:1px solid var(--fit-line);border-radius:var(--radius-md);padding:11px 13px;margin-bottom:16px}
.ed-sumo-acts{display:flex;gap:10px}
.ed-sumo-acts .btn{flex:1}
/* set ekle */
.ed-set-add{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;margin-top:10px;font-family:inherit;font-size:13.5px;font-weight:700;color:var(--fit-deep);background:var(--fit-tint);border:1px dashed var(--fit-line);border-radius:var(--radius-md);padding:13px;cursor:pointer;transition:.18s var(--ease)}
.ed-set-add:hover{background:#fff;border-color:var(--fit);border-style:solid}

/* canlı toplam özeti (recete-builder bsum dilinin karşılığı) */
.ed-sum{margin-top:16px;padding:16px;border-radius:var(--radius-lg);background:var(--fit-dark);color:#fff}
.ed-sum-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:7px 0}
.ed-sum-row+.ed-sum-row{border-top:1px solid rgba(255,255,255,.1)}
.ed-sum-row span{font-size:13px;font-weight:500;color:rgba(255,255,255,.7)}
.ed-sum-row b{font-size:16px;font-weight:700;color:#fff;font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.ed-sum-row b small{font-size:11px;font-weight:500;color:rgba(255,255,255,.55);margin-left:3px;letter-spacing:0}
.ed-sum-row.total b{font-size:24px;color:var(--fit-bright)}
.ed-sum-row.total b small{color:rgba(117,218,255,.7)}
/* set-takip CTA'ları */
.ed-track-cta{display:flex;flex-direction:column;gap:9px;padding:0 16px 18px}
.ed-track-cta .btn{width:100%}
.ed-track-cta .btn-line{background:var(--bg-white);color:var(--slate);border:1px solid var(--line)}
.ed-track-cta .btn-line:hover{border-color:var(--fit);color:var(--fit-deep);transform:translateY(-2px)}
/* plana ekleme: gün seçici + dürüst durum satırı */
.ed-plan-pick{display:flex;flex-direction:column;gap:9px;background:var(--fit-tint);border:1px solid var(--fit-line);border-radius:var(--radius-md);padding:12px}
.ed-plan-pick[hidden]{display:none}
.ed-plan-satir{display:flex;flex-direction:column;gap:6px}
.ed-plan-satir[hidden]{display:none}
.ed-plan-lbl{font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--fit-deep)}
.ed-plan-sel{width:100%;height:44px;font-family:inherit;font-size:13.5px;font-weight:600;color:var(--slate);background:var(--bg-white);border:1px solid var(--fit-line);border-radius:var(--radius-sm);padding:0 12px}
.ed-plan-gunler{display:flex;flex-direction:column;gap:6px}
.ed-plan-gun{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:44px;text-align:left;font-family:inherit;font-size:13px;font-weight:700;color:var(--slate);background:var(--bg-white);border:1px solid var(--fit-line);border-radius:var(--radius-sm);padding:9px 12px;cursor:pointer;transition:.18s var(--ease)}
.ed-plan-gun:hover{border-color:var(--fit);color:var(--fit-deep)}
.ed-plan-gun.is-sirada{border-color:var(--fit)}
.ed-plan-gun small{flex:none;font-size:11.5px;font-weight:600;color:var(--muted)}
.ed-plan-durum{font-size:12.5px;font-weight:500;line-height:1.55;color:var(--slate-2);background:var(--fit-tint);border:1px solid var(--fit-line);border-radius:var(--radius-md);padding:11px 13px}
.ed-plan-durum.is-notr{background:var(--bg-cream);border-color:var(--line)}
.ed-plan-durum b{font-weight:700;color:var(--slate)}
.ed-plan-durum a{color:var(--fit-deep);font-weight:700;text-decoration:underline;text-underline-offset:2px}
.ed-track-note{display:flex;gap:9px;font-size:11.5px;font-weight:500;color:var(--muted);line-height:1.5;padding:0 18px 20px}
.ed-track-note i{flex:none;color:var(--fit-deep);margin-top:2px}

/* ---- BENZER / ALTERNATİF HAREKETLER ŞERİDİ (hub full-görsel kart dili) ---- */
.ed-alt{padding:var(--sec-pad) 0 var(--sec-pad);background:var(--bg-cream);border-top:1px solid var(--line)}

.ed-yorum{padding:var(--sec-pad) 0 var(--sec-pad);background:var(--bg-cream);border-top:1px solid var(--line)}
.ed-alt-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.ed-altcard-fig{position:relative;aspect-ratio:4/5;background-size:cover;background-position:center;background-color:#211E16}
.ed-altcard-fig::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(33,30,22,0) 38%,rgba(15,13,9,.84))}
.ed-altcard-lv{position:absolute;top:12px;left:12px;z-index:2;font-size:10.5px;font-weight:700;letter-spacing:.03em;color:#fff;background:color-mix(in srgb, var(--marka) 85%, transparent);backdrop-filter:blur(6px);padding:var(--sec-pad-sm) 10px;border-radius:var(--radius-sm)}
.ed-altcard-cap{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:16px}
.ed-altcard-cap b{display:block;color:#fff;font-size:15.5px;font-weight:700;letter-spacing:-.01em;line-height:1.2}
.ed-altcard-cap span{display:inline-flex;align-items:center;gap:6px;color:rgba(255,255,255,.78);font-size:12px;font-weight:600;margin-top:5px}
.ed-altcard-cap span i{color:var(--fit-bright);font-size:11px}

/* ---- RESPONSIVE ---- */
@media (max-width:1024px){
  .ed-grid{grid-template-columns:1fr;gap:30px}
  .ed-track{position:static;top:auto}
  .ed-alt-grid{grid-template-columns:1fr 1fr}
  .ed-head h1{font-size:32px}
}
@media (max-width:640px){
  .ed-top{margin-top:62px;padding:16px 0 20px}
  .ed-head .ed-sub{font-size:14px;margin-top:9px}
  .ed-head h1{font-size:26px}
  .ed-body{padding:var(--sec-pad-sm) 0 var(--sec-pad)}
  .ed-tips,.ed-musc{grid-template-columns:1fr}
  .ed-alt-grid{grid-template-columns:1fr 1fr;gap:14px}
  .ed-blk-h h2{font-size:19px}
  .ed-demo{aspect-ratio:4/3}
}

/* ============ ESTETİK RAFİNE — gölge/lift tutarlılığı + premium his ============ */
.hub-card{box-shadow:var(--sh-sm)}
.hub-card:hover{box-shadow:var(--sh-lg)}
.demo-card{box-shadow:var(--sh-sm)}

/* ============ RESPONSIVE ============ */
@media (max-width:1024px){
  .hub-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .hub-grid,.hub-grid.cols3{grid-template-columns:1fr}
  .res-num{font-size:38px}
}

