/* Container for menu and logo */
.menu-container {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 10000;
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 255);
  box-shadow: 0 2px 10px rgba(0,0,0,0.3);
}

.menu-item-has-children > ul {
  display: none;
}

.menu-item-has-children.open > ul {
  display: block;
}

.logo {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  padding-left: 30px;
}

/* Logo styling */
.logo img {
  height: 60px;
  display: block;
  margin-right: -30px; /* space between logo and first menu */
}

 .icons-container {
    display: flex;
    align-items: right;
    gap: 15px; /* Space between icons */
    justify-content: flex-start; /* Align icons to the right of the logo */
    margin-top: 30px;
    margin-left: 50px !important;
  }

  .icons-container a {
    color: #04003B; /* Icon color */
    font-size: 20px; /* Icon size */
    text-decoration: none;
  }

  .icons-container a:hover {
    color: #D6AB33; /* Icon hover color */
  }

/* Keep menu-wrapper flexible */
.menu-wrapper {
  flex: 0 1 auto;
  display: flex;
  justify-content: center;
}

/* Menu wrapper that centers menu */
/* Keep menu-wrapper flexible */
.menu-wrapper {
  flex: 0 1 auto;
  display: flex;
  justify-content: center;
  z-index: 10001; /* Ensure it’s above the banner */
}

/* Global box-sizing and reset */
/*, ::before, ::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  line-height: 1.5;
}*/

/* Menu wrapper: flexible container, centers menu */
/* .menu-wrapper {
  flex: 0 1 auto;
  display: flex;
  justify-content: center;
} */

/* Menu list horizontal */
/* .menu-wrapper > ul {
  display: flex;
  list-style: none;
  margin: 0 0 0 25px;
  padding: 0;
} */

/* Top-level menu items spacing */
/* .menu-wrapper > ul > li {
  position: relative;
  margin: 0 15px;
} */

/* Menu links style */
/* .menu-wrapper a {
  font-size: 1.075rem;
  color: #04003B;
  text-decoration: none;
  padding: 20px 5px;
  display: block;
  white-space: nowrap;
  cursor: pointer;
  transition: background-color 0.3s ease, color 0.3s ease;
} */

/* Hover state for links */
/* .menu-wrapper a:hover {
  /*color: #D6AB33;  white text on hover 
 color: #fff; /* white on hover 
 background:#D6AB33;
} */

/* Hide submenus initially */
/* .menu-wrapper li ul {
  display: none;
  position: absolute;
  /* top: 0;
  left: 100%; submenu slides out right 
  top: 100%;     /* now it drops below the parent 
  left: 0; 
  background: #fff;/*background color of submenus
  /* #D6AB33; 
  min-width: 150px;
  border-radius: 0 5px 5px 0;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
  flex-direction: column;
  z-index: 1000;
  list-style: none;
  margin: 0;
  padding: 0;
} */

/* Show submenu on hover */
/* .menu-wrapper li:hover > ul {
  display: flex;
}

/* Submenu items *
.menu-wrapper li ul li {
  margin: 0;
  position: relative;
} */

/* Sub-submenus flyout to right */
.menu-wrapper li ul li ul {
  top: 0;
  left: 100%;
  display: none;
  position: absolute;
  background: #fff;/*text color of sub menus*/
  min-width: 150px;
  flex-direction: column;
  z-index: 1100;
  border-radius: 0 0 5px 5px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
  list-style: none;
  margin: 0;
  padding: 0;
}

/* Show sub-submenu on hover */
.menu-wrapper li ul li:hover > ul {
 display: flex;
 color: #04003B; /* white on hover */
}

/* Hamburger toggle button for mobile */
.menu-toggle {
  flex: 0 0 auto;
  display: none;
  background: none !important;
  border: none;
  font-size: 30px;
  color: #04003B;
  cursor: pointer;
}
/* =========================
   MOBILE (ALL)
========================= */
/* Mobile View (Adjust height dynamically) */
@media (max-width: 768px) {
  .page-banner img {
    height: 30vh !important;          /* Set height to 50% of the viewport height */
    margin-top: 30px !important;      /* Optional adjustment for mobile */
    padding-bottom: 20px;  
  }
}

/* Remove mobile tap highlight */
.menu-toggle {
  -webkit-tap-highlight-color: transparent;
}

/* Remove default click/focus/active backgrounds */
.menu-toggle:focus,
.menu-toggle:active {
  outline: none;
  background: transparent !important;
  box-shadow: none;
}

/* Also protect the icon inside */
.menu-toggle i:active,
.menu-toggle i:focus {
  outline: none;
  background: transparent !important;
}


@media (max-width: 932px) {

  .menu-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 0; /* 👈 remove right spacing issue */
  }

  .menu-toggle {
    display: block !important;
    font-size: 30px;
    color: #04003B;
    background: none;
    border: none;
    cursor: pointer;

    margin-left: auto;   /* push to right */
    margin-right: -8px;  /* fine-tune horizontal */
    margin-top: 23px;    /* vertical position */
    z-index: 3000;
  }

  .menu-toggle i {
    display: inline-block !important;
    margin-left: -320px !important;
  }

  .menu-toggle:hover i {
    color: #D6AB33;
  }

  .menu-wrapper {
    position: absolute;
    top: 60px;
    left: 0;
    right: 0;
    background: #fff;
    flex-direction: column;
    display: none;
    z-index: 2000;
    max-height: calc(100vh - 60px);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }

  .menu-wrapper.active {
    display: flex;
  }

  .menu-wrapper > ul {
    flex-direction: column;
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .menu-wrapper > ul > li {
    margin: 0;
    border-top: 1px solid #fff;
  }

  .menu-wrapper li ul {
    position: static;
    background: #f8f6f6;
    min-width: auto;
    box-shadow: none;
    border-radius: 0;
  }

  .menu-wrapper li ul li ul {
    position: static;
    background: #f2f3f5;
  }

  .menu-wrapper li ul a,
  .menu-wrapper > ul > li > a {
    padding: 15px 20px;
    font-size: 18px;
  }
}

/* Hide submenus by default on mobile */
@media (max-width: 932px) {
  .menu-item-has-children > ul {
    display: none;
  }

  /* Show when open */
  .menu-item-has-children.open > ul {
    display: block;
  }

  /* Arrow base (safe, won't affect layout) */
  .menu-item-has-children > a .arrow {
    display: inline-block;
    margin-left: 8px;
    transition: transform 0.3s ease;
  }

  /* Arrow rotation */
  .menu-item-has-children.open > a .arrow {
    transform: rotate(180deg);
  }
}

/* =========================
   PORTRAIT ONLY
========================= */
/* Hide icons container in desktop and tablet views */
@media (min-width: 933px) {
  .icons-container {
    display: none; /* Hide icons in desktop/tablet view */
  }
}

@media (max-width: 932px) and (orientation: portrait) {
  .menu-toggle {
    margin-top: 23px;
    margin-right: -6px !important; /* slightly less push */
  }
}


/* =========================
   LANDSCAPE ONLY
========================= */
@media (max-width: 932px) and (orientation: landscape) {
  .menu-toggle {
    margin-top: 23px;
    margin-right: -155px; /* needs more push */
  }

   .icons-container {
    display: flex;
    align-items: right;
    gap: 25px; /* Space between icons */
    justify-content: flex-start; /* Align icons to the right of the logo */
    margin-top: 30px;
    margin-left: 385px !important;
  }
}

/*, ::before, ::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    line-height: 1.5;
}*/