/*
 * SDB — Menu Horizontal
 * Version: 1.5.1
 * Consumer for SDB — Design System v4.2.2 / sdb-nav-strip.
 *
 * The Design System owns the visual language. This stylesheet only preserves
 * shortcode layout compatibility, dropdown behaviour and plugin-specific icons.
 */

.sls-hm-wrapper {
    display: block;
    width: 100%;
    max-width: 100%;
    clear: both;
    margin: var(--sdb-space-sm) 0 var(--sdb-space-md);
}

.sls-hm-wrapper.sdb-nav-strip {
    background: transparent;
    border: 0;
    outline: 0;
}

.sls-hm-wrapper.sdb-nav-strip::before,
.sls-hm-wrapper.sdb-nav-strip::after {
    display: none;
    content: none;
}

:where(.sls-hm-wrapper > ul.sls-hm-menu) {
    display: flex;
    flex-direction: row;
    align-items: center;
    list-style: none;
    margin: 0;
    padding: 0;
    background: transparent;
    row-gap: var(--sdb-space-sm);
}

:where(.sls-hm-align-left > ul.sls-hm-menu) {
    justify-content: flex-start;
}

:where(.sls-hm-align-center > ul.sls-hm-menu) {
    justify-content: center;
}

:where(.sls-hm-align-right > ul.sls-hm-menu) {
    justify-content: flex-end;
}

:where(.sls-hm-wrapper > ul.sls-hm-menu > li) {
    display: block;
    position: relative;
    list-style: none;
    margin: 0;
    padding: 0;
}

:where(.sls-hm-wrapper > ul.sls-hm-menu > li > a.sls-hm-link) {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    min-height: 38px;
    padding: var(--sdb-nav-strip-link-padding-y, .55rem) var(--sdb-nav-strip-link-padding-x, 0);
    color: var(--sdb-nav-strip-color, inherit);
    background: transparent;
    border: 0;
    border-bottom: 2px solid transparent;
    line-height: 1.35;
    text-decoration: none;
    white-space: nowrap;
    transition:
        color var(--sdb-motion-duration-fast, 120ms) var(--sdb-motion-easing-standard, ease),
        background-color var(--sdb-motion-duration-fast, 120ms) var(--sdb-motion-easing-standard, ease),
        border-color var(--sdb-motion-duration-fast, 120ms) var(--sdb-motion-easing-standard, ease),
        transform var(--sdb-motion-duration-fast, 120ms) var(--sdb-motion-easing-standard, ease);
}

:where(.sls-hm-wrapper > ul.sls-hm-menu > li > a.sls-hm-link:hover),
:where(.sls-hm-wrapper > ul.sls-hm-menu > li > a.sls-hm-link:focus-visible),
:where(.sls-hm-wrapper > ul.sls-hm-menu > li:hover > a.sls-hm-link),
:where(.sls-hm-wrapper > ul.sls-hm-menu > li.current-menu-item > a.sls-hm-link),
:where(.sls-hm-wrapper > ul.sls-hm-menu > li.current-menu-ancestor > a.sls-hm-link),
:where(.sls-hm-wrapper > ul.sls-hm-menu > li.current-menu-parent > a.sls-hm-link),
:where(.sls-hm-wrapper > ul.sls-hm-menu > li.current_page_item > a.sls-hm-link),
:where(.sls-hm-wrapper > ul.sls-hm-menu > li.current_page_ancestor > a.sls-hm-link),
:where(.sls-hm-wrapper > ul.sls-hm-menu > li.current_page_parent > a.sls-hm-link),
:where(.sls-hm-wrapper > ul.sls-hm-menu > li > a.sdb-nav-strip__link--active),
:where(.sls-hm-wrapper > ul.sls-hm-menu > li > a[aria-current="page"]) {
    color: var(--sdb-nav-strip-color-active, currentColor);
    border-bottom-color: currentColor;
}

.sls-hm-wrapper a:focus-visible {
    outline: 2px solid var(--sdb-color-secondary, currentColor);
    outline-offset: 3px;
}

:where(.sls-hm-style-1 > ul.sls-hm-menu) {
    gap: var(--sdb-nav-strip-gap, var(--sdb-space-lg));
    flex-wrap: wrap;
}

:where(.sls-hm-style-2 > ul.sls-hm-menu) {
    gap: var(--sdb-nav-strip-gap, var(--sdb-space-md));
    flex-wrap: wrap;
}

:where(.sls-hm-style-2 > ul.sls-hm-menu > li > a.sls-hm-link) {
    padding-inline: var(--sdb-space-sm);
}

:where(.sls-hm-style-3 > ul.sls-hm-menu),
:where(.sdb-nav-strip--scroll > ul.sls-hm-menu) {
    gap: var(--sdb-nav-strip-gap-mobile, var(--sdb-space-sm));
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding-bottom: .25rem;
}

:where(.sls-hm-style-3 > ul.sls-hm-menu::-webkit-scrollbar),
:where(.sdb-nav-strip--scroll > ul.sls-hm-menu::-webkit-scrollbar) {
    display: none;
}

:where(.sls-hm-style-3 > ul.sls-hm-menu > li),
:where(.sdb-nav-strip--scroll > ul.sls-hm-menu > li) {
    flex-shrink: 0;
}

.sls-hm-wrapper > ul.sls-hm-menu > li.sls-menu-back > a.sls-hm-link,
.sls-hm-wrapper > ul.sls-hm-menu > li.sls-menu-home > a.sls-hm-link {
    gap: .5rem;
}

.sls-hm-wrapper > ul.sls-hm-menu > li.sls-menu-back > a.sls-hm-link::before,
.sls-hm-wrapper > ul.sls-hm-menu > li.sls-menu-home > a.sls-hm-link::before {
    content: '';
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 1em;
    height: 1em;
    background-color: currentColor;
    line-height: 1;
    transition: transform var(--sdb-motion-duration-fast, 120ms) var(--sdb-motion-easing-standard, ease);
}

.sls-hm-wrapper > ul.sls-hm-menu > li.sls-menu-back > a.sls-hm-link::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20 11H6.83l5.59-5.59L11 4 3 12l8 8 1.42-1.41L6.83 13H20v-2Z'/%3E%3C/svg%3E");
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: contain;
    mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20 11H6.83l5.59-5.59L11 4 3 12l8 8 1.42-1.41L6.83 13H20v-2Z'/%3E%3C/svg%3E");
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: contain;
}

.sls-hm-wrapper > ul.sls-hm-menu > li.sls-menu-home > a.sls-hm-link::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 11.5 12 4l9 7.5v8a1 1 0 0 1-1 1h-5.25a1 1 0 0 1-1-1v-4.75h-3.5v4.75a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1v-8Z'/%3E%3C/svg%3E");
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: contain;
    mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 11.5 12 4l9 7.5v8a1 1 0 0 1-1 1h-5.25a1 1 0 0 1-1-1v-4.75h-3.5v4.75a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1v-8Z'/%3E%3C/svg%3E");
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: contain;
}

.sls-hm-wrapper > ul.sls-hm-menu > li.sls-menu-back:hover > a.sls-hm-link::before,
.sls-hm-wrapper > ul.sls-hm-menu > li.sls-menu-back > a.sls-hm-link:focus-visible::before {
    transform: translateX(-2px);
}

.sls-hm-wrapper > ul.sls-hm-menu > li.sls-menu-home:hover > a.sls-hm-link::before,
.sls-hm-wrapper > ul.sls-hm-menu > li.sls-menu-home > a.sls-hm-link:focus-visible::before {
    transform: translateY(-1px);
}

:where(.sls-hm-wrapper > ul.sls-hm-menu > li.sls-menu-back > a.sdb-nav-strip__link--muted) {
    color: var(--sdb-nav-strip-muted-color, var(--sdb-color-muted, inherit));
}

.sls-hm-wrapper .menu-item-has-children > a.sls-hm-link::after {
    content: '';
    display: inline-block;
    margin-left: .375rem;
    vertical-align: middle;
    border-top: 4px solid currentColor;
    border-right: 4px solid transparent;
    border-left: 4px solid transparent;
    transition: transform var(--sdb-motion-duration-fast, 120ms) var(--sdb-motion-easing-standard, ease);
}

.sls-hm-wrapper ul.sls-hm-submenu,
.sls-hm-wrapper ul.sub-menu {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 9999;
    min-width: 220px;
    display: flex;
    flex-direction: column;
    list-style: none;
    margin: var(--sdb-space-sm) 0 0;
    padding: .45rem 0;
    background-color: var(--sdb-nav-dropdown-bg, var(--sdb-color-surface, Canvas));
    border: 1px solid var(--sdb-color-outline-variant, currentColor);
    border-radius: var(--sdb-shape-md, var(--sdb-radius-md));
    opacity: 0;
    visibility: hidden;
    transform: translateY(.5rem);
    transition:
        opacity var(--sdb-motion-duration-enter, 180ms) var(--sdb-motion-easing-standard, ease),
        visibility var(--sdb-motion-duration-enter, 180ms) var(--sdb-motion-easing-standard, ease),
        transform var(--sdb-motion-duration-enter, 180ms) var(--sdb-motion-easing-standard, ease);
}

.sls-hm-align-center ul.sls-hm-submenu,
.sls-hm-align-center ul.sub-menu {
    left: 50%;
    transform: translate(-50%, .5rem);
}

.sls-hm-align-right ul.sls-hm-submenu,
.sls-hm-align-right ul.sub-menu {
    right: 0;
    left: auto;
}

.sls-hm-wrapper .menu-item-has-children:hover > ul.sls-hm-submenu,
.sls-hm-wrapper .menu-item-has-children:focus-within > ul.sls-hm-submenu,
.sls-hm-wrapper .menu-item-has-children.sls-hm-mobile-open > ul.sls-hm-submenu,
.sls-hm-wrapper .menu-item-has-children:hover > ul.sub-menu,
.sls-hm-wrapper .menu-item-has-children:focus-within > ul.sub-menu,
.sls-hm-wrapper .menu-item-has-children.sls-hm-mobile-open > ul.sub-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.sls-hm-align-center .menu-item-has-children:hover > ul.sls-hm-submenu,
.sls-hm-align-center .menu-item-has-children:focus-within > ul.sls-hm-submenu,
.sls-hm-align-center .menu-item-has-children.sls-hm-mobile-open > ul.sls-hm-submenu,
.sls-hm-align-center .menu-item-has-children:hover > ul.sub-menu,
.sls-hm-align-center .menu-item-has-children:focus-within > ul.sub-menu,
.sls-hm-align-center .menu-item-has-children.sls-hm-mobile-open > ul.sub-menu {
    transform: translate(-50%, 0);
}

.sls-hm-wrapper .menu-item-has-children:hover > a.sls-hm-link::after,
.sls-hm-wrapper .menu-item-has-children.sls-hm-mobile-open > a.sls-hm-link::after,
.sls-hm-wrapper .menu-item-has-children:focus-within > a.sls-hm-link::after {
    transform: rotate(180deg);
}

.sls-hm-wrapper ul.sls-hm-submenu li,
.sls-hm-wrapper ul.sub-menu li {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
}

.sls-hm-wrapper ul.sls-hm-submenu li a,
.sls-hm-wrapper ul.sub-menu li a {
    display: block;
    width: 100%;
    box-sizing: border-box;
    min-height: 0;
    padding: .62rem 1rem;
    color: var(--sdb-nav-strip-color, inherit);
    background: transparent;
    border: 0;
    line-height: 1.45;
    text-decoration: none;
    text-transform: none;
    white-space: nowrap;
}

.sls-hm-wrapper ul.sls-hm-submenu li a::after,
.sls-hm-wrapper ul.sub-menu li a::after {
    display: none;
}

.sls-hm-wrapper ul.sls-hm-submenu li a:hover,
.sls-hm-wrapper ul.sls-hm-submenu li a:focus-visible,
.sls-hm-wrapper ul.sub-menu li a:hover,
.sls-hm-wrapper ul.sub-menu li a:focus-visible {
    background-color: var(--sdb-state-hover-bg, transparent);
    color: var(--sdb-nav-strip-color-active, currentColor);
}


@media screen and (min-width: 769px) {
    :where(.sls-hm-has-dropdown.sls-hm-style-3 > ul.sls-hm-menu) {
        overflow: visible;
        flex-wrap: wrap;
    }
}

@media screen and (max-width: 768px) {
    .sls-hm-wrapper {
        margin: var(--sdb-space-sm) 0 var(--sdb-space-md);
    }

    :where(.sls-hm-wrapper > ul.sls-hm-menu) {
        gap: var(--sdb-nav-strip-gap-mobile, var(--sdb-space-sm));
        flex-wrap: nowrap;
        justify-content: flex-start;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        padding-bottom: .25rem;
    }

    :where(.sls-hm-wrapper > ul.sls-hm-menu::-webkit-scrollbar) {
        display: none;
    }

    :where(.sls-hm-wrapper > ul.sls-hm-menu > li) {
        flex-shrink: 0;
    }

    :where(.sls-hm-wrapper > ul.sls-hm-menu > li > a.sls-hm-link) {
        min-height: 34px;
        padding-top: .45rem;
        padding-bottom: .5rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .sls-hm-wrapper *,
    .sls-hm-wrapper *::before,
    .sls-hm-wrapper *::after {
        transition: none;
        animation: none;
        scroll-behavior: auto;
    }
}
