@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');
/* ===== BASE STYLES ===== */
/* ===== BASE STYLES & VARIABLES ===== */
:root {
  --blue: #007bff;
  --indigo: #6610f2;
  --purple: #6f42c1;
  --pink: #e83e8c;
  --red: #dc3545;
  --orange: #fd7e14;
  --yellow: #ffc107;
  --green: #28a745;
  --teal: #20c997;
  --cyan: #17a2b8;
  --white: #fff;
  --gray: #6c757d;
  --gray-dark: #343a40;
  --primary-color: #F01543;
  --secondary-color: #FE724C;
  --brand-primary: #f97316;
  --heading-color: #000929;
  --grey-scale-100: #F4F4F6;
  --grey-scale-200: #E5E6EB;
  --grey-scale-500: #6C727F;
  --grey-scale-700: #394150;
  --grey-scale-900: #0B0A0F;
}

/* Base body font */
body {
  font-family: 'Plus Jakarta Sans', sans-serif;
  background: url('images/background.webp') no-repeat center center fixed;
  background-size: cover;
  position: relative;
  z-index: 1;
}

 /* Headings & Brand Titles */
  h1, h2, h3, h4, h5, h6, .font-heading { 
    font-family: 'Poppins', sans-serif; 
  }

  /* Scrollbar utilities */
  .no-scrollbar::-webkit-scrollbar { display: none; }
  .no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }

body::before {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #f8f9fa;
  filter: blur(8px);
  -webkit-filter: blur(8px);
  opacity: 0.8;
  z-index: -1;
}
        
.sidebar { 
  position: fixed; 
  top: 0; 
  left: -260px; 
  width: 255px; 
  height: 100vh; 
  background: #fff; 
  box-shadow: 2px 0 10px rgba(0,0,0,0.1); 
  transition: left 0.3s ease; 
  z-index: 1100; 
  overflow-y: auto; 
  padding: 20px 0; 
}
.sidebar.active { left: 0; }
        
.category-tab { 
  display: flex; 
  align-items: center; 
  padding: 12px 15px; 
  border-radius: 12px; 
  margin: 5px 12px; 
  background: #f9f9f9; 
  transition: all 0.2s; 
  color: #333; 
}
.category-tab:hover { background: #f0f0f0; transform: translateX(5px); }
.category-tab img { width: 40px; height: 40px; border-radius: 8px; object-fit: cover; margin-right: 12px; }
        
.allergen-alert-bar {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 28px;
  background: #f8f9fa;
  color: #ae4e11;
  font-family: 'Poppins', sans-serif;
  font-size: 12px;
  font-weight: 600;
  text-align: center;
  line-height: 28px;
  border-bottom: 1px solid #eee;
  z-index: 1003;
}

.topbar { 
  position: fixed; 
  top: 28px; 
  left: 0; 
  width: 100%; 
  height: 60px; 
  background: #fff; 
  display: flex; 
  align-items: center; 
  box-shadow: 0 2px 6px rgba(0,0,0,0.05); 
  z-index: 1000; 
}

.menu-toggle { margin-left: 15px; background: #2b343d; color: #fff; border: none; padding: 8px 12px; border-radius: 6px; cursor: pointer; }
        
.sub-header { 
  position: fixed; 
  top: 88px; 
  left: 0; 
  width: 100%; 
  height: 35px; 
  background: #f1f1f1; 
  color: #666; 
  font-size: 12px; 
  display: flex; 
  align-items: center; 
  justify-content: center; 
  z-index: 999; 
}

.main-content { padding-top: 135px; padding-bottom: 110px; }
        
.checkout-footer { position: fixed; bottom: 0; left: 0; width: 100%; background: #fff; border-top: 1px solid #eee; padding: 15px 20px; display: flex; justify-content: space-between; align-items: center; z-index: 1050; }
        
.dish-card { position: relative; overflow: hidden; border-radius: 1rem; box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px; transition: all 0.4s ease; }
.dish-card:hover { box-shadow: rgba(0, 0, 0, 0.3) 0px 6px 16px; }
.dish-card img { width: 100%; height: 178px; object-fit: cover; transition: transform 0.5s ease-in-out; }
.dish-card:hover img { transform: scale(1.08); }

.topbar-right {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 10px;
  z-index: 1002;
}

.lang-selector {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 13px;
}

.lang-dropdown {
  background: transparent;
  border: none;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  color: #212936;
  cursor: pointer;
  outline: none;
  padding: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.divider-v {
  color: #e5e6eb;
  font-size: 12px;
}

.topbar-link {
  display: flex;
  align-items: center;
  gap: 4px;
  text-decoration: none;
  color: #394150;
  font-size: 13px;
  font-weight: 500;
  transition: color 0.2s ease;
}

.topbar-link:hover {
  color: var(--brand-primary, #f97316);
}

@media (max-width: 768px) {
  .topbar h1 { display: none; }
}

@media (max-width: 480px) {
  .link-text { display: none; }
}

.badge-gluten-free {
  background-color: #fee2e2;
  color: #991b1b;
  font-size: 0.75rem;
  font-weight: 600;
  padding: 0.125rem 0.5rem;
  border-radius: 9999px;
  display: inline-block;
}

#backToTop {
  position: fixed;
  right: 60px;
  bottom: 98px;
  display: none;
  background: #2b343d;
  color: #fff;
  border: none;
  padding: 8px 12px;
  border-radius: 6px;
  font-size: 16px;
  cursor: pointer;
  z-index: 1003;
  box-shadow: 0 2px 6px rgba(0,0,0,0.2);
}
#backToTop:hover { background: #333; }