/* tomasz 2026-10-31: Organize generated links within the existing responsive menu, retaining its colours and typography. */
.kqs-generated-menu{grid-column:1/-1;display:grid;grid-template-columns:minmax(110px,.7fr) minmax(300px,2.4fr) minmax(130px,.9fr) minmax(160px,1fr);gap:22px}.kqs-generated-menu-section>strong{display:block;margin-bottom:10px}.kqs-generated-menu ul{list-style:none;padding:0;margin:0}.kqs-generated-menu li{break-inside:avoid}.kqs-generated-menu-families ul{columns:2;column-gap:22px}.kqs-generated-menu-manufacturers ul{display:flex;flex-direction:column;gap:8px}.kqs-generated-menu-manufacturers a{display:flex;align-items:center;justify-content:center;width:100px;height:42px;min-height:42px;padding:0}.kqs-generated-menu-manufacturers img{display:block;width:100px;height:42px;max-width:100%;max-height:42px;object-fit:scale-down;object-position:center}.kqs-generated-menu-promotion{display:flex;flex-direction:column;gap:20px;align-items:center}.kqs-generated-menu-promotion img{max-width:100%;height:auto}.kqs-generated-menu-section p{margin:12px 0 0}@media(max-width:1100px){.kqs-generated-menu{grid-template-columns:minmax(110px,1fr) minmax(260px,2fr)}}@media(max-width:767px){.kqs-generated-menu{grid-template-columns:minmax(0,1fr)}.kqs-generated-menu-families ul{columns:1}.kqs-generated-menu-promotion img{max-width:260px}}

/* tomasz 2026-10-31: Keep the current laptop fallback aligned too; fixed image boxes never enlarge the source bitmap. */
#kqs-menu-panel-1>div:first-of-type>a{display:flex;align-items:center;justify-content:center;width:100px;height:42px;min-height:42px;margin:0 0 8px;padding:0}#kqs-menu-panel-1>div:first-of-type>a>img{display:block;width:100px;height:42px;max-width:100%;max-height:42px;object-fit:scale-down;object-position:center}#kqs-menu-panel-1>div:first-of-type>br{display:none}#kqs-menu-panel-1>div:first-of-type>span:first-child{display:block;margin-bottom:10px}

/* tomasz 2026-10-31: Compact full-row family links; widen their area before adding a third desktop column. */
.kqs-generated-menu-families li,.kqs-generated-menu-diagonals li{margin:0;padding:0}
.kqs-generated-menu-families li>a,.kqs-generated-menu-diagonals li>a{display:flex;align-items:center;width:100%;min-width:24px;min-height:28px;padding:3px 2px;line-height:1.4}
@media(min-width:1280px){.kqs-generated-menu{grid-template-columns:minmax(110px,.65fr) minmax(480px,3.4fr) minmax(110px,.75fr) minmax(150px,1fr);gap:16px}.kqs-generated-menu-families ul{columns:3;column-gap:18px}}
@media(max-width:767px){.kqs-generated-menu-families li>a,.kqs-generated-menu-diagonals li>a{min-height:40px;padding:8px 2px}}

/* tomasz 2026-10-31: A responsive 300x200 photo slot and live caption/button preview the replacement artwork. */
.kqs-generated-menu-promotion .kqs-menu-promo-card{display:flex;flex-direction:column;align-items:center;gap:10px;width:100%;max-width:300px;min-width:0;color:inherit;text-decoration:none}
.kqs-menu-promo-title{align-self:stretch;font-size:14px;line-height:1.35;text-align:left}
.kqs-menu-promo-photo{position:relative;display:block;width:100%;max-width:300px;aspect-ratio:3/2;overflow:hidden;background:#fff}
.kqs-menu-promo-photo img{display:block;width:100%;height:100%;max-width:100%;object-fit:contain;object-position:center}
/* tomasz 2026-10-31: Temporary PNG crop x10,y62,w246,h164; hide processor badges outside the device silhouette. */
.kqs-menu-promo-photo--legacy img{position:absolute;left:-4.065041%;top:-37.804878%;width:105.284553%;height:auto;max-width:none}
.kqs-menu-promo-photo--legacy:after{content:"";position:absolute;top:0;left:0;width:36.6%;height:32.4%;background:#fff;pointer-events:none}
.kqs-menu-promo-action{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:5px 18px;border-radius:4px;background:#d90020;color:#fff;font-weight:bold;line-height:1.4}
.kqs-menu-promo-card:hover .kqs-menu-promo-action{background:#b9001b}
/* tomasz 2026-11-01: Accessory product types use two compact columns; existing seven brand boxes and promotional artwork retain the shared dimensions. */
.kqs-generated-menu.kqs-generated-menu--akcesoria{grid-template-columns:100px minmax(360px,1fr) 260px;gap:24px}.kqs-generated-menu--akcesoria .kqs-generated-menu-categories ul{columns:2;column-gap:24px}.kqs-generated-menu--akcesoria .kqs-generated-menu-categories li>a{display:flex;align-items:center;width:100%;min-height:28px;padding:3px 2px;line-height:1.4}.kqs-menu-promo-photo--accessory-legacy{display:flex;align-items:center;justify-content:center}.kqs-menu-promo-photo--accessory-legacy>span{position:relative;display:block;width:90.401396%;max-width:259px;aspect-ratio:259/191;overflow:hidden}.kqs-menu-promo-photo--accessory-legacy>span>img{position:absolute;left:0;top:-15.706806%;width:100%;height:auto;max-width:none}
@media(min-width:1280px){.kqs-generated-menu.kqs-generated-menu--akcesoria{grid-template-columns:100px minmax(360px,1fr) 300px;gap:32px}}
@media(min-width:768px) and (max-width:1100px){.kqs-generated-menu.kqs-generated-menu--akcesoria{grid-template-columns:100px minmax(0,1fr);gap:24px}.kqs-generated-menu--akcesoria .kqs-generated-menu-promotion{grid-column:2}}
@media(max-width:767px){.kqs-generated-menu.kqs-generated-menu--akcesoria{grid-template-columns:minmax(0,1fr)}.kqs-generated-menu--akcesoria .kqs-generated-menu-categories ul{columns:1}.kqs-generated-menu--akcesoria .kqs-generated-menu-categories li>a{min-height:40px;padding:8px 2px}.kqs-generated-menu--akcesoria .kqs-generated-menu-manufacturers ul{flex-direction:row;flex-wrap:wrap;gap:12px}}
@media(min-width:1101px) and (max-width:1279px){.kqs-generated-menu{grid-template-columns:110px minmax(300px,1fr) 110px 260px;gap:16px}}
@media(min-width:1280px){.kqs-generated-menu{grid-template-columns:110px minmax(480px,1fr) 110px 300px}}

/* tomasz 2026-11-03: Follow the original 770x104 composition and concave sweep; keep the delivered shield and live accessible text. */
.kqs-menu-warranty{position:relative;isolation:isolate;grid-column:1/-1;min-width:0}
.kqs-menu-warranty:before{content:"";position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20770%20104%22%20preserveAspectRatio%3D%22none%22%3E%3Cdefs%3E%3ClinearGradient%20id%3D%22g%22%3E%3Cstop%20offset%3D%220.19%22%20stop-color%3D%22%232b4c6d%22%20stop-opacity%3D%220%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%232b4c6d%22%20stop-opacity%3D%22.94%22%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3Cpath%20d%3D%22M150%2082C430%2082%20680%2065%20770%200V82Z%22%20fill%3D%22url%28%23g%29%22%2F%3E%3C%2Fsvg%3E") right top/100% 104px no-repeat;z-index:-1;pointer-events:none}
.kqs-menu-warranty>.kqs-menu-warranty-link{position:relative;display:block;width:100%;min-width:0;min-height:82px;padding:0;color:inherit;text-decoration:none;font-family:Arial,sans-serif}
.kqs-menu-warranty-icon{position:absolute;left:var(--kqs-warranty-icon-left,88px);top:2px;display:block;width:84px;height:98px;overflow:hidden}
.kqs-menu-warranty-icon img{display:block;width:100%;height:100%;max-width:100%;object-fit:contain}
/* tomasz 2026-10-31: Temporary crop x12,y2,w84,h98 selects only the original shield, without altering the PNG. */
.kqs-menu-warranty-icon--legacy img{position:absolute;left:-14.285714%;top:-2.040816%;width:916.666667%;height:auto;max-width:none}
.kqs-menu-warranty-copy{display:contents;line-height:1.4}
.kqs-menu-warranty-copy strong{position:absolute;left:var(--kqs-warranty-copy-left,200px);top:18px;color:#426784;text-transform:uppercase;font-size:12px;font-weight:bold;line-height:1.4}
.kqs-menu-warranty-copy>span{position:absolute;left:var(--kqs-warranty-copy-left,200px);top:49px;max-width:calc(100% - var(--kqs-warranty-copy-left,200px) - 12px);color:#000;font-size:12px;font-weight:bold;line-height:1.4}
.kqs-menu-warranty-action{position:absolute;left:var(--kqs-warranty-action-left,383px);top:16px;display:inline-flex;align-items:center;justify-content:center;width:103px;min-height:26px;padding:3px 12px;border-radius:4px;background:#426784;color:#fff;font-size:12px;font-weight:bold;line-height:1.4}
.kqs-menu-warranty-link:hover .kqs-menu-warranty-action{background:#34536a}
@media(max-width:599px){.kqs-menu-warranty:before{background-size:100% 24px;background-position:right bottom}.kqs-menu-warranty>.kqs-menu-warranty-link{display:grid;grid-template-columns:64px minmax(0,1fr);gap:6px 12px;padding:8px 0 24px}.kqs-menu-warranty-icon{position:relative;left:auto;top:auto;grid-column:1;grid-row:1/4;width:64px;height:74.666667px}.kqs-menu-warranty-copy strong,.kqs-menu-warranty-copy>span,.kqs-menu-warranty-action{position:static;grid-column:2;max-width:100%}.kqs-menu-warranty-copy strong{grid-row:1}.kqs-menu-warranty-copy>span{grid-row:2}.kqs-menu-warranty-action{grid-row:3;justify-self:start;min-height:40px}}

/* tomasz 2026-10-31: Secondary laptop links use the available space below the promotional card. */
.kqs-menu-promo-shortcuts{display:grid;align-self:stretch;gap:4px;width:100%;max-width:300px}
.kqs-menu-promo-shortcuts>a{display:flex;align-items:center;width:100%;min-height:32px;line-height:1.4}
@media(max-width:767px){.kqs-menu-promo-shortcuts>a{min-height:40px}}

/* tomasz 2026-10-31: Keep the inch mark distinct from the number at the unchanged menu text size. */
.kqs-menu-inch-unit{margin-left:2px;font-size:16px;font-weight:600;line-height:1}

/* tomasz 2026-10-31: Tablets share the laptop rhythm; balanced text columns prevent large empty series/hardware areas. */
.kqs-generated-menu--tablety .kqs-generated-menu-families ul{columns:1}
.kqs-generated-menu-hardware{display:flex;flex-direction:column;gap:20px;min-width:0}
.kqs-generated-menu-processors li,.kqs-generated-menu-graphics li{margin:0;padding:0}
.kqs-generated-menu-processors li>a,.kqs-generated-menu-graphics li>a{display:flex;align-items:center;width:100%;min-width:24px;min-height:28px;padding:3px 2px;line-height:1.4}
@media(min-width:1101px){.kqs-generated-menu--tablety{grid-template-columns:minmax(110px,.85fr) minmax(140px,1fr) minmax(110px,.85fr) minmax(210px,1.3fr) 260px;gap:24px}}
@media(min-width:1280px){.kqs-generated-menu--tablety{grid-template-columns:minmax(110px,.85fr) minmax(140px,1fr) minmax(110px,.85fr) minmax(210px,1.3fr) 300px;column-gap:32px}}
@media(max-width:767px){.kqs-generated-menu-processors li>a,.kqs-generated-menu-graphics li>a{min-height:40px;padding:8px 2px}}

/* tomasz 2026-10-31: All-in-One reuses the accepted logo/link rhythm, with screen filters in one column. */
.kqs-generated-menu--aio .kqs-generated-menu-families ul{columns:1}
.kqs-generated-menu-screen{display:flex;flex-direction:column;gap:20px;min-width:0}
.kqs-generated-menu-resolutions li,.kqs-generated-menu-screen_types li{margin:0;padding:0}
.kqs-generated-menu-resolutions li>a,.kqs-generated-menu-screen_types li>a{display:flex;align-items:center;width:100%;min-width:24px;min-height:28px;padding:3px 2px;line-height:1.4}
@media(min-width:1101px){.kqs-generated-menu--aio{grid-template-columns:minmax(110px,.85fr) minmax(150px,1fr) minmax(150px,1.1fr) minmax(180px,1.15fr) 260px;gap:24px}}
@media(min-width:1280px){.kqs-generated-menu--aio{grid-template-columns:minmax(110px,.85fr) minmax(160px,1fr) minmax(180px,1.1fr) minmax(190px,1.15fr) 300px;column-gap:32px}}
@media(max-width:767px){.kqs-generated-menu-resolutions li>a,.kqs-generated-menu-screen_types li>a{min-height:40px;padding:8px 2px}}
/* tomasz 2026-10-31: Temporary device crop x6,y38,w246,h184 stays within source resolution and excludes the baked logo/button. */
.kqs-menu-promo-photo--aio-legacy{display:flex;align-items:center;justify-content:center}
.kqs-menu-promo-photo--aio-legacy>span{position:relative;display:block;width:100%;max-width:246px;aspect-ratio:246/184;overflow:hidden}
.kqs-menu-promo-photo--aio-legacy>span>img{position:absolute;left:-2.439024%;top:-20.652174%;width:105.284553%;height:auto;max-width:none}

/* tomasz 2026-10-31: Desktop families and CPUs use two columns; chassis and RAM stay adjacent instead of one tall stack. */
.kqs-generated-menu--desktopy .kqs-generated-menu-families ul,.kqs-generated-menu--desktopy .kqs-generated-menu-processors ul{columns:2;column-gap:16px}
.kqs-generated-menu-chassis{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-content:start;gap:14px}
.kqs-generated-menu-cases li,.kqs-generated-menu-memory li{margin:0;padding:0}
.kqs-generated-menu-cases li>a,.kqs-generated-menu-memory li>a{display:flex;align-items:center;width:100%;min-width:24px;min-height:28px;padding:3px 2px;line-height:1.4}
@media(min-width:1101px){.kqs-generated-menu--desktopy{grid-template-columns:110px minmax(240px,1.2fr) minmax(220px,1.1fr) minmax(150px,.8fr) 200px;gap:16px}}
@media(min-width:1280px){.kqs-generated-menu--desktopy{grid-template-columns:110px minmax(260px,1.2fr) minmax(240px,1.1fr) minmax(180px,.8fr) 260px;gap:24px}}
@media(min-width:1440px){.kqs-generated-menu--desktopy{grid-template-columns:110px minmax(280px,1.2fr) minmax(260px,1.1fr) minmax(190px,.8fr) 300px;column-gap:32px}}
@media(max-width:767px){.kqs-generated-menu--desktopy .kqs-generated-menu-families ul,.kqs-generated-menu--desktopy .kqs-generated-menu-processors ul{columns:1}.kqs-generated-menu-chassis{grid-template-columns:minmax(0,1fr);gap:20px}.kqs-generated-menu-cases li>a,.kqs-generated-menu-memory li>a{min-height:40px;padding:8px 2px}}
/* tomasz 2026-10-31: Temporary source-size crop x0,y28,w276,h190 omits the old CTA; mask the isolated logo above the devices. */
.kqs-menu-promo-photo--desktop-legacy{display:flex;align-items:center;justify-content:center}
.kqs-menu-promo-photo--desktop-legacy>span{position:relative;display:block;width:96.842105%;max-width:276px;aspect-ratio:276/190;overflow:hidden}
.kqs-menu-promo-photo--desktop-legacy>span>img{position:absolute;left:0;top:-14.736842%;width:100%;height:auto;max-width:none}
.kqs-menu-promo-photo--desktop-legacy>span:after{content:"";position:absolute;left:27%;top:0;width:18%;height:10%;background:#fff;pointer-events:none}

/* tomasz 2026-11-01: Give current workstation names room at the existing font size; reserve a second series column only where it fits. */
.kqs-generated-menu-workstation-catalog{display:flex;flex-direction:column;gap:20px;min-width:0}
.kqs-generated-menu--stacje-robocze .kqs-generated-menu-families ul{columns:1;column-gap:16px}
.kqs-generated-menu--stacje-robocze .kqs-generated-menu-graphics ul{columns:2;column-gap:16px}
@media(min-width:768px) and (max-width:1279px){.kqs-generated-menu--stacje-robocze{grid-template-columns:minmax(210px,1fr) minmax(420px,2fr);gap:22px}.kqs-generated-menu--stacje-robocze .kqs-generated-menu-families ul{columns:2}}
@media(min-width:1280px){.kqs-generated-menu--stacje-robocze{grid-template-columns:100px minmax(190px,1fr) minmax(190px,1fr) minmax(420px,2.2fr) 180px;gap:12px}}
@media(min-width:1600px){.kqs-generated-menu--stacje-robocze{grid-template-columns:100px minmax(190px,1fr) minmax(190px,1fr) minmax(420px,2.2fr) 220px}}
@media(min-width:2240px){.kqs-generated-menu--stacje-robocze{grid-template-columns:100px minmax(400px,1.8fr) minmax(190px,.8fr) minmax(420px,1.8fr) 260px}.kqs-generated-menu--stacje-robocze .kqs-generated-menu-families ul{columns:2}}
@media(max-width:767px){.kqs-generated-menu--stacje-robocze .kqs-generated-menu-families ul,.kqs-generated-menu--stacje-robocze .kqs-generated-menu-graphics ul{columns:1}}
/* tomasz 2026-10-31: Temporary x36,y24,w221,h198 crop contains only devices, without enlarging the original PNG. */
.kqs-menu-promo-photo--workstation-legacy{display:flex;align-items:center;justify-content:center}
.kqs-menu-promo-photo--workstation-legacy>span{position:relative;display:block;width:74.410774%;max-width:221px;aspect-ratio:221/198;overflow:hidden}
.kqs-menu-promo-photo--workstation-legacy>span>img{position:absolute;left:-16.289593%;top:-12.121212%;width:117.19457%;height:auto;max-width:none}

/* tomasz 2026-11-01: On very wide screens, fill the first workstation series column before using the second. */
@media(min-width:2240px){
 .kqs-generated-menu--stacje-robocze>.kqs-generated-menu-families{display:grid;grid-template-rows:auto 1fr;align-self:stretch}
 .kqs-generated-menu--stacje-robocze>.kqs-generated-menu-families>ul{height:100%;column-fill:auto}
}

/* tomasz 2026-11-03: Retain the shared 100x42 logo fields while fitting the delivered 2x originals inside them. */
.kqs-generated-menu-manufacturers img.kqs-artwork-logo,#kqs-menu-panel-1>div:first-of-type>a>img.kqs-artwork-logo{object-fit:contain;object-position:center}
.kqs-menu-panel>div:has(>.kqs-menu-warranty){grid-column:1/-1}

/* tomasz 2026-11-03: Keep the sweep flush with the panel edge and the shield outside its border; scroll only menu content when space permits. */
/* tomasz 2026-11-03: Remove the 1px pale bottom border left underneath the flush warranty sweep. */
.kqs-menu-panel.kqs-menu-panel--warranty{display:flex;flex-direction:column;min-height:0;padding:0;overflow:visible;border-bottom:0}
.kqs-menu-panel--warranty>.kqs-menu-scroll{flex:1 1 auto;min-height:0;overflow:auto;padding:24px;overscroll-behavior:contain}
.kqs-menu-panel--warranty>.kqs-menu-warranty{flex:0 0 82px;height:82px}
#kqs-menu-panel-1.kqs-menu-panel--warranty{--kqs-warranty-icon-left:123px;--kqs-warranty-copy-left:237px;--kqs-warranty-action-left:420px}
.kqs-menu-panel.kqs-menu-panel--warranty.kqs-menu-panel--short{display:block;overflow:auto;padding-bottom:18px}
.kqs-menu-panel--short>.kqs-menu-scroll{overflow:visible}
@media(max-width:767px){.kqs-menu-panel--warranty>.kqs-menu-scroll{padding:16px}}
@media(max-width:599px){.kqs-menu-panel--warranty>.kqs-menu-warranty{flex-basis:auto;height:auto}}
/* tomasz 2026-11-03: Preserve the existing laptop fallback logo fields through the new scroll wrapper too. */
#kqs-menu-panel-1>.kqs-menu-scroll>div:first-of-type>a{display:flex;align-items:center;justify-content:center;width:100px;height:42px;min-height:42px;margin:0 0 8px;padding:0}#kqs-menu-panel-1>.kqs-menu-scroll>div:first-of-type>a>img{display:block;width:100px;height:42px;max-width:100%;max-height:42px;object-fit:scale-down;object-position:center}#kqs-menu-panel-1>.kqs-menu-scroll>div:first-of-type>br{display:none}#kqs-menu-panel-1>.kqs-menu-scroll>div:first-of-type>span:first-child{display:block;margin-bottom:10px}
.kqs-menu-panel--warranty .kqs-menu-scroll>div:first-of-type>a>img.kqs-artwork-logo{object-fit:contain;object-position:center}
