/* Only the shared GenerateBlocks navigation instance; no other menus. */
.gb-navigation.gb-navigation-2a8d2f3c { background-color:#20282c; }
.gb-navigation-2a8d2f3c .sp-nav-group-list { list-style:none; margin:0; padding:0; }
.gb-navigation-2a8d2f3c .sp-nav-panel .gb-menu-link:focus-visible {
    outline:2px solid var(--sp-red); outline-offset:-2px;
}
@media (min-width:769px) {
    /* Desktop main row only; submenu panels and mobile rules retain their design. */
    .gb-navigation-2a8d2f3c { width:100%; box-sizing:border-box; justify-content:center; background:#20282c; }
    .gb-navigation-2a8d2f3c > .gb-menu-container { background:transparent; color:#f3f4f5; }
    .gb-navigation-2a8d2f3c .sp-product-menu { justify-content:center; column-gap:4px; }
    .gb-navigation-2a8d2f3c .sp-product-menu > .gb-menu-item { background:transparent; }
    .gb-navigation-2a8d2f3c .sp-product-menu > .gb-menu-item > .gb-menu-link {
        min-height:40px; box-sizing:border-box; padding:9px 18px; column-gap:9px;
        color:#f3f4f5; background:transparent; border:0; border-radius:0;
        font:500 15px/22px var(--sp-heading); letter-spacing:.2px; text-decoration:none;
    }
    .gb-navigation-2a8d2f3c .sp-product-menu > .gb-menu-item > .gb-menu-link > .gb-submenu-toggle { width:16px; color:#bbc2c6; }
    .gb-navigation-2a8d2f3c .sp-product-menu > .gb-menu-item > .gb-menu-link > .gb-submenu-toggle > svg { width:9px; height:9px; }
    .gb-navigation-2a8d2f3c .sp-product-menu > .gb-menu-item:is(:hover,:focus-within,.gb-sub-menu--open,.current-menu-item,.current-menu-parent,.current-menu-ancestor) > .gb-menu-link {
        color:#fff; background:#171d20; box-shadow:inset 0 -2px var(--sp-red);
    }
    .gb-navigation-2a8d2f3c .sp-product-menu > .gb-menu-item > .gb-menu-link:focus-visible { outline:2px solid var(--sp-red); outline-offset:-2px; }
    .gb-navigation-2a8d2f3c { position:relative; z-index:100; }
    .gb-navigation-2a8d2f3c .sp-product-menu { position:relative; }
    .gb-navigation-2a8d2f3c .sp-nav-root > .sp-nav-panel {
        display:none; position:absolute; top:100%; left:50%; right:auto;
        transform:translateX(-50%); width:260px; max-width:calc(100vw - 32px);
        margin:0; padding:16px; box-sizing:border-box; background:#171d20;
        border:1px solid #343c40; border-top:2px solid var(--sp-red);
        box-shadow:0 14px 28px rgb(0 0 0 / 18%); color:#fff; z-index:101;
        text-align:left; line-height:1.4;
    }
    .gb-navigation-2a8d2f3c .sp-nav-root:is(:hover,.gb-sub-menu--open) > .sp-nav-panel { display:block; }
    .gb-navigation-2a8d2f3c .sp-nav-root:is(:hover,.gb-sub-menu--open) > .gb-menu-link { box-shadow:inset 0 -2px var(--sp-red); }
    .gb-navigation-2a8d2f3c .sp-nav-exterior { position:static; }
    .gb-navigation-2a8d2f3c .sp-nav-exterior > .sp-nav-panel { width:min(1080px,calc(100vw - 32px)); gap:24px; padding:22px; grid-template-columns:repeat(4,minmax(0,1fr)); }
    .gb-navigation-2a8d2f3c .sp-nav-pads > .sp-nav-panel { width:530px; gap:22px; grid-template-columns:repeat(2,minmax(0,1fr)); }
    .gb-navigation-2a8d2f3c .sp-nav-accessories > .sp-nav-panel { width:410px; left:auto; right:0; transform:none; gap:0 16px; grid-template-columns:repeat(2,minmax(0,1fr)); }
    .gb-navigation-2a8d2f3c :is(.sp-nav-exterior,.sp-nav-pads,.sp-nav-accessories):is(:hover,.gb-sub-menu--open) > .sp-nav-panel { display:grid; }
    .gb-navigation-2a8d2f3c .sp-nav-panel :is(.menu-item,.sp-nav-group) { background:transparent; border:0; color:#e3e6e8; min-width:0; list-style:none; margin:0; padding:0; font-weight:400; font-size:13px; line-height:1.4; }
    .gb-navigation-2a8d2f3c .sp-nav-group-title { display:block; margin:0 0 10px; padding:0 0 9px; border-bottom:1px solid #3b4246; color:#fff; font:500 16px/1.3 var(--sp-heading); text-transform:uppercase; }
    .gb-navigation-2a8d2f3c .sp-nav-panel .gb-menu-link { min-height:32px; padding:6px 7px; line-height:1.4; color:inherit; overflow-wrap:anywhere; }
    .gb-navigation-2a8d2f3c .sp-nav-panel .menu-item:is(:hover,:focus-within) { background:transparent; }
    .gb-navigation-2a8d2f3c .sp-nav-panel .gb-menu-link:is(:hover,:focus-visible) { background:#252d32; color:#fff; box-shadow:inset 2px 0 var(--sp-red); }
    /* Existing grandchildren remain in their lists, visible without side fly-outs. */
    .gb-navigation-2a8d2f3c .sp-nav-panel .gb-sub-menu { display:block; position:static; width:auto; margin:0 0 9px 7px; padding:0 0 0 8px; border-left:1px solid #454c50; background:transparent; transform:none; }
    .gb-navigation-2a8d2f3c .sp-nav-panel .gb-submenu-toggle { display:none; }
    .gb-navigation-2a8d2f3c .sp-nav-panel .menu-item-has-children > .gb-menu-link { color:#fff; font-weight:600; }
}
@media (min-width:769px) and (max-width:1023px) {
    .gb-navigation-2a8d2f3c .sp-nav-exterior > .sp-nav-panel { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 24px; padding:18px; }
}
@media (max-width:768px) {
    /* Flatten only the presentation groups; preserve the original mobile hierarchy. */
    .gb-navigation-2a8d2f3c :is(.sp-nav-group,.sp-nav-group-list) { display:contents; }
    .gb-navigation-2a8d2f3c .sp-nav-group-title { display:none; }
    .gb-navigation-2a8d2f3c .sp-nav-root.gb-sub-menu--open > .sp-nav-panel { display:flex; flex-direction:column; }
    .gb-navigation-2a8d2f3c .sp-nav-panel .menu-item { order:var(--sp-menu-order,0); border-bottom:1px solid #343c40; background:#171d20; color:#fff; line-height:1.4; }
    .gb-navigation-2a8d2f3c .sp-nav-panel .menu-item:is(:hover,:focus-within) { background:#252d32; }
    .gb-navigation-2a8d2f3c .sp-nav-root .gb-menu-link { min-height:44px; padding:8px 14px; box-sizing:border-box; line-height:1.4; overflow-wrap:anywhere; }
    .gb-navigation-2a8d2f3c .sp-nav-root .gb-submenu-toggle { width:44px; min-height:44px; flex-shrink:0; margin:-8px -14px -8px 4px; }
    .gb-navigation-2a8d2f3c .sp-nav-panel .gb-sub-menu .gb-menu-link { padding-left:28px; }
    .gb-navigation-2a8d2f3c .gb-menu-container--mobile { max-width:100vw; overflow-x:hidden; overscroll-behavior:contain; }
    /* Exteriör only: presentation groups become compact mobile accordions. */
    .gb-navigation-2a8d2f3c .sp-nav-exterior .sp-mobile-groups > .sp-nav-group { display:block; list-style:none; margin:0; padding:0; min-width:0; border-bottom:1px solid #343c40; background:#20282c; }
    .gb-navigation-2a8d2f3c .sp-nav-exterior .sp-mobile-groups .sp-nav-group-list { display:block; }
    .gb-navigation-2a8d2f3c .sp-nav-exterior .sp-mobile-groups .sp-nav-group-list[hidden] { display:none; }
    .gb-navigation-2a8d2f3c .sp-nav-exterior .sp-nav-group-toggle {
        display:flex; align-items:center; justify-content:space-between; gap:12px;
        width:100%; min-height:44px; margin:0; padding:10px 16px; box-sizing:border-box;
        border:0; border-radius:0; background:transparent; color:#f3f4f5;
        font:500 15px/1.4 var(--sp-heading); letter-spacing:.2px; text-transform:uppercase; text-align:left;
    }
    .gb-navigation-2a8d2f3c .sp-nav-exterior .sp-nav-group-toggle::after {
        content:""; width:7px; height:7px; flex-shrink:0; margin:0 3px 4px 0;
        border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg);
    }
    .gb-navigation-2a8d2f3c .sp-nav-exterior .sp-nav-group-toggle[aria-expanded="true"] { background:#293237; box-shadow:inset 2px 0 var(--sp-red); }
    .gb-navigation-2a8d2f3c .sp-nav-exterior .sp-nav-group-toggle[aria-expanded="true"]::after { transform:rotate(225deg); margin-bottom:-3px; }
    .gb-navigation-2a8d2f3c .sp-nav-exterior .sp-nav-group-toggle:focus-visible { outline:2px solid var(--sp-red); outline-offset:-2px; }
    .gb-navigation-2a8d2f3c .sp-nav-exterior .sp-mobile-groups .gb-menu-link { min-height:40px; padding:7px 14px 7px 24px; font-size:14px; font-weight:400; }
    .gb-navigation-2a8d2f3c .sp-nav-exterior .sp-mobile-groups .menu-item-has-children > .gb-menu-link { min-height:44px; font-weight:600; }
    .gb-navigation-2a8d2f3c .sp-nav-exterior .sp-mobile-groups .gb-sub-menu .gb-menu-link { padding-left:36px; }
    .gb-navigation-2a8d2f3c .sp-nav-exterior .sp-mobile-groups .gb-submenu-toggle { margin-top:-7px; margin-bottom:-7px; }
}

/* The two information sections remain compact dropdowns within the shared menu. */
@media (min-width:769px) {
    .gb-navigation-2a8d2f3c .sp-nav-information > .sp-nav-panel { left:auto; right:0; transform:none; }
}
/* Seven root choices must fit before the native mobile breakpoint. */
@media (min-width:769px) and (max-width:1024px) {
    .gb-navigation-2a8d2f3c .sp-product-menu { column-gap:0; }
    .gb-navigation-2a8d2f3c .sp-product-menu > .gb-menu-item > .gb-menu-link { padding-inline:10px; column-gap:5px; font-size:14px; }
}
