/* Explain: Styles for the navigation bar, including dropdown menus and mobile responsiveness. */
/* ===== Navigation dropdown ===== */
.nav-dropdown {
    position: relative;
}
.nav-drop-toggle {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    background: none;
    border: none;
    font-family: inherit;
    cursor: pointer;
}
.nav-drop-toggle i {
    font-size: .68rem;
    transition: transform .25s ease;
}
.nav-dropdown:hover .nav-drop-toggle i,
.nav-dropdown:focus-within .nav-drop-toggle i,
.nav-dropdown.is-open .nav-drop-toggle i {
    transform: rotate(180deg);
}
.nav-drop-panel {
    position: absolute;
    top: 100%;
    inset-inline-start: 0;
    min-width: 19rem;
    padding-top: .55rem;
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition: opacity .25s ease, transform .25s ease, visibility .25s ease;
    z-index: 50;
}
.nav-dropdown:hover .nav-drop-panel,
.nav-dropdown:focus-within .nav-drop-panel,
.nav-dropdown.is-open .nav-drop-panel {
    opacity: 1;
    visibility: visible;
    transform: none;
}
.nav-drop-inner {
    display: flex;
    flex-direction: column;
    gap: .2rem;
    padding: .6rem;
    border-radius: .9rem;
    background: var(--background-color);
    border: 1px solid var(--border-color);
    box-shadow: 0 24px 48px -26px rgba(11, 33, 55, .55);
}
.nav-drop-link {
    display: flex;
    align-items: center;
    gap: .65rem;
    padding: .6rem .75rem;
    border-radius: .6rem;
    color: var(--text-color);
    font-weight: 600;
    font-size: .92rem;
    transition: background .2s ease, color .2s ease;
}
.nav-drop-link i {
    width: 1.15rem;
    text-align: center;
    color: var(--accent-hover);
}
.nav-drop-link:hover {
    background: var(--surface-color);
    color: var(--accent-color);
}

/* Mobile service sub-links */
.mobile-sub {
    display: flex;
    flex-direction: column;
    gap: .15rem;
    margin: .15rem 0 .35rem;
    padding-inline-start: 1rem;
    border-inline-start: 2px solid var(--border-color);
}
.mobile-sublink {
    display: block;
    padding: .6rem .8rem;
    border-radius: .55rem;
    color: var(--text-muted);
    font-weight: 600;
    font-size: .9rem;
}
.mobile-sublink:hover {
    background: var(--surface-color);
    color: var(--accent-color);
}
@media (prefers-reduced-motion: reduce) {
    .nav-drop-panel,
    .nav-drop-toggle i {
        transition: none;
    }
}