












/*! [SAHA] assets/css/components/menu.css | v2.6.3 | 2026-09-07 */
/* ==============================================
   MENU STYLES (vanilla replacement for superfish)
   ============================================== */

/* Dropdown base - hidden by default, shown on hover */
ul.sf-menu ul.sub-menu {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 99;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
  pointer-events: none;
}

ul.sf-menu li:hover > ul.sub-menu,
ul.sf-menu li.sfHover > ul.sub-menu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

/* Nested submenus */
ul.sf-menu ul.sub-menu ul.sub-menu {
  top: 0;
  left: 100%;
}

/* RTL nested submenus */
body.rtl ul.sf-menu ul.sub-menu ul.sub-menu {
  left: auto;
  right: 100%;
}

body.rtl ul.sf-menu ul.sub-menu {
  left: auto;
  right: 0;
}

/* Megamenu container */
.dropdown-menu li.megamenu-menu .megamenu {
  position: absolute;
  top: 100%;
  z-index: 99;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

.dropdown-menu li.megamenu-menu:hover > .megamenu,
.dropdown-menu li.megamenu-menu.sfHover > .megamenu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

/* ===== Mobile Nav — slide from RIGHT ===== */
html.open-mobile-nav .mobile-nav {
  transform: translate3d(0, 0, 0) !important;
  -webkit-transform: translate3d(0, 0, 0) !important;
}

html.open-mobile-nav #page {
  cursor: pointer;
  transform: translate3d(-250px, 0, 0) !important;
  -webkit-transform: translate3d(-250px, 0, 0) !important;
}

html.open-mobile-nav #page::before {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 9999;
}

/* Fix: prevenir scroll horizontal */
@media (max-width: 991px) {
    html { overflow-x: hidden !important; }
    body { overflow-x: hidden !important; width: 100% !important; position: relative !important; }
    #page { overflow-x: hidden !important; max-width: 100vw !important; }
}

.mobile-nav {
  position: fixed !important;
  top: 0;
  left: auto !important;
  right: 0 !important;
  width: 280px !important;
  height: 100%;
  z-index: 10000;
  overflow-y: auto;
  transform: translate3d(280px, 0, 0) !important;
  -webkit-transform: translate3d(280px, 0, 0) !important;
  transition: transform 0.3s ease !important;
  -webkit-transition: -webkit-transform 0.3s ease !important;
  display: block !important;
}

#page {
  transition: transform 0.3s ease;
  -webkit-transition: -webkit-transform 0.3s ease;
}

body.rtl .mobile-nav {
  left: auto;
  right: 0;
  transform: translateX(100%);
}

body.rtl html.open-mobile-nav .mobile-nav {
  transform: translateX(0);
}

/* Mobile submenu toggle */
.mobile-nav ul li.has-sub > ul.sub-menu { display: none; }
.mobile-nav ul li.has-sub.open-sub > ul.sub-menu { display: block; }
.mobile-nav ul li .mobile-icon { cursor: pointer; }

/* Mobile nav hamburger */
.saha-mobile-hamburger {
  display: none;
}

@media (max-width: 991px) {
  .saha-mobile-hamburger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    background: none;
    border: none;
    cursor: pointer;
  }
  .saha-mobile-hamburger svg {
    width: 24px;
    height: 24px;
    stroke: #333;
  }
}
