/* Mobile Menu Fixes */

/* Ensure header stays on top of parallax elements */
header {
  position: relative;
  z-index: 9999 !important;
  background: transparent !important;
}

#header {
  position: relative;
  z-index: 9999 !important;
  background: transparent !important;
}

/* Fix navbar toggle button positioning */
.navbar-toggle {
  position: relative;
  z-index: 10000 !important;
  margin-top: 8px;
  margin-right: 15px;
  border: 2px solid #333;
  background-color: #fff !important;
  cursor: pointer;
  pointer-events: auto !important;
}

.navbar-toggle:hover,
.navbar-toggle:focus {
  background-color: #f5f5f5 !important;
  border-color: #333;
}

.navbar-toggle .icon-bar {
  background-color: #333;
  height: 3px;
  border-radius: 1px;
}

/* Ensure mobile navigation is clickable */
.navbar-header {
  position: relative;
  z-index: 10000 !important;
}

.navbar-collapse {
  position: relative;
  z-index: 9998 !important;
  background: transparent;
  border: none !important;
}

/* Mobile menu dropdown styling */
@media (max-width: 991px) {
  /* Fix logo and menu button alignment */
  .logo {
    float: left;
    max-width: 60%;
    position: relative;
    z-index: 10000;
  }
  
  .logo img {
    max-height: 50px;
    width: auto;
  }
  
  /* Position toggle button properly */
  .navbar-toggle {
    float: right;
    margin-top: 15px;
    display: block !important;
    position: relative;
    z-index: 10001 !important;
  }
  
  /* Fix header layout */
  #header .container {
    position: relative;
  }
  
  #header .row {
    position: relative;
  }
  
  /* Ensure navigation is below header */
  .navbar-collapse {
    margin-top: 10px;
    border-top: 1px solid #e7e7e7;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.1);
    max-height: 500px;
    overflow-y: auto;
  }
  
  .navbar-collapse.in,
  .navbar-collapse.collapsing {
    background: #fff;
    position: relative;
    z-index: 9998;
  }

  /* Fix: site-wide-modern.css sets #header .navbar-collapse { background: transparent !important }
     which loads last (in body) and overrides the white background above.
     Using higher specificity (#header .navbar-collapse.in vs #header .navbar-collapse)
     ensures the solid background wins regardless of load order. */
  #header .navbar-collapse.in,
  #header .navbar-collapse.collapsing {
    background: #0d1f3c !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35) !important;
    border-radius: 0 0 10px 10px;
  }
  
  /* Mobile menu items */
  .navbar-nav {
    margin: 7.5px -15px;
  }
  
  .navbar-nav > li {
    border-bottom: 1px solid #e7e7e7;
  }
  
  .navbar-nav > li > a {
    padding: 15px;
    line-height: 20px;
    color: #333 !important;
    text-align: left;
  }
  
  .navbar-nav > li > a:hover,
  .navbar-nav > li > a:focus {
    background-color: #f5f5f5;
  }
  
  /* Mobile dropdown menus */
  .navbar-nav > li > ul {
    position: static !important;
    float: none !important;
    width: 100% !important;
    margin-top: 0;
    background-color: #f9f9f9;
    border: none;
    box-shadow: none;
    display: none;
  }
  
  .navbar-nav > li.open > ul {
    display: block !important;
  }
  
  .navbar-nav > li > ul > li > a {
    padding: 12px 30px;
    color: #666;
    display: block;
  }
  
  .navbar-nav > li > ul > li > a:hover {
    background-color: #efefef;
  }
  
  /* Fix header clearing */
  .header-right {
    float: none !important;
    width: 100%;
    clear: both;
  }
  
  .main-navigation {
    width: 100%;
    float: none;
  }
  
  /* Ensure dropdown toggle works */
  .navbar-nav > li > a.dropdown-toggle {
    position: relative;
    padding-right: 35px;
  }
  
  .navbar-nav > li > a.dropdown-toggle::after {
    content: '\f107';
    font-family: 'FontAwesome';
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
  }
  
  .navbar-nav > li.open > a.dropdown-toggle::after {
    content: '\f106';
  }
}

/* Tablet and smaller devices */
@media (max-width: 767px) {
  .logo {
    max-width: 50%;
    padding-right: 10px !important;
  }
  
  .navbar-toggle {
    margin-top: 10px;
    padding: 8px 10px;
  }
  
  #header {
    padding: 10px 0 !important;
  }
}

/* Prevent parallax from covering header */
.parallax-section {
  position: relative;
  z-index: 1;
}

.parallax-overlay,
.parallax-bg,
.parallax-particles {
  z-index: 0 !important;
}

.parallax-content {
  position: relative;
  z-index: 2;
}

/* Fix top header on mobile */
@media (max-width: 767px) {
  .top_header {
    position: relative;
    z-index: 9999;
  }
  
  .top_menu {
    font-size: 12px;
  }
  
  .top_menu li {
    display: inline-block;
    margin-right: 10px;
  }
  
  .social_icon,
  .top_link {
    float: none !important;
    text-align: center;
    margin-top: 10px;
  }
}

/* Ensure clickable elements */
nav,
.navbar,
.navbar-header,
.navbar-toggle,
.navbar-collapse,
.navbar-nav,
.navbar-nav > li,
.navbar-nav > li > a {
  pointer-events: auto !important;
  -webkit-tap-highlight-color: rgba(0,0,0,0.1);
  touch-action: manipulation;
}

/* Better touch targets for mobile */
@media (max-width: 991px) {
  .navbar-nav > li > a {
    min-height: 44px;
    display: flex;
    align-items: center;
  }
  
  .navbar-toggle {
    min-width: 44px;
    min-height: 44px;
  }
}

/* Fix for when menu is open */
body.modal-open {
  overflow: auto !important;
}

/* Smooth transitions */
.navbar-collapse {
  transition: height 0.35s ease;
}

.navbar-toggle {
  transition: all 0.3s ease;
}

/* Dark mode support for mobile menu */
body.dark-mode header,
body.dark-mode #header {
  background-color: #1a1a2e !important;
  border-bottom: 1px solid #2d2d44 !important;
}

body.dark-mode .navbar-toggle {
  background-color: #2d2d44 !important;
  border-color: #667eea !important;
}

body.dark-mode .navbar-toggle:hover,
body.dark-mode .navbar-toggle:focus {
  background-color: #374151 !important;
  border-color: #667eea !important;
}

body.dark-mode .navbar-toggle .icon-bar {
  background-color: #ffffff !important;
}

body.dark-mode .navbar-collapse {
  background-color: #1a1a2e !important;
  border-top: 1px solid #2d2d44 !important;
  border-color: #2d2d44 !important;
}

body.dark-mode .navbar-collapse.in,
body.dark-mode .navbar-collapse.collapsing,
body.dark-mode #header .navbar-collapse.in,
body.dark-mode #header .navbar-collapse.collapsing {
  background-color: #1a1a2e !important;
  background: #1a1a2e !important;
}

body.dark-mode .navbar-nav > li {
  border-bottom-color: #2d2d44 !important;
}

body.dark-mode .navbar-nav > li > a {
  color: #f0f0f0 !important;
  background-color: #1a1a2e !important;
}

body.dark-mode .navbar-nav > li > a:hover,
body.dark-mode .navbar-nav > li > a:focus {
  background-color: rgba(102, 126, 234, 0.2) !important;
  color: #ffffff !important;
}

body.dark-mode .navbar-nav > li > ul {
  background-color: #2d2d44 !important;
  border-color: #374151 !important;
}

body.dark-mode .navbar-nav > li > ul > li > a {
  color: #d1d5db !important;
  background-color: #2d2d44 !important;
}

body.dark-mode .navbar-nav > li > ul > li > a:hover {
  background-color: #374151 !important;
  color: #ffffff !important;
}
