/* ==========================================================================
   kellner4you-modern — Modern altyapi (iskelet)
   Bu dosya yalnizca DESIGN TOKEN'lari ve :root fallback degiskenlerini tanimlar.
   Henuz hicbir elemana stil UYGULAMAZ -> gorsel degisiklik yok (baseline korunur).
   Renk degiskenleri (--c-*) tenant DB'sinden stylesheet.php inline :root ile gelir;
   asagidakiler yalnizca tenant degeri YOKSA devreye giren guvenli varsayilanlardir.
   Gercek modern stiller Faz 1'de eklenir.
   ========================================================================== */

:root {
  /* --- Marka renkleri (fallback; tenant degeri stylesheet.php inline :root'tan gelir) --- */
  --c-text:          #333333;
  --c-body-bg:       #ffffff;
  --c-surface:       #ffffff;   /* kart/panel zemini */
  --c-accent:        #1d9fd8;   /* genel vurgu (mavi) */
  --c-header-bg:     #ffffff;
  --c-header-text:   #333333;
  --c-sidebar-bg:    #ffffff;
  --c-sidebar-text:  #777777;
  --c-menu-text:     #333333;
  --c-primary:       #428bca;   /* birincil buton */
  --c-primary-hover: #3071a9;
  --c-primary-text:  #ffffff;
  --c-success:       #5cb85c;   /* onay/aksiyon buton */
  --c-success-text:  #ffffff;
  --c-danger:        #d9534f;   /* uyari/kapali (sistem button-danger) */
  --c-warning:       #f0ad4e;

  /* --- Tasarim token'lari (statik; Faz 1+ bilesenlerinde kullanilacak) --- */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-8: 48px;

  --radius-sm: 6px;
  --radius:    10px;
  --radius-lg: 16px;
  --radius-pill: 999px;

  --shadow-sm: 0 1px 2px rgba(0,0,0,.06);
  --shadow:    0 4px 14px rgba(0,0,0,.08);
  --shadow-lg: 0 12px 32px rgba(0,0,0,.12);

  --transition: .2s ease;

  --container-max: 1200px;
  --tap-min: 44px; /* dokunmatik hedef minimumu */

  /* tipografi olcegi — PX (Bootstrap html{font-size:10px} rem tabanini bozdugu icin rem DEGIL) */
  --fs-sm:  14px;
  --fs-md:  16px;
  --fs-lg:  18px;
  --fs-xl:  22px;
  --fs-2xl: 28px;
  --fs-3xl: 36px;

  /* kartepage (.kp-*) ek token'lari */
  --c-muted:   #777777;
  --c-line:    rgba(0,0,0,.08);
  --c-rowbg:   #f2eeea;   /* sabit sicak notr gri (kullanici secimi 2026-06-25); ileride Sidebar customize'a baglanabilir */
  --c-page:    #fdfdfb;   /* TUM sayfalarin ana zemini (Lieferando gibi neredeyse-beyaz) — tutarli */
  --radius-md: 12px;
  --shadow-md: 0 6px 20px rgba(0,0,0,.10);
  --font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;   /* TUM tema icin TEK tutarli modern sistem fontu (kullanici karari 2026-06-30: c). Tekrar degistirme. */
}

/* Tutarli sistem fontu: eski stylesheet.css body(Open Sans)+.heading-section h2(Oxygen) karisimini ezer. Form elemanlari font miras ALMAZ -> acikca. FontAwesome .fa kendi yuksek-ozgulluklu kuraliyla KORUNUR (burada .fa yok). */
body, button, input, select, textarea, .heading-section h2 { font-family: var(--font); }

/* ==========================================================================
   RESET / OVERRIDE — eski stylesheet.css'in modern layout'u BOZAN global
   kurallarini notrlestirir. modern.css, stylesheet.css'ten SONRA yuklendigi
   icin kazanir (media-query/inline kurallar icin !important).
   >>> YENI override cakismasi cikarsa BU BOLUME ekle (whack-a-mole yerine merkezi).
   >>> stylesheet.php inline cakismasi -> modern theme'in stylesheet.php'si duzenlenir.
   ========================================================================== */
/* Eski "fixed footer" icin eklenen bos alanlar (modern footer normal flow -> gereksiz) */
body { padding-bottom: 0 !important; }
.content-area { padding-bottom: 0 !important; }
.footer_module { margin-bottom: 0 !important; }

/* Sticky footer: icerik az olsa bile footer EN ALTTA (NoodleKing gibi) */
body { display: flex; flex-direction: column; min-height: 100vh; }
#page-wrapper { flex: 1 0 auto; }
#page-footer.k4y-footer { flex-shrink: 0; }

/* ==========================================================================
   Faz 1 / 7a — Modern header kabugu
   CSS-oncelikli: BS3 grid (.col-sm-5/.col-sm-7) ve tum JS/ID'ler (#main-header,
   #btn-navbar, #loginModalLink, .navbar-collapse) KORUNUR. Sadece gorunum.
   Renkler tenant'tan: stylesheet.php inline #main-header bg'yi override eder.
   ========================================================================== */

/* --- Bar --- */
#main-header {
  position: sticky; top: 0; z-index: 1000;   /* TUM sayfalarda ustte sabit (JS gerekmez) */
  background: var(--c-header-bg);
  border-bottom: 1px solid rgba(0,0,0,.06);
  box-shadow: 0 1px 0 rgba(0,0,0,.04);
  transition: box-shadow .25s ease, background .25s ease;
}
/* scroll'da JS .fixed ekler -> eski inline position:fixed'i NOTRLE (sticky kalsin), sadece golge */
#main-header.fixed {
  position: sticky !important; top: 0 !important; width: auto !important; left: auto !important; z-index: 1000 !important;
  box-shadow: var(--shadow);
}
#main-header .container { position: relative; width: 100% !important; max-width: none !important; margin: 0 !important; padding-left: 18px; padding-right: 18px; }   /* Lieferando: full-width header (BS3 .container width:1170px'i ez), logo sola yapisik */

/* --- Logo --- */
#main-header .logo {
  padding: 10px 0;
  line-height: 1;
}
#main-header .logo img {
  max-height: 48px;
  width: auto;
  transition: opacity var(--transition);
}
#main-header .logo a:hover img { opacity: .85; }

/* --- Header bar: 3-kolon GRID (sağlam merkez; absolute/flex yerine, BS3'ten bagimsiz) --- */
#main-header .k4y-header-bar {
  display: grid !important;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 12px;
  min-height: 64px;
}
#main-header .k4y-header-bar > .logo { grid-column: 1; justify-self: start; min-width: 0; }
#main-header .k4y-header-center { grid-column: 2; justify-self: center; display: inline-flex; align-items: center; gap: 10px; min-width: 0; }
/* desktop kartepage: COKLU-sube -> center tamamen gizli (toggle sepet sidebar'inda, pill yok). TEK-sube -> center'da PLZ pill GORUNUR, sadece toggle gizli (toggle sepet sidebar'inda). */
@media (min-width: 992px) { #main-header .k4y-header-bar.k4y-kp-header:not(.k4y-kp-single) .k4y-header-center { display: none; } }
@media (min-width: 992px) { #main-header .k4y-header-bar.k4y-kp-header.k4y-kp-single .k4y-ordertype { display: none; } }
#main-header .k4y-header-actions { grid-column: 3; justify-self: end; display: flex; align-items: center; }

/* --- Order-type toggle (GLOBAL: header'da ve dar ekranda portal'da kullanilir) --- */
.k4y-ordertype {
  display: inline-flex;
  background: var(--c-rowbg);
  border-radius: var(--radius-pill);
  padding: 4px;
  gap: 2px;
}
.k4y-ot-btn {
  margin: 0; border: none; background: transparent; box-shadow: none;
  border-radius: var(--radius-pill);
  padding: 8px 16px;
  font-weight: 600; font-size: var(--fs-sm);
  color: var(--c-text);
  display: inline-flex; align-items: center; gap: 7px;
  white-space: nowrap; cursor: pointer;
  transition: background var(--transition), color var(--transition);
}
.k4y-ot-btn:hover { color: var(--c-primary); }
.k4y-ot-btn.active { background: var(--c-primary); color: var(--c-primary-text); box-shadow: var(--shadow-sm); }
.k4y-ot-btn i { font-size: 15px; }
.k4y-ot-ic { width: 18px; height: 18px; fill: currentColor; flex: 0 0 auto; display: block; }

/* Responsive: tablet+dar ekran (<=991px) -> toggle MERKEZDE oldugu icin logo GIZLI (toggle logonun ustune binmesin); kartepage'de geri butonu kalir. Desktop'ta (>=992) logo gorunur. */
@media (max-width: 991px) {
  /* SADECE merkez-icerik olan sayfalarda (k4y-has-center: portal home + kartepage): logo gizli, toggle ortada.
     Diger sayfalarda (Impressum/AGB/hesap vb.) logo GORUNUR (sol) + hamburger (sag). */
  #main-header .k4y-header-bar.k4y-has-center > .logo { display: none; }
  #main-header .k4y-header-bar.k4y-has-center { grid-template-columns: 0 1fr auto; gap: 8px; }
  #main-header .k4y-header-bar.k4y-has-center .k4y-header-center { justify-self: stretch; justify-content: center; }
  /* kartepage (coklu sube): GERI butonu solda kalsin -> logo gorseli gizli, .k4y-kp-back gorunur */
  #main-header .k4y-header-bar.k4y-kp-header { grid-template-columns: auto 1fr auto; }
  #main-header .k4y-header-bar.k4y-kp-header > .logo { display: flex; }
  #main-header .k4y-header-bar.k4y-kp-header > .logo a:not(.k4y-kp-back) { display: none; }
  /* PLZ pill uzunsa toggle+hamburger'i EZMESIN: pill esner + ellipsis; toggle SABIT (kucltmez) */
  .k4y-has-center .k4y-ordertype { flex: 0 0 auto; }
  .k4y-has-center .k4y-plz-pill { flex: 0 1 auto; min-width: 0; }
  .k4y-has-center .k4y-plz-pill > span { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
}
/* SADECE dar ekran (<768): secili olmayan order-type ikon-only (yer acar, Bona gibi). Tablet'te yazi kalir. */
@media (max-width: 767px) {
  .k4y-ot-btn:not(.active) > span { display: none; }
}
@media (max-width: 575px) {
  .k4y-ot-btn { padding: 8px 11px; font-size: 12px; gap: 5px; }
  .k4y-plz-pill { padding: 8px 12px; font-size: 12px; }
}

/* --- Hamburger (modern, her ekranda gorunur) --- */
#main-header .k4y-burger {
  width: 46px;
  height: 46px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(0,0,0,.12);
  border-radius: var(--radius-sm);
  background: transparent;
  color: var(--c-header-text);
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  transition: background var(--transition), border-color var(--transition);
}
#main-header .k4y-burger:hover,
#main-header .k4y-burger:focus {
  background: rgba(0,0,0,.06);
  border-color: rgba(0,0,0,.2);
  outline: none;
}

/* ==========================================================================
   Mein Account modal (Flutter-style drawer)
   ========================================================================== */
.k4y-account-modal .modal-dialog { max-width: 460px; }
@media (min-width: 768px) { .k4y-account-modal .modal-dialog { width: 460px; } }
.k4y-account-modal .modal-content {
  border: none;
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-lg);
  overflow: hidden;
}
.k4y-account-modal .modal-header {
  border-bottom: 1px solid rgba(0,0,0,.06);
  padding: 16px 20px;
}
/* Baslik/kapat: stylesheet.php .modal-header{color:header_color} ile beyaz geliyordu -> siyah zorla */
.k4y-account-modal .modal-title { font-weight: 700; font-size: var(--fs-xl); color: var(--c-text) !important; }
.k4y-account-modal .modal-header .close { color: var(--c-text) !important; opacity: .55; text-shadow: none; }
.k4y-account-modal .modal-body { padding: 16px 20px 20px; }

.k4y-acc-auth { display: flex; gap: 12px; margin-bottom: 8px; }
.k4y-acc-auth .btn {
  flex: 1;
  border-radius: var(--radius-pill);
  padding: 12px 10px;
  font-weight: 700;
  white-space: normal;
}
.k4y-acc-greeting {
  display: flex; align-items: center; gap: 10px;
  font-weight: 700; font-size: var(--fs-lg);
  padding: 4px 4px 12px;
}
.k4y-acc-greeting i { color: var(--c-primary); font-size: 22px; }

.k4y-acc-list { list-style: none; margin: 8px 0 0; padding: 0; }
.k4y-acc-list > li > a {
  display: flex; align-items: center; gap: 16px;
  padding: 15px 6px;
  min-height: var(--tap-min);
  color: var(--c-text);
  border-radius: var(--radius-sm);
  border-bottom: 1px solid rgba(0,0,0,.05);
  text-decoration: none;
  transition: background var(--transition);
}
.k4y-acc-list > li:last-child > a { border-bottom: none; }
.k4y-acc-list > li > a:hover { background: rgba(0,0,0,.04); }
.k4y-acc-list > li > a > i {
  width: 24px; flex: none; text-align: center;
  color: var(--c-primary); font-size: 18px;
}

/* NOT: kategori sticky bar -> sonraki adim. */

/* ==========================================================================
   Portal home (cok subeli landing): hero + arama + sube kartlari
   ========================================================================== */
/* Temiz zemin: tenant body arka plan gorselini portal alaninda ort (ana zemin ile AYNI -> tek zemin) */
.k4y-portal {
  position: relative;
  background: var(--c-page);
  padding-bottom: 8px;
}
.k4y-hero {
  position: relative;
  min-height: 240px;
  background: linear-gradient(135deg, var(--c-primary), var(--c-accent));
  background-size: cover;
  background-position: center;
}
.k4y-hero::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(rgba(0,0,0,0) 55%, rgba(0,0,0,.18));
}

/* slideshow (hero) — slideshow extension slides */
.k4y-slideshow { position: relative; overflow: hidden; min-height: 455px; }
.k4y-slideshow .slick-list, .k4y-slideshow .slick-track { height: 455px; }
.k4y-slide { height: 455px; background-size: cover; background-position: center; }
@media (max-width: 575px) { .k4y-slideshow, .k4y-slideshow .slick-list, .k4y-slideshow .slick-track, .k4y-slide { height: 240px; min-height: 240px; } }
.k4y-slideshow:not(.slick-initialized) > .k4y-slide:not(:first-child) { display: none; }
.k4y-slideshow .slick-dots { position: absolute; bottom: 12px; left: 0; right: 0; text-align: center; list-style: none; margin: 0; padding: 0; z-index: 2; }
.k4y-slideshow .slick-dots li { display: inline-block; margin: 0 4px; }
.k4y-slideshow .slick-dots button { width: 9px; height: 9px; padding: 0; border: none; border-radius: 50%; background: rgba(255,255,255,.6); text-indent: -9999px; cursor: pointer; }
.k4y-slideshow .slick-dots .slick-active button { background: #fff; }

/* arama */
.k4y-portal-search {
  position: relative;
  max-width: 640px;
  margin: 20px auto 8px;   /* slideshow ile arasinda bosluk */
  z-index: 2;
}
.k4y-portal-search input {
  width: 100%;
  height: 56px;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: var(--radius-pill);
  padding: 0 20px 0 52px;
  font-size: var(--fs-md);
  background: #fff;
  box-shadow: var(--shadow);
  outline: none;
}
.k4y-portal-search input:focus { border-color: var(--c-primary); }
.k4y-portal-search > i {
  position: absolute; left: 22px; top: 50%; transform: translateY(-50%);
  color: var(--c-primary); font-size: 18px;
}

.k4y-portal-title { text-align: center; font-weight: 700; font-size: var(--fs-2xl); margin: 24px 0 16px; }

/* sube kartlari */
/* DIKEY kart (Flutter-stili): gorsel ust | logo sol-alt binisik | bilgiler | favori sag.
   Grid: mobil 1 kolon, >=768px 2 kolon. */
.k4y-branches { display: flex; flex-direction: column; gap: 16px; padding-bottom: 40px; max-width: 920px; margin: 0 auto; }
.k4y-branch-card {
  position: relative;
  display: block;
  background: var(--c-surface);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow);
  overflow: hidden;
  text-decoration: none;
  color: var(--c-text);
  transition: transform var(--transition), box-shadow var(--transition);
}
.k4y-branch-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-lg);
  color: var(--c-text);
  text-decoration: none;
}
/* Tiklayinca cikan mavi focus cercevesi: mouse/dokunma'da gizle, klavye (focus-visible) icin birak (a11y) */
.k4y-branch-card:focus, .k4y-branch-fav:focus, .k4y-ot-btn:focus, .k4y-burger:focus,
.k4y-portal-search input:focus, #main-header .logo a:focus, .k4y-plz-pill:focus { outline: none; }
#main-header .logo a, .k4y-plz-pill, .k4y-ot-btn, .k4y-burger { -webkit-tap-highlight-color: transparent; }
.k4y-branch-card:focus-visible, .k4y-branch-fav:focus-visible, .k4y-ot-btn:focus-visible,
.k4y-burger:focus-visible, #main-header .logo a:focus-visible, .k4y-plz-pill:focus-visible { outline: 2px solid var(--c-primary); outline-offset: 2px; }
/* gorsel: ust, tam genislik */
.k4y-branch-img {
  position: relative;
  width: 100%; height: 172px;
  background: #ddd center/cover no-repeat;
}
.k4y-branch-img.no-img { background: #eef0f3; display: flex; align-items: center; justify-content: center; }
.k4y-branch-ph { font-size: 48px; color: #c2c7cf; }
/* kapali bandi (sistem rengi) - ust */
.k4y-branch-closed {
  position: absolute; left: 0; right: 0; top: 0;
  background: var(--c-danger); color: #fff;
  font-size: 13px; font-weight: 700; padding: 8px 12px;
  text-align: center; z-index: 9;   /* veil (7) USTUNDE — kart seviyesinde, gorsel icinde degil */
}
@media (min-width: 768px) { .k4y-branch-closed { right: auto; width: 230px; } } /* yatay kart: gorsel genisligi */
/* Vorbestellung rozeti (kapali ama on-siparis) — kartepage kp-vorbestell-bar ile ayni turuncu; kart SOLUK degil (is-vorbestellung veil yok) */
.k4y-branch-vorbestellung {
  position: absolute; left: 0; right: 0; top: 0;
  background: var(--c-warning); color: #fff;
  font-size: 13px; font-weight: 700; padding: 8px 12px;
  text-align: center; z-index: 9;
}
.k4y-branch-vorbestellung .fa { margin-right: 5px; }
@media (min-width: 768px) { .k4y-branch-vorbestellung { right: auto; width: 230px; } }
/* indirim rozeti - ALT-SAG (logo alt-solda, karsisinda) */
.k4y-branch-discount {
  position: absolute; right: 12px; bottom: 12px;
  width: 60px; height: 60px; border-radius: 50%;
  background: #27ae60; color: #fff;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  font-size: 13px; font-weight: 700; line-height: 1.05; text-align: center;
  box-shadow: var(--shadow); z-index: 4;
}
.k4y-branch-discount strong { font-size: 17px; font-weight: 800; }
/* govde: bilgiler + favori (logo gorselin uzerinde) */
.k4y-branch-body {
  display: flex; align-items: center; gap: 12px;
  padding: 14px 16px;
}
/* sube logosu: GORSELIN sol-alt kosesinde */
.k4y-branch-logo {
  position: absolute; left: 12px; bottom: 12px;
  width: 58px; height: 58px; border-radius: 12px;
  background: #fff; box-shadow: var(--shadow);
  display: flex; align-items: center; justify-content: center;
  overflow: hidden; z-index: 6;
}
.k4y-branch-logo img { max-width: 86%; max-height: 86%; object-fit: contain; }
.k4y-branch-logo i { color: var(--c-primary); font-size: 26px; }
.k4y-branch-info { flex: 1 1 auto; min-width: 0; }
.k4y-branch-name { margin: 0 0 3px; font-size: var(--fs-lg); font-weight: 700; }
.k4y-branch-slogan { margin: 0 0 5px; color: var(--c-text); font-weight: 600; font-size: var(--fs-md); }
.k4y-branch-addr { margin: 0 0 8px; color: #888; font-size: var(--fs-sm); }
.k4y-branch-meta { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; color: #666; font-size: var(--fs-sm); }
.k4y-branch-meta i { color: var(--c-primary); margin-right: 4px; font-size: 15px; }
.k4y-branch-meta .k4y-meta-ic { width: 15px; height: 15px; fill: var(--c-primary); vertical-align: -2px; margin-right: 3px; }
.k4y-chip { color: var(--c-primary); }
/* favori (kalp) - sag; islevsel baglanti SONRA */
.k4y-branch-fav {
  flex: 0 0 auto; align-self: center;
  width: 38px; height: 38px; border-radius: 50%;
  border: none; background: transparent; cursor: pointer; padding: 0;
  display: flex; align-items: center; justify-content: center;
  color: #c2c7cf; font-size: 22px; line-height: 1;
  transition: transform var(--transition), color var(--transition);
}
.k4y-branch-fav:hover { transform: scale(1.12); color: #e74c3c; }
.k4y-branch-fav.is-fav { color: #e74c3c; }
.k4y-branch-fav.is-fav i:before { content: "\f004"; } /* fa-heart (dolu) */
/* kapali: gri yari-saydam ortu TUM kartta; kapali bandi (z-index:9) ustte */
.k4y-branch-card.is-closed::after { content: ""; position: absolute; inset: 0; background: rgba(70,70,70,.5); z-index: 7; pointer-events: none; }
.k4y-branches-empty { text-align: center; color: #999; padding: 24px 0 48px; grid-column: 1 / -1; }
.k4y-loader { text-align: center; color: #888; padding: 8px 0 40px; font-size: 14px; }
.k4y-loader i { color: var(--c-primary); margin-right: 6px; }

/* >=768px: kart YATAY (gorsel sol | bilgiler sag) — iPad/desktop. Mobilde dikey kalir. */
@media (min-width: 768px) {
  .k4y-branch-card { display: flex; align-items: stretch; }
  .k4y-branch-img { flex: 0 0 230px; width: 230px; height: auto; min-height: 160px; }
  .k4y-branch-body { flex: 1 1 auto; }
}

/* ==========================================================================
   Footer (portal home + kartepage) — #page-footer.k4y-footer
   ========================================================================== */
#page-footer.k4y-footer { position: static !important; bottom: auto !important; background: var(--c-rowbg); color: #555; padding: 36px 0 20px; }
.k4y-footer .container { display: flex; flex-wrap: wrap; gap: 32px; justify-content: space-between; }
.k4y-footer h4 { font-size: var(--fs-md); font-weight: 700; color: #333; margin: 0 0 12px; }
.k4y-foot-info a { display: block; color: #666; padding: 5px 0; font-size: var(--fs-sm); }
.k4y-foot-info a:hover { color: var(--c-primary); }
.k4y-foot-social { display: flex; gap: 12px; margin-bottom: 18px; flex-wrap: wrap; }
.k4y-foot-social a {
  width: 44px; height: 44px; border-radius: 50%;
  background: var(--c-primary); color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-size: 20px; box-shadow: var(--shadow-sm);
  transition: transform var(--transition), opacity var(--transition);
}
.k4y-foot-social a:hover { color: #fff; transform: translateY(-2px); opacity: .88; }
.k4y-foot-apps { display: flex; gap: 10px; flex-wrap: wrap; }
.k4y-foot-apps img { height: 42px; display: block; }
.k4y-foot-copy { max-width: 1000px; margin: 22px auto 0; padding: 18px 16px 0; border-top: 1px solid rgba(0,0,0,.08); text-align: center; color: #999; font-size: 12px; }

/* ==========================================================================
   Pages icerigi (Allergene vb.) — ikon-sol satirlar (.row > col img + col metin)
   Ikon kucuk + metin dikey ORTALI. Sadece icinde img-responsive olan row'lar.
   ========================================================================== */
.content-wrap .row:has(img.img-responsive) {
  display: flex; align-items: center; flex-wrap: nowrap; gap: 6px; margin-bottom: 4px;
}
/* ikon kolonu: icerige gore (BS %25/%16 yerine) -> her boyutta yan yana, wrap yok */
.content-wrap .row:has(img.img-responsive) > div:first-child {
  flex: 0 0 auto; width: auto; max-width: 110px; text-align: center;
}
.content-wrap .row:has(img.img-responsive) > div:last-child {
  flex: 1 1 auto; width: auto; min-width: 0;
}
.content-wrap .row img.img-responsive { max-width: 78px; width: 100%; display: block; margin: 0 auto; }
@media (max-width: 575px) {
  .content-wrap .row img.img-responsive { max-width: 52px; }
  .content-wrap .row:has(img.img-responsive) > div:first-child { max-width: 72px; }
}

/* "Seiten" sidebar (pages_module): aktif VE hover'da beyaz-on-beyaz oluyordu -> gorunur yap. */
.partial .module-box .list-group-item:hover,
.partial .module-box .list-group-item:focus {
  background: rgba(0,0,0,.05) !important;
  color: var(--c-primary) !important;
}
.partial .module-box .list-group-item.active,
.partial .module-box .list-group-item.active:hover,
.partial .module-box .list-group-item.active:focus {
  background: var(--c-primary) !important;
  color: var(--c-primary-text) !important;
  border-color: var(--c-primary) !important;
}

/* ==========================================================================
   PLZ Eingeben (Lieferung adres secici): pill + modal + liste
   ========================================================================== */
body.k4y-noscroll { overflow: hidden; }
.k4y-plz-bar { display: flex; justify-content: center; margin: 16px auto 0; }
.k4y-plz-pill {
  display: inline-flex; align-items: center; gap: 8px;
  background: #fff; border: 1px solid rgba(0,0,0,.12); border-radius: var(--radius-pill);
  padding: 9px 18px; font-weight: 600; font-size: var(--fs-sm); color: var(--c-text);
  cursor: pointer; box-shadow: var(--shadow-sm);
}
.k4y-plz-pill > span { white-space: nowrap; }   /* tam etiket gorunsun (kirpma yok) */
.k4y-plz-pill .fa-map-marker { color: var(--c-primary); }
.k4y-plz-pill:hover { border-color: var(--c-primary); }
@media (max-width: 575px) { .k4y-plz-pill > span { max-width: 110px; overflow: hidden; text-overflow: ellipsis; } }

/* Secili PLZ chip + cop (modal'da, image 89 gibi) */
.k4y-plz-selected { display: flex; align-items: center; gap: 10px; margin: 14px 16px; padding: 12px 14px; background: rgba(0,0,0,.05); border-radius: var(--radius); }
.k4y-plz-selected > span { flex: 1 1 auto; font-weight: 600; color: var(--c-text); }
.k4y-plz-trash { border: none; background: transparent; color: #c0392b; font-size: 18px; line-height: 1; cursor: pointer; padding: 4px 6px; }
.k4y-plz-trash:hover { color: #e74c3c; }

.k4y-plz-modal { position: fixed; inset: 0; z-index: 1300; display: none; }   /* mobil sepet sheet (1210) USTUNDE -> PLZ modal arkada kalmasin (Bug B) */
.k4y-plz-modal.open { display: block; }
.k4y-plz-backdrop { position: absolute; inset: 0; background: rgba(0,0,0,.45); }
.k4y-plz-dialog {
  position: absolute; left: 50%; top: 72px; transform: translateX(-50%);  /* yukarida-ortada (sayfa ortasi degil) */
  width: 92%; max-width: 520px; max-height: calc(100vh - 92px);
  background: #fff; border-radius: var(--radius-lg); box-shadow: var(--shadow-lg);
  display: flex; flex-direction: column; overflow: hidden;
}
@media (max-width: 575px) { .k4y-plz-dialog { top: 64px; max-height: calc(100vh - 80px); } }
.k4y-plz-head { display: flex; align-items: center; justify-content: center; position: relative; padding: 16px; border-bottom: 1px solid rgba(0,0,0,.07); }
.k4y-plz-head h3 { margin: 0; font-size: var(--fs-lg); font-weight: 700; color: var(--c-text); }
.k4y-plz-x { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); border: none; background: transparent; font-size: 26px; line-height: 1; color: #999; cursor: pointer; }
.k4y-plz-search { position: relative; padding: 12px 16px; }
.k4y-plz-search i { position: absolute; left: 30px; top: 50%; transform: translateY(-50%); color: var(--c-primary); }
.k4y-plz-search input { width: 100%; border: 1px solid rgba(0,0,0,.15); border-radius: var(--radius-pill); padding: 11px 44px 11px 40px; font-size: var(--fs-md); outline: none; }
.k4y-plz-search input:focus { border-color: var(--c-primary); }
.k4y-plz-clear { position: absolute; right: 30px; top: 50%; transform: translateY(-50%); border: none; background: transparent; color: #bbb; font-size: 16px; line-height: 1; cursor: pointer; display: none; align-items: center; padding: 0; z-index: 2; }
.k4y-plz-clear:hover { color: var(--c-primary); }
.k4y-plz-list { overflow-y: auto; padding: 4px 0 8px; }
.k4y-plz-item { display: flex; align-items: center; gap: 10px; padding: 13px 20px; color: var(--c-text); text-decoration: none; border-bottom: 1px solid rgba(0,0,0,.05); font-size: var(--fs-md); }
.k4y-plz-item .fa-map-marker { color: var(--c-primary); }
.k4y-plz-item:hover { background: rgba(0,0,0,.04); color: var(--c-text); text-decoration: none; }
.k4y-plz-item.active { background: var(--c-primary); color: var(--c-primary-text); }
.k4y-plz-item.active .fa-map-marker { color: var(--c-primary-text); }
.k4y-plz-empty { text-align: center; color: #999; padding: 24px; }

/* ==========================================================================
   Cookie banner (cookiepopup.js) — modern. accept-cookies.css SONRA yuklendigi
   icin !important. Alt bar, beyaz kart, primary buton.
   ========================================================================== */
#cookie-popup-container .cookie-popup {
  position: fixed !important; left: 0 !important; right: 0 !important; bottom: 0 !important; top: auto !important;
  width: 100% !important; z-index: 1200 !important;
  background: #fff !important; box-shadow: 0 -2px 16px rgba(0,0,0,.12) !important; padding: 16px !important;
}
#cookie-popup-container .cookie-popup-inner { max-width: 1000px; margin: 0 auto; display: flex; align-items: center; gap: 20px; flex-wrap: wrap; }
#cookie-popup-container .cookie-popup-left { flex: 1 1 280px; }
#cookie-popup-container .cookie-popup-headline { font-size: var(--fs-md) !important; font-weight: 700 !important; color: var(--c-text) !important; margin-bottom: 4px !important; }
#cookie-popup-container .cookie-popup-sub-headline { font-size: var(--fs-sm) !important; color: #777 !important; line-height: 1.4 !important; }
#cookie-popup-container .cookie-popup-right { display: flex; align-items: center; gap: 16px; flex: 0 0 auto; }
#cookie-popup-container .cookie-popup-accept-cookies {
  background: var(--c-primary) !important; color: var(--c-primary-text) !important;
  padding: 10px 28px !important; border-radius: var(--radius-pill) !important; font-weight: 600 !important;
  text-decoration: none !important; display: inline-block !important; border: none !important; box-shadow: var(--shadow-sm) !important;
}
#cookie-popup-container .cookie-popup-accept-cookies:hover { opacity: .9 !important; color: var(--c-primary-text) !important; }
#cookie-popup-container .cookie-popup-learn-more { color: #999 !important; font-size: var(--fs-sm) !important; text-decoration: underline !important; }
@media (max-width: 575px) {
  #cookie-popup-container .cookie-popup-right { width: 100%; justify-content: space-between; }
}

/* "App installieren" menu item — vurgu */
.k4y-acc-list .k4y-acc-install a, .k4y-acc-list .k4y-acc-install a i { color: var(--c-primary); font-weight: 600; }
/* Hesap modal'indaki "App installieren/herunterladen" SADECE mobil/tablet — desktop'ta gizle (footer store rozetleri KALIR) */
@media (min-width: 992px) { .k4y-acc-install { display: none !important; } }

/* Sayfa icerik alani arka plani: footer ustundeki stark BEYAZ bosluk -> notr gri (footer ile blend) */
#page-wrapper { background: var(--c-page) !important; }   /* portal home + tum sayfalar ayni ana zemin */

/* Lity (menu foto galeri) kapatma X — modern daire */
.lity-close {
  color: #fff !important; background: rgba(0,0,0,.55) !important; border-radius: 50% !important;
  width: 38px !important; height: 38px !important; line-height: 36px !important; font-size: 26px !important;
  right: 10px !important; top: 10px !important; position: absolute !important; z-index: 9995 !important;
}

/* Modern modal (terms/AGB vb.) — BS3'ten BAGIMSIZ, kendi yapimiz (BS3 remote header'i eziyordu) */
.k4y-modal { position: fixed; inset: 0; z-index: 1250; display: none; }
.k4y-modal.open { display: block; }
.k4y-modal-backdrop { position: absolute; inset: 0; background: rgba(0,0,0,.45); }
.k4y-modal-dialog { position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); width: 92%; max-width: 600px; max-height: 86vh; background: #fff; border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); display: flex; flex-direction: column; overflow: hidden; }
.k4y-modal-head { display: flex; align-items: center; gap: 12px; padding: 16px; border-bottom: 1px solid rgba(0,0,0,.07); flex: 0 0 auto; }
.k4y-modal-head h3 { margin: 0; font-size: var(--fs-lg); font-weight: 700; color: var(--c-text); flex: 1 1 auto; }
.k4y-modal-x { border: none; background: transparent; font-size: 26px; line-height: 1; color: #999; cursor: pointer; padding: 0 4px; }
.k4y-modal-x:hover { color: var(--c-primary); }
.k4y-modal-body { overflow-y: auto; padding: 16px 20px 20px; }
.k4y-modal-body .content-wrap { padding: 0 !important; border: none !important; box-shadow: none !important; }
.k4y-modal-loading { text-align: center; color: #999; padding: 40px; }
.k4y-modal-loading i { color: var(--c-primary); }
.k4y-modal-foot { padding: 14px 20px 18px; border-top: 1px solid rgba(0,0,0,.07); flex: 0 0 auto; }

/* PWA kurulum modal */
.k4y-install-body { text-align: center; }
.k4y-install-icon { width: 78px; height: 78px; border-radius: 18px; object-fit: cover; box-shadow: 0 4px 14px rgba(0,0,0,.15); margin: 4px auto 16px; display: block; }
.k4y-install-body p { margin: 0; color: var(--c-text); font-size: var(--fs-md); line-height: 1.55; }
.k4y-install-hint { margin-top: 14px; padding: 12px 14px; background: #f6f7f9; border-radius: 10px; color: #666; font-size: var(--fs-sm); line-height: 1.5; text-align: left; }
.k4y-install-go { display: block; width: 100%; border: none; background: var(--c-primary); color: #fff; font-weight: 700; font-size: var(--fs-md); padding: 13px; border-radius: var(--radius-pill); cursor: pointer; }
.k4y-install-go:hover { filter: brightness(.95); }

/* Kurulum basari toast'i */
.k4y-toast {
  position: fixed; top: 0; left: 0; right: 0; transform: translateY(-100%);
  background: rgba(20,20,20,.93); color: #fff; padding: 14px 16px; text-align: center;
  font-weight: 600; font-size: var(--fs-sm); z-index: 100002; transition: transform .3s ease; pointer-events: none;
}
.k4y-toast.show { transform: translateY(0); }
.k4y-toast .fa { margin-right: 7px; }
.k4y-toast .fa-heart { color: #e74c3c; }   /* favoriye eklenince dolu kalp KIRMIZI (portal/kartepage favori rengi); fa-heart-o (cikarma) beyaz kalir */

/* Sayfa icerigi (pages): uzun URL/kelime mobilde TASMASIN (yatay kaydirma/sag bosluk) */
.content-wrap { overflow-wrap: break-word; word-break: break-word; }
.content-wrap a { overflow-wrap: anywhere; word-break: break-all; }
.content-wrap img, .content-wrap table { max-width: 100%; height: auto; }

/* Sayfa basligi (#heading, Impressum/AGB/Datenschutz vb.) — responsive, uzun Almanca basliklar mobilde tasmasin */
#heading { height: auto !important; min-height: 110px !important; padding: 22px 0 !important; }
.heading-content { margin-top: 0 !important; padding: 0 16px; }
#heading h2 { font-size: 34px; line-height: 1.15; margin: 0; word-break: break-word; overflow-wrap: break-word; }
@media (max-width: 767px) { #heading h2 { font-size: 24px; } #heading { min-height: 90px !important; padding: 18px 0 !important; } }
@media (max-width: 480px) { #heading h2 { font-size: 19px; } }

/* Footer mobilde: her sey ORTADA (bilgiler, ikonlar, app rozetleri) — Flutter gibi */
@media (max-width: 767px) {
  .k4y-footer .container { flex-direction: column; align-items: center; text-align: center; gap: 24px; }
  .k4y-foot-col { width: 100%; }
  .k4y-foot-info a { text-align: center; }
  .k4y-foot-social { justify-content: center; }
  .k4y-foot-apps { justify-content: center; }
}
@media (max-width: 575px) {
  .k4y-branch-img { height: 160px; }
}

/* ==========================================================================
   KARTEPAGE (Karte/local.php) — .kp-* (preview docs/kartepage-preview.html'den)
   Header = mevcut #main-header (header.php). Renkler --c-primary'den (tenant).
   ========================================================================== */
#page-content.local_page { padding: 0; background: var(--c-page); }   /* ana zemin (var(--c-page)=#fdfdfb); krem(#f2eeea) sadece footer+toggle */

/* Hero */
.kp-hero { position: relative; max-width: 1280px; margin: 0 auto; }
.kp-hero-img { position: relative; height: 330px; background-size: cover; background-position: center; background-color: #e9eef2; }
.kp-hero-img.kp-closed::after { content: ""; position: absolute; inset: 0; background: rgba(255,255,255,.45); pointer-events: none; }   /* SADECE kapali subede beyaz-transparan ortu (acik sube TAM RENK) */
.kp-hero-logo { position: absolute; left: 18px; bottom: 16px; width: 96px; height: 96px; border-radius: 14px; background: #fff; box-shadow: var(--shadow-md); padding: 0; object-fit: cover; }
.kp-discount { position: absolute; right: 28%; bottom: 16px; width: 104px; height: 104px; border-radius: 50%; background: #3aaf5b; color: #fff; display: flex; flex-direction: column; align-items: center; justify-content: center; font-weight: 800; line-height: 1.1; box-shadow: var(--shadow-md); text-align: center; }
/* Mobilde hero KISALT -> arama+catnav yukari, sepet barindan ayrilir, sticky catnav cakismaz */
@media (max-width: 767px) {
  .kp-hero-img { height: 150px; }
  .kp-hero-logo { width: 72px; height: 72px; bottom: 10px; left: 14px; }
  .kp-discount { width: 80px; height: 80px; bottom: 10px; }
}
/* Uzun telefonlar (>=750px yukseklik: iPhone 12/13/14/Max vb.): hero %50 daha yuksek (225px). Kisa telefonlar (iPhone SE ~667px) 150px KALIR -> catnav sepet barina BINMEZ. */
@media (max-width: 767px) and (min-height: 750px) { .kp-hero-img { height: 225px; } }
.kp-discount b { font-size: 24px; } .kp-discount span { font-size: 15px; }
@media (max-width: 991px) { .kp-discount { right: 16px; width: 92px; height: 92px; } .kp-discount b { font-size: 22px; } .kp-discount span { font-size: 14px; } }
/* Mobil+tablet (<=991): hero INSET KART (Lieferando gibi) -> kenar boslugu + ust bosluk (header'dan ayri) + yuvarlak koseler. Desktop dokunulmaz. */
@media (max-width: 991px) {
  .kp-hero { margin: 12px 12px 0; }
  .kp-hero-img { border-radius: 16px; overflow: hidden; }
}

/* Restoran bilgi */
.kp-info { padding: 18px 0 8px; position: relative; }
.kp-info h1 { margin: 0 0 4px; font-size: var(--fs-xl); font-weight: 800; }
.kp-info .addr { color: var(--c-muted); font-size: var(--fs-md); }
.kp-info .slogan { color: var(--c-muted); font-size: var(--fs-md); margin-top: 2px; }
.kp-info-actions { position: absolute; right: 0; top: 46px; display: flex; align-items: center; gap: 18px; font-size: 22px; color: #555; }
.kp-info-actions i { cursor: pointer; }
.kp-info-actions .heart { color: #e2483a; }
.kp-meta { display: flex; flex-wrap: wrap; gap: 16px; align-items: center; margin-top: 14px; color: #444; font-size: var(--fs-md); }
.kp-meta span { display: inline-flex; align-items: center; gap: 6px; }
.kp-meta i, .kp-meta .ic { color: var(--c-primary); }
.kp-meta .kp-bsk, .k4y-branch-meta .kp-bsk { width: 15px; height: 15px; fill: var(--c-primary); }   /* Min. sepet ikonu meta'da primary */
.kp-meta .ic { width: 16px; height: 16px; fill: var(--c-primary); vertical-align: -3px; }
.kp-gratis { background: #3aaf5b; color: #fff; font-weight: 700; font-size: var(--fs-sm); border-radius: 8px; padding: 3px 10px; }

/* Kategori nav (sticky, yatay scroll) */
.kp-catnav { position: sticky; top: 64px; z-index: 40; background: var(--c-body-bg); border-bottom: 1px solid var(--c-line); padding: 10px 0; }
.kp-catnav-in { display: flex; gap: 6px; overflow-x: auto; scrollbar-width: none; }
.kp-catnav-in::-webkit-scrollbar { display: none; }
.kp-cat-tab { flex: 0 0 auto; border: none; background: transparent; border-radius: var(--radius-pill); padding: 9px 16px; font-weight: 600; font-size: var(--fs-md); color: #555; white-space: nowrap; cursor: pointer; }
.kp-cat-tab.active { background: var(--c-primary); color: var(--c-primary-text); }
/* kategori cok olunca: sag/sol scroll oklari (overflow varken gorunur; mobilde swipe) */
.kp-catnav-arrow { position: absolute; top: 50%; transform: translateY(-50%); width: 32px; height: 32px; border-radius: 50%; border: 1px solid var(--c-line); background: #fff; color: var(--c-text); display: none; align-items: center; justify-content: center; cursor: pointer; z-index: 2; box-shadow: var(--shadow-sm); font-size: 15px; }
.kp-catnav-arrow.left { left: 0; } .kp-catnav-arrow.right { right: 0; }
.kp-catnav.show-left .kp-catnav-arrow.left, .kp-catnav.show-right .kp-catnav-arrow.right { display: flex; }
/* mobilde de oklar gorunsun (show-left/show-right ile, overflow olunca) — kullanici istedi 2026-06-26 */
@media (max-width: 767px) { .kp-catnav-arrow { width: 28px; height: 28px; font-size: 13px; } }
/* coklu-sube kartepage geri ok (logo solunda) — eski '.logo a{color:#fff;font-size:27px}'i KESIN ez (!important) */
#main-header .logo { display: flex; align-items: center; gap: 2px; }
#main-header .logo a.k4y-kp-back { flex: 0 0 auto; width: 36px; height: 36px; margin-left: -6px; border-radius: 50%; display: inline-flex !important; align-items: center; justify-content: center; color: #333 !important; font-size: 18px !important; text-decoration: none; background: transparent; }
#main-header .logo a.k4y-kp-back i { color: #333 !important; font-size: 18px !important; }
#main-header .logo a.k4y-kp-back:hover { background: rgba(0,0,0,.06); }
/* kategori nav: mouse ile surukle-kaydir */
.kp-catnav-in { cursor: grab; }
.kp-catnav-in.grabbing { cursor: grabbing; }
/* Menu arama */
.kp-search { position: relative; margin: 16px 0 4px; }
.kp-search > .fa-search { position: absolute; left: 18px; top: 50%; transform: translateY(-50%); color: var(--c-primary); pointer-events: none; }
.kp-search input { width: 100%; border: 1px solid var(--c-line); border-radius: var(--radius-pill); padding: 14px 44px 14px 46px; font-size: var(--fs-md); outline: none; background: #fff; box-shadow: var(--shadow-sm); }
.kp-search input:focus { border-color: var(--c-primary); }
.kp-search-clear { position: absolute; right: 14px; top: 50%; transform: translateY(-50%); border: none; background: transparent; color: #bbb; font-size: 16px; cursor: pointer; display: none; padding: 4px; }
.kp-search-clear.show { display: block; }
.kp-search-clear:hover { color: var(--c-primary); }
.kp-search-empty { color: var(--c-muted); padding: 36px 0; text-align: center; font-size: var(--fs-md); }

/* Layout: sol (info+nav+menu) | sag (sepet) */
.kp-closed-bar { background: var(--c-danger); color: #fff; text-align: center; padding: 18px 20px; font-weight: 800; font-size: 20px; line-height: 1.3; letter-spacing: .2px; }   /* offer<0/saat-kapali ust banner (Momentan keine ...) — buyuk/belirgin */
@media (max-width: 991px) { .kp-closed-bar { font-size: 18px; } }
@media (max-width: 767px) { .kp-closed-bar { font-size: 16.5px; padding: 15px 14px; } }
/* Vorbestellung banner (offer==1 + catering/acilis-oncesi): kapali ama on-siparis MUMKUN -> TURUNCU (kirmizi blok DEGIL) */
.kp-vorbestell-bar { background: var(--c-warning); color: #fff; text-align: center; padding: 14px 20px; font-weight: 800; font-size: 18px; line-height: 1.3; }
.kp-vorbestell-bar .fa { margin-right: 7px; }
@media (max-width: 767px) { .kp-vorbestell-bar { font-size: 15.5px; padding: 12px 14px; } }

/* ===== Urun-ekleme modal (cart_options override): mobil alttan bottom-sheet / desktop ortada popup; sepetin ONUNDE ===== */
body.kp-prod-lock { overflow: hidden; }
.kp-prod-wrap { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; opacity: 0; pointer-events: none; transition: opacity .2s ease; }   /* desktop: ortala (align/justify center, margin:auto DEGIL -> mobil flex-end calisir). sepet bar(1001)/sheet ustunde; uyari popup(100100) altinda */
.kp-prod-wrap.open { opacity: 1; pointer-events: auto; }
.kp-prod-backdrop { position: absolute; inset: 0; background: rgba(0,0,0,.5); }
.kp-prod { position: relative; width: 100%; max-width: 440px; max-height: 92vh; display: flex; flex-direction: column; background: #fff; border-radius: 18px; overflow: hidden; box-shadow: 0 24px 64px rgba(0,0,0,.32); transform: translateY(18px) scale(.98); transition: transform .22s ease; }
.kp-prod-wrap.open .kp-prod { transform: translateY(0) scale(1); }
.kp-prod-x { position: absolute; top: 12px; right: 12px; z-index: 3; width: 34px; height: 34px; padding: 0; border: none; border-radius: 50%; background: rgba(255,255,255,.92); box-shadow: 0 2px 8px rgba(0,0,0,.18); font-size: 22px; line-height: 32px; color: #333; cursor: pointer; }
.kp-prod-scroll { overflow-y: auto; -webkit-overflow-scrolling: touch; }
.kp-prod-img { width: 100%; height: 240px; background: #fff; }   /* beyaz: transparent urun PNG'leri kremde kotu duruyordu */
.kp-prod-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.kp-prod-head { padding: 16px 18px 6px; text-align: center; }   /* ad + fiyat + aciklama ORTALI (tum ekranlar) */
.kp-prod-name { margin: 0 0 3px; font-size: 21px; font-weight: 800; }
.kp-prod-price { font-size: 17px; font-weight: 800; color: var(--c-primary); margin-bottom: 4px; }
.kp-prod-desc { margin: 0; color: var(--c-muted); font-size: 14px; line-height: 1.45; }
#cart-options-alert { padding: 0 18px; }
#cart-options-alert .alert { margin: 10px 0 0; padding: 10px 12px; border: none; border-radius: 10px; background: #fdecea; color: var(--c-danger); font-size: 14px; }
.menu-options { padding: 0 0 6px; }
.kp-opt-group { padding: 0; }
.kp-opt-head { display: flex; align-items: center; gap: 8px; padding: 10px 18px; background: var(--c-rowbg); }   /* acik krem bolum seridi (Lieferando), gri DEGIL */
.kp-opt-title { font-weight: 700; font-size: 15px; }
.kp-opt-badge { margin-left: auto; font-size: 11px; font-weight: 700; color: #fff; background: #1a1a1a; padding: 3px 8px; border-radius: 6px; white-space: nowrap; }   /* siyah Pflichtfeld rozeti (yesil DEGIL) */
.kp-opt-check { margin-left: auto; display: none; width: 22px; height: 22px; border-radius: 50%; background: var(--c-success); color: #fff; align-items: center; justify-content: center; font-size: 12px; }
.kp-opt-required.satisfied .kp-opt-badge { display: none; }
.kp-opt-required.satisfied .kp-opt-check { display: inline-flex; }   /* secilince yesil check */
.kp-opt-body { padding: 4px 18px 12px; }
.kp-opt-row { display: flex; align-items: center; gap: 11px; padding: 9px 0; margin: 0; cursor: pointer; font-size: 15px; font-weight: 400; }
.kp-opt-row input { position: absolute; opacity: 0; width: 0; height: 0; }
.kp-opt-dot, .kp-opt-box { flex: 0 0 auto; width: 22px; height: 22px; border: 2px solid #c9c9c9; background: #fff; position: relative; transition: all .15s; }
.kp-opt-dot { border-radius: 50%; }
.kp-opt-box { border-radius: 6px; }
.kp-opt-row input:checked ~ .kp-opt-dot { border-color: var(--c-primary); }
.kp-opt-row input:checked ~ .kp-opt-dot::after { content: ''; position: absolute; left: 4px; right: 4px; top: 4px; bottom: 4px; border-radius: 50%; background: var(--c-primary); }
.kp-opt-row input:checked ~ .kp-opt-box { border-color: var(--c-primary); background: var(--c-primary); }
.kp-opt-row input:checked ~ .kp-opt-box::after { content: '\f00c'; font-family: FontAwesome; position: absolute; left: 0; right: 0; top: 0; bottom: 0; color: #fff; font-size: 12px; text-align: center; line-height: 18px; }
.kp-opt-label { flex: 1 1 auto; }
.kp-opt-price { flex: 0 0 auto; color: var(--c-muted); font-size: 14px; }
.kp-opt-select { width: 100%; padding: 11px 12px; border: 1px solid var(--c-line); border-radius: 10px; font-size: 15px; background: #fff; }
.kp-prod-note { padding: 14px 18px 4px; margin-top: 4px; border-top: 1px solid var(--c-line); }
.kp-prod-note label { display: block; font-weight: 700; font-size: 15px; margin-bottom: 6px; }
.kp-prod-note textarea { width: 100%; padding: 10px 12px; border: 1px solid var(--c-line); border-radius: 10px; font-size: 14px; resize: vertical; font-family: inherit; }
.kp-prod-foot { display: flex; align-items: center; gap: 12px; padding: 12px 18px calc(12px + env(safe-area-inset-bottom)); border-top: 1px solid var(--c-line); background: #fff; }
.kp-prod-qty { display: flex; align-items: center; gap: 2px; flex: 0 0 auto; }
.kp-qty-btn { width: 38px; height: 38px; padding: 0; border: 1px solid var(--c-line); background: #fff; border-radius: 50%; font-size: 20px; line-height: 1; color: var(--c-primary); cursor: pointer; }
.kp-prod-qty input { width: 36px; padding: 0; border: none; text-align: center; font-size: 17px; font-weight: 700; background: transparent; color: var(--c-text); }
.kp-prod-add { flex: 1 1 auto; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 13px 18px; background: var(--c-primary); color: var(--c-primary-text); border-radius: 12px; font-size: 16px; font-weight: 700; cursor: pointer; }
.kp-prod-add:hover, .kp-prod-add:focus { color: var(--c-primary-text); text-decoration: none; }
.kp-prod-add .price { font-weight: 800; }
.kp-prod-add.kp-disabled { opacity: .45; pointer-events: none; }   /* zorunlu (Pflicht) secim yapilana kadar sonuk + tiklanamaz */
@media (max-width: 767px) {
  .kp-prod-wrap { align-items: flex-end; }
  .kp-prod { max-width: none; max-height: 90vh; border-radius: 18px 18px 0 0; transform: translateY(100%); }
  .kp-prod-wrap.open .kp-prod { transform: translateY(0); }
  .kp-prod-img { height: 210px; }
}

/* Modern uyari POPUP (sepet-ici uyarilar yerine — ekle/kupon/puan/min/checkout); urun modal'in (100000) ustunde -> uyari her zaman onde */
.k4y-popup-wrap { display: none; }
.k4y-popup-wrap.open { display: block; }
.k4y-popup-backdrop { position: fixed; inset: 0; background: rgba(0,0,0,.45); z-index: 100100; }
.k4y-popup { position: fixed; left: 50%; top: 50%; transform: translate(-50%,-50%); z-index: 100101; background: #fff; border-radius: 16px; padding: 24px 24px 20px; width: calc(100% - 44px); max-width: 380px; box-shadow: 0 24px 64px rgba(0,0,0,.32); text-align: left; }
.k4y-popup-title { font-size: 18px; font-weight: 800; color: var(--c-text, #1a1a1a); line-height: 1.3; margin-bottom: 8px; }
.k4y-popup-body { font-size: 15px; font-weight: 500; color: var(--c-muted, #666); line-height: 1.5; margin-bottom: 18px; }
.k4y-popup-body p, .k4y-popup-body .alert, .k4y-popup-body .alert-danger, .k4y-popup-body .alert-success { background: none !important; border: 0 !important; padding: 0 !important; margin: 0 !important; color: inherit !important; display: block; }
.k4y-popup-ok { display: block; margin-left: auto; background: var(--c-primary); color: #fff; border: 0; border-radius: 11px; padding: 11px 28px; font-weight: 700; font-size: 15px; cursor: pointer; }
.k4y-popup-ok:hover { filter: brightness(.95); }
/* Uyarilar popup'a tasindi; .cart-alert-wrap BOSken gorunmez. Min. siparis uyarisi buraya (sepet ici) yazilir -> gorunur. */
.kp-main { max-width: 1280px; margin: 0 auto; padding: 0 18px 24px; display: grid; grid-template-columns: 1fr; gap: 26px; }
@media (min-width: 992px) { .kp-main { grid-template-columns: 1fr 340px; align-items: stretch; } }   /* sepet kolonu menu boyuna uzasin -> sticky sepet footer ustunde park eder, header'a girmez */
.kp-left { min-width: 0; }
/* Kisa/bos menude bile: menu kolonu min yukseklik -> sayfa kaydirilabilir, sticky catnav arama kutusu + sabit sepet barina YAPISMAZ (cakisma cozumu) */
@media (max-width: 991px) { .kp-left { min-height: 72vh; padding-bottom: 84px; } }

/* Kategori bolumu */
.kp-cat-banner { border-radius: var(--radius-md); overflow: hidden; margin-top: 18px; }
.kp-cat-banner img { width: 100%; height: 170px; object-fit: cover; }   /* desktop */
@media (max-width: 991px) { .kp-cat-banner img { height: 120px; } }   /* tablet */
@media (max-width: 767px) { .kp-cat-banner img { height: 85px; } }    /* telefon: yari */
.kp-cat-title { background: transparent; margin-top: 10px; padding: 6px 2px; }
.kp-cat-title h2 { margin: 0; color: var(--c-primary); font-size: var(--fs-xl); font-weight: 800; }
.kp-cat-title p { margin: 4px 0 0; color: #555; font-size: var(--fs-md); }
.kp-items { display: flex; flex-direction: column; gap: 12px; margin-top: 14px; }

/* Menu item */
.kp-item { background: #fff; border: 1px solid var(--c-line); border-radius: var(--radius-md); padding: 16px 18px; display: flex; gap: 14px; align-items: center; cursor: pointer; transition: box-shadow .15s, border-color .15s; }
.kp-item:hover { box-shadow: var(--shadow-md); border-color: transparent; }
.kp-item-thumb { position: relative; flex: 0 0 auto; width: 96px; height: 96px; border-radius: 10px; overflow: hidden; background: #e6e6e6; }
.kp-item-thumb img { width: 100%; height: 100%; object-fit: cover; }
.kp-item-thumb .kp-add { position: absolute; right: 6px; bottom: 6px; width: 32px; height: 32px; border: none; background: var(--c-primary); color: #fff; box-shadow: var(--shadow-md); }
.kp-item-thumb .kp-add:hover { filter: brightness(.95); background: var(--c-primary); color: #fff; }
.kp-item.is-mealtime-off { pointer-events: none; cursor: default; background: var(--c-rowbg); border-color: transparent; box-shadow: none; }   /* Lieferando: kapali urun krem zemine gomulu */
.kp-item.is-mealtime-off .kp-item-name, .kp-item.is-mealtime-off .kp-item-price, .kp-item.is-mealtime-off .kp-item-desc, .kp-item.is-mealtime-off .kp-item-thumb img, .kp-item.is-mealtime-off .kp-add { opacity: .42; }
.kp-item-mealtime { margin-top: 9px; display: inline-flex; align-items: center; gap: 6px; font-size: var(--fs-sm); font-weight: 600; color: var(--c-danger); background: rgba(217,83,79,.09); border-radius: 8px; padding: 4px 10px; }
.kp-item-mealtime i { color: var(--c-danger); }
.kp-item-body { flex: 1 1 auto; min-width: 0; }
.kp-item-name { font-weight: 600; font-size: var(--fs-lg); margin-bottom: 3px; }
.kp-item-price { font-weight: 700; font-size: var(--fs-md); color: var(--c-text); }
.kp-item-price .old { color: var(--c-muted); text-decoration: line-through; font-weight: 500; margin-left: 8px; font-size: var(--fs-sm); }
.kp-item-desc { color: var(--c-muted); font-size: var(--fs-sm); line-height: 1.5; margin-top: 6px; }
.kp-add { flex: 0 0 auto; width: 38px; height: 38px; border-radius: 50%; border: 1.5px solid var(--c-line); border-color: color-mix(in srgb, var(--c-primary) 35%, #fff); background: transparent; color: var(--c-primary); font-size: 15px; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: border-color .15s, background .15s, color .15s; }   /* + ikon TAM renk, cember SONUK */
.kp-add:hover { border-color: var(--c-primary); background: var(--c-primary); color: #fff; }

.kp-cat-title.no-banner { margin-top: 18px; }
.kp-empty-menu { color: var(--c-muted); padding: 30px 0; text-align: center; }
a.scrollToTop { position: fixed; right: 18px; bottom: 84px; z-index: 55; width: 46px; height: 46px; border-radius: 50%; background: var(--c-primary); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 18px; box-shadow: var(--shadow-md); opacity: 0; visibility: hidden; transition: opacity .25s ease; pointer-events: none; }
a.scrollToTop.show { opacity: 1; visibility: visible; pointer-events: auto; }
a.scrollToTop:hover { color: #fff; filter: brightness(.95); }
@media (min-width: 992px) { a.scrollToTop { bottom: 18px; right: calc(max(18px, (100vw - 1280px) / 2 + 18px) + 366px); } }   /* menunun sag kenari (sepetin solu); 366 = sepet 340 + gap 26 */

/* Sepet kolonu */
.kp-cart-col { min-width: 0; }

/* ===== Sepet (cart_module override): .kp-cart sidebar (desktop) + .kp-cart-bar (mobil) ===== */
.kp-cart { display: none; }
@media (min-width: 992px) {
  .kp-cart-col > .kp-cart-wrap { height: 100%; }   /* wrapper kolon boyuna uzasin -> sticky'nin oynayacak yeri olsun */
  .kp-cart { display: flex; flex-direction: column; position: sticky; top: 80px; height: calc(100vh - 96px); background: #fff; border: 1px solid var(--c-line); border-radius: var(--radius-lg); box-shadow: var(--shadow-md); overflow: hidden; }   /* JS yukseligi footer'a gore dinamik ayarlar */
}
#cart-box.kp-cart { padding: 0; }   /* KOK NEDEN: eski stylesheet.css '#cart-box{padding-bottom:100px}' id-specificity ile .kp-cart'i eziyordu -> foot altinda 100px bosluk */
/* /cart sayfasi (is_mobile) + checkout: sepet TAM gorunur (sidebar gibi gizli/sticky degil) */
#cart-box.kp-cart-full { display: flex !important; flex-direction: column; position: static; height: auto !important; max-height: none; }
@media (max-width: 991px) { #cart-box.kp-cart-full { border: 1px solid var(--c-line); border-radius: var(--radius-lg); } }
.kp-cart-back { display: inline-flex; align-items: center; gap: 6px; padding: 12px 18px 0; color: var(--c-primary); font-size: var(--fs-sm); }
.kp-cart-head { position: relative; text-align: center; padding: 18px; font-weight: 800; font-size: var(--fs-xl); letter-spacing: .2px; flex: 0 0 auto; }
/* ===== Mobil: sepet alttan acilan modal (bottom-sheet); kartepage'de bar tiklayinca ===== */
.kp-sheet-x { display: none; position: absolute; top: 12px; right: 12px; width: 38px; height: 38px; border: none; background: transparent; font-size: 30px; line-height: 1; color: #888; cursor: pointer; padding: 0; }
.kp-sheet-backdrop { position: fixed; inset: 0; background: rgba(0,0,0,.45); z-index: 1205; opacity: 0; visibility: hidden; transition: opacity .3s ease; }
.kp-sheet-backdrop.open { opacity: 1; visibility: visible; }
@media (min-width: 992px) { .kp-sheet-backdrop { display: none; } }
@media (max-width: 991px) {
  #cart-box.kp-cart:not(.kp-cart-full) { display: flex !important; position: fixed; left: 0; right: 0; bottom: 0; top: auto; width: auto; height: auto; max-height: 96vh; border: none; border-radius: 18px 18px 0 0; box-shadow: 0 -6px 28px rgba(0,0,0,.20); transform: translateY(100%); transition: transform .3s ease; z-index: 1210; }
  #cart-box.kp-cart.kp-sheet-open { transform: translateY(0); }
  #cart-box.kp-cart:not(.kp-cart-full) .kp-sheet-x { display: flex; align-items: center; justify-content: center; }
  body.kp-sheet-lock { overflow: hidden; }
}
.kp-cart .cart-alert-wrap { padding: 0 18px; flex: 0 0 auto; }
.kp-cart-ot { display: flex; justify-content: center; padding: 0 18px 12px; flex: 0 0 auto; }
.kp-cart-ot .k4y-ordertype { width: 100%; }
.kp-cart-ot .k4y-ot-btn { flex: 1 1 0; justify-content: center; padding: 8px; gap: 8px; }
.kp-cart-ot .k4y-ot-btn .lbl { display: flex; flex-direction: column; align-items: center; line-height: 1.25; gap: 1px; }
.kp-cart-ot .k4y-ot-btn .lbl small { font-size: 11px; font-weight: 500; }
.kp-cart > #cart-info { flex: 1 1 auto; min-height: 0; overflow-y: auto; display: flex; flex-direction: column; border-top: 1px solid var(--c-line); }   /* bos sepette buyur; dolu sepette foot'un margin-top:auto'su altta tutar */
/* dolu: urunler (Lieferando satir stili) */
.kp-cart-body { padding: 0 18px; flex: 0 0 auto; }   /* shrink OLMASIN -> opsiyonlu satirlar tasip ust uste binmesin (#cart-info scroll eder) */
.kp-cart-body .cart-items { list-style: none; margin: 0 !important; padding: 0 !important; max-height: none !important; overflow: visible !important; }
.kp-cart-row { padding: 14px 0; border-bottom: 1px solid var(--c-line); }
.kp-cart-row:last-child { border-bottom: none; }
.kp-cart-row .r1 { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.kp-cart-row .r1 .nm { font-weight: 700; font-size: var(--fs-md); color: var(--c-text); }
.kp-cart-row .r1 .pr { font-weight: 700; font-size: var(--fs-md); white-space: nowrap; }
.kp-cart-row .opt { color: var(--c-muted); font-size: var(--fs-sm); margin-top: 3px; line-height: 1.4; }
.kp-cart-row .opt .optline { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; }   /* ad sol (wrap) | fiyat sag-sabit */
.kp-cart-row .opt .option-amount { float: none !important; flex: 0 0 auto; white-space: nowrap; }   /* pull-right float'i kapat -> fiyat alanina tasmasin */
.kp-cart-row .r2 { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 9px; }
.kp-cart-row .r2 .note { color: #888; font-size: var(--fs-sm); text-decoration: underline; cursor: pointer; }
.kp-cart-row .r2 .note:hover { color: var(--c-primary); }
.kp-cart-row .qstep { display: inline-flex; align-items: center; background: var(--c-rowbg); border-radius: var(--radius-pill); padding: 3px; flex: 0 0 auto; }
.kp-cart-row .qstep button { width: 30px; height: 30px; border: none; background: transparent; color: var(--c-text); font-size: 14px; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; }
.kp-cart-row .qstep button:hover { color: var(--c-primary); }
.kp-cart-row .qstep .dec .fa-trash-o { color: var(--c-danger); }
.kp-cart-row .qstep .q { min-width: 22px; text-align: center; font-weight: 700; font-size: var(--fs-sm); }
.kp-cart-ot .k4y-ot-btn .k4y-ot-ic { width: 20px; height: 20px; }
/* foot: puan/kupon/toplam/checkout */
.kp-cart-foot { flex: 0 0 auto; margin-top: auto; padding: 12px 18px 16px; border-top: 1px solid var(--c-line); }   /* GARANTILI en altta sabit (ust head/toggle gibi); margin-top:auto serbest alani yer */
.kp-cart-points { font-size: var(--fs-sm); color: #555; margin-bottom: 10px; display: flex; align-items: center; justify-content: space-between; gap: 8px; flex-wrap: wrap; }
.kp-cart-pbtn { color: var(--c-primary); font-weight: 600; cursor: pointer; white-space: nowrap; }
.kp-cart-coupon { display: flex; gap: 8px; margin-bottom: 12px; }
.kp-cart-coupon input { flex: 1 1 auto; min-width: 0; border: 1px solid var(--c-line); border-radius: var(--radius-pill); padding: 9px 14px; font-size: var(--fs-sm); outline: none; }
.kp-cart-coupon input:focus { border-color: var(--c-primary); }
.kp-cart-cbtn { flex: 0 0 auto; width: 38px; border: 1px solid var(--c-line); border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; color: var(--c-primary); cursor: pointer; }
.kp-cart-totals { margin-bottom: 10px; }
.kp-sumline { display: flex; justify-content: space-between; gap: 12px; font-size: var(--fs-sm); color: #555; padding: 3px 0; }
.kp-sumline.total { color: var(--c-text); font-weight: 800; font-size: var(--fs-md); margin-top: 6px; padding-top: 8px; border-top: 1px solid var(--c-line); }
.kp-sumline.note { color: var(--c-danger); font-size: 12px; justify-content: flex-start; }
.kp-sumline .rm-inline { color: #bbb; cursor: pointer; margin-left: 4px; }
.kp-sumline .rm-inline:hover { color: var(--c-danger); }
.kp-cart-pickup { font-size: var(--fs-sm); color: #555; background: var(--c-rowbg); border-radius: var(--radius-md); padding: 10px 12px; margin-bottom: 12px; line-height: 1.5; }
.kp-cart-pickup i { color: var(--c-primary); margin-right: 4px; }
/* checkout button (paylasilan $button_order = BS3 -> modern) */
.kp-cart-checkout { margin-top: 4px; }
.kp-cart-checkout .btn, .kp-cart-checkout button, .kp-cart-checkout a.btn { display: block; width: 100%; border: none; background: var(--c-primary); color: var(--c-primary-text); font-weight: 700; font-size: var(--fs-md); padding: 14px; border-radius: var(--radius-pill); text-align: center; cursor: pointer; box-shadow: none; }
.kp-cart-checkout .btn:hover, .kp-cart-checkout button:hover { filter: brightness(.96); color: var(--c-primary-text); }
/* checkout butonu (sepet ikonu + adet rozeti + "Weiter zur Bestellung") */
.kp-checkout-btn { display: flex; align-items: center; gap: 12px; width: 100%; border: none; background: var(--c-primary); color: var(--c-primary-text); font-weight: 700; font-size: var(--fs-md); padding: 13px 18px; border-radius: var(--radius-pill); cursor: pointer; }
.kp-checkout-btn:hover, .kp-checkout-btn:focus { filter: brightness(.96); color: var(--c-primary-text); }
.kp-checkout-btn .ic { position: relative; flex: 0 0 auto; display: inline-flex; font-size: 18px; }
.kp-checkout-btn .ic .badge { position: absolute; top: -8px; right: -10px; background: #1a1a1a; color: #fff; border-radius: 50%; min-width: 18px; height: 18px; font-size: 11px; font-weight: 800; display: flex; align-items: center; justify-content: center; padding: 0 4px; }
.kp-checkout-btn .lbl { flex: 1 1 auto; text-align: center; }
/* sepet uyarilari (kupon hatasi vb.) — modern banner */
.cart-alert-wrap .alert { position: relative; background: rgba(217,83,79,.10); color: var(--c-danger); border: 1px solid rgba(217,83,79,.25); border-radius: var(--radius-md); padding: 10px 34px 10px 12px; font-size: var(--fs-sm); line-height: 1.45; margin: 0 0 10px; }
.cart-alert-wrap .alert .close { position: absolute; top: 50%; transform: translateY(-50%); right: 8px; background: transparent; border: none; color: var(--c-danger); opacity: .7; font-size: 18px; line-height: 1; cursor: pointer; text-shadow: none; }
/* bos sepet */
.kp-cart-empty { flex: 1 1 auto; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 40px 24px; text-align: center; }
.kp-cart-empty .basket { font-size: 42px; color: var(--c-primary); }
.kp-cart-empty h4 { margin: 16px 0 6px; font-size: var(--fs-lg); font-weight: 800; }
.kp-cart-empty p { margin: 0; color: var(--c-muted); font-size: var(--fs-sm); line-height: 1.5; }
/* mobil sticky bar */
.kp-cart-bar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 1001; background: #fff; padding: 10px 14px; box-shadow: 0 -2px 16px rgba(0,0,0,.10); }   /* catnav(40)/menu USTUNDE kalsin */
@media (max-width: 991px) { .kp-menu { padding-bottom: 84px; } }   /* son urun/kategori sabit bar altinda kalmasin */
@media (max-width: 991px) { .kp-cart-wrap.hidden-xs { display: none !important; } }   /* tablet+telefon: cart sidebar yerine bar+sheet -> sticky catnav sepetin ustune binmesin */
@media (min-width: 992px) { .kp-cart-bar { display: none !important; } }
.kp-cart-btn { display: flex; align-items: center; gap: 12px; width: 100%; border: none; background: var(--c-primary); color: #fff; border-radius: var(--radius-pill); padding: 14px 22px; font-weight: 800; font-size: var(--fs-md); box-shadow: 0 8px 20px rgba(0,0,0,.22); }
.kp-cart-btn:hover, .kp-cart-btn:focus { color: #fff; }
.kp-bsk { width: 1em; height: 1em; fill: currentColor; vertical-align: -0.12em; flex: 0 0 auto; }   /* her yerde ayni sepet ikonu (font-icon gibi: boyut+renk inherit) */
.kp-cart-btn .ic { position: relative; font-size: 18px; flex: 0 0 auto; display: inline-flex; }
.kp-cart-btn .ic .badge { position: absolute; top: -8px; right: -10px; background: #1a1a1a; color: #fff; border-radius: 50%; min-width: 18px; height: 18px; font-size: 11px; font-weight: 800; display: flex; align-items: center; justify-content: center; padding: 0 4px; }
.kp-cart-btn .lbl { flex: 1 1 auto; text-align: center; }
.kp-cart-btn .pr { flex: 0 0 auto; }
/* bar sadece mobil/tablet (<992); kartepage'de items varken JS gosterir/gizler */
.kp-cart-bar { display: flex; }
@media (min-width: 992px) { .kp-cart-bar { display: none !important; } }
.kp-cart-btn.is-disabled { background: #999; pointer-events: none; }
/* order-type aktif aninda anlik geri bildirim (radio checked) */
.k4y-ot-btn:has(input:checked) { background: var(--c-primary); color: var(--c-primary-text); }

/* ===== Modal base (.kp-modal) + Geschäftsinfos (.kp-gi-*) ===== */
.kp-modal { position: fixed; inset: 0; z-index: 1250; display: none; }
.kp-modal.open { display: block; }
.kp-modal-backdrop { position: absolute; inset: 0; background: rgba(0,0,0,.45); }
.kp-modal-dialog { position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); width: 92%; max-width: 460px; max-height: 92vh; background: #fff; border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); display: flex; flex-direction: column; overflow: hidden; }
.kp-modal-body { overflow-y: auto; flex: 1 1 auto; }
.kp-gi-head2 { display: flex; align-items: center; padding: 16px 18px; border-bottom: 1px solid var(--c-line); flex: 0 0 auto; position: relative; }
.kp-gi-back { position: absolute; left: 12px; border: none; background: transparent; font-size: 24px; color: var(--c-text); cursor: pointer; padding: 0 6px; }
.kp-gi-head2 h3 { margin: 0 auto; font-size: var(--fs-lg); font-weight: 800; }
.kp-gi-map { margin: 16px 18px 0; border-radius: var(--radius-md); overflow: hidden; height: 200px; background: #e9eef2; }
.kp-gi-map iframe, .kp-gi-map img { width: 100%; height: 100%; border: 0; display: block; object-fit: cover; }
.kp-gi-rest { padding: 16px 18px 6px; }
.kp-gi-rest h4 { margin: 0 0 3px; font-size: var(--fs-xl); font-weight: 800; }
.kp-gi-slogan { color: var(--c-muted); font-size: var(--fs-md); margin-bottom: 10px; }
.kp-gi-line { display: flex; align-items: center; gap: 10px; color: #555; font-size: var(--fs-md); padding: 5px 0; }
.kp-gi-line i { color: var(--c-primary); width: 18px; text-align: center; }
.kp-gi-line a { color: var(--c-primary); }
.kp-gi-rating { display: flex; align-items: center; gap: 10px; margin-top: 6px; }
.kp-gi-rating .b { background: var(--c-primary); color: #fff; border-radius: 6px; padding: 2px 9px; font-weight: 700; font-size: var(--fs-sm); }
.kp-gi-rating .kp-stars { font-size: 18px; }
.kp-gi-tabs { display: flex; gap: 8px; padding: 8px 18px 12px; }
.kp-gi-tab { flex: 1 1 0; border: none; background: var(--c-rowbg); border-radius: var(--radius-pill); padding: 12px; font-weight: 700; font-size: var(--fs-md); color: var(--c-muted); cursor: pointer; }
.kp-gi-tab.active { background: var(--c-primary); color: var(--c-primary-text); }
.kp-gi-pane { padding: 0 18px 18px; }
.kp-gi-title { display: flex; align-items: center; gap: 9px; font-weight: 700; font-size: var(--fs-md); margin: 8px 0 10px; }
.kp-gi-title i { color: var(--c-primary); }
.kp-gi-subtabs { display: flex; background: #fff; border: 1px solid var(--c-line); border-bottom: none; border-radius: var(--radius-md) var(--radius-md) 0 0; overflow: hidden; }
.kp-gi-subtab { flex: 1 1 0; border: none; background: #fff; padding: 13px; font-weight: 700; font-size: var(--fs-md); color: #888; cursor: pointer; }
.kp-gi-subtab.active { background: var(--c-rowbg); color: var(--c-text); }   /* saatlerle AYNI zemin -> bagli */
.kp-gi-hours { background: var(--c-rowbg); padding: 8px 14px 14px; border: 1px solid var(--c-line); border-radius: var(--radius-md); margin-bottom: 20px; }
.kp-gi-subtabs + .kp-gi-hours { border-top: none; border-top-left-radius: 0; border-top-right-radius: 0; }
.kp-gi-hrow { display: flex; align-items: center; gap: 8px; padding: 9px 4px; font-size: var(--fs-md); color: #555; border-bottom: 1px solid rgba(0,0,0,.05); }
.kp-gi-hrow:last-child { border-bottom: none; }
.kp-gi-hrow.today { font-weight: 700; color: var(--c-text); }
.kp-gi-hrow .d { flex: 0 0 35%; }
.kp-gi-hrow .t { flex: 1 1 0; text-align: center; white-space: nowrap; }
.kp-gi-hrow .sep { flex: 0 0 auto; color: var(--c-muted); }
.kp-gi-hrow .cm { flex: 1 1 0; color: var(--c-danger); font-size: var(--fs-sm); line-height: 1.35; }
.kp-gi-hhead { display: flex; align-items: center; gap: 8px; padding: 2px 4px 8px; }
.kp-gi-hhead .d { flex: 0 0 35%; }
.kp-gi-hhead .mp { flex: 1 1 0; text-align: center; font-size: var(--fs-sm); font-weight: 700; color: var(--c-muted); }
.kp-gi-fees { background: var(--c-rowbg); border-radius: var(--radius-md); overflow: hidden; }
.kp-gi-fees-head { padding: 13px 16px; font-weight: 700; font-size: var(--fs-md); border-bottom: 1px solid rgba(0,0,0,.06); }
.kp-gi-fees-row { padding: 13px 16px; color: #555; font-size: var(--fs-sm); line-height: 1.5; border-bottom: 1px solid rgba(0,0,0,.06); }
.kp-gi-fees-row:last-child { border-bottom: none; }
.kp-gi-fees-row strong { color: var(--c-text); font-size: var(--fs-md); display: block; margin-bottom: 3px; }
.kp-gi-empty { text-align: center; color: var(--c-muted); padding: 50px 18px; font-size: var(--fs-md); }
.kp-gi-dialog { height: min(88vh, 820px); }
/* yildizlar: dolu gold + bos gri */
.kp-stars { white-space: nowrap; letter-spacing: 1px; }
.kp-stars .on { color: #f5b301; }
.kp-stars .off { color: #d4d4d4; }
/* genel skor (Allgemeine Bewertung) */
.kp-gi-overall-title { font-weight: 800; font-size: var(--fs-lg); margin: 6px 0 14px; }
.kp-gi-overall { display: flex; align-items: center; gap: 16px; padding-bottom: 16px; margin-bottom: 16px; border-bottom: 1px solid var(--c-line); }
.kp-gi-overall .score { font-size: 44px; font-weight: 800; color: var(--c-primary); line-height: 1; }
.kp-gi-overall .right { border-left: 2px solid var(--c-line); padding-left: 16px; }
.kp-gi-overall .right .kp-stars { font-size: 18px; }
.kp-gi-overall .count { color: var(--c-muted); font-size: var(--fs-sm); margin-top: 5px; }
/* yorum karti (krem zemin, Flutter gibi) */
.kp-gi-review { background: var(--c-rowbg); border-radius: var(--radius-md); padding: 14px 16px; margin-bottom: 12px; }
.kp-gi-rv-author { font-weight: 700; font-size: var(--fs-md); }
.kp-gi-rv-date { color: var(--c-muted); font-size: var(--fs-sm); margin: 2px 0 8px; }
.kp-gi-rv-line { display: flex; align-items: center; justify-content: space-between; gap: 12px; font-size: var(--fs-md); color: #555; padding: 3px 0; }
.kp-gi-rv-line .kp-stars { font-size: 15px; }
.kp-gi-rv-text { color: #555; font-size: var(--fs-md); line-height: 1.5; margin-top: 8px; }

/* ============================================================================
   CHECKOUT (Faz 2) — .checkout_page'e SCOPE'lu modern restyle.
   BS3 markup + inline JS (order_time_type/order_date/hours/minutes/address) KORUNUR.
   Adim 1: sayfa kabugu + step stepper + temel form. Sonra: time-picker/adres/odeme kartlari.
   ============================================================================ */
#page-content.checkout_page { background: var(--c-page); padding: 24px 0 40px; }
.checkout_page .container { max-width: 900px; }

/* --- client-side validation feedback (Faz F) --- */
.checkout_page .kc-invalid { border-color: #d9534f !important; box-shadow: 0 0 0 2px rgba(217,83,79,.15) !important; }
.checkout_page .kc-err { display: block; margin-top: 4px; color: #d9534f; font-size: 12px; line-height: 1.3; }

/* --- step stepper (eski nav-pills.thumbnail) --- */
.checkout_page .nav-pills.thumbnail { display: flex; gap: 10px; border: none; box-shadow: none; background: transparent; padding: 18px 0 8px; margin: 0; }
.checkout_page .nav-pills > li { float: none; flex: 1; }
.checkout_page .nav-pills > li > a { background: var(--c-surface); border: 1px solid var(--c-line); border-radius: 12px; padding: 12px 10px; color: var(--c-muted); text-align: center; }
.checkout_page .nav-pills > li.active > a { background: var(--c-primary); border-color: var(--c-primary); color: var(--c-primary-text); }
.checkout_page .nav-pills > li.active > a .list-group-item-text { color: var(--c-primary-text); opacity: .85; }
.checkout_page .nav-pills > li.link > a { cursor: pointer; }
.checkout_page .nav-pills > li.disabled > a { opacity: .55; }
.checkout_page .nav-pills .list-group-item-heading { font-size: 15px; font-weight: 800; margin: 0; }
.checkout_page .nav-pills .list-group-item-text { font-size: 12px; margin: 2px 0 0; color: var(--c-muted); }

/* --- form bolumu (content-wrap) + temel kontroller --- */
.checkout_page .content-wrap { background: var(--c-surface); border: 1px solid var(--c-line); border-radius: 16px; padding: 22px; box-shadow: var(--shadow-md); }
.checkout_page label { font-weight: 700; font-size: 14px; margin-bottom: 5px; color: var(--c-text); }
.checkout_page .form-group { margin-bottom: 16px; }
.checkout_page .form-control { height: auto; padding: 11px 13px; font-size: 15px; border: 1px solid var(--c-line); border-radius: 10px; box-shadow: none; background: #fff; color: var(--c-text); }
.checkout_page .form-control:focus { border-color: var(--c-primary); box-shadow: 0 0 0 3px rgba(0,0,0,.06); outline: none; }
.checkout_page select.form-control { appearance: none; -webkit-appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23777' d='M6 8 0 0h12z'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 13px center; padding-right: 34px; }
.checkout_page .input-group-addon { border: 1px solid var(--c-line); border-radius: 10px 0 0 10px; background: var(--c-rowbg); color: var(--c-muted); }
.checkout_page .input-group .form-control { border-radius: 0 10px 10px 0; }

/* --- butonlar --- */
.checkout_page .btn { border-radius: 10px; font-weight: 600; padding: 10px 16px; }
.checkout_page .btn-success, .checkout_page .btn-primary { background: var(--c-primary); border-color: var(--c-primary); color: var(--c-primary-text); }
.checkout_page #notification .alert { border: none; border-radius: 12px; }

/* =========================================================================
   CHECKOUT STEP ONE — modern rebuild (Flutter design)  [kc-* scoped]
   ========================================================================= */
.checkout_page .kc-step { font-family: var(--font); color: var(--c-text); }

.checkout_page .kc-title { font-size: 21px; font-weight: 800; margin: 0 0 4px; color: var(--c-text); }
.checkout_page .kc-subtitle { font-size: 16px; font-weight: 700; margin: 0 0 14px; color: var(--c-text); }

.checkout_page .kc-login-info { color: var(--c-muted); font-size: 14px; margin: 0 0 18px; overflow-wrap: break-word; word-break: normal; }
.checkout_page .kc-login-info a { white-space: nowrap; }

.checkout_page .kc-section { margin: 0 0 26px; }

/* 2-column responsive grid */
.checkout_page .kc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 16px; }
@media (max-width: 767px) { .checkout_page .kc-grid { grid-template-columns: 1fr; } }

/* FLOATING LABEL (preview .fl) — label input kenarinda yuzer */
.checkout_page .kc-field { position: relative; margin: 0; }
.checkout_page .kc-field > label { position: absolute; top: -8px; left: 11px; z-index: 1; background: var(--c-surface); padding: 0 6px; font-size: 12px; font-weight: 600; color: var(--c-muted); margin: 0; }

.checkout_page .kc-input {
  width: 100%;
  height: auto;
  padding: 18px 14px 9px;   /* floating label icin ust bosluk */
  font-size: 15px;
  font-family: var(--font);
  color: var(--c-text);
  background: var(--c-surface);
  border: 1px solid var(--c-line);
  border-radius: 10px;
  box-shadow: none;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.checkout_page .kc-input:focus {
  border-color: var(--c-primary);
  box-shadow: 0 0 0 3px rgba(0,0,0,.06);
  outline: none;
}
.checkout_page .kc-input[readonly] { background: var(--c-rowbg); color: var(--c-muted); cursor: not-allowed; }
.checkout_page .kc-textarea { resize: vertical; min-height: 96px; padding-top: 22px; }

/* --- Lieferadresse --- */
.checkout_page .kc-address-pills { display: flex; flex-wrap: wrap; gap: 10px; width: 100%; float: none; }
.checkout_page .kc-address-pill {
  position: relative;
  flex: 1 1 220px;
  text-align: left;
  background: var(--c-surface);
  border: 1px solid var(--c-line);
  border-radius: 12px;
  padding: 14px 14px 14px 16px;
  margin: 0;
  box-shadow: none;
  color: var(--c-text);
  font-weight: 500;
}
.checkout_page .kc-address-pill.btn-primary.active,
.checkout_page .kc-address-pill.active {
  background: var(--c-surface);
  border-color: var(--c-primary);
  box-shadow: 0 0 0 1px var(--c-primary) inset;
  color: var(--c-text);
}
.checkout_page .kc-address-pill .kc-address-text { margin: 6px 0 0; font-style: normal; font-size: 14px; line-height: 1.45; }
.checkout_page .kc-address-edit {
  position: absolute; top: 10px; right: 12px;
  font-size: 12px; font-weight: 600; color: var(--c-primary);
  cursor: pointer;
}
.checkout_page .kc-address-forms { margin-top: 12px; }
.checkout_page .kc-address-form { width: 100%; padding: 0; }
.checkout_page .kc-error-wrap { margin-top: 6px; }

/* --- Liefer-/Abholzeit (Lieferando: asap/later dikey radio liste) --- */
.checkout_page .kc-time-label { display: block; font-weight: 700; font-size: 15px; margin-bottom: 10px; color: var(--c-text); }
.checkout_page .kc-time-opts { display: flex; flex-direction: column; gap: 10px; margin: 0; float: none; }
.checkout_page .kc-time-opt { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 15px 16px; margin: 0; border: 1.5px solid var(--c-line, #e5e7eb); border-radius: 14px; cursor: pointer; font-weight: 600; color: var(--c-text); background: #fff; transition: border-color .15s, background .15s; }
.checkout_page .kc-time-opt .kc-time-opt-lbl { flex: 1; }
.checkout_page .kc-time-opt input[type="radio"] { position: absolute; opacity: 0; width: 0; height: 0; margin: 0; }
.checkout_page .kc-time-opt .kc-radio-dot { flex: 0 0 22px; width: 22px; height: 22px; border: 2px solid var(--c-line, #cbd5e1); border-radius: 50%; position: relative; box-sizing: border-box; }
.checkout_page .kc-time-opt input:checked ~ .kc-radio-dot { border-color: var(--c-primary); }
.checkout_page .kc-time-opt input:checked ~ .kc-radio-dot::after { content: ''; position: absolute; inset: 3px; background: var(--c-primary); border-radius: 50%; }
.checkout_page .kc-time-opt.is-sel { border-color: var(--c-primary); background: #f0fbf4; }
.checkout_page .kc-time-closed { color: var(--c-danger); font-weight: 600; margin: 6px 0; }
.checkout_page .kc-vorbestell-hint { font-size: 14px; color: var(--c-text); font-weight: 600; margin: 0 0 14px; text-align: center; }
.checkout_page .kc-time-choose { margin-top: 14px; }
.checkout_page .kc-time-choose > label { display: block; font-weight: 600; font-size: 13px; margin-bottom: 6px; color: var(--c-muted); }

/* --- Info text --- */
.checkout_page .kc-info-text {
  font-size: 13px;
  line-height: 1.5;
  color: var(--c-muted);
  background: var(--c-rowbg);
  border-radius: 10px;
  padding: 12px 14px;
  margin: 0 0 26px;
}

/* --- Abholung Von --- */
.checkout_page .kc-pickup-card {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  background: var(--c-surface);
  border: 1px solid var(--c-line);
  border-radius: 12px;
  padding: 16px;
}
.checkout_page .kc-pickup-icon { color: var(--c-primary); font-size: 22px; line-height: 1.3; flex: 0 0 auto; }
.checkout_page .kc-pickup-body { display: flex; flex-direction: column; }
.checkout_page .kc-pickup-name { font-weight: 700; font-size: 15px; color: var(--c-text); }
.checkout_page .kc-pickup-addr { font-size: 14px; color: var(--c-muted); margin-top: 2px; }

/* --- Zur Kasse button --- */
.checkout_page .kc-submit {
  display: block;
  width: 100%;
  padding: 15px 18px;
  font-size: 16px;
  font-weight: 700;
  font-family: var(--font);
  color: var(--c-primary-text);
  background: var(--c-primary);
  border: none;
  border-radius: 12px;
  cursor: pointer;
  margin-top: 4px;
  transition: background .15s ease;
}
.checkout_page .kc-submit:hover,
.checkout_page .kc-submit:focus { background: var(--c-primary-hover); outline: none; }

/* =========================================================================
   CHECKOUT STEP ONE — FLOATING-LABEL pattern (Phase A, ported from
   docs/checkout-preview.html .fl/.grid/.row3/.row2/.infotext/.pickup/.zk).
   Preview color vars mapped to theme tokens. Outlined input, label on border.
   ========================================================================= */

/* center the single-column step card like the preview main column */
.checkout_page .kc-step h1.kc-title { font-size: 24px; font-weight: 800; margin: 6px 0 18px; color: var(--c-text); }
.checkout_page .kc-section h2.kc-subtitle { font-size: 16px; font-weight: 800; margin: 0 0 12px; color: var(--c-text); }

/* --- floating-label field (.kc-field.fl) — label sits ON the border --- */
.checkout_page .kc-field.fl { position: relative; display: block; margin: 0; }
.checkout_page .kc-field.fl > label {
  position: absolute;
  top: -8px;
  left: 11px;
  z-index: 1;
  background: var(--c-surface);
  padding: 0 6px;
  font-size: 12px;
  font-weight: 600;
  color: var(--c-muted);
  margin: 0;
  pointer-events: none;
}
.checkout_page .kc-field.fl > input,
.checkout_page .kc-field.fl > select,
.checkout_page .kc-field.fl > textarea {
  width: 100%;
  border: 1.5px solid var(--c-line);
  border-radius: 12px;
  padding: 18px 14px 9px;
  font-size: 15px;
  font-family: var(--font);
  background: var(--c-surface);
  color: var(--c-text);
  outline: none;
  box-shadow: none;
  height: auto;
}
.checkout_page .kc-field.fl > textarea { padding-top: 22px; resize: vertical; min-height: 74px; }
.checkout_page .kc-field.fl > input:focus,
.checkout_page .kc-field.fl > select:focus,
.checkout_page .kc-field.fl > textarea:focus { border-color: var(--c-primary); box-shadow: none; }
.checkout_page .kc-field.fl > input[readonly] { background: var(--c-page); color: var(--c-muted); cursor: not-allowed; }
.checkout_page .kc-field.fl .text-danger { display: block; margin-top: 5px; font-size: 12px; color: var(--c-danger); }
/* newsletter checkbox (preview .nl) */
.checkout_page .kc-newsletter { display: flex; align-items: flex-start; gap: 10px; font-size: 13.5px; color: var(--c-text); margin: 14px 0 4px; font-weight: 400; cursor: pointer; }
.checkout_page .kc-newsletter input { margin-top: 2px; width: 18px; height: 18px; accent-color: var(--c-primary); flex: 0 0 auto; }
/* checkout duzeni: genis container + sidebar (kullanici %20 daralt: 480->384) */
.checkout_page .container { max-width: 1120px; }
@media (min-width: 992px) {
  #page-content.checkout_page > .container > .row { display: flex; gap: 26px; align-items: flex-start; }
  #page-content.checkout_page > .container > .row > [class*="col-"] { float: none; padding-left: 0; padding-right: 0; }
  #page-content.checkout_page > .container > .row > div:not(#content-right) { flex: 1 1 auto; width: auto; max-width: none; min-width: 0; }
  #page-content.checkout_page > .container > .row > #content-right { flex: 0 0 384px; width: 384px; max-width: 384px; }
}
/* orta ekranlar (992-1200): sepet biraz daha dar, form nefes alsin */
@media (min-width: 992px) and (max-width: 1200px) {
  #page-content.checkout_page > .container > .row > #content-right { flex-basis: 340px; width: 340px; max-width: 340px; }
}
/* PLZ native select -> ok isareti (select2 eski dropdown yok) */
.checkout_page .kc-plz-select { appearance: none; -webkit-appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath fill='%23777' d='M6 8 0 0h12z'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 13px center; padding-right: 34px; }
/* header geri tusu (checkout) logo yaninda gorunur */
#main-header .k4y-header-bar .logo .k4y-kp-back { display: inline-flex; align-items: center; margin-right: 10px; color: var(--c-text); font-size: 20px; }

/* --- grids (preview .grid / .row3 / .row2) --- */
.checkout_page .kc-grid.grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
/* row3: 4 sutun -> Strasse(span2) Stiege Tuer / PLZ Ort Adresszusatz(span2). PLZ = Ort kadar dar, Adresszusatz uzun. */
.checkout_page .kc-grid.row3 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.checkout_page .kc-grid.row3 > input[type="hidden"] { display: none; }
.checkout_page .kc-grid.row3 > div.kc-field:first-of-type { grid-column: span 2; }   /* Straße & Hausnummer */
.checkout_page .kc-grid.row3 > div.kc-field:last-of-type { grid-column: span 2; }    /* Adresszusatz */
@media (max-width: 560px) {
  .checkout_page .kc-grid.grid { grid-template-columns: 1fr; }
  .checkout_page .kc-grid.row3 { grid-template-columns: 1fr; }
  .checkout_page .kc-grid.row3 > div.kc-field:first-of-type,
  .checkout_page .kc-grid.row3 > div.kc-field:last-of-type { grid-column: span 1; }
}

/* --- time toggle stays usable inside fl section (re-skinned existing markup) --- */
.checkout_page .kc-time .order-time-group { margin-top: 14px; }
/* Für später planen: gün + saat select'leri (Lieferando) */
.checkout_page .kc-time-choose > label { display: block; font-weight: 700; font-size: 13px; margin: 0 0 8px; color: var(--c-text); }
.checkout_page .kc-time-choose .order-time-group { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 0; }
.checkout_page .kc-time-choose .order-later { flex: 1 1 45%; min-width: 140px; padding: 0; float: none; }
.checkout_page .kc-time-choose .input-group { display: flex; align-items: stretch; border: 1.5px solid var(--c-line, #e5e7eb); border-radius: 12px; overflow: hidden; background: #fff; width: 100%; }
.checkout_page .kc-time-choose .input-group-addon { display: flex; align-items: center; background: #f8fafc; border: 0; color: var(--c-muted); padding: 0 12px; }
.checkout_page .kc-time-choose .input-group .form-control { border: 0; box-shadow: none; }

/* --- Info text (preview .infotext) --- */
.checkout_page .kc-info-text.infotext {
  color: var(--c-muted);
  font-size: 13.5px;
  line-height: 1.5;
  margin: 16px 0;
  background: none;
  padding: 0;
  border-radius: 0;
}

/* --- Abholung Von card (preview .pickup) --- */
.checkout_page .kc-pickup.pickup {
  border: 1.5px solid var(--c-primary);
  border-radius: 14px;
  padding: 16px 18px;
  margin-top: 6px;
}
.checkout_page .kc-pickup.pickup .kc-pickup-head {
  display: flex;
  align-items: center;
  gap: 9px;
  font-weight: 800;
  border-bottom: 1px solid var(--c-line);
  padding-bottom: 10px;
  margin-bottom: 10px;
  color: var(--c-text);
}
.checkout_page .kc-pickup.pickup .kc-pickup-head i { color: var(--c-primary); }
.checkout_page .kc-pickup.pickup .kc-pickup-card { display: block; border: none; border-radius: 0; padding: 0; background: none; }
.checkout_page .kc-pickup.pickup .kc-pickup-name { font-weight: 800; font-size: 17px; margin-bottom: 3px; color: var(--c-text); }
.checkout_page .kc-pickup.pickup .kc-pickup-addr { color: var(--c-text); opacity: .8; }

/* --- Zur Kasse button (preview .zk) --- */
.checkout_page .kc-submit.zk {
  width: 100%;
  border: none;
  background: var(--c-primary);
  color: var(--c-primary-text);
  font-size: 17px;
  font-weight: 800;
  border-radius: 14px;
  padding: 16px;
  margin-top: 14px;
  cursor: pointer;
}
.checkout_page .kc-submit.zk:hover,
.checkout_page .kc-submit.zk:focus { background: var(--c-primary-hover); }

/* =========================================================================
   CHECKOUT PHASE B + D — Zeit-Row + Modals (preview .timerow / .ov/.pm /
   Bestellübersicht .cbranch / Ihre-Artikel #ovArtikel).
   Scoped/specific to beat old stylesheet.css + bootstrap.min.css.
   ========================================================================= */

/* --- modal lock (shared by #kcTimeModal + #kcArtikelModal) --- */
body.kc-modal-lock { overflow: hidden; }

/* --- Zeit row (preview .timerow) --- */
.checkout_page .kc-timerow.timerow {
  display: flex; align-items: center; gap: 14px;
  border: 1.5px solid var(--c-line); border-radius: 14px;
  padding: 16px; cursor: pointer; background: var(--c-surface);
  transition: border-color .15s ease;
}
.checkout_page .kc-timerow.timerow:hover,
.checkout_page .kc-timerow.timerow:focus-visible { border-color: var(--c-primary); outline: none; }
.checkout_page .kc-timerow .ic { font-size: 26px; color: var(--c-primary); flex: 0 0 auto; min-width: 30px; text-align: center; }
.checkout_page .kc-timerow .tx { flex: 1 1 auto; min-width: 0; }
.checkout_page .kc-timerow .tx b { display: block; font-weight: 800; font-size: 16px; color: var(--c-text); }
.checkout_page .kc-timerow .tx .sub { font-size: 13px; color: var(--c-danger); font-weight: 600; }
.checkout_page .kc-timerow .tx .sub.ok { color: var(--c-text); }
.checkout_page .kc-timerow .chev { color: var(--c-muted); font-size: 18px; flex: 0 0 auto; }

/* --- shared modal shell (preview .ov / .pm) — id-specific only where forced --- */
.checkout_page .kc-ov.ov {
  position: fixed; inset: 0; background: rgba(0,0,0,.5);
  display: none; align-items: center; justify-content: center;
  z-index: 1300; padding: 18px;
}
.checkout_page .kc-ov.ov.open { display: flex; }
.checkout_page .kc-ov .kc-pm.pm {
  background: var(--c-surface); border-radius: 18px;
  width: 100%; max-width: 440px; max-height: 90vh;
  display: flex; flex-direction: column; overflow: hidden;
  box-shadow: 0 24px 64px rgba(0,0,0,.32);
}
.checkout_page .kc-ov .kc-pm-h.h {
  display: flex; align-items: center; justify-content: space-between;
  padding: 18px 20px; border-bottom: 1px solid var(--c-line);
}
.checkout_page .kc-ov .kc-pm-h.h b { font-size: 18px; font-weight: 800; color: var(--c-text); }
.checkout_page .kc-ov .kc-pm-x.x { cursor: pointer; font-size: 22px; line-height: 1; color: #888; }
.checkout_page .kc-ov .kc-pm-x.x:hover { color: var(--c-text); }
.checkout_page .kc-ov .kc-pm-list.list { padding: 14px 18px; overflow: auto; }
.checkout_page .kc-ov .kc-pm-ft.ft { padding: 16px 18px; border-top: 1px solid var(--c-line); flex: 0 0 auto; }
.checkout_page .kc-ov .kc-pm-apply.pay {
  width: 100%; border: none; background: var(--c-primary); color: var(--c-primary-text);
  font-weight: 800; font-size: 16px; border-radius: 12px; padding: 15px; cursor: pointer;
}
.checkout_page .kc-ov .kc-pm-apply.pay:hover { background: var(--c-primary-hover); color: var(--c-primary-text); }

/* time-picker inside modal: drop the section bottom margin, layout the toggle */
.checkout_page .kc-ov .kc-time-toggle { display: inline-flex; gap: 8px; float: none; margin-bottom: 4px; }
.checkout_page .kc-ov .kc-time-choose { margin-top: 16px; }

/* --- Bestellübersicht branch row (preview .cbranch) --- */
.kp-cart .kc-cbranch {
  display: flex; gap: 12px; align-items: flex-start; justify-content: space-between;
  padding: 0 18px 14px; border-bottom: 1px solid var(--c-line);
}
.kp-cart .kc-cb-info { min-width: 0; }
.kp-cart .kc-cb-info b { display: block; font-weight: 700; font-size: 15px; color: var(--c-text); }
.kp-cart .kc-cb-info span { display: block; color: var(--c-muted); font-size: 13px; margin: 2px 0 6px; }
.kp-cart .kc-cb-artikel { font-size: 13px; color: var(--c-primary); text-decoration: underline; cursor: pointer; font-weight: 600; }
.kc-cb-logo {
  flex: 0 0 auto; width: 48px; height: 48px; border-radius: 10px;
  background: #1c1c1c; color: #fff; display: flex; align-items: center; justify-content: center;
  font-weight: 800; font-size: 11px; letter-spacing: .5px;
}

/* on checkout: inline cart item rows hidden (items live in #kcArtikelModal) */
.kp-cart-body.kc-items-hidden { display: none; }

/* --- Ihre-Artikel modal content (preview .art-head / .art-item) --- */
.checkout_page .kc-art-head, .kp-cart .kc-art-head {
  display: flex; justify-content: space-between; align-items: flex-start; gap: 12px;
  padding: 14px 20px; border-bottom: 1px solid var(--c-line);
}
.kc-art-head b { display: block; font-weight: 800; font-size: 16px; color: var(--c-text); }
.kc-art-head span { display: block; color: var(--c-muted); font-size: 13px; }
.kc-art-head .kc-art-cnt { margin-top: 4px; color: var(--c-text); font-weight: 600; }
.kc-art-item {
  display: grid; grid-template-columns: auto 1fr auto; gap: 12px;
  padding: 14px 2px; border-bottom: 1px solid var(--c-line);
}
.kc-art-item:last-child { border-bottom: none; }
.kc-art-item .q { font-weight: 700; color: var(--c-muted); white-space: nowrap; }
.kc-art-item .nm { font-weight: 600; color: var(--c-text); min-width: 0; }
.kc-art-item .nm .opt { display: block; color: var(--c-muted); font-size: 13px; font-weight: 400; margin-top: 2px; }
.kc-art-item .nm .opt .optline { display: block; }
.kc-art-item .pr { font-weight: 700; white-space: nowrap; color: var(--c-text); }

/* mobile: both modals become bottom-sheets (preview @max-width:560px) */
@media (max-width: 560px) {
  .checkout_page .kc-ov.ov { align-items: flex-end; padding: 0; }
  .checkout_page .kc-ov .kc-pm.pm { max-width: none; max-height: 88vh; border-radius: 18px 18px 0 0; }
}

/* checkout: Bestellübersicht basligi SOLA (adres gibi) */
.checkout_page .kp-cart-head { text-align: left; padding: 16px 18px 6px; }

/* checkout: Bestellübersicht logo = restoran resmi (initials fallback) */
.checkout_page .kc-cb-logo img, .kc-ov .kc-cb-logo img { width: 100%; height: 100%; object-fit: cover; border-radius: 8px; display: block; }

/* --- PLZ secim (buton + modal liste) --- */
.checkout_page .kc-field.fl > .kc-plz-btn { display: flex; align-items: center; justify-content: space-between; gap: 8px; width: 100%; padding: 18px 14px 9px; font-size: 15px; text-align: left; border: 1.5px solid var(--c-line); border-radius: 12px; background: var(--c-surface); color: var(--c-text); cursor: pointer; font-family: var(--font); }
.checkout_page .kc-field.fl > .kc-plz-btn:hover { border-color: var(--c-primary); }
.checkout_page .kc-field.fl > .kc-plz-btn .fa { color: var(--c-muted); }
.kc-plz-list .kc-plz-row { display: flex; align-items: center; gap: 10px; padding: 13px 14px; border: 1px solid var(--c-line); border-radius: 10px; margin-bottom: 8px; cursor: pointer; font-size: 15px; color: var(--c-text); }
.kc-plz-list .kc-plz-row:hover { border-color: var(--c-primary); background: var(--c-rowbg); }
.kc-plz-list .kc-plz-row .fa { color: var(--c-primary); }

.checkout_page .kc-back-step1 { display: inline-flex; align-items: center; gap: 7px; color: var(--c-primary); font-weight: 700; margin-bottom: 16px; cursor: pointer; text-decoration: none; }

/* --- Bezahlmethoden modal (step-two #payment -> overlay, preview) --- */
.kc-pay-modal { position: fixed; inset: 0; z-index: 100100; align-items: center; justify-content: center; padding: 20px; }
.kc-pay-backdrop { position: absolute; inset: 0; background: rgba(0,0,0,.5); }
.kc-pay-box { position: relative; z-index: 1; background: #fff; border-radius: 16px; width: 100%; max-width: 520px; max-height: 88vh; overflow: auto; box-shadow: 0 20px 60px rgba(0,0,0,.3); padding: 0 22px 22px; }
.kc-pay-head { display: flex; align-items: center; justify-content: space-between; padding: 20px 0 14px; position: sticky; top: 0; background: #fff; z-index: 2; }
.kc-pay-head b { font-size: 19px; color: var(--c-text); }
.kc-pay-x { border: 0; background: none; font-size: 26px; line-height: 1; color: var(--c-muted); cursor: pointer; padding: 0 4px; }
.kc-pay-box .kc-back-step1 { display: none; }
.kc-pay-box > .row:first-of-type { display: none; }
.kc-pay-box .cc-selector .list-group-item, .kc-pay-box .cc-selector label { display: block; width: 100%; }
.kc-pay-submit { display: block; width: 100%; margin-top: 16px; padding: 15px; border: 0; border-radius: 12px; background: var(--c-primary); color: var(--c-primary-text, #fff); font-size: 16px; font-weight: 800; cursor: pointer; }
.kc-pay-submit:hover { background: var(--c-primary-hover, var(--c-primary)); }
@media (max-width: 560px) { .kc-pay-box { max-width: none; border-radius: 16px 16px 0 0; max-height: 92vh; position: fixed; left: 0; right: 0; bottom: 0; } .kc-pay-modal { align-items: flex-end; padding: 0; } }

/* ===== ZAHLUNGSOPTIONEN (MODERN / Lieferando: satir -> Bezahlmethode-wählen modal) ===== */
.kc-pay-list { display: flex; flex-direction: column; gap: 10px; margin: 0; }
.kc-pay-list.cc-selector input[name="payment"], .kc-pay-list .cc-selector input[name="payment"] { position: absolute; opacity: 0; width: 0; height: 0; margin: 0; pointer-events: none; }
.kc-pay-list .payment-box { position: relative; float: none; width: 100%; height: auto; min-height: 60px; margin: 0; display: flex; align-items: center; gap: 14px; padding: 14px 16px 14px 66px; border: 1.5px solid var(--c-line, #e5e7eb); border-radius: 14px; background: #fff; transition: border-color .15s, background .15s; }
.kc-pay-list .drinkcard-cc { position: absolute; left: 0; top: 0; width: 100%; height: 100%; margin: 0; z-index: 2; background-size: 34px auto; background-position: left 18px center; border-radius: 14px; }
.kc-pay-list .payment-title { position: relative; z-index: 1; text-align: left; font-weight: 700; color: var(--c-text); font-size: 15px; }
.kc-pay-list input[name="payment"]:checked + .payment-box { border-color: var(--c-primary); background: #f0fbf4; box-shadow: 0 0 0 1.5px var(--c-primary) inset; }
.kc-pay-list .payment-box .pay-alert { position: relative; z-index: 3; margin: 8px 0 0; font-size: 12px; }
.kc-pay-list input[name="payment"][disabled] + .payment-box { opacity: .5; }
/* modal secili yontem: sag ✓ (Lieferando) */
.kc-pay-list input[name="payment"]:checked + .payment-box::after { content: '\2713'; position: absolute; right: 16px; top: 50%; transform: translateY(-50%); color: var(--c-primary); font-weight: 800; font-size: 18px; z-index: 3; }
/* Zahlungsoptionen KART (Lieferando: baslik ustte + ikon/isim satiri) */
.checkout_page .kc-paycard { border: 1.5px solid var(--c-line, #e5e7eb); border-radius: 14px; padding: 14px 16px; cursor: pointer; background: #fff; transition: border-color .15s; }
.checkout_page .kc-paycard:hover { border-color: var(--c-primary); }
.checkout_page .kc-paycard-title { font-weight: 800; font-size: 16px; color: var(--c-text); margin: 0 0 12px; }
.checkout_page .kc-payrow-inner { display: flex; align-items: center; gap: 12px; }
.checkout_page .kc-payrow-inner .ic { display: inline-flex; align-items: center; justify-content: center; min-width: 40px; color: var(--c-primary); font-size: 20px; }
.checkout_page .kc-payrow-inner .ic.has-img { font-size: 0; }
.checkout_page .kc-payrow-inner .ic.has-img img { height: 26px; width: auto; max-width: 44px; object-fit: contain; display: block; }
.checkout_page .kc-payrow-inner .kc-payname { flex: 1; font-weight: 700; color: var(--c-text); font-size: 15px; }
.checkout_page .kc-payrow-inner .kc-payname:not(.ok) { color: var(--c-danger); font-weight: 600; font-size: 13px; }
.checkout_page .kc-payrow-inner .chev { color: var(--c-muted); font-size: 18px; }
/* Bezahlmethode modal footer: methoda gore aciklama + Erledigt */
.kc-pm-ft .kc-pay-hint { font-size: 12.5px; color: var(--c-muted); margin: 0 0 12px; text-align: center; line-height: 1.5; }
/* Sidebar: Bestellen butonu altinda AGB notu (Lieferando) */
.kp-order-agb { font-size: 11.5px; color: var(--c-muted); margin: 12px 2px 0; line-height: 1.5; }
.kp-order-agb a { color: var(--c-muted); text-decoration: underline; }
/* Terms */
.kc-pm-list .kc-terms { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin: 14px 0 2px; }
.kc-pm-list .kc-terms .button-checkbox .btn { border: 1.5px solid var(--c-line, #e5e7eb); border-radius: 10px; background: #fff; font-weight: 700; font-size: 13px; padding: 8px 12px; }
.kc-pm-list .kc-terms .button-checkbox .btn.active, .kc-pm-list .kc-terms input:checked + .btn { background: var(--c-primary); color: var(--c-primary-text, #fff); border-color: var(--c-primary); }
.kc-pm-list .kc-terms-label { flex: 1; min-width: 200px; font-size: 13px; color: var(--c-muted); }
/* Sidebar Bestellen butonu disabled */
.kp-order-btn:disabled, .kp-order-btn[disabled] { opacity: .5; cursor: not-allowed; }
/* Server uyari modern popup'a tasinana kadar gizli (flash onleme) */
.checkout_page #notification.kc-hidden-alert { display: none; }
/* Abholung Von karti (sepette, Bestellen butonu ustunde — collection) */
.kc-abhol { border: 1.5px solid var(--c-line, #e5e7eb); border-radius: 14px; overflow: hidden; margin-bottom: 14px; background: #fff; }
.kc-abhol-head { display: flex; align-items: center; gap: 8px; padding: 12px 16px; border-bottom: 1px solid var(--c-line, #e5e7eb); font-weight: 700; color: var(--c-text); }
.kc-abhol-head i { color: var(--c-primary); }
.kc-abhol-name { padding: 12px 16px 2px; font-weight: 700; font-size: 15px; color: var(--c-text); }
.kc-abhol-addr { padding: 0 16px 14px; color: var(--c-muted); font-size: 13.5px; line-height: 1.55; }

/* ===== Bestellung Bestätigung (success) — Flutter tarzi ===== */
.kc-success-page .container { max-width: 720px; }
.kc-succ { background: #fff; border: 1px solid var(--c-line, #e5e7eb); border-radius: 16px; padding: 28px 26px; margin: 22px auto; box-shadow: var(--shadow-md); }
.kc-succ-head { text-align: center; margin-bottom: 18px; }
.kc-succ-order { font-size: 17px; color: var(--c-text); font-weight: 700; margin-bottom: 6px; }
.kc-succ-title { font-size: 22px; font-weight: 800; color: var(--c-text); margin: 0; }
.kc-succ-badge { display: inline-block; padding: 5px 16px; border-radius: 20px; color: #fff; font-size: 13px; font-weight: 700; margin-top: 4px; }
.kc-succ-time { text-align: center; font-size: 44px; font-weight: 800; color: var(--c-text); line-height: 1.05; margin-top: 8px; letter-spacing: .5px; }
.kc-succ-time.is-vorbestell { font-size: 30px; letter-spacing: 0; }
@media (max-width: 480px) { .kc-succ-time.is-vorbestell { font-size: 24px; } }
.kc-succ-time-lbl { text-align: center; font-size: 15px; color: var(--c-muted); margin-bottom: 6px; }
.kc-succ-status-text { text-align: center; font-size: 18px; font-weight: 700; margin-top: 4px; line-height: 1.3; }
/* Inline Bewertung (abgeschlossen) */
.kc-rating-form { margin: 14px 0 8px; text-align: center; }
.kc-rating-title { font-size: 18px; font-weight: 700; color: var(--c-text); margin-bottom: 12px; }
.kc-rating-stars { display: flex; justify-content: center; gap: 48px; flex-wrap: wrap; margin-bottom: 18px; }
.kc-rating-col { display: flex; flex-direction: column; align-items: center; gap: 8px; }
.kc-rating-col span { font-size: 16px; color: var(--c-text, #1a1d21); font-weight: 700; }
.kc-rating-col .rating-star { display: inline-block; font-size: 28px; }
.kc-rating-col .rating-star img, .kc-rated .rating-star img { width: 30px !important; height: 30px !important; }
.kc-rated .rating-star { font-size: 28px; }
/* Bestellstatus kart-ici geri butonu (sol-ust) */
.kc-succ { position: relative; }
.kc-succ-back { position: absolute; top: 18px; left: 18px; margin: 0; z-index: 2; }
@media (max-width: 575px) { .kc-succ-back { top: 14px; left: 14px; width: 36px; height: 36px; } }
.kc-rating-text { width: 100%; border: 1.5px solid var(--c-line, #e5e7eb); border-radius: 12px; padding: 12px 14px; font-size: 14px; resize: vertical; margin-bottom: 12px; box-sizing: border-box; }
.kc-rating-btn { background: var(--c-primary); color: var(--c-primary-text, #fff); border: 0; border-radius: 12px; padding: 13px 28px; font-weight: 700; font-size: 15px; cursor: pointer; }
.kc-rating-btn:hover { opacity: .92; }
.kc-rating-btn:disabled, .kc-rating-btn[disabled] { opacity: .45; cursor: not-allowed; }
.kc-succ-reviewed { text-align: center; color: var(--c-primary); font-weight: 700; font-size: 15px; margin: 12px 0; }
.kc-succ-reviewed .fa { color: #f5b301; }
/* Bewertung yapildiktan sonra: verilen yildizlar (readonly) + yorum */
.kc-rated { margin: 14px 0 8px; text-align: center; }
.kc-rated-text { font-size: 13px; color: var(--c-muted); margin-top: 8px; font-style: italic; }
.kc-succ-msg { font-size: 13px; color: var(--c-muted); line-height: 1.55; text-align: center; margin: 0 0 20px; }
.kc-succ-info { border-top: 1px solid var(--c-line, #e5e7eb); border-bottom: 1px solid var(--c-line, #e5e7eb); padding: 16px 0; margin-bottom: 18px; display: flex; flex-direction: column; gap: 8px; }
.kc-succ-info-row { display: flex; gap: 12px; font-size: 14px; }
.kc-succ-info-row .lbl { flex: 0 0 130px; color: var(--c-muted); font-weight: 600; }
.kc-succ-info-row .val { flex: 1; color: var(--c-text); font-weight: 600; }
.kc-succ-h2 { font-size: 16px; font-weight: 800; margin: 0 0 12px; color: var(--c-text); }
.kc-succ-row { display: flex; align-items: flex-start; gap: 10px; padding: 10px 0; border-bottom: 1px solid var(--c-line, #e5e7eb); }
.kc-succ-row .q { flex: 0 0 auto; font-weight: 700; color: var(--c-text); }
.kc-succ-row .nm { flex: 1; color: var(--c-text); }
.kc-succ-row .nm .opt, .kc-succ-row .nm .cmt { display: block; font-size: 12.5px; color: var(--c-muted); margin-top: 2px; }
.kc-succ-row .pr { flex: 0 0 auto; font-weight: 700; color: var(--c-text); white-space: nowrap; }
.kc-succ-totals { padding-top: 12px; }
.kc-succ-total-row { display: flex; justify-content: space-between; padding: 4px 0; font-size: 14px; color: var(--c-muted); }
.kc-succ-total-row.is-gesamt { font-size: 18px; font-weight: 800; color: var(--c-text); border-top: 1px solid var(--c-line, #e5e7eb); margin-top: 6px; padding-top: 10px; }
.kc-succ-appetit { text-align: center; color: var(--c-muted); font-size: 14px; margin: 20px 0; }
.kc-succ-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 22px; }
.kc-succ-btn { flex: 1; min-width: 160px; text-align: center; padding: 14px; border-radius: 12px; font-weight: 700; font-size: 15px; text-decoration: none; display: inline-flex; align-items: center; justify-content: center; gap: 8px; }
.kc-succ-status { background: var(--c-primary); color: var(--c-primary-text, #fff); }
.kc-succ-status:hover, .kc-succ-status:focus { background: var(--c-primary-hover, var(--c-primary)); color: var(--c-primary-text, #fff); text-decoration: none; opacity: .92; }
.kc-succ-again { background: #fff; color: var(--c-text); border: 1.5px solid var(--c-line, #e5e7eb); }
.kc-succ-again:hover, .kc-succ-again:focus { background: #fff; color: var(--c-text); border-color: var(--c-primary); text-decoration: none; }
/* Tek buton (orders_view "Noch einmal bestellen") — ORTALI, icerige gore genislik, pill. Coklu buton olursa flex yan yana yapar. */
.kc-succ-actions.kc-actions-single { justify-content: center; }
.kc-succ-actions.kc-actions-single .kc-succ-btn { flex: 0 0 auto; min-width: 0; }
.kc-btn-pill { border-radius: 24px; padding: 13px 26px; }
@media (max-width: 560px) {
  .kc-succ { padding: 20px 16px; border-radius: 14px; }
  .kc-succ-info-row { flex-direction: column; gap: 2px; }
  .kc-succ-info-row .lbl { flex: none; }
  .kc-succ-actions { flex-direction: column; }
}

/* ===== Später Termin: tarih/saat select'leri MODERN (select2 v3 eski css -> modern) ===== */
/* order-time-group düzeni: gün üstte tam genişlik, saat altında */
.checkout_page .kc-time-choose > label { display: block; font-weight: 700; font-size: 13.5px; margin: 4px 0 10px; color: var(--c-text); }
.checkout_page .kc-time-choose .order-time-group { display: flex; flex-wrap: wrap; gap: 12px; margin: 0; }
.checkout_page .kc-time-choose .order-later { flex: 1 1 100%; min-width: 0; padding: 0; float: none; }
.checkout_page .kc-time-choose .order-later.time-input-addon { flex: 1 1 100%; }
.checkout_page .kc-time-choose .input-group { display: flex; align-items: stretch; border: 1.5px solid var(--c-line, #e5e7eb); border-radius: 12px; overflow: visible; background: #fff; width: 100%; }
.checkout_page .kc-time-choose .input-group-addon { display: flex; align-items: center; justify-content: center; min-width: 44px; background: #f8fafc; border: 0; border-right: 1px solid var(--c-line, #e5e7eb); color: var(--c-primary); font-size: 16px; }
.checkout_page .kc-time-choose .input-group .form-control { border: 0; box-shadow: none; height: 44px; }
/* select2 v3 kapali kutu (choice) */
.checkout_page .kc-time-choose .select2-container { flex: 1 1 0; min-width: 0; }
.checkout_page .kc-time-choose .select2-container .select2-choice { height: 44px; line-height: 44px; border: 0; border-radius: 0; background: #fff; box-shadow: none; color: var(--c-text); padding: 0 12px; }
.checkout_page .kc-time-choose .select2-container .select2-choice .select2-arrow { border: 0; background: transparent; width: 26px; }
.checkout_page .kc-time-choose .select2-container .select2-choice .select2-arrow b { background-position: 0 4px; }
/* select2 v3 acilir dropdown (body'ye eklenir -> global, turuncu highlight -> primary) */
.select2-drop { border: 1.5px solid var(--c-line, #e5e7eb) !important; border-top-color: var(--c-line, #e5e7eb) !important; border-radius: 12px !important; box-shadow: 0 12px 32px rgba(0,0,0,.14) !important; overflow: hidden !important; margin-top: 4px; padding: 4px; }
.select2-drop-active { border-color: var(--c-line, #e5e7eb) !important; }
.select2-drop.select2-drop-above { margin-top: 0; margin-bottom: 4px; }
.select2-search { padding: 4px 4px 6px; }
.select2-search input { border: 1.5px solid var(--c-line, #e5e7eb) !important; border-radius: 8px !important; }
.select2-results { padding: 0 !important; margin: 0 !important; }
.select2-results .select2-result-label { padding: 10px 12px !important; border-radius: 8px; font-size: 14px; }
.select2-results .select2-highlighted { background: var(--c-primary) !important; color: #fff !important; border-radius: 8px; }
.select2-results .select2-highlighted .select2-result-label { color: #fff !important; }
/* Saat satiri: ikon + saat + dakika TEK kutu (tarih satiri gibi) */
.checkout_page .kc-time-choose .time-input-addon .input-group { display: flex; align-items: stretch; }
.checkout_page .kc-time-choose .time-input-addon .select2-container { flex: 1 1 0; min-width: 0; }
/* select2 v3: gizli (.hide) dakika select'inin container'ini da gizle (kardes container) */
.checkout_page .kc-time-choose select.minutes.hide + .select2-container { display: none !important; }
/* saat ile dakika arasi ince ayrac */
.checkout_page .kc-time-choose .time-input-addon .select2-container ~ .select2-container:not([style*="display: none"]) .select2-choice { border-left: 1px solid var(--c-line, #e5e7eb); }

/* MODERN toast (info-popup benzeri beyaz kart, 3sn otomatik, ust-orta) */
.k4y-toast { position: fixed; top: 78px; left: 50%; transform: translateX(-50%) translateY(-14px); z-index: 3000; background: #fff; color: var(--c-text, #1a1a1a); padding: 14px 20px; border-radius: 14px; font-weight: 600; font-size: 15px; box-shadow: 0 12px 36px rgba(0,0,0,.16); border: 1px solid var(--c-line, #e5e7eb); border-left: 4px solid var(--c-success, #2e7d32); opacity: 0; transition: opacity .35s ease, transform .35s ease; pointer-events: none; max-width: 92vw; display: flex; align-items: center; gap: 10px; }
.k4y-toast::before { content: "\f058"; font-family: FontAwesome; color: var(--c-success, #2e7d32); font-size: 18px; flex: 0 0 auto; }
.k4y-toast.show { opacity: 1; transform: translateX(-50%) translateY(0); }
.k4y-toast-error { border-left-color: var(--c-danger, #d9534f); }
.k4y-toast-error::before { content: "\f057"; color: var(--c-danger, #d9534f); }
@media (max-width: 575px) { .k4y-toast { top: 70px; font-size: 14px; padding: 12px 16px; max-width: 94vw; } }

/* ========================================================================== */
/* HESAP (account) modern layout — Flutter/Lieferando tarzi (tum account sayfalari ortak) */
/* ========================================================================== */
.kc-acc-page { min-height: 72vh; }   /* zemin YOK -> body'nin tema kremi gorunur (diger sayfalarla ayni) */
.kc-acc-wrap { max-width: 760px; margin: 0 auto; padding: 0 16px 48px; }
.kc-acc-title { font-size: 26px; font-weight: 800; margin: 22px 4px 4px; color: var(--c-text, #1a1d21); }
.kc-acc-sub { color: var(--c-muted, #6b7280); font-size: 14px; margin: 0 4px 18px; }
/* geri butonu (baslikla ayni satir) */
.kc-acc-head { display: flex; align-items: center; gap: 12px; margin: 20px 0 4px; }
.kc-acc-back { width: 40px; height: 40px; border-radius: 12px; border: 1px solid var(--c-line, #e8eaed); background: #fff; display: flex; align-items: center; justify-content: center; font-size: 17px; color: var(--c-text, #1a1d21); text-decoration: none; flex: 0 0 auto; }
.kc-acc-head .kc-acc-title { margin: 0; font-size: 24px; }
/* selam karti */
.kc-acc-greet { background: linear-gradient(135deg, var(--c-primary, #428bca), var(--c-primary-hover, #3071a9)); color: #fff; border-radius: 20px; padding: 20px 22px; display: flex; align-items: center; gap: 16px; box-shadow: 0 10px 30px rgba(0,0,0,.14); margin-bottom: 16px; }
.kc-acc-greet .av { width: 56px; height: 56px; border-radius: 50%; background: rgba(255,255,255,.2); display: flex; align-items: center; justify-content: center; font-size: 26px; flex: 0 0 auto; }
.kc-acc-greet .g-name { font-size: 20px; font-weight: 800; line-height: 1.2; }
.kc-acc-greet .g-mail { opacity: .85; font-size: 13px; margin-top: 2px; word-break: break-all; }
.kc-acc-greet .g-pts { margin-left: auto; text-align: center; background: rgba(255,255,255,.15); border-radius: 14px; padding: 10px 14px; flex: 0 0 auto; }
.kc-acc-greet .g-pts .n { font-size: 22px; font-weight: 800; line-height: 1; }
.kc-acc-greet .g-pts .l { font-size: 11px; opacity: .85; margin-top: 3px; }
/* bolum basligi */
.kc-acc-sec { font-size: 13px; font-weight: 700; color: var(--c-muted, #6b7280); text-transform: uppercase; letter-spacing: .04em; margin: 20px 6px 8px; }
/* kart */
.kc-acc-card { background: #fff; border: 1px solid var(--c-line, #e8eaed); border-radius: 18px; overflow: hidden; margin-bottom: 16px; }
.kc-acc-chead { display: flex; align-items: center; justify-content: space-between; padding: 14px 18px; border-bottom: 1px solid var(--c-line, #e8eaed); }
.kc-acc-chead .h { font-weight: 700; }
.kc-acc-chead a { color: var(--c-primary, #2b7cff); font-size: 13px; font-weight: 600; text-decoration: none; }
/* menu satiri */
.kc-acc-row { display: flex; align-items: center; gap: 14px; padding: 15px 18px; cursor: pointer; border-bottom: 1px solid var(--c-line, #e8eaed); text-decoration: none; color: var(--c-text, #1a1d21); }
.kc-acc-row:last-child { border-bottom: none; }
.kc-acc-row:hover { background: #fafbfc; }
.kc-acc-row .ic { width: 40px; height: 40px; border-radius: 12px; background: #eef4ff; background: color-mix(in srgb, var(--c-primary) 12%, #fff); color: var(--c-primary, #2b7cff); display: flex; align-items: center; justify-content: center; font-size: 17px; flex: 0 0 auto; }
.kc-acc-row .tx { flex: 1; min-width: 0; }
.kc-acc-row .tx .t { font-weight: 600; font-size: 15.5px; }
.kc-acc-row .tx .d { font-size: 12.5px; color: var(--c-muted, #6b7280); margin-top: 1px; }
.kc-acc-row .badge { background: var(--c-danger, #e5484d); color: #fff; font-size: 11px; font-weight: 700; border-radius: 999px; min-width: 20px; height: 20px; padding: 0 6px; display: flex; align-items: center; justify-content: center; }
.kc-acc-row .chev { color: #c2c7ce; font-size: 15px; }
.kc-acc-row.danger .ic { background: #fdecec; background: color-mix(in srgb, var(--c-danger) 12%, #fff); color: var(--c-danger, #e5484d); }
.kc-acc-row.danger .t { color: var(--c-danger, #e5484d); }
.kc-acc-logout { justify-content: center; gap: 10px; }
.kc-acc-logout .tx { flex: 0 0 auto; }
.kc-acc-logout .ic { width: 34px; height: 34px; font-size: 15px; }
/* siparis/liste satiri */
.kc-acc-orow { display: flex; align-items: center; gap: 14px; padding: 14px 18px; border-bottom: 1px solid var(--c-line, #e8eaed); text-decoration: none; color: var(--c-text, #1a1d21); }
.kc-acc-orow:last-child { border-bottom: none; }
.kc-acc-orow:hover { background: #fafbfc; }
.kc-acc-orow .oic { width: 40px; height: 40px; border-radius: 12px; background: #eef4ff; background: color-mix(in srgb, var(--c-primary) 12%, #fff); color: var(--c-primary, #2b7cff); display: flex; align-items: center; justify-content: center; font-size: 16px; flex: 0 0 auto; }
.kc-acc-orow .oinfo { flex: 1; min-width: 0; }
.kc-acc-orow .oinfo .on { font-weight: 700; font-size: 14.5px; }
.kc-acc-orow .oinfo .od { font-size: 12.5px; color: var(--c-muted, #6b7280); margin-top: 2px; }
.kc-acc-st { font-size: 12px; font-weight: 700; padding: 4px 10px; border-radius: 999px; background: #eef2f6; color: #4b5563; white-space: nowrap; }
.kc-acc-st.ok { background: #e7f6ee; background: color-mix(in srgb, var(--c-success) 15%, #fff); color: var(--c-success, #22a06b); }
.kc-acc-st.pend { background: #fff4e5; background: color-mix(in srgb, var(--c-warning) 20%, #fff); color: #b7791f; }
.kc-acc-empty { padding: 24px 18px; text-align: center; color: var(--c-muted, #6b7280); font-size: 14px; }
.kc-acc-pager { text-align: center; margin: 14px 0 4px; }
.kc-acc-pager .pagination { display: inline-flex; gap: 5px; padding-left: 0; margin: 0; list-style: none; }
.kc-acc-pager .pagination li { display: inline-block; }
.kc-acc-pager .pagination a, .kc-acc-pager .pagination span, .kc-acc-pager .pagination strong, .kc-acc-pager .pagination b { display: inline-flex; align-items: center; justify-content: center; min-width: 36px; height: 36px; padding: 0 9px; border: 1px solid var(--c-line, #e8eaed); border-radius: 9px; color: var(--c-primary, #428bca); text-decoration: none; font-weight: 600; background: #fff; }
.kc-acc-pager .pagination a:hover { background: #fafbfc; }
.kc-acc-pager .pagination .active a, .kc-acc-pager .pagination .active span, .kc-acc-pager .pagination strong, .kc-acc-pager .pagination b { background: var(--c-primary, #428bca); border-color: var(--c-primary, #428bca); color: #fff; }
/* "Neue ... hinzufügen" butonu */
.kc-acc-addbtn, .kc-acc-addbtn:visited, .kc-acc-addbtn:active, .kc-acc-addbtn:focus { display: flex; align-items: center; justify-content: center; gap: 8px; background: var(--c-primary, #428bca); color: #fff; border-radius: 14px; padding: 13px; font-weight: 700; font-size: 14.5px; text-decoration: none; margin-bottom: 16px; }
.kc-acc-addbtn:hover { background: var(--c-primary-hover, #3071a9); color: #fff; }
/* adres/liste satiri (edit/delete aksiyonlu) */
.kc-acc-arow { display: flex; align-items: flex-start; gap: 14px; padding: 16px 18px; border-bottom: 1px solid var(--c-line, #e8eaed); }
.kc-acc-arow:last-child { border-bottom: none; }
.kc-acc-arow .ic { width: 40px; height: 40px; border-radius: 12px; background: #eef4ff; background: color-mix(in srgb, var(--c-primary) 12%, #fff); color: var(--c-primary, #428bca); display: flex; align-items: center; justify-content: center; font-size: 17px; flex: 0 0 auto; }
.kc-acc-arow .atx { flex: 1; font-size: 14.5px; line-height: 1.5; color: var(--c-text, #1a1d21); min-width: 0; }
.kc-acc-defbadge { display: inline-block; background: #e7f6ee; background: color-mix(in srgb, var(--c-success) 15%, #fff); color: var(--c-success, #22a06b); font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 999px; margin-left: 4px; }
.kc-acc-arow .aact { display: flex; gap: 8px; flex: 0 0 auto; }
.kc-acc-iconbtn { width: 36px; height: 36px; border-radius: 10px; border: 1px solid var(--c-line, #e8eaed); background: #fff; color: var(--c-muted, #6b7280); display: flex; align-items: center; justify-content: center; font-size: 15px; text-decoration: none; }
.kc-acc-iconbtn:hover { background: #fafbfc; color: var(--c-text, #1a1d21); }
.kc-acc-iconbtn.danger:hover { border-color: var(--c-danger, #e5484d); color: var(--c-danger, #e5484d); }
/* form */
.kc-acc-formcard { padding: 20px 18px; }
.kc-acc-field { margin-bottom: 16px; }
.kc-acc-field > label { display: block; font-size: 13px; font-weight: 700; color: var(--c-muted, #6b7280); margin-bottom: 6px; }
.kc-acc-field input, .kc-acc-field select, .kc-acc-field textarea { width: 100%; border: 1px solid var(--c-line, #e8eaed); border-radius: 12px; padding: 12px 14px; font-size: 15px; font-family: inherit; color: var(--c-text, #1a1d21); background: #fff; -webkit-appearance: none; appearance: none; }
.kc-acc-field input:focus, .kc-acc-field select:focus, .kc-acc-field textarea:focus { outline: none; border-color: var(--c-primary, #428bca); box-shadow: 0 0 0 3px rgba(66,139,202,.12); }
.kc-acc-field input:disabled { background: #f6f7f9; color: var(--c-muted, #6b7280); }
.kc-acc-field select { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M6 8.5L1.5 4h9z'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; padding-right: 38px; }
.kc-acc-field .hint { font-size: 12px; color: var(--c-muted, #6b7280); margin-top: 5px; }
.kc-acc-row2 { display: flex; gap: 12px; }
.kc-acc-row2 .kc-acc-field { flex: 1; min-width: 0; }
.kc-acc-submit { width: 100%; background: var(--c-primary, #428bca); color: #fff; border: none; border-radius: 14px; padding: 14px; font-weight: 700; font-size: 15.5px; cursor: pointer; margin-top: 4px; }
.kc-acc-submit:hover { background: var(--c-primary-hover, #3071a9); }
.kc-acc-formsec { font-size: 13px; font-weight: 700; color: var(--c-muted, #6b7280); text-transform: uppercase; letter-spacing: .04em; margin: 4px 0 12px; }
.kc-acc-check { display: flex; align-items: center; gap: 10px; cursor: pointer; font-size: 14.5px; color: var(--c-text, #1a1d21); margin-bottom: 4px; }
.kc-acc-check input { width: 20px; height: 20px; flex: 0 0 auto; accent-color: var(--c-primary, #428bca); }
/* Treuepunkte guthaben karti (altin) */
.kc-acc-ptcard { background: linear-gradient(135deg, var(--c-primary, #428bca), var(--c-primary-hover, #3071a9)); color: #fff; border-radius: 20px; padding: 22px; display: flex; align-items: center; gap: 18px; box-shadow: 0 10px 30px rgba(0,0,0,.14); margin-bottom: 8px; }
.kc-acc-ptcard .pt-ic { width: 56px; height: 56px; border-radius: 50%; background: rgba(255,255,255,.22); display: flex; align-items: center; justify-content: center; font-size: 26px; flex: 0 0 auto; }
.kc-acc-ptcard .pt-n { font-size: 32px; font-weight: 800; line-height: 1; }
.kc-acc-ptcard .pt-l { font-size: 13px; opacity: .9; margin-top: 4px; }
.kc-acc-st.plus { background: #eef4ff; background: color-mix(in srgb, var(--c-primary) 12%, #fff); color: var(--c-primary, #428bca); }
/* Bewertung yildizlari (liste) */
.kc-acc-revstars { display: flex; align-items: center; gap: 8px; margin-top: 6px; flex-wrap: wrap; }
.kc-acc-revlbl { font-size: 12px; color: var(--c-muted, #6b7280); min-width: 54px; }
.kc-acc-revstars .rating-star { display: inline-block; }
/* mesaj (inbox) satiri okunmamis vurgusu */
.kc-acc-orow.unread .on::after { content: ""; display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--c-primary, #428bca); margin-left: 8px; vertical-align: middle; }
.kc-acc-orow.unread .on { font-weight: 800; }
/* detay satiri (review_view / reservations_view / inbox_view) */
.kc-acc-drow { display: flex; justify-content: space-between; gap: 12px; padding: 13px 18px; border-bottom: 1px solid var(--c-line, #e8eaed); font-size: 14.5px; }
.kc-acc-drow:last-child { border-bottom: none; }
.kc-acc-drow .dl { color: var(--c-muted, #6b7280); font-weight: 600; flex: 0 0 auto; }
.kc-acc-drow .dv { color: var(--c-text, #1a1d21); text-align: right; font-weight: 600; min-width: 0; }
.kc-acc-detbody { padding: 16px 18px; font-size: 14.5px; line-height: 1.6; color: var(--c-text, #1a1d21); }
.kc-acc-msgimg { padding: 14px 18px 0; }
.kc-acc-msgimg img { width: 100%; border-radius: 12px; display: block; }
.kc-acc-revtext { margin: 14px 18px 18px; padding: 14px; background: #f6f7f9; border-radius: 12px; font-size: 14.5px; line-height: 1.55; color: var(--c-text, #1a1d21); }
.kc-acc-revblock { padding: 16px 18px; border-bottom: 1px solid var(--c-line, #e8eaed); }
.kc-acc-revblock .kc-acc-revstars { margin-top: 0; }
.kc-acc-time { font-size: 12px; color: var(--c-muted, #6b7280); white-space: nowrap; flex: 0 0 auto; align-self: flex-start; }
.kc-acc-delbtn { display: inline-flex; align-items: center; gap: 8px; border: 1px solid var(--c-danger, #e5484d); color: var(--c-danger, #e5484d); background: #fff; border-radius: 12px; padding: 11px 18px; font-weight: 700; font-size: 14px; text-decoration: none; margin-top: 16px; }
.kc-acc-delbtn:hover { background: #fdecec; background: color-mix(in srgb, var(--c-danger) 12%, #fff); color: var(--c-danger, #e5484d); }

/* ===== ADRESSBUCH (checkout, login) dropdown ===== */
.kc-addrbook { position: relative; margin: 4px 0 16px; }
.kc-addrbook-toggle { display: flex; align-items: center; gap: 10px; width: 100%; background: #fff; border: 1px solid var(--c-line, #e8eaed); border-radius: 14px; padding: 13px 16px; font-size: 14.5px; font-weight: 600; color: var(--c-text, #1a1d21); cursor: pointer; text-align: left; }
.kc-addrbook-toggle:hover { border-color: var(--c-primary, #428bca); }
.kc-addrbook-ic { color: var(--c-primary, #428bca); font-size: 16px; flex: 0 0 auto; }
#kcAddrBookLabel { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.kc-addrbook-caret { margin-left: auto; color: var(--c-muted, #6b7280); font-size: 13px; flex: 0 0 auto; }
.kc-addrbook-menu { display: none; position: absolute; top: calc(100% + 6px); left: 0; right: 0; z-index: 30; background: #fff; border: 1px solid var(--c-line, #e8eaed); border-radius: 14px; box-shadow: 0 14px 40px rgba(0,0,0,.18); overflow: hidden; }
.kc-addrbook-menu.open { display: block; }
.kc-addrbook-item { display: flex; align-items: center; gap: 10px; padding: 13px 16px; text-decoration: none; color: var(--c-text, #1a1d21); font-size: 14px; border-bottom: 1px solid var(--c-line, #e8eaed); cursor: pointer; line-height: 1.4; }
.kc-addrbook-item:last-child { border-bottom: none; }
.kc-addrbook-item:hover { background: #fafbfc; }
.kc-addrbook-item.is-sel { background: #eef4ff; background: color-mix(in srgb, var(--c-primary) 9%, #fff); }
.kc-addrbook-item i { color: var(--c-primary, #428bca); flex: 0 0 auto; }
.kc-addrbook-new { color: var(--c-primary, #428bca); font-weight: 600; }

/* ===== Bestellungen listesi — Lieferando karti (bilgi+fiyat ust, reorder+bewertung alt) ===== */
.kc-acc-ocard { background: #fff; border: 1px solid var(--c-line, #e8eaed); border-radius: 18px; overflow: hidden; margin-bottom: 12px; }
.kc-acc-ocard-top { display: flex; align-items: center; gap: 14px; padding: 15px 18px; text-decoration: none; color: var(--c-text, #1a1d21); }
.kc-acc-ocard-top:hover { background: #fafbfc; }
.kc-acc-ocard-top .oic { width: 40px; height: 40px; border-radius: 12px; background: #eef4ff; background: color-mix(in srgb, var(--c-primary) 12%, #fff); color: var(--c-primary, #428bca); display: flex; align-items: center; justify-content: center; font-size: 16px; flex: 0 0 auto; }
.kc-acc-ocard-top .oinfo { flex: 1; min-width: 0; }
.kc-acc-ocard-top .oinfo .on { font-weight: 700; font-size: 15px; }
.kc-acc-ocard-top .oinfo .od { font-size: 12.5px; color: var(--c-muted, #6b7280); margin-top: 2px; }
.kc-acc-ocard-top .opr { font-weight: 800; font-size: 15px; white-space: nowrap; color: var(--c-text, #1a1d21); }
.kc-acc-ocard-bottom { display: flex; align-items: center; justify-content: center; gap: 20px; padding: 11px 18px; border-top: 1px solid var(--c-line, #e8eaed); background: #fafbfc; }
.kc-acc-o-reorder, .kc-acc-o-reorder:visited, .kc-acc-o-reorder:active { display: inline-flex; align-items: center; gap: 8px; background: var(--c-primary, #428bca); color: #fff; border-radius: 11px; padding: 9px 16px; font-weight: 700; font-size: 13.5px; text-decoration: none; }
.kc-acc-o-reorder:hover { background: var(--c-primary-hover, #3071a9); color: #fff; }
.kc-acc-o-stars .rating-star { font-size: 16px; }
.kc-acc-o-stars .rating-star img { width: 18px !important; height: 18px !important; }
/* dar ekran: dikey — once "Noch einmal bestellen" (ust), altinda bewertung yildizlari, ortada */
@media (max-width: 480px) {
    .kc-acc-ocard-bottom { flex-direction: column; gap: 10px; }
    .kc-acc-o-reorder { white-space: nowrap; }
}

/* ===== Konto schließen (hesap silme) modal ===== */
.kc-konto-linkwrap { text-align: center; margin-top: 14px; }
.kc-konto-link { color: var(--c-danger, #d9534f); font-size: 14px; font-weight: 600; cursor: pointer; text-decoration: underline; display: inline-flex; align-items: center; gap: 7px; }
.kc-konto-modal { position: fixed; inset: 0; z-index: 3200; display: none; }
.kc-konto-modal.open { display: block; }
.kc-konto-backdrop { position: absolute; inset: 0; background: rgba(0,0,0,.5); }
.kc-konto-box { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); width: 92%; max-width: 440px; background: #fff; border-radius: 18px; padding: 26px 24px; box-shadow: 0 20px 60px rgba(0,0,0,.3); }
.kc-konto-title { font-size: 20px; font-weight: 800; margin: 0 0 14px; color: var(--c-text, #1a1d21); }
.kc-konto-text { font-size: 14px; line-height: 1.55; color: var(--c-text, #1a1d21); margin: 0 0 12px; }
.kc-konto-confirm { width: 100%; background: var(--c-danger, #d9534f); color: #fff; border: none; border-radius: 12px; padding: 14px; font-weight: 700; font-size: 15px; cursor: pointer; margin-top: 6px; }
.kc-konto-confirm:hover { filter: brightness(.94); }
.kc-konto-cancel { width: 100%; background: #f0f1f3; color: var(--c-text, #1a1d21); border: none; border-radius: 12px; padding: 14px; font-weight: 700; font-size: 15px; cursor: pointer; margin-top: 10px; }
.kc-konto-cancel:hover { background: #e6e8eb; }

/* MODERN: bilgi sayfalari (Impressum/AGB/...) hero ARKAPLAN GORSELI kaldir (gereksiz yukleme -> sayfa hizlanir); baslik duz kalir */
#heading { background: transparent !important; background-image: none !important; height: auto !important; min-height: 0 !important; padding: 22px 0 4px !important; box-shadow: none !important; }
#heading::before, #heading::after { display: none !important; }
#heading h2 { color: var(--c-text, #1a1d21) !important; font-size: 24px !important; font-weight: 800 !important; text-shadow: none !important; }

/* ===== Login popup (loginModal) modern ===== */
#loginModal .modal-content { border-radius: 18px; border: none; box-shadow: 0 20px 60px rgba(0,0,0,.25); }
#loginModal .modal-header { border-bottom: 1px solid var(--c-line, #e8eaed); padding: 18px 20px; background: unset; }
#loginModal .modal-title { font-weight: 800; font-size: 19px; color: var(--c-text, #1a1d21); }
#loginModal .modal-body { padding: 20px; }
.kc-login-form .kc-acc-field { margin-bottom: 14px; }
.kc-login-links { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 16px; }
.kc-login-forgot { color: var(--c-primary, #428bca); font-size: 14px; font-weight: 600; text-decoration: none; }
.kc-login-forgot:hover { text-decoration: underline; }
.kc-login-register, .kc-login-register:visited { border: 1px solid var(--c-line, #e8eaed); border-radius: 12px; padding: 11px 22px; color: var(--c-text, #1a1d21); font-weight: 700; font-size: 14px; text-decoration: none; }
.kc-login-register:hover { background: #fafbfc; color: var(--c-text, #1a1d21); }

/* ============================== INFO / STARTSEITE (Startmodus = info) ============================== */
/* Renkler tema'dan: var(--c-primary...). Iconlar tema SVG (bike/run) + fa. Treuepunkte ALTIN (hesap Punkte ile tutarli). */
.kc-info-wrap { max-width: 1100px; margin: 0 auto; padding: 0 20px; }
.kc-info-hero { position: relative; background: linear-gradient(135deg, #2b3a55, #1a2233); color: #fff; overflow: hidden; min-height: 460px; display: flex; align-items: center; }
.kc-info-hero-bg { position: absolute; inset: 0; background-size: cover; background-position: center; opacity: .30; }
.kc-info-hero-in { position: relative; max-width: 900px; width: 100%; margin: 0 auto; padding: 62px 20px; text-align: center; }
.kc-info-logo { width: 92px; height: 92px; border-radius: 22px; background: #fff; margin: 0 auto 18px; display: flex; align-items: center; justify-content: center; overflow: hidden; box-shadow: 0 8px 30px rgba(0,0,0,.25); }
.kc-info-logo img { width: 100%; height: 100%; object-fit: cover; }
.kc-info-title { font-size: 38px; font-weight: 800; margin-bottom: 10px; }
.kc-info-sub { font-size: 17px; opacity: .92; margin: 0 auto 24px; max-width: 540px; line-height: 1.5; }
.kc-info-meta { display: flex; gap: 18px; justify-content: center; flex-wrap: wrap; margin-bottom: 26px; font-size: 14px; opacity: .92; }
.kc-info-meta span { display: inline-flex; align-items: center; gap: 6px; }
.kc-info-svg { width: 16px; height: 16px; fill: currentColor; vertical-align: middle; }
.kc-info-actions { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
.kc-info-btn { display: inline-flex; align-items: center; gap: 8px; background: var(--c-primary, #428bca); color: #fff; font-weight: 700; font-size: 15.5px; padding: 14px 26px; border-radius: 14px; text-decoration: none; }
.kc-info-btn:hover { background: var(--c-primary-hover, #3071a9); color: #fff; }
.kc-info-btn .kc-info-svg { width: 18px; height: 18px; }
.kc-info-btn.ghost { background: transparent; border: 2px solid rgba(255,255,255,.7); color: #fff; padding: 12px 24px; }
.kc-info-btn.ghost:hover { background: rgba(255,255,255,.15); color: #fff; }
.kc-info-sec { padding: 60px 0; }
.kc-info-alt { background: var(--c-bg, #f4f5f7); }
.kc-info-h2 { text-align: center; font-size: 27px; font-weight: 800; margin-bottom: 8px; color: var(--c-text, #1a1d21); }
.kc-info-lead { text-align: center; color: var(--c-muted, #6b7280); font-size: 15.5px; margin-bottom: 38px; }
.kc-info-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.kc-info-step { background: #fff; border: 1px solid var(--c-line, #e8eaed); border-radius: 18px; padding: 30px 24px; text-align: center; }
.kc-info-num { width: 44px; height: 44px; border-radius: 50%; background: var(--c-primary, #428bca); color: #fff; font-weight: 800; font-size: 18px; display: flex; align-items: center; justify-content: center; margin: 0 auto 14px; }
.kc-info-stic { font-size: 32px; color: var(--c-primary, #428bca); margin-bottom: 12px; }
.kc-info-step h3 { font-size: 18px; font-weight: 700; margin-bottom: 8px; color: var(--c-text, #1a1d21); }
.kc-info-step p { color: var(--c-muted, #6b7280); font-size: 14.5px; line-height: 1.55; }
.kc-info-app { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; }
.kc-info-phone { justify-self: center; width: 240px; height: 490px; border: 10px solid var(--c-text, #1a1d21); border-radius: 42px; background: #fff; overflow: hidden; box-shadow: 0 20px 50px rgba(0,0,0,.18); position: relative; }
.kc-info-notch { position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: 120px; height: 22px; background: var(--c-text, #1a1d21); border-radius: 0 0 16px 16px; z-index: 2; }
.kc-info-phone img { width: 100%; height: 100%; object-fit: cover; }
.kc-info-apptxt p { color: var(--c-muted, #6b7280); font-size: 16px; line-height: 1.6; margin-bottom: 24px; }
.kc-info-badges { display: flex; gap: 14px; flex-wrap: wrap; }
.kc-info-badges img { height: 50px; }
.kc-info-pts { background: linear-gradient(135deg, #f7c948, #f0b429); border-radius: 24px; padding: 46px 34px; text-align: center; color: #3a2f00; }
.kc-info-pts .kc-info-ptic { font-size: 50px; margin-bottom: 12px; color: #3a2f00; }
.kc-info-pts h2 { font-size: 27px; font-weight: 800; color: #3a2f00; margin-bottom: 10px; }
.kc-info-pts p { color: #5c4a00; font-size: 16px; max-width: 560px; margin: 0 auto; line-height: 1.6; }
.kc-info-custom { font-size: 15.5px; line-height: 1.7; color: var(--c-text, #1a1d21); }
.kc-info-custom img { max-width: 100%; height: auto; }
@media (max-width: 820px) {
  .kc-info-steps { grid-template-columns: 1fr; }
  .kc-info-app { grid-template-columns: 1fr; gap: 28px; }
  .kc-info-apptxt h2 { text-align: center !important; }
  .kc-info-badges { justify-content: center; }
  .kc-info-title { font-size: 30px; }
}

/* SEO: gorsel gizli ama ekran-okuyucu + Google okur (H1 keyword genisletme vs) */
.sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

/* Lieferzeit dakika (.minutes) NATIVE (select2 disi tutuldu -> saat degisince gorunur kaliyor) -> saat select2 gorunumune BENZET + hizala */
.checkout_page .kc-time-choose .input-group select.minutes {
    flex: 1 1 0; min-width: 0; height: 44px; line-height: 44px; align-self: center; box-sizing: border-box; margin: 0; border: 0; box-shadow: none; outline: none;
    padding: 0 24px; text-align: center; text-align-last: center; background-color: #fff; color: var(--c-text, #1a1d21); font-size: 14px; font-family: inherit;
    -webkit-appearance: none; -moz-appearance: none; appearance: none; vertical-align: middle; cursor: pointer;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path fill='%23888888' d='M0 0l5 6 5-6z'/></svg>");
    background-repeat: no-repeat; background-position: right 14px center;
}
.checkout_page .kc-time-choose .input-group select.minutes::-ms-expand { display: none; }

/* success: "Gewünschte Lieferzeit ... (noch nicht bestätigt)" -> kucuk soluk not */
.kc-succ-unconfirmed { font-size: 12px; color: var(--c-muted, #8a9099); font-weight: 400; }
