@import url('/tasarim.css');

body { background: #07130e; }
.ust { display:flex; align-items:center; justify-content:space-between; padding:1rem; border-bottom:1px solid var(--kenar); color:var(--soluk); }
.marka { min-height:44px; display:inline-flex; align-items:center; color:var(--vurgu); font-family:var(--baslik-yazi); font-size:1.4rem; text-decoration:none; letter-spacing:.08em; }
main { width:min(52rem, 100%); margin:0 auto; padding:1rem; }
.durum,.bayat { padding:1rem; color:var(--soluk); text-align:center; }
.bayat { border:1px solid var(--uyari); border-radius:var(--yuvarlak); background:var(--uyari-zemin); color:var(--uyari); }
.kampanya { display:grid; grid-template-columns:minmax(0, 1fr); margin-bottom:1rem; overflow:hidden; border:1px solid var(--vurgu); border-radius:var(--yuvarlak); background:var(--yuzey); text-decoration:none; }
.kampanya img { width:100%; height:11rem; object-fit:cover; }
.kampanya-yazi { padding:1rem; }
.kampanya h2 { margin:0 0 .4rem; color:var(--vurgu); }
.kampanya p { margin:0; }
.kategori { margin:2rem 0; }
.kategori > h2 { margin-bottom:.75rem; color:var(--vurgu); }
.bolum > h3 { margin:1.5rem 0 .5rem; }
.urun { display:grid; grid-template-columns:minmax(0, 1fr) 6.5rem; gap:.75rem; padding:1rem 0; border-top:1px solid var(--kenar); }
.urun h4 { margin:0; font-size:1.05rem; }
.urun p { margin:.25rem 0; color:var(--soluk); font-size:.9rem; }
.fiyatlar { display:grid; gap:.25rem; justify-items:end; align-content:start; color:var(--vurgu); font-weight:700; text-align:right; }
.fiyatlar small { color:var(--soluk); font-weight:400; }
.normal { color:var(--soluk); text-decoration:line-through; }
.indirim { display:inline-flex; min-height:1.5rem; align-items:center; padding:0 .4rem; border-radius:999px; background:var(--vurgu); color:var(--zemin); font-size:.72rem; }
.urun img,.yer-tutucu { grid-column:2; grid-row:1 / span 2; width:6.5rem; height:6.5rem; border-radius:.5rem; object-fit:cover; background:var(--vurgu-zemin); }
.yer-tutucu { display:grid; place-items:center; color:var(--vurgu); font-family:var(--baslik-yazi); font-size:.75rem; letter-spacing:.08em; }
.stok-yok { opacity:.52; }
/* 🔴 ÇEREZ BANDI TELEFONDA KULLANILAMIYORDU — ÖLÇÜLDÜ (12.09.2026, gerçek tarayıcı).
   Bant YAN YANA bir sıraydı (`display:flex` + `justify-content:space-between`) ve
   üç paragraf + düğme kutusu 390 px'e sığmıyordu. Ölçülen sonuç, /menu/:masa'da:
     iPhone 14  gorus 390 px · bant ekranin %75'i · iki dugmenin sag kenari 446 px
     Pixel 7    gorus 412 px · bant ekranin %59'u · iki dugmenin sag kenari 446 px
   Yani misafir NE "İzin veriyorum"a NE "İstemiyorum"a basabiliyordu: ikisi de
   görüş alanının DIŞINDAYDI. Sayfa yatay kaymadığı için (`scrollWidth` = görüş)
   hiçbir taşma sınavı bunu yakalamadı ve davranış sınavım "çerez bandı görünür"
   diyordu — 🔴 GÖRÜNÜR, KULLANILABİLİR DEMEK DEĞİL.
   Bant artık ALT ALTA: metin gerekirse kendi içinde kayar, düğmeler DAİMA görünür. */
.kvkk { position:fixed; z-index:2; right:.75rem; bottom:.75rem; left:.75rem; display:flex; flex-direction:column; gap:.6rem; max-height:min(60vh, 24rem); padding:.75rem; border:1px solid var(--kenar); border-radius:var(--yuvarlak); background:var(--yuzey); box-shadow:var(--golge); }
.kvkk-metin { min-height:0; overflow-y:auto; }
.kvkk p { margin:0 0 .45rem; font-size:.82rem; color:var(--soluk); }
.kvkk p:last-child { margin-bottom:0; }
.kvkk button { flex:0 0 auto; padding:.5rem .8rem; border:1px solid var(--vurgu); border-radius:.5rem; background:var(--vurgu); color:var(--zemin); cursor:pointer; }
@media (min-width:42rem) { .kampanya { grid-template-columns:13rem 1fr; } .kampanya img { height:100%; } .kvkk { left:auto; width:min(31rem, calc(100% - 1.5rem)); } }

/* Cerez/KVKK bandi — iki dugme, dokunma hedefi en az 44px (eski projenin olculmus dersi).
   🔴 `flex:1 1 8rem`: dar ekranda iki dugme ALT ALTA gecer ve ikisi de TAM genislikte
   kalir; `auto` tabani, kutunun icerik genisligini koruyup tasmasina izin veriyordu. */
.kvkk-dugmeler { display: flex; gap: .5rem; flex-wrap: wrap; flex: 0 0 auto; }
.kvkk-dugmeler button { min-height: 44px; padding: 0 1rem; flex: 1 1 8rem; }

/* ==========================================================================
   AŞAMA 1 SAYFALARI — /restoran-ziyaret · /menu-acilis · bilinmeyen masa
   (BEYİN-REKLAM, 11.09.2026)
   🔴 YENİ RENK SABİTİ YOK: hepsi tasarim.css değişkenlerinden besleniyor
      (Word §0-B). Dokunma hedefi en az 44px (eski projenin ölçülmüş dersi).
   ========================================================================== */
.gecis { width:min(32rem, 100%); margin:0 auto; padding:3rem 1rem; text-align:center; }
.gecis h1 { margin:1rem 0 .5rem; color:var(--vurgu); font-size:1.3rem; }
.marka-yazi { margin:0; color:var(--vurgu); font-family:var(--baslik-yazi); font-size:1.5rem; letter-spacing:.08em; }
.marka-yazi span { color:var(--soluk); font-family:var(--govde-yazi); font-size:.9rem; letter-spacing:0; }
.dugme-baglanti { display:inline-flex; min-height:44px; align-items:center; padding:0 1.25rem; border-radius:.5rem; background:var(--vurgu); color:var(--zemin); font-weight:700; text-decoration:none; }
.ikincil-yazi { color:var(--soluk); font-size:.8rem; }
.ikincil-yazi code { color:var(--metin); }
body.acilis main { text-align:center; }
body.acilis .kampanya { text-align:left; }
.marka-logo { width:2.75rem; height:2.75rem; border-radius:50%; object-fit:cover; background:var(--vurgu-zemin); }

/* ==========================================================================
   /menu AŞAMA 1 AÇILIŞ SAYFASI — PionPOS menüsünün üst kısmıyla BİREBİR (F-MENU-2, 09.10.2026)
   🔴 ÖLÇÜLDÜ (Playwright, ziyaretçi gibi; menu/WIX-OLCUM.md): `menu.republique.tr` Wix sayfası
      PionPOS menüsünü (menu.pionpos.com/?customerId=republique-tunali…) tam ekran çerçeveliyor.
      Yazı: Source Serif Pro · zemin #D8ECA2 · metin #BB260C · kart #A82D24 · kart yazısı #D8ECA2.
      Kampanya görseli KARE (aspect 1/1, cover): 390 px'te 358x358, 1366 px'te 480x480 (üst
      köşe 16 px); logo 54x54 yuvarlak; "Republique Tunali" hap etiketi 16/24; başlık 20/28 600;
      açıklama 14/20 400. Yalnız `body.acilis` — kendi menümüzün (menu.html) görünümü değişmez.
   🔴 Yazı tipi KENDİ SUNUCUMUZDA (CSP `font-src 'self'`; dış CDN yok): /yazi/*.ttf
   ========================================================================== */
@font-face { font-family:'Source Serif Pro'; font-style:normal; font-weight:400; font-display:block; src:url('/yazi/SourceSerifPro-400.ttf') format('truetype'); }
@font-face { font-family:'Source Serif Pro'; font-style:normal; font-weight:600; font-display:block; src:url('/yazi/SourceSerifPro-600.ttf') format('truetype'); }

body.acilis { margin:0; background:#D8ECA2; color:#BB260C; font-family:'Source Serif Pro', Georgia, serif; font-size:16px; line-height:24px; }
body.acilis .ust { position:absolute; top:0; left:0; right:0; z-index:1; display:flex; align-items:flex-start; justify-content:center; box-sizing:border-box; height:98.78px; padding:8px 12px 0; border:0; color:#BB260C; }
body.acilis .marka-yigin { display:flex; flex-direction:column; align-items:center; }
body.acilis .marka-logo { display:block; box-sizing:border-box; width:54px; height:54px; margin:1px 0 0; border-radius:9999px; object-fit:cover; background:transparent; }
body.acilis .marka-etiket { display:inline-block; box-sizing:border-box; margin-top:-4.6px; padding:3.2px 11.2px; border:1px solid rgba(187,38,12,.1); border-radius:9999px; background:rgba(216,236,162,.74); color:#BB260C; font-size:16px; line-height:24px; font-weight:400; white-space:nowrap; }
body.acilis .menu-dugme { position:absolute; top:25.39px; right:16px; display:flex; align-items:center; justify-content:center; box-sizing:border-box; width:48px; height:48px; border:1px solid rgba(187,38,12,.1); border-radius:9999px; background:rgba(216,236,162,.74); color:#BB260C; text-decoration:none; }
body.acilis main { box-sizing:border-box; width:min(512px, 100%); margin:0 auto; padding:96px 0 24px; text-align:center; }
body.acilis #duyurular { box-sizing:border-box; padding:16px 16px 8px; }
body.acilis .kampanya { display:block; margin:0; overflow:hidden; border:0; border-radius:16px; background:#A82D24; color:#D8ECA2; text-align:left; text-decoration:none; }
body.acilis .kampanya + .kampanya { margin-top:16px; }
body.acilis .kampanya img { display:block; width:100%; height:auto; aspect-ratio:1 / 1; object-fit:cover; border-radius:16px 16px 0 0; }
body.acilis .kampanya-yazi { padding:16px; }
body.acilis .kampanya h2 { margin:0; font-family:inherit; letter-spacing:normal; color:#D8ECA2; font-size:20px; line-height:28px; font-weight:600; }
body.acilis .kampanya p { margin:8px 0 0; color:#D8ECA2; font-size:14px; line-height:20px; font-weight:400; display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden; }
body.acilis .durum { margin:0; padding:16px; color:#BB260C; font-size:16px; line-height:24px; }
body.acilis .dugme-baglanti { min-height:48px; padding:0 28px; border-radius:9999px; background:#BB260C; color:#D8ECA2; font-family:inherit; font-size:20px; line-height:25px; font-weight:600; }
body.acilis .kvkk { border:0; border-radius:16px; background:#A82D24; color:#D8ECA2; font-family:inherit; }
body.acilis .kvkk p { color:#D8ECA2; font-size:14px; line-height:20px; }
body.acilis .kvkk button { border:0; border-radius:9999px; background:#D8ECA2; color:#BB260C; font-family:inherit; font-weight:600; }

/* ==========================================================================
   CEREZ SERIDI (D-CEREZ, 10.10.2026; #273) — ekranin altinda ince serit, menuyu kapatmaz.
   Iki dugme AYNI gorunum/boyut (KVKK Cerez Rehberi: ret, kabul kadar belirgin). Yalniz body.acilis.
   ========================================================================== */
body.acilis .cerez-serit { right:0; bottom:0; left:0; z-index:5; gap:.5rem; max-height:none; padding:12px 16px calc(12px + env(safe-area-inset-bottom)); border-radius:16px 16px 0 0; box-shadow:0 -2px 12px rgba(0,0,0,.18); box-sizing:border-box; }
body.acilis .cerez-serit[hidden] { display:none; }
body.acilis .cerez-serit .cerez-metin { margin:0; }
body.acilis .cerez-serit .kvkk-dugmeler { flex-wrap:nowrap; gap:8px; }
body.acilis .cerez-serit .kvkk-dugmeler button { flex:1 1 0; min-width:0; min-height:48px; padding:6px 10px; font-size:14px; line-height:18px; }
body.acilis .cerez-serit .cerez-bilgi { margin:0; text-align:center; }
body.acilis .cerez-serit .cerez-bilgi a { color:#D8ECA2; text-decoration:underline; display:inline-block; min-height:24px; }
@media (min-width:42rem) { body.acilis .cerez-serit { left:50%; right:auto; width:min(560px, 100%); transform:translateX(-50%); } }
body.acilis.cerez-acik main { padding-bottom:230px; }
body.acilis .cerez-ayar { margin:0; padding:8px 16px 24px; font-size:14px; }
body.acilis .cerez-ayar a, body.acilis .cerez-ayar button { color:#BB260C; text-decoration:underline; background:none; border:0; padding:0; font:inherit; cursor:pointer; }

/* Cerez politikasi sayfasi */
body.cerez-politika main.politika { box-sizing:border-box; width:min(720px, 100%); margin:0 auto; padding:110px 16px 40px; text-align:left; }
body.cerez-politika .politika h1 { margin:0 0 12px; font-size:26px; line-height:32px; font-weight:600; }
body.cerez-politika .politika h2 { margin:24px 0 8px; font-size:19px; line-height:26px; font-weight:600; }
body.cerez-politika .politika p { margin:0 0 12px; font-size:16px; line-height:24px; }
body.cerez-politika .tablo-kap { overflow-x:auto; }
body.cerez-politika table { border-collapse:collapse; width:100%; min-width:520px; font-size:14px; line-height:20px; }
body.cerez-politika th, body.cerez-politika td { padding:6px 8px; border:1px solid rgba(187,38,12,.25); text-align:left; vertical-align:top; }
body.cerez-politika .dugme-baglanti { display:inline-flex; align-items:center; border:0; cursor:pointer; text-decoration:none; }
body.acilis .cerez-serit .cerez-baslik { margin:0; font-size:16px; line-height:22px; }
body.acilis .cerez-serit { gap:.4rem; }
