/* ===================================================
   Desktop Navigation Dropdown
====================================================== */

/* Main container for dropdown */
.header__nav .main-menu .menu-item-has-children {
  position: relative;
}

/* The dropdown panel */
.header__nav .main-menu .menu-item-has-children > .sub-menu {
  position: absolute;
  left: 0;
  top: 100%;
  min-width: 260px;
  background: #ffffff;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
  padding: 8px;
  z-index: 1000;

  /* Hidden by default */
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: all 0.3s ease;
  pointer-events: none;
}

/* Show on hover or when 'is-open' class is present (for click) */
.header__nav .main-menu .menu-item-has-children:hover > .sub-menu,
.header__nav .main-menu .menu-item-has-children.is-open > .sub-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}

/* Dropdown items */
.header__nav .main-menu .sub-menu li {
  margin: 0;
}
.header__nav .main-menu .sub-menu a {
  display: block;
  padding: 10px 16px;
  white-space: nowrap;
  color: #111;
  text-transform: none !important; /* Override theme's uppercase */
  border-radius: 8px;
}
.header__nav .main-menu .sub-menu a:hover {
  background: #f6f7f9;
  color: #009EFF;
  color: #111;
}

/* ===================================================
   Off-canvas (Mobile) Navigation Dropdown
====================================================== */

.offcanvas-3__menu .menu-item-has-children .sub-menu {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease-out;
  padding-left: 20px;
  margin-top: 8px;
}

.offcanvas-3__menu .menu-item-has-children.is-open .sub-menu {
  max-height: 500px; /* Adjust as needed */
  transition: max-height 0.4s ease-in;
}

.offcanvas-3__menu .sub-menu a {
    text-transform: none !important;
}

/* ===================================================
   Header Layout & Spacing
====================================================== */

/* Center the main menu on larger screens */
@media (min-width: 1200px) {
  .header-area__inner {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
  }
  .header__nav {
    position: static !important;
    transform: none !important;
    /* Force override of conflicting absolute positioning */
    left: unset !important;
    right: unset !important;
    top: unset !important;
    bottom: unset !important;
    width: 100% !important; /* This is the key fix */
    margin: 0 !important;
  }
  .header__nav .main-menu {
    display: flex;
    justify-content: center;
  }
}

/* ===================================================
   Header Menu Item Standardization
====================================================== */
 @media (min-width: 1200px) {
  .header__nav .main-menu > ul {
    display: flex;
    align-items: center;
    justify-content: center; /* Ensure it's centered */
    margin: 0; /* Override any theme default margins */
    gap: 10px; /* Adjust this value for desired spacing */
  }

  .header__nav .main-menu > ul > li > a {
    padding: 11px 20px;
    border: 1px solid rgba(18, 18, 18, 0.12); /* Light visible border */
    border-radius: 15px;
    font-size: 16px;
    font-weight: 400;
    text-transform: capitalize;
    white-space: nowrap;
    transition: all 0.3s ease;
  }

  .dark .header-area .main-menu > ul > li > a {
    border-color: rgba(255, 255, 255, 0.12);
  }

  /* Ensure the active button style doesn't override the border in dark mode */
  .dark .header-area .main-menu > ul > li > a.active-btn {
    border-color: var(--primary);
  }
}