/* Navigation */

.primary {
    background-color: var(--color-charcoal);
    color: var(--color-white);
    display: flex;
    min-height: 7.2rem;
    padding: 1.8rem 0;
    justify-content: center;
    font-size: 18px;
    font-weight:700;
    line-height: 28px;
    
    font-family: 'Roboto', sans-serif;
    text-transform: uppercase;

    @media (min-width: 992px) {
        min-height: 5rem;
    }

    dd,
    ol,
    ul {
        list-style: none;
    }

    li {
        margin-left: 0;
    }
}
.primary .mobile-menu__item li:a {
    color: #333333 !important;
}

.primary__button {
    display: none;
    font-size: var(--font-size-small);
    margin-left: auto;
    padding: 0.6rem 1.6rem;

    @media (min-width: 992px) {
        display: inline-flex;
    }
}

/* Logo */
.logo {
    display: inline-flex;
}

/* Nav */
.nav--desktop {
    display: none;
    margin-right: auto;

    @media (min-width: 992px) {
        display: flex;
    }
}

/* Menu */
.menu {
    display: flex;
    flex-wrap: wrap;
    column-gap: 3.8rem;
    row-gap: 0.5rem;
    /*margin-left: 4.8rem;*/
}

.menu__item {
    position: relative;
    border-bottom: 0.2rem solid transparent;
}

.menu__item-container {
    display: flex;
      flex-direction: row;
    align-items: center;
    gap: 0.5rem;
}

.menu__chevron {
    transition: var(--transition-default);
}

.menu__link {
    color: var(--color-white);
    display: inline-block;
    padding: 0.7rem 0 0.4rem;
    text-decoration: none;
    transition: var(--transition-color);
    text-transform: uppercase;
    font-weight: 700;
}

.menu__link:hover {
    color: var(--color-white-70);
}

.menu__item--current,
.menu__item--section {
    border-color: var(--color-white);
}

.menu__item:hover,
.menu__item:focus-within,
.menu__item:has(.submenu:hover) {
    color: var(--color-white-70);
}

/* submenu */
.submenu {
    visibility: hidden;
    opacity: 0;
    background: var(--color-white);
    border: 0.2rem var(--color-charcoal) solid;
    border-radius: 0.4rem;
    min-width: 22rem;
    padding: 1rem;
    position: absolute;
    left: 0;
    top: 100%;
    z-index: 10;
    transition: var(--transition-default);
}

/* .submenu-is-active is applied on mouseover on menu-items with submenus */
.submenu-is-active .submenu {
    visibility: visible;
    opacity: 1;
}

.submenu-chevron {
  color: var(--color-white);
  padding: 0 0.5rem;

  &:hover {
    color: var(--color-line-grey);
  }
}

.submenu-chevron svg {
  transition: var(--transition-default);
  transform: rotate(0deg);
}
.submenu-is-active .submenu-chevron svg {
  transform: rotate(180deg);
}

.submenu__link {
    color: initial;
    display: block;
    line-height: 1.3;
    padding: 0.5rem;
    text-decoration: none;
    transition: var(--transition-default);

    &:hover,
    &:focus {
        color: var(--color-mid-grey);
    }
}

.submenu__link--current,
.submenu__link--section {
    font-weight: var(--font-weight-bold);
}

/* Mobile menu button */
.hamburger {
    color: var(--color-white);
    cursor: pointer;
    margin-right: 100%;
    padding: 1rem;
    position: relative;
    z-index: 40;

    @media (min-width: 992px) {
        display: none;
    }
}

.mobile-menu-is-active {
    overflow: hidden;
}

.mobile-menu-is-active .hamburger {
    color: var(--color-black);
}

.hamburger__lines {
    background-color: var(--color-white);
    display: block;
    /*height: 0.2rem;*/
    position: relative;
    width: 2.4rem;
}

.hamburger__lines::before,
.hamburger__lines::after {
    background-color: var(--color-white);
    content: '';
    display: block;
    height: 100%;
    position: absolute;
    transition: var(--transition-default);
    width: 100%;
}

.hamburger__lines::before {
    /*top: -0.8rem;*/
}

.hamburger__lines::after {
    top: 0.8rem;
}

.mobile-menu-is-active .hamburger__lines {
    background: transparent;
    width: 2.26rem; /* 2.26 diagonal square == 1.6 horizontal */
}

.mobile-menu-is-active .hamburger__lines::before {
    background: var(--color-charcoal);
    top: 0;
    transform: rotate(-45deg);
}

.mobile-menu-is-active .hamburger__lines::after {
    background: var(--color-charcoal);
    top: 0;
    transform: rotate(45deg);
}

/* Site overlay, under mobile menu */
.modal__background {
    background-color: var(--color-black-0);
    content: '';
    inset: 0;
    position: fixed;
    transition: var(--transition-default);
    visibility: hidden;
}

.mobile-menu-is-active .modal__background {
    background-color: rgba(255, 255, 255, 0.8);
    visibility: visible;
}

/* ==========================================================================
   Mobile Menu Dropdown Overrides (Matches Reference Site Architecture)
   ========================================================================== */

/* Remove the default Startup theme side-sliding overlay behavior */
.nav--mobile {
    display: none; 
    position: relative;
    top: 100%; /* Sits cleanly right underneath your main header bar */
    left: 0;
    width: 100%;
    height: auto;
    z-index: 999;
    /*box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);*/
    
    /* Force background colors to match corporate guidelines */
    /*background-color: #ffffff !important; */
    border-top: 2px solid #e5e5e5;
    padding: 15px;
}

/* Instantly display the menu cascading downwards when the button is active */
.nav--mobile.nav--mobile-expanded {
    display: block !important;
    /*z-index: -1*/
}

/* Ensure mobile links mirror your exact Desktop colors and Typography */
.nav--mobile .mobile-menu__link {
    display: block;
    font-family: 'Helvetica Neue', Arial, sans-serif;
    font-size: 16px;
    font-weight: 700; /* Bold corporate text hierarchy */
    text-transform: uppercase; /* Standard uppercase mapping */
    color: #222222 !important; /* High contrast dark gray/black */
    padding: 12px 15px;
    text-decoration: none;
    transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out;
}

/* Hover, Focus, and Active states matching the identity color exactly */
.nav--mobile .mobile-menu__link:hover,
.nav--mobile .mobile-menu__link:focus,
.nav--mobile .mobile-menu__item--current .mobile-menu__link {
    color: #ff5a00 !important; /* High-visibility brand orange accent color */
    background-color: #f9f9f9; /* Soft background block tracking */
}

/* Clean up background modal layer so it doesn't cause clipping */
.modal__background {
    display: none !important; /* Hide side-panel background dimming layer safely */
}
