/* Light Theme (Default) */
:root {
  --bs-body-bg: #ffffff;
  --bs-body-color: #212529;
  --bs-secondary-bg: #f8f9fa;
  --bs-tertiary-bg: #e9ecef;
  --bs-border-color: #dee2e6;
  --bs-card-bg: #ffffff;
  --bs-modal-bg: #ffffff;
  --bs-dropdown-bg: #ffffff;
  --bs-navbar-bg: #212529;
  --bs-navbar-color: #ffffff;
}

/* Dark Theme */
.theme-dark {
  --bs-body-bg: #1a1a1a;
  --bs-body-color: #ffffff;
  --bs-secondary-bg: #2d2d2d;
  --bs-tertiary-bg: #3d3d3d;
  --bs-border-color: #404040;
  --bs-card-bg: #2d2d2d;
  --bs-modal-bg: #2d2d2d;
  --bs-dropdown-bg: #2d2d2d;
  --bs-navbar-bg: #000000;
  --bs-navbar-color: #ffffff;
}

body {
  background-color: var(--bs-body-bg) !important;
  color: var(--bs-body-color) !important;
  transition: background-color 0.3s ease, color 0.3s ease;
}

.navbar-dark {
  background-color: var(--bs-navbar-bg) !important;
}

.navbar-dark .navbar-nav .nav-link {
  color: var(--bs-navbar-color) !important;
}

.navbar-dark .navbar-brand {
  color: var(--bs-navbar-color) !important;
}

.card {
  background-color: var(--bs-card-bg) !important;
  border-color: var(--bs-border-color) !important;
  color: var(--bs-body-color) !important;
}

.form-control {
  background-color: var(--bs-body-bg) !important;
  border-color: var(--bs-border-color) !important;
  color: var(--bs-body-color) !important;
}

.btn-outline-secondary {
  border-color: var(--bs-border-color) !important;
  color: var(--bs-body-color) !important;
}

.btn-outline-secondary:hover {
  background-color: var(--bs-secondary-bg) !important;
  border-color: var(--bs-border-color) !important;
  color: var(--bs-body-color) !important;
}

.theme-dark .hero-section {
  background: linear-gradient(135deg, #1a1a1a 0%, #2d2d2d 100%) !important;
}

.theme-dark .brand-name {
  color: #ff6b6b !important;
}

.theme-dark .section-title {
  color: #ffffff !important;
}

.theme-dark .about-text,
.theme-dark .hero-subtitle {
  color: #cccccc !important;
}

.theme-dark .gallery-item {
  background-color: #2d2d2d !important;
  border: 1px solid #404040 !important;
}

.theme-dark .hours-info p,
.theme-dark .contact-info p {
  color: #cccccc !important;
}

.theme-dark .hours-info p:first-child,
.theme-dark .contact-info p strong {
  color: #ffffff !important;
}

* {
  transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}

.theme-switcher-btn {
  border: 1px solid var(--bs-border-color);
  background: var(--bs-body-bg);
  color: var(--bs-body-color);
}

.theme-switcher-btn:hover {
  background: var(--bs-secondary-bg);
  border-color: var(--bs-border-color);
}
