.c-navbar,.c-navbar * { box-sizing: border-box; }
.c-navbar { position: relative; z-index: 100; width: 100%; transition: transform .2s ease; }
.admin-bar { --tns-admin-offset: 32px; }
@media (max-width: 782px) { .admin-bar { --tns-admin-offset: 46px; } }
@media (max-width: 600px) { .admin-bar { --tns-admin-offset: 0px; } }
.c-navbar.position-sticky { position: sticky; top: var(--tns-admin-offset, 0px); }
.c-navbar.position-fixed { position: fixed; inset-inline: 0; top: var(--tns-admin-offset, 0px); }
.c-navbar.position-absolute { position: absolute; inset-inline: 0; top: var(--tns-admin-offset, 0px); }
.c-navbar.position-static.space-overlay { position: absolute; inset-inline: 0; top: var(--tns-admin-offset, 0px); }
.c-navbar.position-sticky.space-overlay { margin-bottom: calc(-1 * var(--tns-navbar-height, var(--tns-navbar-reserved-height, 100px))); }
.c-navbar-spacer { height: var(--tns-navbar-reserved-height, 100px); pointer-events: none; }
.c-navbar-backdrop { position: absolute; inset-inline: 0; height: var(--tns-navbar-reserved-height, 100px); pointer-events: none; z-index: 0; }
.c-navbar.space-reserve { background: transparent; }
.c-section.has-navbar-overlay, .c-page-header.has-navbar-overlay { padding-top: calc(var(--split-padding-top, var(--section-space, 0px)) + var(--tns-navbar-overlay-height, var(--tns-navbar-reserved-height, 100px))); }
.c-page-header.layout-hero.has-navbar-overlay { padding-top: var(--tns-navbar-overlay-height, var(--tns-navbar-reserved-height, 100px)); }
.c-navbar.is-scroll-hidden { transform: translateY(calc(-100% - var(--tns-admin-offset, 0px))); }
.c-navbar__inner { position: relative; display: flex; align-items: center; gap: 32px; width: min(calc(100% - 2 * var(--tns-gutter)), var(--tns-container)); margin-inline: auto; }
.c-navbar__logo { flex: 0 0 auto; max-width: 180px; }
.c-navbar__logo img { display: block; max-width: 100%; height: auto; max-height: 72px; }
.c-navbar__logo-mobile { display: none; }
.c-navbar__panels { flex: 1; min-width: 0; }
.c-navbar__cart { order: 2; flex: 0 0 auto; }
.c-navbar__inner:has(> .c-navbar__cart) > .c-navbar__burger { order: 3; margin-inline-start: 0; }
.c-navbar.is-mobile .c-navbar__inner:has(> .c-navbar__cart) { gap: 12px; }
.c-navbar.is-mobile .c-navbar__inner:has(> .c-navbar__cart) > .c-navbar__logo { max-width: min(32vw, 180px); }
.c-navbar.is-mobile .c-navbar__cart { margin-inline-start: auto; }
.c-navbar__main,.c-navbar__top { display: flex; align-items: center; justify-content: flex-end; gap: 24px; }
.c-navbar__top { margin-bottom: 12px; font-size: .85em; }
.c-navbar__top:empty { display: none; }
.c-navbar__socials { display: flex; gap: 12px; }
.c-navbar__socials .c-contact-entry { margin: 0; }
.c-navbar .c-nav,.c-navbar .c-nav__submenu { list-style: none; padding: 0; margin: 0; }
.c-nav { display: flex; flex-wrap: wrap; align-items: center; gap: 20px; }
.c-nav__item { position: relative; }
.c-nav__row { display: flex; align-items: center; gap: 4px; }
.c-nav__row > a { display: block; padding-block: 10px; }
.c-nav__toggle,.c-nav__back,.c-navbar__burger { color: inherit; background: transparent; border: 0; cursor: pointer; font: inherit; min-width: 44px; min-height: 44px; }
.c-nav__back-row,.c-navbar__burger { display: none; }
.c-nav__submenu { min-width: 200px; }
.c-navbar.is-ready .c-nav__submenu { display: none; }
.c-navbar.is-ready .c-nav__item.is-open > .c-nav__submenu { display: block; }
.c-navbar:not(.is-mobile) .c-nav__submenu { position: absolute; top: 100%; left: 0; padding: 16px; background: var(--nav-panel-bg, #fff); color: var(--nav-panel-color, #35215d); box-shadow: 0 8px 24px #0002; z-index: 1; }
.c-navbar:not(.is-mobile) .c-nav__submenu .c-nav__submenu { top: 0; left: 100%; }
.c-navbar:not(.is-mobile) .c-nav__item.opens-left > .c-nav__submenu { left: auto; right: 0; }
.c-navbar:not(.is-mobile) .c-nav__submenu .c-nav__item.opens-left > .c-nav__submenu { left: auto; right: 100%; }
.c-navbar:not(.is-mobile) .c-nav__item[data-submenu="mega"] { position: static; }
.c-navbar:not(.is-mobile) .c-nav__item[data-submenu="mega"] > .c-nav__submenu { left: 0; right: 0; min-width: 0; grid-template-columns: repeat(var(--submenu-columns, 3), minmax(0, 1fr)); gap: 24px; }
.c-navbar:not(.is-mobile) .c-nav__item[data-submenu="mega"].is-open > .c-nav__submenu { display: grid; }
.c-navbar:not(.is-mobile) .c-nav__item[data-submenu="expanded"] > .c-nav__submenu,
.c-navbar:not(.is-mobile) .c-nav__item.is-column > .c-nav__submenu { position: static; box-shadow: none; min-width: 0; }
.c-navbar:not(.is-mobile) .c-nav__item.is-column > .c-nav__row > .c-nav__toggle { display: none; }
.c-navbar.is-mobile .c-navbar__burger { display: block; margin-inline-start: auto; }
.c-navbar.is-mobile .c-navbar__logo-mobile { display: block; }
.c-navbar.is-mobile .c-navbar__logo-desktop { display: none; }
.c-navbar.is-mobile .c-navbar__panels { display: none; position: absolute; top: 100%; inset-inline: 0; background: var(--nav-panel-bg, #fff); color: var(--nav-panel-color, #35215d); padding: 24px; max-height: calc(100dvh - var(--tns-navbar-height, 100px) - var(--tns-admin-offset, 0px)); overflow-y: auto; overscroll-behavior: contain; }
.c-navbar.is-mobile.is-menu-open .c-navbar__panels { display: block; }
.c-navbar.is-mobile .c-navbar__main,.c-navbar.is-mobile .c-navbar__top { display: block; }
.c-navbar.is-mobile .c-nav { display: block; }
.c-navbar.is-mobile .c-nav__row { justify-content: space-between; }
.c-navbar.is-mobile .c-nav__submenu { padding-inline-start: 16px; min-width: 0; }
.c-navbar.is-mobile .c-navbar__socials,.c-navbar.is-mobile .c-actions { margin-top: 20px; }
.c-navbar.is-mobile[data-mobile="layers"] .c-nav__submenu { padding-inline-start: 0; }
.c-navbar.is-mobile[data-mobile="layers"] .c-nav__back-row { display: block; }
.c-navbar [hidden] { display: none !important; }
.c-navbar:not(.is-ready) .c-nav__submenu { position: static; }
@media (hover: hover) and (pointer: fine) {
    .c-navbar:not(.is-ready)[data-open="hover"]:not(.is-mobile) .c-nav__item:hover > .c-nav__submenu { display: block; }
    .c-navbar:not(.is-ready)[data-open="hover"]:not(.is-mobile) .c-nav__item[data-submenu="mega"]:hover > .c-nav__submenu { display: grid; }
}
.c-navbar a:focus-visible,.c-navbar button:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.c-navbar .c-nav__row > a { display: flex; align-items: center; gap: 12px; }
.c-nav__icon { display: inline-flex; flex: 0 0 28px; width: 28px; height: 28px; }
.c-nav__icon > * { width: 100%; height: 100%; object-fit: contain; }
.c-nav__description { display: block; font-size: .875em; font-weight: normal; line-height: 1.5; margin-top: 8px; }
/* Adjacent subpage layer: only the selected second-level branch is expanded. */
.c-navbar:not(.is-mobile).has-adjacent-layer .c-navbar__inner { position: static; }
.c-navbar:not(.is-mobile) .c-nav > [data-submenu="layer"] { position: static; }
.c-navbar:not(.is-mobile) .c-nav > [data-submenu="layer"] > .c-nav__submenu {
    --nav-layer-gutter: max(var(--tns-gutter, 24px), calc((100% - var(--tns-container, 1280px)) / 2));
    --nav-layer-column: min(32vw, 380px);
    --nav-layer-gap: 40px;
    inset-inline: 0; top: 100%; width: 100%; min-width: 0;
    padding: 56px var(--nav-layer-gutter) 24px;
    min-height: calc(var(--nav-layer-content-height, 0px) + 80px);
    max-height: calc(100dvh - var(--tns-navbar-height, 100px) - var(--tns-admin-offset, 0px));
    overflow: hidden auto; overscroll-behavior: contain;
}
.c-navbar:not(.is-mobile) .c-nav > [data-submenu="layer"] > .c-nav__submenu > .c-nav__item { position: static; width: var(--nav-layer-column); }
.c-navbar:not(.is-mobile) .c-nav > [data-submenu="layer"] .c-nav__submenu .c-nav__item { position: static; }
.c-navbar:not(.is-mobile) .c-nav > [data-submenu="layer"] .c-nav__item.is-open > .c-nav__submenu { display: block; }
.c-navbar:not(.is-mobile) .c-nav > [data-submenu="layer"] .c-nav__submenu .c-nav__row { border-bottom: 1px solid color-mix(in srgb, currentColor 15%, transparent); min-height: 56px; }
.c-navbar:not(.is-mobile) .c-nav > [data-submenu="layer"] > .c-nav__submenu > .c-nav__item > .c-nav__row { transform: translateX(var(--nav-layer-shift, 0px)); }
.c-navbar:not(.is-mobile) .c-nav > [data-submenu="layer"] > .c-nav__submenu > .c-nav__item > .c-nav__row > a { flex: 1; }
.c-navbar:not(.is-mobile) .c-nav > [data-submenu="layer"] > .c-nav__submenu > .c-nav__item > .c-nav__submenu {
    position: absolute; left: auto; right: auto;
    inset-inline-start: calc(var(--nav-layer-gutter) + var(--nav-layer-column) + var(--nav-layer-gap));
    inset-inline-end: auto; top: 56px;
    padding: 0; min-width: 0; box-shadow: none; background: transparent; color: inherit;
    width: var(--nav-layer-column); transform: translateX(var(--nav-layer-shift, 0px));
}
.c-navbar:not(.is-mobile) .c-nav > [data-submenu="layer"] .c-nav__submenu .c-nav__submenu .c-nav__submenu {
    position: absolute; inset: 0 auto auto calc(100% + var(--nav-layer-gap)); width: var(--nav-layer-column);
    min-width: 0; padding: 0; box-shadow: none; background: transparent; color: inherit;
}
.c-navbar:not(.is-mobile) .c-nav > [data-submenu="layer"] .c-nav__submenu .c-nav__row > a { flex: 1; }
.c-navbar:not(.is-mobile) .c-nav > [data-submenu="layer"] > .c-nav__submenu.has-previous > .c-nav__back-row { display: block; position: absolute; top: 4px; inset-inline-start: var(--nav-layer-gutter); }
@media (prefers-reduced-motion: reduce) { .c-navbar { transition: none; } }

/* Mobile panel presentation is independent of accordion/layer navigation. */
.c-navbar__scrim,.c-nav__parent-row { display:none; }
.c-navbar.is-mobile[data-mobile-trigger="row"] .c-nav__parent-row { display:block; margin-block:12px 20px; }
.c-nav__parent-link { display:block; font-size:1.125em; font-weight:700; padding-block:12px; }
.c-navbar.is-mobile[data-mobile-trigger="row"] .c-nav__row { cursor:pointer; }
.c-navbar.is-mobile[data-mobile-trigger="row"] .c-nav__row > a { flex:1; }
.c-navbar.is-mobile:is([data-mobile-panel="drawer"],[data-mobile-panel="fullscreen"]) .c-navbar__panels {
    inset-inline:auto calc(-1 * var(--tns-gutter,24px)); z-index:2;
    width:100vw; height:calc(100dvh - var(--tns-navbar-height,80px) - var(--tns-admin-offset,0px));
    max-height:none;
}
.c-navbar.is-mobile[data-mobile-panel="drawer"] .c-navbar__panels { width:min(420px,100vw); }
.c-navbar.is-mobile[data-mobile-panel="drawer"].is-menu-open .c-navbar__panels { animation:tns-nav-slide-in .25s ease-out; }
.c-navbar.is-mobile[data-mobile-panel="fullscreen"].is-menu-open .c-navbar__panels { animation:tns-nav-fade-in .2s ease-out; }
.c-navbar.is-mobile[data-mobile-panel="drawer"].is-menu-open .c-navbar__scrim {
    display:block; position:absolute; top:100%; inset-inline:0; height:calc(100dvh - var(--tns-navbar-height,80px)); background:#0008;
}
@keyframes tns-nav-slide-in { from { transform:translateX(100%); } to { transform:translateX(0); } }
@keyframes tns-nav-fade-in { from { opacity:0; } to { opacity:1; } }
@media(prefers-reduced-motion:reduce) { .c-navbar.is-mobile.is-menu-open:is([data-mobile-panel="drawer"],[data-mobile-panel="fullscreen"]) .c-navbar__panels { animation:none; } }

@media (prefers-reduced-motion: reduce) { .c-navbar { transition: none; } }
