/* Custom styles for this website */

/* Logo visibility based on theme - prevent duplication */
/* Default: show light logo, hide dark logo */
.logo .logo-dark-mode {
  display: none !important;
}

.logo .logo-light-mode {
  display: block !important;
}

/* Dark theme: show dark logo, hide light logo */
[data-theme="dark"] .logo .logo-dark-mode,
body.theme-dark .logo .logo-dark-mode,
html[data-theme="dark"] .logo .logo-dark-mode {
  display: block !important;
}

[data-theme="dark"] .logo .logo-light-mode,
body.theme-dark .logo .logo-light-mode,
html[data-theme="dark"] .logo .logo-light-mode {
  display: none !important;
}

/* Light theme: show light logo, hide dark logo */
[data-theme="light"] .logo .logo-light-mode,
body.theme-light .logo .logo-light-mode,
html[data-theme="light"] .logo .logo-light-mode {
  display: block !important;
}

[data-theme="light"] .logo .logo-dark-mode,
body.theme-light .logo .logo-dark-mode,
html[data-theme="light"] .logo .logo-dark-mode {
  display: none !important;
}

/* Company Logo Styling - MUCH LARGER sizes for perfect visibility */
.company-logo {
  height: 180px !important;
  width: auto !important;
  object-fit: contain;
  display: block;
  transition: all 0.3s ease;
}

/* Single logo display - no duplicates */
.logo img.company-logo {
  display: block !important;
}

/* Ensure navbar items are on same row - compact height */
#topnav #navigation {
  display: flex !important;
  align-items: center !important;
  height: 70px !important;
}

#topnav .navigation-menu {
  display: flex !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  height: 70px !important;
}

/* Logo in navbar - VERY LARGE logo with compact navbar */
#topnav {
  display: flex !important;
  align-items: center !important;
  padding: 5px 0 !important;
  min-height: 70px !important;
  max-height: 70px !important;
}

#topnav .container {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  padding: 0 15px !important;
  height: 70px !important;
}

#topnav .logo {
  display: flex !important;
  align-items: center !important;
  line-height: 1 !important;
  padding: 0 !important;
  height: 70px !important;
  font-size: 0 !important;
  margin: 0 !important;
  float: none !important;
  overflow: visible !important;
}

#topnav .logo a {
  display: flex !important;
  align-items: center !important;
  line-height: 1 !important;
  padding: 0 !important;
  height: 100% !important;
}

#topnav .logo .company-logo {
  height: 180px !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
}

/* Override any height constraints from base CSS */
#topnav .logo img.company-logo {
  height: 180px !important;
  width: auto !important;
  max-width: none !important;
  object-fit: contain;
  vertical-align: middle !important;
}

/* Single logo - ensure proper display */
#topnav .logo img.company-logo {
  display: block !important;
  visibility: visible !important;
}

/* Responsive logo sizing - keep navbar compact but logo large */
@media (max-width: 1200px) {
  .company-logo {
    height: 160px !important;
  }
  
  #topnav {
    min-height: 65px !important;
    max-height: 65px !important;
  }
  
  #topnav .container {
    height: 65px !important;
  }
  
  #topnav #navigation {
    height: 65px !important;
  }
  
  #topnav .navigation-menu {
    height: 65px !important;
  }
  
  #topnav .logo {
    height: 65px !important;
  }
  
  #topnav .logo .company-logo {
    height: 160px !important;
  }
}

@media (max-width: 992px) {
  .company-logo {
    height: 140px !important;
  }
  
  #topnav {
    min-height: 60px !important;
    max-height: 60px !important;
  }
  
  #topnav .container {
    height: 60px !important;
  }
  
  #topnav #navigation {
    height: 60px !important;
  }
  
  #topnav .navigation-menu {
    height: 60px !important;
  }
  
  #topnav .logo {
    height: 60px !important;
  }
  
  #topnav .logo .company-logo {
    height: 140px !important;
  }
}

@media (max-width: 768px) {
  .company-logo {
    height: 120px !important;
  }
  
  #topnav {
    min-height: 55px !important;
    max-height: 55px !important;
  }
  
  #topnav .container {
    height: 55px !important;
  }
  
  #topnav #navigation {
    height: 55px !important;
  }
  
  #topnav .navigation-menu {
    height: 55px !important;
  }
  
  #topnav .logo {
    height: 55px !important;
  }
  
  #topnav .logo .company-logo {
    height: 120px !important;
  }
}

@media (max-width: 480px) {
  .company-logo {
    height: 100px !important;
  }
  
  #topnav {
    min-height: 50px !important;
    max-height: 50px !important;
  }
  
  #topnav .container {
    height: 50px !important;
  }
  
  #topnav #navigation {
    height: 50px !important;
  }
  
  #topnav .navigation-menu {
    height: 50px !important;
  }
  
  #topnav .logo {
    height: 50px !important;
  }
  
  #topnav .logo .company-logo {
    height: 100px !important;
  }
}

/* Logo in offcanvas */
.offcanvas-header .company-logo {
  max-height: 60px !important;
  height: auto !important;
}

/* Logo in footer - SAME SIZE AS HEADER (180px) */
.company-logo-footer {
  height: 180px !important;
  width: auto !important;
  object-fit: contain;
  transition: opacity 0.3s ease;
  display: block !important;
}

.footer .logo-footer {
  display: flex !important;
  align-items: center !important;
  padding: 0 !important;
  height: auto !important;
  overflow: visible !important;
}

.footer .logo-footer img.company-logo-footer {
  height: 180px !important;
  width: auto !important;
}

/* Footer container adjustments for larger logo */
.footer-bar {
  min-height: 70px !important;
  display: flex !important;
  align-items: center !important;
  padding: 5px 0 !important;
}

.footer-bar .col-lg-3 {
  display: flex !important;
  align-items: center !important;
  overflow: visible !important;
}

.company-logo-footer:hover {
  opacity: 0.8;
}

@media (max-width: 1200px) {
  .company-logo-footer {
    height: 160px !important;
  }
  
  .footer .logo-footer img.company-logo-footer {
    height: 160px !important;
  }
}

@media (max-width: 992px) {
  .company-logo-footer {
    height: 140px !important;
  }
  
  .footer .logo-footer img.company-logo-footer {
    height: 140px !important;
  }
}

@media (max-width: 768px) {
  .company-logo-footer {
    height: 120px !important;
  }
  
  .footer .logo-footer img.company-logo-footer {
    height: 120px !important;
  }
}

@media (max-width: 480px) {
  .company-logo-footer {
    height: 100px !important;
  }
  
  .footer .logo-footer img.company-logo-footer {
    height: 100px !important;
  }
}

/* Ensure logo container doesn't break layout */
.logo {
  display: flex !important;
  align-items: center !important;
  line-height: 1 !important;
  font-size: 0 !important;
  padding: 0 !important;
}

.logo img.company-logo {
  vertical-align: middle !important;
}

/* Smooth hover effects */
.logo:hover .company-logo {
  transform: scale(1.05);
}

/* Fix navbar height - COMPACT navbar */
#topnav.defaultscroll {
  min-height: 70px !important;
  max-height: 70px !important;
  padding: 5px 0 !important;
  display: flex !important;
  align-items: center !important;
}

#topnav.defaultscroll .logo {
  line-height: 1 !important;
  display: flex !important;
  align-items: center !important;
  padding: 0 !important;
  height: 70px !important;
  overflow: visible !important;
}

/* Ensure proper spacing around logo */
#topnav .container > div:first-child {
  display: flex;
  align-items: center;
  padding: 0 !important;
  height: 70px !important;
  overflow: visible !important;
}

/* Override base logo CSS that might constrain size */
.logo {
  font-weight: normal !important;
  font-size: 0 !important;
  margin-right: 30px !important;
  padding: 0 !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
  height: 70px !important;
  display: flex !important;
  align-items: center !important;
  overflow: visible !important;
}

/* Ensure navigation menu is aligned with logo - compact height */
#topnav #navigation .navigation-menu {
  display: flex !important;
  align-items: center !important;
  height: 70px !important;
}

#topnav #navigation .navigation-menu > li {
  display: flex !important;
  align-items: center !important;
  height: 70px !important;
}

#topnav #navigation .navigation-menu > li > a {
  display: flex !important;
  align-items: center !important;
  height: 70px !important;
}

/* ========================================
   MODERN NAVBAR STYLES
   ======================================== */

/* Modern Navbar Base */
.modern-navbar {
  background: var(--bs-white);
  box-shadow: 0 2px 20px rgba(0, 0, 0, 0.08);
  transition: all 0.3s ease;
  z-index: 999;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

[data-theme="dark"] .modern-navbar {
  background: linear-gradient(135deg, #1a1d23 0%, #252930 100%);
  box-shadow: 0 2px 30px rgba(0, 0, 0, 0.5);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.modern-navbar.nav-sticky {
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.12);
}

[data-theme="dark"] .modern-navbar.nav-sticky {
  box-shadow: 0 4px 40px rgba(0, 0, 0, 0.7);
  background: linear-gradient(135deg, #1a1d23 0%, #252930 100%);
}

/* Navbar Container */
.modern-navbar .container-fluid {
  padding: 0.75rem 2rem;
}

/* Logo Styling */
.modern-navbar .navbar-brand {
  padding: 0;
  margin-right: 3rem;
  transition: transform 0.3s ease;
}

.modern-navbar .navbar-brand:hover {
  transform: scale(1.02);
}

.modern-navbar .navbar-brand img {
  height: 50px;
  width: auto;
  transition: all 0.3s ease;
}

/* Navigation Links */
.modern-navbar .nav-link {
  font-size: 15px;
  font-weight: 500;
  color: var(--bs-dark);
  padding: 0.75rem 1.25rem;
  margin: 0 0.25rem;
  border-radius: 8px;
  transition: all 0.3s ease;
  position: relative;
  display: flex;
  align-items: center;
}

[data-theme="dark"] .modern-navbar .nav-link {
  color: #e8eaed;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}

/* Hover effects - Desktop only */
@media (min-width: 992px) {
  .modern-navbar .nav-link:hover {
    color: var(--bs-primary);
    background: rgba(var(--bs-primary-rgb), 0.1);
    transform: translateY(-2px);
  }
}

/* Dark theme hover - Desktop only */
@media (min-width: 992px) {
  [data-theme="dark"] .modern-navbar .nav-link:hover {
    color: #ffffff;
    background: rgba(var(--bs-primary-rgb), 0.2);
    box-shadow: 0 4px 12px rgba(var(--bs-primary-rgb), 0.15);
  }
}

.modern-navbar .nav-link.active {
  color: var(--bs-primary);
  background: rgba(var(--bs-primary-rgb), 0.15);
}

[data-theme="dark"] .modern-navbar .nav-link.active {
  color: #ffffff;
  background: rgba(var(--bs-primary-rgb), 0.25);
  box-shadow: 0 2px 8px rgba(var(--bs-primary-rgb), 0.2);
}

/* Dropdown Mega Menu */
.dropdown-mega {
  position: static;
}

.dropdown-menu-mega {
  width: 100%;
  max-width: 1000px;
  left: 50% !important;
  transform: translateX(-50%) !important;
  margin-top: 0.5rem;
  border-radius: 16px;
  padding: 2rem;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease;
  transform: translateX(-50%) translateY(-10px) !important;
  display: block !important;
}

.dropdown-menu-mega.show {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0) !important;
  animation: fadeInDown 0.3s ease;
}

@keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translateX(-50%) translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
  }
}

[data-theme="dark"] .dropdown-menu-mega {
  background: linear-gradient(135deg, #1e2229 0%, #2a2f38 100%);
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: 0 15px 60px rgba(0, 0, 0, 0.6);
}

.dropdown-menu-mega h6 {
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 1rem;
}

[data-theme="dark"] .dropdown-menu-mega h6 {
  color: #ffffff;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}

.mega-menu-list .dropdown-item {
  padding: 0.75rem 1rem;
  border-radius: 8px;
  transition: all 0.3s ease;
  border: 1px solid transparent;
  background: transparent;
  cursor: pointer;
  text-decoration: none;
  display: block;
}

[data-theme="dark"] .mega-menu-list .dropdown-item {
  background: rgba(255, 255, 255, 0.02);
}

.mega-menu-list .dropdown-item:active {
  background: rgba(var(--bs-primary-rgb), 0.2);
}

/* Mega menu item hover - Desktop only */
@media (min-width: 992px) {
  .mega-menu-list .dropdown-item:hover {
    background: rgba(var(--bs-primary-rgb), 0.1);
    border-color: rgba(var(--bs-primary-rgb), 0.2);
    transform: translateX(5px);
  }
}

/* Dark theme mega menu hover - Desktop only */
@media (min-width: 992px) {
  [data-theme="dark"] .mega-menu-list .dropdown-item:hover {
    background: rgba(var(--bs-primary-rgb), 0.2);
    border-color: rgba(var(--bs-primary-rgb), 0.3);
    box-shadow: 0 4px 15px rgba(var(--bs-primary-rgb), 0.15);
  }
}

.mega-menu-list .dropdown-item h6 {
  font-size: 14px;
  margin-bottom: 0.25rem;
  color: var(--bs-dark);
  text-transform: none;
  letter-spacing: normal;
}

[data-theme="dark"] .mega-menu-list .dropdown-item h6 {
  color: #ffffff;
  font-weight: 600;
}

.mega-menu-list .dropdown-item small {
  font-size: 12px;
  color: var(--bs-secondary);
}

[data-theme="dark"] .mega-menu-list .dropdown-item small {
  color: #a8adb5;
}

.mega-menu-list .dropdown-item i {
  font-size: 20px;
}

[data-theme="dark"] .mega-menu-list .dropdown-item i {
  color: var(--bs-primary);
  opacity: 0.9;
}

[data-theme="dark"] .mega-menu-list .dropdown-item:hover i {
  opacity: 1;
  transform: scale(1.1);
}

/* CTA Box in Mega Menu */
.bg-soft-primary {
  background: rgba(var(--bs-primary-rgb), 0.1) !important;
  border: 1px solid rgba(var(--bs-primary-rgb), 0.2);
  transition: all 0.3s ease;
}

[data-theme="dark"] .bg-soft-primary {
  background: linear-gradient(135deg, rgba(var(--bs-primary-rgb), 0.15) 0%, rgba(var(--bs-primary-rgb), 0.25) 100%) !important;
  border: 1px solid rgba(var(--bs-primary-rgb), 0.4);
  box-shadow: 0 4px 15px rgba(var(--bs-primary-rgb), 0.1);
}

[data-theme="dark"] .bg-soft-primary p {
  color: #ffffff;
  font-weight: 600;
}

/* Action Buttons */
.btn-hover-effect {
  position: relative;
  overflow: hidden;
  transition: all 0.3s ease;
  border-width: 2px;
}

.btn-hover-effect:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(var(--bs-primary-rgb), 0.3);
}

[data-theme="dark"] .btn-hover-effect:hover {
  box-shadow: 0 8px 25px rgba(var(--bs-primary-rgb), 0.4);
}

.btn-hover-effect::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
  transform: translate(-50%, -50%);
  transition: width 0.6s, height 0.6s;
}

.btn-hover-effect:hover::before {
  width: 300px;
  height: 300px;
}

/* Dark Theme Button Styles */
[data-theme="dark"] .btn-outline-primary {
  color: #ffffff;
  border-color: rgba(var(--bs-primary-rgb), 0.6);
  background: rgba(var(--bs-primary-rgb), 0.1);
}

[data-theme="dark"] .btn-outline-primary:hover {
  color: #ffffff;
  border-color: var(--bs-primary);
  background: var(--bs-primary);
}

[data-theme="dark"] .btn-primary {
  background: linear-gradient(135deg, var(--bs-primary) 0%, #0056b3 100%);
  border: none;
  box-shadow: 0 4px 15px rgba(var(--bs-primary-rgb), 0.3);
}

[data-theme="dark"] .btn-primary:hover {
  background: linear-gradient(135deg, #0056b3 0%, var(--bs-primary) 100%);
  box-shadow: 0 6px 20px rgba(var(--bs-primary-rgb), 0.5);
}

/* Theme Toggle Button */
.theme-toggle {
  position: relative;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
}

.theme-toggle:hover {
  transform: rotate(180deg);
  box-shadow: 0 4px 15px rgba(var(--bs-primary-rgb), 0.3);
}

[data-theme="dark"] .theme-toggle {
  background: rgba(var(--bs-primary-rgb), 0.15);
  border-color: rgba(var(--bs-primary-rgb), 0.3);
}

[data-theme="dark"] .theme-toggle:hover {
  background: rgba(var(--bs-primary-rgb), 0.25);
  box-shadow: 0 4px 20px rgba(var(--bs-primary-rgb), 0.4);
}

[data-theme="dark"] .theme-toggle i {
  color: #ffffff;
}

/* Mobile Menu */
.navbar-toggler {
  padding: 0.5rem;
  border-radius: 8px;
  transition: all 0.3s ease;
}

.navbar-toggler:hover {
  background: rgba(var(--bs-primary-rgb), 0.1);
}

.navbar-toggler:focus {
  box-shadow: 0 0 0 0.2rem rgba(var(--bs-primary-rgb), 0.25);
}

[data-theme="dark"] .navbar-toggler {
  border-color: rgba(255, 255, 255, 0.2);
}

[data-theme="dark"] .navbar-toggler:hover {
  background: rgba(var(--bs-primary-rgb), 0.2);
  border-color: rgba(var(--bs-primary-rgb), 0.4);
}

[data-theme="dark"] .navbar-toggler-icon {
  filter: invert(1);
}

/* Prevent dropdown from closing when hovering over menu - Desktop only */
@media (min-width: 992px) {
  .dropdown-mega:hover .dropdown-menu-mega {
    display: block !important;
  }
}

/* Disable hover effects on mobile and tablets - ensure dropdowns are hidden by default */
@media (max-width: 991.98px) {
  .dropdown-mega:hover .dropdown-menu-mega {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
  }
  
  /* Prevent any hover-triggered display on mobile/tablet */
  .dropdown-mega .dropdown-menu-mega:not(.show) {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
  }
}

/* Mobile Navigation */
@media (max-width: 991.98px) {
  .modern-navbar .navbar-collapse,
  .modern-navbar #navbarContent {
    margin-top: 80% !important;
    padding: 5rem 1.5rem 2rem 1.5rem !important;
    background: var(--bs-white);
    border-radius: 12px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1);
    max-height: 90vh !important;
    min-height: auto !important;
    overflow-y: visible !important;
    overflow-x: hidden;
  }

  [data-theme="dark"] .modern-navbar .navbar-collapse,
  [data-theme="dark"] .modern-navbar #navbarContent {
    background: linear-gradient(135deg, #1e2229 0%, #2a2f38 100%);
    border: 1px solid rgba(255, 255, 255, 0.15);
    box-shadow: 0 15px 50px rgba(0, 0, 0, 0.6);
    max-height: 90vh !important;
    overflow-y: visible !important;
  }
  
  /* Add padding to navbar-nav to ensure first item is visible */
  .modern-navbar .navbar-nav {
    padding-top: 2rem;
  }

  .modern-navbar .nav-link {
    padding: 0.75rem 1rem;
    margin: 0.25rem 0;
  }
  
  /* Ensure first nav item has proper spacing from top */
  .modern-navbar .navbar-nav > li:first-child {
    margin-top: 1rem;
  }
  
  .modern-navbar .navbar-nav > li:first-child .nav-link {
    margin-top: 0;
  }

  .dropdown-menu-mega {
    position: static !important;
    transform: none !important;
    width: 100%;
    max-width: 100%;
    margin-top: 0.5rem;
    padding: 1rem;
    box-shadow: none;
    border: 1px solid rgba(0, 0, 0, 0.1);
    opacity: 0;
    visibility: hidden;
    display: none !important;
  }
  
  /* Only show dropdown when explicitly clicked (has .show class) */
  .dropdown-menu-mega.show {
    opacity: 1;
    visibility: visible;
    display: block !important;
  }

  [data-theme="dark"] .dropdown-menu-mega {
    border-color: rgba(255, 255, 255, 0.1);
  }

  .dropdown-menu-mega .row {
    gap: 1rem;
  }

  .dropdown-menu-mega .col-lg-4 {
    margin-bottom: 1rem;
  }

  .modern-navbar .navbar-brand img {
    height: 40px;
  }
}

/* Tablet Adjustments */
@media (max-width: 768px) {
  .modern-navbar .container-fluid {
    padding: 0.5rem 1rem;
  }

  .modern-navbar .navbar-brand {
    margin-right: 1rem;
  }

  .modern-navbar .navbar-brand img {
    height: 35px;
  }
}

/* Smooth Scrolling */
html {
  scroll-behavior: smooth;
}

/* Navbar Sticky Animation */
.modern-navbar.nav-sticky {
  animation: slideDown 0.3s ease;
}

@keyframes slideDown {
  from {
    transform: translateY(-100%);
  }
  to {
    transform: translateY(0);
  }
}

/* Dropdown Arrow Animation */
.nav-link .uil-angle-down {
  transition: transform 0.3s ease;
}

.dropdown.show .nav-link .uil-angle-down {
  transform: rotate(180deg);
}

/* Enhanced Focus States for Accessibility */
.modern-navbar .nav-link:focus,
.modern-navbar .btn:focus {
  outline: 2px solid var(--bs-primary);
  outline-offset: 2px;
}

/* Loading Animation for Dropdown */
.dropdown-menu-mega.show {
  animation: fadeInDown 0.3s ease;
}

/* Hover Effects for Icons */
.mega-menu-list .dropdown-item i {
  transition: all 0.3s ease;
}

.mega-menu-list .dropdown-item:hover i {
  transform: scale(1.1);
  color: var(--bs-primary);
}

/* Button Group Spacing */
.d-flex.gap-2 {
  gap: 0.5rem !important;
}

/* Mobile Button Improvements */
@media (max-width: 991.98px) {
  .d-grid.gap-2 {
    gap: 0.75rem !important;
  }

  .d-lg-none .btn {
    font-size: 15px;
    padding: 0.75rem 1rem;
  }
}

/* Navbar Background Blur Effect */
.modern-navbar.nav-sticky {
  backdrop-filter: blur(10px);
  background: rgba(255, 255, 255, 0.95);
}

[data-theme="dark"] .modern-navbar.nav-sticky {
  backdrop-filter: blur(15px);
  background: linear-gradient(135deg, rgba(26, 29, 35, 0.98) 0%, rgba(37, 41, 48, 0.98) 100%);
}

/* Professional Gradient Hover for Buttons */
.btn-primary.btn-hover-effect {
  background: linear-gradient(135deg, var(--bs-primary) 0%, var(--bs-primary) 100%);
  border: none;
}

.btn-primary.btn-hover-effect:hover {
  background: linear-gradient(135deg, var(--bs-primary) 0%, #0056b3 100%);
}

/* Outline Button Hover */
.btn-outline-primary.btn-hover-effect:hover {
  background: var(--bs-primary);
  color: white;
  border-color: var(--bs-primary);
}

/* Mega Menu Responsive Grid */
@media (max-width: 991.98px) {
  .dropdown-menu-mega .col-lg-4 {
    width: 100%;
    max-width: 100%;
  }
}

/* Enhanced Shadow for Dropdown */
.dropdown-menu-mega {
  box-shadow: 0 10px 50px rgba(0, 0, 0, 0.15);
}

[data-theme="dark"] .dropdown-menu-mega {
  box-shadow: 0 10px 50px rgba(0, 0, 0, 0.5);
}

/* ========================================
   DARK THEME ENHANCEMENTS
   ======================================== */

/* Dropdown Arrow in Dark Mode */
[data-theme="dark"] .nav-link .uil-angle-down {
  color: #a8adb5;
}

[data-theme="dark"] .nav-link:hover .uil-angle-down {
  color: #ffffff;
}

/* Navbar Separator Line */
[data-theme="dark"] .modern-navbar::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, rgba(var(--bs-primary-rgb), 0.3) 50%, transparent 100%);
}

/* Enhanced Text Contrast */
[data-theme="dark"] .modern-navbar .navbar-nav {
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Mega Menu Category Headers */
[data-theme="dark"] .dropdown-menu-mega h6 i {
  color: var(--bs-primary);
  filter: drop-shadow(0 2px 4px rgba(var(--bs-primary-rgb), 0.3));
}

/* Divider Between Mega Menu Columns */
[data-theme="dark"] .dropdown-menu-mega .col-lg-4:not(:last-child) {
  border-right: 1px solid rgba(255, 255, 255, 0.08);
}

@media (max-width: 991.98px) {
  [data-theme="dark"] .dropdown-menu-mega .col-lg-4:not(:last-child) {
    border-right: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    padding-bottom: 1rem;
  }
}

/* Scrollbar Styling for Mobile Menu */
[data-theme="dark"] .modern-navbar .navbar-collapse::-webkit-scrollbar {
  width: 6px;
}

[data-theme="dark"] .modern-navbar .navbar-collapse::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0.05);
  border-radius: 3px;
}

[data-theme="dark"] .modern-navbar .navbar-collapse::-webkit-scrollbar-thumb {
  background: rgba(var(--bs-primary-rgb), 0.5);
  border-radius: 3px;
}

[data-theme="dark"] .modern-navbar .navbar-collapse::-webkit-scrollbar-thumb:hover {
  background: rgba(var(--bs-primary-rgb), 0.7);
}

/* Button Icon Colors */
[data-theme="dark"] .btn i {
  color: inherit;
}

/* Enhanced Focus Rings for Dark Mode */
[data-theme="dark"] .modern-navbar .nav-link:focus,
[data-theme="dark"] .modern-navbar .btn:focus {
  outline: 2px solid rgba(var(--bs-primary-rgb), 0.6);
  outline-offset: 2px;
  box-shadow: 0 0 0 4px rgba(var(--bs-primary-rgb), 0.15);
}

/* Subtle Glow Effect on Hover - Desktop only */
@media (min-width: 992px) {
  [data-theme="dark"] .modern-navbar .nav-link:hover {
    text-shadow: 0 0 20px rgba(var(--bs-primary-rgb), 0.3);
  }
}

/* Mobile Menu Border */
[data-theme="dark"] .d-lg-none.border-top {
  border-top-color: rgba(255, 255, 255, 0.1) !important;
}

/* CTA Button in Mega Menu - Enhanced */
[data-theme="dark"] .dropdown-menu-mega .btn-primary {
  background: linear-gradient(135deg, var(--bs-primary) 0%, #0056b3 100%);
  box-shadow: 0 4px 15px rgba(var(--bs-primary-rgb), 0.4);
  font-weight: 600;
  letter-spacing: 0.3px;
}

[data-theme="dark"] .dropdown-menu-mega .btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 25px rgba(var(--bs-primary-rgb), 0.6);
}

/* Navbar Logo Glow Effect */
[data-theme="dark"] .modern-navbar .navbar-brand:hover img {
  filter: drop-shadow(0 0 15px rgba(var(--bs-primary-rgb), 0.4));
}

/* Smooth Transitions */
[data-theme="dark"] .modern-navbar * {
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Glass Morphism Effect for Sticky Navbar */
[data-theme="dark"] .modern-navbar.nav-sticky {
  backdrop-filter: blur(20px) saturate(180%);
  -webkit-backdrop-filter: blur(20px) saturate(180%);
}

/* Enhanced Mega Menu Item Hover - Desktop only */
@media (min-width: 992px) {
  [data-theme="dark"] .mega-menu-list .dropdown-item:hover {
    background: linear-gradient(135deg, rgba(var(--bs-primary-rgb), 0.15) 0%, rgba(var(--bs-primary-rgb), 0.25) 100%);
  }
}

/* Active State for Navigation */
[data-theme="dark"] .modern-navbar .nav-item.active .nav-link {
  background: linear-gradient(135deg, rgba(var(--bs-primary-rgb), 0.2) 0%, rgba(var(--bs-primary-rgb), 0.3) 100%);
  box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.2);
}
