/* ─────────────────────────────────────────────────────────
   Svea Custom Nav  –  nav.css
   Brand: teal #345B70, light blue #E6F0F4, orange #E85D26 (CTA)
   Font: Inter 400 13px for all nav items
   ───────────────────────────────────────────────────────── */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');

:root {
    --svea-bg:            #1E4352;
    --svea-bg-dark:       #2b4c5e;
    --svea-text:          #F2ECE1;
    --svea-text-muted:    rgba(255,255,255,0.75);
    --svea-cta-bg:        #E85D26;
    --svea-cta-hover:     #cf4e1e;
    --svea-cta-text:      #ffffff;
    --svea-dropdown-bg:   #ffffff;
    --svea-dropdown-text: #1a2e3b;
    --svea-dropdown-hover:#E6F0F4;
    --svea-radius:        8px;
    --svea-nav-height:    60px;
    --svea-transition:    0.2s ease;
    --svea-drawer-width:  320px;
    --svea-font:          'Inter', sans-serif;
}

/* ── Reset / Base ─────────────────────────────────────── */

.svea-nav *,
.svea-nav *::before,
.svea-nav *::after,
.svea-nav-drawer *,
.svea-nav-drawer *::before,
.svea-nav-drawer *::after {
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* ── Navbar ───────────────────────────────────────────── */

.svea-nav {
    display: flex !important;
    align-items: center !important;
    background: var(--svea-bg) !important;
    height: var(--svea-nav-height) !important;
    padding: 0 24px !important;
    width: 100% !important;
    position: relative !important;
    z-index: 1000 !important;
    font-family: var(--svea-font) !important;
    gap: 0 !important;
}

/* ── Logo ─────────────────────────────────────────────── */

.svea-nav__logo {
    flex-shrink: 0 !important;
    display: flex !important;
    align-items: center !important;
    margin-right: 32px !important;
    text-decoration: none !important;
}

.svea-nav__logo img {
    height: 36px !important;
    width: auto !important;
    display: block !important;
}

.svea-nav__logo-text {
    color: var(--svea-text) !important;
    font-family: var(--svea-font) !important;
    font-weight: 700 !important;
    font-size: 18px !important;
    letter-spacing: -0.3px !important;
}

/* ── Desktop menu ─────────────────────────────────────── */

.svea-nav__menu {
    display: flex !important;
    align-items: center !important;
    list-style: none !important;
    flex: 1 !important;
    gap: 2px !important;
    height: 100% !important;
}

.svea-nav__item {
    position: relative !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
}

.svea-nav__link {
    display: flex !important;
    align-items: center !important;
    gap: 5px !important;
    color: var(--svea-text) !important;
    text-decoration: none !important;
    font-family: var(--svea-font) !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    padding: 0 14px !important;
    height: 100% !important;
    white-space: nowrap !important;
    transition: background var(--svea-transition), color var(--svea-transition) !important;
    border-radius: 0 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

.svea-nav__link:hover {
    background: rgba(255,255,255,0.10) !important;
    color: #fff !important;
    text-decoration: none !important;
}

.svea-nav__item.current-menu-item .svea-nav__link,
.svea-nav__item.current-menu-parent .svea-nav__link {
    background: rgba(255,255,255,0.12) !important;
}

/* Chevron */
.svea-nav__chevron {
    flex-shrink: 0 !important;
    transition: transform var(--svea-transition) !important;
    color: var(--svea-text-muted) !important;
    display: inline-block !important;
}

.svea-nav__item--has-dropdown:hover .svea-nav__chevron,
.svea-nav__item--has-dropdown.is-open .svea-nav__chevron {
    transform: rotate(180deg) !important;
    color: #fff !important;
}

/* ── Dropdown ─────────────────────────────────────────── */

.svea-nav__dropdown {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    min-width: 220px !important;
    background: var(--svea-dropdown-bg) !important;
    border-radius: 0 0 var(--svea-radius) var(--svea-radius) !important;
    box-shadow: 0 8px 24px rgba(0,0,0,0.15) !important;
    list-style: none !important;
    overflow: hidden !important;
    z-index: 1001 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateY(-6px) !important;
    transition: opacity var(--svea-transition), visibility var(--svea-transition), transform var(--svea-transition) !important;
    pointer-events: none !important;
}

.svea-nav__item--has-dropdown:hover .svea-nav__dropdown,
.svea-nav__item--has-dropdown.is-open .svea-nav__dropdown {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
    pointer-events: auto !important;
}

.svea-nav__dropdown-link {
    display: block !important;
    padding: 11px 18px !important;
    color: var(--svea-dropdown-text) !important;
    text-decoration: none !important;
    font-family: var(--svea-font) !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    transition: background var(--svea-transition), color var(--svea-transition) !important;
    border-bottom: 1px solid rgba(0,0,0,0.05) !important;
    line-height: 1.4 !important;
}

.svea-nav__dropdown li:last-child .svea-nav__dropdown-link {
    border-bottom: none !important;
}

.svea-nav__dropdown-link:hover {
    background: var(--svea-dropdown-hover) !important;
    color: var(--svea-bg) !important;
    text-decoration: none !important;
}

/* ── Right actions ────────────────────────────────────── */

.svea-nav__actions {
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
    margin-left: 13vw !important;
    flex-shrink: 0 !important;
}

.svea-nav__icon-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 36px !important;
    height: 36px !important;
    border-radius: 50% !important;
    color: var(--svea-text) !important;
    text-decoration: none !important;
    transition: background var(--svea-transition) !important;
}

.svea-nav__icon-btn:hover {
    background: rgba(255,255,255,0.12) !important;
    color: #fff !important;
}

.svea-nav__auth-link {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    color: var(--svea-text) !important;
    text-decoration: none !important;
    font-family: var(--svea-font) !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    padding: 8px 12px !important;
    border-radius: var(--svea-radius) !important;
    white-space: nowrap !important;
    transition: background var(--svea-transition) !important;
    line-height: 1 !important;
}

.svea-nav__auth-link:hover {
    background: rgba(255,255,255,0.12) !important;
    color: #fff !important;
    text-decoration: none !important;
}

.svea-nav__cta {
    display: inline-flex !important;
    align-items: center !important;
    background: var(--svea-cta-bg) !important;
    color: var(--svea-cta-text) !important;
    text-decoration: none !important;
    font-family: var(--svea-font) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    padding: 10px 20px !important;
    border-radius: var(--svea-radius) !important;
    white-space: nowrap !important;
    margin-left: 8px !important;
    transition: background var(--svea-transition), transform 0.1s ease !important;
    line-height: 1 !important;
    border: none !important;
}

.svea-nav__cta:hover {
    background: var(--svea-cta-hover) !important;
    color: #fff !important;
    text-decoration: none !important;
}

.svea-nav__cta:active {
    transform: scale(0.98) !important;
}

/* ── Hamburger ────────────────────────────────────────── */

.svea-nav__hamburger {
    display: none !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 5px !important;
    width: 40px !important;
    height: 40px !important;
    background: none !important;
    border: none !important;
    cursor: pointer !important;
    padding: 8px !important;
    margin-left: 8px !important;
    border-radius: var(--svea-radius) !important;
    transition: background var(--svea-transition) !important;
}

.svea-nav__hamburger:hover {
    background: rgba(255,255,255,0.12) !important;
}

.svea-nav__hamburger span {
    display: block !important;
    width: 22px !important;
    height: 2px !important;
    background: #fff !important;
    border-radius: 2px !important;
    transition: transform 0.25s ease, opacity 0.2s ease, width 0.2s ease !important;
    transform-origin: center !important;
}

.svea-nav__hamburger.is-open span:nth-child(1) {
    transform: translateY(7px) rotate(45deg) !important;
}
.svea-nav__hamburger.is-open span:nth-child(2) {
    opacity: 0 !important;
    width: 0 !important;
}
.svea-nav__hamburger.is-open span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg) !important;
}

/* ── Overlay ──────────────────────────────────────────── */

.svea-nav-overlay {
    display: none !important;
    position: fixed !important;
    inset: 0 !important;
    background: rgba(0,0,0,0.45) !important;
    z-index: 1099 !important;
    opacity: 0 !important;
    transition: opacity 0.3s ease !important;
}

.svea-nav-overlay.is-visible {
    display: block !important;
}

.svea-nav-overlay.is-active {
    opacity: 1 !important;
}

/* ── Mobile drawer ────────────────────────────────────── */

.svea-nav-drawer {
    position: fixed !important;
    top: 0;
    right: 0 !important;
    width: var(--svea-drawer-width) !important;
    max-width: 100vw !important;
    height: 100vh;
    background: var(--svea-bg) !important;
    z-index: 1100 !important;
    display: flex !important;
    flex-direction: column !important;
    overflow-y: auto !important;
    transform: translateX(100%) !important;
    transition: transform 0.32s cubic-bezier(0.4, 0, 0.2, 1) !important;
    font-family: var(--svea-font) !important;
}

.svea-nav-drawer.is-open {
    transform: translateX(0) !important;
}

.svea-nav-drawer__header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 16px 20px !important;
    border-bottom: 1px solid rgba(255,255,255,0.12) !important;
    flex-shrink: 0 !important;
}

.svea-nav-drawer__logo {
    height: 32px !important;
    width: auto !important;
}

.svea-nav-drawer__logo-text {
    color: #fff !important;
    font-family: var(--svea-font) !important;
    font-weight: 700 !important;
    font-size: 16px !important;
}

.svea-nav-drawer__close {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 36px !important;
    height: 36px !important;
    background: rgba(255,255,255,0.10) !important;
    border: none !important;
    border-radius: 50% !important;
    color: #fff !important;
    cursor: pointer !important;
    transition: background var(--svea-transition) !important;
}

.svea-nav-drawer__close:hover {
    background: rgba(255,255,255,0.20) !important;
}

.svea-nav-drawer__menu {
    list-style: none !important;
    flex: 1 !important;
    padding: 8px 0 !important;
    overflow-y: auto !important;
}

.svea-nav-drawer__item {
    border-bottom: 1px solid rgba(255,255,255,0.08) !important;
}

.svea-nav-drawer__item:last-child {
    border-bottom: none !important;
}

.svea-nav-drawer__link {
    display: block !important;
    padding: 15px 20px !important;
    color: #fff !important;
    text-decoration: none !important;
    font-family: var(--svea-font) !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    transition: background var(--svea-transition) !important;
    line-height: 1.4 !important;
}

.svea-nav-drawer__link:hover {
    background: rgba(255,255,255,0.08) !important;
    color: #fff !important;
    text-decoration: none !important;
}

.svea-nav-drawer__toggle-row {
    display: flex !important;
    align-items: stretch !important;
}

.svea-nav-drawer__toggle-row .svea-nav-drawer__link {
    flex: 1 !important;
    border-bottom: none !important;
}

.svea-nav-drawer__toggle {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    align-self: stretch !important;
    width: 52px !important;
    background: none !important;
    border: none !important;
    border-left: 1px solid rgba(255,255,255,0.10) !important;
    color: #fff !important;
    cursor: pointer !important;
    transition: background var(--svea-transition) !important;
}

.svea-nav-drawer__toggle:hover {
    background: rgba(255,255,255,0.08) !important;
}

.svea-nav-drawer__toggle[aria-expanded="true"] .svea-nav__chevron {
    transform: rotate(180deg) !important;
}

.svea-nav-drawer__sub {
    list-style: none !important;
    background: rgba(0,0,0,0.15) !important;
    overflow: hidden !important;
    max-height: 0 !important;
    transition: max-height 0.3s ease !important;
}

.svea-nav-drawer__sub.is-open {
    max-height: 400px !important;
}

.svea-nav-drawer__sub-link {
    display: block !important;
    padding: 11px 20px 11px 32px !important;
    color: rgba(255,255,255,0.85) !important;
    text-decoration: none !important;
    font-family: var(--svea-font) !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    transition: color var(--svea-transition), background var(--svea-transition) !important;
    border-top: 1px solid rgba(255,255,255,0.05) !important;
    line-height: 1.4 !important;
}

.svea-nav-drawer__sub-link:hover {
    color: #fff !important;
    background: rgba(255,255,255,0.06) !important;
    text-decoration: none !important;
}

.svea-nav-drawer__footer {
    padding: 16px 20px 120px !important;
    border-top: 1px solid rgba(255,255,255,0.12) !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    flex-shrink: 0 !important;
}

.svea-nav-drawer__auth {
    display: block !important;
    text-align: center !important;
    padding: 11px !important;
    color: #fff !important;
    text-decoration: none !important;
    font-family: var(--svea-font) !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    border: 1.5px solid rgba(255,255,255,0.35) !important;
    border-radius: var(--svea-radius) !important;
    transition: background var(--svea-transition), border-color var(--svea-transition) !important;
    line-height: 1.4 !important;
}

.svea-nav-drawer__auth:hover {
    background: rgba(255,255,255,0.10) !important;
    border-color: rgba(255,255,255,0.6) !important;
    color: #fff !important;
    text-decoration: none !important;
}

.svea-nav-drawer__cta {
    display: block !important;
    text-align: center !important;
    padding: 13px !important;
    background: var(--svea-cta-bg) !important;
    color: #fff !important;
    text-decoration: none !important;
    font-family: var(--svea-font) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    border-radius: var(--svea-radius) !important;
    transition: background var(--svea-transition) !important;
    line-height: 1.4 !important;
    border: none !important;
}

.svea-nav-drawer__cta:hover {
    background: var(--svea-cta-hover) !important;
    color: #fff !important;
    text-decoration: none !important;
}

/* ── Responsive ───────────────────────────────────────── */

@media (max-width: 1024px) {
    .svea-nav__link {
        padding: 0 10px !important;
        font-size: 13px !important;
    }
    .svea-nav__cta {
        padding: 9px 14px !important;
        font-size: 13px !important;
    }
}

@media (max-width: 768px) {
    .svea-nav__menu {
        display: none !important;
    }
    .svea-nav__auth-link {
        display: none !important;
    }
    .svea-nav__cta {
        display: none !important;
    }
    .svea-nav__hamburger {
        display: flex !important;
    }
    .svea-nav__icon-btn {
        display: flex !important;
    }
    .svea-nav__actions {
        margin-left: auto !important;
    }
}

@media (max-width: 400px) {
    .svea-nav {
        padding: 0 14px !important;
    }
}
