/* v0.22.3 — StraganUI hard-owns the public header.
   This stylesheet is enqueued only when the StraganUI header is enabled, so
   these guards do not need a body-class dependency and work before first paint. */
#header:not(#straganui-header),#masthead:not(#straganui-header),#site-header:not(#straganui-header),
header.site-header:not(#straganui-header),.site-header:not(.so-site-header),.site-header-wrap:not(.so-site-header),.site-header-wrapper:not(.so-site-header),
.main-header-bar-wrap,.ast-primary-header-bar,.site-primary-header-wrap,.whb-header,.ct-header,
.storefront-primary-navigation:not(.so-site-nav-wrap),#site-navigation:not(#straganui-nav),.main-navigation:not(.so-site-nav),
.elementor-location-header,[data-elementor-type="header"],body>header:not(#straganui-header),#page>header:not(#straganui-header),.site>header:not(#straganui-header),.wp-site-blocks>header:not(#straganui-header),
body>.header-wrapper,#page>.header-wrapper,.site>.header-wrapper,body>.header-main,#page>.header-main,.site>.header-main,body>.header-main-wrapper,#page>.header-main-wrapper,.site>.header-main-wrapper,
body>.main-header,#page>.main-header,.site>.main-header{display:none!important;visibility:hidden!important;height:0!important;min-height:0!important;margin:0!important;padding:0!important;overflow:hidden!important}

/* StraganUI 0.20.3 — compact, wrapping global header */
body.straganui-header-on > header:not(.so-site-header),
body.straganui-header-on #masthead,
body.straganui-header-on header.site-header:not(.so-site-header),
body.straganui-header-on .elementor-location-header,
body.straganui-header-on #site-header:not(.so-site-header),
body.straganui-header-on #header:not(.so-site-header),
body.straganui-header-on .header-wrapper:not(.so-site-header),
body.straganui-header-on .main-header:not(.so-site-header),
body.straganui-header-on .site-header:not(.so-site-header),
body.straganui-header-on .storefront-primary-navigation:not(.so-site-nav-wrap),
body.straganui-header-on #site-navigation:not(#straganui-nav),
body.straganui-header-on .main-navigation:not(.so-site-nav){display:none!important}

.so-site-header{position:relative;z-index:9999;width:100%;border-top:3px solid var(--so-green-dark);border-bottom:1px solid var(--so-border);background:#fff;box-shadow:0 3px 16px rgba(22,55,35,.035);font-family:var(--so-font-body);color:var(--so-text)}
.so-site-header__top{display:grid;grid-template-columns:minmax(185px,.72fr) minmax(320px,1fr) auto;align-items:center;gap:clamp(14px,1.8vw,28px);min-height:84px;padding:8px 0}
.so-site-header__brand{min-width:0;max-width:205px}.so-site-header__brand .custom-logo-link,.so-plugin-logo{display:inline-flex!important;align-items:center;text-decoration:none!important}.so-site-header__brand .custom-logo,.so-plugin-logo__image,.so-site-header__brand img{display:block!important;width:auto!important;max-width:200px!important;max-height:62px!important;object-fit:contain!important}.so-brand-text{color:var(--so-green-dark)!important;font-size:24px;font-weight:900;letter-spacing:-.04em;text-decoration:none!important}
.so-site-search{position:relative;display:flex;width:100%;max-width:560px;margin-inline:auto}.so-site-search input[type=search]{width:100%!important;height:46px!important;margin:0!important;padding:0 46px 0 17px!important;border:1px solid #d8e1db!important;border-radius:999px!important;outline:0!important;background:#fff!important;color:var(--so-text)!important;font:550 13px/1.2 var(--so-font-body)!important;box-shadow:none!important;appearance:none!important}.so-site-search input[type=search]::placeholder{color:#7b877f!important;opacity:1}.so-site-search input[type=search]:focus{border-color:#91af9a!important;box-shadow:0 0 0 3px rgba(47,111,70,.07)!important}.so-site-search button{position:absolute!important;top:6px!important;right:6px!important;display:grid!important;width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;place-items:center!important;margin:0!important;padding:0!important;border:0!important;border-radius:50%!important;background:transparent!important;color:var(--so-text)!important;box-shadow:none!important;cursor:pointer}.so-site-search button:hover{background:var(--so-green-soft)!important}.so-site-search svg{width:17px;height:17px;fill:currentColor}
.so-site-header__actions{display:flex;align-items:center;justify-content:flex-end;gap:5px;white-space:nowrap}.so-header-action{position:relative;display:inline-flex;min-height:40px;align-items:center;gap:7px;padding:0 9px;border-radius:9px;color:var(--so-text)!important;font-size:12px;font-weight:700;text-decoration:none!important}.so-header-action:hover{background:var(--so-green-soft);color:var(--so-green-dark)!important}.so-header-action svg{width:18px;height:18px;fill:currentColor}.so-header-cart{gap:7px!important}.so-header-cart__icon{fill:none!important;stroke:currentColor!important;stroke-width:1.8!important;stroke-linecap:round!important;stroke-linejoin:round!important}.so-header-cart__count{position:static!important;display:inline-grid!important;min-width:21px!important;height:21px!important;place-items:center;margin-left:1px!important;padding:0 6px!important;border:0!important;border-radius:999px!important;background:var(--so-green)!important;color:#fff!important;font-size:10px!important;font-weight:800!important;line-height:1!important}.so-header-cart__count[hidden]{display:none!important}
.so-nav-toggle{display:none!important}
.so-site-nav-wrap{border-top:1px solid #edf1ee;background:#fff}.so-site-nav{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:48px;padding:5px 0;overflow:visible}.so-site-nav__items{display:flex;min-width:0;flex-wrap:wrap;align-items:center;align-content:center;gap:2px 4px}.so-nav-link,.so-nav-parent-link,.so-site-nav__single{display:inline-flex;min-height:34px;align-items:center;padding:0 8px;border-radius:9px;color:#273029!important;font-size:11.5px;font-weight:700;text-decoration:none!important;white-space:nowrap;transition:background .14s ease,color .14s ease,border-color .14s ease}.so-nav-link:hover,.so-nav-parent-link:hover,.so-has-submenu:hover .so-nav-parent-link,.so-has-submenu.is-open .so-nav-parent-link{background:var(--so-green-soft);color:var(--so-green-dark)!important}.so-nav-item{position:relative;flex:0 0 auto}.so-nav-parent{position:relative;display:inline-flex;align-items:center}.so-nav-parent-link{gap:4px;padding-right:23px}.so-nav-chevron{position:absolute;right:7px;top:50%;width:11px;height:11px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;opacity:.64;transform:translateY(-50%);transition:opacity .12s ease,transform .12s ease}.so-has-submenu:hover .so-nav-chevron,.so-has-submenu.is-open .so-nav-chevron{opacity:1}.so-has-submenu.is-open .so-nav-chevron{transform:translateY(-50%) rotate(180deg)}.so-submenu-toggle{position:absolute!important;right:0;top:50%;z-index:2;width:23px!important;height:32px!important;margin:0!important;padding:0!important;border:0!important;border-radius:0 9px 9px 0!important;background:transparent!important;box-shadow:none!important;transform:translateY(-50%);cursor:pointer}.so-submenu-toggle:hover{background:rgba(47,111,70,.045)!important}
.so-submenu{position:absolute;left:0;top:calc(100% + 4px);z-index:10020;width:min(500px,calc(100vw - 32px));padding:13px;border:1px solid var(--so-border);border-radius:14px;background:#fff;box-shadow:0 18px 42px rgba(20,50,30,.15);opacity:0;visibility:hidden;transform:translateY(5px);transition:opacity .13s ease,transform .13s ease,visibility .13s ease}.so-has-submenu:hover>.so-submenu,.so-has-submenu:focus-within>.so-submenu,.so-has-submenu.is-open>.so-submenu{opacity:1;visibility:visible;transform:none}.so-submenu__head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0 4px 9px;border-bottom:1px solid #e8ede9}.so-submenu__head strong{font-size:13px}.so-submenu__head a{color:var(--so-green)!important;font-size:10.5px;font-weight:650;text-decoration:none!important}.so-submenu__links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px 10px;padding-top:7px}.so-submenu__links a{display:flex;min-height:31px;align-items:center;padding:5px 6px;border-radius:7px;color:#29332c!important;font-size:11.3px;font-weight:550;line-height:1.2;text-decoration:none!important}.so-submenu__links a:hover{background:var(--so-green-soft);color:var(--so-green-dark)!important}
.so-site-nav__single{align-self:center;justify-content:center;min-width:96px;margin:0;padding:0 14px;border:1px solid var(--so-green)!important;border-radius:9px;background:var(--so-green)!important;color:#fff!important}.so-site-nav__single:hover,.so-site-nav__single:focus-visible{border-color:var(--so-green)!important;background:#fff!important;color:var(--so-green-dark)!important}
@media(max-width:1280px) and (min-width:821px){.so-site-header__top{grid-template-columns:minmax(165px,.65fr) minmax(260px,.9fr) auto;gap:12px;min-height:78px}.so-site-header__brand .custom-logo,.so-plugin-logo__image,.so-site-header__brand img{max-width:180px!important;max-height:55px!important}.so-site-search{max-width:440px}.so-nav-link,.so-nav-parent-link,.so-site-nav__single{font-size:10.7px;padding-left:6px}.so-nav-parent-link{padding-right:21px}.so-site-nav{gap:8px}.so-site-nav__items{gap:1px 2px}}
@media(max-width:820px){.so-site-header__top{grid-template-columns:1fr auto;gap:9px;min-height:auto;padding:9px 0}.so-site-header__brand .custom-logo,.so-plugin-logo__image,.so-site-header__brand img{max-width:160px!important;max-height:50px!important}.so-site-search{grid-column:1/-1;grid-row:2;max-width:none}.so-site-header__actions{grid-column:2;grid-row:1}.so-header-action{padding-inline:5px}.so-header-action span{display:none}.so-header-cart__count{min-width:19px!important;height:19px!important;padding-inline:5px!important;font-size:9px!important}.so-nav-toggle{display:inline-flex!important;width:38px!important;height:38px!important;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:0!important;border:1px solid var(--so-border)!important;border-radius:10px!important;background:#fff!important}.so-nav-toggle>span:not(.screen-reader-text){display:block;width:17px;height:2px;border-radius:2px;background:var(--so-text)}.so-site-nav-wrap{display:none}.so-site-header.is-nav-open .so-site-nav-wrap{position:absolute;left:0;right:0;top:100%;display:block;max-height:calc(100vh - 80px);overflow:auto;border-bottom:1px solid var(--so-border);box-shadow:0 18px 34px rgba(20,50,30,.12)}.so-site-nav{display:flex;align-items:stretch;flex-direction:column;gap:2px;padding:7px 0 11px}.so-site-nav__items{display:flex;width:100%;flex-direction:column;flex-wrap:nowrap;gap:2px}.so-nav-link,.so-nav-parent-link,.so-site-nav__single{width:100%;min-height:39px;justify-content:flex-start;padding:0 10px;font-size:12.75px}.so-nav-item{width:100%}.so-nav-parent{display:block;width:100%}.so-nav-parent-link{width:100%;padding-right:44px}.so-nav-chevron{right:15px}.so-submenu-toggle{right:0;width:44px!important;height:39px!important;border-radius:9px!important}.so-submenu{position:static;display:none;width:100%;margin:0 0 5px;padding:7px 8px 9px;border:0;border-radius:10px;background:#f7faf7;box-shadow:none;opacity:1;visibility:visible;transform:none;transition:none}.so-has-submenu:hover>.so-submenu,.so-has-submenu:focus-within>.so-submenu{display:none}.so-has-submenu.is-open>.so-submenu{display:block}.so-submenu__head{padding:3px 5px 7px}.so-submenu__links{grid-template-columns:1fr 1fr;gap:2px 6px;padding-top:5px}.so-submenu__links a{min-height:34px}.so-site-nav__single{min-width:0;margin-top:3px}}

/* ==========================================================
   v0.21.12 — adaptive, compact category dropdowns
   ========================================================== */
@media (min-width:821px){
    .so-site-nav-wrap,
    .so-site-nav,
    .so-site-nav__items{overflow:visible!important}

    /* Parent categories stay understated; dropdowns carry the hierarchy. */
    .so-nav-link,
    .so-nav-parent-link{
        min-height:32px;
        border:1px solid transparent;
        border-radius:8px;
        transition:background .14s ease,border-color .14s ease,color .14s ease;
    }
    .so-nav-link:hover,
    .so-nav-parent-link:hover,
    .so-has-submenu:hover .so-nav-parent-link,
    .so-has-submenu.is-open .so-nav-parent-link{
        border-color:#e5ece7;
        background:#f5f8f6;
    }

    /* Width is chosen from the actual amount of content instead of one mega-menu size. */
    .so-submenu{
        --so-submenu-width:320px;
        width:min(var(--so-submenu-width),calc(100vw - 28px))!important;
        max-width:min(var(--so-submenu-width),calc(100vw - 28px))!important;
        max-height:min(420px,calc(100vh - 165px));
        overflow-x:hidden;
        overflow-y:auto;
        padding:8px!important;
        border:1px solid #d8e3da!important;
        border-radius:12px!important;
        background:#fff!important;
        box-shadow:0 14px 32px rgba(20,50,30,.115)!important;
    }
    .so-submenu--xs{--so-submenu-width:238px}
    .so-submenu--sm{--so-submenu-width:278px}
    .so-submenu--md{--so-submenu-width:330px}
    .so-submenu--lg{--so-submenu-width:360px}

    .so-has-submenu.so-submenu-align-right>.so-submenu{
        left:auto!important;
        right:0!important;
    }

    .so-submenu__head{
        display:flex!important;
        min-height:37px;
        align-items:center!important;
        justify-content:space-between!important;
        gap:8px!important;
        padding:2px 4px 8px!important;
        border-bottom:1px solid #e8eee9!important;
    }
    .so-submenu__head strong{
        min-width:0;
        overflow:hidden;
        color:#1c2a21!important;
        font-size:12.25px!important;
        font-weight:800!important;
        line-height:1.15!important;
        text-overflow:ellipsis;
        white-space:nowrap;
    }
    .so-submenu__head a{
        display:inline-flex!important;
        min-height:25px;
        flex:0 0 auto;
        align-items:center;
        gap:4px;
        padding:0 7px!important;
        border:1px solid #dce7df!important;
        border-radius:7px!important;
        background:#f6f9f7!important;
        color:var(--so-green-dark)!important;
        font-size:9.5px!important;
        font-weight:750!important;
        line-height:1!important;
        text-decoration:none!important;
    }
    .so-submenu__head a:hover,
    .so-submenu__head a:focus-visible{
        border-color:#c6d8cb!important;
        background:#edf5ef!important;
        outline:0!important;
    }

    .so-submenu__links{
        display:grid!important;
        grid-template-columns:1fr!important;
        gap:4px!important;
        padding-top:7px!important;
    }
    .so-submenu--md .so-submenu__links,
    .so-submenu--lg .so-submenu__links{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:4px 5px!important;
    }
    .so-submenu__links a{
        display:grid!important;
        grid-template-columns:minmax(0,1fr) 12px;
        min-width:0;
        min-height:32px!important;
        align-items:center!important;
        gap:5px;
        padding:6px 7px 6px 9px!important;
        border:1px solid #e8eee9!important;
        border-radius:8px!important;
        background:#fbfcfb!important;
        color:#26322b!important;
        font-size:10.25px!important;
        font-weight:620!important;
        line-height:1.22!important;
        text-decoration:none!important;
        white-space:normal!important;
        overflow-wrap:anywhere;
        transition:background .12s ease,border-color .12s ease,color .12s ease,transform .12s ease;
    }
    .so-submenu__links a>span:first-child{min-width:0}
    .so-submenu__link-arrow{
        display:grid;
        width:12px;
        height:18px;
        place-items:center;
        color:#809086;
        font-size:15px;
        font-weight:500;
        line-height:1;
        transition:color .12s ease,transform .12s ease;
    }
    .so-submenu__links a:hover,
    .so-submenu__links a:focus-visible{
        border-color:#ccddd0!important;
        background:#f1f7f3!important;
        color:var(--so-green-dark)!important;
        outline:0!important;
        transform:translateY(-1px);
    }
    .so-submenu__links a:hover .so-submenu__link-arrow,
    .so-submenu__links a:focus-visible .so-submenu__link-arrow{
        color:var(--so-green)!important;
        transform:translateX(1px);
    }

    /* Very short menus should feel like dropdowns, not empty mega menus. */
    .so-submenu--xs .so-submenu__links a,
    .so-submenu--sm .so-submenu__links a{min-height:34px!important}

    .so-submenu::-webkit-scrollbar{width:7px}
    .so-submenu::-webkit-scrollbar-track{background:transparent}
    .so-submenu::-webkit-scrollbar-thumb{border:2px solid #fff;border-radius:999px;background:#c9d8cd}
}

@media (min-width:821px) and (max-width:1080px){
    .so-submenu--xs{--so-submenu-width:224px}
    .so-submenu--sm{--so-submenu-width:260px}
    .so-submenu--md{--so-submenu-width:306px}
    .so-submenu--lg{--so-submenu-width:330px}
    .so-submenu__links a{font-size:9.9px!important}
}

/* =========================================================
   v0.25.0 — final mobile/tablet navigation pass
   Audited targets: 360 / 390 / 430 / 768-820px
   ========================================================= */
@media(max-width:820px){
    html.so-mobile-nav-open,html.so-mobile-nav-open body{overflow:hidden!important}
    .so-site-header{z-index:10050}
    .so-site-header__top{width:min(100% - 24px,var(--so-container));gap:8px;padding:8px 0 9px}
    .so-site-header__brand{max-width:min(160px,42vw)}
    .so-site-search input[type=search]{height:44px!important;padding-left:15px!important;font-size:12.5px!important}
    .so-site-header__actions{gap:2px}
    .so-header-action,.so-nav-toggle{min-width:40px!important;min-height:40px!important}
    .so-nav-toggle{position:relative}
    .so-nav-toggle>span:not(.screen-reader-text){position:absolute;left:10px;width:18px;transition:transform .16s ease,opacity .16s ease,top .16s ease}
    .so-nav-toggle>span:nth-child(1){top:13px}.so-nav-toggle>span:nth-child(2){top:18px}.so-nav-toggle>span:nth-child(3){top:23px}
    .so-site-header.is-nav-open .so-nav-toggle>span:nth-child(1){top:18px;transform:rotate(45deg)}
    .so-site-header.is-nav-open .so-nav-toggle>span:nth-child(2){opacity:0}
    .so-site-header.is-nav-open .so-nav-toggle>span:nth-child(3){top:18px;transform:rotate(-45deg)}
    .so-site-header.is-nav-open .so-site-nav-wrap{
        top:100%;max-height:min(72dvh,640px);overscroll-behavior:contain;
        border-top:1px solid #e7ede8;border-bottom:1px solid #dce5df;background:#fff;
        box-shadow:0 22px 42px rgba(17,42,26,.16)
    }
    .so-site-header.is-nav-open .so-site-nav-wrap>.so-container{width:min(100% - 20px,var(--so-container));padding:8px 0 12px}
    .so-site-nav{gap:6px;padding:0}
    .so-site-nav:before{content:"Menu";display:block;padding:4px 8px 7px;color:#78847c;font-size:9.5px;font-weight:850;letter-spacing:.1em;text-transform:uppercase}
    .so-site-nav__items{gap:3px}
    .so-nav-link,.so-nav-parent-link,.so-site-nav__single{min-height:44px;padding:0 12px;border:1px solid transparent;border-radius:10px;font-size:13px}
    .so-nav-link:hover,.so-nav-parent-link:hover,.so-has-submenu.is-open .so-nav-parent-link{border-color:#dce7df;background:#f5f8f6}
    .so-nav-parent-link{padding-right:50px}
    .so-submenu-toggle{width:48px!important;height:44px!important}
    .so-submenu{margin:2px 0 7px;padding:8px!important;border:1px solid #e3ebe5!important;border-radius:10px!important;background:#f7faf8!important}
    .so-submenu__head{min-height:36px;padding:2px 4px 8px!important}
    .so-submenu__head strong{font-size:11.5px!important}.so-submenu__head a{font-size:9.5px!important}
    .so-submenu__links{grid-template-columns:1fr!important;gap:5px!important;padding-top:7px!important}
    .so-submenu__column{display:flex!important;min-width:0!important;flex-direction:column!important;gap:5px!important}
    .so-submenu__links a{min-height:40px!important;padding:7px 9px!important;border:1px solid #e3ebe5;border-radius:8px;background:#fff;font-size:11px!important}
    .so-site-nav__single{margin-top:5px;border-color:#aac0af;background:#f7faf8;color:var(--so-green-dark)!important}
}
@media(max-width:430px){
    .so-site-header__top{width:calc(100% - 20px)}
    .so-site-header__brand{max-width:132px}
    .so-site-header__brand .custom-logo,.so-plugin-logo__image,.so-site-header__brand img{max-width:132px!important;max-height:45px!important}
    .so-header-action{padding-inline:3px!important}
    .so-submenu__links{grid-template-columns:1fr!important}
    .so-submenu__links a{min-height:42px!important}
}
@media(max-width:370px){
    .so-site-header__brand{max-width:116px}
    .so-site-header__brand .custom-logo,.so-plugin-logo__image,.so-site-header__brand img{max-width:116px!important}
    .so-site-search input[type=search]{font-size:12px!important}
    .so-header-cart__count{position:absolute!important;right:-2px;top:0;min-width:17px!important;height:17px!important;padding:0 4px!important}
}


/* v0.26.1 — centered, viewport-clamped, column-major category dropdowns. */
@media (min-width:821px){
    .so-has-submenu>.so-submenu{
        right:auto!important;
        width:min(calc(var(--so-submenu-cols,1) * 206px + 26px),calc(100vw - 28px))!important;
        max-width:calc(100vw - 28px)!important;
        min-width:min(250px,calc(100vw - 28px))!important;
        overflow-x:hidden!important;
        overflow-y:auto!important;
    }
    .so-submenu__links{
        display:grid!important;
        grid-template-columns:repeat(var(--so-submenu-cols,1),minmax(0,1fr))!important;
        grid-template-rows:none!important;
        grid-auto-flow:row!important;
        gap:0 10px!important;
        align-items:start!important;
    }
    .so-submenu__column{
        display:flex!important;
        min-width:0!important;
        flex-direction:column!important;
        gap:6px!important;
    }
    .so-submenu__links a{
        min-width:0!important;
        min-height:38px!important;
        white-space:normal!important;
    }
}

/* =========================================================
   v0.31.4 — readability pass + clearer Singles CTA
   ========================================================= */
.so-site-search input[type=search]{font-size:14px!important}
.so-header-action{min-height:44px;font-size:13px}
.so-nav-link,.so-nav-parent-link{min-height:40px;font-size:12.5px}
.so-submenu__head strong{font-size:12px!important}.so-submenu__head a{font-size:11.5px!important}
.so-submenu__links a{min-height:40px;font-size:12.5px!important}
.so-site-nav__single{
    min-height:40px;padding:0 14px;border:1px solid #9fbba6;border-radius:10px;
    background:#eef6f0;color:var(--so-green-dark)!important;font-size:12.5px;font-weight:800;
}
.so-site-nav__single:hover{border-color:#7fa18a;background:#e4f1e7;color:#173f2a!important}
@media(max-width:820px){
    .so-nav-link,.so-nav-parent-link,.so-site-nav__single{min-height:44px!important;font-size:13.5px!important}
    .so-submenu__head strong{font-size:12.5px!important}.so-submenu__head a{font-size:12px!important}
    .so-submenu__links a{min-height:44px!important;font-size:13px!important}
    .so-site-nav__single{justify-content:center;margin-top:8px;padding-inline:14px!important}
}
@media(max-width:430px){.so-header-action{min-height:44px;font-size:12.5px}.so-site-search input[type=search]{font-size:13.5px!important}}


/* =========================================================
   v0.31.7 — Singles is a first-class navigation item
   ========================================================= */
.so-site-nav__single{
    min-width:0!important;
    margin:0!important;
    border:1px solid transparent!important;
    border-radius:8px!important;
    background:transparent!important;
    color:#273029!important;
    font:inherit!important;
    font-size:inherit!important;
    font-weight:inherit!important;
    box-shadow:none!important;
}
.so-site-nav__single:hover,
.so-site-nav__single:focus-visible{
    border-color:#e5ece7!important;
    background:#f5f8f6!important;
    color:var(--so-green-dark)!important;
    box-shadow:none!important;
}
.so-site-nav__single span{
    margin-left:3px;
    font-size:.9em;
    font-weight:600;
    opacity:.62;
}
@media(max-width:820px){
    .so-site-nav__single{
        width:100%!important;
        min-height:44px!important;
        margin:0!important;
        padding:0 10px!important;
        justify-content:flex-start!important;
        border-color:transparent!important;
        background:transparent!important;
    }
}


/* =========================================================
   v0.31.8 — Singles accent, native menu proportions
   Same geometry/typography as category links, inverse colors.
   ========================================================= */
.so-site-nav__single{
    min-width:0!important;
    min-height:40px!important;
    margin:0!important;
    padding:0 8px!important;
    border:1px solid var(--so-green)!important;
    border-radius:8px!important;
    background:var(--so-green)!important;
    color:#fff!important;
    font-family:var(--so-font-body)!important;
    font-size:12.5px!important;
    font-weight:700!important;
    line-height:1!important;
    box-shadow:none!important;
}
.so-site-nav__single:hover,
.so-site-nav__single:focus-visible{
    border-color:var(--so-green-dark)!important;
    background:var(--so-green-dark)!important;
    color:#fff!important;
    box-shadow:none!important;
}
.so-site-nav__single span{
    margin-left:3px!important;
    color:inherit!important;
    font-size:.9em!important;
    font-weight:600!important;
    opacity:.82!important;
}
@media(max-width:1280px) and (min-width:821px){
    .so-site-nav__single{
        min-height:40px!important;
        padding:0 6px!important;
        font-size:12.5px!important;
    }
}
@media(max-width:820px){
    .so-site-nav__single{
        width:100%!important;
        min-height:44px!important;
        margin:0!important;
        padding:0 12px!important;
        justify-content:flex-start!important;
        border-color:var(--so-green)!important;
        border-radius:10px!important;
        background:var(--so-green)!important;
        color:#fff!important;
        font-size:13.5px!important;
        font-weight:700!important;
    }
    .so-site-nav__single:hover,
    .so-site-nav__single:focus-visible{
        border-color:var(--so-green-dark)!important;
        background:var(--so-green-dark)!important;
        color:#fff!important;
    }
}


/* =========================================================
   v0.31.9 — keep Singles in the dedicated right-hand slot
   ========================================================= */
@media(min-width:821px){
    .so-site-nav__single{
        grid-column:2!important;
        justify-self:end!important;
        align-self:center!important;
        flex:0 0 auto!important;
    }
}

/* =====================================================================
   v0.32.2 — deterministic navigation slots + inline nested taxonomy
   ---------------------------------------------------------------------
   Desktop tree rule: a root dropdown contains only its first-level list.
   Deeper children appear inline below the hovered/focused item, never in a
   viewport-dependent side flyout. This prevents clipping and broken columns.
   ===================================================================== */
@media (min-width:821px){
    .so-site-nav{
        display:grid!important;
        grid-template-columns:minmax(0,1fr) auto!important;
        align-items:center!important;
        column-gap:clamp(12px,1.4vw,24px)!important;
        overflow:visible!important;
    }
    .so-site-nav__items{
        display:grid!important;
        grid-template-columns:repeat(var(--so-nav-count,1),minmax(max-content,1fr))!important;
        width:100%!important;
        min-width:0!important;
        align-items:stretch!important;
        gap:0!important;
    }
    .so-site-nav__items>.so-nav-link,
    .so-site-nav__items>.so-nav-item{
        width:100%!important;
        min-width:0!important;
        max-width:none!important;
        margin:0!important;
        justify-self:stretch!important;
    }
    .so-site-nav__items>.so-nav-item>.so-nav-parent{
        display:flex!important;
        width:100%!important;
        height:100%!important;
    }
    .so-site-nav__items>.so-nav-link,
    .so-site-nav__items>.so-nav-item>.so-nav-parent>.so-nav-parent-link{
        display:flex!important;
        width:100%!important;
        min-width:0!important;
        min-height:44px!important;
        align-items:center!important;
        justify-content:center!important;
        padding-inline:clamp(5px,.62vw,11px)!important;
        font-family:var(--so-font-body)!important;
        font-size:clamp(12.5px,.76vw,14px)!important;
        font-weight:700!important;
        line-height:1.12!important;
        text-align:center!important;
        white-space:nowrap!important;
    }
    .so-site-nav__items>.so-nav-item>.so-nav-parent>.so-nav-parent-link{
        padding-right:clamp(20px,1.45vw,25px)!important;
    }
    .so-site-nav__items--compact>.so-nav-link,
    .so-site-nav__items--compact>.so-nav-item>.so-nav-parent>.so-nav-parent-link{
        font-size:12.5px!important;
        padding-left:5px!important;
        padding-right:5px!important;
    }
    .so-site-nav__items--compact>.so-nav-item>.so-nav-parent>.so-nav-parent-link{padding-right:21px!important}
    .so-site-nav__items--dense>.so-nav-link,
    .so-site-nav__items--dense>.so-nav-item>.so-nav-parent>.so-nav-parent-link{
        font-size:11.75px!important;
        padding-left:3px!important;
        padding-right:3px!important;
    }
    .so-site-nav__items--dense>.so-nav-item>.so-nav-parent>.so-nav-parent-link{padding-right:19px!important}
    .so-site-nav__single{
        grid-column:2!important;
        justify-self:end!important;
        align-self:center!important;
        min-height:44px!important;
        padding-inline:13px!important;
        font-family:var(--so-font-body)!important;
        font-size:clamp(12.5px,.76vw,14px)!important;
        font-weight:700!important;
    }

    /* Root dropdown. JS only clamps its viewport position/width. */
    .so-submenu--cascade{
        width:min(500px,calc(100vw - 28px))!important;
        min-width:min(420px,calc(100vw - 28px))!important;
        max-width:min(500px,calc(100vw - 28px))!important;
        max-height:min(72vh,680px)!important;
        overflow-x:hidden!important;
        overflow-y:auto!important;
        padding:13px!important;
        overscroll-behavior:contain!important;
    }
    .so-submenu--cascade .so-submenu__head{
        position:sticky!important;
        top:-13px!important;
        z-index:4!important;
        margin:0 0 8px!important;
        padding:13px 4px 10px!important;
        background:#fff!important;
    }
    .so-submenu--cascade .so-submenu__head strong{font-size:14px!important}
    .so-submenu--cascade .so-submenu__head a{font-size:12.5px!important;font-weight:750!important}
    .so-submenu__tree{
        display:block!important;
        width:100%!important;
        min-height:0!important;
        overflow:visible!important;
        border-top:1px solid #e7ede8!important;
    }
    .so-submenu__level-one{
        display:flex!important;
        width:100%!important;
        max-height:none!important;
        flex-direction:column!important;
        gap:3px!important;
        overflow:visible!important;
        padding:8px 0 2px!important;
        border:0!important;
    }
    .so-nav-tree-item{
        position:relative!important;
        display:block!important;
        width:100%!important;
        min-width:0!important;
    }
    .so-nav-tree-row{
        display:flex!important;
        width:100%!important;
        align-items:stretch!important;
    }
    .so-nav-tree-link{
        display:flex!important;
        width:100%!important;
        min-width:0!important;
        min-height:42px!important;
        align-items:center!important;
        justify-content:space-between!important;
        gap:12px!important;
        padding:9px 11px!important;
        border:1px solid transparent!important;
        border-radius:9px!important;
        background:transparent!important;
        color:#27322b!important;
        font-size:13.5px!important;
        font-weight:650!important;
        line-height:1.25!important;
        text-decoration:none!important;
        white-space:normal!important;
        word-break:normal!important;
        overflow-wrap:break-word!important;
    }
    .so-nav-tree-item.has-children>.so-nav-tree-row>.so-nav-tree-link{font-weight:700!important}
    .so-nav-tree-item:hover>.so-nav-tree-row>.so-nav-tree-link,
    .so-nav-tree-item:focus-within>.so-nav-tree-row>.so-nav-tree-link{
        border-color:#dbe7de!important;
        background:#f3f7f4!important;
        color:var(--so-green-dark)!important;
    }
    .so-nav-tree-toggle{display:none!important}
    .so-submenu__link-arrow{
        flex:0 0 auto!important;
        color:#78877d!important;
        font-size:17px!important;
        line-height:1!important;
    }

    /* Deeper tree stays INSIDE the root dropdown. No side flyout. */
    .so-nav-tree-panel{
        position:static!important;
        inset:auto!important;
        display:none!important;
        width:auto!important;
        max-width:none!important;
        max-height:none!important;
        margin:4px 0 10px 12px!important;
        padding:9px 10px 10px!important;
        overflow:visible!important;
        border:0!important;
        border-left:2px solid #c9daca!important;
        border-radius:0 9px 9px 0!important;
        background:#f8faf8!important;
        box-shadow:none!important;
        z-index:auto!important;
    }
    .so-nav-tree-item.has-children:hover>.so-nav-tree-panel,
    .so-nav-tree-item.has-children:focus-within>.so-nav-tree-panel{
        display:block!important;
    }
    .so-nav-tree-panel__head{
        position:static!important;
        display:flex!important;
        min-height:36px!important;
        align-items:center!important;
        justify-content:space-between!important;
        gap:10px!important;
        margin:0 0 8px!important;
        padding:1px 2px 7px!important;
        border-bottom:1px solid #e1e9e3!important;
        background:transparent!important;
    }
    .so-nav-tree-panel__head strong{
        min-width:0!important;
        color:#26372d!important;
        font-size:13px!important;
        font-weight:750!important;
        line-height:1.25!important;
    }
    .so-nav-tree-panel__head a{
        flex:0 0 auto!important;
        color:var(--so-green-dark)!important;
        font-size:11.75px!important;
        font-weight:750!important;
        text-decoration:none!important;
    }
    .so-nav-tree-panel__grid{
        display:grid!important;
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:7px!important;
        align-items:start!important;
    }
    .so-nav-tree-group{
        min-width:0!important;
        padding:9px 10px!important;
        border:1px solid #e1e9e3!important;
        border-radius:9px!important;
        background:#fff!important;
    }
    .so-nav-tree-group__title{
        display:block!important;
        min-width:0!important;
        color:#26372d!important;
        font-size:12.75px!important;
        font-weight:725!important;
        line-height:1.3!important;
        text-decoration:none!important;
        white-space:normal!important;
        word-break:normal!important;
        overflow-wrap:break-word!important;
    }
    .so-nav-tree-group__children{
        display:flex!important;
        min-width:0!important;
        flex-direction:column!important;
        gap:5px!important;
        margin-top:7px!important;
    }
    .so-nav-tree-group__children a{
        min-width:0!important;
        color:#637168!important;
        font-size:12px!important;
        font-weight:550!important;
        line-height:1.3!important;
        text-decoration:none!important;
        white-space:normal!important;
        word-break:normal!important;
        overflow-wrap:break-word!important;
    }
    .so-nav-tree-group a:hover{
        color:var(--so-green)!important;
        text-decoration:underline!important;
        text-underline-offset:2px!important;
    }
}

@media (min-width:821px) and (max-width:1220px){
    .so-site-nav__items>.so-nav-link,
    .so-site-nav__items>.so-nav-item>.so-nav-parent>.so-nav-parent-link,
    .so-site-nav__single{font-size:11.75px!important}
    .so-site-nav__items>.so-nav-link{padding-inline:3px!important}
    .so-site-nav__items>.so-nav-item>.so-nav-parent>.so-nav-parent-link{padding-left:3px!important;padding-right:19px!important}
    .so-submenu--cascade{
        width:min(450px,calc(100vw - 24px))!important;
        min-width:min(380px,calc(100vw - 24px))!important;
        max-width:min(450px,calc(100vw - 24px))!important;
    }
}

@media (max-width:820px){
    .so-submenu--cascade{
        width:auto!important;
        min-width:0!important;
        max-width:none!important;
        max-height:none!important;
        overflow:visible!important;
    }
    .so-submenu--cascade .so-submenu__head{position:static!important;margin:0!important;padding:2px 4px 8px!important}
    .so-submenu__tree{display:block!important;width:100%!important;overflow:visible!important;border-top:1px solid #e3ebe5!important}
    .so-submenu__level-one{display:grid!important;width:100%!important;gap:5px!important;padding:7px 0 0!important;overflow:visible!important}
    .so-nav-tree-item{position:relative!important;width:100%!important}
    .so-nav-tree-row{display:grid!important;grid-template-columns:minmax(0,1fr) 44px!important;gap:4px!important;width:100%!important}
    .so-nav-tree-item:not(.has-children)>.so-nav-tree-row{grid-template-columns:1fr!important}
    .so-nav-tree-link{
        display:flex!important;
        min-width:0!important;
        min-height:44px!important;
        align-items:center!important;
        justify-content:space-between!important;
        gap:8px!important;
        padding:8px 10px!important;
        border:1px solid #e3ebe5!important;
        border-radius:8px!important;
        background:#fff!important;
        color:#26322b!important;
        font-size:13px!important;
        font-weight:650!important;
        line-height:1.25!important;
        text-decoration:none!important;
        white-space:normal!important;
    }
    .so-nav-tree-toggle{
        display:grid!important;
        width:44px!important;
        height:44px!important;
        place-items:center!important;
        margin:0!important;
        padding:0!important;
        border:1px solid #dbe6de!important;
        border-radius:8px!important;
        background:#f5f8f6!important;
        color:#31563e!important;
    }
    .so-nav-tree-toggle span{transition:transform .16s ease}
    .so-nav-tree-item.is-tree-open>.so-nav-tree-row .so-nav-tree-toggle span{transform:rotate(180deg)}
    .so-nav-tree-panel{
        position:static!important;
        display:none!important;
        width:auto!important;
        max-width:none!important;
        max-height:none!important;
        margin:5px 0 5px 10px!important;
        padding:8px!important;
        overflow:visible!important;
        border:0!important;
        border-left:2px solid #cbdccd!important;
        border-radius:0 8px 8px 0!important;
        background:#f8faf8!important;
        box-shadow:none!important;
    }
    .so-nav-tree-item.is-tree-open>.so-nav-tree-panel{display:block!important}
    .so-nav-tree-panel__head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;margin:0 0 7px!important;padding-bottom:6px!important;border-bottom:1px solid #e1e9e3!important}
    .so-nav-tree-panel__head strong{font-size:12.5px!important}.so-nav-tree-panel__head a{font-size:12px!important;color:var(--so-green-dark)!important;text-decoration:none!important}
    .so-nav-tree-panel__grid{display:grid!important;grid-template-columns:1fr!important;gap:6px!important}
    .so-nav-tree-group{min-width:0!important;padding:9px!important;border:1px solid #e2e9e4!important;border-radius:8px!important;background:#fff!important}
    .so-nav-tree-group__title{font-size:13px!important;font-weight:700!important;color:#27382e!important;text-decoration:none!important;overflow-wrap:break-word!important}
    .so-nav-tree-group__children{display:flex!important;flex-direction:column!important;gap:5px!important;margin-top:6px!important}
    .so-nav-tree-group__children a{font-size:12.5px!important;color:#647168!important;text-decoration:none!important;overflow-wrap:break-word!important}
}



/* =========================================================
   v0.32.4 — bounded adaptive desktop taxonomy dropdowns
   ========================================================= */
@media (min-width:821px){
    /* Inline width from navigation.js is authoritative. These values are safe
       fallbacks before JS positioning runs and prevent legacy mega-menu widths. */
    .so-submenu--cascade{
        width:min(620px,calc(100vw - 32px))!important;
        min-width:min(540px,calc(100vw - 32px))!important;
        max-width:min(680px,calc(100vw - 32px))!important;
        max-height:min(68vh,620px)!important;
    }
    .so-submenu--cascade .so-nav-tree-panel{
        margin-left:10px!important;
        margin-right:2px!important;
        padding:10px 11px 11px!important;
    }
    .so-submenu--cascade .so-nav-tree-panel__grid{
        grid-template-columns:repeat(2,minmax(190px,1fr))!important;
        gap:8px!important;
    }
    .so-submenu--cascade .so-nav-tree-group{
        padding:10px 12px!important;
    }
    .so-submenu--cascade .so-nav-tree-group__title{
        font-size:13px!important;
        line-height:1.28!important;
        overflow-wrap:normal!important;
        word-break:normal!important;
        hyphens:none!important;
    }
}
@media (min-width:821px) and (max-width:1040px){
    .so-submenu--cascade{
        min-width:min(500px,calc(100vw - 24px))!important;
        max-width:min(610px,calc(100vw - 24px))!important;
    }
    .so-submenu--cascade .so-nav-tree-panel__grid{
        grid-template-columns:repeat(2,minmax(165px,1fr))!important;
    }
}


/* =========================================================
   v0.32.5 — hard-bounded dropdowns + stable nested columns
   The 0.32.4 grid could overflow because card padding was added outside
   minmax() track widths, and unequal card heights stretched whole grid rows.
   ========================================================= */
@media (min-width:821px){
    #straganui-nav .so-submenu,
    #straganui-nav .so-submenu *,
    #straganui-nav .so-submenu *::before,
    #straganui-nav .so-submenu *::after{box-sizing:border-box!important}

    #straganui-nav .so-submenu{
        min-width:0!important;
        max-width:calc(100vw - 28px)!important;
        max-height:min(66vh,560px)!important;
        overflow-x:hidden!important;
        overflow-y:auto!important;
        contain:layout paint;
    }
    #straganui-nav .so-submenu--cascade{
        width:min(470px,calc(100vw - 28px))!important;
        min-width:0!important;
        max-width:min(500px,calc(100vw - 28px))!important;
        padding:10px!important;
    }
    #straganui-nav .so-submenu--cascade .so-submenu__head{
        top:-10px!important;
        margin-bottom:5px!important;
        padding:10px 4px 9px!important;
    }
    #straganui-nav .so-submenu__tree,
    #straganui-nav .so-submenu__level-one,
    #straganui-nav .so-nav-tree-item,
    #straganui-nav .so-nav-tree-row,
    #straganui-nav .so-nav-tree-panel,
    #straganui-nav .so-nav-tree-panel__grid,
    #straganui-nav .so-nav-tree-group{min-width:0!important;max-width:100%!important}

    #straganui-nav .so-submenu__level-one{
        display:flex!important;
        flex-direction:column!important;
        gap:3px!important;
        width:100%!important;
    }
    #straganui-nav .so-nav-tree-link{width:100%!important;max-width:100%!important}

    /* Only JS-selected branch is expanded. Pure :hover no longer forces panels
       open while the pointer crosses between rows. */
    #straganui-nav .so-nav-tree-item.has-children>.so-nav-tree-panel,
    #straganui-nav .so-nav-tree-item.has-children:hover>.so-nav-tree-panel,
    #straganui-nav .so-nav-tree-item.has-children:focus-within>.so-nav-tree-panel{
        display:none!important;
    }
    #straganui-nav .so-nav-tree-item.has-children.is-tree-open>.so-nav-tree-panel{
        display:block!important;
    }
    #straganui-nav .so-nav-tree-panel{
        width:calc(100% - 8px)!important;
        margin:4px 0 8px 8px!important;
        padding:8px 9px 9px!important;
        overflow:hidden!important;
        border-left-width:2px!important;
    }
    #straganui-nav .so-nav-tree-panel__head{width:100%!important}

    /* Column layout behaves like masonry: a tall item in the right column does
       not create a giant blank row under the shorter item on the left. */
    #straganui-nav .so-nav-tree-panel__grid{
        display:block!important;
        width:100%!important;
        column-count:2!important;
        column-gap:8px!important;
    }
    #straganui-nav .so-nav-tree-panel--onecol .so-nav-tree-panel__grid{column-count:1!important}
    #straganui-nav .so-nav-tree-group{
        display:inline-block!important;
        width:100%!important;
        margin:0 0 8px!important;
        padding:9px 10px!important;
        break-inside:avoid!important;
        page-break-inside:avoid!important;
        vertical-align:top!important;
    }
    #straganui-nav .so-nav-tree-group__title,
    #straganui-nav .so-nav-tree-group__children,
    #straganui-nav .so-nav-tree-group__children a{max-width:100%!important;overflow-wrap:break-word!important}

    /* Simple dropdowns never grow to 3+ columns. */
    #straganui-nav .so-submenu:not(.so-submenu--cascade) .so-submenu__links{
        grid-template-columns:repeat(var(--so-submenu-cols,1),minmax(0,1fr))!important;
        gap:5px!important;
    }
    #straganui-nav .so-submenu__column{min-width:0!important;width:100%!important}
}
@media (min-width:821px) and (max-width:1050px){
    #straganui-nav .so-submenu--cascade{max-width:min(470px,calc(100vw - 24px))!important}
    #straganui-nav .so-nav-tree-panel__grid{column-count:2!important}
}
@media (max-width:820px){
    #straganui-nav .so-submenu,
    #straganui-nav .so-submenu *{box-sizing:border-box!important}
    #straganui-nav .so-nav-tree-panel__grid{display:grid!important;grid-template-columns:1fr!important;column-count:auto!important}
    #straganui-nav .so-nav-tree-group{display:block!important;width:100%!important;margin:0!important}
}

/* =========================================================
   v0.32.6 — root list on hover, nested taxonomy on click
   Hovering a main category reveals every first-level category without a
   scrollbar. Deeper panels are explicit click-to-expand accordions.
   ========================================================= */
@media (min-width:821px){
    #straganui-nav .so-submenu--cascade{
        contain:none!important;
        min-width:0!important;
        max-width:min(520px,calc(100vw - 28px))!important;
        padding:10px!important;
        overflow-x:hidden!important;
    }
    #straganui-nav .so-submenu--cascade:not(.has-tree-open){
        max-height:none!important;
        overflow-y:visible!important;
    }
    #straganui-nav .so-submenu--cascade.has-tree-open{
        max-height:min(72vh,640px)!important;
        overflow-y:auto!important;
    }
    #straganui-nav .so-submenu--cascade.so-submenu--top-onecol{
        width:min(360px,calc(100vw - 28px))!important;
    }
    #straganui-nav .so-submenu--cascade.so-submenu--top-twocol,
    #straganui-nav .so-submenu--cascade.has-tree-open{
        width:min(520px,calc(100vw - 28px))!important;
    }
    #straganui-nav .so-submenu--cascade .so-submenu__level-one{
        display:grid!important;
        grid-template-columns:1fr!important;
        align-items:start!important;
        gap:5px 8px!important;
        width:100%!important;
        padding-top:7px!important;
        overflow:visible!important;
    }
    #straganui-nav .so-submenu--cascade.so-submenu--top-twocol:not(.has-tree-open) .so-submenu__level-one{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }
    #straganui-nav .so-nav-tree-item{
        display:block!important;
        width:100%!important;
        min-width:0!important;
        margin:0!important;
    }
    #straganui-nav .so-nav-tree-item.is-tree-open{
        grid-column:1 / -1!important;
    }
    #straganui-nav .so-nav-tree-row{
        display:block!important;
        width:100%!important;
        min-width:0!important;
    }
    #straganui-nav .so-nav-tree-link{
        width:100%!important;
        min-height:40px!important;
        padding:8px 10px!important;
        border:1px solid transparent!important;
        border-radius:8px!important;
        cursor:pointer!important;
    }
    #straganui-nav .so-nav-tree-item.has-children>.so-nav-tree-row>.so-nav-tree-link:hover,
    #straganui-nav .so-nav-tree-item.has-children>.so-nav-tree-row>.so-nav-tree-link:focus-visible,
    #straganui-nav .so-nav-tree-item.is-tree-open>.so-nav-tree-row>.so-nav-tree-link{
        border-color:#dbe7de!important;
        background:#f3f7f4!important;
        color:var(--so-green-dark)!important;
    }
    #straganui-nav .so-nav-tree-toggle{display:none!important}
    #straganui-nav .so-nav-tree-item.has-children>.so-nav-tree-panel,
    #straganui-nav .so-nav-tree-item.has-children:hover>.so-nav-tree-panel,
    #straganui-nav .so-nav-tree-item.has-children:focus-within>.so-nav-tree-panel{
        display:none!important;
    }
    #straganui-nav .so-nav-tree-item.has-children.is-tree-open>.so-nav-tree-panel{
        display:block!important;
    }
    #straganui-nav .so-nav-tree-panel{
        width:100%!important;
        max-width:100%!important;
        margin:6px 0 9px!important;
        padding:9px 10px 10px!important;
        overflow:hidden!important;
        border:0!important;
        border-left:2px solid #c9daca!important;
        border-radius:0 9px 9px 0!important;
        background:#f8faf8!important;
    }
    #straganui-nav .so-nav-tree-panel__grid{
        width:100%!important;
        max-width:100%!important;
        column-count:2!important;
        column-gap:8px!important;
    }
    #straganui-nav .so-nav-tree-panel--onecol .so-nav-tree-panel__grid{column-count:1!important}
}

/* =========================================================
   v0.32.7 — horizontal master/detail desktop taxonomy menu
   Root hover shows every first-level category without scrolling. Clicking a
   first-level category opens its descendants in a fixed panel to the right,
   so the user never has to chase an accordion anchor down the dropdown.
   ========================================================= */
@media (min-width:821px){
    #straganui-nav .so-submenu--cascade{
        contain:none!important;
        min-width:0!important;
        max-width:calc(100vw - 28px)!important;
        max-height:none!important;
        overflow:visible!important;
        padding:10px!important;
    }
    #straganui-nav .so-submenu--cascade.so-submenu--top-onecol{
        width:min(360px,calc(100vw - 28px))!important;
    }
    #straganui-nav .so-submenu--cascade.so-submenu--top-twocol:not(.has-tree-open){
        width:min(520px,calc(100vw - 28px))!important;
    }
    #straganui-nav .so-submenu--cascade.has-tree-open{
        width:min(760px,calc(100vw - 28px))!important;
        max-width:min(760px,calc(100vw - 28px))!important;
    }
    #straganui-nav .so-submenu--cascade .so-submenu__head{
        position:relative!important;
        top:auto!important;
        margin:0 0 5px!important;
        padding:2px 4px 9px!important;
        background:#fff!important;
    }
    #straganui-nav .so-submenu--cascade .so-submenu__tree{
        position:relative!important;
        display:block!important;
        width:100%!important;
        min-width:0!important;
        overflow:visible!important;
    }
    #straganui-nav .so-submenu--cascade .so-submenu__level-one{
        display:grid!important;
        grid-template-columns:1fr!important;
        align-items:start!important;
        gap:5px 8px!important;
        width:100%!important;
        max-width:100%!important;
        padding-top:7px!important;
        overflow:visible!important;
    }
    #straganui-nav .so-submenu--cascade.so-submenu--top-twocol:not(.has-tree-open) .so-submenu__level-one{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }
    #straganui-nav .so-submenu--cascade.has-tree-open .so-submenu__level-one{
        width:350px!important;
        max-width:350px!important;
        padding-right:10px!important;
        border-right:1px solid #e3ebe5!important;
    }
    #straganui-nav .so-submenu--cascade.has-tree-open.so-submenu--top-twocol .so-submenu__level-one{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }
    #straganui-nav .so-nav-tree-item,
    #straganui-nav .so-nav-tree-item.is-tree-open{
        grid-column:auto!important;
        min-width:0!important;
        width:100%!important;
        margin:0!important;
    }
    #straganui-nav .so-nav-tree-row{width:100%!important;min-width:0!important}
    #straganui-nav .so-nav-tree-link{
        width:100%!important;
        min-width:0!important;
        min-height:40px!important;
        padding:8px 10px!important;
        border:1px solid transparent!important;
        border-radius:8px!important;
        white-space:normal!important;
        cursor:pointer!important;
    }
    #straganui-nav .so-nav-tree-item.has-children>.so-nav-tree-row>.so-nav-tree-link:hover,
    #straganui-nav .so-nav-tree-item.has-children>.so-nav-tree-row>.so-nav-tree-link:focus-visible,
    #straganui-nav .so-nav-tree-item.is-tree-open>.so-nav-tree-row>.so-nav-tree-link{
        border-color:#dbe7de!important;
        background:#f3f7f4!important;
        color:var(--so-green-dark)!important;
    }
    #straganui-nav .so-nav-tree-toggle{display:none!important}

    /* Detail pane is horizontal, not an accordion below the clicked row. */
    #straganui-nav .so-nav-tree-item.has-children>.so-nav-tree-panel,
    #straganui-nav .so-nav-tree-item.has-children:hover>.so-nav-tree-panel,
    #straganui-nav .so-nav-tree-item.has-children:focus-within>.so-nav-tree-panel{
        display:none!important;
    }
    #straganui-nav .so-nav-tree-item.has-children.is-tree-open>.so-nav-tree-panel{
        display:block!important;
    }
    #straganui-nav .so-nav-tree-panel{
        position:absolute!important;
        top:7px!important;
        left:366px!important;
        z-index:4!important;
        width:calc(100% - 366px)!important;
        max-width:none!important;
        max-height:min(58vh,520px)!important;
        margin:0!important;
        padding:10px 11px 11px!important;
        overflow-x:hidden!important;
        overflow-y:auto!important;
        border:1px solid #e1e9e3!important;
        border-radius:10px!important;
        background:#f8faf8!important;
        box-shadow:none!important;
    }
    #straganui-nav .so-nav-tree-panel__head{
        position:sticky!important;
        top:-10px!important;
        z-index:2!important;
        margin:0 0 8px!important;
        padding:9px 2px 8px!important;
        background:#f8faf8!important;
        border-bottom:1px solid #e1e9e3!important;
    }
    #straganui-nav .so-nav-tree-panel__grid{
        display:block!important;
        width:100%!important;
        max-width:100%!important;
        column-count:2!important;
        column-gap:8px!important;
    }
    #straganui-nav .so-nav-tree-panel--onecol .so-nav-tree-panel__grid{column-count:1!important}
    #straganui-nav .so-nav-tree-group{
        display:inline-block!important;
        width:100%!important;
        margin:0 0 8px!important;
        padding:9px 10px!important;
        break-inside:avoid!important;
        vertical-align:top!important;
    }
}

@media (min-width:821px) and (max-width:980px){
    #straganui-nav .so-submenu--cascade.has-tree-open{
        width:min(720px,calc(100vw - 24px))!important;
        max-width:min(720px,calc(100vw - 24px))!important;
    }
    #straganui-nav .so-submenu--cascade.has-tree-open .so-submenu__level-one{
        width:320px!important;
        max-width:320px!important;
    }
    #straganui-nav .so-nav-tree-panel{
        left:336px!important;
        width:calc(100% - 336px)!important;
    }
}

/* =========================================================
   v0.32.8 — stable click-to-open master/detail taxonomy menu
   The root list stays compact on hover. Only after an explicit click do we
   reveal a real sibling detail pane. Original nested panels remain source-only.
   ========================================================= */
@media (min-width:821px){
    #straganui-nav .so-submenu--cascade{
        contain:none!important;
        max-height:none!important;
        overflow:visible!important;
        padding:10px!important;
    }
    #straganui-nav .so-submenu--cascade .so-submenu__tree{
        position:relative!important;
        display:block!important;
        width:100%!important;
        min-width:0!important;
        min-height:0!important;
        overflow:visible!important;
    }
    #straganui-nav .so-submenu--cascade .so-submenu__level-one{
        display:grid!important;
        grid-template-columns:1fr!important;
        gap:5px 8px!important;
        width:100%!important;
        max-width:100%!important;
        padding:7px 0 0!important;
        border:0!important;
        overflow:visible!important;
    }
    #straganui-nav .so-submenu--cascade.so-submenu--top-twocol:not(.has-tree-open) .so-submenu__level-one{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }
    #straganui-nav .so-submenu--cascade.has-tree-open .so-submenu__tree{
        display:grid!important;
        grid-template-columns:minmax(245px,280px) minmax(0,1fr)!important;
        column-gap:12px!important;
        align-items:start!important;
    }
    #straganui-nav .so-submenu--cascade.has-tree-open .so-submenu__level-one{
        grid-column:1!important;
        grid-template-columns:1fr!important;
        width:100%!important;
        max-width:none!important;
        padding:7px 12px 0 0!important;
        border-right:1px solid #e3ebe5!important;
    }
    #straganui-nav .so-nav-tree-item,
    #straganui-nav .so-nav-tree-item.is-tree-open{
        position:static!important;
        width:100%!important;
        min-width:0!important;
        max-width:100%!important;
        margin:0!important;
    }
    #straganui-nav .so-nav-tree-row{width:100%!important;min-width:0!important}
    #straganui-nav .so-nav-tree-link{
        width:100%!important;
        min-width:0!important;
        min-height:40px!important;
        padding:8px 10px!important;
        border:1px solid transparent!important;
        border-radius:8px!important;
        white-space:normal!important;
        overflow-wrap:anywhere!important;
        cursor:pointer!important;
    }
    #straganui-nav .so-nav-tree-item.has-children>.so-nav-tree-row>.so-nav-tree-link:hover,
    #straganui-nav .so-nav-tree-item.has-children>.so-nav-tree-row>.so-nav-tree-link:focus-visible,
    #straganui-nav .so-nav-tree-item.is-tree-open>.so-nav-tree-row>.so-nav-tree-link{
        border-color:#dbe7de!important;
        background:#f3f7f4!important;
        color:var(--so-green-dark)!important;
    }
    #straganui-nav .so-nav-tree-toggle{display:none!important}

    /* Source panels stay hidden in their items; JS mirrors the selected one. */
    #straganui-nav .so-submenu--cascade .so-nav-tree-panel,
    #straganui-nav .so-submenu--cascade .so-nav-tree-item.is-tree-open>.so-nav-tree-panel{
        display:none!important;
        position:static!important;
        width:auto!important;
        height:auto!important;
        margin:0!important;
        padding:0!important;
        overflow:visible!important;
        border:0!important;
        box-shadow:none!important;
    }
    #straganui-nav .so-submenu__detail-host[hidden]{display:none!important}
    #straganui-nav .so-submenu--cascade.has-tree-open .so-submenu__detail-host:not([hidden]){
        grid-column:2!important;
        display:block!important;
        min-width:0!important;
        width:100%!important;
        max-width:100%!important;
        max-height:min(62vh,500px)!important;
        padding:0 2px 2px 0!important;
        overflow-x:hidden!important;
        overflow-y:auto!important;
        background:#fff!important;
        scrollbar-gutter:stable;
    }
    #straganui-nav .so-submenu__detail-host .so-nav-tree-panel__head{
        position:sticky!important;
        top:0!important;
        z-index:2!important;
        display:flex!important;
        align-items:center!important;
        justify-content:space-between!important;
        gap:10px!important;
        margin:0 0 8px!important;
        padding:7px 4px 9px!important;
        border-bottom:1px solid #e1e9e3!important;
        background:#fff!important;
    }
    #straganui-nav .so-submenu__detail-host .so-nav-tree-panel__head strong{font-size:13px!important}
    #straganui-nav .so-submenu__detail-host .so-nav-tree-panel__head a{font-size:12px!important;color:var(--so-green-dark)!important;text-decoration:none!important;white-space:nowrap!important}
    #straganui-nav .so-submenu__detail-host .so-nav-tree-panel__grid{
        display:grid!important;
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:7px!important;
        width:100%!important;
        column-count:auto!important;
    }
    #straganui-nav .so-submenu__detail-host.is-onecol .so-nav-tree-panel__grid{grid-template-columns:1fr!important}
    #straganui-nav .so-submenu__detail-host .so-nav-tree-group{
        display:block!important;
        width:100%!important;
        min-width:0!important;
        margin:0!important;
        padding:9px 10px!important;
        border:1px solid #e2e9e4!important;
        border-radius:8px!important;
        background:#fff!important;
        break-inside:auto!important;
    }
    #straganui-nav .so-submenu__detail-host .so-nav-tree-group__title{
        display:block!important;
        min-width:0!important;
        font-size:12.5px!important;
        font-weight:700!important;
        line-height:1.25!important;
        color:#27382e!important;
        text-decoration:none!important;
        overflow-wrap:anywhere!important;
    }
    #straganui-nav .so-submenu__detail-host .so-nav-tree-group__children{
        display:flex!important;
        flex-direction:column!important;
        gap:5px!important;
        margin-top:7px!important;
    }
    #straganui-nav .so-submenu__detail-host .so-nav-tree-group__children a{
        font-size:12px!important;
        line-height:1.25!important;
        color:#647168!important;
        text-decoration:none!important;
        overflow-wrap:anywhere!important;
    }
}
@media (min-width:821px) and (max-width:980px){
    #straganui-nav .so-submenu--cascade.has-tree-open .so-submenu__tree{
        grid-template-columns:minmax(220px,255px) minmax(0,1fr)!important;
        column-gap:10px!important;
    }
}


/* =========================================================
   v0.32.9 — equal taxonomy tiles + clean pointer-leave reset
   Keep the stable v0.32.8 master/detail interaction, but make every visible
   master tile geometrically identical. Detail cards use fixed compact rows
   unless they actually contain another nested list.
   ========================================================= */
@media (min-width:821px){
    /* First-level category cards: equal dimensions in both columns. */
    #straganui-nav .so-submenu--cascade .so-submenu__level-one{
        grid-auto-rows:56px!important;
        align-items:stretch!important;
    }
    #straganui-nav .so-submenu--cascade .so-submenu__level-one>.so-nav-tree-item,
    #straganui-nav .so-submenu--cascade .so-submenu__level-one>.so-nav-tree-item.is-tree-open{
        height:56px!important;
        min-height:56px!important;
        max-height:56px!important;
        align-self:stretch!important;
    }
    #straganui-nav .so-submenu--cascade .so-submenu__level-one>.so-nav-tree-item>.so-nav-tree-row{
        height:100%!important;
        min-height:0!important;
    }
    #straganui-nav .so-submenu--cascade .so-submenu__level-one>.so-nav-tree-item>.so-nav-tree-row>.so-nav-tree-link{
        display:flex!important;
        width:100%!important;
        height:100%!important;
        min-height:0!important;
        align-items:center!important;
        justify-content:space-between!important;
        gap:10px!important;
        padding:0 13px!important;
        border:1px solid #e1e9e3!important;
        border-radius:10px!important;
        background:#fff!important;
        box-sizing:border-box!important;
        line-height:1.2!important;
    }
    #straganui-nav .so-submenu--cascade .so-submenu__level-one>.so-nav-tree-item>.so-nav-tree-row>.so-nav-tree-link>span:first-child{
        display:-webkit-box!important;
        min-width:0!important;
        overflow:hidden!important;
        -webkit-box-orient:vertical!important;
        -webkit-line-clamp:2!important;
    }
    #straganui-nav .so-submenu--cascade .so-submenu__level-one>.so-nav-tree-item.has-children>.so-nav-tree-row>.so-nav-tree-link:hover,
    #straganui-nav .so-submenu--cascade .so-submenu__level-one>.so-nav-tree-item.has-children>.so-nav-tree-row>.so-nav-tree-link:focus-visible,
    #straganui-nav .so-submenu--cascade .so-submenu__level-one>.so-nav-tree-item.is-tree-open>.so-nav-tree-row>.so-nav-tree-link{
        border-color:#cfddd3!important;
        background:#f2f7f3!important;
    }

    /* Detail tiles: identical compact size for leaf categories. */
    #straganui-nav .so-submenu__detail-host .so-nav-tree-panel__grid{
        align-items:stretch!important;
        grid-auto-flow:row!important;
        grid-auto-rows:minmax(64px,auto)!important;
    }
    #straganui-nav .so-submenu__detail-host .so-nav-tree-group:not(.has-children){
        display:flex!important;
        height:64px!important;
        min-height:64px!important;
        max-height:64px!important;
        align-items:center!important;
        padding:0 12px!important;
        box-sizing:border-box!important;
    }
    #straganui-nav .so-submenu__detail-host .so-nav-tree-group:not(.has-children) .so-nav-tree-group__title{
        display:-webkit-box!important;
        width:100%!important;
        overflow:hidden!important;
        -webkit-box-orient:vertical!important;
        -webkit-line-clamp:2!important;
        line-height:1.25!important;
    }

    /* When a pointer-driven interaction has ended, stale focus must not keep
       a cascade menu visually alive after JS has reset its geometry. */
    #straganui-nav .so-has-submenu.so-pointer-left:not(.is-open)>.so-submenu--cascade{
        opacity:0!important;
        visibility:hidden!important;
        pointer-events:none!important;
        transform:translateY(5px)!important;
    }
}

/* =========================================================
   v0.33.0 — static TCG mega menu
   Desktop navigation is intentionally state-light: one hover/focus opens one
   fixed mega panel. No nested flyouts, no click-expanding desktop branches,
   no dynamic width changes and no internal menu scrollbars.
   ========================================================= */
@media (min-width:821px){
    #straganui-nav{
        position:relative!important;
        min-height:50px!important;
        gap:14px!important;
    }
    #straganui-nav .so-site-nav__items{
        display:flex!important;
        width:100%!important;
        min-width:0!important;
        flex:1 1 auto!important;
        flex-wrap:nowrap!important;
        align-items:center!important;
        justify-content:space-between!important;
        gap:3px!important;
        overflow:visible!important;
    }
    #straganui-nav .so-site-nav__items>.so-nav-link,
    #straganui-nav .so-site-nav__items>.so-nav-item{
        flex:0 1 auto!important;
        min-width:0!important;
    }
    #straganui-nav .so-nav-link,
    #straganui-nav .so-nav-parent-link,
    #straganui-nav .so-site-nav__single{
        min-height:36px!important;
        padding:0 9px!important;
        border:0!important;
        border-radius:7px!important;
        background:transparent!important;
        color:#273029!important;
        font-size:12.5px!important;
        font-weight:700!important;
        line-height:1!important;
        letter-spacing:0!important;
        text-decoration:none!important;
        white-space:nowrap!important;
        box-shadow:none!important;
    }
    #straganui-nav .so-nav-parent-link{
        gap:5px!important;
        padding-right:25px!important;
    }
    #straganui-nav .so-nav-link:hover,
    #straganui-nav .so-nav-link:focus-visible,
    #straganui-nav .so-nav-parent-link:hover,
    #straganui-nav .so-nav-parent-link:focus-visible,
    #straganui-nav .so-has-mega:hover>.so-nav-parent .so-nav-parent-link,
    #straganui-nav .so-has-mega:focus-within>.so-nav-parent .so-nav-parent-link{
        background:#f3f7f4!important;
        color:var(--so-green-dark)!important;
        outline:0!important;
    }
    #straganui-nav .so-nav-chevron{
        right:8px!important;
        width:11px!important;
        height:11px!important;
        opacity:.58!important;
        transition:transform .14s ease,opacity .14s ease!important;
    }
    #straganui-nav .so-has-mega:hover .so-nav-chevron,
    #straganui-nav .so-has-mega:focus-within .so-nav-chevron{
        opacity:.9!important;
        transform:translateY(-50%) rotate(180deg)!important;
    }
    #straganui-nav .so-has-mega{
        position:static!important;
    }
    #straganui-nav .so-has-mega>.so-nav-parent{
        position:relative!important;
        display:inline-flex!important;
        align-items:center!important;
    }
    #straganui-nav .so-has-mega .so-submenu-toggle{
        display:none!important;
    }

    /* The Single shortcut keeps the accent, but matches the geometry and type
       of every other top-level navigation item. */
    #straganui-nav .so-site-nav__single{
        min-width:auto!important;
        align-self:center!important;
        justify-content:center!important;
        padding:0 13px!important;
        border:1px solid var(--so-green)!important;
        background:var(--so-green)!important;
        color:#fff!important;
    }
    #straganui-nav .so-site-nav__single:hover,
    #straganui-nav .so-site-nav__single:focus-visible{
        border-color:var(--so-green-dark)!important;
        background:var(--so-green-dark)!important;
        color:#fff!important;
    }

    /* One stable panel for every root category. The nearest positioned ancestor
       is the full nav, not the individual label, so right-side categories can
       never push the dropdown beyond the viewport. */
    #straganui-nav .so-mega-menu{
        position:absolute!important;
        left:50%!important;
        top:calc(100% + 3px)!important;
        z-index:10030!important;
        width:min(var(--so-mega-width,980px),calc(100vw - 40px))!important;
        max-width:min(var(--so-mega-width,980px),calc(100vw - 40px))!important;
        margin:0!important;
        padding:0!important;
        border:1px solid #dce5df!important;
        border-radius:10px!important;
        background:#fff!important;
        box-shadow:0 18px 38px rgba(18,44,28,.13)!important;
        box-sizing:border-box!important;
        opacity:0!important;
        visibility:hidden!important;
        pointer-events:none!important;
        overflow:visible!important;
        transform:translate(-50%,7px)!important;
        transition:opacity .12s ease,transform .12s ease,visibility .12s ease!important;
    }
    #straganui-nav .so-has-mega:hover>.so-mega-menu,
    #straganui-nav .so-has-mega:focus-within>.so-mega-menu{
        opacity:1!important;
        visibility:visible!important;
        pointer-events:auto!important;
        transform:translate(-50%,0)!important;
    }
    #straganui-nav .so-mega-menu__header{
        display:flex!important;
        min-height:50px!important;
        align-items:center!important;
        justify-content:space-between!important;
        gap:18px!important;
        padding:0 20px!important;
        border-bottom:1px solid #e8eeea!important;
    }
    #straganui-nav .so-mega-menu__header>strong{
        color:#1f2c24!important;
        font-size:14px!important;
        font-weight:800!important;
        line-height:1.2!important;
    }
    #straganui-nav .so-mega-menu__header>a{
        color:var(--so-green-dark)!important;
        font-size:11.5px!important;
        font-weight:750!important;
        line-height:1!important;
        text-decoration:none!important;
        white-space:nowrap!important;
    }
    #straganui-nav .so-mega-menu__header>a:hover,
    #straganui-nav .so-mega-menu__header>a:focus-visible{
        text-decoration:underline!important;
        text-underline-offset:3px!important;
        outline:0!important;
    }
    #straganui-nav .so-mega-menu__body{
        padding:18px 20px 19px!important;
    }
    #straganui-nav .so-mega-menu__groups{
        display:grid!important;
        grid-template-columns:repeat(var(--so-mega-cols),minmax(0,1fr))!important;
        gap:22px 28px!important;
        align-items:start!important;
    }
    #straganui-nav .so-mega-group{
        min-width:0!important;
        margin:0!important;
        padding:0!important;
        border:0!important;
        background:transparent!important;
    }
    #straganui-nav .so-mega-group__title{
        display:block!important;
        min-width:0!important;
        margin:0 0 7px!important;
        padding:0 0 7px!important;
        border-bottom:1px solid #e4ebe6!important;
        color:#213128!important;
        font-size:12.75px!important;
        font-weight:800!important;
        line-height:1.25!important;
        text-decoration:none!important;
        overflow-wrap:anywhere!important;
    }
    #straganui-nav .so-mega-group__title:hover,
    #straganui-nav .so-mega-group__title:focus-visible{
        color:var(--so-green-dark)!important;
        border-bottom-color:#b9cdbf!important;
        outline:0!important;
    }
    #straganui-nav .so-mega-group__links{
        display:grid!important;
        grid-template-columns:1fr!important;
        gap:1px!important;
    }
    #straganui-nav .so-mega-group__links>a,
    #straganui-nav .so-mega-direct__links>a{
        display:block!important;
        min-width:0!important;
        padding:4px 0!important;
        border:0!important;
        border-radius:0!important;
        background:transparent!important;
        color:#56645b!important;
        font-size:11.75px!important;
        font-weight:560!important;
        line-height:1.3!important;
        text-decoration:none!important;
        overflow-wrap:anywhere!important;
    }
    #straganui-nav .so-mega-group__links>a:hover,
    #straganui-nav .so-mega-group__links>a:focus-visible,
    #straganui-nav .so-mega-direct__links>a:hover,
    #straganui-nav .so-mega-direct__links>a:focus-visible{
        color:var(--so-green-dark)!important;
        text-decoration:underline!important;
        text-underline-offset:3px!important;
        outline:0!important;
    }
    #straganui-nav .so-mega-group__all{
        display:inline-block!important;
        margin-top:7px!important;
        color:var(--so-green-dark)!important;
        font-size:11px!important;
        font-weight:750!important;
        line-height:1.2!important;
        text-decoration:none!important;
    }
    #straganui-nav .so-mega-group__all:hover,
    #straganui-nav .so-mega-group__all:focus-visible{
        text-decoration:underline!important;
        text-underline-offset:3px!important;
        outline:0!important;
    }
    #straganui-nav .so-mega-direct{
        margin-top:17px!important;
        padding-top:15px!important;
        border-top:1px solid #e8eeea!important;
    }
    #straganui-nav .so-mega-direct--only{
        margin-top:0!important;
        padding-top:0!important;
        border-top:0!important;
    }
    #straganui-nav .so-mega-direct__title{
        display:block!important;
        margin:0 0 8px!important;
        color:#314239!important;
        font-size:11.5px!important;
        font-weight:800!important;
        line-height:1.2!important;
    }
    #straganui-nav .so-mega-direct__links{
        display:grid!important;
        grid-template-columns:repeat(var(--so-direct-cols),minmax(0,1fr))!important;
        gap:1px 26px!important;
    }
}

@media (min-width:821px) and (max-width:1280px){
    #straganui-nav{gap:8px!important}
    #straganui-nav .so-site-nav__items{gap:1px!important}
    #straganui-nav .so-nav-link,
    #straganui-nav .so-nav-parent-link,
    #straganui-nav .so-site-nav__single{
        padding-left:6px!important;
        padding-right:6px!important;
        font-size:11.35px!important;
    }
    #straganui-nav .so-nav-parent-link{padding-right:20px!important}
    #straganui-nav .so-nav-chevron{right:5px!important}
    #straganui-nav .so-site-nav__single{padding-inline:10px!important}
    #straganui-nav .so-mega-menu{width:min(var(--so-mega-width,900px),calc(100vw - 28px))!important;max-width:min(var(--so-mega-width,900px),calc(100vw - 28px))!important}
}

@media (max-width:820px){
    #straganui-nav .so-has-mega{
        position:relative!important;
        width:100%!important;
    }
    #straganui-nav .so-has-mega>.so-nav-parent{
        display:block!important;
        width:100%!important;
    }
    #straganui-nav .so-has-mega .so-submenu-toggle{
        display:block!important;
    }
    #straganui-nav .so-has-mega .so-nav-chevron{
        transition:transform .14s ease!important;
    }
    #straganui-nav .so-has-mega.is-open .so-nav-chevron{
        transform:translateY(-50%) rotate(180deg)!important;
    }
    #straganui-nav .so-mega-menu{
        position:static!important;
        display:none!important;
        width:100%!important;
        max-width:none!important;
        margin:0 0 5px!important;
        padding:0!important;
        border:0!important;
        border-radius:9px!important;
        background:#f7faf8!important;
        box-shadow:none!important;
        opacity:1!important;
        visibility:visible!important;
        pointer-events:auto!important;
        overflow:visible!important;
        transform:none!important;
        transition:none!important;
    }
    #straganui-nav .so-has-mega.is-open>.so-mega-menu{
        display:block!important;
    }
    #straganui-nav .so-mega-menu__header{
        display:flex!important;
        align-items:center!important;
        justify-content:space-between!important;
        gap:10px!important;
        padding:9px 10px 8px!important;
        border-bottom:1px solid #e4ebe6!important;
    }
    #straganui-nav .so-mega-menu__header>strong{
        color:#26362c!important;
        font-size:12px!important;
        font-weight:800!important;
    }
    #straganui-nav .so-mega-menu__header>a{
        color:var(--so-green-dark)!important;
        font-size:11px!important;
        font-weight:750!important;
        text-decoration:none!important;
    }
    #straganui-nav .so-mega-menu__body{
        padding:5px 10px 9px!important;
    }
    #straganui-nav .so-mega-menu__groups{
        display:grid!important;
        grid-template-columns:1fr!important;
        gap:0!important;
    }
    #straganui-nav .so-mega-group{
        padding:8px 0!important;
        border-bottom:1px solid #e8eeea!important;
    }
    #straganui-nav .so-mega-group__title{
        display:block!important;
        margin:0 0 5px!important;
        padding:0!important;
        border:0!important;
        color:#24352b!important;
        font-size:12.5px!important;
        font-weight:780!important;
        line-height:1.25!important;
        text-decoration:none!important;
    }
    #straganui-nav .so-mega-group__links{
        display:grid!important;
        grid-template-columns:1fr 1fr!important;
        gap:2px 12px!important;
    }
    #straganui-nav .so-mega-group__links>a,
    #straganui-nav .so-mega-direct__links>a{
        display:block!important;
        padding:4px 0!important;
        color:#5b675f!important;
        font-size:11.5px!important;
        font-weight:560!important;
        line-height:1.3!important;
        text-decoration:none!important;
    }
    #straganui-nav .so-mega-group__all{
        display:inline-block!important;
        margin-top:5px!important;
        color:var(--so-green-dark)!important;
        font-size:11px!important;
        font-weight:750!important;
        text-decoration:none!important;
    }
    #straganui-nav .so-mega-direct{
        margin-top:5px!important;
        padding-top:9px!important;
        border-top:1px solid #e4ebe6!important;
    }
    #straganui-nav .so-mega-direct--only{
        margin-top:0!important;
        border-top:0!important;
    }
    #straganui-nav .so-mega-direct__title{
        display:block!important;
        margin:0 0 5px!important;
        color:#34443a!important;
        font-size:11.5px!important;
        font-weight:800!important;
    }
    #straganui-nav .so-mega-direct__links{
        display:grid!important;
        grid-template-columns:1fr 1fr!important;
        gap:2px 12px!important;
    }
}


/* v0.33.2 — desktop hover corridor between the top-level label and static mega menu.
   The previous 3px visual gap was not a hit target: the parent lost :hover before the
   pointer reached the absolutely-positioned panel. Keep the visual separation via the
   panel border/shadow, but make the actual interactive boxes touch and add a transparent
   safety strip over the nav divider. */
@media (min-width:821px){
    #straganui-nav .so-mega-menu{
        top:100%!important;
    }
    #straganui-nav .so-mega-menu::before{
        content:"";
        position:absolute;
        left:0;
        right:0;
        top:-9px;
        height:10px;
        background:transparent;
        pointer-events:auto;
    }
    /* Keep the open panel stable while the cursor is on the transparent corridor itself. */
    #straganui-nav .so-has-mega:hover>.so-mega-menu,
    #straganui-nav .so-has-mega:focus-within>.so-mega-menu,
    #straganui-nav .so-mega-menu:hover{
        opacity:1!important;
        visibility:visible!important;
        pointer-events:auto!important;
        transform:translate(-50%,0)!important;
    }
}


/* =========================================================
   v0.33.3 — resilient desktop mega-menu hover handoff
   The panel overlaps the nav edge by 1px and can be held open by JS while the
   pointer crosses from the trigger into the centered panel. This avoids the
   classic dead-zone problem caused by an absolutely positioned mega menu.
   ========================================================= */
@media (min-width:821px){
    #straganui-nav .so-mega-menu{
        top:calc(100% - 1px)!important;
    }
    #straganui-nav .so-has-mega.is-mega-open>.so-mega-menu{
        opacity:1!important;
        visibility:visible!important;
        pointer-events:auto!important;
        transform:translate(-50%,0)!important;
    }
    #straganui-nav .so-has-mega.is-mega-open>.so-nav-parent .so-nav-parent-link{
        background:#f3f7f4!important;
        color:var(--so-green-dark)!important;
    }
    #straganui-nav .so-has-mega.is-mega-open .so-nav-chevron{
        opacity:.9!important;
        transform:translateY(-50%) rotate(180deg)!important;
    }
}
