/* Header menu: the same three-level composition as the categories page. */
.vsg-shop-categories-drawer { --vsg-shop-drawer-top: 0px; position: fixed; inset: var(--vsg-shop-drawer-top) 0 0; z-index: 2147482000; pointer-events: none; }
.vsg-shop-categories-drawer__backdrop { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: rgba(6,22,51,.32) !important; opacity: 0; pointer-events: none; transition: opacity .46s cubic-bezier(.22,.78,.18,1); }
.vsg-shop-categories-drawer.is-open { pointer-events: auto; }
.vsg-shop-categories-drawer.is-open .vsg-shop-categories-drawer__backdrop { opacity: 1; pointer-events: auto; }

/* Closed state leaves no permanent side rail over the shop. */
.vsg-categories-nav-rail-program--overlay .vsg-categories--header-menu { position: absolute; top: 0; left: 50%; z-index: 2; width: min(1600px, calc(100vw - 64px)); min-width: 0; min-height: 620px; max-height: min(650px, calc(100dvh - 32px)); margin: 0; visibility: hidden; opacity: 0; pointer-events: none; transform: translate(-50%, -18px); transition: opacity .46s cubic-bezier(.22,.78,.18,1), transform .46s cubic-bezier(.22,.78,.18,1), visibility 0s linear .46s; }
.vsg-categories-nav-rail-program--overlay.is-open .vsg-categories--header-menu { visibility: visible; opacity: 1; pointer-events: auto; transform: translate(-50%, 0); transition: opacity .46s cubic-bezier(.22,.78,.18,1), transform .46s cubic-bezier(.22,.78,.18,1); }

@media (min-width: 901px) {
    .vsg-categories-nav-rail-program--overlay .vsg-categories--header-menu.is-nav-expanded { display: grid; grid-template-columns: minmax(520px,35%) minmax(0,1fr); overflow: hidden !important; border: 1px solid #b6c7db !important; border-radius: 5px !important; background: #fff !important; box-shadow: 0 18px 44px rgba(7,26,61,.16), 0 4px 12px rgba(7,26,61,.08) !important; }
    .vsg-categories-nav-rail-program--overlay .vsg-categories--header-menu > .vsg-categories-nav { display: grid !important; grid-template-columns: 292px minmax(228px,1fr) !important; min-height: 620px; border: 0 !important; background: #061b3a !important; }
    .vsg-categories-nav-rail-program--overlay .vsg-categories--header-menu .vsg-categories-nav-rail { box-sizing: border-box; align-items: stretch; width: auto; min-width: 0; padding: 28px 16px; overflow-y: auto; background: #061b3a !important; }
    .vsg-categories-nav-rail-program--overlay .vsg-categories--header-menu .vsg-categories-nav-rail::before { display: block; margin: 0 0 14px; padding: 0 0 14px; border-bottom: 1px solid rgba(164,205,245,.3); color: #fff; font-size: 16px; font-weight: 800; letter-spacing: .02em; text-transform: uppercase; content: 'Wszystkie kategorie'; }
    .vsg-categories-nav-rail-program--overlay .vsg-categories--header-menu .vsg-categories-nav-catalog-icon { display: none !important; }
    .vsg-categories-nav-rail-program--overlay .vsg-categories--header-menu .vsg-categories-nav-list { align-items: stretch; gap: 3px; }
    .vsg-categories-nav-rail-program--overlay .vsg-categories--header-menu .vsg-categories-nav-button { display: grid; grid-template-columns: 26px minmax(0,1fr) auto 14px; column-gap: 10px; align-items: center; width: 100%; min-width: 0; min-height: 40px; padding: 7px 10px; border-radius: 4px; text-align: left; }
    .vsg-categories-nav-rail-program--overlay .vsg-categories--header-menu .vsg-categories-nav-name { position: static !important; display: block !important; width: auto !important; height: auto !important; margin: 0 !important; overflow: visible !important; clip: auto !important; clip-path: none !important; color: #eaf4ff !important; font-size: 15px !important; font-weight: 600 !important; line-height: 20px !important; text-align: left !important; white-space: normal !important; }
    .vsg-categories-nav-rail-program--overlay .vsg-categories--header-menu .vsg-categories-nav-count { color: #e6f3ff !important; font-size: 13px !important; font-weight: 800 !important; }
    .vsg-categories-nav-rail-program--overlay .vsg-categories--header-menu .vsg-categories-nav-extras { display: grid; gap: 3px; width: 100%; margin-top: 18px; padding-top: 15px; border-top: 1px solid rgba(164,205,245,.3); }
    .vsg-categories-nav-rail-program--overlay .vsg-categories--header-menu .vsg-categories-nav-extra, .vsg-categories-nav-rail-program--overlay .vsg-categories--header-menu .vsg-categories-nav-extra:visited { display: grid; grid-template-columns: 26px minmax(0,1fr) 12px; align-items: center; gap: 10px; min-height: 40px; padding: 6px 8px; border-radius: 4px; color: #eaf4ff; font-size: 14px; font-weight: 700; line-height: 1.2; text-decoration: none; }
    .vsg-categories-nav-rail-program--overlay .vsg-categories--header-menu .vsg-categories-nav-extra-icon { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; color: currentColor; }
    .vsg-categories-nav-rail-program--overlay .vsg-categories--header-menu .vsg-categories-nav-extra-icon svg { display: block; width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; }
    .vsg-categories-nav-rail-program--overlay .vsg-categories--header-menu .vsg-categories-nav-extra-arrow { color: #cde6ff; font-size: 21px; font-weight: 400; line-height: 1; }
    .vsg-categories-nav-rail-program--overlay .vsg-categories--header-menu .vsg-categories-nav-extra:hover, .vsg-categories-nav-rail-program--overlay .vsg-categories--header-menu .vsg-categories-nav-extra:focus-visible { outline: 0; background: rgba(20,125,231,.2); color: #fff; }
    .vsg-categories-nav-rail-program--overlay .vsg-categories--header-menu .vsg-categories-nav-extra--sale:hover, .vsg-categories-nav-rail-program--overlay .vsg-categories--header-menu .vsg-categories-nav-extra--sale:focus-visible { background: rgba(241,132,24,.24); color: #fff5e9; }
    .vsg-categories-nav-rail-program--overlay .vsg-categories--header-menu .vsg-categories-nav-extra--sale:hover .vsg-categories-nav-extra-icon, .vsg-categories-nav-rail-program--overlay .vsg-categories--header-menu .vsg-categories-nav-extra--sale:focus-visible .vsg-categories-nav-extra-icon { color: #ffb55c; }
    .vsg-categories-nav-rail-program--overlay .vsg-categories--header-menu .vsg-categories-nav-extra--sale .vsg-categories-nav-extra-icon svg { stroke-width: 2.05; }
    .vsg-categories-nav-rail-program--overlay .vsg-categories--header-menu .vsg-categories-nav-panels { display: block; box-sizing: border-box; width: 100%; transform: none; transition: opacity .3s ease, visibility .3s ease; scrollbar-gutter: stable; min-width: 0; padding: 24px 16px; overflow-y: auto; border: 0; border-left: 1px solid #d7e2ef; background: #f4f8fd !important; }
    .vsg-categories-nav-rail-program--overlay .vsg-categories--header-menu .vsg-categories-nav-heading { display: flex; width: 100%; min-height: 42px; padding: 0 12px; border: 0; border-radius: 4px; background: transparent; color: #17395f; font-size: 15px; font-weight: 800; text-align: left; }
    .vsg-categories-nav-rail-program--overlay .vsg-categories--header-menu .vsg-categories-nav-heading { position: relative; margin-bottom: 12px; padding-bottom: 10px; border-bottom: 1px solid #d7e3f0; }
    .vsg-categories-nav-rail-program--overlay .vsg-categories--header-menu .vsg-categories-nav-heading::after { position: absolute; bottom: -1px; left: 12px; display: block; width: 38px; height: 3px; background: #0877df; content: ''; }
    .vsg-categories-nav-rail-program--overlay .vsg-categories--header-menu .vsg-categories-nav-submenu { display: flex; flex-direction: column; gap: 2px; margin-top: 8px; }
    .vsg-categories-nav-rail-program--overlay .vsg-categories--header-menu .vsg-categories-nav-branch { display: grid; grid-template-columns: minmax(0,1fr) auto 12px; column-gap: 8px; align-items: center; width: 100%; min-height: 36px; padding: 6px 10px; border: 0; border-radius: 4px; background: transparent; color: #284867; font-size: 13px; font-weight: 600; line-height: 20px; text-align: left; }
    .vsg-categories-nav-rail-program--overlay .vsg-categories--header-menu .vsg-categories-nav-branch:hover, .vsg-categories-nav-rail-program--overlay .vsg-categories--header-menu .vsg-categories-nav-branch.is-active { background: #fff; color: #0877df; box-shadow: 0 3px 10px rgba(11,54,103,.08); }
    .vsg-categories-nav-rail-program--overlay .vsg-categories--header-menu .vsg-categories-catalog { min-width: 0; overflow-y: auto; background: #fff !important; }
    .vsg-categories-nav-rail-program--overlay .vsg-categories--header-menu .vsg-categories-catalog::before, .vsg-categories-nav-rail-program--overlay .vsg-categories--header-menu .vsg-categories-catalog::after, .vsg-categories-nav-rail-program--overlay .vsg-categories--header-menu .vsg-categories-catalog-backdrop, .vsg-categories-nav-rail-program--overlay .vsg-categories--header-menu .vsg-categories-catalog-backdrop-image { display: none !important; }
    .vsg-categories-nav-rail-program--overlay .vsg-categories--header-menu .vsg-categories-tile.has-image { grid-template-columns: 86px minmax(0,1fr); gap: 14px; min-height: 104px; padding: 12px 16px; overflow: visible; border: 1px solid #d7e4f2; border-radius: 6px; background: #fff; box-shadow: none; }
    .vsg-categories-nav-rail-program--overlay .vsg-categories--header-menu .vsg-categories-tile.has-image .vsg-categories-tile-media { width: 82px; min-width: 82px; height: 82px; padding: 0; border-radius: 6px; background: #fff; }
    .vsg-categories-nav-rail-program--overlay .vsg-categories--header-menu .vsg-categories-tile.has-image .vsg-categories-tile-image { width: 100%; max-width: 82px; height: 82px; max-height: 82px; object-fit: contain; }
    .vsg-categories-nav-rail-program--overlay .vsg-categories--header-menu .vsg-categories-tile.has-image .vsg-categories-tile-title { font-size: 16px; font-weight: 800; line-height: 1.18; white-space: normal; }
    .vsg-categories-nav-rail-program--overlay .vsg-categories--header-menu .vsg-categories-tile.has-image .vsg-categories-tile-description { margin-top: 5px; font-size: 13px; font-weight: 500; line-height: 1.35; }
}

@media (max-width: 900px) { .vsg-categories-nav-rail-program--overlay .vsg-categories--header-menu { top: 10px; width: calc(100vw - 20px); min-height: 0; max-height: calc(100dvh - 20px); overflow: auto; } }
