/* tomasz 2026-10-12: Scoped responsive pilot; legacy content remains inside its own column. */
/* tomasz 2026-11-03: Match the original surround colours; finish before the footer even on shorter pages. */
body { --kqs-surround-end: #4e718f; margin: 0; background: var(--kqs-surround-end); background-image: linear-gradient(to bottom, #fff 0%, #e8f1f8 33.333%, #a4bdd1 66.667%, var(--kqs-surround-end) 100%); background-size: 100% min(1755px, 75%); background-repeat: no-repeat; }
/* tomasz 2026-10-13: Release outer gutter space before squeezing content; keep the wide desktop proportions and mobile override. */
.kqs-front { --kqs-pad: clamp(14px, 1.5vw, 24px); --kqs-gap: clamp(12px, 1.25vw, 20px); --kqs-outer-gutter: clamp(12px, calc(38.75vw - 456px), 15vw); width: 70%; width: calc(100% - var(--kqs-outer-gutter) - var(--kqs-outer-gutter)); max-width: 1600px; margin: 0 auto; background: #fff; color: #263c4c; font: 14px/1.5 Arial, sans-serif; }
.kqs-front *, .kqs-front *:before, .kqs-front *:after { box-sizing: border-box; }
.kqs-front a { overflow-wrap: break-word; }
.kqs-front button, .kqs-front input { font: inherit; }
.kqs-front button { cursor: pointer; }
.kqs-front a:focus, .kqs-front button:focus, .kqs-front input:focus, .kqs-front summary:focus { outline: 3px solid #d48416; outline-offset: 3px; }
.kqs-front [hidden] { display: none !important; }
.kqs-skip { position: absolute; left: 12px; top: -100px; background: #fff; padding: 12px; z-index: 20; }
.kqs-skip:focus { top: 12px; }
/* tomasz 2026-10-31: Original shop identity with live contact details and responsive search/help blocks. */
/* tomasz 2026-11-03: The surround starts white; keep the rounded tab corners in that same colour. */
.kqs-tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; padding: 0; background: #fff; }
.kqs-tabs > span, .kqs-tabs > a { display: flex; justify-content: center; align-items: center; min-width: 0; min-height: 28px; padding: 2px 12px; border: 1px solid #242b30; border-bottom: 0; border-radius: 18px 18px 0 0; font: 15px/1.4 Tahoma, Arial, sans-serif; text-align: center; }
.kqs-tabs > span { background: #fff; color: #222; }
.kqs-tabs > a { background: linear-gradient(#606060, #080808 55%, #000); color: #fff; }
.kqs-top-links { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 18px; min-height: 32px; padding: 4px var(--kqs-pad); background: linear-gradient(#595959, #161616 60%, #090909); color: #fff; }
.kqs-top-links .gorne-linki, .kqs-top-links .kqs-account a { margin: 0 !important; color: #fff !important; font-size: 13px; }
.kqs-account { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; margin-left: auto; }
/* tomasz 2026-10-31: Use the original image's clean blue strip at the logo row's exact height, including on phones. */
.kqs-header { position: relative; isolation: isolate; display: grid; grid-template-columns: minmax(0, 500px) minmax(220px, 1fr); align-items: center; gap: 0 20px; padding: 0 var(--kqs-pad); background: #3f6280; }
.kqs-header:before { content: ''; grid-area: 1 / 1 / 2 / -1; align-self: stretch; margin: 0 calc(-1 * var(--kqs-pad)); background: url('../images2/top.jpg') 60% center / 1000% 100% no-repeat; z-index: -1; }
.kqs-brand { grid-area: 1 / 1 / 2 / 2; display: block; width: 100%; max-width: 100%; min-width: 0; margin: 0; overflow: hidden; }
.kqs-brand > a { display: block; }
.kqs-brand img { display: block; width: 197.8%; max-width: none; height: auto; margin-left: -5%; }
.kqs-header-contact { grid-area: 1 / 2 / 2 / 3; display: flex; flex-direction: column; align-items: flex-end; min-width: 0; color: #fff; font-size: 17px; line-height: 1.3; text-align: right; }
.kqs-header-contact a { color: #fff; }
.kqs-header-contact a:hover { text-decoration: underline; }
.kqs-discovery { position: relative; isolation: isolate; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 28px; padding: 14px var(--kqs-pad); background: #111; color: #fff; }
/* tomasz 2026-11-03: Use the supplied clean keyboard background without the legacy label-removal crop; the phone override stays disabled. */
.kqs-discovery:before { content: ''; position: absolute; inset: 0; z-index: -1; background: url('../images2/wyszukiwanie-tlo.webp') center / cover no-repeat; opacity: .7; pointer-events: none; }
.kqs-discovery h2 { margin: 0 0 8px; color: #fff; font-size: 14px; line-height: 1.4; }
.kqs-search-area, .kqs-help { min-width: 0; }
.kqs-search-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.kqs-search-option { min-width: 0; text-align: center; }
.kqs-search-option > a { display: block; margin: 6px 0 0 !important; padding: 0 !important; color: #fff !important; font-size: 12px !important; line-height: 1.4; text-decoration: underline; }
.kqs-search-option > a:first-child { display: flex; justify-content: center; align-items: center; min-height: 38px; margin: 0 !important; padding: 7px 9px !important; background: linear-gradient(#f6f6f6, #c7c7c7); color: #111 !important; text-decoration: none; }
.kqs-search { min-width: 0; margin: 7px 0 0; }
.kqs-search label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.kqs-search > div { display: flex; }
.kqs-search input[type=text] { min-width: 0; width: 100%; height: 34px; border: 1px solid #b2b2b2; border-radius: 0; padding: 6px 8px; background: #fff; }
.kqs-search button { flex: 0 0 auto; border: 1px solid #b2b2b2; border-left: 0; border-radius: 0; background: linear-gradient(#f6f6f6, #c7c7c7); color: #111; padding: 5px 14px; font-size: 12px; }
.kqs-nav-toggle { display: none; margin-top: 9px; padding: 8px 12px; border: 1px solid #b7c8d5; background: #e5edf2; border-radius: 4px; }
.kqs-help { padding: 0 0 0 24px; border-left: 1px solid rgba(255, 255, 255, .2); }
.kqs-help > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px 18px; padding: 0; }
.kqs-help a { margin: 0 !important; padding: 0 !important; color: #fff !important; font-size: 12px !important; line-height: 1.5; }
/* tomasz 2026-11-04: Keep clients and references in one help-grid item with their existing separate destinations; allow natural wrapping on narrow screens. */
.kqs-help .kqs-help-clients { font-size: 12px; line-height: 1.5; }
.kqs-help-toggle { display: none; }
/* tomasz 2026-11-04: Compact desktop rows size independently; retain text/control sizes and allow content to grow when needed. */
@media (min-width: 768px) {
    .kqs-masthead { display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: auto auto; }
    .kqs-header { align-content: center; min-height: 106px; background: linear-gradient(to bottom, #5a7d99 50%, #3f6280 50%); }
    .kqs-discovery { padding-block: 6px; }
    .kqs-discovery h2 { margin-bottom: 4px; }
    .kqs-search { margin-top: 4px; }
    .kqs-search-option > a:not(:first-child) { margin-top: 3px !important; }
    /* tomasz 2026-10-31: Extend the original blue gradient at its edge colours and hide only the empty top border pixels. */
    .kqs-header:before, .kqs-brand img { clip-path: inset(8px 0 0); }
}
.kqs-category-menu { display: flex; position: relative; padding: 0 12px; background: #325f80; }
.kqs-menu-group { flex: 1; min-width: 0; }
.kqs-menu-trigger { width: 100%; min-height: 48px; padding: 10px 8px; border: 0; background: transparent; color: #fff; font-weight: bold; }
/* tomasz 2026-11-04: Reduce only the desktop category bar; retain text size, divider geometry and touch navigation. */
@media (min-width: 1024px) {
    .kqs-menu-trigger { min-height: 36px; padding-block: 6px; }
}
.kqs-menu-trigger:hover, .kqs-menu-trigger[aria-expanded=true] { background: #244863; }
/* tomasz 2026-11-01: Short white dividers between horizontal category buttons; keep the full-width panel anchored to the navigation. */
@media (min-width: 768px) {
    .kqs-category-menu > .kqs-menu-group > .kqs-menu-trigger { position: relative; }
    .kqs-category-menu > .kqs-menu-group:not(:last-child) > .kqs-menu-trigger:after { content: ''; position: absolute; right: 0; top: 50%; width: 1px; height: 20px; transform: translateY(-50%); background: #fff; pointer-events: none; }
}
.kqs-menu-panel { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 18px; background: #fff; padding: 24px; color: #263c4c; border: 1px solid #b7c8d5; font-size: 13px; text-align: left; }
/* tomasz 2026-10-25: Prevent expanded panels before deferred navigation initializes. */
.kqs-menu-pending:not(.kqs-enhanced) .kqs-menu-panel { display: none; }
.kqs-enhanced .kqs-menu-panel { position: absolute; left: 0; right: 0; top: 100%; z-index: 30; max-height: 70vh; overflow: auto; box-shadow: 0 8px 18px rgba(26, 51, 70, .2); }
.kqs-menu-panel div { position: static !important; top: auto !important; left: auto !important; width: auto !important; min-width: 0; float: none !important; }
.kqs-menu-panel table { width: auto !important; max-width: 100%; }
.kqs-menu-panel img { max-width: 100%; height: auto; }
.kqs-menu-panel a { display: inline-flex; align-items: center; min-height: 32px; max-width: 100%; }
.kqs-banner { padding: 16px var(--kqs-pad) 0; }
.kqs-banner-viewport { max-width: 957px; margin: 0 auto; overflow: hidden; }
.kqs-banner-frame { width: 100%; height: auto; aspect-ratio: 957 / 127; border: 0; display: block; }
.kqs-intro { padding: 12px var(--kqs-pad); overflow-wrap: break-word; }
.kqs-columns { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 14fr) minmax(0, 3fr); grid-template-areas: 'left main right'; gap: var(--kqs-gap); padding: 0 var(--kqs-pad) 24px; }
/* tomasz 2026-10-26: Preserve short-page height across the drawer breakpoint. */
.kqs-drawers-ready .kqs-columns { min-height: var(--kqs-content-min-height, 141px); }
.kqs-main { grid-area: main; min-width: 0; overflow-x: auto; }
.kqs-aside { min-width: 0; overflow-wrap: break-word; }
.kqs-aside-left { grid-area: left; }
.kqs-aside-right { grid-area: right; }
.kqs-aside table { width: 100% !important; max-width: 100%; }
.kqs-aside img { max-width: 100%; height: auto; }
/* tomasz 2026-10-14: Center the existing certificate strip and modestly enlarge it without changing the sidebar or artwork. */
.kqs-aside-left > table.tabela-normal { table-layout: fixed; }
.kqs-aside-left img[src$="/certyfikaty.jpg"] { display: block; width: 180px; max-width: 100%; height: auto; margin: 0 auto; }
/* tomasz 2026-10-14: Keep legacy right-hand tables, contact text, pictures and tracking fields inside their allotted column. */
.kqs-aside-right table { table-layout: fixed; }
.kqs-aside-right td { overflow-wrap: anywhere; }
.kqs-aside-right a { white-space: normal; overflow-wrap: anywhere; }
.kqs-aside-right form { max-width: 100%; }
.kqs-aside-right input { max-width: 100%; box-sizing: border-box; }
/* tomasz 2026-10-26: Fit producer and newsletter controls inside their sidebar or drawer column. */
.kqs-aside table:has(form) { table-layout: fixed; }
.kqs-aside form input, .kqs-aside form select { min-width: 0; max-width: 100%; box-sizing: border-box; }
/* tomasz 2026-10-14: Keep phone numbers and email domains intact, moving whole contact parts below their icon when needed. */
/* tomasz 2026-10-14: Separate contact icons vertically, including rows that wrap on narrow screens. */
/* tomasz 2026-10-27: Keep an 8px gap below store, showroom and service sidebar headings. */
.kqs-aside-right .kqs-store-content, .kqs-aside-right .kqs-contact-module-content { padding-top: 8px; }
.kqs-aside-right .kqs-contact-phone, .kqs-aside-right .kqs-contact-email { display: flex; flex-wrap: wrap; align-items: center; min-height: 24px; row-gap: 4px; }
.kqs-aside-right .kqs-contact-phone { column-gap: 4px; margin-top: 4px !important; }
/* tomasz 2026-11-02: Preserve the same flex items and email gap through the known picture wrapper. */
.kqs-aside-right .kqs-contact-phone > img, .kqs-aside-right .kqs-contact-email > img,
.kqs-aside-right .kqs-contact-phone > .kqs-responsive-picture > img, .kqs-aside-right .kqs-contact-email > .kqs-responsive-picture > img { flex: 0 0 auto; }
.kqs-aside-right .kqs-contact-email > img, .kqs-aside-right .kqs-contact-email > .kqs-responsive-picture > img { margin-right: 4px; }
.kqs-aside-right .kqs-contact-number, .kqs-aside-right .kqs-contact-email-part { flex: 0 0 auto; white-space: nowrap; overflow-wrap: normal; word-break: normal; }
.kqs-aside .aside_menu_categories { width: 100%; }
/* tomasz 2026-10-12: Align category rows with the widened heading's straight span, retaining 5px clearance for its rounded corners. */
.kqs-aside-left > .aside_menu_categories { width: calc(100% + var(--kqs-gap)); margin-left: calc(var(--kqs-gap) / -2); padding: 5px; }
.kqs-aside .aside_menu_categories ul { max-width: 100%; }
.kqs-menu-module { margin-bottom: 16px; }
.kqs-menu-module .t-menu1 { padding: 10px; }
/* tomasz 2026-10-12: Both sidebar strips follow the center heading reference, with artwork extending halfway into the adjacent gaps. */
/* tomasz 2026-10-14: Reduce heading insets on narrow screens and wrap multiword labels at spaces rather than splitting words. */
.kqs-aside-left .kmkn, .kqs-aside-left .komorka-menu-naglowek, .kqs-aside-right .komorka-menu-naglowek { --kqs-aside-bar-outset: calc(var(--kqs-gap) / 2); position: relative; height: 27px; padding: 5px clamp(8px, 1vw, 15px); border-radius: 5px; vertical-align: middle; background-size: 100% 100%; overflow-wrap: normal; word-break: normal; font: bold 12px/17px Tahoma, Verdana, Arial, sans-serif; color: #fff; text-align: left; }
.kqs-aside-left .kmkn::before, .kqs-aside-left .komorka-menu-naglowek::before, .kqs-aside-right .komorka-menu-naglowek::before { content: ''; position: absolute; top: 0; bottom: 0; left: calc(-1 * var(--kqs-aside-bar-outset)); right: calc(-1 * var(--kqs-aside-bar-outset)); background: inherit; background-size: 100% 100%; border-radius: inherit; z-index: 0; pointer-events: none; }
/* tomasz 2026-10-14: Let heading text use the widened strip, preserving 15px clearance at both visible edges. */
.kqs-aside-left .kmkn > div, .kqs-aside-left .komorka-menu-naglowek > div, .kqs-aside-right .komorka-menu-naglowek > div { position: relative; left: calc(-1 * var(--kqs-aside-bar-outset)); width: calc(100% + var(--kqs-aside-bar-outset) + var(--kqs-aside-bar-outset)); z-index: 1; margin: 0; padding: 0; font: inherit; }
/* tomasz 2026-10-12: Three home categories per desktop row; two or one only in the mobile layout. */
.kqs-category-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(10px, 1.1vw, 16px); margin: 0 0 28px; padding: 0; list-style: none; }
.kqs-category-grid > li { min-width: 0; border: 1px solid #d5e0e7; border-radius: 6px; padding: 12px 8px; text-align: center; }
.kqs-category-grid > li:hover { border-color: #6f93ad; }
.kqs-category-grid > li > a { display: flex; justify-content: center; align-items: center; min-height: 134px; }
.kqs-category-grid > li > a img { max-width: 100%; height: auto; }
.kqs-category-grid > li > div { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 8px; }
.kqs-category-grid h2 { margin: 8px 0; font-size: 15px; }
.kqs-category-grid h2 a { color: #294e6c; }
.kqs-home-products { margin-bottom: 28px; }
/* tomasz 2026-10-12: Preserve the original blue heading strips for categories and product sections, including templates with inline backgrounds. */
.kqs-home-categories > h1, .kqs-home-products > h2 { margin: 0; min-height: 27px; padding: 5px 15px; border-radius: 5px; font: bold 12px/17px Tahoma, Verdana, Arial, sans-serif; color: #fff; background-image: url('../sucro/tlo.png') !important; background-image: image-set(url("/sucro/tlo.png.webp?v=33e242771b87") type("image/webp"), url('../sucro/tlo.png') type("image/png")) !important; background-repeat: repeat-x !important; background-size: 100% 100% !important; }
.kqs-home-categories > h1 { margin-bottom: 20px; }
.kqs-home-product { display: grid; grid-template-columns: clamp(90px, 18%, 160px) minmax(0, 1fr); gap: clamp(12px, 1.2vw, 16px); padding: 18px 0; border-bottom: 1px solid #d5e0e7; }
.kqs-product-image { text-align: center; }
.kqs-product-image img { max-width: 100%; height: auto; }
.kqs-product-info { min-width: 0; }
.kqs-product-info > h2 { margin: 0 0 10px; font-size: 16px; line-height: 1.4; }
.kqs-product-info p { max-width: 70ch; text-align: left; }
.kqs-product-info table { width: 100% !important; max-width: 100%; }
.kqs-product-price { margin: 12px 0; font-size: 15px; }
.kqs-product-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.kqs-product-actions > div { float: none; margin: 0; }
/* tomasz 2026-10-12: Restore home recommendations: cart beside availability, saved/comparison actions beside price, wrapping when space is limited. */
.kqs-home .kqs-product-purchase-row { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px 12px; }
.kqs-home .kqs-product-purchase-row > .kqs-product-meta { flex: 1 1 180px; min-width: 0; overflow-wrap: anywhere; }
.kqs-home .kqs-product-purchase-row > .kqs-product-price { flex: 1 1 140px; min-width: 0; overflow-wrap: anywhere; }
.kqs-home .kqs-product-cart { flex: 0 0 auto; margin-left: auto; }
.kqs-home .kqs-product-purchase .kqs-product-actions { flex: 0 1 auto; flex-direction: row-reverse; justify-content: flex-start; max-width: 100%; min-width: 0; margin-left: auto; }
/* tomasz 2026-10-12: Remove inline baseline offsets and fit both secondary actions to their original 18px artwork. */
.kqs-home .kqs-product-purchase .kqs-product-actions > div, .kqs-home .kqs-product-purchase .kqs-product-actions > div > span { display: flex; align-items: center; }
.kqs-home .kqs-product-purchase .kqs-product-actions a, .kqs-home .kqs-product-purchase .kqs-product-actions img { display: block; }
.kqs-home .kqs-product-purchase .porownaj-produkt-przycisk span a { height: 18px; }
.kqs-more { text-align: right; }
/* tomasz 2026-11-03: The lower footer shares the page surround; only the link panel keeps the original dark gradient. */
.kqs-footer { background: var(--kqs-surround-end); padding: 0; color: #fff; font-size: 12px; }
.kqs-footer-links { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr)); gap: var(--kqs-gap); padding: 16px var(--kqs-pad); background: linear-gradient(to bottom, #090909 0%, #111 25%, #1b1b1b 50%, #414141 100%); }
.kqs-footer-links section { min-width: 0; }
.kqs-footer h2 { font-size: 13px; margin: 0 0 8px; color: #fff; }
.kqs-footer a { color: #fff !important; font-size: inherit; line-height: 1.5; }
/* tomasz 2026-11-03: No separator or independent colour block between the lower footer and outer margins. */
.kqs-footer-bottom { display: grid; grid-template-columns: 2fr 1fr; gap: 16px; margin: 0; padding: 24px var(--kqs-pad) 16px; background: transparent; border: 0; font-size: 11px; }
/* tomasz 2026-10-12: Catalog/search presentation keeps existing forms and generated product actions. */
.kqs-listing { min-width: 0; background: var(--kqs-content-bg, #fff); }
.kqs-listing-title { margin: 0 0 16px; padding: 10px 12px; border-bottom: 2px solid #325f80; background: var(--kqs-header-bg, #fff); font-size: 17px; font-weight: bold; overflow-wrap: anywhere; }
.kqs-listing-title a { display: inline-block; margin: 4px 0 4px 10px; font-size: 13px; }
/* tomasz 2026-10-27: Center the approved compact sorting controls and keep the submit button beside the field on phones. */
.kqs-listing-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--kqs-line, #d5e0e7); }
.kqs-listing-sort { flex: 0 1 auto; min-width: 0; max-width: 100%; }
.kqs-listing-sort form { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: center; gap: 8px; margin: 0; }
.kqs-listing-sort label { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px; flex: 0 1 auto; min-width: 0; max-width: 100%; }
.kqs-listing-sort select { flex: 0 1 220px; width: 220px; min-width: 0; max-width: 100%; height: 40px; padding: 6px; font-size: 14px; margin: 0; }
.kqs-listing-sort input[type=submit] { min-height: 40px; padding: 6px 14px; margin: 0; }
.kqs-listing-views { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 4px; max-width: 100%; }
@media (max-width: 599px) {
    .kqs-listing-sort label { flex-basis: 220px; max-width: calc(100% - 64px); }
}
.kqs-listing-views a { display: inline-flex; align-items: center; justify-content: center; min-width: 40px; min-height: 40px; border: 1px solid #d5e0e7; border-radius: 4px; }
.kqs-listing-views img { margin: 0 !important; }
.kqs-listing-items > form { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 14px; margin: 0; }
.kqs-listing-item { min-width: 0; padding: 16px 12px; border: 1px solid #d5e0e7; border-radius: 5px; overflow-wrap: anywhere; }
.kqs-listing-item:not(.kqs-item-tiles) { grid-column: 1 / -1; }
article.kqs-item-description { display: grid; grid-template-columns: clamp(90px, 25%, 160px) minmax(0, 1fr); gap: 16px; }
.kqs-item-photo { min-width: 0; text-align: center; }
.kqs-item-photo img { max-width: 100%; height: auto; }
.kqs-item-info { min-width: 0; }
.kqs-listing-item h2, .kqs-listing-item h3 { margin: 0 0 12px; font-size: 16px; line-height: 1.45; font-weight: bold; }
.kqs-listing-item h2 a, .kqs-listing-item h3 a { color: #294e6c; }
.kqs-item-info > .kqs-item-description { text-align: left; }
.kqs-item-info > .kqs-item-description > div { margin: 0 !important; text-align: left !important; }
.kqs-item-info img, .kqs-item-purchase img { max-width: 100%; height: auto; }
.kqs-item-info table { width: 100% !important; max-width: 100%; }
.kqs-item-availability { margin: 12px 0; }
.kqs-item-purchase { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-top: 12px; min-width: 0; }
.kqs-item-price { min-width: 0; font-size: 15px; line-height: 1.6; }
.kqs-item-cart { min-width: 0; }
.kqs-item-cart input[type=image] { max-width: 100%; height: auto; }
.kqs-item-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 12px; }
.kqs-item-actions .porownaj-produkt-przycisk, .kqs-item-actions .przechowalnia-przycisk { float: none; margin: 0; min-width: 0; }
.kqs-item-actions a { display: inline-flex; align-items: center; min-height: 36px; max-width: 100%; }
/* tomasz 2026-10-27: Match the original large-card purchase grouping and center both18px action graphics inside equal link boxes. */
.kqs-item-purchase.kqs-large-purchase { display: block; }
.kqs-large-purchase-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 12px; min-width: 0; }
.kqs-large-purchase-row + .kqs-large-purchase-row { margin-top: 4px; }
.kqs-large-purchase-row > .kqs-item-availability { flex: 1 1 180px; min-width: 0; margin: 0; }
.kqs-large-purchase-row > .kqs-item-price { flex: 1 1 140px; }
.kqs-large-purchase .kqs-item-cart { max-width: 100%; margin-left: auto; }
.kqs-large-purchase .kqs-item-actions { flex: 0 1 auto; flex-direction: row-reverse; justify-content: flex-start; gap: 6px; min-width: 0; max-width: 100%; margin: 0 0 0 auto; }
.kqs-large-purchase .kqs-item-actions > div, .kqs-large-purchase .kqs-item-actions > div > span { display: flex; align-items: center; }
.kqs-large-purchase .kqs-item-actions a { display: flex; align-items: center; min-height: 36px; height: 36px; }
.kqs-large-purchase .kqs-item-actions img { display: block; }
.kqs-large-purchase .porownaj-produkt-przycisk span a { background-position: center center; }
/* tomasz 2026-10-27: Keep availability above the large desktop card price and purchase controls. */
@media (min-width: 600px) {
    .kqs-item-purchase.kqs-large-purchase { display: flex; align-items: flex-start; gap: 4px 12px; }
    .kqs-large-purchase > .kqs-large-purchase-row { display: contents; }
    .kqs-large-purchase .kqs-item-availability { order: 0; flex: 0 0 100%; }
    /* tomasz 2026-10-27: Center the desktop price block against the complete purchase-control stack. */
    .kqs-large-purchase .kqs-item-price { order: 1; flex: 1 1 auto; width: max-content; max-width: 100%; align-self: center; }
    .kqs-large-purchase .kqs-item-cart { order: 2; flex: 0 0 auto; }
    /* tomasz 2026-10-27: Keep the desktop action stack independent of the two-line price height. */
    .kqs-large-purchase .kqs-large-purchase-controls { order: 2; display: flex; flex-direction: column; align-items: flex-end; gap: 0; flex: 0 1 auto; min-width: 0; max-width: 100%; margin-left: auto; }
    .kqs-large-purchase .kqs-item-actions { order: 3; flex: 0 1 auto; }
}
.kqs-item-compact, .kqs-item-table { display: flex; flex-wrap: wrap; gap: 12px; }
.kqs-item-compact > .kqs-item-info, .kqs-item-table > .kqs-item-info { flex: 1 1 240px; }
.kqs-item-compact > .kqs-item-purchase, .kqs-item-table > .kqs-item-purchase { flex: 0 1 180px; margin-top: 0; align-content: center; }
.kqs-item-table { border-radius: 0; }
.kqs-item-tiles { display: flex; flex-direction: column; gap: 12px; text-align: center; }
.kqs-item-tiles h3 { margin: 0; }
.kqs-item-tiles .kqs-item-photo { flex: 0 0 auto; }
.kqs-item-tiles .kqs-item-purchase { margin-top: auto; justify-content: center; }
.kqs-pagination { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px 16px; padding: 16px 0; font-size: 13px; }
.kqs-pagination-pages { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 6px; min-width: 0; }
.kqs-pagination-numbers { display: inline-flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 4px; }
.kqs-pagination a, .kqs-pagination-current { display: inline-flex; justify-content: center; align-items: center; min-width: 36px; min-height: 36px; padding: 4px 8px; border: 1px solid #d5e0e7; border-radius: 4px; }
.kqs-pagination-current { background: #325f80; color: #fff; font-weight: bold; }
.kqs-category-links { padding: 12px; line-height: 1.9; }
.kqs-category-view { min-width: 0; margin: 0 0 16px; }
.kqs-category-view img { max-width: 100%; height: auto; }
/* tomasz 2026-10-27: Restore the category header grouping from the supplied reference while allowing a single-column phone layout. */
.kqs-category-view .wizytowka_header { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 150px); grid-template-rows: minmax(0, 1fr) auto; grid-template-areas: 'title image' 'jump image'; align-items: center; gap: 8px 16px; height: auto; padding: 8px 0; }
.kqs-category-view .wizytowka_header .wizytowka_title, .kqs-category-view .wizytowka_header img, .kqs-category-view .wizytowka_header a { position: static; height: auto; margin: 0; }
.kqs-category-view .wizytowka_header .wizytowka_title { grid-area: title; min-width: 0; max-width: 100%; justify-self: center; text-align: right; overflow-wrap: break-word; }
.kqs-category-view .wizytowka_header img { grid-area: image; justify-self: end; max-width: 100%; max-height: 150px; }
.kqs-category-view .wizytowka_header > a { grid-area: jump; justify-self: start; align-self: end; max-width: 100%; }
.kqs-category-view .text_container { width: 100%; max-width: none; text-align: left; }
@media (max-width: 599px) {
    .kqs-category-view .wizytowka_header { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto; grid-template-areas: 'title' 'image' 'jump'; }
    .kqs-category-view .wizytowka_header .wizytowka_title { text-align: center; }
    .kqs-category-view .wizytowka_header img { justify-self: center; max-height: 120px; }
}
/* tomasz 2026-10-27: Preview the approved22px category title and14px subtitle, with an80px desktop inset and existing phone centering. */
.kqs-category-view .wizytowka_header .wizytowka_title h1 { font-size: 22px; line-height: 1.3; }
.kqs-category-view .wizytowka_header .wizytowka_title > span { font-size: 14px; }
@media (min-width: 1024px) {
    .kqs-category-view .wizytowka_header .wizytowka_title { justify-self: start; margin-left: 80px; max-width: calc(100% - 80px); }
}
/* tomasz 2026-10-29: Reserve empty grid tracks and cap each subcategory frame at the approved reference width. */
.kqs-category-view .subcategories_container { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), 1fr)); gap: 14px; }
.kqs-category-view .wizytowka_subcategory { width: 100%; max-width: 280px; justify-self: start; min-width: 0; height: auto; overflow: visible; margin: 0; float: none; }
.kqs-category-view .wizytowka_subcategory_content { display: flex; flex-wrap: wrap; height: auto; }
.kqs-category-view .wizytowka_subcategory_img, .kqs-category-view .wizytowka_subcategory_features { position: static; width: auto; max-width: 100%; height: auto; flex: 1 1 120px; }
.kqs-category-view .wizytowka_subcategory_img { flex: 0 0 80px; text-align: center; }
.kqs-category-view .wizytowka_subcategory_img img { position: static; display: block; margin: 0 auto; }
.kqs-category-view .subcategories_container:after, .kqs-category-view .wizytowka_subcategory_content:after, .kqs-category-view .wizytowka_generation .wizytowka_competitive_solutions ul:after { display: none; }
.kqs-category-view .wizytowka_additional { display: flex; flex-wrap: wrap; gap: 16px; }
.kqs-category-view .wizytowka_additional:after { display: none; }
.kqs-category-view .wizytowka_features { float: none; width: auto; min-width: 0; flex: 1 1 220px; }
.kqs-category-view .wizytowka_buttons { float: none; width: auto; min-width: 0; flex: 1 1 180px; }
/* tomasz 2026-10-27: Cap wider-screen recommendation buttons while retaining the accepted full-width phone layout. */
@media (min-width: 600px) {
    .kqs-category-view .wizytowka_buttons { flex: 0 1 180px; max-width: 100%; margin-left: auto; text-align: center; }
    .kqs-category-view .wizytowka_buttons > .new_button { width: 180px; max-width: 100%; }
}
/* tomasz 2026-10-27: Category hints overlay the page and fit the viewport without changing the icon row height. */
.kqs-category-view .new_tooltip { max-width: 100%; }
.kqs-category-view .kqs-category-hint:hover, .kqs-category-view .kqs-category-hint:focus { text-decoration: none; }
.kqs-category-view .kqs-category-hint > .new_tooltip_content { display: none; position: fixed; width: 400px; max-width: calc(100vw - 24px); max-height: calc(100vh - 24px); margin: 0; top: 12px; bottom: auto; left: 12px; right: auto; overflow: auto; z-index: 70; text-align: left; font-weight: normal; overflow-wrap: break-word; }
.kqs-category-view .kqs-category-hint[data-kqs-hint-open] > .new_tooltip_content { display: block; }
.kqs-category-view .kqs-category-hint > .new_tooltip_content:before, .kqs-category-view .kqs-category-hint > .new_tooltip_content:after { display: none; }
.kqs-category-view .kqs-category-hint > .new_tooltip_content p { text-align: left; }
/* tomasz 2026-10-27: Reflow complete benefit items instead of squeezing six table columns on mobile. */
.kqs-category-view .kqs-category-benefits { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 80px), 1fr)); gap: 12px 8px; max-width: 522px; margin: 0 0 10px; text-align: center; font-size: 11px; }
.kqs-category-view .kqs-category-benefit { min-width: 0; padding: 4px; }
.kqs-category-view .kqs-category-benefit-label { margin-top: 4px; }
.kqs-category-view .wizytowka_generation { overflow-x: auto; }
.kqs-category-view .wizytowka_generation .wizytowka_competitive_solutions ul { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); }
.kqs-category-view .wizytowka_generation .wizytowka_competitive_solutions li { width: auto; min-width: 0; float: none; }
.kqs-catalog-promotions { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr)); gap: 12px; margin-bottom: 16px; }
.kqs-catalog-promotion { min-width: 0; padding: 12px; border: 1px solid #d5e0e7; text-align: center; overflow-wrap: anywhere; }
.kqs-catalog-promotion img { max-width: 100%; height: auto; }
.kqs-catalog-promotion .kqs-item-price { margin-top: 12px; }
.kqs-filters { min-width: 0; padding: 12px 0; }
/* tomasz 2026-10-27: Reuse the neighboring sidebar heading artwork and dimensions for filters. */
.kqs-filter-title { width: calc(100% + var(--kqs-gap)); height: 27px; margin: 0 0 12px calc(var(--kqs-gap) / -2); padding: 5px clamp(8px, 1vw, 15px); border-radius: 5px; background: #325f80 url('../sucro/tlo.png') repeat-x; background: #325f80 image-set(url("/sucro/tlo.png.webp?v=33e242771b87") type("image/webp"), url('../sucro/tlo.png') type("image/png")) repeat-x; background-size: 100% 100%; color: #fff; font: bold 12px/17px Tahoma, Verdana, Arial, sans-serif; }
.kqs-filter-option { margin-bottom: 8px; font-size: 13px; }
.kqs-filter-group { display: block; min-width: 0; margin-bottom: 16px; }
.kqs-filter-value { display: flex; align-items: flex-start; gap: 6px; min-width: 0; margin: 0; padding: 5px 0; line-height: 1.45; }
.kqs-filter-value input[type=checkbox] { flex: 0 0 auto; margin: 3px 0; }
/* tomasz 2026-10-27: Keep the legacy checkbox sprite at its full width when filter captions wrap. */
.kqs-filter-value > .subcheckbox { flex: 0 0 16px; width: 16px; min-width: 16px; margin: 3px 0; }
.kqs-filter-value > span { min-width: 0; overflow-wrap: anywhere; }
/* tomasz 2026-10-27: Keep the native checkbox over its existing artwork and show keyboard focus without resizing filter rows. */
.kqs-filter-ready { position: relative; cursor: pointer; }
.kqs-filter-ready > input.kqs-filter-native[type=checkbox] { position: absolute; top: 8px; left: 0; z-index: 1; width: 16px; height: 20px; min-height: 0; margin: 0; padding: 0; opacity: 0; cursor: pointer; }
.kqs-filter-ready > input.kqs-filter-native[type=checkbox]:focus + .subcheckbox { outline: 3px solid #d48416; outline-offset: 3px; }
.kqs-filter-range { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; }
.kqs-filter-range label { flex: 1 1 70px; min-width: 0; font-size: 12px; }
.kqs-filter-range input[type=text] { width: 100%; max-width: 100%; min-width: 0; min-height: 40px; padding: 6px; box-sizing: border-box; }
.kqs-filter-range input[type=submit] { flex-basis: 100%; min-width: 0; min-height: 40px; }
/* tomasz 2026-10-27: Match both filter submit controls to the existing gray range button, including the final control outside the filter section. */
.kqs-front .kqs-filters input[type=submit], .kqs-front form:has(> .kqs-filters) > div > input.przycisk[type=submit] { width: 100%; max-width: 100%; min-width: 0; height: 40px; min-height: 40px; padding: 3px; border: 1px solid #898989; border-radius: 0; background: #cecece; color: #000; font: 14px/normal Tahoma, Verdana, Arial, sans-serif; text-align: center; white-space: normal; cursor: pointer; }
/* tomasz 2026-10-27: Remove the last filter group's surplus gap and separate its final submit from the next sidebar module. */
.kqs-filters > .kqs-filter-groups > .kqs-filter-group:last-child { margin-bottom: 0; }
.kqs-front form:has(> .kqs-filters) { padding-bottom: 16px; }
.kqs-selected-filters { margin-bottom: 16px; padding-bottom: 8px; border-bottom: 1px solid #d5e0e7; }
.kqs-selected-filter-group { margin-bottom: 8px; font-size: 12px; }
.kqs-selected-filter { margin: 0; overflow-wrap: anywhere; }
.kqs-selected-filter a { display: inline-flex; align-items: center; justify-content: center; min-width: 32px; min-height: 32px; }
.kqs-filter-panel { min-width: 0; }
.kqs-filter-panel > summary { display: none; cursor: pointer; padding: 12px; background: #e5edf2; color: #294e6c; font-weight: bold; border: 1px solid #b7c8d5; border-radius: 4px; }
.kqs-filter-panel input.przycisk { width: 100%; min-height: 40px; white-space: normal; }
.kqs-search-form { min-width: 0; }
.kqs-search-form form > table, .kqs-search-form form > table > tbody { display: block; width: 100%; }
.kqs-search-form form > table > tbody > tr { display: flex; flex-wrap: wrap; }
.kqs-search-form form > table > tbody > tr > td { display: block; flex: 1 1 200px; min-width: 0; }
.kqs-search-form form > table > tbody > tr > td > div { text-align: left !important; }
.kqs-search-form input[type=text], .kqs-search-form select { width: 100% !important; max-width: 100%; min-width: 0; min-height: 40px; padding: 6px; }
.kqs-search-form input[type=submit], .kqs-search-form input[type=reset] { min-height: 40px; margin: 6px 2px; }
/* tomasz 2026-10-12: Product layout also works with existing cached HTML and unchanged control bindings. */
/* tomasz 2026-10-19: Keep the fixed configurator above positioned sidebar headings. */
#plywak { z-index: 40; }
/* tomasz 2026-10-19: Keep the float close control beside its panel and below page dialogs. */
body > #plywak_close { z-index: 41; }
.kqs-product .gal { min-width: 0; max-width: 100%; }
.kqs-product .product-buy-table { width: 100%; max-width: 100%; table-layout: fixed; border-collapse: collapse; }
.kqs-product .product-buy-table > tbody > tr > td { min-width: 0; padding: 6px; vertical-align: top; overflow-wrap: anywhere; }
.kqs-product .product-buy-table > tbody > tr > td[rowspan="9"] { width: 40%; }
.kqs-product .product-buy-table img { max-width: 100%; height: auto; }
.kqs-product .nazwa-produktu h1 { font-size: clamp(18px, 1.3vw, 23px); line-height: 1.4; margin: 0 0 18px; overflow-wrap: anywhere; }
.kqs-product .product-buy-price-label, .kqs-product .product-buy-meta-label { width: 91px; white-space: normal; }
.kqs-product .product-buy-price-value, .kqs-product .product-buy-meta-value { min-width: 0; }
.kqs-product .product-buy-price-value #cena { font-size: 17px; line-height: 1.6; }
.kqs-product .product-buy-price-value .btn_negotiate_deal { max-width: 100%; min-height: 40px; }
.kqs-product .product-buy-controls, .kqs-product .product-buy-secondary-actions { flex-wrap: wrap; gap: 10px; margin: 8px 0; white-space: normal; }
.kqs-product .product-buy-quantity-label { flex-wrap: wrap; gap: 6px; margin: 0; }
.kqs-product .product-buy-quantity-label .pInputIlosc { width: 58px; height: 40px; min-height: 40px; padding: 6px; }
.kqs-product .product-buy-submit { flex: 1 1 130px; max-width: 100%; }
.kqs-product .product-buy-submit .product-buy-cart-button { width: 100%; max-width: 100%; min-height: 40px; white-space: normal; height: auto; padding: 8px; }
.kqs-product .product-buy-submit input[type=image] { max-width: 100%; height: auto; }
.kqs-product .product-buy-phone-row .zamow_telefon { width: 100%; max-width: 100%; margin: 8px 0; white-space: normal; padding: 8px; }
.kqs-product .product-buy-secondary-actions a { min-height: 36px; height: auto; }
.kqs-product .btn_cart_grenkeleasing_calculate { display: inline-flex; align-items: center; max-width: 100%; min-height: 40px; }
.kqs-product .btn_cart_grenkeleasing_calculate img { max-width: 100%; height: auto; }
.kqs-product .product-card-gallery { width: min(100%, 280px); max-width: 100%; margin: 0 auto 16px; }
.kqs-product .product-card-gallery-main { width: 100%; height: auto; aspect-ratio: 1; }
.kqs-product .product-card-gallery-main .product-card-gallery-main-image { width: 100% !important; height: auto !important; max-width: 100%; max-height: none; aspect-ratio: 1; object-fit: contain; }
.kqs-product .product-card-gallery-navigation { width: 100%; gap: 4px; }
.kqs-product .product-card-gallery-thumbnails { flex: 1 1 auto; min-width: 0; width: auto !important; max-width: 100%; overflow-x: hidden; overflow-y: hidden; }
.kqs-product .product-card-gallery-scroll { flex-basis: 36px; width: 36px; min-height: 40px; }
.kqs-product .bookmarks { display: flex; flex-wrap: wrap; gap: 6px; width: 100%; max-width: 100%; height: auto; min-height: 0 !important; margin: 20px 0 12px; }
/* tomasz 2026-10-12: Override legacy tab widths, keeping display controlled by PHP and JS. */
.kqs-product .bookmarks a.tabButton { float: none; width: auto !important; max-width: 100%; height: auto; min-height: 40px; padding: 10px 22px; margin: 0; font: bold 13px/1.4 Arial, sans-serif; text-align: center; overflow-wrap: anywhere; }
.kqs-product .tabContent { min-width: 0; max-width: 100%; overflow-x: auto; scroll-margin-top: 16px; }
.kqs-product .tabContent img { max-width: 100%; height: auto; }
.kqs-product .tabContent table { max-width: 100%; }
.kqs-product .tabContent p { overflow-wrap: anywhere; }
.kqs-product #konfiguracja .tabela2, .kqs-product #specyfikacja .tabela2 { width: 100%; max-width: 100%; table-layout: fixed; }
.kqs-product #konfiguracja td, .kqs-product #specyfikacja :is(td, th) { min-width: 0; overflow-wrap: anywhere; }
.kqs-product #konfiguracja select { width: 100%; max-width: 100%; min-width: 0; min-height: 40px; padding: 6px; }
.kqs-product #konfiguracja input[type=text] { max-width: 100%; min-height: 40px; padding: 6px; }
.kqs-product #konfiguracja input[type=radio] { margin: 10px 5px 0 0; vertical-align: top; }
.kqs-product #konfiguracja label { display: inline-block; max-width: calc(100% - 28px); min-width: 0; padding: 6px; line-height: 1.5; text-indent: 0; vertical-align: top; overflow-wrap: anywhere; }
.kqs-product #konfiguracja .l1, .kqs-product #konfiguracja .l2 { float: none; width: auto !important; max-width: 100%; min-width: 0; font-size: 13px; line-height: 1.5; white-space: normal; }
/* tomasz 2026-10-12: Reset the legacy inline price float and later floating-box label offset locally. */
.kqs-product #konfiguracja .l2 { margin-left: 0 !important; position: static; top: auto; }
.kqs-product #konfiguracja .cena_plus { float: none !important; margin-right: 0 !important; display: block; max-width: 100%; white-space: normal; }
.kqs-product #specyfikacja table { width: 100%; table-layout: fixed; }
.kqs-product #specyfikacja :is(td, th) { padding: 8px 6px; border-bottom: 1px solid #e5edf2; }
.kqs-product #opis > div { margin: 0 !important; text-align: left; }
/* tomasz 2026-10-30: Both description sources fit their container; paragraphs use the available width. */
.kqs-product #opis div, .kqs-product #opisProducenta div { max-width: 100%; min-width: 0; }
/* tomasz 2026-10-31: Justify paragraphs in both product descriptions while preserving image alignment. */
.kqs-product #opis p, .kqs-product #opisProducenta p { max-width: 100%; text-align: justify; }
/* tomasz 2026-11-03: Future review paragraphs use the available tab width, matching the product descriptions. */
.kqs-product #recenzja p { max-width: 100%; }
.kqs-product #video iframe { width: 100%; max-width: 100%; height: auto; aspect-ratio: 16 / 9; }
.kqs-product #foto360 > div { max-width: 100%; overflow-x: auto; }
.kqs-product #foto360 iframe, .kqs-product #foto360 object, .kqs-product #foto360 embed { max-width: 100%; }
.kqs-product .galee { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.kqs-product .galee > div { max-width: 100%; }
.kqs-product .galee a { display: inline-flex; align-items: center; max-width: 100%; min-height: 40px; padding: 4px; }
.kqs-product .accessories_item { display: grid; grid-template-columns: clamp(70px, 20%, 130px) minmax(0, 1fr); gap: 12px; padding: 16px 8px; min-width: 0; }
.kqs-product .accessories_photo { width: auto; min-width: 0; text-align: center; }
.kqs-product .accessories_photo img { max-width: 100%; height: auto; }
.kqs-product .accessories_content { display: flex; flex-wrap: wrap; gap: 10px; width: auto; min-width: 0; margin: 0; }
.kqs-product .accessories_item_title { flex-basis: 100%; min-width: 0; margin: 0; font-size: 14px; line-height: 1.5; overflow-wrap: anywhere; }
.kqs-product .accessories_content_left { flex: 1 1 180px; width: auto; min-width: 0; }
.kqs-product .accessories_content_left p { padding: 0; text-align: left; }
.kqs-product .accessories_content_right { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; flex: 1 1 150px; width: auto; min-width: 0; margin: 0; text-align: left; }
.kqs-product .accessories_content_right input[type=image] { max-width: 100%; height: auto; }
.kqs-product .accessories_show_more { min-height: 40px; padding: 10px; }
.kqs-product #razem table, .kqs-product #podobne table { width: 100%; max-width: 100%; }
.kqs-product #razem td, .kqs-product #podobne td { min-width: 0; overflow-wrap: anywhere; white-space: normal; }
.kqs-product #razem td[rowspan], .kqs-product #podobne td[rowspan] { width: 30%; }
/* tomasz 2026-10-19: Negotiation and its backdrop cover the configurator while the dialog is open. */
.kqs-product .modal_container { z-index: 100; }
.kqs-product .modal_content { width: min(600px, calc(100vw - 32px)) !important; max-width: calc(100vw - 32px); max-height: 90vh; margin-top: 3vh; }
.kqs-product .modal_body { max-height: calc(90vh - 64px); padding: 16px; }
.kqs-product .form_negotiate_deal { display: flex; flex-wrap: wrap; gap: 10px; }
.kqs-product .form_negotiate_deal label { flex: 1 1 220px; float: none; width: auto; min-width: 0; }
.kqs-product .form_negotiate_deal .clear_label { flex-basis: 100%; }
.kqs-product .form_negotiate_deal input, .kqs-product .form_negotiate_deal textarea { min-width: 0; width: 100%; min-height: 40px; }
.kqs-product .ask_about_product input[type=text], .kqs-product .ask_about_product input[type=email], .kqs-product .ask_about_product input[type=tel], .kqs-product .ask_about_product textarea { float: none; width: 100%; min-width: 0; max-width: 100%; min-height: 40px; margin: 0 0 10px; }
.kqs-product .ask_about_product input[type=submit], .kqs-product .ask_about_product button[type=submit], .kqs-product .btn_negotiate_deal_send { float: none; width: auto; max-width: 100%; min-height: 40px; height: auto; padding: 10px 12px; white-space: normal; }
/* tomasz 2026-10-28: Stack the purchase table only below the shared 768px side-by-side breakpoint. */
@media (max-width: 767px) {
    .kqs-product .product-buy-table, .kqs-product .product-buy-table > tbody { display: block; }
    .kqs-product .product-buy-table > tbody > tr { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
    .kqs-product .product-buy-table > tbody > tr > td { display: block; flex: 1 1 160px; width: auto; min-width: 0; }
    .kqs-product .product-buy-table > tbody > tr > td[rowspan="9"], .kqs-product .product-buy-table > tbody > tr > td[colspan] { flex-basis: 100%; width: 100%; }
    .kqs-product .product-buy-table .product-buy-price-label, .kqs-product .product-buy-table .product-buy-meta-label { flex: 0 1 100px; text-align: left; }
    .kqs-product .product-buy-price-value > #cena > br, .kqs-product .product-buy-price-label > br { display: none; }
}
/* tomasz 2026-10-12: Smaller typography after user review; text uses the available middle column. */
.kqs-home .kqs-category-grid h2 { font-size: 15px; line-height: 1.4; }
.kqs-home .kqs-home-products { margin-bottom: 28px; }
/* tomasz 2026-10-12: User-approved home font trial: titles and prices 14px, descriptions and availability 13px. */
.kqs-home .kqs-product-info { font: 13px/1.5 Tahoma, Verdana, Arial, sans-serif; color: #000; }
.kqs-home .kqs-product-info > h2 { font: bold 14px/1.4 Tahoma, Verdana, Arial, sans-serif; margin-bottom: 10px; }
.kqs-home .kqs-product-info > h2 a { font-size: inherit; font-weight: bold; color: #294d6e; }
.kqs-home .kqs-product-info p, .kqs-home .kqs-product-info ul, .kqs-home .kqs-product-info ol { max-width: 100%; margin: 0 0 0.75em; text-align: left; }
/* tomasz 2026-11-03: Named description wrappers replace legacy inline typography; retain the old selector during staged uploads. */
.kqs-home .kqs-product-info > div[align=justify], .kqs-home .kqs-product-info > .kqs-home-description { max-width: 100%; margin: 0 0 0.75em !important; font-size: 13px; text-align: left; }
.kqs-home .kqs-product-info > div[align=justify] span, .kqs-home .kqs-product-info > .kqs-home-description span { font-size: inherit !important; line-height: inherit !important; font-family: inherit !important; }
.kqs-home .kqs-product-info table, .kqs-home .kqs-product-info tr, .kqs-home .kqs-product-info td { font-size: 13px; line-height: 1.5; }
.kqs-home .kqs-product-price { font-size: 14px; }
.kqs-info-pilot .komcw > div { max-width: 100%; font: 13px/1.5 Tahoma, Arial, sans-serif; color: #263c4c; }
.kqs-info-pilot .komcw p, .kqs-info-pilot .komcw ul, .kqs-info-pilot .komcw ol { max-width: 100%; margin: 0 0 0.75em; font-size: inherit; line-height: inherit; text-align: left !important; }
.kqs-info-pilot .komcw ul, .kqs-info-pilot .komcw ol { padding-left: 1.4em; }
.kqs-info-pilot .komcw li { margin: 0 0 0.25em; font-size: inherit; line-height: inherit; text-align: left; }
/* tomasz 2026-10-12: Override imported Word font metrics, preserving emphasis and the original content. */
.kqs-info-pilot .komcw span, .kqs-info-pilot .komcw strong, .kqs-info-pilot .komcw em, .kqs-info-pilot .komcw b, .kqs-info-pilot .komcw font { font-size: inherit !important; line-height: inherit !important; font-family: inherit !important; }
.kqs-info-pilot .komcw h2 { font-size: 16px !important; line-height: 1.4; margin: 24px 0 10px; }
.kqs-info-pilot .komcw h3 { font-size: 15px; line-height: 1.4; margin: 20px 0 8px; }
/* tomasz 2026-10-12: Size the information heading background to its text rather than the legacy fixed-height strip. */
.kqs-info-pilot .komnag { height: auto; min-height: 27px; padding: 5px 0; background-size: 100% 100%; }
.kqs-info-pilot .naglowki-pozostale h1 { font-size: 14px; line-height: 20px; margin: 0; padding: 0; }
.kqs-info-pilot .komcw a { color: #294e6c; text-decoration: underline; text-underline-offset: 0.15em; }
/* tomasz 2026-10-12: Center only the company history illustration, keeping its natural size and mobile scaling. */
.kqs-info-pilot .komcw img[src="zdjecia/sklep/ofirmie/wykres2.png"] { display: block; width: auto; max-width: 100%; height: auto; margin: 0 auto; }
/* tomasz 2026-10-12: Remaining content and account forms keep their fields and inline visibility. */
.kqs-content, .kqs-account-page { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
.kqs-content img, .kqs-account-page img { max-width: 100%; height: auto; }
/* tomasz 2026-10-26: Preserve the declared one-pixel contact spacer instead of stretching its square source image. */
.kqs-content .headquarter_item > img[height="1"] { height: 1px; }
.kqs-content div, .kqs-account-page div { max-width: 100%; }
.kqs-content table, .kqs-account-page table { max-width: 100%; border-spacing: 0; }
.kqs-content td, .kqs-account-page td { overflow-wrap: anywhere; }
.kqs-content p { max-width: 70ch; line-height: 1.6; }
/* tomasz 2026-10-26: Bound legacy contact tables before sizing the three-column block by its own available width. */
.kqs-content > table:has(.headquarters_container) { width: 100%; table-layout: fixed; }
.kqs-content .headquarters_container table { width: 100%; table-layout: fixed; }
.kqs-content .headquarter { container-name: kqs-contact; container-type: inline-size; }
/* tomasz 2026-10-26: Balance contact columns without changing the width-based stacking threshold. */
.kqs-content .headquarter_item { width: 30%; }
.kqs-content .headquarter_item_middle { width: 40%; }
@container kqs-contact (max-width: 520px) {
    .kqs-content .headquarter_table { display: block; }
    .kqs-content .headquarter_item { display: block; min-width: 0; width: 100%; }
    .kqs-content .headquarter_item_middle { border-width: 5px 0; }
    .kqs-content .headquarter_contact a { overflow-wrap: anywhere; }
}
/* tomasz 2026-10-26: Keep the previously safe mobile layout when container queries are unavailable. */
@supports not (container-type: inline-size) {
    @media (max-width: 1023px) {
        .kqs-content .headquarter_table { display: block; }
        .kqs-content .headquarter_item { display: block; min-width: 0; width: 100%; }
        .kqs-content .headquarter_item_middle { border-width: 5px 0; }
        .kqs-content .headquarter_contact a { overflow-wrap: anywhere; }
    }
}
.kqs-content iframe { width: 100%; max-width: 100%; }
.kqs-content .aktualnosci-dzial h2, .kqs-content .tytul-aktualnosci-srodek h1 { font-size: clamp(16px, 1.5vw, 22px); line-height: 1.4; }
.kqs-content form, .kqs-account-page form { min-width: 0; max-width: 100%; }
/* tomasz 2026-10-26: Bound the recovery wrapper before its fixed-width field can expand the legacy table. */
.kqs-content > table:has(form[action="index.php?d=login&akcja=haslo&p=tak"]) { width: 100%; table-layout: fixed; }
/* tomasz 2026-10-26: Bound registration before its compact address groups contribute intrinsic table width. */
.kqs-content > table:has(form[name="rejestracja"]) { width: 100%; table-layout: fixed; }
.kqs-content form table, .kqs-account-page form table { width: 100%; table-layout: fixed; }
.kqs-content form input, .kqs-content form select, .kqs-content form textarea, .kqs-account-page form input, .kqs-account-page form select, .kqs-account-page form textarea { max-width: calc(100% - 8px); box-sizing: border-box; }
.kqs-content form input[type=text], .kqs-content form input[type=password], .kqs-content form input[type=email], .kqs-content form select, .kqs-account-page form input[type=text], .kqs-account-page form input[type=password], .kqs-account-page form input[type=email], .kqs-account-page form select { min-height: 40px; height: auto; font-size: 14px; margin: 4px 0; }
.kqs-content form textarea, .kqs-account-page form textarea { width: 100% !important; min-height: 120px; padding: 8px; resize: vertical; }
.kqs-content form input[type=checkbox], .kqs-content form input[type=radio], .kqs-account-page form input[type=checkbox], .kqs-account-page form input[type=radio] { width: 18px; height: 18px; margin: 6px 0; vertical-align: middle; }
.kqs-content form input.button, .kqs-account-page form input.button { min-height: 40px; height: auto; padding: 10px 12px; font-size: 14px; line-height: 1.4; cursor: pointer; }
.kqs-content form label, .kqs-account-page form label { line-height: 1.5; }
.kqs-content form td[width="200"], .kqs-account-page form td[width="200"] { width: 40%; }
.kqs-content form table[cellpadding="3"] > tbody > tr > td:first-child { width: 32px; }
.kqs-content form[name=fkontakt] input[type=text], .kqs-content form[name=logowanie] input[type=text], .kqs-content form[name=logowanie] input[type=password] { width: calc(100% - 8px) !important; }
.kqs-content form[name=fkontakt] input[name=kod_obrazka] { width: 110px !important; }
.kqs-content form[name=logowanie] td { padding: 4px; }
/* tomasz 2026-10-26: Keep account street, house and apartment together without stretching the separator. */
.kqs-account-page form:is([name^="adres_"], [name="profil"]) table:has(> tbody > tr > td > input:is([name="ulica"], [name="firma_ulica"])) { display: block; width: 260px; }
.kqs-account-page form:is([name^="adres_"], [name="profil"]) table:has(> tbody > tr > td > input:is([name="ulica"], [name="firma_ulica"])) > tbody { display: block; }
.kqs-account-page form:is([name^="adres_"], [name="profil"]) table:has(> tbody > tr > td > input:is([name="ulica"], [name="firma_ulica"])) > tbody > tr { display: grid; grid-template-columns: minmax(0, 1fr) 10px 44px; align-items: center; }
.kqs-account-page form:is([name^="adres_"], [name="profil"]) table:has(> tbody > tr > td > input:is([name="ulica"], [name="firma_ulica"])) > tbody > tr > td { display: block; min-width: 0; padding: 0; }
.kqs-account-page form:is([name^="adres_"], [name="profil"]) table:has(> tbody > tr > td > input:is([name="ulica"], [name="firma_ulica"])) > tbody > tr > td:first-child { display: flex; align-items: center; gap: 4px; }
.kqs-account-page form:is([name^="adres_"], [name="profil"]) table:has(> tbody > tr > td > input:is([name="ulica"], [name="firma_ulica"])) input { max-width: 100%; margin: 4px 0 !important; }
.kqs-account-page form:is([name^="adres_"], [name="profil"]) table:has(> tbody > tr > td > input:is([name="ulica"], [name="firma_ulica"])) input:is([name="ulica"], [name="firma_ulica"]) { flex: 1 1 0; min-width: 0; width: 0 !important; }
.kqs-account-page form:is([name^="adres_"], [name="profil"]) table:has(> tbody > tr > td > input:is([name="ulica"], [name="firma_ulica"])) input:is([name="dom"], [name="firma_dom"]) { flex: 0 0 45px; width: 45px !important; }
.kqs-account-page form:is([name^="adres_"], [name="profil"]) table:has(> tbody > tr > td > input:is([name="ulica"], [name="firma_ulica"])) input:is([name="mieszkanie"], [name="firma_mieszkanie"]) { width: 44px !important; }
/* tomasz 2026-10-26: Center compact account and registration fields at every width, keeping labels above the fields. */
:is(.kqs-account-page, .kqs-content) form:is([name^="adres_"], [name="profil"], [name^="przedstawiciel_"], [name="nowy_partner"], [name="pp_profil"], [name="rejestracja"]) tr:has(> td[width="200"]) { display: flex; flex-wrap: wrap; }
:is(.kqs-account-page, .kqs-content) form:is([name^="adres_"], [name="profil"], [name^="przedstawiciel_"], [name="nowy_partner"], [name="pp_profil"], [name="rejestracja"]) tr:has(> td[width="200"]) > td { display: block; flex: 1 1 100%; min-width: 0; width: 100%; }
:is(.kqs-account-page, .kqs-content) form:is([name^="adres_"], [name="profil"], [name^="przedstawiciel_"], [name="nowy_partner"], [name="pp_profil"], [name="rejestracja"]) tr:has(> td[width="200"]) > td:first-child > div { text-align: left !important; margin-right: 0 !important; }
:is(.kqs-account-page, .kqs-content) form:is([name^="adres_"], [name="profil"], [name^="przedstawiciel_"], [name="nowy_partner"], [name="pp_profil"], [name="rejestracja"]) table { margin-left: auto !important; margin-right: auto !important; }
:is(.kqs-account-page, .kqs-content) form:is([name^="adres_"], [name="profil"], [name^="przedstawiciel_"], [name="nowy_partner"], [name="pp_profil"], [name="rejestracja"]) table:has(> tbody > tr > td[width="200"]) { width: 260px; }
:is(.kqs-account-page, .kqs-content) form:is([name^="adres_"], [name="profil"], [name^="przedstawiciel_"], [name="nowy_partner"], [name="pp_profil"], [name="rejestracja"]) > div { text-align: center !important; }
.kqs-content input:focus, .kqs-content textarea:focus, .kqs-content select:focus, .kqs-account-page input:focus, .kqs-account-page textarea:focus, .kqs-account-page select:focus { outline: 3px solid #d48416; outline-offset: 2px; }
/* tomasz 2026-10-26: Keep registration's direct address fields together without changing their live-copy handlers. */
.kqs-content form[name="rejestracja"] tr > td:has(> input:is([name="ulica"], [name="firma_ulica"])) { display: grid; grid-template-columns: minmax(0, 1fr) 45px 10px 44px; column-gap: 4px; align-items: center; }
.kqs-content form[name="rejestracja"] td:has(> input:is([name="ulica"], [name="firma_ulica"])) > input { min-width: 0; max-width: 100%; margin: 4px 0 !important; width: 100% !important; }
/* tomasz 2026-10-26: Let order-access verification stack while keeping the CAPTCHA at its readable natural size. */
#kqs-main table:has(form[action^="index.php?d=zamowienie&z_id="]) { width: 100%; table-layout: fixed; }
#kqs-main form[action^="index.php?d=zamowienie&z_id="] input { min-width: 0; max-width: 100%; box-sizing: border-box; }
@media (max-width: 767px) {
    #kqs-main form[action^="index.php?d=zamowienie&z_id="] table, #kqs-main form[action^="index.php?d=zamowienie&z_id="] tbody, #kqs-main form[action^="index.php?d=zamowienie&z_id="] tr, #kqs-main form[action^="index.php?d=zamowienie&z_id="] td { display: block; width: 100%; }
    #kqs-main form[action^="index.php?d=zamowienie&z_id="] td { padding: 4px 0; }
    #kqs-main form[action^="index.php?d=zamowienie&z_id="] td > div { margin-left: 0 !important; margin-right: 0 !important; }
}
@media (max-width: 1280px) {
    /* tomasz 2026-10-12: Only address-field rows wrap; agreement and order-history tables retain their columns. */
    .kqs-content form tr:has(> td[width="200"]), .kqs-account-page form tr:has(> td[width="200"]), .kqs-content form[name=logowanie] tr { display: flex; flex-wrap: wrap; }
    .kqs-content form tr:has(> td[width="200"]) > td, .kqs-account-page form tr:has(> td[width="200"]) > td, .kqs-content form[name=logowanie] tr > td { display: block; flex: 1 1 100%; min-width: 0; width: 100%; }
    .kqs-content form tr:has(> td[width="200"]) > td:first-child > div, .kqs-account-page form tr:has(> td[width="200"]) > td:first-child > div, .kqs-content form[name=logowanie] tr > td:first-child { text-align: left !important; margin-right: 0 !important; }
    .kqs-content form table, .kqs-account-page form table { margin-left: 0 !important; margin-right: 0 !important; }
}
/* tomasz 2026-10-12: Basket presentation preserves original forms, callbacks and conditional visibility. */
.kqs-basket #kqs-main { overflow-wrap: anywhere; }
.kqs-basket #kqs-main form { min-width: 0; max-width: 100%; }
.kqs-basket #kqs-main table { max-width: 100%; border-spacing: 0; }
.kqs-basket #kqs-main form table { width: 100%; table-layout: fixed; }
.kqs-basket #kqs-main td { min-width: 0; overflow-wrap: anywhere; }
.kqs-basket #kqs-main img { max-width: 100%; height: auto; }
.kqs-basket #kqs-main input, .kqs-basket #kqs-main select, .kqs-basket #kqs-main textarea { max-width: 100%; box-sizing: border-box; }
.kqs-basket #kqs-main input[type=text], .kqs-basket #kqs-main input[type=email], .kqs-basket #kqs-main input[type=tel], .kqs-basket #kqs-main input[type=file], .kqs-basket #kqs-main select, .kqs-basket #kqs-main textarea { min-height: 40px; height: auto; font-size: 14px; }
.kqs-basket #kqs-main textarea { width: 100% !important; resize: vertical; padding: 8px; }
.kqs-basket #kqs-main input[type=radio], .kqs-basket #kqs-main input[type=checkbox] { width: 18px; height: 18px; vertical-align: middle; margin: 6px; }
.kqs-basket #kqs-main label { line-height: 1.5; cursor: pointer; }
.kqs-basket #kqs-main input.button, .kqs-basket #kqs-main input.button-kosz, .kqs-basket #kqs-main input.button-kosz2 { min-height: 40px; height: auto; line-height: 1.4; padding: 10px 12px; font-size: 14px; cursor: pointer; }
.kqs-basket #kqs-main input.button-przelicz { min-height: 40px; background-position: center; background-repeat: no-repeat; cursor: pointer; }
.kqs-basket #kqs-main input[name^="ilosc["] { width: 58px !important; margin: 4px; text-align: center; }
.kqs-basket #kqs-main form[name=koszyk_produktow] table > tbody > tr > td:first-child:not([colspan]):not(.kom) { width: 100px; }
.kqs-basket #kqs-main form[name=koszyk_produktow] table > tbody > tr > td { vertical-align: top; }
.kqs-basket #kqs-main form[name=koszyk_produktow] #m3 { text-align: left; line-height: 1.5; }
.kqs-basket #kqs-main form[name=form_zamowienie] td[width="30"], .kqs-basket #kqs-main form[name=form_zamowienie] td[width="25"] { width: 50px; }
.kqs-basket #kqs-main form[name=form_zamowienie] td[width="30"] input, .kqs-basket #kqs-main form[name=form_zamowienie] td[width="25"] input { margin: 4px 0; }
.kqs-basket #kqs-main form[name=form_zamowienie] td[width="324"] { width: auto; }
.kqs-basket #kqs-main form[name=form_zamowienie] td[width="100"] { width: 95px; padding-right: 6px !important; }
.kqs-basket #kqs-main form[name=form_zamowienie] .komen { vertical-align: middle; }
.kqs-basket #kqs-main form[name=form_zamowienie] > table[style*="margin: 15px auto"] > tbody > tr > td:first-child { width: 40px; }
.kqs-basket #kqs-main .formu-inpu td { padding: 4px 0; }
.kqs-basket #kqs-main .formu-inpu td[width="220"] { width: 40%; }
.kqs-basket #kqs-main .formu-inpu td[width="280"] { width: 60%; }
.kqs-basket #kqs-main .formu-inpu input.text { max-width: calc(100% - 8px); }
.kqs-basket #kqs-main form[name=form_zamowienie] .kom[style*="float: left"] { height: auto !important; min-height: 100px; max-width: calc(100% - 8px); }
.kqs-basket #kqs-main .btn_cart_grenkeleasing_calculate { display: inline-flex; align-items: center; min-height: 40px; max-width: 100%; }
.kqs-basket #kqs-main .konty, .kqs-basket #kqs-main .konty2, .kqs-basket #kqs-main .druko { min-height: 40px; height: auto; max-width: 100%; margin: 4px 0; }
/* tomasz 2026-10-12: Address rows wrap within the narrower desktop middle as well as on phones. */
@media (max-width: 1280px) {
    .kqs-basket #kqs-main .formu-inpu table, .kqs-basket #kqs-main .formu-inpu tbody { display: block; }
    .kqs-basket #kqs-main .formu-inpu tr { display: flex; flex-wrap: wrap; }
    .kqs-basket #kqs-main .formu-inpu td { display: block; flex: 1 1 100%; width: 100%; }
    .kqs-basket #kqs-main .formu-inpu td[width="220"] > div { text-align: left !important; margin-right: 0 !important; }
    .kqs-basket #kqs-main .formu-inpu td[width="280"] { padding-bottom: 10px; }
    .kqs-basket #kqs-main .formu-inpu input[name=imie], .kqs-basket #kqs-main .formu-inpu input[name=nazwisko], .kqs-basket #kqs-main .formu-inpu input[name=email], .kqs-basket #kqs-main .formu-inpu input[name=firma], .kqs-basket #kqs-main .formu-inpu input[name=nip], .kqs-basket #kqs-main .formu-inpu input[name=telefon], .kqs-basket #kqs-main .formu-inpu input[name=dostawa_odbiorca] { width: calc(100% - 8px) !important; }
    .kqs-basket #kqs-main form[name=koszyk_produktow] table > tbody > tr { display: flex; flex-wrap: wrap; }
    .kqs-basket #kqs-main form[name=koszyk_produktow] table > tbody > tr > td { display: block; flex: 1 1 220px; width: auto; }
    .kqs-basket #kqs-main form[name=koszyk_produktow] table > tbody > tr > td:first-child:not([colspan]):not(.kom) { flex: 0 1 100px; }
    .kqs-basket #kqs-main form[name=form_zamowienie] > table[style*="text-align: right"] > tbody > tr { display: flex; flex-wrap: wrap; }
    .kqs-basket #kqs-main form[name=form_zamowienie] > table[style*="text-align: right"] > tbody > tr > td { display: block; flex: 1 1 220px; width: auto; }
}
@media (max-width: 767px) {
    /* tomasz 2026-10-31: Phone banners are hidden and their iframe is not loaded by the host script. */
    .kqs-banner { display: none; }
    .kqs-category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .kqs-front { width: 100%; }
    .kqs-header { grid-template-columns: minmax(0, 1fr); gap: 0; padding: 0 var(--kqs-pad) 12px; }
    .kqs-brand { justify-self: center; width: min(100%, 500px); max-width: 100%; }
    .kqs-header-contact { grid-area: 2 / 1 / 3 / 2; flex-direction: row; flex-wrap: wrap; justify-content: center; align-items: center; gap: 3px 16px; width: 100%; font-size: 14px; text-align: center; }
    .kqs-header-contact > span, .kqs-header-contact > a[href^="mailto:"] { flex-basis: 100%; }
    .kqs-discovery { grid-template-columns: minmax(0, 1fr); gap: 16px; }
    .kqs-help { padding: 12px 0 0; border-left: 0; border-top: 1px solid rgba(255, 255, 255, .2); }
    .kqs-help a { display: inline-flex; align-items: center; min-height: 36px; }
    /* tomasz 2026-11-01: Enhance only initialized phone help; the server HTML remains readable without JavaScript. */
    .kqs-help[data-kqs-help-ready] > h2 { margin: 0; }
    .kqs-help[data-kqs-help-ready] .kqs-help-label { display: none; }
    .kqs-help[data-kqs-help-ready] .kqs-help-toggle { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; min-height: 44px; padding: 0; border: 0; background: transparent; color: inherit; font: inherit; text-align: left; }
    .kqs-help-toggle:after { content: ''; flex: 0 0 auto; width: 8px; height: 8px; margin-right: 4px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); }
    .kqs-help-toggle[aria-expanded=true]:after { transform: rotate(225deg); }
    .kqs-help[data-kqs-help-ready] > div:not([hidden]) { margin-top: 8px; }
    .kqs-top-links a { display: inline-flex; align-items: center; min-height: 32px; }
    /* tomasz 2026-11-01: Emphasize the phone account actions while retaining their existing labels and touch areas. */
    .kqs-top-links .kqs-account a { font-weight: 700; }
    /* tomasz 2026-11-01: Legacy account wrappers add inline right margins on top of the flex gap; keep only the gap on phones. */
    .kqs-top-links .kqs-account > span { margin-right: 0 !important; }
    .kqs-search-option > a:first-child, .kqs-search input[type=text], .kqs-search button { min-height: 44px; }
    .kqs-search-options { gap: 12px; }
    /* tomasz 2026-11-01: Share one mobile grid so search buttons stretch equally and the query field spans both columns. */
    .kqs-search-options > .kqs-search-option { display: contents; }
    .kqs-search-option > a:first-child { grid-row: 1; width: 100%; min-height: 48px; }
    .kqs-search-option:first-child > a:first-child { grid-column: 1; }
    .kqs-search-option:last-child > a:first-child { grid-column: 2; }
    .kqs-search-options .kqs-search { grid-row: 2; grid-column: 1 / -1; margin: 0; }
    .kqs-search-option > a:not(:first-child) { grid-row: 3; margin: 0 !important; }
    .kqs-search-option:first-child > a:not(:first-child) { grid-column: 1; }
    .kqs-search-option:last-child > a:not(:first-child) { grid-column: 2; }
    .kqs-nav-toggle { display: block; }
    .kqs-category-menu { flex-direction: column; padding: 0; }
    .kqs-menu-pending:not(.kqs-enhanced) .kqs-category-menu { display: none; }
    .kqs-menu-trigger { text-align: left; padding: 12px 24px; border-bottom: 1px solid #587c98; }
    .kqs-enhanced .kqs-menu-panel { position: static; max-height: none; box-shadow: none; }
    .kqs-enhanced .kqs-category-menu { display: none; }
    .kqs-enhanced.kqs-nav-open .kqs-category-menu { display: flex; }
    .kqs-columns { grid-template-columns: minmax(0, 1fr); grid-template-areas: 'main' 'left' 'right'; }
    .kqs-aside { width: 100%; }
    #banner_left { display: none; }
    .noty_message table { max-width: 100%; width: 100% !important; }
    .noty_message > div { max-width: calc(100vw - 24px); }
    .kqs-filter-panel { margin: 12px 0; }
    .kqs-filter-panel > summary { display: list-item; list-style-position: inside; }
    .kqs-filter-panel form { padding: 12px; border: 1px solid #d5e0e7; margin: 0; }
    .kqs-filter-panel .kqs-filter-title { display: none; }
    .kqs-filter-panel .kqs-filter-groups { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 0 16px; align-items: start; }
    .kqs-filter-panel input.przycisk { width: auto; max-width: 100%; min-width: 120px; }
    /* tomasz 2026-10-12: Mobile uses the original in-page configurator and price instead of a covering duplicate. */
    #plywak, #plywak_close { display: none !important; }
}
@media (max-width: 600px) {
    /* tomasz 2026-11-01: Let account links share available space instead of forcing an extra phone navigation row. */
    .kqs-top-links { gap: 4px 12px; }
    .kqs-nav-toggle { flex: 1; text-align: center; padding: 10px 6px; }
    .kqs-account { margin-left: auto; flex-basis: auto; }
    .kqs-menu-panel { grid-template-columns: minmax(0, 1fr); padding: 16px; }
    .kqs-product-info > h2 { font-size: 15px; }
    .kqs-footer-bottom { grid-template-columns: minmax(0, 1fr); gap: 14px; }
}
/* tomasz 2026-10-27: Stack the large listing photo above its text on phones; preserve the desktop columns and image size. */
@media (max-width: 599px) {
    article.kqs-item-description { grid-template-columns: minmax(0, 1fr); }
    /* tomasz 2026-10-27: Hide only the specification icons in large phone listing cards; preserve text highlights and product photos. */
    article.kqs-item-description .kqs-listing-spec-icons { display: none; }
    /* tomasz 2026-10-27: Place price and basket side by side on large phone cards, with full-width availability and secondary actions; wrap naturally if needed. */
    .kqs-item-purchase.kqs-large-purchase { display: flex; gap: 4px 8px; }
    .kqs-large-purchase > .kqs-large-purchase-row { display: contents; }
    /* tomasz 2026-10-27: Flatten only the new control wrapper to retain the accepted phone flex order. */
    .kqs-large-purchase .kqs-large-purchase-controls { display: contents; }
    .kqs-large-purchase .kqs-item-availability { order: 0; flex: 0 0 100%; }
    .kqs-large-purchase .kqs-item-price { order: 1; flex: 1 1 auto; width: max-content; max-width: 100%; }
    .kqs-large-purchase .kqs-item-cart { order: 2; flex: 0 0 auto; }
    .kqs-large-purchase .kqs-item-actions { order: 3; flex-basis: 100%; }
}
@media (max-width: 359px) {
    .kqs-category-grid { grid-template-columns: minmax(0, 1fr); }
    .kqs-home-product { grid-template-columns: minmax(0, 1fr); }
    .kqs-product .accessories_item { grid-template-columns: minmax(0, 1fr); }
}

/* tomasz 2026-10-14: Compact labelled edge controls and a single modal drawer; keep the wide desktop and no-JS layout. */
/* tomasz 2026-10-14: JS aligns the rails with the content heading; no viewport-centering over the promotional banner. */
.kqs-edge-tools { position: fixed; right: 6px; top: 100vh; z-index: 55; width: 100px; display: flex; flex-direction: column; gap: 6px; max-height: calc(100vh - 100px); max-height: calc(100dvh - 100px); overflow-y: auto; overflow-x: hidden; scrollbar-width: thin; padding: 0 4px 4px; }
.kqs-edge-button { min-height: 44px; width: 100%; padding: 8px 4px; border: 1px solid #294e6c; border-radius: 5px 0 0 5px; background: #325f80 url('../sucro/tlo.png') repeat-x; background: #325f80 image-set(url("/sucro/tlo.png.webp?v=33e242771b87") type("image/webp"), url('../sucro/tlo.png') type("image/png")) repeat-x; background-size: 100% 100%; color: #fff; font: bold 13px/17px Tahoma, Verdana, Arial, sans-serif !important; overflow-wrap: normal; }
.kqs-edge-button:hover, .kqs-edge-button[aria-expanded=true] { background-color: #244863; box-shadow: inset 0 0 0 2px #a0b5c5; }
/* tomasz 2026-10-14: A separate compact left category tab reserves space instead of covering the product cards. */
.kqs-edge-tools.kqs-edge-categories { left: 6px; right: auto; width: 48px; }
.kqs-edge-categories .kqs-edge-category { min-height: 112px; border-radius: 0 5px 5px 0; }
.kqs-edge-category > span { display: inline-block; writing-mode: vertical-rl; transform: rotate(180deg); white-space: nowrap; }
.kqs-tool-drawer { position: fixed; left: auto; right: 0; top: 0; bottom: 0; margin: 0; width: min(420px, 100vw); max-width: 100vw; height: 100vh; height: 100dvh; max-height: 100vh; max-height: 100dvh; border: 0; padding: 0; background: #fff; color: #263c4c; font: 14px/1.5 Tahoma, Verdana, Arial, sans-serif; box-shadow: -6px 0 24px rgba(26, 51, 70, .25); overflow: hidden; }
.kqs-tool-drawer:not([open]) { display: none; }
.kqs-tool-drawer[open] { display: grid; grid-template-rows: auto minmax(0, 1fr); animation: kqs-drawer-enter .16s ease-out; }
.kqs-tool-drawer.kqs-tool-drawer-left { left: 0; right: auto; box-shadow: 6px 0 24px rgba(26, 51, 70, .25); }
.kqs-tool-drawer-left[open] { animation-name: kqs-drawer-enter-left; }
.kqs-tool-drawer::backdrop { background: rgba(26, 51, 70, .45); }
.kqs-drawer-head { display: flex; align-items: center; gap: 8px; padding: 8px 12px; background: #325f80 url('../sucro/tlo.png') repeat-x; background: #325f80 image-set(url("/sucro/tlo.png.webp?v=33e242771b87") type("image/webp"), url('../sucro/tlo.png') type("image/png")) repeat-x; background-size: 100% 100%; color: #fff; }
.kqs-drawer-head h2 { flex: 1; min-width: 0; margin: 0; font: bold 14px/20px Tahoma, Verdana, Arial, sans-serif; }
.kqs-drawer-close { flex: 0 0 auto; min-height: 44px; padding: 8px; border: 1px solid #b7c8d5; border-radius: 4px; background: #fff; color: #294e6c; }
.kqs-drawer-content { min-height: 0; overflow: auto; overscroll-behavior: contain; padding: 12px 16px 24px; }
.kqs-drawer-switch { display: block; margin-bottom: 16px; font-size: 13px; }
.kqs-drawer-switch select { display: block; width: 100%; min-height: 44px; margin-top: 4px; font: inherit; color: #263c4c; background: #fff; }
.kqs-drawer-module { --kqs-gap: 0px; width: 100%; }
.kqs-drawer-module > .aside_menu_categories { width: 100%; margin-left: 0; }
.kqs-drawer-module .aside_menu_categories li { position: relative; min-height: 44px; }
.kqs-drawer-module .aside_menu_categories li > a { display: flex; align-items: center; min-height: 44px; padding-right: 44px; }
.kqs-drawer-module .aside_menu_categories .show_list { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; cursor: pointer; }
.kqs-drawer-module .aside_menu_categories li > .show_list { position: absolute; top: 0; right: 0; margin: 0; }
.kqs-drawer-module .show_list:focus { outline: 3px solid #d48416; outline-offset: -3px; }
.kqs-drawer-content .kqs-filter-groups { display: block; }
.kqs-drawer-content form { max-width: 100%; }
.kqs-drawer-content .kqs-filter-title { display: block; }
.kqs-drawer-shortcuts { display: grid; gap: 8px; margin-bottom: 20px; }
.kqs-drawer-shortcuts button { min-height: 44px; padding: 8px 12px; border: 1px solid #b7c8d5; border-radius: 4px; background: #e5edf2; color: #294e6c; text-align: left; }
html.kqs-drawer-open, html.kqs-drawer-open body { overflow: hidden; }
@keyframes kqs-drawer-enter { from { transform: translateX(100%); } to { transform: translateX(0); } }
@keyframes kqs-drawer-enter-left { from { transform: translateX(-100%); } to { transform: translateX(0); } }
@media (prefers-reduced-motion: reduce) { .kqs-tool-drawer[open] { animation: none; } }
@media (max-width: 1023px) {
    .kqs-drawers-ready .kqs-columns { display: block; padding-left: 64px; padding-right: 112px; }
    .kqs-drawers-ready .kqs-columns > .kqs-aside { display: none; }
    .kqs-drawers-ready .kqs-category-menu { display: none !important; }
    .kqs-drawers-ready .kqs-nav-toggle { display: none; }
    .kqs-drawers-ready .kqs-filter-slot .kqs-selected-filters { margin: 12px 0; }
}
@media (max-width: 599px) {
    .kqs-drawers-ready .kqs-columns { padding-right: 90px; }
    /* tomasz 2026-10-28: Reserve room for full 13px utility labels without changing the left category rail. */
    .kqs-edge-tools:not(.kqs-edge-categories) { width: 80px; padding-left: 0; padding-right: 0; }
    .kqs-edge-button { padding: 8px 2px; }
    .kqs-edge-tools .kqs-edge-secondary { display: none; }
    .kqs-tool-drawer { width: 100vw; }
}
@media (max-height: 480px) { .kqs-edge-tools .kqs-edge-secondary { display: none; } }

/* tomasz 2026-10-26: Center the requested compact login block while retaining its existing styling and approved spacing. */
.kqs-content > table:has(form[name="logowanie"]) { width: 100%; table-layout: fixed; }
.kqs-content form[name="logowanie"] { width: 280px; max-width: 100%; margin-left: auto; margin-right: auto; }
.kqs-content form[name="logowanie"] > table, .kqs-content form[name="logowanie"] > table > tbody { display: block; width: 100%; }
.kqs-content form[name="logowanie"] > table > tbody > tr { display: flex; flex-wrap: wrap; }
.kqs-content form[name="logowanie"] input:is([type="text"], [type="password"]) { width: 100% !important; max-width: 100%; margin-top: 0; margin-bottom: 0; }
.kqs-content form[name="logowanie"] > table > tbody > tr > td { display: block; flex: 1 1 100%; min-width: 0; width: 100%; padding-top: 0; padding-bottom: 0; }
.kqs-content form[name="logowanie"] > table > tbody > tr:not(:last-child) > td { padding-bottom: 12px; }
.kqs-content form[name="logowanie"] > table > tbody > tr > td:first-child { text-align: left !important; margin-right: 0 !important; padding-bottom: 6px; }
.kqs-content form[name="logowanie"] > div { margin-top: 16px !important; }

/* tomasz 2026-10-26: Apply approved vertical registration spacing while retaining the existing styling and centered field groups. */
.kqs-content form[name="rejestracja"] tr:has(> td[width="200"]) > td { padding-top: 0; padding-bottom: 0; }
.kqs-content form[name="rejestracja"] tr:has(> td[width="200"]) > td:first-child { padding-bottom: 6px; }
.kqs-content form[name="rejestracja"] tr:has(> td[width="200"]):not(:last-child) > td:last-child { padding-bottom: 12px; }
.kqs-content form[name="rejestracja"] tr:has(> td[width="200"]) > td:last-child > input:is([type="text"], [type="password"]) { margin-top: 0 !important; margin-bottom: 0 !important; }
.kqs-content form[name="rejestracja"] td:has(> input[type="submit"][name="reg"]) { padding-top: 16px; }

/* tomasz 2026-10-27: Apply approved vertical spacing to profile and delivery addresses while preserving their existing compact layout. */
.kqs-account-page form:is([name="profil"], [name^="adres_"]) tr:has(> td[width="200"]) > td { padding-top: 0; padding-bottom: 0; }
.kqs-account-page form:is([name="profil"], [name^="adres_"]) tr:has(> td[width="200"]) > td:first-child { padding-bottom: 6px; }
.kqs-account-page form:is([name="profil"], [name^="adres_"]) tr:has(> td[width="200"]):not(:last-child) > td:last-child { padding-bottom: 12px; }
.kqs-account-page form:is([name="profil"], [name^="adres_"]) tr:has(> td[width="200"]) > td:last-child input:is([type="text"], [type="password"]) { margin-top: 0 !important; margin-bottom: 0 !important; }
.kqs-account-page form:is([name="profil"], [name^="adres_"]) div:has(> input[type="submit"][name="reg"]) { margin-top: 16px !important; }

/* tomasz 2026-10-27: Add breathing room above the profile company toggle below the section heading. */
.kqs-account-page form[name="profil"] > div > div:has(> input[name="firma"][type="checkbox"]) { padding-top: 12px; }

/* tomasz 2026-10-27: Fit home news tables and images to their column; replace the fixed more-link offset with normal alignment. */
.kqs-home-news { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
.kqs-home-news table { width: 100%; max-width: 100%; table-layout: fixed; }
.kqs-home-news img { max-width: 100%; height: auto; }
.kqs-home-news-more { margin-top: 10px; text-align: right; }

/* tomasz 2026-10-30: Keep paired postal code and city together across front forms, including saved delivery addresses. */
.kqs-front form tr > td:has(> input:is([name="kod"], [name$="kod_pocztowy"])):has(> input[name$="miasto"]) { display: grid !important; grid-template-columns: 74px minmax(0, 1fr); column-gap: 4px; align-items: center; }
.kqs-front form tr > td:has(> input:is([name="kod"], [name$="kod_pocztowy"])):has(> input[name$="miasto"]) > input:is([name="kod"], [name$="kod_pocztowy"], [name$="miasto"]) { min-width: 0; max-width: 100% !important; width: 100% !important; margin: 0 !important; }

/* tomasz 2026-10-28: Keep saved tools visible on phones and show confirmed counts and action feedback. */
.kqs-edge-saved { flex-shrink: 0; padding: 4px 2px; }
.kqs-edge-count { display: block; font-size: 11px; line-height: 14px; }
.kqs-utility-notice { position: fixed; z-index: 70; left: 50%; bottom: 80px; transform: translateX(-50%); width: max-content; max-width: calc(100% - 32px); padding: 10px 14px; border: 1px solid #b7c8d5; border-radius: 4px; background: #fff; color: #294e6c; font: 14px/1.5 Arial, sans-serif; box-shadow: 0 2px 10px rgba(26, 51, 70, .2); }
:is(.porownaj-produkt-przycisk, .porownaj-produkt-przycisk-produktowa) span.kqs-compare-selected a { background: none; text-indent: 0; font-size: 12px; line-height: 18px; color: #fff; justify-content: center; text-align: center; }
.kqs-compare-selected a > span { display: block; width: 100%; border-radius: 9px; background: #6c6c6c; line-height: 18px; }

/* tomasz 2026-10-28: Keep vertical rail scrolling available without sacrificing caption width. */
.kqs-edge-tools::-webkit-scrollbar { width: 6px; height: 0; }
.kqs-edge-tools .kqs-edge-button:focus { outline-offset: -3px; }

/* tomasz 2026-10-28: Mobile uses the live cart drawer/count; hide only the legacy fixed-width cart notice. */
@media (max-width: 1023px) {
    body:has(#kqs-front) #noty_top_layout_container > li:has(.hideCartBar) { display: none !important; }
}

/* tomasz 2026-10-28: Home recommendation purchase controls follow the accepted category layout; keep their desktop column. */
.kqs-home-product > .kqs-home-purchase { grid-column: 2; margin-top: 0; }
@media (max-width: 599px) {
    .kqs-home-product > .kqs-home-purchase { grid-column: 1 / -1; }
}

/* tomasz 2026-10-29: Preview full-width white specifications with clear left headings and neutral text. */
.kqs-product #specyfikacja .tabela2 {
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
    font-family: "Segoe UI", Arial, sans-serif;
    font-size: 15px;
    line-height: 1.5;
    color: #27323d;
    background-color: #fff;
}
.kqs-product #specyfikacja .tabela2 :is(td, th) {
    padding: 12px 14px;
    border: 0;
    border-bottom: 1px solid #e1e5e9;
    vertical-align: middle;
    font-family: inherit;
    font-size: inherit;
    font-weight: 400;
    line-height: inherit;
    color: #27323d;
    background-color: #fff;
}
.kqs-product #specyfikacja .tabela2 :is(td, th):first-child:not([colspan]) { color: #596570; }
.kqs-product #specyfikacja .tabela2 :is(.dyszka2, .pogrubienie, font, .kqs-font-blue) {
    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    color: inherit;
}
.kqs-product #specyfikacja .tabela2 :is(td, th) > div { margin: 0 !important; }
.kqs-product #specyfikacja .tabela2 :is(td, th):first-child :is([align="left" i], .left) {
    font-size: 18px;
    font-weight: 600;
    line-height: 1.4;
    text-align: left;
    color: #27323d;
}
.kqs-product #specyfikacja .tabela2 .produkt-konfiguracja2 { display: block; font-size: 0; line-height: 0; }
.kqs-product #specyfikacja .tabela2 .produkt-konfiguracja2 h2 {
    margin: 0;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.4;
    text-align: left;
    color: #27323d;
}
.kqs-product #specyfikacja .tabela2 :is(td, th):first-child a { color: inherit; font-weight: inherit; text-decoration: none; }
.kqs-product #specyfikacja .tabela2 :is(td, th):first-child a:is(:hover, :focus-visible) { text-decoration: underline; }
.kqs-product #specyfikacja .tabela2 :is(td, th):nth-child(2) a { color: #294d6e; text-decoration: underline; }
.kqs-product #specyfikacja .tabela2 > tbody > tr:focus-within > :is(td, th) { background-color: #f2f4f6; }
@media (hover: hover) and (pointer: fine) {
    .kqs-product #specyfikacja .tabela2 > tbody > tr:has(> :is(td, th) + :is(td, th)):hover > :is(td, th) { background-color: #f2f4f6; }
}
@media (max-width: 767px) {
    .kqs-product #specyfikacja .tabela2 { font-size: 14px; }
    .kqs-product #specyfikacja .tabela2 :is(td, th) { padding: 10px 6px; }
    .kqs-product #specyfikacja .tabela2 :is(td, th):first-child :is([align="left" i], .left) { font-size: 16px; }
    .kqs-product #specyfikacja .tabela2 .produkt-konfiguracja2 h2 { font-size: 18px; }
}

/* tomasz 2026-10-29: Match the former data-cell alignment without overriding explicit legacy align attributes. */
.kqs-product #specyfikacja .tabela2 th[scope="row"]:not([align]) { text-align: left; }

/* tomasz 2026-10-28: Compact the approved purchase block without changing product forms, gallery or action styling. */
@media (min-width: 768px) {
    .kqs-product .product-buy-table { table-layout: auto; }
}
.kqs-product .product-buy-price-label, .kqs-product .product-buy-meta-label { text-align: left; }
.kqs-product .product-buy-controls { justify-content: flex-start; gap: 10px; }
.kqs-product .product-buy-submit { flex: 0 1 180px; }
.kqs-product .product-buy-secondary-actions { justify-content: flex-start; gap: 6px; margin: 4px 0 8px; }
.kqs-product .product-buy-phone-row .zamow_telefon { width: fit-content; margin: 8px 0; padding: 8px 12px; }
.kqs-product .product-buy-table td > div:has(> .btn_cart_grenkeleasing_calculate) { text-align: left !important; }

/* tomasz 2026-10-29: Gallery dimensions are shared by product cards independently of optional prepared image files. */
.kqs-product .product-card-gallery { width: min(100%, 460px); }
.kqs-product .product-card-gallery .product-card-gallery-thumbnail { flex-basis: 56px; width: 56px; height: 56px; }
@media (min-width: 768px) {
    .kqs-product .product-buy-table:has(.kqs-gallery-large) > tbody > tr > td[rowspan="9"] { width: 55%; }
}


/* tomasz 2026-10-28: Bound gallery and purchase columns independently of the thumbnail strip's intrinsic width. */
.kqs-product .product-buy-table > .kqs-product-buy-columns { display: none; }
@media (min-width: 768px) {
    .kqs-product .product-buy-table:has(> .kqs-product-buy-columns) { table-layout: fixed; }
    .kqs-product .product-buy-table > .kqs-product-buy-columns { display: table-column-group; }
    .kqs-product .kqs-product-buy-columns > .kqs-product-photo-column { width: 55%; }
    .kqs-product .kqs-product-buy-columns > .kqs-product-label-column { width: 91px; }
}

/* tomasz 2026-10-28: Compact purchase buttons, consistent price hierarchy and vertically aligned secondary actions. */
.kqs-product .product-buy-price-value #cena { font-size: 14px; line-height: 1.5; }
.kqs-product .product-buy-price-value #cena .pogrubienie,
.kqs-product .product-buy-price-value #cena .cena { font-size: 16px !important; line-height: 1.5; }
.kqs-product .product-buy-price-value .btn_negotiate_deal,
.kqs-product .product-buy-submit .product-buy-cart-button { min-width: 0; min-height: 30px; height: auto; padding: 5px 10px; font: bold 13px/18px Tahoma, Verdana, Arial, sans-serif; }
.kqs-product .product-buy-price-value .btn_negotiate_deal { display: inline-flex; align-items: center; justify-content: center; width: 140px; max-width: 100%; }
.kqs-product .product-buy-submit { flex-basis: 130px; }
/* tomasz 2026-11-04: Strengthen the primary action within the existing columns and wrap basis; retain the original colors and gradients. */
.kqs-product .product-buy-submit { flex-grow: 1; max-width: 160px; }
.kqs-product .product-buy-submit .product-buy-cart-button { min-height: 40px; padding: 10px 12px; font-size: 14px; line-height: 20px; background-size: auto 100%; transition: transform 120ms ease-out; }
.kqs-product .product-buy-price-value .btn_negotiate_deal:hover { font-weight: bold !important; }
@media (max-width: 767px) {
    .kqs-product .product-buy-submit .product-buy-cart-button { min-height: 44px; }
}
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
    .kqs-product .product-buy-submit .product-buy-cart-button:hover { transform: translateY(-1px); }
    .kqs-product .product-buy-submit .product-buy-cart-button:active { transform: none; }
}
@media (prefers-reduced-motion: reduce) {
    .kqs-product .product-buy-submit .product-buy-cart-button { transition: none; }
}
.kqs-product .product-buy-quantity-label .pInputIlosc { width: 44px; height: 30px; min-height: 30px; padding: 4px; }
.kqs-product .product-buy-secondary-actions { align-items: center; }
.kqs-product .product-buy-secondary-actions .przechowalnia-przycisk,
.kqs-product .product-buy-secondary-actions .porownaj-produkt-przycisk-produktowa { float: none; margin: 0; }
.kqs-product .product-buy-secondary-actions .porownaj-produkt-przycisk-produktowa > span { display: flex; align-items: center; height: 32px; line-height: normal; }
.kqs-product .product-buy-secondary-actions .product-buy-save a,
.kqs-product .product-buy-secondary-actions .porownaj-produkt-przycisk-produktowa span a { display: flex; align-items: center; justify-content: center; height: 32px; min-height: 32px; margin: 0; line-height: normal; background-position: center; }

/* tomasz 2026-10-28: Keep the desktop purchase group on the right, with values aligned immediately after labels. */
@media (min-width: 768px) {
    .kqs-product .product-buy-table > .kqs-product-buy-columns > .kqs-product-label-column { width: auto; }
    .kqs-product .product-buy-table > .kqs-product-buy-columns > .kqs-product-value-column { width: min(180px, calc(45% - 91px)); }
    .kqs-product .product-buy-table:has(> .kqs-product-buy-columns) :is(.product-buy-price-label, .product-buy-meta-label) { text-align: right; }
    .kqs-product .product-buy-table:has(> .kqs-product-buy-columns) :is(.product-buy-price-value, .product-buy-meta-value) { text-align: left; }
    .kqs-product .product-buy-table:has(> .kqs-product-buy-columns) :is(.product-buy-controls, .product-buy-secondary-actions) { justify-content: flex-end; }
    .kqs-product .product-buy-table:has(> .kqs-product-buy-columns) td > div:has(> .btn_cart_grenkeleasing_calculate) { text-align: right !important; }
}

/* tomasz 2026-10-28: Independent summary columns keep the purchase stack compact regardless of gallery height. */
.kqs-product .kqs-product-summary { display: grid; grid-template-columns: minmax(0, 1fr); align-items: start; }
.kqs-product .kqs-product-summary > div { min-width: 0; }
.kqs-product .kqs-product-summary-title { grid-column: 1 / -1; padding: 6px; }
.kqs-product .kqs-product-summary-gallery { padding: 6px; }
.kqs-product .kqs-product-summary-title img, .kqs-product .kqs-product-summary-gallery img { max-width: 100%; height: auto; }
@media (min-width: 768px) {
    .kqs-product .kqs-product-summary { grid-template-columns: minmax(0, 55fr) minmax(0, 45fr); }
    .kqs-product .kqs-product-buy-compact > .kqs-product-buy-columns > .kqs-product-value-column { width: 180px; }
    .kqs-product .kqs-product-buy-compact :is(.product-buy-price-label, .product-buy-meta-label) { width: auto; }
    .kqs-product .kqs-product-buy-compact > tbody > tr > td { padding: 3px 6px; }
    .kqs-product .kqs-product-buy-compact .product-buy-price-label { vertical-align: middle; }
    .kqs-product .kqs-product-buy-compact .product-buy-price-label > br,
    .kqs-product .kqs-product-buy-compact .product-buy-price-value > br,
    .kqs-product .kqs-product-buy-compact #cena > br:first-child { display: none; }
    .kqs-product .kqs-product-buy-compact :is(.product-buy-meta-label, .product-buy-meta-value) { font-size: 13px; line-height: 1.4; vertical-align: middle; }
    .kqs-product .kqs-product-buy-compact .product-buy-negotiation-row > td { padding-bottom: 12px; }
    .kqs-product .kqs-product-buy-compact :is(.product-buy-controls, .product-buy-secondary-actions) { margin-top: 0; margin-bottom: 0; }
    .kqs-product .kqs-product-buy-compact td > div:has(> .btn_cart_grenkeleasing_calculate) { margin-top: 0; margin-bottom: 0; }
    .kqs-product .kqs-product-buy-compact .btn_cart_grenkeleasing_calculate { min-height: 28px; }
    .kqs-product .kqs-product-buy-compact .product-buy-phone-row .zamow_telefon { margin-top: 4px; margin-bottom: 4px; padding-top: 6px; padding-bottom: 6px; }
}


/* tomasz 2026-10-28: Keep the narrower desktop value column within the existing summary without constraining label cells. */
@media (min-width: 768px) and (max-width: 1023px) {
    .kqs-product .kqs-product-buy-compact > .kqs-product-buy-columns > .kqs-product-value-column { width: 160px; }
}

/* tomasz 2026-10-28: Use available desktop space for the gallery and lower the purchase block without changing its internal spacing. */
@media (min-width: 768px) {
    .kqs-product .kqs-product-summary { grid-template-columns: minmax(0, 1fr) minmax(0, clamp(40%, 300px, 45%)); }
    .kqs-product .kqs-product-summary-gallery .product-card-gallery { width: min(100%, 500px); }
    .kqs-product .kqs-product-summary-gallery .product-card-gallery .product-card-gallery-thumbnail { flex-basis: 64px; width: 64px; height: 64px; }
    .kqs-product .kqs-product-summary-purchase { margin-top: 16px; }
}
@media (min-width: 1024px) {
    .kqs-product .kqs-product-summary-purchase { margin-top: 32px; }
}

/* tomasz 2026-10-28: Move the complete desktop purchase group without altering its width, fields or internal spacing. */
@media (min-width: 768px) {
    .kqs-product .kqs-product-summary-centered .kqs-product-summary-purchase { position: relative; left: var(--kqs-purchase-x, 0px); top: var(--kqs-purchase-y, 0px); margin-top: 0; }
    .kqs-product .kqs-product-summary-centered .kqs-product-summary-gallery { z-index: 1; }
}

/* tomasz 2026-10-28: Align the telephone frame with the purchase controls only in the stacked product view. */
@media (max-width: 767px) {
    .kqs-product .product-buy-phone-row > td { text-align: left; }
    .kqs-product .product-buy-phone-row .zamow_telefon { margin-left: 0; margin-right: auto; }
}

/* tomasz 2026-10-28: Move the whole telephone number to the next line instead of breaking between digit groups. */
.kqs-product .product-buy-phone-row .zamow_telefon b { display: inline-block; white-space: nowrap; }

/* tomasz 2026-10-28: Keep compact mobile tab widths while retaining the wider desktop tabs and existing type/height. */
@media (max-width: 767px) {
    .kqs-product .bookmarks a.tabButton { padding-left: 12px; padding-right: 12px; }
}

/* tomasz 2026-10-28: Keep desktop product service hints outside the clipped tab area; retain the icon layout and hide hints on phones. */
.kqs-product .tabContent a.tooltips_2.kqs-service-hint > span { display: none; visibility: visible; position: fixed; width: 400px; max-width: calc(100vw - 24px); max-height: calc(100vh - 24px); margin: 0; top: 12px; bottom: auto; left: 12px; right: auto; overflow: auto; z-index: 70; }
.kqs-product .tabContent a.tooltips_2.kqs-service-hint > span:before,
.kqs-product .tabContent a.tooltips_2.kqs-service-hint > span:after { display: none; }
@media (min-width: 768px) {
    .kqs-product .tabContent a.tooltips_2.kqs-service-hint[data-kqs-service-open] > span { display: block; }
}

/* tomasz 2026-10-28: Wrap each service icon with its original caption; preserve desktop proportions and use readable phone columns. */
.kqs-product .tabContent table.kqs-service-wrap { display: block; width: 100%; max-width: 100%; }
.kqs-product .tabContent .kqs-service-wrap > tbody { display: flex; flex-wrap: wrap; gap: 18px 8px; align-items: flex-start; }
.kqs-product .tabContent .kqs-service-wrap-icons { display: contents; }
.kqs-product .tabContent .kqs-service-wrap-labels { display: none; }
.kqs-product .tabContent .kqs-service-wrap-item { display: flex; flex: 0 1 108px; flex-direction: column; align-items: center; width: 108px !important; min-width: 0; padding: 4px; }
.kqs-product .tabContent .kqs-service-wrap-item > a.tooltips_2 { display: inline-block; }
.kqs-product .tabContent .kqs-service-wrap-caption { width: 90px; max-width: 100%; margin-top: 6px; text-align: center; overflow-wrap: break-word; }
@media (max-width: 767px) {
    .kqs-product .tabContent .kqs-service-wrap > tbody { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 88px), 1fr)); max-width: 324px; align-items: start; }
    .kqs-product .tabContent .kqs-service-wrap-item { width: auto !important; overflow-wrap: normal; word-break: normal; hyphens: none; }
    .kqs-product .tabContent .kqs-service-wrap-item > a.tooltips_2 { width: 70px; max-width: 100%; }
    .kqs-product .tabContent .kqs-service-wrap-item img { width: 100%; height: auto; }
    .kqs-product .tabContent .kqs-service-wrap-caption { overflow-wrap: normal; word-break: normal; hyphens: none; }
}

/* tomasz 2026-10-29: Keep mobile product metadata beside its label while allowing long values to wrap within their column. */
@media (max-width: 767px) {
    .kqs-product .product-buy-table > tbody > tr:has(> .product-buy-meta-label) { display: grid; grid-template-columns: 91px minmax(0, 1fr); align-items: baseline; }
}

/* tomasz 2026-10-29: Keep configurator choice artwork/native fields beside the original label on phone and desktop. */
.kqs-product #konfiguracja div:has(> input:is([type=radio], [type=checkbox]) ~ label) { display: grid; grid-template-columns: 20px minmax(0, 1fr); column-gap: 6px; align-items: start; text-indent: 0; }
.kqs-product #konfiguracja div:has(> input:is([type=radio], [type=checkbox]) ~ label) > label { display: block; width: auto; max-width: 100%; margin: 0; }
.kqs-product #konfiguracja div:has(> input:is([type=radio], [type=checkbox]) ~ label) > :is(.subradio, .subcheckbox, input[type=radio], input[type=checkbox]) { margin: 6px 0 0; }

/* tomasz 2026-10-29: Align desktop configurator surcharges in a right-hand column; phone retains its stacked price. */
@media (min-width: 768px) {
    .kqs-product #konfiguracja div:has(> input:is([type=radio], [type=checkbox]) ~ label) > label:has(> .cena_plus) { display: grid; grid-template-columns: minmax(0, 1fr) max-content; column-gap: 12px; align-items: baseline; }
    .kqs-product #konfiguracja div:has(> input:is([type=radio], [type=checkbox]) ~ label) > label:has(> .cena_plus) > :is(.l1, .l2) { grid-column: 1; }
    .kqs-product #konfiguracja div:has(> input:is([type=radio], [type=checkbox]) ~ label) > label:has(> .cena_plus) > .cena_plus { grid-column: 2; grid-row: 1; text-align: right; white-space: nowrap; }
}

/* tomasz 2026-10-29: Compensate for the radio sprite artwork sitting two pixels above its 20px control center. */
.kqs-product #konfiguracja div:has(> input[type=radio] ~ label) > div.subradio { margin-top: 8px; }

/* tomasz 2026-10-29: Center leasing and insurance graphics without changing their size or the surrounding text alignment. */
.kqs-product :is(#w18, #w19) img { display: block; margin-left: auto; margin-right: auto; }

/* tomasz 2026-10-29: Give accessory descriptions the remaining desktop width and keep price above the cart in a compact right column. */
@media (min-width: 768px) {
    .kqs-product .accessories_content { display: grid; grid-template-columns: minmax(0, 1fr) 150px; align-items: center; }
    .kqs-product .accessories_item_title { grid-column: 1 / -1; }
    .kqs-product .accessories_content_right { flex-direction: column; flex-wrap: nowrap; align-items: flex-end; justify-content: center; gap: 0; text-align: right; }
}

/* tomasz 2026-10-30: Keep the product-version dock below existing responsive dialogs and utility controls. */
body:has(.kqs-product) > #kpv-decision-dock { z-index: 50 !important; }

/* tomasz 2026-11-01: Mobile comparison removes only the decorative keyboard texture; retain the dark search surface. */
@media (max-width: 767px) { .kqs-discovery:before { background-image: none; } }

/* tomasz 2026-11-01: Prepared disclosures have their final phone geometry before the first paint; without JavaScript all links remain visible. */
.kqs-search-toggle { display: none; }
.kqs-front a:focus, .kqs-front button:focus, .kqs-front input:focus, .kqs-front select:focus, .kqs-front summary:focus { outline-color: #a95e00; }
.kqs-front .new_button { background-color: #667482; color: #fff; }
.kqs-front .new_button:hover { background-color: #294d6e; color: #fff; }
.kqs-front .brak { background-color: #6c6c6c; color: #fff; }
.kqs-product .product-buy-quantity-label, .kqs-product .product-buy-meta-value .dostepnosc { color: #006fa3 !important; }
.kqs-product .kqs-option-description a, .kqs-product .kqs-configuration-help a, .kqs-product #w5 p.dyszka2 a { color: #006fa3 !important; text-decoration: underline; }
.kqs-product a.dyszka2[href*="i143,certyfikaty"] { color: #006fa3 !important; text-decoration: underline; }
.kqs-product .gal p.dyszka2 a:not(.new_button) { color: #006fa3 !important; text-decoration: underline; }
.kqs-front .kqs-filter-groups .fwa a, .kqs-tool-drawer .kqs-filter-groups .fwa a { text-decoration: underline; }
.kqs-category-view .kqs-category-section-title { margin: 0 0 10px; font-size: 14px; }
/* tomasz 2026-11-01: Reserve the measured square Intel category artwork and the existing 23x22 listing icons, independently of loading time. */
.kqs-category-view .wizytowka_header img[src$="Intel_Core_Ultra.jpg"] { width: 150px; height: 150px; object-fit: contain; }
.kqs-listing-views img[src$="/tryb1.gif"], .kqs-listing-views img[src$="/tryb2.gif"], .kqs-listing-views img[src$="/tryb3.gif"], .kqs-listing-views img[src$="/tryb4.gif"] { width: 23px; height: 22px; }
/* tomasz 2026-11-01: Resolve measured desktop target spacing with small local increases, preserving the masthead proportions and phone rules. */
@media (min-width: 768px) {
    .kqs-header-contact a { min-height: 24px; }
    .kqs-help > div { row-gap: 6px; }
    .kqs-footer a, .kqs-aside a.menu-notebooki { display: inline-flex; align-items: center; min-height: 24px; }
    .kqs-aside input[type=image][src$="/lupa.gif"], .kqs-aside input[type=image][data-kqs-original-src$="/lupa.gif"] { min-height: 24px; padding: 2px; }
}
/* tomasz 2026-11-01: Reserve only the existing drawer gutters before initialization; never hide the original sidebar tree early. */
@media (max-width: 1023px) {
    html.kqs-drawer-capable .kqs-frame-prepared .kqs-columns { display: block; padding-left: 64px; padding-right: 112px; }
    html.kqs-drawer-capable .kqs-frame-prepared > .kqs-category-menu { display: none !important; }
}
@media (max-width: 599px) {
    html.kqs-drawer-capable .kqs-frame-prepared .kqs-columns { padding-right: 90px; }
}
@media (max-width: 767px) {
    /* tomasz 2026-11-01: The legacy1000px cookie message must wrap so its close action remains reachable on phones and browser zoom. */
    body:has(#kqs-front) #cookies-message { left: 0; right: 0; width: 100% !important; padding: 0 !important; }
    body:has(#kqs-front) #cookies-message > div > div { box-sizing: border-box; width: 100% !important; max-width: 1000px; height: auto !important; padding: 6px 10px !important; line-height: 1.5; }
    body:has(#kqs-front) #cookies-message span { display: inline-block; max-width: 100%; margin-left: 6px !important; }
    body:has(#kqs-front) #accept-cookies-checkbox { display: inline-flex; align-items: center; min-height: 44px; height: auto !important; line-height: 1.4 !important; }
    html.kqs-header-js .kqs-help-prepared > h2 { margin: 0; }
    html.kqs-header-js .kqs-help-prepared .kqs-help-label { display: none; }
    html.kqs-header-js .kqs-help-prepared .kqs-help-toggle { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; min-height: 44px; padding: 0; border: 0; background: transparent; color: inherit; font: inherit; text-align: left; }
    html.kqs-header-js .kqs-help-prepared:not([data-kqs-open=true]) > #kqs-help-links { display: none; }
    html.kqs-header-js .kqs-help-prepared[data-kqs-open=true] > #kqs-help-links { margin-top: 8px; }
    html.kqs-header-js .kqs-search-prepared > h2 { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 44px; }
    html.kqs-header-js .kqs-search-prepared .kqs-search-toggle { display: inline-flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 44px; padding: 4px 8px; border: 1px solid #8698a5; border-radius: 3px; background: transparent; color: #fff; font-size: 12px; }
    .kqs-search-toggle:after { content: ''; width: 8px; height: 8px; flex: 0 0 auto; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); }
    .kqs-search-toggle[aria-expanded=true]:after { transform: rotate(225deg); }
    html.kqs-header-js .kqs-search-prepared:not([data-kqs-open=true]) [data-kqs-search-extra] { display: none !important; }
    html.kqs-header-js .kqs-search-prepared:not([data-kqs-open=true]) .kqs-search { grid-row: 1; }
    .kqs-nav-toggle { display: none; }
    .kqs-nav-fallback-ready .kqs-nav-toggle { display: block; }
    .kqs-product .nazwa-produktu h1 { margin-bottom: 12px; }
    .kqs-product .kqs-product-title-details { display: block; margin-top: 6px; font-size: 14px; font-weight: normal; line-height: 1.45; }
    .kqs-footer { font-size: 14px; }
    .kqs-footer h2 { font-size: 15px; }
    .kqs-footer a { display: inline-flex; align-items: center; min-height: 32px; }
    .kqs-footer-bottom { font-size: 13px; }
    .kqs-front .new_button { display: flex; align-items: center; justify-content: center; min-height: 40px; }
    .kqs-front .new_button_sm { font-size: 12px; padding: 7px 9px; }
}
@media (max-width: 599px) {
    .kqs-category-view .wizytowka_header img[src$="Intel_Core_Ultra.jpg"] { width: 120px; height: 120px; }
}

/* tomasz 2026-11-01: The same local option-description class covers current templates and recognized legacy product HTML. */
/* tomasz 2026-11-03: Preserve attribute typography and spacing with valid block markup instead of FONT and nested P/DIV. */
.kqs-front .kqs-attribute { margin: 1em 0; }
.kqs-front .kqs-attribute:last-child { margin-bottom: 0; }
.kqs-front .kqs-attribute-title { margin: 5px; font-size: 12px; }
.kqs-front .kqs-attribute-label { color: #294d6e; }
.kqs-front .kqs-legacy-attribute-label { color: #294d6e; }
.kqs-front .kqs-font-blue { color: blue; }
.kqs-front .kqs-attribute-description { padding: 0; }
.kqs-front .kqs-attribute-value-wrap { margin: 1em 0; }
.kqs-front .kqs-attribute-value { margin: 5px; font-size: 11px; text-indent: 14px; color: #000; }
.kqs-front .kqs-attribute-separator { padding-top: 10px; }
.kqs-front .kqs-option-description { margin: 5px; font-size: 11px; color: #666; min-height: 55px; }
.kqs-product .kqs-option-description { color: #666 !important; }
.kqs-product .kqs-option-description a { color: #006fa3 !important; text-decoration: underline !important; }
.kqs-product .kqs-option-description a:hover, .kqs-product .kqs-option-description a:focus { color: #004f7a !important; text-decoration: underline !important; }
/* tomasz 2026-11-01: Keep the revealed desktop purchase bar readable after scrolling through the same configuration. */
#plywak #plywak_przejdz, #plywak .plywak-quantity > span { color: #006fa3 !important; }
#plywak #plywak_przejdz { text-decoration: underline; }
#plywak #plywak_przejdz:hover, #plywak #plywak_przejdz:focus { color: #004f7a !important; }
/* tomasz 2026-11-01: Expand only reference link boxes, keeping their typography and original keyboard navigation. */
.kqs-aside-right a[href*="/zdjecia/referencje/"] { display: inline-flex; align-items: center; min-height: 24px; max-width: 100%; }
.kqs-aside-right a:has(> img[src*="/referencje/miniatury/"]), .kqs-aside-right a:has(> .kqs-responsive-picture > img[src*="/referencje/miniatury/"]) { display: inline-block; max-width: 100%; vertical-align: middle; }
/* tomasz 2026-11-01: Reserve the measured70x61 benefit images in older HTML too, including their hover counterparts. */
.kqs-category-view img[src$="/0bad_bw.jpg"], .kqs-category-view img[src$="/0bad.jpg"], .kqs-category-view img[src$="/pakiet_dodatkowych_bw.jpg"], .kqs-category-view img[src$="/pakiet_dodatkowych.jpg"], .kqs-category-view img[src$="/zwrot_bw.jpg"], .kqs-category-view img[src$="/zwrot.jpg"] { width: 70px; height: 61px; }


/* tomasz 2026-11-01: Picture wrappers retain the approved image layout; the configure link owns its touch area instead of padding the bitmap. */
.kqs-responsive-picture { display: contents; }
.kqs-category-view .wizytowka_header > .kqs-responsive-picture { display: block; grid-area: image; justify-self: end; max-width: 150px; }
.kqs-front a.kqs-configure-link, .kqs-front a:has(.kqs-configure-image) { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 32px; padding-bottom: 4px; }
.kqs-configure-image { width: 81px; height: 18px; padding: 0; object-fit: contain; }
#galeria-box :focus-visible { outline: 3px solid #a95e00; outline-offset: 3px; }
@media (max-width: 767px) { .kqs-front a.kqs-configure-link, .kqs-front a:has(.kqs-configure-image) { min-height: 44px; } }
@media (max-width: 599px) { .kqs-category-view .wizytowka_header > .kqs-responsive-picture { justify-self: center; max-width: 120px; } }


/* tomasz 2026-11-01: Keep the existing seven-photo strip inside narrow gallery windows and the close button reachable. */
@media (max-width: 1023px) {
    #galeria-miniatury { display: block; max-width: calc(100vw - 32px); overflow-x: auto; overscroll-behavior: contain; }
    #galeria-miniatury > table { width: max-content; }
    #galeria-zamknij { right: 0 !important; top: 0 !important; }
}

/* tomasz 2026-11-01: Intrinsic metadata must preserve the former max-height scaling and the content width of these padded illustrations. */
.kqs-category-view .wizytowka_header img[data-kqs-added-dimensions="true"][src$="/laptop-dell-latitude-e7470.jpg"] { width: auto; }
.kqs-product #konfiguracja table.tabela2 img[data-kqs-added-dimensions="true"][src$="/zdjecia/konfigurator/dysk.jpg"],
.kqs-product #konfiguracja table.tabela2 img[data-kqs-added-dimensions="true"][src$="/zdjecia/konfigurator/monitor.jpg"],
.kqs-product #konfiguracja table.tabela2 img[data-kqs-added-dimensions="true"][src$="/zdjecia/konfigurator/uchwytDoMonitora.jpg"] { box-sizing: content-box; }

/* tomasz 2026-11-02: Hide focus outlines after pointer input; keyboard input restores the existing accessible indicators. */
html[data-kqs-focus-input="pointer"] .kqs-front :focus,
html[data-kqs-focus-input="pointer"] .kqs-drawer-module .show_list:focus,
html[data-kqs-focus-input="pointer"] #galeria-box :focus { outline: none; }
html[data-kqs-focus-input="pointer"] .kqs-filter-ready > input.kqs-filter-native[type=checkbox]:focus + .subcheckbox { outline: none; }

/* tomasz 2026-11-04: Delivered transparent identity retains fallback cropping; desktop row heights are set independently above. */
.kqs-header:has(.kqs-brand-logo){grid-template-columns:minmax(0,2.2fr) minmax(220px,1fr)}
.kqs-brand:has(.kqs-brand-logo){max-width:700px}
.kqs-brand img.kqs-brand-logo{width:100%;max-width:100%;height:auto;margin:0;clip-path:none}
/* tomasz 2026-11-04: Restore the former identity, contact and gutter-ad shadows without changing layout. */
.kqs-brand:has(.kqs-brand-logo){filter:drop-shadow(1px 2px 1px rgba(0,0,0,.7))}
.kqs-header-contact{text-shadow:1px 1px 1px rgba(0,0,0,.7)}
body #banner_left.kqs-gutter-banner{box-shadow:0 0 12px #000}
/* tomasz 2026-11-04: Local logo-size trial; retain the 106px desktop row and phone geometry. */
@media(min-width:768px){.kqs-brand img.kqs-brand-logo{width:auto;max-width:calc(100% - 16px);height:auto;max-height:80px;margin:0 0 0 16px}}
.kqs-header:has(.kqs-brand-logo):before{background:linear-gradient(#5a7d99,#3f6280);clip-path:none}
.kqs-aside-left img.kqs-partner-certificates{display:block;width:180px;max-width:100%;height:auto;margin:0 auto}
.kqs-artwork-logo{object-fit:contain;object-position:center}
@media(max-width:767px){.kqs-header:has(.kqs-brand-logo){grid-template-columns:minmax(0,1fr)}}

/* tomasz 2026-11-03: Regular document rows share caption tracks, so longer names cannot stagger previews or following rows. */
.kqs-content .kqs-reference-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:row;gap:24px;margin:20px 0 32px;width:100%;min-width:0}
.kqs-content .kqs-reference-card{display:grid;grid-row:span 2;grid-template-rows:subgrid;row-gap:12px;min-width:0;margin:0;text-align:center}
.kqs-reference-caption{min-width:0;line-height:1.5;overflow-wrap:anywhere;align-self:start}
.kqs-content .kqs-reference-preview{display:flex;align-items:flex-start;justify-content:center;width:100%;height:340px;min-width:0}
.kqs-content .kqs-reference-preview img{display:block;width:100%;height:100%;max-width:240px;max-height:340px;object-fit:scale-down;object-position:top center;margin:0!important}
@supports not (grid-template-rows:subgrid){.kqs-content .kqs-reference-card{grid-row:auto;grid-template-rows:minmax(4.5em,auto) 340px}}
@media(max-width:1199px){.kqs-content .kqs-reference-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.kqs-content .kqs-reference-grid{grid-template-columns:minmax(0,1fr)}}

/* tomasz 2026-11-03: Centre the existing client-logo collage without changing its inline 510px width or responsive proportions. */
.kqs-content img[src$="/kliencilogonowe.jpg"],.kqs-content img[data-kqs-original-src$="/kliencilogonowe.jpg"]{display:block;margin-left:auto;margin-right:auto}

/* tomasz 2026-11-03: Let paragraphs fill legacy information-page content; retain limits outside these content cells. */
.kqs-content .komcw p{max-width:none}

/* tomasz 2026-11-04: Preserve the original tab nodes and scrollable product tables when pinning section navigation. */
.kqs-product { --kqs-product-tabs-enabled: 1; }
.kqs-product .kqs-product-tabs-slot { display: flow-root; min-width: 0; margin: 20px 0 12px; }
.kqs-product .kqs-product-sections { position: relative; min-width: 0; width: 100%; }
.kqs-product .kqs-product-sections > .bookmarks { margin: 0; }
.kqs-product .kqs-product-sections-toggle { display: none; }
.kqs-product .kqs-product-sections .bookmarks a.tabButton.active { background-color: #325f80; color: #fff; }
.kqs-product .kqs-product-sections.kqs-product-tabs-pinned { position: fixed; top: var(--kqs-tabs-top, 0px); left: var(--kqs-tabs-left, 0px); width: var(--kqs-tabs-width) !important; z-index: 45; background: #fff; box-shadow: 0 3px 6px rgba(26,51,70,.16); }
/* tomasz 2026-11-04: Desktop keeps only the opaque tab faces; remove the enclosing white slab and shadow. */
@media (min-width: 768px) {
    .kqs-product .kqs-product-sections.kqs-product-tabs-pinned { background: transparent; box-shadow: none; }
}
.kqs-product.kqs-product-tabs-ready .tabContent,
.kqs-product.kqs-product-tabs-ready :is(input,select,textarea,[tabindex]) { scroll-margin-top: var(--kqs-product-tabs-offset, 16px); }
@media (max-width: 767px) {
    .kqs-product .kqs-product-sections-toggle { display: flex; justify-content: space-between; align-items: center; gap: 12px; width: 100%; min-height: 44px; margin: 0; padding: 10px 12px; border: 1px solid #b7c8d5; border-radius: 5px; background: #f4f8fb; color: #244b68; font: bold 13px/18px Arial,sans-serif; text-align: left; }
    .kqs-product .kqs-product-sections > .bookmarks { display: none !important; position: absolute; left: 0; right: 0; top: 100%; width: 100%; max-height: var(--kqs-sections-list-height, 55vh); overflow-y: auto; overscroll-behavior: contain; padding: 6px; border: 1px solid #b7c8d5; border-radius: 0 0 5px 5px; background: #fff; box-shadow: 0 4px 10px rgba(26,51,70,.18); }
    .kqs-product .kqs-product-sections[data-kqs-sections-open] { z-index: 60; }
    .kqs-product .kqs-product-sections[data-kqs-sections-open] > .bookmarks { display: flex !important; flex-direction: column; flex-wrap: nowrap; gap: 4px; }
    .kqs-product .kqs-product-sections > .bookmarks a.tabButton { flex: 0 0 auto; width: 100% !important; min-height: 44px; padding: 10px 12px; text-align: left; }
}

/* tomasz 2026-11-04: Phone toolbars recover side-rail space while retaining44px touch targets and the original modal drawers. */
@media (max-width: 767px) {
    html.kqs-drawer-capable .kqs-frame-prepared:not(.kqs-drawers-ready),
    .kqs-phone-tools-ready { padding-top: calc(45px + env(safe-area-inset-top, 0px)); padding-bottom: calc(45px + env(safe-area-inset-bottom, 0px)); }
    html.kqs-drawer-capable .kqs-frame-prepared:not(.kqs-drawers-ready) .kqs-columns,
    html.kqs-drawer-capable .kqs-phone-tools-ready .kqs-columns { padding-left: var(--kqs-pad); padding-right: var(--kqs-pad); }
    .kqs-phone-tools-ready > .kqs-edge-tools:not(.kqs-edge-categories) { display: flex; flex-direction: row; align-items: stretch; gap: 0; left: 0; right: 0; top: auto; bottom: 0; width: 100%; max-height: none; overflow: visible; padding: 0 env(safe-area-inset-right, 0px) env(safe-area-inset-bottom, 0px) env(safe-area-inset-left, 0px); border-top: 1px solid #c7d6e1; background: #f4f8fb; box-shadow: 0 -2px 6px rgba(26,51,70,.1); }
    .kqs-phone-tools-ready > .kqs-phone-tools { top: 0 !important; bottom: auto !important; padding-top: env(safe-area-inset-top, 0px) !important; padding-bottom: 0 !important; border-top: 0 !important; border-bottom: 1px solid #c7d6e1; box-shadow: 0 2px 6px rgba(26,51,70,.1) !important; }
    .kqs-phone-tools-ready > .kqs-edge-tools .kqs-edge-button { display: inline-flex; flex: 1 1 0; justify-content: center; align-items: center; gap: 6px; min-width: 0; width: auto; min-height: 44px; padding: 8px 6px; border: 0; border-right: 1px solid #d5e0e8; border-radius: 0; background: transparent; color: #244b68; font: 600 13px/18px Tahoma,Verdana,Arial,sans-serif !important; text-align: center; }
    .kqs-phone-tools-ready > .kqs-edge-tools .kqs-edge-button:last-child { border-right: 0; }
    .kqs-phone-tools-ready > .kqs-edge-tools .kqs-edge-button:hover,
    .kqs-phone-tools-ready > .kqs-edge-tools .kqs-edge-button[aria-expanded=true] { background: #e1ecf4; box-shadow: inset 0 -2px #325f80; }
    .kqs-phone-tools-ready > .kqs-edge-tools .kqs-edge-secondary,
    .kqs-phone-tools-ready > .kqs-edge-tools [data-kqs-tool=filters] { display: none; }
    .kqs-phone-tools-ready .kqs-edge-category > span { writing-mode: horizontal-tb; transform: none; }
    .kqs-phone-tools-ready .kqs-edge-count { display: inline-flex; justify-content: center; align-items: center; min-width: 18px; padding: 0 4px; border-radius: 9px; background: #dce8f1; color: #244b68; font-size: 11px; line-height: 18px; }
    html:has(.kqs-phone-tools-ready) { scroll-padding-top: calc(56px + env(safe-area-inset-top, 0px)); scroll-padding-bottom: calc(56px + env(safe-area-inset-bottom, 0px)); }
    .kqs-phone-tools-ready :is(a,button,input,select,textarea,[tabindex]) { scroll-margin-top: 56px; scroll-margin-bottom: 56px; }
    body:has(.kqs-phone-tools-ready) #cookies-message { bottom: calc(45px + env(safe-area-inset-bottom, 0px)) !important; }
    body:has(.kqs-phone-tools-ready) > #kpv-decision-dock { bottom: calc(55px + env(safe-area-inset-bottom, 0px)) !important; max-height: calc(100dvh - 118px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px)); }
}
