/* ======================================================
   ğŸ’¡ LIGHT MODE & DARK MODE TEMA MÄ°MARÄ°SÄ°
   ====================================================== */
:root {
  --bg-main: #000000;
  --bg-card: #121212;
  --bg-box: #1e1e1e;
  --bg-modal: #1a1a1a;
  --text-main: #ffffff;
  --text-muted: #b0b0b0;
  --text-accent: #c5a059;
  --border-color: #333333;
}

body.light-mode {
  --bg-main: #f8f9fa;
  --bg-card: #ffffff;
  --bg-box: #f1f3f5;
  --bg-modal: #ffffff;
  --text-main: #1a1a1a;
  --text-muted: #666666;
  --text-accent: #b3843b;
  --border-color: #e2e8f0;
}

body {
  background-color: var(--bg-main) !important;
  color: var(--text-main) !important;
  transition: background-color 0.3s ease, color 0.3s ease;
}

.offer_menu_section, .tab-pane, .menulist_box {
  background-color: var(--bg-main) !important;
}

.menulist_box {
  border-color: var(--border-color) !important;
}

.dishName h4, .price {
  color: var(--text-main) !important;
}

.description p {
  color: var(--text-muted) !important;
}

/* Modal Light Mode UyumlarÄ± */
.modal-content {
  background-color: var(--bg-modal) !important;
  color: var(--text-main) !important;
  border-color: var(--text-accent) !important;
}

.modal-body p {
  color: var(--text-muted) !important;
}

/* Tema Butonu TasarÄ±mÄ± */
.theme_switch {
  display: inline-flex;
  align-items: center;
  background-color: #1e1e1e;
  border: 1px solid #c5a059;
  border-radius: 20px;
  padding: 3px 10px;
  margin-left: 10px;
  cursor: pointer;
  color: #c5a059;
  font-size: 12px;
  font-weight: bold;
}

body.light-mode .theme_switch {
  background-color: #ffffff;
  border-color: #b3843b;
  color: #b3843b;
}

/* --- Ã–ZEL ROZET TASARIMLARI --- */
.offer_menu_section .dishName .badge-chef,
.offer_menu_section .dishName .badge-vegan,
.offer_menu_section .dishName .badge-spicy {
  white-space: nowrap !important;
  display: inline-block !important;
  padding: 3px 8px !important;
  font-size: 11px !important;
  font-weight: bold !important;
  line-height: 1 !important;
  border-radius: 4px !important;
}

.offer_menu_section .dishName .badge-chef {
  background-color: #c5a059 !important;
  color: #121212 !important;
}

.offer_menu_section .dishName .badge-vegan {
  background-color: #27ae60 !important;
  color: #ffffff !important;
}

.offer_menu_section .dishName .badge-spicy {
  background-color: #e74c3c !important;
  color: #ffffff !important;
}

/* Dil DeÄŸiÅŸtirici AlanÄ± */
.lang_switch {
  display: inline-flex;
  align-items: center;
  background-color: #1e1e1e;
  border: 1px solid #c5a059;
  border-radius: 20px;
  padding: 3px 10px;
  margin-left: 15px;
}

.lang_btn {
  background: none;
  border: none;
  color: #a0a0a0;
  font-size: 12px;
  font-weight: bold;
  cursor: pointer;
  padding: 2px 5px;
  transition: color 0.2s ease;
}

.lang_btn.active, .lang_btn:hover {
  color: #c5a059 !important;
}

.lang_sep {
  color: #444;
  font-size: 11px;
  margin: 0 2px;
}

/* Kalori ve Fiyat HizalarÄ± */
.offer_menu_section .info {
  position: relative !important;
}

.offer_menu_section .info > p {
  position: static !important;
  display: block !important;
  clear: both !important;
  margin-top: 4px !important;
  margin-bottom: 8px !important;
  color: #e5a93c !important;
  font-size: 13px !important;
}

.offer_menu_section .price {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  white-space: nowrap !important;
  margin-left: auto !important;
  flex-shrink: 0 !important;
  font-size: 18px !important;
  font-weight: bold !important;
}

.offer_menu_section .price .old-price {
  color: #888888 !important;
  font-size: 14px !important;
  text-decoration: line-through !important;
  font-weight: normal !important;
}

.offer_menu_section .price .discount-price {
  color: #e74c3c !important;
  font-size: 18px !important;
  font-weight: bold !important;
}

.offer_menu_section .mainCource .img {
  margin-right: 15px !important;
  flex-shrink: 0 !important;
}

.offer_menu_section .mainCource {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
}

.offer_menu_section .dishName {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}

.offer_menu_section .dishName h4 {
  margin-bottom: 0 !important;
  line-height: 1.3 !important;
}

.offer_menu_section .dishName .new {
  white-space: nowrap !important;
  display: inline-block !important;
  padding: 3px 8px !important;
  font-size: 11px !important;
  font-weight: bold !important;
  line-height: 1 !important;
  border-radius: 4px !important;
}

/* Tooltip YapÄ±sÄ± */
.icon-tooltip {
  position: relative;
  display: inline-block;
  cursor: pointer;
}

.icon-tooltip::after {
  content: attr(data-tooltip);
  position: absolute;
  bottom: 120%;
  left: 50%;
  transform: translateX(-50%);
  background-color: #1e1e1e;
  color: #c5a059;
  font-size: 11px;
  font-weight: bold;
  padding: 3px 8px;
  border-radius: 4px;
  border: 1px solid #c5a059;
  white-space: nowrap;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s ease, visibility 0.2s ease;
  z-index: 10;
  pointer-events: none;
}

.icon-tooltip:hover::after,
.icon-tooltip:active::after {
  opacity: 1;
  visibility: visible;
}

/* ======================================================
   ğŸ’¡ LIGHT MODE Ã–ZEL SÃœZGEÃ‡ VE DÃœZELTME KURALLARI
   ====================================================== */

/* 1. Alerjen Sabit Beyaz Font Rengi DÃ¼zeltmesi */
body.light-mode .description strong font[color="#fff"],
body.light-mode .description strong font[color="white"] {
  color: #c0392b !important;
}

/* 2. Beyaz Ä°konlarÄ± Otomatik Koyu Ä°kona DÃ¶nÃ¼ÅŸtÃ¼rme */
body.light-mode .description img,
body.light-mode .icon-tooltip img {
  filter: invert(1) brightness(0.2) !important;
  transition: filter 0.3s ease;
}

/* 3. Slider Galeri AlanÄ±nÄ±n Arka Plan DÃ¼zeltmesi */
.gallery_slider, 
.offer_menu, 
.gallery_slider .owl-stage-outer,
.gallery_slider .item {
  background-color: var(--bg-main) !important;
  transition: background-color 0.3s ease;
}

/* 4. Light Mode Rezervasyon NumarasÄ± ve Metni DÃ¼zeltmesi */
body.light-mode .contact_number .nav-link,
body.light-mode .contact_number .nav-link span {
  color: #121212 !important;
}

/* 5. Light Mode Logo Renk DÃ¶nÃ¼ÅŸÃ¼mÃ¼ */
body.light-mode .navbar-brand img {
  filter: invert(1) brightness(0.1) !important;
  transition: filter 0.3s ease;
}

/* 6. Light Mode Header (Ãœst MenÃ¼) KaydÄ±rma Temizleyicisi (Siyah Resmi Siler) */
body.light-mode header,
body.light-mode header.fixed,
body.light-mode header.fix_style,
body.light-mode header .navbar,
body.light-mode header::before,
body.light-mode header::after {
  background: #ffffff !important;
  background-image: none !important;
  opacity: 1 !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1) !important;
  border-bottom: 1px solid #e2e8f0 !important;
}

 /* ======================================================
   ?? GARSON ÇAĞIRMA & HESAP İSTEME BOTTOM BAR & MODAL STİLLERİ
   ====================================================== */

/* Ekranın En Altındaki Sabit Aksiyon Barı */
.quick_action_bar {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  background: var(--bg-box);
  border-top: 1px solid var(--border-color);
  padding: 10px 15px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  z-index: 1040;
  box-shadow: 0 -4px 15px rgba(0,0,0,0.3);
}

.table_info_badge {
  background-color: var(--text-accent);
  color: #121212;
  font-weight: bold;
  font-size: 12px;
  padding: 6px 12px;
  border-radius: 20px;
  white-space: nowrap;
}

.action_bar_btns {
  display: flex;
  gap: 8px;
  width: 100%;
  justify-content: flex-end;
}

.btn_waiter, .btn_pay {
  border: none;
  border-radius: 25px;
  padding: 8px 14px;
  font-size: 12px;
  font-weight: bold;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: transform 0.2s ease, opacity 0.2s ease;
}

.btn_waiter {
  background: #e67e22;
  color: #fff;
}

.btn_pay {
  background: #27ae60;
  color: #fff;
}

.btn_waiter:active, .btn_pay:active {
  transform: scale(0.95);
}

.btn_waiter:disabled {
  background: #7f8c8d !important;
  cursor: not-allowed;
  opacity: 0.7;
}

/* Seçenek Kutu Butonları (Modal İçi) */
.option_select_btn {
  background-color: var(--bg-box);
  border: 1px solid var(--border-color);
  color: var(--text-main);
  width: 100%;
  text-align: left;
  padding: 12px 15px;
  margin-bottom: 8px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  transition: all 0.2s ease;
}

.option_select_btn:hover {
  border-color: var(--text-accent);
  color: var(--text-accent);
}

body.light-mode .quick_action_bar {
  background: #ffffff !important;
  border-top-color: #e2e8f0 !important;
}

/* Alt Barın Alt Menüyü Kapatmaması İçin Sayfa Altı Boşluğu */
body {
  padding-bottom: 70px !important;
}
 
/* ======================================================
   ?? FIREFOX & ALL BROWSERS WI-FI BUTON SIFIRLAMA
   ====================================================== */
.wifi_switch {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px !important;
  
  /* Tarayıcı varsayılan buton stillerini kesin olarak ez */
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  
  background-color: #1e1e1e !important; /* Arka planı siyaha kilitler */
  background-image: none !important;
  border: 1px solid #c5a059 !important; /* Altın sarısı kenarlık */
  outline: none !important; /* Firefox siyah odaklama çizgisini siler */
  box-shadow: none !important;
  
  border-radius: 20px !important;
  padding: 3px 10px !important;
  cursor: pointer !important;
  color: #c5a059 !important;
  font-size: 11px !important;
  font-weight: bold !important;
  white-space: nowrap !important;
  height: 28px !important;
}

/* Firefox için Buton İç Padding & Focus Temizliği */
.wifi_switch::-moz-focus-inner {
  border: 0 !important;
  padding: 0 !important;
}

.wifi_switch:focus,
.wifi_switch:active {
  outline: none !important;
  box-shadow: 0 0 5px rgba(197, 160, 89, 0.5) !important;
}

/* Light Mode Uyumları */
body.light-mode .wifi_switch {
  background-color: #ffffff !important;
  border-color: #b3843b !important;
  color: #b3843b !important;
}
/* ======================================================
   ?? 2. "TÜKENDİ / STOKTA YOK" ROZETİ VE ENGELİ
   ====================================================== */
li.out-of-stock {
  opacity: 0.55 !important;
  position: relative !important;
  pointer-events: none !important; /* Tıklanmayı engeller */
}

li.out-of-stock .mainCource .img {
  position: relative !important;
}

/* Görselin Üzerine Tükendi Etiketi (Unicode Düzeltmeli) */
li.out-of-stock .mainCource .img::after {
  content: "T\00DC KEND\0130" !important; /* Ü -> \00DC | İ -> \0130 */
  position: absolute !important;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.75) !important;
  color: #e74c3c !important;
  font-size: 11px !important;
  font-weight: bold !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 8px !important;
  letter-spacing: 0.5px !important;
}

body.light-mode li.out-of-stock .mainCource .img::after {
  background: rgba(255, 255, 255, 0.85) !important;
  color: #c0392b !important;
}

/* ======================================================
   ?? 3. TAHMİNİ HAZIRLANMA SÜRESİ (PREP TIME) ROZETİ
   ====================================================== */
.prep_time_badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  background-color: var(--bg-box) !important;
  border: 1px solid var(--border-color) !important;
  color: var(--text-muted) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  padding: 2px 7px !important;
  border-radius: 12px !important;
  margin-left: 8px !important;
  vertical-align: middle !important;
}
 
/* ==========================================
   ??? SAĞLIK MODALI İÇ KAPATMA (X) BUTONU
   ========================================== */
.health-close-btn {
  background: transparent !important;
  border: none !important;
  color: #c5a059 !important; /* Altın sarısı X */
  font-size: 26px !important;
  font-weight: bold !important;
  line-height: 1 !important;
  padding: 0 !important;
  margin: 0 !important;
  cursor: pointer !important;
  opacity: 0.8 !important;
  outline: none !important;
  box-shadow: none !important;
}

.health-close-btn:hover {
  opacity: 1 !important;
  color: #fff !important;
}
 
/* ==========================================
   ??? BİLGİSAYAR GÖRÜNTÜSÜNÜ MOBİLE BİREBİR ZORLAMA
   ========================================== */
#healthModal .modal-dialog {
  max-width: 480px !important;
  margin: 1.75rem auto !important;
  padding: 0 12px !important;
}

#healthModal .modal-content {
  background-color: #121212 !important;
  border: 1px solid #c5a059 !important; /* Altın Sarı İnce Çerçeve */
  border-radius: 16px !important;       /* Yuvarlatılmış Köşeler */
  box-shadow: 0 10px 30px rgba(0,0,0,0.9) !important;
  overflow: hidden !important;
}

/* Header & Başlık Hizalaması */
#healthModal .modal-header {
  border-bottom: 1px solid #222 !important;
  padding: 16px 20px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}

#healthModal .modal-title {
  color: #c5a059 !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  margin: 0 !important;
}

/* Kapatma (X) Butonu */
#healthModal .health-close-btn,
#healthModal .health-modal-close-btn {
  background: transparent !important;
  border: none !important;
  color: #c5a059 !important;
  font-size: 24px !important;
  font-weight: bold !important;
  opacity: 0.8 !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
  outline: none !important;
  width: auto !important;
  height: auto !important;
}

/* Kutucuklar (Grid ve Butonlar) */
#healthModal .allergen-grid,
#healthModal .health-allergen-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 10px !important;
  margin-top: 15px !important;
}

#healthModal .allergen-box,
#healthModal .health-allergen-item {
  background-color: #1a1a1a !important;
  border: 1px solid #333 !important;
  border-radius: 10px !important;
  padding: 12px 10px !important;
  color: #fff !important;
  font-size: 12px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  margin: 0 !important;
  height: 100% !important;
}

/* Checkbox (Beyaz Kare Kutucuklar) */
#healthModal input[type="checkbox"] {
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  accent-color: #c5a059 !important;
  margin: 0 !important;
  cursor: pointer !important;
}

/* Footer ve Sıfırla / Filtreyi Uygula Butonları */
#healthModal .modal-footer,
#healthModal .health-modal-footer {
  border-top: 1px solid #222 !important;
  padding: 14px 20px !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  background: transparent !important;
}

#healthModal .btn-outline-secondary,
#healthModal .btn-health-reset {
  background: transparent !important;
  border: 1px solid #444 !important;
  color: #aaa !important;
  border-radius: 8px !important;
  padding: 8px 16px !important;
  font-size: 13px !important;
}

#healthModal .btn-health-apply,
#healthModal button[onclick="applyHealthFilter()"] {
  background-color: #c5a059 !important;
  color: #000 !important;
  font-weight: 700 !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 8px 20px !important;
  font-size: 13px !important;
}
/* ======================================================
   ?? HEADER & BUTON GRUBU (SAĞ MARGİN İLE SOLA ÇEKME)
   ====================================================== */

/* Navbar Genel Hizalaması ve Sağ Boşluk */
header .navbar {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding-top: 5px !important;
  padding-bottom: 5px !important;
  padding-left: 10px !important;
  padding-right: 0px !important; /* Sağ padding sıfırlandı, margin tam çalışsın */
}

/* Logo Ayarı */
.navbar-brand {
  margin-right: 5px !important;
  padding: 0 !important;
  flex-shrink: 1 !important;
}

.navbar-brand img {
  max-height: 38px !important;
  width: auto !important;
}

/* Buton Grubu ve Ekranın Sağ Sınırından İÇERİ (SOLA) İtme */
.header_right_actions {
  display: flex !important;
  align-items: center !important;
  gap: 5px !important;
  margin-left: auto !important;
  margin-right: 18px !important; /* DİL SEÇENEĞİNİ SAĞ DUVARDAN SOLA ÇEKEN ANA KURAL */
  flex-wrap: nowrap !important;
}

/* Buton Boyutları */
.theme_switch,
.wifi_switch,
.lang_switch {
  margin-left: 0 !important;
  padding: 3px 8px !important;
  font-size: 11px !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
  height: 28px !important;
  display: inline-flex !important;
  align-items: center !important;
}

.lang_switch {
  margin-right: 0 !important;
}

.lang_btn {
  padding: 0 3px !important;
  font-size: 11px !important;
}

/* Dar Ekranlı Telefonlar İçin Garanti Boyut */
@media (max-width: 400px) {
  .header_right_actions {
    margin-right: 12px !important; /* Çok küçük ekranlarda taşmasın diye dengeli margin */
    gap: 3px !important;
  }
  .theme_switch, .wifi_switch, .lang_switch {
    padding: 2px 5px !important;
    font-size: 10px !important;
  }
  .navbar-brand img {
    max-height: 32px !important;
  }
}
/* ==========================================
   ??? SAĞLIK MODALI HEADER VE (X) HİZALAMA KESİN ÇÖZÜM
   ========================================== */
#healthModal .health-modal-header-fix {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  position: relative !important;
  padding: 16px 20px !important;
  border-bottom: 1px solid #222 !important;
  background: transparent !important;
}

#healthModal .health-close-btn-fix {
  position: absolute !important;
  right: 18px !important;
  top: 50% !important;
  transform: translateY(-50%) !important; /* Dikeyde tam ortalar */
  background: transparent !important;
  border: none !important;
  color: #c5a059 !important;
  font-size: 26px !important;
  font-weight: bold !important;
  line-height: 1 !important;
  padding: 0 !important;
  margin: 0 !important;
  cursor: pointer !important;
  opacity: 0.8 !important;
  outline: none !important;
  box-shadow: none !important;
  width: auto !important;
  height: auto !important;
}

#healthModal .health-close-btn-fix:hover {
  opacity: 1 !important;
  color: #fff !important;
}
/* ==========================================
   ?? MODAL İÇİ HAZIRLANMA SÜRESİ & BESİN KUTUSU
   ========================================== */

/* Açıklamanın Altındaki Hazırlanma Rozeti */
.prep-time-badge-modal {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  background: #1e1e1e !important;
  border: 1px solid #c5a059 !important;
  color: #c5a059 !important;
  font-size: 12px !important;
  padding: 5px 12px !important;
  border-radius: 20px !important;
  margin-top: 8px !important;
  margin-bottom: 15px !important;
}

.prep-time-badge-modal strong {
  color: #ffffff !important;
}

/* Light Mode Uyum */
body.light-mode .prep-time-badge-modal {
  background: #f8f9fa !important;
  border-color: #b3843b !important;
  color: #b3843b !important;
}

body.light-mode .prep-time-badge-modal strong {
  color: #121212 !important;
}
/* ==========================================
   ?? BESİN DEĞERLERİ TABLO KUTUSU (RESİM KOPYASI)
   ========================================== */
.nutrition-card-box {
  background: #181818 !important;
  border: 1px solid #2e2e2e !important;
  border-radius: 12px !important;
  padding: 14px 16px !important;
  margin-top: 12px !important;
  margin-bottom: 12px !important;
}

.nutrition-card-title {
  color: #c5a059 !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: 0.8px !important;
  text-transform: uppercase !important;
  margin-bottom: 12px !important;
}

/* 4'lü Sütun Hizalama */
.nutrition-card-grid {
  display: grid !important;
  grid-template-columns: 1.2fr 1fr 1fr 1fr !important;
  gap: 8px !important;
  align-items: start !important;
}

.nut-card-item {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
}

.nut-label {
  font-size: 11px !important;
  color: #888888 !important;
  font-weight: 500 !important;
}

.nut-value {
  font-size: 12px !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}

/* Light Mode Uyumları */
body.light-mode .nutrition-card-box {
  background: #f1f3f5 !important;
  border-color: #e2e8f0 !important;
}

body.light-mode .nutrition-card-title {
  color: #b3843b !important;
}

body.light-mode .nut-value {
  color: #1a1a1a !important;
}
/* ==========================================
   ?? LIGHT MODE DİL SEÇENEĞİ (LANG SWITCH) UYUMU
   ========================================== */
body.light-mode .lang_switch {
  background-color: #ffffff !important;
  border-color: #b3843b !important;
}

body.light-mode .lang_btn {
  color: #666666 !important;
}

body.light-mode .lang_btn.active,
body.light-mode .lang_btn:hover {
  color: #b3843b !important;
}

body.light-mode .lang_sep {
  color: #ccc !important;
}