@font-face {
    font-family: 'DM Sans';
    src: url('./fonts/dm-sans-latin.woff2') format('woff2');
    font-style: normal;
    font-weight: 100 1000;
    font-display: swap;
}

@font-face {
    font-family: 'Space Grotesk';
    src: url('./fonts/space-grotesk-latin.woff2') format('woff2');
    font-style: normal;
    font-weight: 300 700;
    font-display: swap;
}


/* Shared navigation — scoped to new SSW templates, no Bootstrap overrides. */

body.ssw-map-page .ssw-sitebar {
    isolation: isolate;
}

body.ssw-map-page .ssw-navigation {
    display: flex;
    align-items: center;
    gap: clamp(12px, 1.6vw, 28px);
}

body.ssw-map-page .ssw-menu {
    list-style: none;
    padding: 0;
    margin: 0;
}

body.ssw-map-page .ssw-menu li {
    list-style: none;
    margin: 0;
    padding: 0;
}

body.ssw-map-page .ssw-menu--desktop {
    display: flex;
    gap: clamp(12px, 1.4vw, 25px);
    align-items: center;
}

body.ssw-map-page .ssw-menu a {
    color: #b4bdb6;
    text-decoration: none;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.4;
    display: block;
}

body.ssw-map-page .ssw-menu a:hover,
body.ssw-map-page .ssw-menu a:focus-visible,
body.ssw-map-page .ssw-menu .current-menu-item>a,
body.ssw-map-page .ssw-menu .current-menu-ancestor>a {
    color: #c9fd6b;
}

body.ssw-map-page .ssw-menu .menu-item-has-children {
    position: relative;
    display: flex;
    align-items: center;
}

body.ssw-map-page .ssw-menu .ssw-submenu-toggle {
    width: 24px;
    height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    padding: 0;
    background: transparent;
    color: #b4bdb6;
    cursor: pointer;
    flex: none;
}

body.ssw-map-page .ssw-menu .ssw-submenu-toggle::after {
    content: '';
    display: block;
    width: 7px;
    height: 7px;
    border-right: 1.7px solid currentColor;
    border-bottom: 1.7px solid currentColor;
    transform: rotate(45deg) translate(-1px, -1px);
    transition: transform .18s;
}

body.ssw-map-page .ssw-menu .ssw-submenu-toggle[aria-expanded=true]::after {
    transform: rotate(225deg) translate(-1px, -1px);
}

body.ssw-map-page .ssw-menu--desktop .sub-menu {
    display: none;
    position: absolute;
    z-index: 10001;
    left: 0;
    top: 100%;
    min-width: 210px;
    padding: 8px;
    background: #19261e;
    border: 1px solid #425345;
    border-radius: 12px;
    box-shadow: 0 15px 40px #0008;
    list-style: none;
}

body.ssw-map-page .ssw-menu--desktop .sub-menu .sub-menu {
    left: 100%;
    top: 0;
}

body.ssw-map-page .ssw-menu--desktop li.ssw-submenu-open>.sub-menu,
body.ssw-map-page .ssw-menu--desktop li:hover>.sub-menu,
body.ssw-map-page .ssw-menu--desktop li:focus-within>.sub-menu {
    display: block;
}

body.ssw-map-page .ssw-menu--desktop .sub-menu li {
    display: flex;
    min-width: 0;
    align-items: center;
}

body.ssw-map-page .ssw-menu--desktop .sub-menu a {
    padding: 10px 12px;
    border-radius: 8px;
    flex: 1;
    white-space: nowrap;
}

body.ssw-map-page .ssw-menu--desktop .sub-menu a:hover {
    background: #2b4031;
}

body.ssw-map-page .ssw-nav-actions {
    display: flex;
    align-items: center;
    gap: 15px;
}

body.ssw-map-page .ssw-nav-actions .ssw-account {
    color: #b4bdb6;
    font-size: 13px;
    text-decoration: none;
    font-weight: 700;
    white-space: nowrap;
}

body.ssw-map-page .ssw-nav-actions .ssw-account:hover {
    color: #c9fd6b;
}

body.ssw-map-page .ssw-mobile-nav[hidden] {
    display: none!important;
}

body.ssw-map-page .ssw-mobile-nav {
    display: none;
    background: #142019;
    border-bottom: 1px solid #33473a;
    position: relative;
    z-index: 1090;
}

body.ssw-map-page .ssw-mobile-nav .ssw-menu--mobile {
    display: block;
}

body.ssw-map-page .ssw-mobile-nav .ssw-menu--mobile li {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    border-bottom: 1px solid #25372d;
}

body.ssw-map-page .ssw-mobile-nav .ssw-menu--mobile li>a {
    flex: 1;
    padding: 13px 5%;
    color: #edf4e8;
}

body.ssw-map-page .ssw-mobile-nav .ssw-menu--mobile .ssw-submenu-toggle {
    margin-right: 5%;
    height: 42px;
    width: 42px;
}

body.ssw-map-page .ssw-mobile-nav .ssw-menu--mobile .sub-menu {
    display: none;
    flex-basis: 100%;
    padding: 0 0 5px 18px;
    margin: 0;
    background: #1b2a20;
}

body.ssw-map-page .ssw-mobile-nav .ssw-menu--mobile li.ssw-submenu-open>.sub-menu {
    display: block;
}

body.ssw-map-page .ssw-mobile-nav .ssw-menu--mobile .sub-menu li>a {
    padding: 12px 5%;
}

body.ssw-map-page .ssw-mobile-actions {
    display: grid;
    gap: 0;
    padding: 8px 5% 18px;
}

body.ssw-map-page .ssw-mobile-actions a {
    padding: 12px;
    color: #edf4e8;
    text-decoration: none;
    font-size: 13px;
    font-weight: 700;
}

body.ssw-map-page .ssw-mobile-actions a:last-child {
    color: #0c1110;
    background: #c9fd6b;
    border-radius: 10px;
    text-align: center;
}

@media(max-width:1050px) {
    body.ssw-map-page .ssw-sitebar .ssw-navigation {
        display: none;
    }
    body.ssw-map-page .ssw-sitebar .menuBtn {
        display: block!important;
    }
    body.ssw-map-page .ssw-mobile-nav:not([hidden]) {
        display: block;
    }
}


/* Optional self-hosted font files: install legally obtained WOFF2 in /fonts/ before enabling. */


/* @font-face {font-family:'DM Sans';src:url('fonts/dm-sans-latin.woff2') format('woff2');font-style:normal;font-weight:400 800;font-display:swap;} */


/* @font-face {font-family:'Space Grotesk';src:url('fonts/space-grotesk-latin.woff2') format('woff2');font-style:normal;font-weight:400 700;font-display:swap;} */