/* 
   Global Theme System - v2.1
   Handles both Public and Admin variable dialects.
   Ensures section backgrounds, navbars, and ratings work out-of-the-box.
*/

:root {
  /* Default variables if not defined in page */
  --primary-blue: #0b1a30;
  --accent-orange: #f28b00;
  --card-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
  --nav-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
}

/* DARK MODE OVERRIDES */
:root[data-theme="dark"] {
  color-scheme: dark;
  
  /* Public Dialect */
  --bg-light: #000000;
  --text-dark: #f8fafc;
  --text-muted: #e2e8f0;
  --border-color: rgba(255, 255, 255, 0.1);
  --white: #0a0a0a;
  --primary-blue: #38bdf8;
  --accent-orange: #fb923c;
  --card-shadow: 0 10px 40px rgba(0, 0, 0, 0.6);
  --nav-shadow: 0 4px 20px rgba(0, 0, 0, 0.8);

  /* Admin Dialect */
  --bg: #000000;
  --card: #0a0a0a;
  --border: rgba(255, 255, 255, 0.1);
  --text: #f8fafc;
  --muted: #e2e8f0;
  --accent: #38bdf8;
  --accent-hover: #7dd3fc;
  --nav-bg: #0a0a0a;
  --input-bg: #111111;
  --shadow: 0 4px 30px rgba(0, 0, 0, 0.6);
}

/* LIGHT MODE OVERRIDES */
:root[data-theme="light"] {
  color-scheme: light;
  --bg-light: #f4f6f9;
  --text-dark: #1a1a1a;
  --text-muted: #6c757d;
  --border-color: #eef0f4;
  --white: #ffffff;
  --primary-blue: #0b1a30;
  --accent-orange: #f28b00;
  --card-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
  --nav-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
  
  /* Admin Dialect */
  --bg: #f8fafc;
  --card: #ffffff;
  --border: #e2e8f0;
  --text: #0f172a;
  --muted: #64748b;
  --accent: #4f46e5;
  --accent-hover: #4338ca;
  --nav-bg: #ffffff;
  --input-bg: #ffffff;
  --shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}

/* Functional Overrides for Dark Mode */
[data-theme="dark"] body {
  background-color: var(--bg-light) !important;
}

[data-theme="dark"] .section.white {
  background-color: var(--bg-light) !important;
}

[data-theme="dark"] .navbar, 
[data-theme="dark"] .navbar-admin,
[data-theme="dark"] .drawer,
[data-theme="dark"] .card,
[data-theme="dark"] .restaurant-card,
[data-theme="dark"] .location-card,
[data-theme="dark"] .reservation-card,
[data-theme="dark"] .search-bar,
[data-theme="dark"] .review-card,
[data-theme="dark"] .modal-content,
[data-theme="dark"] .footer,
[data-theme="dark"] .layout,
[data-theme="dark"] .sidebar,
[data-theme="dark"] .hist-item {
  background-color: var(--white) !important;
  border-color: var(--border-color) !important;
  box-shadow: var(--card-shadow) !important;
  color: var(--text-dark) !important;
}

[data-theme="dark"] .footer {
    background-color: #000000 !important; /* Pure black for footer */
}

/* Specific fix for rating badges in dark mode */
[data-theme="dark"] .rating,
[data-theme="dark"] .card-pill {
  background-color: #1a1a1a !important; /* Dark neutral for rating */
  color: #ffffff !important;
}

[data-theme="dark"] input, 
[data-theme="dark"] select, 
[data-theme="dark"] textarea {
  background-color: rgba(255,255,255,0.05) !important;
  color: var(--text-dark) !important;
  border-color: var(--border-color) !important;
}

[data-theme="dark"] .search-field {
  border-color: var(--border-color) !important;
}

[data-theme="dark"] .arrow-btn {
    background-color: var(--white) !important;
    border-color: var(--border-color) !important;
    color: var(--text-dark) !important;
}

[data-theme="dark"] .view-all,
[data-theme="dark"] .nav-links a {
    color: var(--text-muted) !important;
}

[data-theme="dark"] .nav-links a:hover,
[data-theme="dark"] .nav-links a.active {
    color: var(--accent-orange) !important;
}

[data-theme="dark"] .drawer-link {
    color: var(--text-muted) !important;
}
[data-theme="dark"] .drawer-link:hover,
[data-theme="dark"] .drawer-link.active {
    background-color: rgba(255, 255, 255, 0.05) !important;
    color: #ffffff !important;
}

[data-theme="dark"] .drawer-close {
    background-color: rgba(255, 255, 255, 0.05) !important;
    color: var(--text-muted) !important;
}
[data-theme="dark"] .drawer-close:hover {
    background-color: rgba(255, 255, 255, 0.1) !important;
    color: #ffffff !important;
}
[data-theme="dark"] .drawer-footer {
    border-top-color: var(--border-color) !important;
}

/* Logo Switching */
.logo img.logo-dark {
    display: none;
}

[data-theme="dark"] .logo img.logo-light {
    display: none;
}

[data-theme="dark"] .logo img.logo-dark {
    display: block;
    filter: drop-shadow(0 0 4px rgba(255, 255, 255, 0.5)) brightness(1.1);
}
