/* Kaynak: canlı https://dadadiet.com/programini-bul satır içi <style> bloğu — BİREBİR
   (2026-09-14, yalnız GET). Tek değişiklik palet: canlının yeşil tonları bu repodaki karşılıklarına
   çevrildi (#7fe0b0→#99d7b4, #54d39a→#7fcca1, rgba(59,183,126)→rgba(0,154,68), #EAF7F0→#E3F4EA,
   #d9efe3→#c9ead8, #cdeadd→#bae4cc — beslenme-ipuclari-v1 / programlar-v1 ile aynı eşleme) ve hero
   görseli yerel `media/` kopyasına bağlandı. */
/* ===== SAYFA CSS — kabuk CSS'i assets/css/dd-shell.css'te ===== */
/* =====================================================================
   PROGRAMINI BUL — program eşleştirme sihirbazı.
   YENİ SINIF YOK. Sihirbaz dili diyetisyen-bul-v1'den BİREBİR;
   sonuç kartı .prog-card ailesi diyet-listeleri-v1'den BİREBİR;
   satır etiketi .proc-head diyetisyen-ol-v1'den.

   VERİ DÜRÜSTLÜĞÜ: bu repoda yayında olan sekiz programın SEKİZİ DE
   yedi günlüktür. Süre adımı sorulur ama sonuç ekranında bu durum
   görünür biçimde belirtilir; olmayan bir çeşitlilik gösterilmez.
   ===================================================================== */

/* ---- breadcrumb ---- */
.rd-crumb{display:flex;align-items:center;flex-wrap:wrap;gap:9px;padding:18px 0 2px;font-size:13px;font-weight:500;color:var(--muted)}
.rd-crumb a{color:var(--muted);transition:.18s}
.rd-crumb a:hover{color:var(--green)}
.rd-crumb i{font-size:9px;color:#c7c7c7}
.rd-crumb b{color:var(--slate);font-weight:700}

/* ---- hero ---- */
/* Koyu görselli banner — reçete .reh-hero'nun birebir aynısı (aynı 40px h1
   ölçüsü, aynı iki katmanlı gradyan + görsel, aynı alt boşluk ritmi: hero'nun
   30px'i + buradaki 20px = 50px). Görsel: sekiz diyet programı sayfasıyla aynı — sihirbazın ürettiği aile
   Krem zemin 17. tura kadar görünmez bir banttı; breadcrumb taşıyıp banner
   taşımayan tek aile buydu (§5.1). */
.wzp-top{position:relative;background-color:#15241c;background-image:linear-gradient(90deg,rgba(18,28,22,.94),rgba(20,32,25,.74)),url("../media/photo-1540420773420-3366772f4999.jpg");background-size:cover;background-position:center;overflow:hidden;padding:128px 0 20px}
.wzp-top .wrap{position:relative}
.wzp-top .rd-crumb{color:#bcd0c4}
.wzp-top .rd-crumb a{color:#bcd0c4}
.wzp-top .rd-crumb a:hover{color:#99d7b4}
.wzp-top .rd-crumb i{color:rgba(255,255,255,.4)}
.wzp-top .rd-crumb b{color:#fff}
.wzp-hero{padding:8px 0 30px;text-align:center;max-width:700px;margin:0 auto}
.wzp-hero .eyebrow{color:#99d7b4;justify-content:center}
.wzp-hero .eyebrow::before{background:var(--green)}
.wzp-hero h1{color:#fff;font-size:40px;letter-spacing:-.03em;margin:14px 0 12px;text-shadow:0 2px 24px rgba(0,0,0,.25)}
.wzp-hero h1 .accent{color:#7fcca1}
.wzp-hero .lead{color:#e3ede7;font-weight:500;font-size:15.5px;max-width:580px;margin:0 auto;text-shadow:0 1px 14px rgba(0,0,0,.3)}
.wzp-trust{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 22px;margin-top:20px}
.wzp-trust span{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:#cfe6da}
.wzp-trust i{color:var(--green);font-size:13px}

/* ---- sihirbaz kabuğu ---- */
.wz-sec{padding:6px 0 70px;background:var(--bg-cream)}
.wz-card{max-width:900px;margin:0 auto;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-xl);box-shadow:var(--sh-md);overflow:hidden}

/* ---- ADIM YOLU ---- */
.wz-steps{display:flex;align-items:flex-start;gap:0;padding:26px 30px 6px;background:var(--bg-cream);border-bottom:1px solid var(--line)}
.wz-step{flex:1;display:flex;flex-direction:column;align-items:center;gap:9px;position:relative;background:none;border:none;font-family:inherit;min-width:0;padding:0;cursor:default}
.wz-step:disabled{cursor:default}
.wz-num{width:38px;height:38px;border-radius:var(--radius-circle);display:grid;place-items:center;font-size:15px;font-weight:800;background:var(--paper);border:2px solid var(--line);color:var(--muted);transition:.25s var(--ease);z-index:2}
.wz-lbl{font-size:12.5px;font-weight:700;color:var(--muted);text-align:center;line-height:1.2;transition:color .25s}
.wz-lbl small{display:block;font-size:11px;font-weight:500;color:#a3a3a3;margin-top:2px}
.wz-step::before,.wz-step::after{content:"";position:absolute;top:19px;height:2px;background:var(--line);z-index:1;transition:background .3s var(--ease)}
.wz-step::before{left:0;right:50%;margin-right:19px}
.wz-step::after{left:50%;right:0;margin-left:19px}
.wz-step:first-child::before{display:none}
.wz-step:last-child::after{display:none}
.wz-step.done .wz-num{background:var(--green);border-color:var(--green);color:#fff}
.wz-step.done .wz-lbl{color:var(--slate)}
.wz-step.done::before,.wz-step.done::after{background:var(--green)}
.wz-step.current .wz-num{border-color:var(--green);color:var(--green);background:var(--tomato-tint);box-shadow:0 0 0 4px rgba(0,154,68,.14)}
.wz-step.current .wz-lbl{color:var(--slate)}
.wz-step.done{cursor:pointer}
.wz-step.done:hover .wz-num{filter:brightness(1.06)}
.wz-num .wz-check{display:none;font-size:14px}
.wz-step.done .wz-num .wz-check{display:inline}
.wz-step.done .wz-num .wz-digit{display:none}
.wz-step:focus-visible{outline:none}
.wz-step:focus-visible .wz-num{outline:3px solid var(--tomato-tint);outline-offset:2px}

/* ---- PANELLER ---- */
.wz-body{padding:32px 34px 6px}
.wz-pane{display:none;animation:fadeUp .35s var(--ease)}
.wz-pane.active{display:block}
.wz-q{text-align:center;margin-bottom:24px}
.wz-q h2{font-size:24px;letter-spacing:-.02em}
.wz-q p{font-size:14px;color:var(--muted);font-weight:500;margin-top:6px}
.wz-q h2:focus,.wz-res-head h2:focus{outline:none}

/* ---- seçenek kutucukları ---- */
.wz-opts{display:grid;gap:12px}
.wz-opts.cols-2{grid-template-columns:1fr 1fr}
.wz-opts.cols-3{grid-template-columns:repeat(3,1fr)}
.wz-opt{display:flex;align-items:center;gap:14px;text-align:left;font-family:inherit;background:var(--paper);border:1.5px solid var(--line);border-radius:var(--radius-lg);padding:16px 18px;cursor:pointer;transition:.18s var(--ease);position:relative}
.wz-oico{flex:none;width:44px;height:44px;border-radius:var(--radius-md);background:var(--bg-cream);color:var(--green);display:grid;place-items:center;font-size:18px;transition:.18s var(--ease)}
.wz-otxt{min-width:0}
.wz-otxt b{display:block;font-size:15px;font-weight:700;color:var(--slate);line-height:1.25}
.wz-otxt small{display:block;font-size:12.5px;color:var(--muted);font-weight:500;margin-top:2px}
.wz-otick{margin-left:auto;flex:none;width:22px;height:22px;border-radius:var(--radius-circle);border:1.5px solid #d8d8d8;display:grid;place-items:center;color:#fff;font-size:11px;transition:.18s var(--ease)}
.wz-otick i{transform:scale(0);transition:transform .16s var(--ease)}
.wz-opt:hover{border-color:var(--green);background:var(--tomato-tint)}
.wz-opt:hover .wz-oico{background:#fff}
.wz-opt:focus-visible{outline:3px solid var(--tomato-tint);outline-offset:2px}
.wz-opt.selected{border-color:var(--green);background:var(--tomato-tint)}
.wz-opt.selected .wz-oico{background:var(--green);color:#fff}
.wz-opt.selected .wz-otick{background:var(--green);border-color:var(--green)}
.wz-opt.selected .wz-otick i{transform:scale(1)}
.wz-opts.tiles .wz-opt{flex-direction:column;text-align:center;align-items:center;gap:11px;padding:24px 16px}
.wz-opts.tiles .wz-oico{width:52px;height:52px;font-size:21px}
.wz-opts.tiles .wz-otick{position:absolute;top:12px;right:12px;margin:0}
.wz-opts.tiles .wz-otxt b{font-size:15.5px}

/* ---- NAV AYAK ---- */
.wz-nav{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 34px 28px}
.wz-back{display:inline-flex;align-items:center;gap:9px;font-family:inherit;font-weight:700;font-size:14px;color:var(--slate);background:none;border:none;cursor:pointer;padding:12px 6px;transition:.18s var(--ease)}
.wz-back i{font-size:12px;transition:transform .2s var(--ease)}
.wz-back:hover{color:var(--green)}
.wz-back:hover i{transform:translateX(-3px)}
.wz-back:focus-visible{outline:3px solid var(--tomato-tint);outline-offset:2px;border-radius:var(--radius-sm)}
.wz-back[hidden]{visibility:hidden;display:inline-flex}
.wz-progress-txt{font-size:12.5px;font-weight:600;color:var(--muted)}
.wz-next{display:inline-flex;align-items:center;gap:10px;font-family:inherit;font-weight:700;font-size:14.5px;color:#fff;background:var(--green-deep);border:none;border-radius:var(--radius-md);padding:14px 28px;cursor:pointer;transition:.2s var(--ease)}
.wz-next i{font-size:13px;transition:transform .2s var(--ease)}
.wz-next:hover{background:var(--green);transform:translateY(-2px)}
.wz-next:hover i{transform:translateX(3px)}
.wz-next:focus-visible{outline:3px solid var(--tomato-tint);outline-offset:2px}
.wz-next:disabled{background:#c3e4d3;cursor:not-allowed;transform:none}

/* ---- SONUÇ ---- */
.wz-result{display:none}
.wz-result.active{display:block;animation:fadeUp .4s var(--ease)}
.wz-res-head{text-align:center;max-width:620px;margin:0 auto}
.wz-res-ico{width:64px;height:64px;border-radius:var(--radius-circle);background:#E3F4EA;color:var(--green);display:grid;place-items:center;font-size:26px;margin:0 auto 16px}
.wz-res-head h2{font-size:26px;letter-spacing:-.02em}
.wz-res-head p{font-size:14.5px;color:var(--muted);font-weight:500;margin-top:8px}
.wz-sum{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:18px 0 2px}
.wz-pill{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;color:var(--green-deep);background:#E3F4EA;border:1px solid rgba(0,154,68,.25);padding:8px 13px;border-radius:var(--radius-md)}
.wz-pill i{font-size:11px}
.wz-relax{display:flex;gap:11px;align-items:flex-start;max-width:680px;margin:16px auto 0;background:var(--tomato-tint);border:1px solid #bae4cc;border-radius:var(--radius-lg);padding:13px 16px}
.wz-relax[hidden]{display:none}
.wz-relax i{color:var(--green-deep);font-size:15px;margin-top:2px;flex:none}
.wz-relax p{font-size:13px;color:var(--slate-2);font-weight:500;line-height:1.55}
.wz-res-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:30px}
.proc-head{display:flex;align-items:center;gap:9px;font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:28px 0 12px}
.proc-head i{color:var(--green);font-size:12px}

/* ---- PROGRAM KARTI (diyet-listeleri .prog-card dili BİREBİR) ---- */
.prog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.prog-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;display:flex;flex-direction:column;cursor:pointer;transition:.3s var(--ease)}
.prog-card:hover{transform:translateY(-6px);border-color:#dcdcdc;box-shadow:var(--sh-md)}
.prog-media{position:relative;height:160px;background-size:cover;background-position:center}
.prog-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(33,30,22,0) 50%,rgba(20,18,12,.55))}
.prog-cat{position:absolute;top:13px;left:13px;z-index:2;background:rgba(255,255,255,.94);color:var(--slate);font-size:11.5px;font-weight:700;padding:6px 12px;border-radius:var(--radius-sm);letter-spacing:.02em}
.prog-cat.green{background:var(--tomato-deep);color:#fff}
.prog-dur{position:absolute;bottom:13px;left:13px;z-index:2;display:inline-flex;align-items:center;gap:6px;background:rgba(20,18,12,.72);color:#fff;font-size:11.5px;font-weight:700;padding:6px 11px;border-radius:var(--radius-sm);backdrop-filter:blur(4px)}
.prog-body{padding:20px;display:flex;flex-direction:column;flex:1}
.prog-body h3{font-size:18px;margin-bottom:9px;letter-spacing:-.01em}
.prog-card:hover .prog-body h3{color:var(--green-deep)}
.prog-body p{font-size:13.5px;color:var(--muted);font-weight:500;line-height:1.55;margin-bottom:16px}
.prog-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.prog-tag{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--slate-2);background:#E3F4EA;border:1px solid #c9ead8;padding:6px 11px;border-radius:var(--radius-sm)}
.prog-tag i{color:var(--green);font-size:11px}
.prog-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:16px;border-top:1px solid var(--line)}
.prog-foot .meals{font-size:12.5px;color:var(--muted);font-weight:500}
.prog-foot .go{display:inline-flex;align-items:center;gap:7px;color:var(--green-deep);font-weight:700;font-size:13.5px}
.prog-card:hover .prog-foot .go i{transform:translateX(3px)}
.prog-foot .go i{transition:.2s var(--ease)}
/* Öğün satırı veriden gelir; veri yoksa `.meals` HİÇ basılmaz (Beyar kararı
   2026-09-16). `space-between` tek çocukla "İncele"yi sola çekerdi. */
.prog-foot > .go:only-child{margin-left:auto}

/* ---- disclaimer ---- */
.reh-note{display:flex;gap:14px;align-items:flex-start;background:var(--tomato-tint);border:1px solid #bae4cc;border-radius:var(--radius-lg);padding:18px 20px}
.reh-note>i{color:var(--tomato-deep);font-size:18px;margin-top:2px;flex:none}
.reh-note p{font-size:14px;color:var(--slate-2);font-weight:500;line-height:1.6}
.reh-note p a{color:var(--tomato-deep);font-weight:700}
.reh-note p a:hover{text-decoration:underline}
.wz-disc{max-width:900px;margin:26px auto 0}

@media(max-width:1024px){
  .wzp-hero h1{font-size:34px}
  .prog-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  .wzp-top{padding-top:82px}
  .wzp-hero{padding:2px 0 22px}
  .wzp-hero h1{font-size:27px}
  .wzp-hero .lead{font-size:14.5px}
  .wzp-trust{gap:8px 16px;margin-top:16px}
  .wzp-trust span{font-size:12px}
  .wz-sec{padding:2px 0 46px}
  .wz-steps{padding:20px 10px 4px}
  .wz-num{width:34px;height:34px;font-size:14px}
  .wz-step::before,.wz-step::after{top:17px}
  .wz-lbl{font-size:11px}
  .wz-lbl small{display:none}
  .wz-body{padding:24px 18px 4px}
  .wz-q h2{font-size:20px}
  .wz-opts.cols-2,.wz-opts.cols-3{grid-template-columns:1fr}
  .wz-opts.tiles.cols-3{grid-template-columns:1fr 1fr 1fr}
  .wz-opts.tiles.cols-2{grid-template-columns:1fr 1fr}
  .wz-opts.tiles .wz-opt{padding:16px 8px;gap:8px}
  .wz-opts.tiles .wz-oico{width:44px;height:44px;font-size:18px}
  .wz-opts.tiles .wz-otxt b{font-size:12.5px}
  .wz-opts.tiles .wz-otick{top:8px;right:8px;width:18px;height:18px}
  .wz-nav{padding:14px 18px 24px}
  .wz-next{padding:13px 20px;font-size:13.5px}
  .wz-back{font-size:13px}
  .wz-res-head h2{font-size:22px}
  .prog-grid{grid-template-columns:1fr;gap:16px}
  .wz-disc{margin-top:20px}
}

/* CANLIDA YOK, BİZDE ZORUNLU — `kanon/bilesenler.css` `[hidden]{display:none !important}` basıyor
   (canlı bu dosyayı bağlamıyor). 1. adımda gizli "Geri" düğmesi canlıda `visibility:hidden` ile yer
   tutuyor, bizde tamamen kalkınca "Adım 1 / 5" metni sola kayıyordu (1440'ta 366px). */
.wz-nav .wz-back[hidden]{display:inline-flex !important;visibility:hidden}

/* BİLİNÇLİ SAPMA — sonuç özet çipi `.wz-pill` canlıda `var(--radius-pill)` (999px, hap). Projedeki
   düğme ve çiplerin kanon yarıçapı `--yuvarlak-md` = `--radius-md` = 12px (`kanon/tokenlar.css`:
   "en sık — kart, düğme, çip"; `dd-shell.css` `.btn`). Çip o değere çekildi (Beyar, 2026-09-14). */
