/* Tema Değişkenleri */
:root {
  --main-bg: #f4f1e8;
  --primary-color: #8b4513;
  --primary-light: #a0522d;
  --primary-hover: #9a4a1a;
  --primary-dark: #654321;
  --btn-gradient: linear-gradient(135deg, #8b4513, #a0522d);
  --waiter-gradient: linear-gradient(90deg, #8b4513, #654321);
  --waiter-gradient-hover: linear-gradient(90deg, #a0522d, #8b4513);
  --waiter-active-gradient: linear-gradient(90deg, #24d35b, #16b642);
  --text-light: #fff;
  --text-dark: #333;
  --border-color: #d2b48c;
  --hover-bg: #f5f5dc;
  --hover-text: #8b4513;
  --primary-shadow: rgba(139, 69, 19, 0.3);
  --primary-shadow-hover: rgba(139, 69, 19, 0.4);
  --card-border: #ddd;
  --sidebar-border: #eee;
  --shadow-color: rgba(0, 0, 0, 0.5);
  --primary-shadow-success: rgba(22, 182, 66, 0.18);
  --primary-focus: #16b64255;
  --badge-bg: var(--primary-color);
  --card-bg: #ffffff;
  --navbar-text: var(--text-light);
}

/* Temaya özel değişkenler (kısaltılmış, sadece kullanılanlar bırakıldı) */
[data-theme="red"] {
  --main-bg: #fff9f9;
  --primary-color: #b30000;
  --primary-light: #e67373;
  --primary-hover: #e53935;
  --primary-dark: #c62828;
  --btn-gradient: linear-gradient(135deg, #c70000, #e60000);
  --waiter-gradient: linear-gradient(90deg, #d32f2f, #b71c1c);
  --waiter-gradient-hover: linear-gradient(90deg, #e53935, #c62828);
  --waiter-active-gradient: linear-gradient(90deg, #24d35b, #16b642);
  --text-light: #fff;
  --text-dark: #333;
  --border-color: #ffcccc;
  --hover-bg: #ffe6e6;
  --hover-text: #b30000;
  --card-border: #ddd;
  --sidebar-border: #eee;
  --shadow-color: rgba(0, 0, 0, 0.5);
  --primary-shadow: rgba(199, 0, 0, 0.3);
  --primary-shadow-hover: rgba(199, 0, 0, 0.4);
  --primary-shadow-success: rgba(22, 182, 66, 0.18);
  --primary-focus: #16b64255;
  --badge-bg: var(--primary-color);
  --card-bg: #ffffff;
  --navbar-text: var(--text-light);
}
[data-theme="blue"] {
  --main-bg: #f0f8ff;
  --primary-color: #1e40af;
  --primary-light: #60a5fa;
  --primary-hover: #3b82f6;
  --primary-dark: #1d4ed8;
  --btn-gradient: linear-gradient(135deg, #2563eb, #3b82f6);
  --waiter-gradient: linear-gradient(90deg, #1e40af, #1d4ed8);
  --waiter-gradient-hover: linear-gradient(90deg, #3b82f6, #2563eb);
  --border-color: #bfdbfe;
  --hover-bg: #dbeafe;
  --hover-text: #1e40af;
  --primary-shadow: rgba(30, 64, 175, 0.3);
  --primary-shadow-hover: rgba(30, 64, 175, 0.4);
}
[data-theme="green"] {
  --main-bg: #f0fdf4;
  --primary-color: #15803d;
  --primary-light: #4ade80;
  --primary-hover: #22c55e;
  --primary-dark: #166534;
  --btn-gradient: linear-gradient(135deg, #16a34a, #22c55e);
  --waiter-gradient: linear-gradient(90deg, #15803d, #166534);
  --waiter-gradient-hover: linear-gradient(90deg, #22c55e, #16a34a);
  --border-color: #bbf7d0;
  --hover-bg: #dcfce7;
  --hover-text: #15803d;
  --primary-shadow: rgba(21, 128, 61, 0.3);
  --primary-shadow-hover: rgba(21, 128, 61, 0.4);
}
[data-theme="purple"] {
  --main-bg: #faf5ff;
  --primary-color: #7c3aed;
  --primary-light: #a78bfa;
  --primary-hover: #8b5cf6;
  --primary-dark: #6d28d9;
  --btn-gradient: linear-gradient(135deg, #7c3aed, #8b5cf6);
  --waiter-gradient: linear-gradient(90deg, #7c3aed, #6d28d9);
  --waiter-gradient-hover: linear-gradient(90deg, #8b5cf6, #7c3aed);
  --border-color: #ddd6fe;
  --hover-bg: #ede9fe;
  --hover-text: #7c3aed;
  --primary-shadow: rgba(124, 58, 237, 0.3);
  --primary-shadow-hover: rgba(124, 58, 237, 0.4);
}
[data-theme="orange"] {
  --main-bg: #fff7ed;
  --primary-color: #ea580c;
  --primary-light: #fb923c;
  --primary-hover: #f97316;
  --primary-dark: #c2410c;
  --btn-gradient: linear-gradient(135deg, #ea580c, #f97316);
  --waiter-gradient: linear-gradient(90deg, #ea580c, #c2410c);
  --waiter-gradient-hover: linear-gradient(90deg, #f97316, #ea580c);
  --border-color: #fed7aa;
  --hover-bg: #ffedd5;
  --hover-text: #ea580c;
  --primary-shadow: rgba(234, 88, 12, 0.3);
  --primary-shadow-hover: rgba(234, 88, 12, 0.4);
}
[data-theme="dark"] {
  --main-bg: #111827;
  --primary-color: #3b82f6;
  --primary-light: #60a5fa;
  --primary-hover: #2563eb;
  --primary-dark: #1d4ed8;
  --btn-gradient: linear-gradient(135deg, #3b82f6, #2563eb);
  --waiter-gradient: linear-gradient(90deg, #3b82f6, #1d4ed8);
  --waiter-gradient-hover: linear-gradient(90deg, #60a5fa, #3b82f6);
  --text-light: #fff;
  --text-dark: #f9fafb;
  --border-color: #374151;
  --hover-bg: #1f2937;
  --hover-text: #3b82f6;
  --card-border: #374151;
  --sidebar-border: #374151;
  --card-bg: #1f2937;
  --navbar-text: #f9fafb;
  --primary-shadow: rgba(59, 130, 246, 0.3);
  --primary-shadow-hover: rgba(59, 130, 246, 0.4);
}
[data-theme="gradient-sunset"] {
  --main-bg: linear-gradient(135deg, #ff9a9e 0%, #fecfef 50%, #fecfef 100%);
  --primary-color: #ff6b6b;
  --primary-light: #ff8e8e;
  --primary-hover: #ff5252;
  --primary-dark: #e53e3e;
  --btn-gradient: linear-gradient(135deg, #ff6b6b, #ff8e8e);
  --waiter-gradient: linear-gradient(90deg, #ff6b6b, #e53e3e);
  --waiter-gradient-hover: linear-gradient(90deg, #ff8e8e, #ff6b6b);
  --border-color: #ffcccb;
  --hover-bg: #ffe4e1;
  --hover-text: #ff6b6b;
  --primary-shadow: rgba(255, 107, 107, 0.3);
  --primary-shadow-hover: rgba(255, 107, 107, 0.4);
}
[data-theme="gradient-ocean"] {
  --main-bg: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  --primary-color: #4c63d2;
  --primary-light: #7c8cdc;
  --primary-hover: #5a6fd8;
  --primary-dark: #3b4cc0;
  --btn-gradient: linear-gradient(135deg, #4c63d2, #7c8cdc);
  --waiter-gradient: linear-gradient(90deg, #4c63d2, #3b4cc0);
  --waiter-gradient-hover: linear-gradient(90deg, #7c8cdc, #4c63d2);
  --border-color: #b8c5f2;
  --hover-bg: #e8ecf7;
  --hover-text: #4c63d2;
  --primary-shadow: rgba(76, 99, 210, 0.3);
  --primary-shadow-hover: rgba(76, 99, 210, 0.4);
  --text-light: #ffffff;
  --text-dark: #ffffff;
  --card-bg: rgba(255, 255, 255, 0.1);
  --navbar-text: #ffffff;
}
[data-theme="gradient-forest"] {
  --main-bg: linear-gradient(135deg, #134e5e 0%, #71b280 100%);
  --primary-color: #2d5a27;
  --primary-light: #4a7c59;
  --primary-hover: #3e6b37;
  --primary-dark: #1e3f1c;
  --btn-gradient: linear-gradient(135deg, #2d5a27, #4a7c59);
  --waiter-gradient: linear-gradient(90deg, #2d5a27, #1e3f1c);
  --waiter-gradient-hover: linear-gradient(90deg, #4a7c59, #2d5a27);
  --border-color: #a8d5ba;
  --hover-bg: #d4f1e4;
  --hover-text: #2d5a27;
  --primary-shadow: rgba(45, 90, 39, 0.3);
  --primary-shadow-hover: rgba(45, 90, 39, 0.4);
  --text-light: #ffffff;
  --text-dark: #ffffff;
  --card-bg: rgba(255, 255, 255, 0.1);
  --navbar-text: #ffffff;
}
[data-theme="neon-pink"] {
  --main-bg: #0a0a0a;
  --primary-color: #ff0080;
  --primary-light: #ff4da6;
  --primary-hover: #ff1a8c;
  --primary-dark: #cc0066;
  --btn-gradient: linear-gradient(135deg, #ff0080, #ff4da6);
  --waiter-gradient: linear-gradient(90deg, #ff0080, #cc0066);
  --waiter-gradient-hover: linear-gradient(90deg, #ff4da6, #ff0080);
  --text-light: #ffffff;
  --text-dark: #ffffff;
  --border-color: #ff0080;
  --hover-bg: #1a0a1a;
  --hover-text: #ff0080;
  --card-border: #333333;
  --sidebar-border: #333333;
  --card-bg: #1a1a1a;
  --navbar-text: #ffffff;
  --primary-shadow: rgba(255, 0, 128, 0.5);
  --primary-shadow-hover: rgba(255, 0, 128, 0.7);
}
[data-theme="neon-cyan"] {
  --main-bg: #0a0a0a;
  --primary-color: #00ffff;
  --primary-light: #4dffff;
  --primary-hover: #1affff;
  --primary-dark: #00cccc;
  --btn-gradient: linear-gradient(135deg, #00ffff, #4dffff);
  --waiter-gradient: linear-gradient(90deg, #00ffff, #00cccc);
  --waiter-gradient-hover: linear-gradient(90deg, #4dffff, #00ffff);
  --text-light: #ffffff;
  --text-dark: #ffffff;
  --border-color: #00ffff;
  --hover-bg: #0a1a1a;
  --hover-text: #00ffff;
  --card-border: #333333;
  --sidebar-border: #333333;
  --card-bg: #1a1a1a;
  --navbar-text: #ffffff;
  --primary-shadow: rgba(0, 255, 255, 0.5);
  --primary-shadow-hover: rgba(0, 255, 255, 0.7);
}
[data-theme="pastel-lavender"] {
  --main-bg: #f8f6ff;
  --primary-color: #b19cd9;
  --primary-light: #c9b6e0;
  --primary-hover: #a688d1;
  --primary-dark: #9575cd;
  --btn-gradient: linear-gradient(135deg, #b19cd9, #c9b6e0);
  --waiter-gradient: linear-gradient(90deg, #b19cd9, #9575cd);
  --waiter-gradient-hover: linear-gradient(90deg, #c9b6e0, #b19cd9);
  --border-color: #e1d5f0;
  --hover-bg: #f0ebff;
  --hover-text: #b19cd9;
  --primary-shadow: rgba(177, 156, 217, 0.3);
  --primary-shadow-hover: rgba(177, 156, 217, 0.4);
}
[data-theme="pastel-mint"] {
  --main-bg: #f0fff4;
  --primary-color: #98d8c8;
  --primary-light: #b2e0d4;
  --primary-hover: #8dd0bc;
  --primary-dark: #7cc7b0;
  --btn-gradient: linear-gradient(135deg, #98d8c8, #b2e0d4);
  --waiter-gradient: linear-gradient(90deg, #98d8c8, #7cc7b0);
  --waiter-gradient-hover: linear-gradient(90deg, #b2e0d4, #98d8c8);
  --border-color: #d4f1e8;
  --hover-bg: #e8faf2;
  --hover-text: #98d8c8;
  --primary-shadow: rgba(152, 216, 200, 0.3);
  --primary-shadow-hover: rgba(152, 216, 200, 0.4);
}
[data-theme="retro-80s"] {
  --main-bg: linear-gradient(135deg, #ff00ff 0%, #00ffff 50%, #ffff00 100%);
  --primary-color: #ff00ff;
  --primary-light: #ff4dff;
  --primary-hover: #ff1aff;
  --primary-dark: #cc00cc;
  --btn-gradient: linear-gradient(135deg, #ff00ff, #ff4dff);
  --waiter-gradient: linear-gradient(90deg, #ff00ff, #cc00cc);
  --waiter-gradient-hover: linear-gradient(90deg, #ff4dff, #ff00ff);
  --text-light: #ffffff;
  --text-dark: #000000;
  --border-color: #ff00ff;
  --hover-bg: rgba(255, 0, 255, 0.1);
  --hover-text: #ff00ff;
  --card-bg: rgba(255, 255, 255, 0.9);
  --navbar-text: #ffffff;
  --primary-shadow: rgba(255, 0, 255, 0.5);
  --primary-shadow-hover: rgba(255, 0, 255, 0.7);
}
[data-theme="retro-sepia"] {
  --main-bg: #f4f1e8;
  --primary-color: #8b4513;
  --primary-light: #a0522d;
  --primary-hover: #9a4a1a;
  --primary-dark: #654321;
  --btn-gradient: linear-gradient(135deg, #8b4513, #a0522d);
  --waiter-gradient: linear-gradient(90deg, #8b4513, #654321);
  --waiter-gradient-hover: linear-gradient(90deg, #a0522d, #8b4513);
  --border-color: #d2b48c;
  --hover-bg: #f5f5dc;
  --hover-text: #8b4513;
  --primary-shadow: rgba(139, 69, 19, 0.3);
  --primary-shadow-hover: rgba(139, 69, 19, 0.4);
}

/* Temaya özel animasyonlar ve efektler */
@keyframes neonGlow {
  0%, 100% {
    box-shadow: 0 0 5px var(--primary-color), 0 0 10px var(--primary-color), 0 0 15px var(--primary-color);
  }
  50% {
    box-shadow: 0 0 10px var(--primary-color), 0 0 20px var(--primary-color), 0 0 30px var(--primary-color);
  }
}
@keyframes float {
  0%, 100% { transform: translateY(0px);}
  50% { transform: translateY(-10px);}
}
@keyframes pulse {
  0%, 100% { transform: scale(1);}
  50% { transform: scale(1.05);}
}
@keyframes rainbow {
  0% { filter: hue-rotate(0deg);}
  100% { filter: hue-rotate(360deg);}
}
[data-theme="neon-pink"] .product-card:hover,
[data-theme="neon-cyan"] .product-card:hover {
  animation: neonGlow 2s infinite;
}
[data-theme="gradient-sunset"] .product-card:hover,
[data-theme="gradient-ocean"] .product-card:hover,
[data-theme="gradient-forest"] .product-card:hover {
  animation: float 3s ease-in-out infinite;
}
[data-theme="retro-80s"] .navbar {
  animation: rainbow 5s linear infinite;
}
body {
  transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Preloader */
#preloader {
  position: fixed;
  top: 0; left: 0; width: 100vw; height: 100vh;
  background: var(--main-bg, #fff);
  z-index: 99999;
  display: flex; align-items: center; justify-content: center; flex-direction: column;
  transition: opacity 0.5s;
}
#preloader.hide { opacity: 0; pointer-events: none; }
.preloader-spinner {
  width: 60px; height: 60px;
  border: 6px solid var(--primary-light, #e0c3fc);
  border-top: 6px solid var(--primary-color, #8ec5fc);
  border-radius: 50%;
  animation: spin 1s linear infinite;
  margin-bottom: 20px;
}
.preloader-text {
  color: var(--primary-color, #8ec5fc);
  font-size: 1.2rem; font-weight: 600; letter-spacing: 1px;
}
@keyframes spin { 0% {transform: rotate(0deg);} 100% {transform: rotate(360deg);} }

/* Genel Stiller */
body {
  background: var(--main-bg);
  font-family: 'Poppins', sans-serif;
  transition: all 0.3s ease;
  color: var(--text-dark);
  overflow-x: hidden; /* zaten var, sorun değil */
}
* { margin: 0; padding: 0; box-sizing: border-box; }

/* Navbar */
.navbar {
  background: var(--btn-gradient) !important;
  backdrop-filter: blur(10px);
  box-shadow: 0 2px 20px var(--primary-shadow);
  position: sticky; top: 0; z-index: 1050; overflow: visible;
}
.navbar::before {
  content: '';
  position: absolute; top: 0; left: -100%; width: 100%; height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.1), transparent);
  animation: navbarShimmer 4s infinite;
}
@keyframes navbarShimmer { 0% {left: -100%;} 100% {left: 100%;} }
.logo-text, .navbar-brand { font-weight: 700; font-size: 2rem; color: var(--navbar-text); transition: all 0.3s; }
.navbar .navbar-brand, .navbar input, .navbar select { color: var(--navbar-text) !important; }
.navbar .form-control, .navbar .form-select {
  border-color: var(--border-color);
  background-color: var(--text-light) !important;
  color: var(--text-dark) !important;
  border-radius: 25px;
  transition: all 0.3s;
}
.navbar .form-control:focus {
  box-shadow: 0 0 0 0.2rem var(--primary-shadow);
  border-color: var(--primary-light);
}

/* Ürün Kartları */
.product-card {
  border: none; border-radius: 20px; overflow: hidden;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  background: var(--card-bg);
  box-shadow: 0 8px 25px rgba(0,0,0,0.1);
  height: 100%; position: relative;
  animation: fadeInUp 0.6s ease forwards;
}
.product-card::before {
  content: ''; position: absolute; top: 0; left: -100%; width: 100%; height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
  transition: left 0.5s; z-index: 1;
}
.product-card:hover::before { left: 100%; }
.product-card:hover {
  transform: translateY(-15px) scale(1.02);
  box-shadow: 0 25px 50px var(--primary-shadow), 0 0 0 1px var(--primary-light);
}
.product-card img {
  width: 100%; height: 220px; object-fit: cover; transition: all 0.4s;
}
.product-card:hover img { transform: scale(1.1); }
.product-card .card-body { padding: 25px; background: var(--card-bg); position: relative; z-index: 2; }
.product-card .card-title { font-weight: 600; color: var(--text-dark); margin-bottom: 15px; font-size: 1.1rem; line-height: 1.4; }
.product-card .card-text { font-weight: 700; color: var(--primary-color); font-size: 1.3rem; margin-bottom: 15px; }
.product-card .badge {
  background: var(--btn-gradient) !important;
  border-radius: 25px; padding: 10px 18px; font-weight: 500; font-size: 0.85rem;
}

/* Favoriler Butonu */
[data-product-name] {
  transition: background 0.2s, border 0.2s, color 0.2s;
}
[data-product-name] i {
  transition: color 0.2s, transform 0.2s;
}
[data-product-name].btn-danger {
  background: transparent !important;
  border-color: #dc3545 !important;
  color: #dc3545 !important;
}
[data-product-name].btn-danger i {
  color: #dc3545 !important;
  animation: fav-pop 0.3s;
}
[data-product-name].btn-outline-primary i {
  color: #0d6efd !important;
}
[data-product-name].btn-outline-primary:hover,
[data-product-name].btn-outline-primary:focus {
  background: transparent !important;
  color: #0d6efd !important;
  border-color: #0d6efd !important;
}
[data-product-name].btn-outline-primary:hover i,
[data-product-name].btn-outline-primary:focus i {
  color: #0d6efd !important;
}
@keyframes fav-pop {
  0% { transform: scale(1);}
  50% { transform: scale(1.4);}
  100% { transform: scale(1);}
}
.fav-animate { animation: fav-pop 0.3s; }

/* Kategori Navigasyonu */
.desktop-category-nav {
  position: sticky; top: 80px; padding-left: 0; margin-left: 0;
  border-right: 1px solid var(--sidebar-border);
  height: calc(100vh - 80px); overflow-y: auto;
  background: var(--card-bg); border-radius: 0 20px 20px 0;
  overflow-x: hidden; /* Ekle */
}
.mobile-category-nav {
  position: fixed; top: 0; left: -100%; width: 85%; height: 100vh; overflow-y: auto;
  background-color: var(--card-bg); z-index: 1100;
  transition: left 0.3s; box-shadow: 2px 0 20px var(--shadow-color);
  padding-top: 0px; border-radius: 0 20px 20px 0;
  overflow-x: hidden; /* Ekle */
  max-width: 100vw;   /* Ekle */
}
.mobile-category-nav .category-nav {
  overflow-x: hidden; /* Ekle */
}
.mobile-category-nav.active { left: 0; }
.category-nav .list-group-item {
  border-radius: 15px; border: none; margin: 8px 15px; padding: 18px 25px;
  background: transparent; color: var(--text-dark); transition: all 0.3s;
  font-weight: 500; position: relative; overflow: hidden;
  white-space: normal; /* Taşmayı önler */
}
.category-nav .list-group-item::before {
  content: ''; position: absolute; top: 0; left: -100%; width: 100%; height: 100%;
  background: var(--btn-gradient); transition: left 0.3s; z-index: -1;
}
.category-nav .list-group-item:hover::before { left: 0; }
.category-nav .list-group-item:hover {
  color: var(--text-light); transform: translateX(10px);
}
.category-section { padding-top: 80px; }
.category-section:first-child { padding-top: 0; }
.category-title {
  margin: 50px 0 30px 0; padding: 25px 0; border-bottom: 3px solid var(--primary-light);
  font-weight: 700; font-size: 2.2rem; color: var(--primary-color);
  text-align: center; position: relative; overflow: hidden;
}
.category-section:first-child .category-title { margin-top: 10px; padding-top: 10px; }
.category-title::before {
  content: ''; position: absolute; bottom: -3px; left: 50%; transform: translateX(-50%);
  width: 120px; height: 3px; background: var(--btn-gradient); border-radius: 2px;
}
.category-title::after {
  content: ''; position: absolute; top: 0; left: -100%; width: 100%; height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent);
  animation: shimmer 3s infinite;
}
@keyframes shimmer { 0% {left: -100%;} 100% {left: 100%;} }
@media (max-width: 768px) {
  .navbar::before, .category-title::after { display: none !important; animation: none !important; }
}

/* Menü Toggle ve Overlay */
.menu-toggle {
  display: none; background: none; border: none; color: var(--navbar-text);
  font-size: 1.5rem; margin-right: 15px; transition: all 0.3s; padding: 8px; border-radius: 8px;
}
.menu-toggle:hover { background: rgba(255,255,255,0.1); transform: scale(1.1);}
.overlay {
  display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%;
  background: var(--shadow-color); z-index: 1060; backdrop-filter: blur(8px);
}
.overlay.active { display: block; }
.mobile-menu-header {
  padding: 25px; border-bottom: 1px solid var(--sidebar-border);
  background: var(--btn-gradient); color: var(--text-light); 
  /* border-radius: 20px 20px 0 0; */
}
.close-menu-btn {
  position: absolute; top: 25px; right: 25px; background: none; border: none;
  color: var(--text-light); font-size: 1.5rem; transition: all 0.3s; padding: 5px; border-radius: 50%;
}
.close-menu-btn:hover { background: rgba(255,255,255,0.1); transform: scale(1.2); }

/* Butonlar */
#scrollToTopBtn {
  position: fixed; bottom: 90px; right: 20px;
  background: var(--btn-gradient); color: var(--text-light); border: none;
  border-radius: 50px; padding: 18px 28px; cursor: pointer; z-index: 1000;
  box-shadow: 0 12px 30px var(--primary-shadow);
  font-size: 0.9rem; font-weight: 600; display: flex; align-items: center; gap: 12px;
  transition: all 0.3s;
}
#scrollToTopBtn:hover {
  transform: translateY(-8px) scale(1.05);
  box-shadow: 0 20px 40px var(--primary-shadow-hover);
}
#waiterCallBtn {
  position: fixed; bottom: 20px; right: 20px;
  background: var(--waiter-gradient); color: var(--text-light); border: none;
  border-radius: 50px; padding: 18px 28px; cursor: pointer; z-index: 1001;
  box-shadow: 0 12px 30px var(--primary-shadow);
  font-size: 0.9rem; display: flex; align-items: center; gap: 12px; font-weight: 600;
  outline: none; transition: all 0.3s;
}
#waiterCallBtn.waiter-activated {
  background: var(--waiter-active-gradient);
  animation: waiterPopIn 0.5s ease;
  box-shadow: 0 20px 40px var(--primary-shadow-success);
  transform: scale(1.05) translateY(-5px);
}
#waiterCallBtn:not(.waiter-activated):hover {
  background: var(--waiter-gradient-hover);
  box-shadow: 0 20px 40px var(--primary-shadow-hover);
  transform: scale(1.07) translateY(-5px);
}
@keyframes waiterPopIn {
  0% { transform: scale(0.9) translateY(20px); opacity: 0.7;}
  70% { transform: scale(1.1) translateY(-8px);}
  100% { transform: scale(1.05) translateY(-5px); opacity: 1;}
}
.icon-animate { animation: iconPop 0.6s ease; }
@keyframes iconPop {
  0% { transform: scale(1);}
  30% { transform: scale(1.3);}
  44% { transform: scale(1);}
  62% { transform: scale(1.1);}
  100% { transform: scale(1);}
}
.fade { opacity: 0; transition: opacity 0.3s; position: absolute; }
.showing { opacity: 1; position: static; transition: opacity 0.3s; }

/* Responsive */
@media (max-width: 768px) {
  .menu-toggle { display: block; }
  .desktop-category-nav { display: none; }
  .navbar-brand { margin: 0 auto; position: absolute; left: 50%; transform: translateX(-50%);}
  .navbar .ms-auto { margin-left: auto !important; margin-right: 0 !important;}
  #desktopSearchLang { display: none !important;}
  .col-md-10 { padding-left: 15px;}
  .category-title { font-size: 1.8rem; margin: 30px 0 20px 0;}
  .product-card img { height: 180px;}
  .product-card .card-body { padding: 20px;}
  .mobile-search-sticky {
    position: sticky; top: 65px; z-index: 1040; background: var(--main-bg, #fff);
    padding-bottom: 10px; padding-top: 10px;
    box-shadow: 0 4px 16px -8px rgba(0,0,0,0.10);
  }
  body {
    overflow-x: hidden !important; /* Mobilde taşmayı önlemek için */
  }
  .mobile-category-nav {
    max-width: 100vw;
    overflow-x: hidden;
  }
}

/* Animasyonlar */
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(30px);}
  to { opacity: 1; transform: translateY(0);}
}

/* Loading Animation */
.loading {
  display: flex; justify-content: center; align-items: center; height: 300px;
  font-size: 1.2rem; color: var(--primary-color); flex-direction: column;
}
.spinner {
  background: conic-gradient(var(--primary-color), var(--primary-light), var(--primary-color));
  border: none; border-radius: 50%; width: 50px; height: 50px;
  animation: spin 1s linear infinite; margin-bottom: 20px;
}

/* Dropdown */
.dropdown-menu {
  border: none; border-radius: 15px; box-shadow: 0 15px 35px var(--primary-shadow);
  background: var(--card-bg); backdrop-filter: blur(10px);
}
.dropdown-item {
  border-radius: 10px;
  margin: 0; /* margin kaldırıldı */
  transition: all 0.3s;
  color: var(--text-dark);
  padding: 12px 15px;
}
.dropdown-item:hover {
  background: var(--btn-gradient);
  color: var(--text-light);
  /* transform: translateX(5px); kaldırıldı */
}

/* Arama Kutusu */
.search-container { position: relative; }
.search-container .form-control {
  padding-left: 50px; border-radius: 25px; border: 2px solid transparent;
  background: rgba(255,255,255,0.9); backdrop-filter: blur(10px);
}
.search-container .form-control:focus {
  border-color: var(--primary-light);
  box-shadow: 0 0 0 0.2rem var(--primary-shadow);
  background: white;
}
.search-icon {
  position: absolute; left: 18px; top: 50%; transform: translateY(-50%);
  color: var(--primary-color); z-index: 10; font-size: 1.1rem;
}

/* Bildirimler */
.notification-container {
  position: fixed; top: 100px; right: 20px; z-index: 9999; max-width: 350px;
}

/* Scrollbar */
::-webkit-scrollbar { width: 10px; }
::-webkit-scrollbar-track { background: var(--main-bg); border-radius: 5px; }
::-webkit-scrollbar-thumb { background: var(--btn-gradient); border-radius: 5px; }
::-webkit-scrollbar-thumb:hover { background: var(--primary-hover); }

/* Focus stilleri */
.form-control:focus, .btn:focus {
  outline: 3px solid var(--primary-shadow);
  outline-offset: 2px;
}

/* Performans */
.product-card, .theme-option, .category-nav .list-group-item { will-change: transform; }

/* Accessibility */
@media (prefers-reduced-motion: reduce) {
  * { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
}

/* Print styles */
@media print {
  .theme-selector, .navbar, #scrollToTopBtn, #waiterCallBtn { display: none !important; }
  .product-card { break-inside: avoid; box-shadow: none; border: 1px solid #ddd; }
}