/* Header Component Styles */

/* CRITICAL: Ensure Bootstrap Icons font is loaded and visible */
.bi::before,
[class^="bi-"]::before,
[class*=" bi-"]::before {
  display: inline-block !important;
  font-family: bootstrap-icons !important;
  font-style: normal !important;
  font-weight: normal !important;
  font-variant: normal !important;
  text-transform: none !important;
  line-height: 1 !important;
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
}

/* Force all Bootstrap icon elements to be visible */
header i.bi,
header [class^="bi-"],
header [class*=" bi-"] {
  display: inline-block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Ensure menu link icons are visible */
header.style-1 .main-menu>ul>li>a i.bi {
  display: inline-block !important;
  visibility: visible !important;
}

/* Override Bootstrap's d-none and d-lg-flex classes for header action items */
header.style-1 .nav-right .header-action-items.d-lg-flex.d-none {
  display: none !important;
}

@media (min-width: 992px) {
  header.style-1 .nav-right .header-action-items.d-lg-flex.d-none {
    display: flex !important;
  }
}

/* Ensure header action buttons are always flex */
header.style-1 .header-action-btn {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}

header.style-1 .header-action-btn i {
  display: inline-block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

header.style-1 .header-action-btn .action-icon-wrapper {
  display: flex !important;
}

header.style-1 .header-action-btn .action-label {
  display: block !important;
}

/* Mobile action items */
@media (max-width: 991px) {
  header.style-1 .main-menu .mobile-action-items.d-lg-none.d-flex {
    display: flex !important;
  }
}

/* Mobile Styles */
@media (max-width: 991px) {
  header.style-1 .main-menu>ul>li .mega-menu .menu-row .menu-single-item .dropdown-icon.active::before {
    content: '−';
  }
  
  header.style-1 .main-menu>ul>li .mega-menu .menu-row .menu-single-item .dropdown-icon {
    pointer-events: auto !important;
    cursor: pointer !important;
    z-index: 1000 !important;
    position: absolute !important;
    top: 10px !important;
    right: 0 !important;
    /* Improve touch targets for mobile */
    padding: 10px !important;
    margin: -10px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    /* Prevent long-press menu on iOS/Android */
    -webkit-touch-callout: none !important;
    -webkit-user-select: none !important;
    -moz-user-select: none !important;
    -ms-user-select: none !important;
    user-select: none !important;
    touch-action: manipulation !important;
  }
  
  /* Ensure mobile action items are visible */
  header.style-1 .main-menu .mobile-action-items {
    display: flex !important;
  }
  
  header.style-1 .main-menu .mobile-action-items .header-action-btn {
    display: flex !important;
  }
  
  header.style-1 .main-menu>ul>li .mega-menu .menu-row .menu-single-item ul {
    display: block !important;
    visibility: hidden !important;
    opacity: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
    transition: opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1), 
                max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1), 
                visibility 0.4s ease,
                margin-bottom 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  
  header.style-1 .main-menu>ul>li .mega-menu .menu-row .menu-single-item ul.mega-menu-open {
    visibility: visible !important;
    opacity: 1 !important;
    max-height: 1000px !important;
    overflow: visible !important;
    margin-bottom: 15px !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }
  
  header.style-1 .main-menu>ul>li .mega-menu .menu-row .menu-single-item {
    margin-bottom: 0 !important;
    transition: margin-bottom 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
    position: relative !important;
  }
  
  header.style-1 .main-menu>ul>li .mega-menu .menu-row .menu-single-item .menu-title {
    /* Ensure the title doesn't interfere with icon touches */
    padding-right: 50px !important;
    -webkit-touch-callout: none !important;
    -webkit-user-select: none !important;
    user-select: none !important;
  }
  
  header.style-1 .main-menu>ul>li .mega-menu .menu-row .menu-single-item.has-open-dropdown {
    margin-bottom: 15px !important;
  }
  
  header.style-1 .main-menu>ul>li .mega-menu .menu-row .menu-single-item ul li {
    opacity: 0;
    transform: translateY(-10px);
    transition: opacity 0.3s ease 0.1s, transform 0.3s ease 0.1s !important;
  }
  
  header.style-1 .main-menu>ul>li .mega-menu .menu-row .menu-single-item ul.mega-menu-open li {
    opacity: 1;
    transform: translateY(0);
  }
  
  header.style-1 .main-menu>ul>li .mega-menu {
    position: static !important;
    z-index: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
    left: auto !important;
    top: auto !important;
    padding: 20px 0 !important;
    margin: 0 !important;
  }
  
  header.style-1 .main-menu>ul>li.menu-item-has-children {
    position: relative !important;
    z-index: auto !important;
  }
  
  header.style-1 .main-menu>ul>li.menu-item-has-children.has-mega-menu {
    display: block !important;
    width: 100% !important;
  }
  
  header.style-1 .main-menu>ul>li .mega-menu .menu-row {
    width: 100% !important;
    max-width: 100% !important;
  }
  
  header.style-1 .main-menu>ul>li ul.sub-menu {
    display: block !important;
    visibility: hidden !important;
    opacity: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
    transition: opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1), 
                max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1), 
                visibility 0.4s ease !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  
  header.style-1 .main-menu>ul>li ul.sub-menu.show-submenu {
    visibility: visible !important;
    opacity: 1 !important;
    max-height: 500px !important;
    overflow: visible !important;
    margin-top: 10px !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }
  
  header.style-1 .main-menu>ul>li ul.sub-menu li {
    opacity: 0;
    transform: translateX(-10px);
    transition: opacity 0.3s ease 0.1s, transform 0.3s ease 0.1s !important;
  }
  
  header.style-1 .main-menu>ul>li ul.sub-menu.show-submenu li {
    opacity: 1;
    transform: translateX(0);
  }
}

/* Desktop Styles */
@media (min-width: 992px) {
  header.style-1 .main-menu>ul>li .mega-menu {
    transition: none !important;
  }
  
  header.style-1 .main-menu>ul>li .mega-menu .menu-row .menu-single-item ul {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    transition: none !important;
  }
  
  header.style-1 .main-menu>ul>li:hover .mega-menu {
    display: block !important;
  }
}

/* FINAL OVERRIDE - Must be at end of file for maximum priority */
html body header.style-1 .main-menu>ul>li>a i.bi,
html body header.style-1 .main-menu>ul>li>a .bi-caret-down-fill,
html body header.style-1 .main-menu>ul>li .bi.dropdown-icon,
html body header.style-1 .main-menu>ul>li .dropdown-icon {
  display: inline-block !important;
  visibility: visible !important;
  opacity: 1 !important;
  transition: none !important;
  animation: none !important;
}

@media (max-width: 991px) {
  html body header.style-1 .main-menu>ul>li .dropdown-icon {
    display: none !important;
  }
  .bi-caret-down-fill {
    display: none !important;
  }
}
