/* Menu Styles */

/* Desktop Menu */
.header-menu {
    color: var(--secondary-color);
    font-size: 20px;
    text-underline-offset: 5px;
    width: fit-content;
    display: flex;
    padding: 10px 0;
    gap: 20px;
}

.header-menu ul {
    display: flex;
    gap: 32px;
}

.header-menu li {
    position: relative;
}

.header-menu li a:hover {
    text-decoration: underline;
}

.header-menu .current_page_item {
    font-weight: 200;
    text-decoration: underline;
    color: white;
}

/* Desktop Submenu */
.header-menu .sub-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background: var(--elevation-2);
    padding: 0.75rem;
    min-width: 200px;
    z-index: 100;
}

.header-menu li:hover > .sub-menu {
    display: block;
}

.header-menu .sub-menu li {
    display: block;
}

/* Mobile Menu */
.mobile-menu {
    color: var(--secondary-color);
    font-size: 20px;
    text-underline-offset: 5px;
    padding: 1rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.mobile-menu ul {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.mobile-menu li {
    position: relative;
}

.mobile-menu li a:hover {
    text-decoration: underline;
}

.mobile-menu .current_page_item {
    font-weight: 200;
    text-decoration: underline;
    color: white;
}

/* Mobile Submenu */
.mobile-menu .sub-menu {
    display: none;
    padding-left: 1rem;
    margin-top: 0.5rem;
}

.mobile-menu .sub-menu.active {
    display: block;
}

.mobile-menu .sub-menu li {
    margin: 0.5rem 0;
}

.mobile-menu .menu-item-has-children > a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    text-decoration: none;
}

.mobile-menu .menu-item-has-children > a:hover {
    text-decoration: none;
}

.mobile-menu .menu-item-has-children > a .menu-item-text:hover {
    text-decoration: underline;
}

.menu-item-text {
    width: 100%;
}

.mobile-menu .menu-item-has-children > a::after {
    content: 'expand_more';
    font-family: 'Material Icons';
    font-size: 24px;
    transition: transform 0.3s ease;
    pointer-events: none;
}

.mobile-menu .menu-item-has-children > a.active::after {
    transform: rotate(180deg);
}

/* Mobile Menu Container */
.mobile-menu-closed {
    height: 0 !important;
}

.mobile-menu-open {
    margin-bottom: 16px;
    height: fit-content;
    height: calc-size(fit-content, size);
}

.mobile-menu-foldable {
    overflow: hidden;
    background: var(--elevation-1);
    transition: height 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Footer Menu */
.footer-menu li a:hover {
    text-decoration: underline;
}
