/* font.py: indirilen yazi tipi yok (sistem fontu) + okuma katmani */
/* punto.py: font-size +0 px (h1 haric), tepe logo 48px */

/* TARIF. Mutfakta telefonla bakilan sayfa: dokunma alanlari genis,
   isaretlenen satirlar kayboluyor degil soluyor, porsiyon carpani
   malzemenin yanindaki sayiyi degistiriyor. */.gbc-yeni .tarif-eylem{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}.gbc-yeni .porsiyon-serit{display:flex;gap:7px;flex-wrap:wrap;align-items:center;margin-top:12px}.gbc-yeni .pors-d{font-family:inherit;font-size:var(--fs-1);font-weight:700;min-height:44px;min-width:44px;padding:8px 12px;border-radius:10px;border:1px solid var(--cizgi);background:var(--kart);color:var(--metin);cursor:pointer}.gbc-yeni .pors-d:hover{border-color:var(--marka-cizgi)}.gbc-yeni .pors-d:disabled{opacity:.4;cursor:default}.gbc-yeni .pors-deger{font-size:var(--fs-2);font-weight:700;min-width:40px;text-align:center;font-variant-numeric:tabular-nums}
/* BESIN DEGERLERI. Kucuk kutular: goz tek bakista hepsini aliyor,
   sayfayi asagi itmiyor. Dar ekranda uc, genis ekranda alti sutun. */.gbc-yeni .besin-izgara{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:12px}.gbc-yeni .besin-kutu{padding:8px 6px;border-radius:9px;background:var(--mu);min-width:0;text-align:center;overflow-wrap:normal}
/* Dar ekranda sutun sayisi JS'ten gelen degeri ezer: ucten fazlasi sigmaz */
@media(max-width:620px){.gbc-yeni .besin-kutu{flex:0 0 calc((100% - 12px) / 3) !important} }.gbc-yeni .besin-kutu .et{font-size:var(--fs-0);letter-spacing:.6px;line-height:1.25;white-space:normal}.gbc-yeni .besin-kutu .besin-deger{display:block;font-size:var(--fs-1);font-weight:700;margin-top:2px;line-height:1.25}

.gbc-yeni .malz-grup-ad{font-size:var(--fs-0);font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--gri2);margin-top:16px}.gbc-yeni .malz-grup-ad:first-child{margin-top:4px}.gbc-yeni .malz-sat{display:flex;gap:11px;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--cizgi);cursor:pointer}.gbc-yeni .malz-sat:last-child{border-bottom:0}.gbc-yeni .malz-sat input{width:18px;height:18px;flex:none;accent-color:var(--marka);margin-top:2px}.gbc-yeni .malz-sat.alindi .malz-ic{opacity:.45;text-decoration:line-through}.gbc-yeni .malz-ic{min-width:0;display:flex;gap:7px;flex-wrap:wrap;align-items:baseline}.gbc-yeni .malz-mik{font-weight:700;white-space:nowrap;color:var(--kiremit)}.gbc-yeni .malz-not{font-size:var(--fs-1);color:var(--gri2)}.gbc-yeni .adim-sat{display:flex;gap:12px;align-items:flex-start;padding:14px 0;border-bottom:1px solid var(--cizgi);cursor:pointer}.gbc-yeni .adim-sat:last-child{border-bottom:0}.gbc-yeni .adim-no{flex:none;width:28px;height:28px;border-radius:9px;background:var(--marka);color:var(--zit);font-size:var(--fs-1);font-weight:700;display:flex;align-items:center;justify-content:center}.gbc-yeni .adim-sat.bitti .adim-no{background:var(--yesil)}.gbc-yeni .adim-sat.bitti .adim-ic{opacity:.5}.gbc-yeni .adim-ic{min-width:0}.gbc-yeni .adim-ic h3{margin:0;font-size:var(--fs-2);font-family:var(--govde);letter-spacing:0}.gbc-yeni .adim-ic p{margin-top:4px;font-size:var(--fs-2);line-height:var(--lh-govde);color:var(--metin)}.gbc-yeni .adim-sayac{font-size:var(--fs-1);font-weight:700;color:var(--gri2);font-variant-numeric:tabular-nums}

/* Besin ve saklama satirlari ortak .anlam-sat bileseniyle ciziliyor,
   burada ikinci bir satir bileseni tanimlanmiyor. */.gbc-yeni .etiket-serit{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.gbc-yeni .etiket{font-size:var(--fs-0);font-weight:700;padding:3px 10px;border-radius:999px;background:var(--mu);border:1px solid var(--cizgi);color:var(--gri)}.gbc-yeni .etiket.uyari{background:var(--marka-zemin);border-color:var(--marka-cizgi);color:var(--kiremit)}

/* Gezi baglantisi: tarif bir sehre baglaniyorsa cikar, baglanmiyorsa hic
   cizilmez. Uydurma bag kurulmaz. */

/* SEF PUF NOKTALARI. Kart yigini degil, numarali ve okunur satirlar.
   Sik yapilan hatalardan gozle ayrilsin diye marka renginde solda bir
   serit tasiyor: biri "soyle yap", digeri "sunu yapma". */.gbc-yeni .puf-izgara{display:grid;gap:10px;margin-top:13px}
@media(min-width:760px){.gbc-yeni:not(.mobil) .puf-izgara{grid-template-columns:1fr 1fr} }.gbc-yeni .puf-kart{display:flex;gap:11px;align-items:flex-start;padding:13px 14px;border-radius:12px;background:var(--kart);border:1px solid var(--cizgi);border-left:3px solid var(--marka)}.gbc-yeni .puf-no{flex:none;width:24px;height:24px;border-radius:8px;background:var(--marka-zemin);border:1px solid var(--marka-cizgi);color:var(--kiremit);font-size:var(--fs-1);font-weight:700;display:flex;align-items:center;justify-content:center;font-variant-numeric:tabular-nums}.gbc-yeni .puf-kart p{min-width:0;font-size:var(--fs-2);line-height:var(--lh-govde);margin:0}

/* OZET SERIDI. Tarifin ustundeki kutular: satirlar esit bolunuyor ve
   ortalaniyor, son satirda genisleyip bicimsiz duran kutu olmuyor.
   Dar ekranda iki sutun. */.gbc-yeni .ozet-serit{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:4px}
@media(max-width:620px){.gbc-yeni .ozet-serit > .ozet-kutu{flex:0 0 calc((100% - 10px) / 2) !important} }

/* ================= BOLUM BASLIGINDA SAGDAKI BAGLANTI =================
   9 Eki 2026 - Halil: "yan tarafina boyle bir tane cizgi atip tum yapim
   videolarini izlemek icin deyip link ver." Cizgi ::before ile geliyor,
   ayri bir etiket yok. Dar ekranda alt satira dusuyor ve cizgi
   kayboluyor: tek basina duran dikey cizgi anlamsiz olurdu. */
.gbc-yeni .bas-ek{margin-left:auto;display:inline-flex;align-items:center;gap:10px;font-size:var(--fs-1);font-weight:700;white-space:nowrap}
.gbc-yeni .bas-ek::before{content:"";width:1px;height:15px;background:var(--cizgi);flex:none}
@media(max-width:600px){.gbc-yeni .bas-ek{margin-left:0;white-space:normal}.gbc-yeni .bas-ek::before{display:none} }



/* ================= YAPIM VIDEOSU =================
   Gercek iframe basiliyor; modules/54-yt-facade.php onu kapak resmine
   ceviriyor ve tiklandiginda ayni yerde oynatiyor. Iki halin de kose
   yarıcapi karttaki 14px olsun diye kutu kirpiyor. */
.gbc-yeni .tarif-video{padding:0;overflow:hidden;position:relative;aspect-ratio:16/9;background:#000}
.gbc-yeni .tarif-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.gbc-yeni .tarif-video .gbc-yt-facade{border-radius:0;height:100%}

/* ================= YANINDA NE IYI GIDER =================
   Kart duzeni maketten (maket-bolumler.json#eslikci): kare gorsel,
   kategori etiketi, baslik ve ok. Sutun sayisi gbc_tarif_kolon ile
   hesaplaniyor, son satir bos kalmiyor. */
.gbc-yeni .eslikci-izgara{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:4px}
/* Masada sutun GENISLIGI 230px ile sinirli, 1fr degil. Olculdu (9 Eki
   2026): iki eslikci varken 1fr her karti 409px yapiyor, 1:1 gorsel
   409x409 kocaman bir kareye doniyordu. Simdi kartlar sola yasli ve
   her zaman ayni boyda; sayi 2 de olsa 5 de olsa duzen bozulmuyor. */
@media(min-width:760px){.gbc-yeni:not(.mobil) .eslikci-izgara{grid-template-columns:repeat(var(--kol-masa,3),minmax(0,230px))} }
.gbc-yeni .eslikci-kart{padding:0;overflow:hidden;display:block;text-decoration:none}
.gbc-yeni .eslikci-kart:hover{border-color:var(--marka-cizgi);text-decoration:none}
.gbc-yeni .eslikci-gorsel{display:block;aspect-ratio:1/1;overflow:hidden;background:var(--mu)}
.gbc-yeni .eslikci-gorsel img{width:100%;height:100%;object-fit:cover;display:block}
.gbc-yeni .eslikci-ic{display:block;padding:11px 12px 13px}
.gbc-yeni .eslikci-ic h3{margin:4px 0 0;font-size:var(--fs-2);line-height:1.3;color:var(--metin);font-family:var(--govde);letter-spacing:0}

/* ================= PUAN VE OYLAMA =================
   Halil, 11 Eki, iki tur geri bildirim:
   1) "Puan vermeyi mobilde daha şık göster."
   2) "Çok boşluklar var, altında üstünde yıldızlar birbirinden çok
       uzak gibi. Daha güzel bir tasarım otursun."
   ÖLÇÜLDÜ: iki ayrı blok vardı (mevcut puan ve oy kutusu), araları
   9 px, kutunun kendi dolgusu 9+7, etiket ayrı satırda, yıldızlar
   arası 6 px. Üst üste binen boşluklar 106 px'e çıkıyordu.
   ŞİMDİ TEK KART: iki satır, aralarında saç teli çizgi. Üstte mevcut
   puan, altta oy verme; etiket solda, yıldızlar sağda, aralarında
   boşluk yok. Yıldız düğmesi 40x44: dokunma hedefi korunuyor ama
   beşi yan yana sığıyor ve dağılmış görünmüyor. */
.gbc-yeni .tarif-puan{display:flex;flex-wrap:wrap;align-items:center;gap:7px 14px;margin:0}
.gbc-yeni .ty-mevcut{display:inline-flex;align-items:center;gap:7px;min-width:0}
.gbc-yeni .ty-yildizlar{display:inline-flex;gap:1px;line-height:1}
.gbc-yeni .ty-y{font-size:var(--fs-3);line-height:1;color:var(--cizgi)}
.gbc-yeni .ty-y.dolu{color:var(--marka)}
/* Yarim yildiz: soldan marka, sagdan cizgi. Iki ayri karakter yerine tek
   karakterin yarisi boyaniyor, boylece hizalama kaymiyor. */
.gbc-yeni .ty-y.yarim{color:var(--cizgi);background:linear-gradient(90deg,var(--marka) 50%,var(--cizgi) 50%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.gbc-yeni .ty-sayi{font-size:var(--fs-1);font-weight:700;color:var(--metin);font-variant-numeric:tabular-nums}
.gbc-yeni .ty-bes{font-size:var(--fs-1);color:var(--gri2);margin-left:-4px}
.gbc-yeni .ty-adet{font-size:var(--fs-1);color:var(--gri)}
.gbc-yeni .ty-oyla{display:inline-flex;align-items:center;gap:8px;padding:4px 10px;border:1px solid var(--cizgi);border-radius:10px;background:var(--kart)}
.gbc-yeni .ty-oyla:hover{border-color:var(--marka-cizgi);background:var(--marka-zemin)}
.gbc-yeni .ty-lbl{font-size:var(--fs-1);font-weight:700;color:var(--gri)}
.gbc-yeni .ty-oklar{display:inline-flex;gap:0}
.gbc-yeni .ty-o{appearance:none;border:0;background:none;padding:0;margin:0;font:inherit;font-size:var(--fs-3);line-height:1;color:var(--cizgi);cursor:pointer;min-height:36px;min-width:28px}
.gbc-yeni .ty-o.on{color:var(--marka)}
.gbc-yeni .ty-not{font-size:var(--fs-1);font-weight:600;color:var(--yesil)}
.gbc-yeni .ty-not.uyari{color:var(--kiremit)}

/* DOKUNMATIK: ev kurali 44 px. Yukseklik 44'te kaliyor, genislik 40:
   bes yildiz yan yana sigiyor, aralarinda bosluk kalmiyor. */
@media(hover:none){
  .gbc-yeni .ty-o{min-height:44px;min-width:40px;font-size:var(--fs-4)}
}

/* TELEFON: tek kart, iki satir, arasinda sac teli cizgi. */
@media(max-width:559px){
  .gbc-yeni .tarif-puan{display:block;border:1px solid var(--cizgi);border-radius:12px;background:var(--kart);overflow:hidden;margin:0}
  .gbc-yeni .ty-mevcut{display:flex;width:100%;padding:9px 12px;gap:7px}
  .gbc-yeni .ty-oyla{display:flex;width:100%;justify-content:space-between;gap:8px;border:0;border-top:1px solid var(--cizgi);border-radius:0;padding:2px 12px 2px 12px;background:var(--marka-zemin)}
  .gbc-yeni .ty-oyla:hover{background:var(--marka-zemin)}
  .gbc-yeni .ty-lbl{font-size:var(--fs-1);color:var(--kiremit)}
  .gbc-yeni .ty-o{color:var(--gri2);opacity:.45}
  .gbc-yeni .ty-o.on{color:var(--marka);opacity:1}
  /* display:block [hidden]'i eziyordu: bos not satiri yer kapliyordu
     (olculdu, 390 px: blok 106 -> 150). Gizli olan gizli kalacak. */
  .gbc-yeni .ty-not{display:block;padding:7px 12px;border-top:1px solid var(--cizgi)}
  .gbc-yeni .ty-not[hidden]{display:none}
}

/* 14 Eki 2026 - v1.99.77: iOS cift dokunma yakinlastirmasi (+/- hizli basinca sayfa saga buyuyordu). */.gbc-yeni .pors-d,.gbc-yeni .tarif-eylem button{touch-action:manipulation}
