/*
Theme Name: Serwis - baza
Description: Wspólne szablony stron serwisowych (strona, model, WooCommerce). Wygląd daje motyw potomny danej marki.
Version: 1.38
Text Domain: serwis
*/
*,*::before,*::after{box-sizing:border-box}
body{margin:0;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3,h4,p{margin:0}
.w{max-width:1180px;margin:0 auto;padding-inline:max(16px,4vw)}
@media(min-width:1260px){.w{padding-inline:40px}}
.two{display:grid;gap:clamp(20px,4vw,48px);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}
@media(max-width:820px){.two{grid-template-columns:minmax(0,1fr)}}
.grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr))}
.tw{overflow-x:auto}
table{border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}
.nophoto{display:grid;place-items:center;font-size:12px;color:#5f646a;text-align:center;padding:10px;min-height:120px}
details summary{cursor:pointer;list-style:none}
details summary::-webkit-details-marker{display:none}
/* tekst w wygodnej szerokości czytania, a tabele, listy części i taśm na całą szerokość treści */
.entry > :is(p,ul,ol,h2,h3,h4,blockquote,details,.wp-block-buttons){max-width:80ch}
.entry{max-width:none}
.entry > * + *{margin-top:1em}
.entry table td{padding:8px 10px;border-bottom:1px solid rgba(0,0,0,.1)}
/* „×” czyszczący pole wyszukiwania: kolor marki zamiast systemowego niebieskiego (Chrome, Edge, Safari) */
input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none;width:12px;height:12px;margin-left:8px;cursor:pointer;background:var(--fs-akcent,#333);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M1 1l10 10M11 1L1 11' stroke='%23000' stroke-width='2.2'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M1 1l10 10M11 1L1 11' stroke='%23000' stroke-width='2.2'/%3E%3C/svg%3E") center/contain no-repeat}
/* logo serwisu (sb_logo): kolory i kroje w motywach marek */
.sl-znak{flex:none;display:block;width:46px;height:46px}.sl-znak svg{display:block;width:100%;height:100%}
.sl-nazwa em{font-style:inherit}
.sl-nazwa{display:grid;gap:2px;line-height:1.15;min-width:0}
/* komunikaty WooCommerce („Nie znaleziono produktów” itp.) w kolorach marki zamiast domyślnego niebieskiego */
.woocommerce-info,.woocommerce-message,.woocommerce-error,.woocommerce-noreviews,p.no-comments{border-top:0;border-left:4px solid var(--fs-rys,var(--fs-akcent,#333));background:rgba(0,0,0,.035);border-radius:var(--fs-r,4px);color:inherit}
.woocommerce-error{border-left-color:#b3261e}
.woocommerce-info::before,.woocommerce-message::before{color:var(--fs-rys,var(--fs-akcent,#333))}
.woocommerce-info a,.woocommerce-message a{color:var(--fs-akcent,inherit);font-weight:600}
/* WooCommerce: bez paska bocznego, katalog na całą szerokość */
.woocommerce .woocommerce-result-count,.woocommerce .woocommerce-ordering{margin-bottom:16px}
.woocommerce ul.products{display:grid!important;gap:16px;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr))}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none!important}
.woocommerce ul.products li.product{width:auto!important;margin:0!important;float:none!important;display:flex;flex-direction:column}
/* przycisk „Zapytaj o cenę” zawsze na dole karty, równo w całym rzędzie, niezależnie od długości nazwy */
.woocommerce ul.products li.product > a:first-child{margin-bottom:14px}
.woocommerce ul.products li.product .button{margin-top:auto!important;align-self:flex-start}
.cena-na-zapytanie{font-weight:700}
.zapytanie-czesc{padding:12px 14px;border-left:4px solid currentColor;background:rgba(0,0,0,.04)}
.skip-link{position:absolute;left:-999px}.skip-link:focus{left:8px;top:8px;z-index:99;background:#fff;padding:8px}
:focus-visible{outline:2px solid currentColor;outline-offset:2px}

/* Formularz serwisu: układ wspólny, kolory z --fs-akcent i --fs-linia motywu marki */
.fs{display:grid;gap:14px;max-width:760px;margin-top:8px}
.fs label{display:grid;gap:5px;font-weight:600;font-size:14px}
.fs label span{font-weight:400;opacity:.7}
.fs input[type=text],.fs input[type=email],.fs input[type=tel],.fs select,.fs textarea{width:100%;font:inherit;font-weight:400;padding:11px 13px;border:1px solid var(--fs-linia,#c9ced2);border-radius:var(--fs-r,4px);background:#fff;color:inherit}
.fs input:focus,.fs select:focus,.fs textarea:focus{outline:2px solid var(--fs-akcent,#333);outline-offset:1px;border-color:transparent}
.fs-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:14px;align-items:end}
.fs-typ{border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}
.fs-typ legend{font-weight:600;font-size:14px;margin-bottom:8px;padding:0}
.fs-typ label{display:flex;align-items:center;gap:8px;font-weight:600;border:1px solid var(--fs-linia,#c9ced2);border-radius:var(--fs-r,4px);padding:8px 14px;cursor:pointer}
.fs-typ label:has(input:checked){border-color:var(--fs-akcent,#333);box-shadow:inset 0 0 0 1px var(--fs-akcent,#333)}
.fs-typ input{accent-color:var(--fs-akcent,#333)}
.fs-zgoda{display:flex!important;grid-template-columns:none;gap:10px!important;align-items:flex-start;font-weight:400!important}
.fs-zgoda input{margin-top:4px;accent-color:var(--fs-akcent,#333)}
.fs-hint,.fs-rodo{font-size:13px;opacity:.75;margin:-6px 0 0}
.fs-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.fs .btn{justify-self:start}
.fs-ok,.fs-err{padding:14px 16px;border-left:4px solid var(--fs-akcent,#333);background:rgba(0,0,0,.04);max-width:760px}
.fs-err{border-color:#b3261e;color:#8c1d18}
/* Lista części na stronie modelu: układ wspólny, kolory z motywu marki */
.lc-intro{margin:-6px 0 12px;opacity:.75;font-size:14px}
.lc-filter input{width:100%;max-width:480px;font:inherit;padding:10px 12px;border:1px solid var(--fs-linia,#c9ced2);border-radius:var(--fs-r,4px);background:#fff;margin-bottom:12px}
.lc-filter input:focus{outline:2px solid var(--fs-akcent,#333);outline-offset:1px}
.lc-table{font-size:14px;background:#fff}
.lc-table th{text-align:left;font-size:12px;letter-spacing:.06em;text-transform:uppercase;opacity:.7;padding:8px 10px;border-bottom:2px solid currentColor}
.lc-table td{padding:9px 10px;border-bottom:1px solid var(--fs-linia,#dfe3e1);vertical-align:top}
.lc-table tr[hidden]{display:none}
.lc-poz,.lc-qty{width:56px;font-variant-numeric:tabular-nums}
.lc-sku{white-space:nowrap;font-variant-numeric:tabular-nums}
.lc-name a{font-weight:600}
.lc-tag{display:inline-block;margin:2px 0 0 6px;padding:1px 7px;font-size:11.5px;border-radius:3px;background:rgba(0,0,0,.06)}
.lc-tag.lc-ok{background:#e3f4e6;color:#1f6b33}
.lc-ask a{font-weight:700;color:var(--fs-akcent,inherit);white-space:nowrap}
.lc-none[hidden]{display:none}
.lc-note{margin-top:12px;font-size:14px;opacity:.85}
.lc-note a{text-decoration:underline}
@media(max-width:640px){.lc-table th:nth-child(5),.lc-table td:nth-child(5){display:none}}/* klikalny rysunek złożeniowy nad listą części */
.lc-rys{margin:0 0 18px;background:#fff;border:1px solid var(--fs-linia,#dfe3e1);border-radius:var(--fs-r,4px);overflow:hidden}
.lc-rys-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;font-size:13.5px;border-bottom:1px solid var(--fs-linia,#dfe3e1)}
.lc-rys-bar button{font:inherit;font-weight:700;white-space:nowrap;background:none;border:1px solid currentColor;border-radius:var(--fs-r,4px);padding:4px 10px;cursor:pointer;color:var(--fs-akcent,inherit)}
.lc-rys-sc{overflow:auto;max-height:85vh;-webkit-overflow-scrolling:touch}
.lc-rys-in{position:relative;width:100%;min-width:640px}
.lc-rys.zoom .lc-rys-in{width:200%}
.lc-rys-sc.lc-drag{cursor:grab;user-select:none;-webkit-user-select:none}
.lc-rys-sc.lc-drag img{-webkit-user-drag:none}
.lc-rys-sc.lc-ciagnie{cursor:grabbing}
.lc-rys-sc.lc-ciagnie .lc-pt{pointer-events:none}
.lc-rys-in img{display:block;width:100%;height:auto;max-width:none}
.lc-pt{position:absolute;cursor:pointer;width:var(--r,1.6%);aspect-ratio:1;min-width:18px;transform:translate(-50%,-50%);border-radius:50%;border:2px solid var(--fs-rys,var(--fs-akcent,#d9421b));background:color-mix(in srgb,var(--fs-rys,var(--fs-akcent,#d9421b)) 8%,transparent);transition:background .12s,box-shadow .12s}
.lc-pt:hover,.lc-pt:focus-visible,.lc-pt.on{background:color-mix(in srgb,var(--fs-rys,var(--fs-akcent,#d9421b)) 35%,transparent);box-shadow:0 0 0 5px color-mix(in srgb,var(--fs-rys,var(--fs-akcent,#d9421b)) 22%,transparent);outline:none;z-index:3}
.lc-pt.sel{background:color-mix(in srgb,var(--fs-rys,var(--fs-akcent,#d9421b)) 85%,transparent);border-color:var(--fs-rys,var(--fs-akcent,#d9421b));box-shadow:0 0 0 2px #fff}
.lc-table tr.sel td{background:color-mix(in srgb,var(--fs-akcent,#d9421b) 8%,transparent)}
.lc-pt::after{content:attr(data-n);position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%);white-space:nowrap;background:#1f2326;color:#fff;font-size:12.5px;font-weight:600;line-height:1.3;padding:5px 9px;border-radius:3px;pointer-events:none;opacity:0;transition:opacity .12s}
.lc-pt.lc-dn::after{bottom:auto;top:calc(100% + 8px)}
.lc-pt:hover::after,.lc-pt:focus-visible::after,.lc-pt.on::after{opacity:1}
.lc-table tr.on td{background:color-mix(in srgb,var(--fs-rys,var(--fs-akcent,#d9421b)) 10%,#fff)}
.lc-table tr.flash td{animation:lc-flash 1.8s ease-out}
@keyframes lc-flash{0%,35%{background:color-mix(in srgb,var(--fs-rys,var(--fs-akcent,#d9421b)) 30%,#fff)}}
.lc-table tr[data-poz]{scroll-margin-top:90px}
@media(max-width:640px){.lc-rys-bar{flex-wrap:wrap;font-size:13px}}
/* wybór kilku części do jednego zapytania */
.lc-table .lc-chk{width:34px;padding-right:0}
.lc-chk input{width:18px;height:18px;margin:1px 0 0;accent-color:var(--fs-akcent,#333);cursor:pointer}
.lc-table tr.sel td{background:color-mix(in srgb,var(--fs-akcent,#d9421b) 7%,#fff)}
.lc-bar{position:sticky;bottom:0;z-index:5;display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:12px;padding:10px 14px;background:#fff;border:1px solid var(--fs-linia,#dfe3e1);border-top:3px solid var(--fs-akcent,#333);border-radius:var(--fs-r,4px);box-shadow:0 -4px 16px rgba(0,0,0,.08)}
.lc-wroc{position:fixed;right:16px;bottom:96px;z-index:40;font:inherit;font-size:14px;font-weight:700;padding:10px 16px;border:0;border-radius:var(--fs-r,4px);background:var(--fs-akcent,#d9421b);color:#fff;box-shadow:0 6px 18px rgba(0,0,0,.25);cursor:pointer}
.lc-wroc:hover{filter:brightness(1.1)}
.lc-wroc[hidden]{display:none}
@media(max-width:640px){.lc-wroc{right:12px;bottom:84px;font-size:13px;padding:9px 12px}}
.lc-bar[hidden]{display:none}
.lc-bar-n{font-weight:700}
.lc-bar-clr{font:inherit;font-size:14px;background:none;border:0;padding:0;text-decoration:underline;cursor:pointer;color:inherit;opacity:.8}
.lc-bar-ask{margin-left:auto}
.lc-bar-tgl{font:inherit;font-size:14px;background:none;border:0;padding:0;cursor:pointer;color:var(--fs-akcent,#333);font-weight:600}
.lc-bar-list{flex-basis:100%;order:-1;list-style:none;margin:0;padding:0 0 8px;max-height:40vh;overflow:auto;border-bottom:1px solid var(--fs-linia,#dfe3e1);font-size:14px}
.lc-bar-list[hidden]{display:none}
.lc-bar-list li{display:flex;align-items:center;gap:10px;padding:5px 0;border-top:1px solid var(--fs-linia,#dfe3e1)}
.lc-bar-list li:first-child{border-top:0}
.lc-bar-list span{flex:1;min-width:0}
.lc-bar-list button{flex:none;width:28px;height:28px;font-size:18px;line-height:1;background:none;border:1px solid var(--fs-linia,#dfe3e1);border-radius:var(--fs-r,4px);cursor:pointer;color:inherit}
.lc-bar-list button:hover{border-color:var(--fs-akcent,#333);color:var(--fs-akcent,#333)}
/* przycisk „Zapytaj o cenę i termin” na stronie części: oddech od opisu i od SKU/kategorii */
.woocommerce div.product .summary .zapytaj-o-cene{margin:14px 0 16px}
/* listy rozwijane (sortowanie sklepu, formularze): wygląd pól strony zamiast systemowego, własna strzałka */
select{-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit;font-size:15px;font-weight:400;color:inherit;line-height:1.3;min-height:44px;max-width:100%;padding:10px 40px 10px 13px;border:1px solid var(--fs-linia,#c9ced2);border-radius:var(--fs-r,4px);background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%2355595c' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 14px center/12px 8px;cursor:pointer;transition:border-color .15s}
select:hover{border-color:color-mix(in srgb,var(--fs-akcent,#333) 45%,var(--fs-linia,#c9ced2))}
select:focus{outline:2px solid var(--fs-akcent,#333);outline-offset:1px}
select::-ms-expand{display:none}
.woocommerce .woocommerce-ordering{margin:0 0 1.5em}
.woocommerce .woocommerce-ordering select{min-width:240px}
.woocommerce .woocommerce-result-count{line-height:44px;margin:0 0 1.5em}
.fs select{background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%2355595c' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 14px center/12px 8px;padding-right:40px}
/* tabele w treści stron (blok Tabela): jednolita ramka w kolorze linii strony, dół nie jest obcinany przez przewijany kontener */
.entry .wp-block-table{padding:1px;margin:0 0 1.25em}
.entry .wp-block-table table{border:1px solid var(--fs-linia,#dfe3e1);background:#fff}
.entry .wp-block-table td,.entry .wp-block-table th{border:1px solid var(--fs-linia,#dfe3e1);padding:10px 12px;text-align:left;vertical-align:top}
.entry .wp-block-table thead{border-bottom:2px solid var(--fs-linia,#dfe3e1)}
.entry .wp-block-table thead th,.entry .wp-block-table thead td{background:color-mix(in srgb,var(--fs-linia,#dfe3e1) 40%,#fff);font-weight:600}
/* „Najczęściej wymieniane” nad listą części i „Przy wymianie przydadzą się” na stronie części: karty ze zdjęciem */
.lc-top{margin:0 0 22px}
.lc-top h3,.lc-razem h2{font-size:20px;margin:0 0 10px}
.lc-top-g{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}
.lc-k{display:grid;grid-template-columns:84px minmax(0,1fr);gap:12px;align-items:center;background:#fff;border:1px solid var(--fs-linia,#dfe3e1);border-radius:var(--fs-r,4px);padding:8px}
.lc-k-im{display:block;aspect-ratio:1;background:#fff;border:1px solid var(--fs-linia,#dfe3e1);border-radius:var(--fs-r,4px);overflow:hidden}
.lc-k-im img{width:100%;height:100%;object-fit:contain;display:block}
.lc-k-bd{display:grid;gap:3px;min-width:0}
.lc-k-n{font-weight:600;font-size:14px;line-height:1.3;color:inherit;text-decoration:none}
.lc-k-n:hover{text-decoration:underline}
.lc-k-sku{font-size:12.5px;opacity:.7;font-variant-numeric:tabular-nums}
.lc-k-chk{display:flex;align-items:center;gap:6px;font-size:13px;cursor:pointer;margin-top:2px}
.lc-k-chk input{width:16px;height:16px;accent-color:var(--fs-akcent,#333)}
.lc-razem{clear:both;margin:28px 0;padding:20px;background:#fff;border:1px solid var(--fs-linia,#dfe3e1);border-radius:var(--fs-r,4px)}
.lc-razem>p:first-of-type{margin:-4px 0 14px;opacity:.8;font-size:14px}
.lc-razem .lc-komplet{margin-top:6px}
/* strona Taśmy PET i PP */
.tm-wybor{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 18px;font-size:14px}
.tm-wybor span{font-weight:600;margin-right:4px}
.tm-wybor button{font:inherit;font-size:14px;padding:7px 13px;border:1px solid var(--fs-linia,#c9ced2);border-radius:var(--fs-r,4px);background:#fff;cursor:pointer}
.tm-wybor button.on{background:var(--fs-akcent,#333);border-color:var(--fs-akcent,#333);color:#fff}
.tm-h{margin:28px 0 4px}
.tm-op{margin:0 0 12px;opacity:.8}
.tm-kod b{display:block}.tm-kod small{display:block;font-size:12px;opacity:.7}
.tm-pas{font-size:13px}
.tm-tab tr[hidden]{display:none}
.tm-brak{margin:8px 0 0;font-size:14px}.tm-brak[hidden]{display:none}
.tm-typ{display:grid;grid-template-columns:200px minmax(0,1fr);gap:20px;align-items:center;margin:28px 0 14px}
.tm-typ:not(:has(img)){grid-template-columns:1fr}
.tm-foto{width:100%;height:auto;aspect-ratio:16/10;object-fit:contain;background:#fff;border:1px solid var(--fs-linia,#dfe3e1);border-radius:var(--fs-r,4px)}
.tm-typ .tm-h{margin:0 0 6px}.tm-typ .tm-op{margin:0;font-size:15px;line-height:1.55}
.tm-sug .tm-op{margin:-4px 0 10px;font-size:14px;opacity:.8}
.tm-wiecej{margin:10px 0 0;font-weight:600}
.tm-kod a{color:inherit;text-decoration:underline;text-decoration-color:var(--fs-akcent,#999);text-underline-offset:3px}
.lc-k-n a{color:inherit}
.lc-ask{cursor:pointer;user-select:none}
tr.sel .lc-ask a{font-weight:700;color:var(--fs-akcent,#333)}
.lc-ask-w{display:none}tr.sel .lc-ask-d{display:none}tr.sel .lc-ask-w{display:inline}
.sl-diagramy{margin:0 0 28px;padding:18px;border:1px solid var(--fs-linia,#dfe3e1);border-radius:var(--fs-r,4px);background:#fff}
.sl-diagramy h2{margin:0 0 4px;font-size:22px}.sl-diagramy p{margin:0 0 14px;font-size:14px;opacity:.8}
.sl-diagramy-g{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}
.sl-diagram{display:flex;flex-direction:column;gap:6px;text-decoration:none;color:inherit;border:1px solid var(--fs-linia,#dfe3e1);border-radius:var(--fs-r,4px);padding:8px;background:#fff}
.sl-diagram:hover{border-color:var(--fs-akcent,#333)}
.sl-diagram img{width:100%;height:120px;object-fit:contain}
.sl-diagram span{font-size:13px;color:var(--fs-akcent,inherit);font-weight:600}.sl-diagram b{display:block;color:var(--fs-tekst,#222);font-size:15px}
.sl-na-rysunku{margin:10px 0 14px;font-size:15px}
.tm-param{width:100%;max-width:520px;border-collapse:collapse;margin:14px 0 8px;font-size:15px}
.tm-param th,.tm-param td{text-align:left;padding:7px 10px;border-bottom:1px solid var(--fs-linia,#dfe3e1);vertical-align:top}
.tm-param th{font-weight:600;width:40%}
.tm-wszystkie{margin:6px 0 16px;font-weight:600}
@media(max-width:640px){.tm-typ{grid-template-columns:1fr}.tm-foto{max-width:260px}}
/* linki do poradników pod typowymi usterkami (strona modelu) */
.poradniki{display:flex;flex-wrap:wrap;gap:6px 20px;margin:-8px 0 24px;font-weight:700}
.poradniki a{color:var(--fs-akcent,inherit)}
