/* ============================================
   Mobile Menu - Independent Styling
   High specificity to prevent default CSS overrides
   ============================================ */

/* Accordion Menu Container */
#off-canvas .accordion-menu,
#off-canvas [data-accordion-menu] {
  list-style: none !important;
  margin: 0 auto !important;
  padding: 0 !important;
  text-align: center !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}

/* Menu Items with Children */
#off-canvas .accordion-menu .menu-item-has-children,
#off-canvas .accordion-menu .is-accordion-submenu-parent,
#off-canvas [data-accordion-menu] .menu-item-has-children,
#off-canvas [data-accordion-menu] .is-accordion-submenu-parent {
  position: relative !important;
  list-style: none !important;
  width: 100% !important;
  text-align: center !important;
}

/* Parent Menu Links */
#off-canvas .accordion-menu .menu-item-has-children > a,
#off-canvas .accordion-menu .is-accordion-submenu-parent > a,
#off-canvas [data-accordion-menu] .menu-item-has-children > a,
#off-canvas [data-accordion-menu] .is-accordion-submenu-parent > a {
  position: relative !important;
  padding-right: 3rem !important;
  cursor: pointer !important;
  display: block !important;
  color: #fff !important;
  font-size: 25px !important;
  padding: 10px 0 !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  text-align: center !important;
}

/* Dropdown Arrow Icon - Right Side */
#off-canvas .accordion-menu .menu-item-has-children > a::after,
#off-canvas .accordion-menu .is-accordion-submenu-parent > a::after,
#off-canvas [data-accordion-menu] .menu-item-has-children > a::after,
#off-canvas [data-accordion-menu] .is-accordion-submenu-parent > a::after {
  display: block !important;
  width: 0 !important;
  height: 0 !important;
  border: inset 6px !important;
  content: "" !important;
  border-bottom-width: 0 !important;
  border-top-style: solid !important;
  border-color: #e5347e transparent transparent !important;
  position: absolute !important;
  top: 50% !important;
  right: 0.1rem !important;
  margin-top: -3px !important;
  pointer-events: none !important;
  transform-origin: 50% 50% !important;
  transition: transform 0.3s ease !important;
}

/* Rotate Arrow When Expanded */
#off-canvas
  .accordion-menu
  .menu-item-has-children[aria-expanded="true"]
  > a::after,
#off-canvas
  .accordion-menu
  .is-accordion-submenu-parent[aria-expanded="true"]
  > a::after,
#off-canvas
  [data-accordion-menu]
  .menu-item-has-children[aria-expanded="true"]
  > a::after,
#off-canvas
  [data-accordion-menu]
  .is-accordion-submenu-parent[aria-expanded="true"]
  > a::after {
  transform: rotate(180deg) !important;
}

/* Submenu Container */
#off-canvas .accordion-menu .is-accordion-submenu,
#off-canvas .accordion-menu .menu-item-has-children > ul,
#off-canvas [data-accordion-menu] .is-accordion-submenu,
#off-canvas [data-accordion-menu] .menu-item-has-children > ul {
  display: none !important;
  list-style: none !important;
  margin: 0.5rem auto 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  text-align: center !important;
  width: 100% !important;
}

/* Submenu When Expanded */
#off-canvas
  .accordion-menu
  .is-accordion-submenu-parent[aria-expanded="true"]
  > .is-accordion-submenu,
#off-canvas
  .accordion-menu
  .is-accordion-submenu-parent[aria-expanded="true"]
  > ul,
#off-canvas .accordion-menu .menu-item-has-children[aria-expanded="true"] > ul,
#off-canvas
  [data-accordion-menu]
  .is-accordion-submenu-parent[aria-expanded="true"]
  > .is-accordion-submenu,
#off-canvas
  [data-accordion-menu]
  .is-accordion-submenu-parent[aria-expanded="true"]
  > ul,
#off-canvas
  [data-accordion-menu]
  .menu-item-has-children[aria-expanded="true"]
  > ul {
  display: block !important;
}

/* Submenu Items */
#off-canvas .accordion-menu .is-accordion-submenu li,
#off-canvas .accordion-menu .menu-item-has-children > ul li,
#off-canvas [data-accordion-menu] .is-accordion-submenu li,
#off-canvas [data-accordion-menu] .menu-item-has-children > ul li {
  list-style: none !important;
  margin: 0 auto !important;
  padding: 0 !important;
  width: 100% !important;
  text-align: center !important;
}

/* Submenu Links */
#off-canvas .accordion-menu .is-accordion-submenu li a,
#off-canvas .accordion-menu .menu-item-has-children > ul li a,
#off-canvas [data-accordion-menu] .is-accordion-submenu li a,
#off-canvas [data-accordion-menu] .menu-item-has-children > ul li a {
  color: #fff !important;
  font-size: 20px !important;
  padding: 8px 0 !important;
  font-weight: 400 !important;
  text-decoration: none !important;
  display: block !important;
  transition: color 0.2s ease !important;
  text-align: center !important;
}

/* Submenu Links Hover */
#off-canvas .accordion-menu .is-accordion-submenu li a:hover,
#off-canvas .accordion-menu .menu-item-has-children > ul li a:hover,
#off-canvas [data-accordion-menu] .is-accordion-submenu li a:hover,
#off-canvas [data-accordion-menu] .menu-item-has-children > ul li a:hover {
  color: #e5347e !important;
}

/* Regular Menu Items (without children) */
#off-canvas .accordion-menu li:not(.menu-item-has-children) > a,
#off-canvas .accordion-menu li:not(.is-accordion-submenu-parent) > a,
#off-canvas [data-accordion-menu] li:not(.menu-item-has-children) > a,
#off-canvas [data-accordion-menu] li:not(.is-accordion-submenu-parent) > a {
  color: #fff !important;
  font-size: 25px !important;
  padding: 10px 0 !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  display: block !important;
  text-align: center !important;
}

/* Regular Menu Items Hover */
#off-canvas .accordion-menu li:not(.menu-item-has-children) > a:hover,
#off-canvas .accordion-menu li:not(.is-accordion-submenu-parent) > a:hover,
#off-canvas [data-accordion-menu] li:not(.menu-item-has-children) > a:hover,
#off-canvas
  [data-accordion-menu]
  li:not(.is-accordion-submenu-parent)
  > a:hover {
  color: #e5347e !important;
}

/* Ensure submenu is visible when expanded */
#off-canvas
  .accordion-menu
  .is-accordion-submenu-parent[aria-expanded="true"]
  .is-accordion-submenu,
#off-canvas .accordion-menu .menu-item-has-children[aria-expanded="true"] > ul {
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  max-height: none !important;
}

/* Mobile Specific Adjustments */
@media (max-width: 1049px) {
  #off-canvas .accordion-menu .menu-item-has-children > a,
  #off-canvas .accordion-menu .is-accordion-submenu-parent > a,
  #off-canvas [data-accordion-menu] .menu-item-has-children > a,
  #off-canvas [data-accordion-menu] .is-accordion-submenu-parent > a {
    font-size: 25px !important;
  }

  #off-canvas .accordion-menu .is-accordion-submenu li a,
  #off-canvas .accordion-menu .menu-item-has-children > ul li a,
  #off-canvas [data-accordion-menu] .is-accordion-submenu li a,
  #off-canvas [data-accordion-menu] .menu-item-has-children > ul li a {
    font-size: 20px !important;
  }
}

@media (max-width: 750px) {
  #off-canvas .accordion-menu .menu-item-has-children > a,
  #off-canvas .accordion-menu .is-accordion-submenu-parent > a,
  #off-canvas [data-accordion-menu] .menu-item-has-children > a,
  #off-canvas [data-accordion-menu] .is-accordion-submenu-parent > a {
    font-size: 22px !important;
    padding: 8px 0 !important;
  }

  #off-canvas .accordion-menu .is-accordion-submenu li a,
  #off-canvas .accordion-menu .menu-item-has-children > ul li a,
  #off-canvas [data-accordion-menu] .is-accordion-submenu li a,
  #off-canvas [data-accordion-menu] .menu-item-has-children > ul li a {
    font-size: 18px !important;
    padding: 6px 0 !important;
  }
}
