/**
 * Public menu theming: accent color (--menu-primary* from PHP) + dark neutrals.
 * Loaded after menu-tailwind.min.css; expects body.menu-theme.
 */

.menu-theme {
  --menu-primary-soft-bg: color-mix(in srgb, var(--menu-primary) 14%, white);
  --menu-primary-soft-text: color-mix(in srgb, var(--menu-primary) 72%, #0f172a);
  --menu-primary-border-soft: color-mix(in srgb, var(--menu-primary) 38%, white);
  --menu-primary-focus-ring: color-mix(in srgb, var(--menu-primary) 35%, transparent);
  /* PHP body inline; yedek: primary %25 şeffaf */
  --menu-primary-glow: color-mix(in srgb, var(--menu-primary) 25%, transparent);
}

/**
 * Ürün kartı, favori şeridi, önerilen thumb: üst öğe `relative` + sabit boy (aspect-square / h-20 vb.).
 * Kutuyu doldurur, en-boy oranı korunur (cover, merkez). Ürün detay modalı #menu-modal-img dahil.
 */
.menu-product-img-fit {
  position: absolute;
  inset: 0;
  z-index: 0;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  object-fit: cover;
  object-position: center;
}

/**
 * Ürün detay modalı — boyut / ekstra / önerilen: renkler tema değişkenleriyle (açık = sıcak kağıt, koyu = --mt-*).
 * JS: menu-public.src.js
 */
#menu-product-modal label.menu-modal-option-row {
  border: 1px solid #ece5dc;
  background-color: #fffefb;
  color: rgb(30 41 59);
  box-shadow: 0 1px 2px rgb(15 23 42 / 0.06);
  --tw-ring-color: rgb(15 23 42 / 0.04);
}

#menu-product-modal label.menu-modal-option-row:hover {
  border-color: color-mix(in srgb, var(--menu-primary) 42%, #ece5dc);
}

#menu-product-modal .menu-modal-option-name {
  color: rgb(15 23 42);
}

#menu-product-modal .menu-modal-option-price {
  color: var(--menu-primary-dark);
}

#menu-product-modal .menu-modal-option-input {
  accent-color: var(--menu-primary, #aa9767);
}

#menu-product-modal .menu-modal-option-input:focus {
  outline: none;
}

#menu-product-modal .menu-modal-rec-card {
  border: 1px solid rgb(226 232 240 / 0.9);
  background-color: rgb(255 255 255 / 0.92);
  box-shadow: 0 1px 2px rgb(15 23 42 / 0.05);
}

#menu-product-modal .menu-modal-rec-card:hover:not(:disabled) {
  border-color: color-mix(in srgb, var(--menu-primary) 35%, #e2e8f0);
  background-color: #fff;
}

#menu-product-modal .menu-modal-rec-card:focus-visible {
  outline: none;
  box-shadow: 0 0 0 2px var(--menu-primary-focus-ring);
}

#menu-product-modal .menu-modal-rec-thumb {
  background-color: rgb(226 232 240 / 0.65);
}

/**
 * Seçili boyut/ekstra satırı (açık tema; `#menu-product-modal` ile bazı stillerden daha güçlü).
 */
#menu-product-modal label.menu-modal-option-row:has(:checked) {
  border-color: color-mix(in srgb, var(--menu-primary, var(--p)) 55%, #e8dfd0) !important;
  background-color: color-mix(in srgb, var(--menu-primary, var(--p)) 9%, #ffffff) !important;
  color: rgb(15 23 42) !important;
  box-shadow:
    0 6px 22px var(--menu-primary-glow, color-mix(in srgb, var(--menu-primary, var(--p)) 24%, transparent)),
    0 0 0 1px color-mix(in srgb, var(--menu-primary, var(--p)) 32%, transparent) !important;
}

#menu-product-modal label.menu-modal-option-row:has(:checked) .menu-modal-option-name {
  color: color-mix(in srgb, var(--menu-primary, var(--p)) 12%, rgb(15 23 42)) !important;
}

#menu-product-modal label.menu-modal-option-row:has(:checked) .menu-modal-option-price {
  color: var(--menu-primary) !important;
}

#menu-product-modal label.menu-modal-option-row:has(:checked) .menu-modal-option-input {
  border-color: var(--menu-primary, var(--p)) !important;
}

/* Koyu tema: modal içi = sayfa paleti + primary vurgu (tek dil) */
body.menu-theme--dark #menu-product-modal label.menu-modal-option-row {
  border-color: rgb(255 255 255 / 0.1) !important;
  background-color: var(--mt-surface-2) !important;
  color: var(--mt-text) !important;
  box-shadow: 0 4px 14px rgb(0 0 0 / 0.35) !important;
  --tw-ring-color: rgb(255 255 255 / 0.05) !important;
}

body.menu-theme--dark #menu-product-modal label.menu-modal-option-row:hover {
  border-color: color-mix(in srgb, var(--menu-primary) 38%, rgb(255 255 255 / 0.12)) !important;
  background-color: var(--mt-elevated) !important;
}

body.menu-theme--dark #menu-product-modal label.menu-modal-option-row:has(:checked) {
  background-color: color-mix(in srgb, var(--menu-primary) 30%, var(--mt-surface)) !important;
  border-color: color-mix(in srgb, var(--menu-primary) 72%, rgb(255 255 255 / 0.12)) !important;
  color: #fff !important;
  box-shadow:
    0 6px 24px rgb(0 0 0 / 0.42),
    0 0 0 1px var(--menu-primary-glow, color-mix(in srgb, var(--menu-primary) 28%, transparent)) !important;
}

body.menu-theme--dark #menu-product-modal .menu-modal-option-name {
  color: inherit !important;
}

body.menu-theme--dark #menu-product-modal label.menu-modal-option-row:has(:checked) .menu-modal-option-name {
  color: #fff !important;
}

body.menu-theme--dark #menu-product-modal .menu-modal-option-price {
  color: color-mix(in srgb, var(--menu-primary) 58%, #fefce8) !important;
}

body.menu-theme--dark #menu-product-modal label.menu-modal-option-row:has(:checked) .menu-modal-option-price {
  color: color-mix(in srgb, var(--menu-primary) 18%, #fffbeb) !important;
}

body.menu-theme--dark #menu-product-modal label.menu-modal-option-row:has(:checked) .menu-modal-option-input {
  border-color: color-mix(in srgb, var(--menu-primary) 85%, #fff) !important;
}

body.menu-theme--dark #menu-product-modal .menu-modal-section-label {
  color: color-mix(in srgb, var(--menu-primary) 36%, #d6d3d1) !important;
}

body.menu-theme--dark #menu-product-modal .menu-modal-rec-card {
  border-color: rgb(255 255 255 / 0.1) !important;
  background-color: var(--mt-surface-2) !important;
  box-shadow: 0 4px 14px rgb(0 0 0 / 0.32) !important;
}

body.menu-theme--dark #menu-product-modal .menu-modal-rec-card:hover:not(:disabled) {
  border-color: color-mix(in srgb, var(--menu-primary) 42%, rgb(255 255 255 / 0.12)) !important;
  background-color: var(--mt-elevated) !important;
}

body.menu-theme--dark #menu-product-modal .menu-modal-rec-thumb {
  background-color: rgb(255 255 255 / 0.06) !important;
}

body.menu-theme--dark #menu-product-modal #menu-modal-qty {
  color: var(--mt-text) !important;
  background-color: var(--mt-surface-2) !important;
  border-color: rgb(255 255 255 / 0.1) !important;
}

/* Carnaval: modal içi boyut/ekstra/önerilen — koyu yüzey + mat altın (açık tema #menu-product-modal kurallarını ezer) */
body.menu-theme--carnival #menu-product-modal label.menu-modal-option-row {
  border-color: rgb(255 255 255 / 0.1) !important;
  background-color: var(--crv-surface-2, #141416) !important;
  color: var(--crv-text, #ececee) !important;
  box-shadow: 0 4px 14px rgb(0 0 0 / 0.35) !important;
}

body.menu-theme--carnival #menu-product-modal label.menu-modal-option-row:hover {
  border-color: rgb(255 255 255 / 0.14) !important;
  background-color: var(--crv-surface, #1a1a1d) !important;
}

body.menu-theme--carnival #menu-product-modal label.menu-modal-option-row:has(:checked) {
  background-color: rgba(201, 162, 39, 0.12) !important;
  border-color: rgba(201, 162, 39, 0.45) !important;
  color: #f4f4f5 !important;
  box-shadow: 0 4px 18px rgb(0 0 0 / 0.4) !important;
}

body.menu-theme--carnival #menu-product-modal .menu-modal-option-name {
  color: inherit !important;
}

body.menu-theme--carnival #menu-product-modal label.menu-modal-option-row:has(:checked) .menu-modal-option-name {
  color: #f4f4f5 !important;
}

body.menu-theme--carnival #menu-product-modal .menu-modal-option-price {
  color: #c9a227 !important;
}

body.menu-theme--carnival #menu-product-modal label.menu-modal-option-row:has(:checked) .menu-modal-option-price {
  color: #e4c860 !important;
}

body.menu-theme--carnival #menu-product-modal label.menu-modal-option-row:has(:checked) .menu-modal-option-input {
  border-color: rgba(201, 162, 39, 0.55) !important;
}

body.menu-theme--carnival #menu-product-modal .menu-modal-option-input {
  accent-color: #c9a227;
}

body.menu-theme--carnival #menu-product-modal .menu-modal-rec-card {
  border-color: rgb(255 255 255 / 0.1) !important;
  background-color: var(--crv-surface-2, #141416) !important;
  box-shadow: 0 4px 14px rgb(0 0 0 / 0.32) !important;
}

body.menu-theme--carnival #menu-product-modal .menu-modal-rec-card:hover:not(:disabled) {
  border-color: rgb(255 255 255 / 0.16) !important;
  background-color: var(--crv-surface, #1a1a1d) !important;
}

body.menu-theme--carnival #menu-product-modal .menu-modal-rec-thumb {
  background-color: rgb(255 255 255 / 0.06) !important;
}

body.menu-theme--carnival #menu-product-modal .menu-modal-rec-card:focus-visible {
  box-shadow: 0 0 0 2px rgba(201, 162, 39, 0.35) !important;
}

/**
 * Kategori şeridi (Tümü / Mezeler …) — seçili chip işletme vurgu rengiyle (mor/indigo değil).
 * JS: menu-public.src.js — menu-filter-cat--on / menu-filter-cat--off
 */
.menu-filter-cat--on {
  border-color: color-mix(in srgb, var(--menu-primary, var(--p)) 42%, #e2e8f0);
  background-color: color-mix(in srgb, var(--menu-primary, var(--p)) 16%, #ffffff);
  color: color-mix(in srgb, var(--menu-primary, var(--p)) 68%, #0f172a);
  box-shadow:
    0 1px 2px rgb(15 23 42 / 0.06),
    0 0 0 2px color-mix(in srgb, var(--menu-primary, var(--p)) 30%, transparent);
}

.menu-filter-cat--off {
  border-color: rgb(226 232 240);
  background-color: #ffffff;
  color: rgb(51 65 85);
  box-shadow: 0 1px 2px rgb(15 23 42 / 0.04);
}

.menu-filter-cat--off:hover {
  border-color: color-mix(in srgb, var(--menu-primary, var(--p)) 40%, #e2e8f0);
  background-color: color-mix(in srgb, var(--menu-primary, var(--p)) 10%, #ffffff);
  color: color-mix(in srgb, var(--menu-primary, var(--p)) 75%, #0f172a);
}

.menu-theme--dark .menu-filter-cat--on {
  border: 1px solid color-mix(in srgb, var(--menu-primary) 40%, transparent) !important;
  background-color: color-mix(in srgb, var(--menu-primary) 15%, transparent) !important;
  color: #fff !important;
  box-shadow: 0 1px 3px rgb(0 0 0 / 0.35);
}

.menu-theme--dark .menu-filter-cat--off {
  border: 1px solid rgb(255 255 255 / 0.06) !important;
  background-color: rgb(255 255 255 / 0.04) !important;
  color: #d4d4d8 !important;
  box-shadow: none;
}

.menu-theme--dark .menu-filter-cat--off:hover {
  border-color: color-mix(in srgb, var(--menu-primary) 28%, rgb(255 255 255 / 0.1)) !important;
  background-color: color-mix(in srgb, var(--menu-primary) 8%, rgb(255 255 255 / 0.06)) !important;
  color: #f4f4f5 !important;
}

/* Premium şablon: İndirimli / Popüler / Stokta şeridi (koyu tema) */
.menu-theme--dark .premium-filter-pills-row {
  border-top-color: var(--mt-border-soft);
}

.menu-theme--light {
  color-scheme: light;
}

.menu-theme--dark {
  color-scheme: dark;
  /* Warm dark luxury: sıcak nötr + hafif primary ışık (sayfa gövdesinde radial) */
  --mt-page: #0e0e0f;
  --mt-page-mid: #0e0e0f;
  --mt-surface: #1c1c1e;
  --mt-sheet: #1a1a1c;
  --mt-surface-2: #252528;
  --mt-elevated: #2f2f33;
  --mt-border: rgb(255 255 255 / 0.1);
  --mt-border-soft: rgb(255 255 255 / 0.06);
  --mt-text: #fafafa;
  --mt-text-muted: #a8a8ae;
  --mt-text-subtle: #7c7c86;
  --mt-text-faint: #5c5c64;
  --menu-primary-soft-bg: color-mix(in srgb, var(--menu-primary) 18%, var(--mt-surface));
  --menu-primary-soft-text: color-mix(in srgb, var(--menu-primary) 32%, #fafafa);
  --menu-primary-border-soft: color-mix(in srgb, var(--menu-primary) 42%, var(--mt-border));
  --menu-primary-focus-ring: color-mix(in srgb, var(--menu-primary) 40%, transparent);
}

/**
 * Premium şablon: ürün kartı (+) ve modal “Sepete ekle” — işletme vurgu rengi (açık + koyu).
 */
body.menu-theme button.menu-add-product-btn {
  -webkit-tap-highlight-color: transparent;
}

body.menu-theme button.menu-add-product-btn[data-menu-open-detail]:not([disabled]),
body.menu-theme button.menu-add-product-btn#menu-modal-submit,
body.menu-theme button.menu-add-product-btn[type='submit'][name='add_product'] {
  background: linear-gradient(
    155deg,
    var(--menu-primary, var(--p)) 0%,
    color-mix(in srgb, var(--menu-primary, var(--p)) 72%, #0f172a) 100%
  ) !important;
  color: #fff !important;
  border: 1px solid color-mix(in srgb, #fff 18%, var(--menu-primary, var(--p))) !important;
  box-shadow:
    0 6px 20px color-mix(in srgb, var(--menu-primary, var(--p)) 38%, transparent),
    inset 0 1px 0 rgb(255 255 255 / 0.22) !important;
}

body.menu-theme button.menu-add-product-btn[data-menu-open-detail]:not([disabled]):hover,
body.menu-theme button.menu-add-product-btn#menu-modal-submit:hover,
body.menu-theme button.menu-add-product-btn[type='submit'][name='add_product']:hover {
  filter: brightness(1.07);
}

body.menu-theme button.menu-add-product-btn[data-menu-open-detail]:not([disabled]):active,
body.menu-theme button.menu-add-product-btn#menu-modal-submit:active,
body.menu-theme button.menu-add-product-btn[type='submit'][name='add_product']:active {
  filter: brightness(0.94);
}

body.menu-theme button.menu-add-product-btn.menu-add-product-btn--round {
  border-radius: 9999px !important;
}

body.menu-theme button.menu-add-product-btn:focus-visible {
  outline: 2px solid var(--menu-primary, var(--p)) !important;
  outline-offset: 2px !important;
}

/**
 * Sipariş durumu — müşteri iptali: kartla uyumlu yüzey, hafif “tehlike” tonu (sert pembe kutu yok).
 */
.menu-order-status-banner .menu-customer-cancel-wrap {
  border-top-color: color-mix(in srgb, var(--menu-primary, var(--p)) 12%, rgb(241 245 249)) !important;
}

body.menu-theme .menu-customer-cancel-hint {
  color: rgb(100 116 139) !important;
}

body.menu-theme .menu-customer-cancel-countdown {
  color: rgb(30 41 59) !important;
}

body.menu-theme .menu-customer-cancel-btn {
  -webkit-tap-highlight-color: transparent;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.875rem;
  padding: 0.625rem 1.1rem;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  border: 1px solid color-mix(in srgb, #fb7185 38%, #e2e8f0);
  background: linear-gradient(
    180deg,
    color-mix(in srgb, #fff1f2 88%, #ffffff) 0%,
    color-mix(in srgb, #ffe4e6 55%, #ffffff) 100%
  );
  color: color-mix(in srgb, #9f1239 82%, #0f172a);
  box-shadow:
    0 1px 2px rgb(15 23 42 / 0.05),
    inset 0 1px 0 rgb(255 255 255 / 0.65);
  transition:
    background 0.18s ease,
    border-color 0.18s ease,
    color 0.18s ease,
    box-shadow 0.18s ease,
    transform 0.15s ease;
}

body.menu-theme .menu-customer-cancel-btn:hover:not(:disabled) {
  border-color: color-mix(in srgb, #f43f5e 48%, #e2e8f0);
  background: linear-gradient(
    180deg,
    color-mix(in srgb, #fecdd3 42%, #ffffff) 0%,
    color-mix(in srgb, #ffe4e6 70%, #ffffff) 100%
  );
  color: #881337;
  box-shadow: 0 4px 14px -4px color-mix(in srgb, #f43f5e 28%, transparent);
}

body.menu-theme .menu-customer-cancel-btn:active:not(:disabled) {
  transform: scale(0.98);
}

body.menu-theme .menu-customer-cancel-btn:focus-visible {
  outline: 2px solid color-mix(in srgb, #f43f5e 55%, var(--menu-primary-focus-ring));
  outline-offset: 2px;
}

body.menu-theme .menu-customer-cancel-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}

body.menu-theme--dark .menu-order-status-banner .menu-customer-cancel-wrap {
  border-top-color: var(--mt-border-soft) !important;
}

body.menu-theme--dark .menu-customer-cancel-hint {
  color: var(--mt-text-subtle) !important;
}

body.menu-theme--dark .menu-customer-cancel-countdown {
  color: var(--mt-text) !important;
}

body.menu-theme--dark .menu-customer-cancel-btn {
  border: 1px solid color-mix(in srgb, #fb7185 36%, var(--mt-border-soft));
  background: linear-gradient(
    180deg,
    color-mix(in srgb, #881337 32%, var(--mt-surface-2)) 0%,
    color-mix(in srgb, #4c0519 22%, var(--mt-surface-2)) 100%
  );
  color: color-mix(in srgb, #fecdd3 72%, var(--mt-text-muted));
  box-shadow:
    0 6px 18px rgb(0 0 0 / 0.28),
    inset 0 1px 0 rgb(255 255 255 / 0.06);
}

body.menu-theme--dark .menu-customer-cancel-btn:hover:not(:disabled) {
  border-color: color-mix(in srgb, #fb7185 52%, var(--mt-border-soft));
  background: linear-gradient(
    180deg,
    color-mix(in srgb, #9f1239 38%, var(--mt-elevated)) 0%,
    color-mix(in srgb, #881337 28%, var(--mt-surface-2)) 100%
  );
  color: #ffe4e6;
  box-shadow: 0 8px 22px rgb(0 0 0 / 0.35);
}

body.menu-theme--carnival .menu-order-status-banner .menu-customer-cancel-wrap {
  border-top-color: rgb(255 255 255 / 0.08) !important;
}

body.menu-theme--carnival .menu-customer-cancel-hint {
  color: #a1a1aa !important;
}

body.menu-theme--carnival .menu-customer-cancel-countdown {
  color: #e4e4e7 !important;
}

body.menu-theme--carnival .menu-customer-cancel-btn {
  border: 1px solid color-mix(in srgb, #fb7185 40%, rgb(255 255 255 / 0.1));
  background: linear-gradient(
    180deg,
    color-mix(in srgb, rgb(136 19 55) 35%, var(--crv-surface-2, #141416)) 0%,
    color-mix(in srgb, rgb(76 5 25) 28%, var(--crv-surface-2, #141416)) 100%
  );
  color: #fecdd3;
  box-shadow: 0 6px 18px rgb(0 0 0 / 0.35);
}

body.menu-theme--carnival .menu-customer-cancel-btn:hover:not(:disabled) {
  border-color: color-mix(in srgb, #fb7185 55%, rgb(255 255 255 / 0.12));
  background: linear-gradient(
    180deg,
    color-mix(in srgb, #9f1239 42%, var(--crv-surface, #1a1a1d)) 0%,
    color-mix(in srgb, #881337 32%, var(--crv-surface-2, #141416)) 100%
  );
  color: #fff1f2;
}

/**
 * Müşteri iptal onay diyaloğu — ürün modalına benzer cam / kart (tema gövdesiyle).
 */
.menu-customer-cancel-dialog-backdrop {
  -webkit-tap-highlight-color: transparent;
}

.menu-customer-cancel-dialog-panel {
  animation: menuCancelDialogIn 0.28s cubic-bezier(0.22, 1, 0.36, 1) both;
}

@keyframes menuCancelDialogIn {
  from {
    opacity: 0;
    transform: translateY(12px) scale(0.98);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@media (min-width: 640px) {
  @keyframes menuCancelDialogIn {
    from {
      opacity: 0;
      transform: scale(0.96);
    }
    to {
      opacity: 1;
      transform: scale(1);
    }
  }
}

body.menu-theme--dark .menu-customer-cancel-dialog-backdrop {
  background-color: rgb(0 0 0 / 0.72) !important;
}

body.menu-theme--dark #menu-customer-cancel-dialog-title {
  color: var(--mt-text) !important;
}

body.menu-theme--dark .menu-customer-cancel-dialog-message {
  color: var(--mt-text-muted) !important;
}

body.menu-theme--dark .menu-customer-cancel-dialog-dismiss {
  border-color: var(--mt-border-soft) !important;
  background-color: var(--mt-surface-2) !important;
  color: var(--mt-text-muted) !important;
  box-shadow: none !important;
}

body.menu-theme--dark .menu-customer-cancel-dialog-dismiss:hover {
  background-color: var(--mt-elevated) !important;
  color: var(--mt-text) !important;
}

body.menu-theme--carnival .menu-customer-cancel-dialog-panel {
  border-color: rgb(255 255 255 / 0.1) !important;
  background-color: var(--crv-sheet, var(--crv-surface, #1a1a1d)) !important;
  box-shadow: 0 -20px 50px rgb(0 0 0 / 0.45) !important;
}

body.menu-theme--carnival #menu-customer-cancel-dialog-title {
  color: #f4f4f5 !important;
}

body.menu-theme--carnival .menu-customer-cancel-dialog-message {
  color: #a1a1aa !important;
}

body.menu-theme--carnival .menu-customer-cancel-dialog-dismiss {
  border-color: rgb(255 255 255 / 0.12) !important;
  background-color: var(--crv-surface-2, #141416) !important;
  color: #d4d4d8 !important;
}

body.menu-theme--carnival .menu-customer-cancel-dialog-dismiss:hover {
  background-color: var(--crv-surface, #1a1a1d) !important;
  color: #f4f4f5 !important;
}

/* Stok yok: nötr “kapalı” görünüm (açık tema) */
body.menu-theme--light button.menu-add-product-btn[data-menu-open-detail][disabled] {
  background: linear-gradient(180deg, #e2e8f0, #cbd5e1) !important;
  color: #94a3b8 !important;
  border: 1px solid #cbd5e1 !important;
  box-shadow: none !important;
  filter: none !important;
}

/* --- Accent: map blue utilities to café primary (light + dark) --- */
.menu-theme .bg-blue-600 {
  background-color: var(--menu-primary) !important;
}
.menu-theme .hover\:bg-blue-500:hover {
  background-color: var(--menu-primary-hover) !important;
}
.menu-theme .active\:bg-blue-500:active {
  background-color: var(--menu-primary-hover) !important;
}
.menu-theme .text-blue-600 {
  color: var(--menu-primary) !important;
}
.menu-theme .text-blue-600\/90 {
  color: color-mix(in srgb, var(--menu-primary) 90%, transparent) !important;
}
.menu-theme .text-blue-700 {
  color: var(--menu-primary-dark) !important;
}
.menu-theme .text-blue-800 {
  color: var(--menu-primary-dark) !important;
}
.menu-theme .border-blue-200,
.menu-theme .border-blue-200\/80 {
  border-color: var(--menu-primary-border-soft) !important;
}
.menu-theme .border-blue-300 {
  border-color: color-mix(in srgb, var(--menu-primary) 42%, var(--menu-primary-border-soft)) !important;
}
.menu-theme .border-blue-400 {
  border-color: color-mix(in srgb, var(--menu-primary) 55%, white) !important;
}
.menu-theme .bg-blue-50,
.menu-theme .bg-blue-50\/80,
.menu-theme .bg-blue-50\/90 {
  background-color: var(--menu-primary-soft-bg) !important;
}
.menu-theme .hover\:bg-blue-50\/80:hover,
.menu-theme .hover\:bg-blue-50:hover,
.menu-theme .hover\:bg-blue-100:hover {
  background-color: color-mix(in srgb, var(--menu-primary) 18%, white) !important;
}
.menu-theme .hover\:bg-blue-100\/90:hover {
  background-color: color-mix(in srgb, var(--menu-primary) 22%, white) !important;
}
.menu-theme .focus\:border-blue-400:focus {
  border-color: color-mix(in srgb, var(--menu-primary) 55%, white) !important;
}
.menu-theme .focus\:ring-blue-500\/15:focus,
.menu-theme .focus\:ring-blue-500\/20:focus,
.menu-theme .focus\:ring-blue-500\/30:focus {
  --tw-ring-color: var(--menu-primary-focus-ring) !important;
}
.menu-theme .ring-blue-500\/30 {
  --tw-ring-color: var(--menu-primary-focus-ring) !important;
}
.menu-theme .ring-blue-700\/25,
.menu-theme .ring-blue-700\/30 {
  --tw-ring-color: color-mix(in srgb, var(--menu-primary-dark) 40%, transparent) !important;
}
.menu-theme .text-blue-900 {
  color: var(--menu-primary-soft-text) !important;
}
.menu-theme .ring-blue-400\/20 {
  --tw-ring-color: color-mix(in srgb, var(--menu-primary) 35%, transparent) !important;
}
.menu-theme .shadow-blue-600\/25,
.menu-theme .shadow-blue-600\/35 {
  --tw-shadow-color: color-mix(in srgb, var(--menu-primary) 40%, transparent) !important;
}
.menu-theme .shadow-blue-900\/15,
.menu-theme .shadow-blue-900\/20 {
  --tw-shadow-color: color-mix(in srgb, var(--menu-primary-dark) 28%, transparent) !important;
}
.menu-theme .from-blue-600 {
  --tw-gradient-from: var(--menu-primary) var(--tw-gradient-from-position) !important;
  --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position) !important;
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to) !important;
}
.menu-theme .to-blue-700 {
  --tw-gradient-to: var(--menu-primary-dark) var(--tw-gradient-to-position) !important;
}
.menu-theme .hover\:from-blue-500:hover {
  --tw-gradient-from: var(--menu-primary-hover) var(--tw-gradient-from-position) !important;
}
.menu-theme .hover\:to-blue-600:hover {
  --tw-gradient-to: var(--menu-primary) var(--tw-gradient-to-position) !important;
}
.menu-theme .active\:from-blue-700:active {
  --tw-gradient-from: var(--menu-primary-dark) var(--tw-gradient-from-position) !important;
}
.menu-theme .active\:to-blue-800:active {
  --tw-gradient-to: color-mix(in srgb, var(--menu-primary-dark) 85%, black) var(--tw-gradient-to-position) !important;
}
.menu-theme .from-blue-50 {
  --tw-gradient-from: var(--menu-primary-soft-bg) var(--tw-gradient-from-position) !important;
}
.menu-theme .to-blue-50,
.menu-theme .to-blue-50\/80,
.menu-theme .to-blue-50\/90 {
  --tw-gradient-to: color-mix(in srgb, var(--menu-primary-soft-bg) 92%, white) var(--tw-gradient-to-position) !important;
}
.menu-theme .text-blue-50\/90 {
  color: color-mix(in srgb, var(--menu-primary-soft-bg) 40%, white) !important;
}

.menu-theme .text-blue-600:focus {
  color: var(--menu-primary) !important;
}

/* --- Dark mode: neutrals --- */
.menu-theme--dark .bg-slate-50,
.menu-theme--dark .bg-slate-50\/50,
.menu-theme--dark .bg-slate-50\/80,
.menu-theme--dark .bg-slate-50\/90,
.menu-theme--dark .bg-slate-50\/95 {
  background-color: var(--mt-page-mid) !important;
}

.menu-theme--dark .bg-white,
.menu-theme--dark .bg-white\/95 {
  background-color: var(--mt-surface) !important;
}

.menu-theme--dark .supports-\[backdrop-filter\]\:bg-white\/80 {
  background-color: color-mix(in srgb, var(--mt-surface) 88%, transparent) !important;
}

.menu-theme--dark .supports-\[backdrop-filter\]\:bg-white\/90 {
  background-color: color-mix(in srgb, var(--mt-surface) 90%, transparent) !important;
}

.menu-theme--dark .bg-slate-100 {
  background-color: var(--mt-surface-2) !important;
}

.menu-theme--dark .bg-slate-200 {
  background-color: var(--mt-elevated) !important;
}

.menu-theme--dark .text-slate-900,
.menu-theme--dark .text-slate-800 {
  color: var(--mt-text) !important;
}

.menu-theme--dark .text-slate-700,
.menu-theme--dark .text-slate-600 {
  color: var(--mt-text-muted) !important;
}

.menu-theme--dark .text-slate-500 {
  color: var(--mt-text-subtle) !important;
}

.menu-theme--dark .text-slate-400,
.menu-theme--dark .placeholder\:text-slate-400::placeholder {
  color: var(--mt-text-faint) !important;
}

.menu-theme--dark .text-slate-300 {
  color: var(--mt-text-faint) !important;
}

.menu-theme--dark .border-slate-100,
.menu-theme--dark .border-slate-100\/90,
.menu-theme--dark .border-slate-200,
.menu-theme--dark .border-slate-200\/80,
.menu-theme--dark .border-slate-200\/90,
.menu-theme--dark .border-slate-200\/95 {
  border-color: var(--mt-border-soft) !important;
}

.menu-theme--dark .divide-slate-100 > :not([hidden]) ~ :not([hidden]) {
  border-color: var(--mt-border-soft) !important;
}

.menu-theme--dark .ring-slate-200,
.menu-theme--dark .ring-slate-200\/80 {
  --tw-ring-color: var(--mt-border-soft) !important;
}

.menu-theme--dark .ring-slate-900\/\[0\.04\],
.menu-theme--dark .ring-slate-900\/\[0\.03\],
.menu-theme--dark .ring-slate-900\/\[0\.06\],
.menu-theme--dark .ring-slate-900\/\[0\.08\] {
  --tw-ring-color: rgb(255 255 255 / 0.06) !important;
}


.menu-theme--dark .from-white {
  --tw-gradient-from: var(--mt-surface) var(--tw-gradient-from-position) !important;
}

.menu-theme--dark .to-slate-50\/80,
.menu-theme--dark .to-slate-50\/90 {
  --tw-gradient-to: var(--mt-page-mid) var(--tw-gradient-to-position) !important;
}

.menu-theme--dark .from-slate-100,
.menu-theme--dark .via-slate-50 {
  --tw-gradient-from: var(--mt-surface-2) var(--tw-gradient-from-position) !important;
}

.menu-theme--dark .to-slate-50,
.menu-theme--dark .to-blue-50,
.menu-theme--dark .to-blue-50\/80,
.menu-theme--dark .to-blue-50\/90,
.menu-theme--dark .to-rose-50\/80 {
  --tw-gradient-to: var(--mt-page-mid) var(--tw-gradient-to-position) !important;
}

.menu-theme--dark .from-slate-100 {
  --tw-gradient-from: var(--mt-surface-2) var(--tw-gradient-from-position) !important;
}

.menu-theme--dark .shadow-inner.shadow-slate-900\/\[0\.03\] {
  --tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / 0.2) !important;
}

.menu-theme--dark .hover\:bg-slate-50:hover,
.menu-theme--dark .hover\:bg-slate-100:hover,
.menu-theme--dark .active\:bg-slate-50:active,
.menu-theme--dark .active\:bg-slate-100:active {
  background-color: var(--mt-surface-2) !important;
}

.menu-theme--dark .hover\:bg-white:hover,
.menu-theme--dark .focus\:bg-white:focus {
  background-color: var(--mt-surface) !important;
}

.menu-theme--dark .decoration-slate-300 {
  text-decoration-color: var(--mt-border) !important;
}

.menu-theme--dark .bg-slate-900\/60 {
  background-color: rgb(0 0 0 / 0.65) !important;
}

/* slate-900 + text-white = aksiyon (ürün +, modal, dil, sipariş); açık metin için :not(.text-white) */
.menu-theme--dark .bg-slate-900:not(.text-white) {
  background-color: var(--mt-text) !important;
  color: var(--mt-page) !important;
}

.menu-theme--dark .bg-slate-900.text-white {
  background-color: var(--menu-primary) !important;
  color: #fff !important;
  box-shadow: 0 1px 2px rgb(0 0 0 / 0.35) !important;
}

.menu-theme--dark .bg-slate-900.text-white.hover\:bg-slate-800:hover {
  background-color: var(--menu-primary-hover) !important;
}

.menu-theme--dark .hover\:bg-slate-800:hover:not(.text-white) {
  background-color: color-mix(in srgb, var(--mt-text) 88%, black) !important;
}

.menu-theme--dark .text-white {
  color: #fff !important;
}

.menu-theme--dark .hover\:text-slate-800:hover {
  color: var(--mt-text) !important;
}

/* Page shell — üstte hafif primary “ışık”, zeminde sıcak koyu */
body.menu-theme--dark {
  background-color: #0e0e0f !important;
  background-image: radial-gradient(
    circle at 50% -28%,
    color-mix(in srgb, var(--menu-primary) 8%, transparent) 0%,
    #0e0e0f 40%
  ) !important;
  background-attachment: fixed !important;
  color: var(--mt-text-muted) !important;
}

/* Koyu tema: cam hissi (header / genel glass) */
body.menu-theme--dark .glass {
  background: rgba(20, 20, 20, 0.72) !important;
  backdrop-filter: blur(12px) saturate(1.1) !important;
  -webkit-backdrop-filter: blur(12px) saturate(1.1) !important;
  border-bottom: 1px solid rgb(255 255 255 / 0.08) !important;
}

body.menu-theme--dark header.sticky.glass {
  background: rgba(20, 20, 20, 0.7) !important;
  backdrop-filter: blur(14px) saturate(1.1) !important;
  -webkit-backdrop-filter: blur(14px) saturate(1.1) !important;
  border-bottom: 1px solid rgb(255 255 255 / 0.08) !important;
}

body.menu-theme--dark header.sticky.glass h1 {
  color: #f5f5f4 !important;
}

body.menu-theme--dark #menu-search-input {
  box-shadow: 0 4px 18px rgb(0 0 0 / 0.35) !important;
  border: 1px solid rgb(255 255 255 / 0.08) !important;
  background-color: rgba(14, 14, 15, 0.65) !important;
  color: var(--mt-text) !important;
}

body.menu-theme--dark .menu-card-entrance {
  position: relative;
  isolation: isolate;
  overflow: visible !important;
  border-radius: 1.35rem !important;
  border: 1px solid rgb(255 255 255 / 0.06) !important;
  box-shadow: 0 10px 30px rgb(0 0 0 / 0.4) !important;
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    border-color 0.25s ease !important;
}

body.menu-theme--dark .menu-card-entrance:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 40px rgb(0 0 0 / 0.5) !important;
  border-color: color-mix(in srgb, var(--menu-primary) 22%, rgb(255 255 255 / 0.08)) !important;
}

body.menu-theme--dark .menu-card-entrance > div.relative.aspect-square {
  border-radius: 1rem !important;
}

/* Kart görsel alanı: altta çok hafif sıcak vinyet (lüks ışık) */
body.menu-theme--dark .menu-card-entrance > div.relative.aspect-square::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  z-index: 4;
  background: linear-gradient(
    to bottom,
    transparent 42%,
    color-mix(in srgb, var(--menu-primary) 5%, transparent)
  );
}

body.menu-theme--dark .menu-card-entrance img {
  filter: none !important;
}

body.menu-theme--dark .dock-inner {
  border-radius: 1.15rem !important;
  background: rgba(15, 15, 15, 0.8) !important;
  border: 1px solid rgb(255 255 255 / 0.08) !important;
  box-shadow: 0 10px 28px rgb(0 0 0 / 0.45) !important;
  backdrop-filter: blur(16px) saturate(1.05) !important;
  -webkit-backdrop-filter: blur(16px) saturate(1.05) !important;
}

body.menu-theme--dark .cart-strip-inner {
  box-shadow: 0 10px 28px rgb(0 0 0 / 0.38) !important;
  border-radius: 1.15rem !important;
}

body.menu-theme--dark #menu-product-modal > button.absolute.inset-0 {
  backdrop-filter: blur(4px) !important;
  -webkit-backdrop-filter: blur(4px) !important;
  background-color: rgb(0 0 0 / 0.75) !important;
}

body.menu-theme--dark #menu-product-modal .absolute.inset-x-0.bottom-0 {
  border-top-left-radius: 1.25rem !important;
  border-top-right-radius: 1.25rem !important;
  background-color: var(--mt-sheet) !important;
  box-shadow: 0 -14px 44px rgb(0 0 0 / 0.48) !important;
  border: 1px solid rgb(255 255 255 / 0.06) !important;
  border-bottom: none !important;
}

body.menu-theme--dark #menu-success-overlay {
  backdrop-filter: blur(4px) !important;
  -webkit-backdrop-filter: blur(4px) !important;
}

body.menu-theme--dark #menu-success-overlay > div {
  border-radius: 1.25rem !important;
  background-color: var(--mt-sheet) !important;
  box-shadow: 0 16px 40px rgb(0 0 0 / 0.45) !important;
  border: 1px solid rgb(255 255 255 / 0.06) !important;
}

body.menu-theme--dark #menu-content section h2 {
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
}

body.menu-theme--dark .from-slate-200 {
  --tw-gradient-from: var(--mt-border-soft) var(--tw-gradient-from-position) !important;
}

body.menu-theme--dark #menu-cart-drawer {
  background-color: var(--mt-sheet) !important;
  border: 1px solid rgb(255 255 255 / 0.06) !important;
  border-radius: 1.25rem !important;
  box-shadow: 0 10px 30px rgb(0 0 0 / 0.4) !important;
}

body.menu-theme--dark #menu-product-modal button[data-menu-modal-close]:not(.inset-0) {
  background-color: var(--mt-surface-2) !important;
  box-shadow: none !important;
}

/* Stokta yok etiketi: nötr (aksiyon rengi değil) */
body.menu-theme--dark .menu-card-entrance .absolute.inset-0 span.rounded-lg.bg-slate-900.text-white {
  background-color: var(--mt-elevated) !important;
  color: var(--mt-text) !important;
  box-shadow: none !important;
}

/* Ürün + düğmesi (stok yok): gri levha */
body.menu-theme--dark .menu-card-entrance button.menu-add-product-btn[data-menu-open-detail][disabled] {
  background: var(--mt-surface-2) !important;
  color: var(--mt-text-faint) !important;
  border: 1px solid var(--mt-border-soft) !important;
  opacity: 1 !important;
  box-shadow: none !important;
  filter: none !important;
}

/* Koyu tema CTA: sıcak gradyan + primary glow, hover’da hafif büyüme */
body.menu-theme--dark button.menu-add-product-btn[data-menu-open-detail]:not([disabled]),
body.menu-theme--dark button.menu-add-product-btn#menu-modal-submit,
body.menu-theme--dark button.menu-add-product-btn[type='submit'][name='add_product'] {
  background: linear-gradient(135deg, var(--menu-primary), var(--menu-primary-dark)) !important;
  border: 1px solid color-mix(in srgb, #fff 14%, var(--menu-primary)) !important;
  box-shadow:
    0 6px 20px var(--menu-primary-glow),
    inset 0 1px 0 rgb(255 255 255 / 0.2) !important;
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease,
    filter 0.2s ease !important;
}

body.menu-theme--dark button.menu-add-product-btn[data-menu-open-detail]:not([disabled]):hover,
body.menu-theme--dark button.menu-add-product-btn#menu-modal-submit:hover,
body.menu-theme--dark button.menu-add-product-btn[type='submit'][name='add_product']:hover {
  transform: scale(1.05);
  filter: none !important;
  box-shadow:
    0 10px 30px color-mix(in srgb, var(--menu-primary) 40%, transparent),
    inset 0 1px 0 rgb(255 255 255 / 0.22) !important;
}

body.menu-theme--dark button.menu-add-product-btn[data-menu-open-detail]:not([disabled]):active,
body.menu-theme--dark button.menu-add-product-btn#menu-modal-submit:active,
body.menu-theme--dark button.menu-add-product-btn[type='submit'][name='add_product']:active {
  transform: scale(1.02);
  filter: none !important;
}

/* Sepet bahşiş / seçenek: seçili chip vurgu rengi */
body.menu-theme--dark #menu-cart-drawer label:has(input[type='radio']:checked) {
  background-color: var(--menu-primary) !important;
  border-color: color-mix(in srgb, var(--menu-primary) 70%, var(--mt-border)) !important;
  color: #fff !important;
}

/* Alt dock: hesap satırı — sıcak nötr + hafif primary (indigo yok) */
body.menu-theme--dark .dock-btn.text-indigo-300 {
  color: color-mix(in srgb, var(--menu-primary) 38%, #e7e5e4) !important;
}

/* --- Mediterranean: coastal blue & white, airy cards, light shell --- */
.menu-theme--mediterranean {
  color-scheme: light;
  --med-sea: #0c4a6e;
  --med-surface: #ffffff;
  --med-page-top: #e0f2fe;
  --med-page-mid: #f0f9ff;
  --med-page-bottom: #e8f4fc;
  --med-muted: #475569;
  --med-border: rgb(125 211 252 / 0.55);
  --med-border-soft: rgb(186 230 253 / 0.65);
  --med-primary-soft-bg: color-mix(in srgb, var(--menu-primary) 12%, white);
}

body.menu-theme--mediterranean {
  background: linear-gradient(
    180deg,
    var(--med-page-top) 0%,
    var(--med-page-mid) 42%,
    var(--med-page-bottom) 100%
  ) !important;
  background-attachment: fixed !important;
  color: var(--med-sea) !important;
  font-family: 'Outfit', sans-serif;
}

.menu-theme--mediterranean .bg-slate-50,
.menu-theme--mediterranean .bg-slate-50\/50,
.menu-theme--mediterranean .bg-slate-50\/80,
.menu-theme--mediterranean .bg-slate-50\/90,
.menu-theme--mediterranean .bg-slate-50\/95 {
  background-color: color-mix(in srgb, var(--med-page-mid) 88%, white) !important;
}

.menu-theme--mediterranean .bg-slate-100 {
  background-color: color-mix(in srgb, var(--med-page-mid) 72%, #bae6fd) !important;
}

.menu-theme--mediterranean .bg-white,
.menu-theme--mediterranean .bg-white\/95 {
  background-color: var(--med-surface) !important;
}

.menu-theme--mediterranean .supports-\[backdrop-filter\]\:bg-white\/80,
.menu-theme--mediterranean .supports-\[backdrop-filter\]\:bg-white\/90 {
  background-color: color-mix(in srgb, var(--med-surface) 92%, transparent) !important;
}

.menu-theme--mediterranean .text-slate-900,
.menu-theme--mediterranean .text-slate-800 {
  color: var(--med-sea) !important;
}

.menu-theme--mediterranean .text-slate-700,
.menu-theme--mediterranean .text-slate-600 {
  color: var(--med-muted) !important;
}

.menu-theme--mediterranean .text-slate-500,
.menu-theme--mediterranean .placeholder\:text-slate-400::placeholder {
  color: #64748b !important;
}

.menu-theme--mediterranean .border-slate-100,
.menu-theme--mediterranean .border-slate-100\/90,
.menu-theme--mediterranean .border-slate-200,
.menu-theme--mediterranean .border-slate-200\/80,
.menu-theme--mediterranean .border-slate-200\/90,
.menu-theme--mediterranean .border-slate-200\/95 {
  border-color: var(--med-border-soft) !important;
}

.menu-theme--mediterranean .divide-slate-100 > :not([hidden]) ~ :not([hidden]) {
  border-color: var(--med-border-soft) !important;
}

.menu-theme--mediterranean .ring-slate-200,
.menu-theme--mediterranean .ring-slate-200\/80 {
  --tw-ring-color: var(--med-border-soft) !important;
}

.menu-theme--mediterranean .ring-slate-900\/\[0\.04\],
.menu-theme--mediterranean .ring-slate-900\/\[0\.03\],
.menu-theme--mediterranean .ring-slate-900\/\[0\.06\],
.menu-theme--mediterranean .ring-slate-900\/\[0\.08\] {
  --tw-ring-color: rgb(14 165 233 / 0.08) !important;
}

.menu-theme--mediterranean .shadow-md,
.menu-theme--mediterranean .shadow-lg {
  --tw-shadow-color: rgb(14 165 233 / 0.14) !important;
}

.menu-theme--mediterranean .shadow-lg.shadow-slate-900\/\[0\.09\] {
  box-shadow:
    0 10px 40px -12px rgb(14 165 233 / 0.2),
    0 4px 14px -6px rgb(3 105 161 / 0.12),
    0 0 0 1px rgb(186 230 253 / 0.5) !important;
}

.menu-theme--mediterranean .sm\:hover\:shadow-xl {
  --tw-shadow-color: rgb(2 132 199 / 0.2) !important;
}

.menu-theme--mediterranean article.rounded-3xl {
  border-radius: 1.875rem !important;
}

.menu-theme--mediterranean .hover\:bg-slate-50:hover,
.menu-theme--mediterranean .hover\:bg-slate-100:hover,
.menu-theme--mediterranean .active\:bg-slate-50:active,
.menu-theme--mediterranean .active\:bg-slate-100:active {
  background-color: color-mix(in srgb, #e0f2fe 65%, white) !important;
}

.menu-theme--mediterranean .bg-slate-900,
.menu-theme--mediterranean .hover\:bg-slate-800:hover {
  background-color: var(--menu-primary-dark) !important;
  color: #fff !important;
}

.menu-theme--mediterranean .bg-slate-900.text-white,
.menu-theme--mediterranean .bg-slate-900 .text-white {
  color: #fff !important;
}

.menu-theme--mediterranean .bg-slate-200 {
  background-color: #e2e8f0 !important;
}

.menu-theme--mediterranean .from-white {
  --tw-gradient-from: var(--med-surface) var(--tw-gradient-from-position) !important;
}

.menu-theme--mediterranean .to-slate-50\/80,
.menu-theme--mediterranean .to-slate-50\/90,
.menu-theme--mediterranean .to-slate-50 {
  --tw-gradient-to: color-mix(in srgb, var(--med-page-mid) 75%, white) var(--tw-gradient-to-position) !important;
}

.menu-theme--mediterranean .from-slate-100,
.menu-theme--mediterranean .via-slate-50 {
  --tw-gradient-from: color-mix(in srgb, var(--med-page-mid) 70%, #bae6fd) var(--tw-gradient-from-position) !important;
}

/* Primary CTA: slightly softer, modern pill feel */
.menu-theme--mediterranean .rounded-2xl.bg-gradient-to-b.from-blue-600.to-blue-700 {
  border-radius: 1.125rem !important;
  box-shadow:
    0 4px 14px -2px color-mix(in srgb, var(--menu-primary) 45%, transparent),
    0 2px 6px -2px rgb(15 23 42 / 0.12) !important;
}

.menu-theme--mediterranean .rounded-full.border.border-indigo-400.bg-indigo-50 {
  border-color: color-mix(in srgb, var(--menu-primary) 35%, #c7d2fe) !important;
  background-color: var(--med-primary-soft-bg) !important;
  color: var(--menu-primary-dark) !important;
}

/*
 * Akdeniz (Mediterranean) layout: büyük başlık, yuvarlak kategori pill’leri,
 * geniş ürün kartları, mavi–beyaz mobil öncelikli düzen.
 */
.menu-theme--mediterranean .menu-med-shell .max-w-lg {
  max-width: min(100%, 26rem) !important;
}

@media (min-width: 640px) {
  .menu-theme--mediterranean .menu-med-shell .max-w-lg {
    max-width: min(100%, 30rem) !important;
  }
}

.menu-theme--mediterranean .menu-med-main {
  max-width: 26rem !important;
  padding-top: 1.5rem !important;
  padding-bottom: 2rem !important;
}

@media (min-width: 640px) {
  .menu-theme--mediterranean .menu-med-main {
    max-width: 30rem !important;
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
  }
}

/* Büyük kahraman başlık (logo + işletme adı) */
.menu-theme--mediterranean .menu-med-hero {
  background: linear-gradient(
    165deg,
    #ffffff 0%,
    color-mix(in srgb, var(--med-page-mid) 55%, white) 45%,
    color-mix(in srgb, #bfdbfe 22%, white) 100%
  ) !important;
  border-bottom-color: var(--med-border-soft) !important;
  padding-bottom: 0.25rem !important;
}

.menu-theme--mediterranean .menu-med-hero > div {
  padding-top: 0.875rem !important;
  padding-bottom: 1.25rem !important;
}

@media (min-width: 640px) {
  .menu-theme--mediterranean .menu-med-hero > div {
    padding-top: 1rem !important;
    padding-bottom: 1.5rem !important;
  }
}

.menu-theme--mediterranean .menu-med-hero .h-14.w-14 {
  width: 4.75rem !important;
  height: 4.75rem !important;
  border-radius: 1.25rem !important;
  box-shadow:
    0 12px 28px -8px rgb(14 165 233 / 0.22),
    0 0 0 1px rgb(255 255 255 / 0.9) !important;
}

@media (min-width: 640px) {
  .menu-theme--mediterranean .menu-med-hero .sm\:h-16.sm\:w-16 {
    width: 5.5rem !important;
    height: 5.5rem !important;
    border-radius: 1.375rem !important;
  }
}

.menu-theme--mediterranean .menu-med-hero h1 {
  font-size: 1.375rem !important;
  line-height: 1.25 !important;
  letter-spacing: -0.02em !important;
}

@media (min-width: 640px) {
  .menu-theme--mediterranean .menu-med-hero h1 {
    font-size: 1.625rem !important;
  }
}

.menu-theme--mediterranean .menu-med-hero .text-blue-600\/90,
.menu-theme--mediterranean .menu-med-hero .text-blue-600 {
  color: color-mix(in srgb, var(--menu-primary) 92%, #0c4a6e) !important;
}

.menu-theme--mediterranean .menu-med-hero .rounded-full.bg-blue-600 {
  background-color: var(--menu-primary) !important;
  box-shadow: 0 4px 14px -2px color-mix(in srgb, var(--menu-primary) 45%, transparent) !important;
}

/* Filtre: yuvarlak, dokunmaya uygun kategori düğmeleri */
.menu-theme--mediterranean .menu-filter-cat {
  min-height: 2.75rem !important;
  padding: 0.5rem 1.125rem !important;
  font-size: 0.875rem !important;
  line-height: 1.25rem !important;
  border-radius: 9999px !important;
}

.menu-theme--mediterranean .menu-filter-toggle {
  min-height: 2.625rem !important;
  padding: 0.45rem 1rem !important;
  font-size: 0.8125rem !important;
  border-radius: 9999px !important;
}

.menu-theme--mediterranean #menu-filters-reset.menu-filters-reset {
  min-height: 2.625rem !important;
  padding: 0.45rem 0.95rem !important;
  font-size: 0.8125rem !important;
  border-radius: 9999px !important;
}

/*
 * Ege (Eg1): Fraunces + Plus Jakarta Sans (Akdeniz: Cormorant + DM Sans).
 */
html.ege-theme-html {
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif !important;
}

body.menu-theme--ege.menu-ege-root {
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif !important;
  font-size: 0.875rem !important;
}

.menu-theme--ege .font-ege-display,
.menu-theme--ege .font-ege-serif {
  font-family: 'Fraunces', Georgia, 'Times New Roman', serif !important;
  font-optical-sizing: auto !important;
}

.menu-theme--ege .font-ege-sans {
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif !important;
}

/* Ege (Eg1) özel şablon — filtre chip ölçüleri */
.menu-theme--ege .menu-filter-cat {
  min-height: 2.5rem !important;
  padding: 0.45rem 1rem !important;
  font-size: 0.8125rem !important;
  line-height: 1.2rem !important;
  border-radius: 9999px !important;
}

.menu-theme--ege .menu-filter-toggle {
  min-height: 2.625rem !important;
  padding: 0.45rem 1rem !important;
  font-size: 0.8125rem !important;
  border-radius: 9999px !important;
}

.menu-theme--ege #menu-filters-reset.menu-filters-reset {
  min-height: 2.625rem !important;
  padding: 0.45rem 0.95rem !important;
  font-size: 0.8125rem !important;
  border-radius: 9999px !important;
}

/*
 * Anadolu (Ad1): Tailwind preflight html { Inter } ile çakışmayı önle.
 * Crimson Pro + Source Sans 3 (şablon ile aynı aile isimleri).
 */
html.ana-theme-html {
  font-family: 'Source Sans 3', system-ui, sans-serif !important;
}

body.menu-theme--anadolu.menu-anadolu-root {
  font-family: 'Source Sans 3', system-ui, sans-serif !important;
}

.menu-theme--anadolu .font-ana-serif {
  font-family: 'Crimson Pro', Georgia, 'Times New Roman', serif !important;
}

.menu-theme--anadolu .font-ana-sans {
  font-family: 'Source Sans 3', system-ui, sans-serif !important;
}

.menu-theme--anadolu .menu-filter-cat {
  min-height: 2.75rem !important;
  padding: 0.5rem 1.125rem !important;
  font-size: 0.875rem !important;
  line-height: 1.25rem !important;
  border-radius: 9999px !important;
}

.menu-theme--anadolu .menu-filter-toggle {
  min-height: 2.625rem !important;
  padding: 0.45rem 1rem !important;
  font-size: 0.8125rem !important;
  border-radius: 9999px !important;
}

.menu-theme--anadolu #menu-filters-reset.menu-filters-reset {
  min-height: 2.625rem !important;
  padding: 0.45rem 0.95rem !important;
  font-size: 0.8125rem !important;
  border-radius: 9999px !important;
}

/*
 * StreetBite (Sb1): Bebas Neue + DM Sans (şablon <link> ile aynı).
 */
html.sb-theme-html {
  font-family: 'DM Sans', system-ui, sans-serif !important;
}

body.menu-theme--streetbite.menu-streetbite-root {
  font-family: 'DM Sans', system-ui, sans-serif !important;
}

.menu-theme--streetbite .font-sb-display {
  font-family: 'Bebas Neue', Impact, system-ui, sans-serif !important;
  letter-spacing: 0.02em !important;
}

.menu-theme--streetbite .font-sb-sans {
  font-family: 'DM Sans', system-ui, sans-serif !important;
}

.menu-theme--streetbite .menu-filter-cat {
  min-height: 2.75rem !important;
  padding: 0.5rem 1.125rem !important;
  font-size: 0.875rem !important;
  line-height: 1.25rem !important;
  border-radius: 9999px !important;
}

.menu-theme--streetbite .menu-filter-toggle {
  min-height: 2.625rem !important;
  padding: 0.45rem 1rem !important;
  font-size: 0.8125rem !important;
  border-radius: 9999px !important;
}

.menu-theme--streetbite #menu-filters-reset.menu-filters-reset {
  min-height: 2.625rem !important;
  padding: 0.45rem 0.95rem !important;
  font-size: 0.8125rem !important;
  border-radius: 9999px !important;
}

/*
 * Miel (Cd1): Cormorant Garamond + Nunito (şablon <link> ile aynı).
 */
html.miel-theme-html {
  font-family: 'Nunito', system-ui, sans-serif !important;
}

body.menu-theme--miel.menu-miel-root {
  font-family: 'Nunito', system-ui, sans-serif !important;
}

.menu-theme--miel .font-miel-serif {
  font-family: 'Cormorant Garamond', Georgia, 'Times New Roman', serif !important;
}

.menu-theme--miel .font-miel-sans {
  font-family: 'Nunito', system-ui, sans-serif !important;
}

.menu-theme--miel .menu-filter-cat {
  min-height: 2.75rem !important;
  padding: 0.5rem 1.125rem !important;
  font-size: 0.875rem !important;
  line-height: 1.25rem !important;
  border-radius: 9999px !important;
}

.menu-theme--miel .menu-filter-toggle {
  min-height: 2.625rem !important;
  padding: 0.45rem 1rem !important;
  font-size: 0.8125rem !important;
  border-radius: 9999px !important;
}

.menu-theme--miel #menu-filters-reset.menu-filters-reset {
  min-height: 2.625rem !important;
  padding: 0.45rem 0.95rem !important;
  font-size: 0.8125rem !important;
  border-radius: 9999px !important;
}

/*
 * Love (Lv1): Playfair Display + Josefin Sans (şablon <link> ile aynı).
 */
html.love-theme-html {
  font-family: 'Josefin Sans', system-ui, sans-serif !important;
}

body.menu-theme--love.menu-love-root {
  font-family: 'Josefin Sans', system-ui, sans-serif !important;
}

.menu-theme--love .font-love-serif {
  font-family: 'Playfair Display', Georgia, 'Times New Roman', serif !important;
}

.menu-theme--love .font-love-sans {
  font-family: 'Josefin Sans', system-ui, sans-serif !important;
}

.menu-theme--love .menu-filter-cat {
  min-height: 2.75rem !important;
  padding: 0.5rem 1.125rem !important;
  font-size: 0.875rem !important;
  line-height: 1.25rem !important;
  border-radius: 9999px !important;
}

.menu-theme--love .menu-filter-toggle {
  min-height: 2.625rem !important;
  padding: 0.45rem 1rem !important;
  font-size: 0.8125rem !important;
  border-radius: 9999px !important;
}

.menu-theme--love #menu-filters-reset.menu-filters-reset {
  min-height: 2.625rem !important;
  padding: 0.45rem 0.95rem !important;
  font-size: 0.8125rem !important;
  border-radius: 9999px !important;
}

/*
 * Greenora (Gr1): Playfair Display + Poppins (şablon <link> ile aynı).
 */
html.greenora-theme-html {
  font-family: 'Poppins', system-ui, sans-serif !important;
}

body.menu-theme--greenora.menu-greenora-root {
  font-family: 'Poppins', system-ui, sans-serif !important;
}

.menu-theme--greenora .font-gro-serif {
  font-family: 'Playfair Display', Georgia, 'Times New Roman', serif !important;
}

.menu-theme--greenora .font-gro-sans {
  font-family: 'Poppins', system-ui, sans-serif !important;
}

.menu-theme--greenora .menu-filter-cat {
  min-height: 2.75rem !important;
  padding: 0.5rem 1.125rem !important;
  font-size: 0.875rem !important;
  line-height: 1.25rem !important;
  border-radius: 9999px !important;
}

.menu-theme--greenora .menu-filter-toggle {
  min-height: 2.625rem !important;
  padding: 0.45rem 1rem !important;
  font-size: 0.8125rem !important;
  border-radius: 9999px !important;
}

.menu-theme--greenora #menu-filters-reset.menu-filters-reset {
  min-height: 2.625rem !important;
  padding: 0.45rem 0.95rem !important;
  font-size: 0.8125rem !important;
  border-radius: 9999px !important;
}

/* Yatay kategori şeridi */
.menu-theme--mediterranean .menu-med-cat-nav .menu-cat-anchor {
  padding: 0.625rem 1.25rem !important;
  font-size: 0.9375rem !important;
  border-radius: 9999px !important;
  border-color: color-mix(in srgb, var(--menu-primary) 28%, #e2e8f0) !important;
  background-color: #ffffff !important;
}

.menu-theme--mediterranean .menu-med-cat-nav .menu-cat-anchor:hover {
  border-color: color-mix(in srgb, var(--menu-primary) 45%, #93c5fd) !important;
  background-color: color-mix(in srgb, var(--med-page-mid) 40%, white) !important;
  color: var(--menu-primary-dark) !important;
}

.menu-theme--mediterranean .menu-med-cat-nav .menu-cat-scroll {
  gap: 0.625rem !important;
  padding-top: 0.75rem !important;
  padding-bottom: 0.75rem !important;
}

/* Ürün kartları: daha büyük görsel ve tipografi */
.menu-theme--mediterranean .menu-category-section ul.flex.flex-col {
  gap: 1.375rem !important;
}

.menu-theme--mediterranean .menu-product-item article.rounded-3xl {
  border-radius: 1.875rem !important;
  box-shadow:
    0 16px 40px -12px rgb(14 165 233 / 0.18),
    0 6px 16px -8px rgb(3 105 161 / 0.12),
    0 0 0 1px rgb(186 230 253 / 0.55) !important;
}

.menu-theme--mediterranean .menu-product-item article .relative.h-44 {
  height: 15rem !important;
}

@media (min-width: 640px) {
  .menu-theme--mediterranean .menu-product-item article .sm\:h-36 {
    height: 11.5rem !important;
  }

  .menu-theme--mediterranean .menu-product-item article .sm\:w-36 {
    width: 11.5rem !important;
  }
}

.menu-theme--mediterranean .menu-product-item h3 {
  font-size: 1.1875rem !important;
  line-height: 1.35 !important;
}

@media (min-width: 640px) {
  .menu-theme--mediterranean .menu-product-item h3 {
    font-size: 1.25rem !important;
  }
}

.menu-theme--mediterranean .menu-product-item article .flex.min-w-0.flex-1.flex-col {
  padding: 1.125rem !important;
  padding-bottom: 1.375rem !important;
}

@media (min-width: 640px) {
  .menu-theme--mediterranean .menu-product-item article .sm\:p-5.sm\:pl-5 {
    padding: 1.375rem !important;
    padding-left: 1.375rem !important;
  }
}

.menu-theme--mediterranean .menu-product-item article button[data-menu-open-detail] {
  min-height: 3.125rem !important;
  border-radius: 1.125rem !important;
}

.menu-theme--mediterranean .menu-category-section .mb-3 h2 {
  font-size: 0.6875rem !important;
  letter-spacing: 0.16em !important;
  color: color-mix(in srgb, var(--med-sea) 55%, #64748b) !important;
}

/* Arama kutusu: temiz mavi vurgu */
.menu-theme--mediterranean .menu-med-shell input[type='search']#menu-search-input {
  border-radius: 1.125rem !important;
  min-height: 3rem !important;
  border-color: color-mix(in srgb, var(--menu-primary) 22%, #e2e8f0) !important;
  background-color: color-mix(in srgb, white 88%, var(--med-page-mid)) !important;
}

/* --- Aegean: white page, light blue accents, olive highlights, minimal --- */
.menu-theme--aegean {
  color-scheme: light;
  --aege-olive: #5c6d3e;
  --aege-olive-soft: #eef1e8;
  --aege-olive-border: rgb(92 109 62 / 0.22);
  --aege-sky-tint: #f0f9ff;
  --aege-border-sky: rgb(186 230 253 / 0.85);
  --aege-shadow: rgb(15 23 42 / 0.05);
}

body.menu-theme--aegean {
  background-color: #ffffff !important;
  color: #1e293b !important;
}

.menu-theme--aegean .bg-slate-50,
.menu-theme--aegean .bg-slate-50\/50,
.menu-theme--aegean .bg-slate-50\/80,
.menu-theme--aegean .bg-slate-50\/90,
.menu-theme--aegean .bg-slate-50\/95 {
  background-color: #fafbfc !important;
}

.menu-theme--aegean .bg-slate-100 {
  background-color: var(--aege-sky-tint) !important;
}

.menu-theme--aegean .bg-white,
.menu-theme--aegean .bg-white\/95 {
  background-color: #ffffff !important;
}

.menu-theme--aegean .supports-\[backdrop-filter\]\:bg-white\/80,
.menu-theme--aegean .supports-\[backdrop-filter\]\:bg-white\/90 {
  background-color: rgb(255 255 255 / 0.94) !important;
}

.menu-theme--aegean .border-slate-100,
.menu-theme--aegean .border-slate-100\/90,
.menu-theme--aegean .border-slate-200,
.menu-theme--aegean .border-slate-200\/80,
.menu-theme--aegean .border-slate-200\/90,
.menu-theme--aegean .border-slate-200\/95 {
  border-color: var(--aege-border-sky) !important;
}

.menu-theme--aegean .divide-slate-100 > :not([hidden]) ~ :not([hidden]) {
  border-color: var(--aege-border-sky) !important;
}

.menu-theme--aegean .ring-slate-200,
.menu-theme--aegean .ring-slate-200\/80 {
  --tw-ring-color: var(--aege-border-sky) !important;
}

.menu-theme--aegean .ring-slate-900\/\[0\.04\],
.menu-theme--aegean .ring-slate-900\/\[0\.03\],
.menu-theme--aegean .ring-slate-900\/\[0\.06\],
.menu-theme--aegean .ring-slate-900\/\[0\.08\] {
  --tw-ring-color: var(--aege-olive-border) !important;
}

/* Minimal shadows */
.menu-theme--aegean .shadow-sm {
  box-shadow: 0 1px 2px 0 var(--aege-shadow) !important;
}

.menu-theme--aegean .shadow-md {
  box-shadow:
    0 2px 6px -1px var(--aege-shadow),
    0 1px 3px -1px var(--aege-shadow) !important;
}

.menu-theme--aegean .shadow-lg.shadow-slate-900\/\[0\.09\] {
  box-shadow:
    0 4px 20px -6px rgb(14 165 233 / 0.1),
    0 1px 4px -1px var(--aege-shadow),
    0 0 0 1px var(--aege-olive-border) !important;
}

.menu-theme--aegean .sm\:hover\:shadow-xl {
  --tw-shadow-color: rgb(14 165 233 / 0.12) !important;
}

.menu-theme--aegean article.rounded-3xl {
  border-radius: 1.35rem !important;
}

.menu-theme--aegean .hover\:bg-slate-50:hover,
.menu-theme--aegean .hover\:bg-slate-100:hover,
.menu-theme--aegean .active\:bg-slate-50:active,
.menu-theme--aegean .active\:bg-slate-100:active {
  background-color: var(--aege-sky-tint) !important;
}

/* Dark UI bits → primary blue + olive ring on focus areas */
.menu-theme--aegean .bg-slate-900,
.menu-theme--aegean .hover\:bg-slate-800:hover {
  background-color: var(--menu-primary-dark) !important;
  color: #fff !important;
}

.menu-theme--aegean .bg-slate-900.text-white,
.menu-theme--aegean .bg-slate-900 .text-white {
  color: #fff !important;
}

.menu-theme--aegean .bg-slate-200 {
  background-color: var(--aege-olive-soft) !important;
}

.menu-theme--aegean .from-white {
  --tw-gradient-from: #ffffff var(--tw-gradient-from-position) !important;
}

.menu-theme--aegean .to-slate-50\/80,
.menu-theme--aegean .to-slate-50\/90,
.menu-theme--aegean .to-slate-50 {
  --tw-gradient-to: #fafbfc var(--tw-gradient-to-position) !important;
}

.menu-theme--aegean .from-slate-100,
.menu-theme--aegean .via-slate-50 {
  --tw-gradient-from: var(--aege-sky-tint) var(--tw-gradient-from-position) !important;
}

/* Category “all” chip: light blue (accent) */
.menu-theme--aegean .rounded-full.border.border-indigo-400.bg-indigo-50 {
  border-color: color-mix(in srgb, var(--menu-primary) 40%, #bae6fd) !important;
  background-color: color-mix(in srgb, var(--menu-primary) 8%, #f0f9ff) !important;
  color: var(--menu-primary-dark) !important;
}

/* Other category chips: olive-tinted border */
.menu-theme--aegean .menu-filter-cat.rounded-full.border.border-slate-200.bg-white {
  border-color: color-mix(in srgb, var(--aege-olive) 28%, #e2e8f0) !important;
}

.menu-theme--aegean .menu-filter-cat.hover\:border-indigo-300:hover {
  border-color: color-mix(in srgb, var(--menu-primary) 38%, #a5b4fc) !important;
}

/* PWA install: olive instead of emerald */
.menu-theme--aegean .border-emerald-200.bg-emerald-50 {
  border-color: color-mix(in srgb, var(--aege-olive) 35%, #d1fae5) !important;
  background-color: var(--aege-olive-soft) !important;
  color: var(--aege-olive) !important;
}

.menu-theme--aegean .hover\:border-emerald-300:hover,
.menu-theme--aegean .hover\:bg-emerald-100:hover {
  border-color: color-mix(in srgb, var(--aege-olive) 45%, #86efac) !important;
  background-color: color-mix(in srgb, var(--aege-olive-soft) 90%, white) !important;
}

/* Primary CTA: clean rounded, soft blue shadow */
.menu-theme--aegean .rounded-2xl.bg-gradient-to-b.from-blue-600.to-blue-700 {
  border-radius: 1.125rem !important;
  box-shadow:
    0 3px 12px -2px color-mix(in srgb, var(--menu-primary) 35%, transparent),
    0 0 0 1px color-mix(in srgb, var(--aege-olive) 15%, transparent) !important;
}

/* Table badge: subtle olive in ring */
.menu-theme--aegean .ring-blue-700\/25,
.menu-theme--aegean .ring-blue-700\/30 {
  --tw-ring-color: color-mix(in srgb, var(--aege-olive) 35%, var(--menu-primary)) !important;
}

/* --- Anatolian: warm earth tones, terracotta, saffron, cream --- */
.menu-theme--anatolian {
  color-scheme: light;
  --anat-earth: #854d0e;
  --anat-terra: #b45309;
  --anat-terra-dark: #92400e;
  --anat-saffron: #f59e0b;
  --anat-cream: #fffbeb;
  --anat-page: #fef3c7;
  --anat-surface: #ffffff;
  --anat-border: rgb(217 119 6 / 0.25);
  --anat-text: #451a03;
  --anat-text-muted: #78350f;
  --anat-primary-soft-bg: color-mix(in srgb, var(--menu-primary) 15%, var(--anat-cream));
}

body.menu-theme--anatolian {
  background-color: var(--anat-page) !important;
  background-image: radial-gradient(var(--anat-border) 0.5px, transparent 0.5px) !important;
  background-size: 24px 24px !important;
  color: var(--anat-text) !important;
  font-family: 'Outfit', sans-serif;
}

.menu-theme--anatolian .bg-white,
.menu-theme--anatolian .bg-white\/95 {
  background-color: var(--anat-surface) !important;
}

.menu-theme--anatolian .bg-slate-50,
.menu-theme--anatolian .bg-slate-50\/50,
.menu-theme--anatolian .bg-slate-100 {
  background-color: var(--anat-cream) !important;
}

.menu-theme--anatolian .text-slate-900,
.menu-theme--anatolian .text-slate-800 {
  color: var(--anat-text) !important;
}

.menu-theme--anatolian .text-slate-700,
.menu-theme--anatolian .text-slate-600 {
  color: var(--anat-text-muted) !important;
}

.menu-theme--anatolian .border-slate-100,
.menu-theme--anatolian .border-slate-200 {
  border-color: var(--anat-border) !important;
}

.menu-theme--anatolian .rounded-3xl {
  border-radius: 1.5rem !important;
}

.menu-theme--anatolian article.rounded-3xl {
  box-shadow:
    0 10px 15px -3px rgb(120 53 15 / 0.1),
    0 4px 6px -4px rgb(120 53 15 / 0.1) !important;
  border: 1px solid var(--anat-border) !important;
}

.menu-theme--anatolian .menu-product-item h3 {
  color: var(--anat-terra-dark) !important;
  font-weight: 700 !important;
}

/* Category pills: terracotta style */
.menu-theme--anatolian .menu-filter-cat.rounded-full {
  border-radius: 0.75rem !important;
  border-color: var(--anat-border) !important;
}

.menu-theme--anatolian .rounded-full.border.border-indigo-400.bg-indigo-50 {
  background-color: var(--anat-terra) !important;
  border-color: var(--anat-terra-dark) !important;
  color: #ffffff !important;
}

/* Primary button: Saffron/Terracotta gradient */
.menu-theme--anatolian .rounded-2xl.bg-gradient-to-b.from-blue-600.to-blue-700 {
  background: linear-gradient(180deg, var(--anat-saffron) 0%, var(--anat-terra) 100%) !important;
  border-color: var(--anat-terra-dark) !important;
  color: #ffffff !important;
  box-shadow: 0 4px 12px -2px rgb(180 83 9 / 0.3) !important;
}

/* Details modal/panel enhancements for Anatolian */
.menu-theme--anatolian .supports-\[backdrop-filter\]\:bg-white\/80 {
  background-color: rgba(255, 251, 235, 0.9) !important;
}

/* --- Carnaval (Cv1): dark + mat altın (sessiz lüks) --- */
.menu-theme--carnival {
  color-scheme: dark;
}

.menu-theme--carnival .menu-filter-cat--on {
  border: 1px solid rgba(201, 162, 39, 0.42) !important;
  background-color: rgba(201, 162, 39, 0.12) !important;
  color: #f4f4f5 !important;
  box-shadow: 0 1px 3px rgb(0 0 0 / 0.35);
}

.menu-theme--carnival .menu-filter-cat--off {
  border: 1px solid rgb(255 255 255 / 0.08) !important;
  background-color: rgb(26 26 29 / 0.95) !important;
  color: #a1a1aa !important;
  box-shadow: none;
}

.menu-theme--carnival .menu-filter-cat--off:hover {
  border-color: rgb(255 255 255 / 0.14) !important;
  background-color: rgb(36 36 40 / 0.98) !important;
  color: #e4e4e7 !important;
}

/**
 * Carnaval: JS `menu-public` indirim/popüler/stok pill’lerine açık tema utility’leri basar;
 * `.crv-filter-root` ile sessiz lüks (koyu + mat altın) üzerine yazılır.
 */
.crv-filter-root .menu-filter-toggle {
  border-color: rgb(255 255 255 / 0.1) !important;
  background-color: var(--crv-surface-2, #141416) !important;
  color: #a1a1aa !important;
  box-shadow: none !important;
  --tw-ring-color: rgb(255 255 255 / 0.06) !important;
}

.crv-filter-root .menu-filter-toggle:hover {
  border-color: rgb(255 255 255 / 0.14) !important;
  background-color: var(--crv-surface, #1a1a1d) !important;
  color: #e4e4e7 !important;
}

.crv-filter-root .menu-filter-toggle.border-rose-400,
.crv-filter-root .menu-filter-toggle.border-amber-400,
.crv-filter-root .menu-filter-toggle.border-emerald-400 {
  border-color: rgba(201, 162, 39, 0.42) !important;
  background-color: rgba(201, 162, 39, 0.12) !important;
  color: #f4f4f5 !important;
  --tw-ring-color: rgba(201, 162, 39, 0.22) !important;
}

/* QR menü: iki sütun — Tailwind content listesinde olmayan şablonlar için grid burada garanti */
.menu-product-list.menu-product-list--cols-2 {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
}

@media (min-width: 640px) {
  .menu-product-list.menu-product-list--cols-2 {
    gap: 1.25rem;
  }
}

/* QR menü: iki sütun — Akdeniz / Ege / Anadolu / Carnaval kartları dar sütunda dikey */
.menu-product-list--cols-2 > .menu-akd-card > .flex,
.menu-product-list--cols-2 > .menu-ege-card > .flex,
.menu-product-list--cols-2 > .menu-ana-card > .flex,
.menu-product-list--cols-2 > .menu-crv-card > .flex,
.menu-product-list--cols-2 > .menu-sb-card > .flex,
.menu-product-list--cols-2 > .menu-miel-card > .flex,
.menu-product-list--cols-2 > .menu-love-card > .flex,
.menu-product-list--cols-2 > .menu-greenora-card > .flex {
  flex-direction: column;
}

.menu-product-list--cols-2 > .menu-akd-card > .flex > div:first-child,
.menu-product-list--cols-2 > .menu-ege-card > .flex > div:first-child,
.menu-product-list--cols-2 > .menu-ana-card > .flex > div:first-child,
.menu-product-list--cols-2 > .menu-crv-card > .flex > div:first-child,
.menu-product-list--cols-2 > .menu-sb-card > .flex > div:first-child,
.menu-product-list--cols-2 > .menu-miel-card > .flex > div:first-child,
.menu-product-list--cols-2 > .menu-love-card > .flex > div:first-child,
.menu-product-list--cols-2 > .menu-greenora-card > .flex > div:first-child {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  min-width: 0;
  aspect-ratio: 1;
  max-height: 7.5rem;
  align-self: stretch;
}

/* Ege magazine kartı: yatay .flex yok; dar iki sütunda taşmayı önle */
.menu-product-list--cols-2 > .menu-ege-card--magazine {
  min-width: 0;
}
