/* Mobile Navigation Fix - Ensures mobile navigation works on all pages */

/* AGGRESSIVE OVERRIDE - Force mobile navigation toggle to be visible on mobile */
@media (max-width: 1199px) {
  /* Override ALL possible conflicting rules from main.css */
  .mobile-nav-toggle,
  .d-xl-none.mobile-nav-toggle,
  .bi.mobile-nav-toggle,
  .bi.bi-list.mobile-nav-toggle,
  nav .mobile-nav-toggle,
  .navmenu .mobile-nav-toggle,
  #navmenu .mobile-nav-toggle,
  .header .mobile-nav-toggle,
  body .mobile-nav-toggle,
  html body .mobile-nav-toggle,
  .header .navmenu .mobile-nav-toggle,
  .header #navmenu .mobile-nav-toggle {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    position: fixed !important;
    top: 15px !important;
    right: 15px !important;
    z-index: 999999 !important;
    background: rgba(10, 10, 15, 0.9) !important;
    border-radius: 50% !important;
    width: 50px !important;
    height: 50px !important;
    align-items: center !important;
    justify-content: center !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    color: #ffffff !important;
    font-size: 24px !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
    /* TEMPORARY DEBUG: Make button more visible */
    background: red !important;
    border: 3px solid yellow !important;
    box-shadow: 0 0 20px red !important;
  }
}

/* Override AOS pointer-events restrictions for mobile navigation */
[data-aos] .mobile-nav-toggle,
[data-aos] .d-xl-none.mobile-nav-toggle,
[data-aos] .bi.mobile-nav-toggle,
[data-aos] .bi.bi-list.mobile-nav-toggle,
.mobile-nav-toggle[data-aos],
.d-xl-none.mobile-nav-toggle[data-aos],
.bi.mobile-nav-toggle[data-aos],
.bi.bi-list.mobile-nav-toggle[data-aos] {
  pointer-events: auto !important;
}

/* Force mobile navigation toggle to be visible on all pages */
@media (max-width: 1199px) {
  /* Target all possible mobile nav toggle selectors */
  .mobile-nav-toggle,
  .d-xl-none.mobile-nav-toggle,
  .bi.mobile-nav-toggle,
  .bi.bi-list.mobile-nav-toggle,
  nav .mobile-nav-toggle,
  .navmenu .mobile-nav-toggle,
  #navmenu .mobile-nav-toggle,
  .header .mobile-nav-toggle,
  body .mobile-nav-toggle,
  html body .mobile-nav-toggle {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    position: fixed !important;
    top: 15px !important;
    right: 15px !important;
    z-index: 99999 !important;
    background: rgba(10, 10, 15, 0.9) !important;
    border-radius: 50% !important;
    width: 50px !important;
    height: 50px !important;
    align-items: center !important;
    justify-content: center !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    color: #ffffff !important;
    font-size: 24px !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
  }

  /* Override any AOS or other pointer-events restrictions */
  .mobile-nav-toggle,
  .d-xl-none.mobile-nav-toggle,
  .bi.mobile-nav-toggle,
  .bi.bi-list.mobile-nav-toggle {
    pointer-events: auto !important;
  }

  /* Hover effects */
  .mobile-nav-toggle:hover,
  .d-xl-none.mobile-nav-toggle:hover,
  .bi.mobile-nav-toggle:hover,
  .bi.bi-list.mobile-nav-toggle:hover {
    background: rgba(10, 10, 15, 0.95) !important;
    transform: scale(1.05) !important;
  }
}

/* Hide mobile nav toggle on desktop */
@media (min-width: 1200px) {
  .mobile-nav-toggle,
  .d-xl-none.mobile-nav-toggle,
  .bi.mobile-nav-toggle,
  .bi.bi-list.mobile-nav-toggle {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }
}

/* Mobile navigation menu styles when active */
body.mobile-nav-active .navmenu,
body.mobile-nav-active #navmenu {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  z-index: 99998 !important;
  background: rgba(10, 10, 15, 0.95) !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
}

body.mobile-nav-active .navmenu > ul,
body.mobile-nav-active #navmenu > ul {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: relative !important;
  top: 80px !important;
  left: 20px !important;
  right: 20px !important;
  bottom: 20px !important;
  width: calc(100% - 40px) !important;
  height: calc(100vh - 100px) !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  overflow-y: auto !important;
}

/* Ensure mobile nav toggle is visible when nav is active */
body.mobile-nav-active .mobile-nav-toggle {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  z-index: 99999 !important;
  pointer-events: auto !important;
}

/* Additional specificity to override any conflicting styles */
@media (max-width: 1199px) {
  /* Override any CSS that might hide or disable the mobile nav toggle */
  .mobile-nav-toggle,
  .d-xl-none.mobile-nav-toggle,
  .bi.mobile-nav-toggle,
  .bi.bi-list.mobile-nav-toggle {
    pointer-events: auto !important;
    cursor: pointer !important;
    user-select: none !important;
    -webkit-user-select: none !important;
    -moz-user-select: none !important;
    -ms-user-select: none !important;
  }

  /* Ensure the mobile nav toggle is not affected by parent element styles */
  .header .mobile-nav-toggle,
  .navmenu .mobile-nav-toggle,
  #navmenu .mobile-nav-toggle {
    pointer-events: auto !important;
    cursor: pointer !important;
  }

  /* Override any page-specific styles that might interfere */
  .service-details .mobile-nav-toggle,
  .page-title .mobile-nav-toggle,
  .rainbow-snow-container .mobile-nav-toggle,
  .main .mobile-nav-toggle,
  body .mobile-nav-toggle {
    pointer-events: auto !important;
    cursor: pointer !important;
    z-index: 99999 !important;
    position: fixed !important;
    top: 15px !important;
    right: 15px !important;
  }

  /* Ensure mobile nav toggle is above all other elements */
  .mobile-nav-toggle,
  .d-xl-none.mobile-nav-toggle,
  .bi.mobile-nav-toggle,
  .bi.bi-list.mobile-nav-toggle {
    z-index: 99999 !important;
    position: fixed !important;
    top: 15px !important;
    right: 15px !important;
  }

  /* Styles for dynamically created mobile nav toggle */
  body > .mobile-nav-toggle {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    cursor: pointer !important;
    position: fixed !important;
    top: 15px !important;
    right: 15px !important;
    z-index: 99999 !important;
    background: rgba(10, 10, 15, 0.9) !important;
    border-radius: 50% !important;
    width: 50px !important;
    height: 50px !important;
    align-items: center !important;
    justify-content: center !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    color: #ffffff !important;
    font-size: 24px !important;
    transition: all 0.3s ease !important;
  }

  /* Additional aggressive overrides for all mobile nav toggles */
  .mobile-nav-toggle,
  .d-xl-none.mobile-nav-toggle,
  .bi.mobile-nav-toggle,
  .bi.bi-list.mobile-nav-toggle,
  i.mobile-nav-toggle,
  i.d-xl-none.bi.bi-list {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    cursor: pointer !important;
    position: fixed !important;
    top: 15px !important;
    right: 15px !important;
    z-index: 9999999 !important;
    background: rgba(10, 10, 15, 0.9) !important;
    border-radius: 50% !important;
    width: 50px !important;
    height: 50px !important;
    align-items: center !important;
    justify-content: center !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    color: #ffffff !important;
    font-size: 24px !important;
    transition: all 0.3s ease !important;
    isolation: isolate !important;
    transform: translateZ(0) !important;
    will-change: transform !important;
  }

  body > .mobile-nav-toggle:hover {
    background: rgba(10, 10, 15, 0.95) !important;
    transform: scale(1.05) !important;
  }

  /* Hover effects for all mobile nav toggles */
  .mobile-nav-toggle:hover,
  .d-xl-none.mobile-nav-toggle:hover,
  .bi.mobile-nav-toggle:hover,
  .bi.bi-list.mobile-nav-toggle:hover,
  i.mobile-nav-toggle:hover,
  i.d-xl-none.bi.bi-list:hover {
    background: rgba(10, 10, 15, 0.95) !important;
    transform: scale(1.05) !important;
    border-color: rgba(255, 255, 255, 0.2) !important;
  }
}
