/*
 * Gece — RestoLand QR menü teması (Tema SDK v1, çekirdek v1.1 gerektirir)
 * Koyu, sakin, premium. Metin öncelikli menü listesi.
 * © CodRon. Tüm hakları saklıdır.
 *
 * Renkler çekirdeğin $sdk->head() çıktısındaki --rl-<ayar> değişkenlerinden gelir.
 * Burada yalnız güvenli varsayılanlar ve türetilmiş tonlar tanımlanır.
 */

/* ---------- 1. Değişkenler ---------- */
:root {
  /* Ayar varsayılanları (çekirdek aynı adlarla üzerine yazar) */
  --g-bg: var(--rl-background, #0d1017);
  --g-surface: var(--rl-surface, #161b25);
  --g-text: var(--rl-text, #ede6d6);
  --g-accent: var(--rl-accent, #c9a96e);

  /* Türetilmiş tonlar (eski tarayıcılar için önce sabit değer) */
  --g-muted: #b3ab9b;
  --g-muted: color-mix(in srgb, var(--g-text) 74%, var(--g-bg));
  --g-faint: #8a8476;
  --g-faint: color-mix(in srgb, var(--g-text) 58%, var(--g-bg));
  --g-line: #2a2f39;
  --g-line: color-mix(in srgb, var(--g-text) 16%, var(--g-bg));
  --g-line-accent: #6a5a3c;
  --g-line-accent: color-mix(in srgb, var(--g-accent) 50%, var(--g-bg));
  --g-dots: #5b5141;
  --g-dots: color-mix(in srgb, var(--g-accent) 46%, var(--g-bg));
  --g-surface-2: #1d2330;
  --g-surface-2: color-mix(in srgb, var(--g-surface) 82%, var(--g-text));
  --g-on-accent: #14110b;

  /* Yazı tipleri — yalnız sistem fontları, uzak font yok */
  --g-serif: "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", "URW Palladio L", P052, "Noto Serif", Georgia, "Times New Roman", serif;
  --g-sans: system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", "Helvetica Neue", Arial, sans-serif;
  --g-display: var(--g-serif);
  --g-body: var(--g-serif);

  --g-maxw: 46rem;
  --g-gutter: clamp(1rem, 4.5vw, 2rem);
  --g-radius: 2px;
  --g-ease: cubic-bezier(.2, .7, .2, 1);

  /* Çekirdek arayüz (public/sdk/menu.css: sepet, çekmeceler, Ekle) bu değişkenleri
     kullanır. theme.css çekirdek CSS'ten sonra yüklenir; ayar değerleri en son gelir. */
  --rl-primary: var(--g-accent);
  --rl-on-primary: var(--g-on-accent);
  --rl-muted: var(--g-muted);
  --rl-border: var(--g-line);
  --rl-radius: 4px;
  /* v1.1: koyu zeminde seçilebilen çekmece kontrolleri (≥ 3:1), altın odak çizgisi, biber rengi */
  --rl-control-border: var(--g-line-accent);
  --rl-focus-ring: var(--g-accent);
  --rl-spice: #e7a07e;
  /* Yapışkan sekmeler: çekirdek [data-rl-sticky] yüksekliğini ölçüp <html>'e yazar; bu yalnız JS öncesi yedek. */
  --rl-sticky-offset: 3.125rem;
  /* Sepet çubuğu: menü sütunu boşluğunda, güvenli alanın .75rem üstünde */
  --rl-cartbar-inset-inline: var(--g-gutter);
  --rl-cartbar-bottom: calc(.75rem + env(safe-area-inset-bottom, 0px));

  color-scheme: dark;
}

body.gece--sans {
  --g-display: var(--g-sans);
  --g-body: var(--g-sans);
}

/* Çekirdek çekmeceler tema yazı tipini kullansın (gövde sınıfına göre).
   Not: --rl-font, "font" ayarının değeridir (serif/sans); yazı ailesi --rl-font-family'dir. */
body.gece { --rl-font-family: var(--g-body); }

/* ---------- 2. Temel ---------- */
*,
*::before,
*::after { box-sizing: border-box; }

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  background: var(--g-bg);
}

body.gece {
  margin: 0;
  min-height: 100vh;
  background: var(--g-bg);
  /* çok hafif, statik derinlik; görsel yok */
  background-image: radial-gradient(120% 60% at 50% -10%, color-mix(in srgb, var(--g-accent) 7%, transparent), transparent 60%);
  background-repeat: no-repeat;
  color: var(--g-text);
  font-family: var(--g-body);
  font-size: 1.0625rem;
  line-height: 1.55;
  font-kerning: normal;
  font-variant-numeric: lining-nums proportional-nums;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-wrap: break-word;
}

:where(.gece) img { max-width: 100%; height: auto; display: block; }

:where(.gece) a {
  color: var(--g-accent);
  text-decoration-thickness: 1px;
  text-underline-offset: .2em;
}

:where(.gece) a:hover { color: var(--g-text); }

:where(.gece) :where(h1, h2, h3) {
  font-family: var(--g-display);
  font-weight: 400;
  line-height: 1.2;
  margin: 0;
}

:where(.gece) p { margin: 0; }

:where(.gece) :where(ul, ol) { margin: 0; padding: 0; list-style: none; }

:where(.gece) button { font: inherit; color: inherit; }

/* Odak her zaman görünür */
:where(.gece) :focus { outline: none; }
:where(.gece) :focus-visible {
  outline: 2px solid var(--g-accent);
  outline-offset: 3px;
  border-radius: 2px;
}

.g-sr {
  position: absolute !important;
  width: 1px; height: 1px;
  margin: -1px; padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

.g-skip {
  position: absolute;
  left: .75rem;
  top: -4rem;
  z-index: 100;
  padding: .6rem 1rem;
  background: var(--g-accent);
  color: var(--g-on-accent) !important;
  text-decoration: none;
  font-family: var(--g-sans);
  font-size: .9rem;
}
.g-skip:focus { top: .75rem; }

.g-wrap {
  width: 100%;
  max-width: var(--g-maxw);
  margin-inline: auto;
  padding-inline: var(--g-gutter);
}

/* ---------- 3. Duyuru ---------- */
.g-announce {
  border-bottom: 1px solid var(--g-line);
  background: var(--g-surface);
  color: var(--g-accent);
  text-align: center;
  font-size: .9rem;
  letter-spacing: .02em;
  padding: .55rem var(--g-gutter);
}
.g-announce p { max-width: var(--g-maxw); margin-inline: auto; }

/* ---------- 4. Üst satır: dil ---------- */
.g-topbar {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 1rem;
  padding-top: .9rem;
  min-height: 2.75rem;
}

.g-langs {
  display: flex;
  gap: .15rem;
  font-family: var(--g-sans);
  font-size: .78rem;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.g-langs li + li::before {
  content: "·";
  color: var(--g-faint);
}
.g-langs a {
  display: inline-block;
  min-width: 2.75rem;
  min-height: 2.75rem;
  padding: .75rem .5rem;
  text-align: center;
  color: var(--g-muted);
  text-decoration: none;
}
.g-langs a:hover { color: var(--g-text); }
.g-langs a[aria-current] {
  color: var(--g-accent);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: .35em;
}

/* ---------- 5. Hero ---------- */
.g-hero { padding-block: .5rem 2rem; }

.g-hero__frame {
  position: relative;
  border: 1px solid var(--g-line-accent);
  padding: clamp(2rem, 8vw, 3.25rem) clamp(1.25rem, 6vw, 3rem) clamp(1.75rem, 7vw, 2.75rem);
  text-align: center;
}
/* ince ikinci çerçeve */
.g-hero__frame::before {
  content: "";
  position: absolute;
  inset: 6px;
  border: 1px solid var(--g-line);
  pointer-events: none;
}

.g-hero__logo {
  width: 5.5rem;
  height: 5.5rem;
  margin: 0 auto 1.25rem;
  border-radius: 50%;
  object-fit: cover;
  background: var(--g-surface);
  border: 1px solid var(--g-line-accent);
}

.g-hero__name {
  text-wrap: balance;
  font-size: clamp(2rem, 8.5vw, 3.1rem);
  letter-spacing: .04em;
  line-height: 1.1;
  color: var(--g-text);
}

.g-hero__tagline {
  margin-top: .65rem;
  font-style: italic;
  color: var(--g-muted);
  font-size: 1.05rem;
}

.g-hero__venue {
  margin-top: 1rem;
  font-family: var(--g-sans);
  font-size: .75rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--g-accent);
}

.g-hero__desc {
  text-wrap: pretty;
  max-width: 32rem;
  margin: 1.1rem auto 0;
  color: var(--g-muted);
  font-size: .95rem;
}

/* Süs ayracı: çizgi — elmas — çizgi */
.g-orn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .75rem;
  color: var(--g-accent);
  margin: 1.4rem auto 0;
  max-width: 14rem;
}
.g-orn::before,
.g-orn::after {
  content: "";
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--g-line-accent));
}
.g-orn::after { background: linear-gradient(90deg, var(--g-line-accent), transparent); }
.g-orn i {
  width: 6px;
  height: 6px;
  transform: rotate(45deg);
  border: 1px solid currentColor;
  flex: none;
}

/* ---------- 6. Kategori sekmeleri ---------- */
.g-tabs {
  position: sticky;
  top: 0;
  z-index: 20;
  background: var(--g-bg);
  background: color-mix(in srgb, var(--g-bg) 92%, transparent);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--g-line);
}

.g-tabs__list {
  display: flex;
  gap: 1.5rem;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
  max-width: var(--g-maxw);
  margin-inline: auto;
  padding-inline: var(--g-gutter);
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 var(--g-gutter), #000 calc(100% - var(--g-gutter)), transparent 100%);
  mask-image: linear-gradient(90deg, transparent 0, #000 var(--g-gutter), #000 calc(100% - var(--g-gutter)), transparent 100%);
}
.g-tabs__list::-webkit-scrollbar { display: none; }

.g-tabs__list li { flex: none; }

.g-tabs a {
  position: relative;
  display: block;
  padding: .95rem 0 .85rem;
  color: var(--g-muted);
  text-decoration: none;
  white-space: nowrap;
  max-width: min(78vw, 22rem);
  overflow: hidden;
  text-overflow: ellipsis;
  font-family: var(--g-sans);
  font-size: .8rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  transition: color .2s var(--g-ease);
}
.g-tabs a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 2px;
  background: var(--g-accent);
  transform: scaleX(0);
  transform-origin: 50% 50%;
  transition: transform .25s var(--g-ease);
}
.g-tabs a:hover { color: var(--g-text); }
.g-tabs a:focus-visible { outline-offset: -2px; }

/* Çekirdek JS aktif sekmeyi işaretler (aria-current / is-active / data-rl-active) */
.g-tabs a[aria-current]:not([aria-current="false"]),
.g-tabs a.is-active,
.g-tabs a.active,
.g-tabs a[data-rl-active],
.g-tabs a[aria-selected="true"] {
  color: var(--g-accent);
}
.g-tabs a[aria-current]:not([aria-current="false"])::after,
.g-tabs a.is-active::after,
.g-tabs a.active::after,
.g-tabs a[data-rl-active]::after,
.g-tabs a[aria-selected="true"]::after {
  transform: scaleX(1);
}

/* Menüde ürün yok: çekirdeğin empty_menu metni */
.g-empty {
  margin-top: 3rem;
  padding: 2.5rem 1rem;
  border-block: 1px solid var(--g-line-accent);
  color: var(--g-muted);
  font-family: var(--g-display);
  font-style: italic;
  font-size: 1.1rem;
  text-align: center;
}

/* ---------- 6b. Arama ---------- */
.g-search {
  position: relative;
  margin-top: 1.75rem;
}
.g-search__icon {
  position: absolute;
  left: .1rem;
  top: 50%;
  transform: translateY(-50%);
  color: var(--g-faint);
  pointer-events: none;
}
.g-search__input {
  -webkit-appearance: none;
  appearance: none;
  width: 100%;
  min-height: 2.9rem;
  padding: .55rem .25rem .55rem 2rem;
  border: 0;
  border-bottom: 1px solid var(--g-line);
  border-radius: 0;
  background: transparent;
  color: var(--g-text);
  font: inherit;
  font-size: 1rem;
  transition: border-color .2s var(--g-ease);
}
.g-search__input::placeholder { color: var(--g-faint); font-style: italic; opacity: 1; }
.g-search__input:hover { border-bottom-color: var(--g-line-accent); }
.g-search__input:focus { outline: none; border-bottom-color: var(--g-accent); }
.g-search__input:focus-visible { outline: 2px solid var(--g-accent); outline-offset: 2px; }
.g-search__input::-webkit-search-cancel-button { filter: invert(.7); }
.g-search__empty {
  margin-top: 2rem;
  text-align: center;
  font-style: italic;
  color: var(--g-muted);
}

/* ---------- 7. Bölümler ---------- */
.g-main { padding-bottom: 6.5rem; }

.g-section {
  padding-top: 2.75rem;
  /* Bölüm başı sekme çubuğunun hemen altına iner: çekirdek [data-rl-category] { scroll-margin-top: var(--rl-sticky-offset) }. */
}

.g-section__head {
  text-align: center;
  margin-bottom: 1.6rem;
}

.g-section__kicker {
  display: block;
  font-family: var(--g-sans);
  font-size: .7rem;
  letter-spacing: .26em;
  text-transform: uppercase;
  color: var(--g-accent);
  margin-bottom: .55rem;
}

.g-section__title {
  text-wrap: balance;
  font-size: clamp(1.55rem, 6vw, 2rem);
  letter-spacing: .03em;
  color: var(--g-text);
}

.g-section__desc {
  text-wrap: balance;
  margin: .6rem auto 0;
  max-width: 30rem;
  font-style: italic;
  color: var(--g-muted);
  font-size: .95rem;
}

.g-section__head .g-orn { margin-top: .9rem; max-width: 9rem; }

.g-section__img {
  width: 100%;
  aspect-ratio: 3 / 1;
  object-fit: cover;
  margin-bottom: 1.5rem;
  border: 1px solid var(--g-line);
  filter: saturate(.9);
}

/* Şefin önerileri — çerçeveli kart */
.g-featured {
  padding-top: 2.25rem;
}
.g-featured__card {
  position: relative;
  background: var(--g-surface);
  border: 1px solid var(--g-line-accent);
  padding: 1.75rem clamp(1rem, 5vw, 2rem) .75rem;
}
.g-featured__card::before {
  content: "";
  position: absolute;
  inset: 5px;
  border: 1px solid var(--g-line);
  pointer-events: none;
}
.g-featured .g-section__head { margin-bottom: .75rem; }
.g-featured .g-dish:last-child { border-bottom: 0; }

/* ---------- 8. Ürün satırı ---------- */
.g-list { counter-reset: none; }

.g-dish {
  display: flex;
  gap: .9rem;
  padding: 1.05rem 0 1.1rem;
  border-bottom: 1px solid var(--g-line);
}
.g-list > li:last-child > .g-dish { border-bottom: 0; }

.g-dish__img {
  flex: none;
  width: 4.25rem;
  height: 4.25rem;
  object-fit: cover;
  border-radius: var(--g-radius);
  border: 1px solid var(--g-line);
  background: var(--g-surface);
  margin-top: .2rem;
}
body:not(.gece--images) .g-dish__img { display: none; }
.gece--images .g-dish__img { filter: brightness(.9) saturate(.92); }

.g-dish__body {
  flex: 1;
  min-width: 0;
}

.g-dish__line {
  display: flex;
  align-items: center;
  gap: .35rem;
}
.g-dish__row {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: .1rem .5rem;
}

/* The name may wrap down to ~7rem next to its price; when even that does not fit
   (narrow phone, long price) the leader + price move to their own line instead of
   squeezing the name into a one-word column. */
.g-dish__name {
  flex: 1 1 7rem;
  max-width: max-content;
  font-size: 1.15rem;
  letter-spacing: .01em;
  color: var(--g-text);
  min-width: 0;
}

.g-dish__body { overflow-wrap: anywhere; }

.g-dish__pricing {
  flex: 1 0 auto;
  display: flex;
  align-items: baseline;
  gap: .5rem;
}

/* Ürün adı ürün detay çekmecesini açar (çekirdek) */
.g-dish__open {
  all: unset;
  cursor: pointer;
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
  text-align: start;
}
.g-dish__open:hover { color: var(--g-accent); }
.g-dish__open:focus-visible {
  outline: 2px solid var(--g-accent);
  outline-offset: 3px;
}

/* Lider: ad ile fiyat arasındaki noktalı çizgi */
.g-leader {
  flex: 1 1 1.5rem;
  min-width: 1.5rem;
  display: inline-block;
  position: relative;
  top: -.28em;
  border-bottom: 2px dotted var(--g-dots);
}
.gece--leader-line .g-leader { border-bottom: 1px solid var(--g-line-accent); }
.gece--leader-none .g-leader { border-bottom-color: transparent; }

.g-dish__price {
  flex: none;
  font-family: var(--g-display);
  font-size: 1.1rem;
  color: var(--g-accent);
  white-space: nowrap;
  font-variant-numeric: lining-nums tabular-nums;
}
.g-dish__price--ask {
  font-style: italic;
  font-size: .95rem;
  color: var(--g-muted);
}

.g-dish__desc {
  text-wrap: pretty;
  margin-top: .3rem;
  color: var(--g-muted);
  font-size: .94rem;
  line-height: 1.5;
  font-style: italic;
  max-width: 34rem;
}

.g-dish__portion {
  font-style: normal;
  font-family: var(--g-sans);
  font-size: .72rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--g-faint);
}
.g-dish__desc .g-dish__portion::before { content: "·"; margin-inline: .45rem; }
.g-dish__portion:only-child::before { content: none; }

/* Varyantlar */
.g-variants {
  margin-top: .55rem;
  display: grid;
  gap: .15rem;
}
.g-variant {
  display: flex;
  align-items: center;
  gap: .35rem;
  gap: .5rem;
  font-size: .95rem;
  color: var(--g-muted);
  min-height: 2.25rem;
}
.g-variant__name { flex: 0 1 auto; max-width: 60%; min-width: 0; }
.g-variant__row { flex: 1; min-width: 0; display: flex; align-items: baseline; gap: .5rem; }
.g-variant .g-leader { border-bottom-width: 1px; top: -.3em; }
.g-variant__price {
  flex: none;
  color: var(--g-accent);
  white-space: nowrap;
  font-variant-numeric: lining-nums tabular-nums;
}

/* Rozetler: acı, diyet, tükendi */
.g-dish__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .35rem .5rem;
  margin-top: .55rem;
  font-family: var(--g-sans);
  font-size: .7rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--g-faint);
}
.g-tag {
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  padding: .18rem .5rem;
  border: 1px solid var(--g-line);
  border-radius: 999px;
  line-height: 1.3;
  color: var(--g-muted);
}
.g-tag--spice { color: #e7a07e; border-color: color-mix(in srgb, #e7a07e 35%, var(--g-bg)); }
.g-tag--soldout { color: var(--g-text); border-color: var(--g-line-accent); }
/* $sdk->soldOutBadge('g-tag g-tag--soldout'): çekirdek hapı yerine tema etiketi görünümü */
.g-tag.rl-sold-out { min-height: 0; background: none; font: inherit; line-height: 1.3; }
.g-chili { display: inline-block; width: .42rem; height: .42rem; border-radius: 50%; background: currentColor; }


/* Tükendi: ad ve fiyat okunur kalır (≥ 4.5:1), fiyatın üstü çizilmez; görsel gri tonlu */
.g-dish--sold-out .g-dish__name { opacity: .62; }
/* açıklama zaten soluk (muted): fazla soldurmak AA altına düşürür */
.g-dish--sold-out .g-dish__desc { opacity: .82; }
.g-dish--sold-out .g-dish__price { color: var(--g-faint); }
.g-dish--sold-out .g-dish__img { filter: grayscale(1); opacity: .6; }

/* "Ekle" düğmesi ($sdk->addButton(..., 'g-add')) — fiyatın yanında ince altın "+" halkası.
   Çekirdeğin yazdığı metin ekran okuyucuya açık kalır (font-size: 0), görsel olarak "+" çizilir. */
.gece .g-add,
.gece [data-rl-add] {
  -webkit-appearance: none;
  appearance: none;
  position: relative;
  flex: none;
  align-self: center;
  display: inline-block;
  width: 2.75rem;
  height: 2.75rem;
  min-width: 0;
  min-height: 0;
  margin-inline-start: .35rem;
  padding: 0;
  border: 1px solid var(--g-line-accent);
  border-radius: 50%;
  background: transparent;
  color: var(--g-accent);
  font-size: 0;
  line-height: 0;
  overflow: hidden;
  cursor: pointer;
  transition: background-color .2s var(--g-ease), color .2s var(--g-ease), border-color .2s var(--g-ease);
}
.gece .g-add > *,
.gece [data-rl-add] > * { opacity: 0; }
.gece .g-add::before,
.gece .g-add::after,
.gece [data-rl-add]::before,
.gece [data-rl-add]::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: .8rem;
  height: 1.5px;
  background: currentColor;
  transform: translate(-50%, -50%);
}
.gece .g-add::after,
.gece [data-rl-add]::after { transform: translate(-50%, -50%) rotate(90deg); }
.gece .g-add:hover,
.gece [data-rl-add]:hover {
  background: var(--g-accent);
  border-color: var(--g-accent);
  color: var(--g-on-accent);
}
.gece .g-add:disabled,
.gece [data-rl-add]:disabled,
.gece [data-rl-add][aria-disabled="true"] {
  opacity: .45;
  cursor: not-allowed;
  background: transparent;
  color: var(--g-muted);
}
.gece .g-add:focus-visible,
.gece [data-rl-add]:focus-visible {
  outline: 2px solid var(--g-accent);
  outline-offset: 2px;
}
.gece .rl-add.rl-added,
.gece [data-rl-add].rl-added {
  background: var(--g-accent);
  color: var(--g-on-accent);
}

.g-add-spacer { flex: none; width: 2.75rem; margin-inline-start: .35rem; }

/* ---------- 9. Alerjen notu, şubeler, iletişim ---------- */
.g-notice {
  margin-top: 3rem;
  padding: 1rem 1.15rem;
  border-left: 2px solid var(--g-line-accent);
  background: var(--g-surface);
  color: var(--g-muted);
  font-size: .85rem;
  font-family: var(--g-sans);
  line-height: 1.55;
}

.g-info { padding-top: 3.25rem; }

.g-venues {
  display: grid;
  gap: 1rem;
}
@media (min-width: 40rem) {
  .g-venues { grid-template-columns: 1fr 1fr; }
}

.g-venue {
  border: 1px solid var(--g-line);
  background: var(--g-surface);
  padding: 1.15rem 1.2rem 1rem;
}
.g-venue__name { font-size: 1.15rem; color: var(--g-text); }
.g-venue__addr {
  margin-top: .35rem;
  color: var(--g-muted);
  font-size: .92rem;
  font-style: normal;
}
.g-venue__links {
  display: flex;
  flex-wrap: wrap;
  gap: .25rem 1.25rem;
  margin-top: .65rem;
}

.g-link {
  display: inline-flex;
  align-items: center;
  min-height: 2.75rem;
  font-family: var(--g-sans);
  font-size: .75rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  text-decoration: none !important;
  color: var(--g-accent);
}
.g-link:hover { color: var(--g-text); }

.g-contact {
  list-style: none;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0 1.5rem;
  margin-top: 1.75rem;
}

.g-footer {
  margin-top: 2.5rem;
  padding-block: 1.75rem 1rem;
  border-top: 1px solid var(--g-line);
  text-align: center;
  color: var(--g-faint);
  font-family: var(--g-sans);
  font-size: .75rem;
  letter-spacing: .06em;
}
.g-footer__brand {
  font-family: var(--g-display);
  font-size: 1.05rem;
  letter-spacing: .08em;
  color: var(--g-muted);
  margin-bottom: .35rem;
}
.g-footer a { color: var(--g-muted); }

/* ---------- 10. Çekirdek arayüzü: sepet çubuğu ve çekmeceler ($sdk->cart()) ----------
   İşlev çekirdekte; burada yalnız Gece görünümü verilir. Renkler --rl-* değişkenlerinden. */
/* Konum --rl-cartbar-* değişkenlerinden (bkz. :root); burada yalnız görünüm. */
.gece .rl-cartbar {
  z-index: 30;
  display: flex;
  align-items: center;
  gap: .75rem;
  max-width: calc(var(--g-maxw) - 2 * var(--g-gutter));
  min-height: 3.25rem;
  padding: .5rem 1.25rem .5rem .6rem;
  border: 1px solid var(--g-line-accent);
  border-radius: 999px;
  background: var(--g-surface);
  background: color-mix(in srgb, var(--g-surface) 94%, transparent);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  box-shadow: 0 10px 30px -10px rgba(0, 0, 0, .75);
  color: var(--g-text);
  font: inherit;
  text-align: start;
  cursor: pointer;
}
.gece .rl-cartbar[hidden] { display: none; }
.gece .rl-cartbar:hover { border-color: var(--g-accent); }
.gece .rl-cartbar:focus-visible { outline: 2px solid var(--g-accent); outline-offset: 3px; }
.gece .rl-cartbar__count {
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  min-height: 2.15rem;
  padding: 0 .8rem;
  border-radius: 999px;
  background: var(--g-accent);
  color: var(--g-on-accent);
  font-family: var(--g-sans);
  font-size: .8rem;
  font-weight: 600;
  white-space: nowrap;
}
.gece .rl-cartbar__label {
  flex: 1;
  font-family: var(--g-sans);
  font-size: .78rem;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.gece .rl-cartbar__total {
  font-family: var(--g-display);
  font-size: 1.05rem;
  color: var(--g-accent);
  white-space: nowrap;
}

/* Çekmeceler: ince altın üst çizgi, serif başlık, altın fiyat.
   "Garsona göster" ekranı bilinçli olarak beyaz zemin + siyah metindir (çekirdek); dokunulmaz. */
.gece .rl-drawer { border-top: 1px solid var(--g-line-accent); }
.gece .rl-drawer__title,
.gece .rl-waiter__head h2 {
  font-family: var(--g-display);
  font-weight: 400;
  letter-spacing: .02em;
}
.gece .rl-pd__desc { color: var(--g-muted); font-style: italic; }
.gece .rl-pd__price,
.gece .rl-line__price,
.gece .rl-total strong {
  font-family: var(--g-display);
  font-weight: 400;
  color: var(--g-accent);
}
.gece .rl-pd__tags li { background: var(--g-bg); }

/* Ürün fotoğrafı koyu zeminde parlamasın: ince çerçeve, hafif kısık ton */
.gece .rl-pd__img {
  border: 1px solid var(--g-line);
  border-radius: var(--g-radius);
  filter: brightness(.9) saturate(.92);
}

/* Çekmece kapatma: odak çizgisi rengi --rl-focus-ring (altın), kenarlıklar --rl-control-border (bkz. :root) */
.gece .rl-icon-btn { color: var(--g-text); }

.gece .rl-qty__btn {
  background: transparent;
  color: var(--g-accent);
}
.gece .rl-qty__btn:hover { border-color: var(--g-accent); }
.gece .rl-variant:has(input:checked) {
  border-color: var(--g-accent);
  background: color-mix(in srgb, var(--g-accent) 9%, transparent);
}
.gece .rl-variant__price { color: var(--g-accent); font-weight: 400; }
.gece .rl-pd__price,
.gece .rl-line__price,
.gece .rl-total strong,
.gece .rl-cartbar__total,
.gece .rl-variant__price { font-variant-numeric: lining-nums tabular-nums; }

/* "Garsona göster" ekranı çekirdekte beyaz zemin + koyu metin; düğme ve odak rengini çekirdek verir. */
.gece .rl-backdrop { background: rgba(4, 6, 10, .7); }

/* ---------- 11. Önizleme işareti: çekirdek çizer ($sdk->head(), body::before) ---------- */

/* ---------- 12. Geniş ekran ---------- */
@media (min-width: 48rem) {
  body.gece { font-size: 1.125rem; }
  /* Sekmeler menü sütunundan geniş olabilir: sığarsa ortalanır, sığmazsa kayar */
  .g-tabs__list {
    max-width: 72rem;
    justify-content: safe center;
    gap: 1.75rem;
  }
  .g-dish { padding-block: 1.2rem 1.25rem; }
}

/* ---------- 13. Hareket azaltma ---------- */
@media (prefers-reduced-motion: reduce) {
  .gece *,
  .gece *::before,
  .gece *::after {
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* ---------- 14. Yüksek kontrast / zorunlu renkler ---------- */
@media (forced-colors: active) {
  .g-leader { border-bottom-color: CanvasText; }
  .g-tabs a[aria-current]:not([aria-current="false"])::after,
  .g-tabs a.is-active::after { background: Highlight; }
}

/* ---------- 15. Yazdırma ---------- */
@media print {
  body.gece { background: #fff; color: #000; }
  .g-tabs, .rl-cartbar, .g-langs, .g-add, [data-rl-add] { display: none !important; }
}
