/* Xinje UI — tokeny: jasny „Katalog” (1a), ciemny „Sterownia” (1c) */
@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/JetBrainsMono-latin-400.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:700;font-display:swap;src:url("fonts/JetBrainsMono-latin-700.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/JetBrainsMono-400.woff2") format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:700;font-display:swap;src:url("fonts/JetBrainsMono-700.woff2") format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
body.xui{--xui-br:#0072C6;--xui-brl:#00A4FF;--xui-brs:#E6F3FC;--xui-bi:#fff;--xui-bg:#fff;--xui-sf:#F5F7FA;--xui-sf2:#EEF2F6;--xui-ln:#E3E8EE;--xui-ln2:#CFD7E1;--xui-tx:#0F1B2A;--xui-mu:#4A586C;--xui-fa:#6B788C;--xui-ok:#12805C;--xui-de:#0B6BA8;--xui-wait:#8A5A00;--xui-no:#B42318;--xui-sh:0 18px 40px -18px rgba(15,27,42,.35);--xui-r:6px;--xui-mono:"JetBrains Mono",ui-monospace,"SF Mono",Consolas,monospace}
body.xui.xui-dark{--xui-br:#00A4FF;--xui-brs:#0F2A40;--xui-bi:#00121F;--xui-bg:#0B1017;--xui-sf:#121A25;--xui-sf2:#17212E;--xui-ln:#223044;--xui-ln2:#2E3F57;--xui-tx:#E6EDF6;--xui-mu:#A3B0C2;--xui-fa:#7F8DA2;--xui-ok:#3DDC97;--xui-de:#4FB3FF;--xui-wait:#F5C04E;--xui-no:#FF7A6B;--xui-sh:0 18px 40px -16px rgba(0,0,0,.7)}
/* tryb ciemny: podstawowe tło i tekst (sekcje Elementora z własnym tłem zostają bez zmian) */
body.xui.xui-dark{background:var(--xui-bg);color:var(--xui-tx)}
body.xui.xui-dark .site,body.xui.xui-dark #page,body.xui.xui-dark .site-header,body.xui.xui-dark .site-footer,body.xui.xui-dark #site-header,body.xui.xui-dark #footer{background-color:var(--xui-bg);color:var(--xui-tx)}
body.xui.xui-dark h1,body.xui.xui-dark h2,body.xui.xui-dark h3,body.xui.xui-dark h4,body.xui.xui-dark .woocommerce-loop-product__title,body.xui.xui-dark .product_title{color:var(--xui-tx)}

.xui-mono,.xui-sku,.xui-loop-sku{font-family:var(--xui-mono)}
.xui-mu{color:var(--xui-mu)}.xui-fa{color:var(--xui-fa);font-size:12.5px}
.xui-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:10px}
.xui-sp{flex:1}

/* przyciski */
.xui-bt{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 16px;border-radius:var(--xui-r);background:var(--xui-br);color:var(--xui-bi)!important;border:1px solid var(--xui-br);font:700 14px/1 inherit;cursor:pointer;text-decoration:none!important;white-space:nowrap}
.xui-bt:hover{filter:brightness(1.1)}.xui-bt:disabled{opacity:.45;cursor:not-allowed}
.xui-bt.xui-g{background:transparent;color:var(--xui-tx)!important;border-color:var(--xui-ln2)}.xui-bt.xui-g:hover{border-color:var(--xui-br);color:var(--xui-br)!important;filter:none}
.xui-plus{width:36px;height:36px;border-radius:var(--xui-r);background:var(--xui-br);color:var(--xui-bi);border:0;font:700 18px/1 inherit;cursor:pointer;display:inline-grid;place-items:center;padding:0}
.xui-plus.done{background:var(--xui-ok)}.xui-plus.busy{opacity:.5}
.xui-link{background:none;border:0;padding:0;color:var(--xui-br);font:inherit;font-weight:600;cursor:pointer;text-decoration:underline}

/* status */
.xui-st{font-size:12.5px;font-weight:600;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.xui-st::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor;flex-shrink:0}
.xui-st-ok{color:var(--xui-ok)!important}.xui-st-de{color:var(--xui-de)!important}.xui-st-wait{color:var(--xui-wait)!important}.xui-st-no{color:var(--xui-no)!important}
.xui-dark .xui-st::before{box-shadow:0 0 8px currentColor}
/* długie teksty terminu ze sklepu muszą się zawijać (karta produktu, warianty) */
p.stock.xui-st,.woocommerce-variation-availability .xui-st{white-space:normal}

/* wyszukiwarka */
.xui-search{position:relative;width:100%;font-size:14px}
.xui-search-in{display:flex;align-items:center;gap:10px;height:46px;border:2px solid var(--xui-ln2);border-radius:var(--xui-r);padding:0 12px;background:var(--xui-sf);color:var(--xui-mu)}
.xui-search-in:focus-within{border-color:var(--xui-br);background:var(--xui-bg)}
.xui-search input[type=search]{flex:1;min-width:0;border:0!important;background:none!important;outline:none!important;box-shadow:none!important;font:15px var(--xui-mono);color:var(--xui-tx);padding:0!important;height:100%}
.xui-search input::placeholder{font-family:inherit;font-size:13.5px;color:var(--xui-fa)}
.xui-search kbd{font:11px var(--xui-mono);border:1px solid var(--xui-ln2);border-radius:4px;padding:1px 6px;color:var(--xui-mu);background:none}
.xui-sugg{position:absolute;left:0;right:0;top:52px;background:var(--xui-bg);border:1px solid var(--xui-ln2);border-radius:var(--xui-r);box-shadow:var(--xui-sh);z-index:9999;max-height:70vh;overflow-y:auto;text-align:left}
.xui-sh{font:11px var(--xui-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--xui-fa);padding:10px 14px 4px}
.xui-sr{display:grid;grid-template-columns:40px minmax(0,1fr) auto auto 36px;gap:12px;align-items:center;padding:9px 14px;border-top:1px solid var(--xui-ln);color:var(--xui-tx)!important;text-decoration:none!important}
.xui-sr:hover,.xui-sr.on{background:var(--xui-sf)}
.xui-sr img{width:40px;height:40px;object-fit:cover;border-radius:4px;background:#fff}
.xui-sr-t{min-width:0;display:flex;flex-direction:column}.xui-sr-t b{font:700 13.5px var(--xui-mono)}.xui-sr-t small{color:var(--xui-mu);font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.xui-sr-p{font-weight:700;white-space:nowrap}
.xui-none{padding:16px;color:var(--xui-mu)}
/* symbol innej marki (0.3.0) */
.xui-xm{border-bottom:1px solid var(--xui-ln);padding-bottom:6px}
.xui-x-h{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;padding:12px 14px 6px;background:var(--xui-sf)}
.xui-x-h b{font:700 15px var(--xui-mono);color:var(--xui-tx)}
.xui-x-h small{color:var(--xui-mu);font-size:12.5px}
.xui-x-b{font:600 11px var(--xui-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--xui-bi);background:var(--xui-fa);border-radius:4px;padding:2px 6px}
.xui-xs{display:grid;grid-template-columns:auto minmax(0,1fr);gap:3px 12px;margin:0;padding:6px 14px 10px;background:var(--xui-sf);font-size:12.5px}
.xui-xs dt{font:700 12.5px var(--xui-mono);color:var(--xui-tx);border-bottom:2px solid var(--xui-brl);justify-self:start;margin:0}
.xui-xs dd{margin:0;color:var(--xui-mu)}
.xui-xm p{margin:0;padding:6px 14px;font-size:12.5px;color:var(--xui-mu);line-height:1.45}
.xui-xm p.xui-x-u{color:var(--xui-wait)}
.xui-xm p code{font:12.5px var(--xui-mono);background:none;padding:0;color:var(--xui-tx)}
.xui-x-l a{display:inline-block;margin-right:16px;font-weight:600;color:var(--xui-br)!important}
.xui-x-f{border-top:1px dashed var(--xui-ln);margin-top:4px!important;padding-top:8px!important}
.xui-xm p.xui-x-z{font-size:11px;color:var(--xui-fa);padding-top:2px}
.xui-why{color:var(--xui-fa)!important;font-size:11.5px!important;white-space:normal!important}
.xui-why em{color:var(--xui-wait);font-style:normal}
.xui-xm .xui-sr{grid-template-columns:40px minmax(0,1fr) auto 36px;row-gap:4px}
.xui-xm .xui-sr img{grid-column:1;grid-row:1/span 2}
.xui-xm .xui-sr-t{grid-column:2;grid-row:1}
.xui-xm .xui-sr-st{grid-column:2;grid-row:2;display:block!important}
.xui-xm .xui-sr-p{grid-column:3;grid-row:1/span 2}
.xui-xm .xui-sr>:last-child{grid-column:4;grid-row:1/span 2}
/* dekoder symbolu (1.0.29): segmenty w osobnych kolorach z podpisem pod spodem, zdanie podsumowania pod spodem; zawijanie na telefonie */
.xui-dec{display:flex;flex-direction:column;gap:10px;padding:12px 14px;background:var(--xui-sf);border-bottom:1px solid var(--xui-ln)}
.xui-dec-t{font:11px var(--xui-mono);color:var(--xui-mu);text-transform:uppercase;letter-spacing:.08em}
.xui-dec-s{display:flex;flex-wrap:wrap;gap:10px 8px;align-items:flex-start}
.xui-dec-seg{display:flex;flex-direction:column;gap:5px;min-width:0;max-width:210px;padding:6px 8px 7px;border-radius:6px;background:rgba(var(--c),.10);border-top:3px solid rgb(var(--c))}
.xui-dec-seg code{align-self:flex-start;font:700 16px/1.2 var(--xui-mono);padding:0;background:none;color:var(--xui-tx);overflow-wrap:anywhere}
.xui-dec-seg small{font-size:12px;line-height:1.35;color:var(--xui-mu);padding:0;white-space:normal;overflow-wrap:anywhere}
.xui-dec-sum{margin:0;font-size:14px;line-height:1.5;color:var(--xui-tx)}
.xui-dec-note{margin:0;font-size:12.5px;line-height:1.45;color:var(--xui-wait)}.xui-dec-note a{color:inherit!important;text-decoration:underline}
.xui-dc0{--c:0,114,198}.xui-dc1{--c:14,138,125}.xui-dc2{--c:194,94,0}.xui-dc3{--c:122,79,191}.xui-dc4{--c:192,48,127}.xui-dc5{--c:90,128,30}.xui-dc6{--c:180,65,42}.xui-dc7{--c:61,90,128}.xui-dcn{--c:138,90,0}
.xui-dark .xui-dc0{--c:79,179,255}.xui-dark .xui-dc1{--c:61,220,190}.xui-dark .xui-dc2{--c:255,160,64}.xui-dark .xui-dc3{--c:180,140,255}.xui-dark .xui-dc4{--c:255,120,180}.xui-dark .xui-dc5{--c:160,210,80}.xui-dark .xui-dc6{--c:255,140,110}.xui-dark .xui-dc7{--c:150,180,220}.xui-dark .xui-dcn{--c:245,192,78}
@media (max-width:480px){.xui-dec{padding:12px}.xui-dec-s{gap:8px 6px}.xui-dec-seg{flex:1 1 calc(50% - 6px);max-width:calc(50% - 3px);box-sizing:border-box}}

/* tabela serii */
.xui-table{font-size:13.5px;color:var(--xui-tx)}
.xui-flt{display:flex;gap:8px 14px;flex-wrap:wrap;align-items:center;margin-bottom:12px}
.xui-fg{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.xui-fl{font-size:12px;color:var(--xui-mu)}
.xui-fch{font:13px inherit;border:1px solid var(--xui-ln2);border-radius:var(--xui-r);padding:6px 11px;background:var(--xui-bg);color:var(--xui-tx);cursor:pointer;line-height:1.2}
.xui-fch:hover{border-color:var(--xui-br)}.xui-fch.on{background:var(--xui-br);color:var(--xui-bi);border-color:var(--xui-br)}
.xui-cnt{margin-left:auto;font-size:13px;color:var(--xui-fa)}.xui-cnt b{font-family:var(--xui-mono);color:var(--xui-tx)}
.xui-tblw{border:1px solid var(--xui-ln);border-radius:var(--xui-r);overflow-x:auto}
table.xui-t{width:100%;border-collapse:collapse;margin:0;border:0;font-size:13.5px}
table.xui-t th{background:var(--xui-sf);color:var(--xui-mu);text-align:left;font:600 11.5px var(--xui-mono);letter-spacing:.06em;text-transform:uppercase;padding:9px 12px;border:0;border-bottom:1px solid var(--xui-ln);white-space:nowrap}
table.xui-t td{padding:9px 12px;border:0;border-bottom:1px solid var(--xui-ln);vertical-align:middle;white-space:nowrap;background:none;color:var(--xui-tx)}
table.xui-t tbody tr:last-child td{border-bottom:0}
.xui-table tbody tr{cursor:pointer}.xui-table tbody tr:hover td{background:var(--xui-sf)}
.xui-c-img img{width:42px;height:42px;object-fit:cover;border-radius:4px;display:block;background:#fff}
.xui-c-sku a{font:700 13.5px var(--xui-mono);color:var(--xui-br)!important;text-decoration:none}
.xui-c-sku small{display:block;color:var(--xui-mu);font-size:12px;max-width:280px;overflow:hidden;text-overflow:ellipsis}
.xui-c-p{text-align:right!important;font-weight:700}.xui-c-p small{display:block;font-weight:400;color:var(--xui-mu);font-size:11.5px}
.xui-cb{width:18px;height:18px;border:1.5px solid var(--xui-fa);border-radius:3px;background:none;padding:0;cursor:pointer;display:inline-grid;place-items:center;color:var(--xui-bi);font-size:12px}
.xui-cb.on{background:var(--xui-br);border-color:var(--xui-br)}.xui-cb.on::after{content:"✓"}
.xui-ask{font-weight:600;font-size:13px;color:var(--xui-br)}
.xui-cmpbar{position:sticky;bottom:0;z-index:50;margin-top:12px;background:var(--xui-bg);border:1px solid var(--xui-ln);border-radius:var(--xui-r);box-shadow:var(--xui-sh);display:flex;align-items:center;gap:12px;padding:10px 14px}
.xui-cmpbar[hidden]{display:none}
.xui-empty{color:var(--xui-mu)}
/* 0.5.0: tabela bez limitu — filtry jako linki z licznikami, sortowanie, strony, przyklejony nagłówek, warianty */
a.xui-fch{text-decoration:none!important;display:inline-block}
.xui-fch small{font:11px var(--xui-mono);color:var(--xui-fa);margin-left:2px}.xui-fch.on small{color:inherit;opacity:.8}
.xui-fch.off{opacity:.45;cursor:default}.xui-fch.off:hover{border-color:var(--xui-ln2)}
.xui-fch-st{font-weight:700}
.xui-fbar{display:flex;gap:10px 16px;align-items:center;flex-wrap:wrap;width:100%}
.xui-fbar .xui-cnt{margin-left:0}
.xui-sort{margin-left:auto;font-size:12.5px;color:var(--xui-mu);display:flex;gap:6px;align-items:center}
.xui-sort select{font:13px inherit;padding:4px 6px;border:1px solid var(--xui-ln2);border-radius:var(--xui-r);background:var(--xui-bg);color:var(--xui-tx);max-width:100%}
.xui-table.busy{opacity:.55;pointer-events:none;transition:opacity .15s}
.xui-sh-a{color:inherit!important;text-decoration:none!important}.xui-sh-a::after{content:" ↕";opacity:.35}.xui-sh-a.on{color:var(--xui-br)!important}.xui-sh-a.on::after{content:" ↑";opacity:1}
th[aria-sort=descending] .xui-sh-a.on::after{content:" ↓"}
.xui-od{font-weight:400;color:var(--xui-mu);font-size:12px}
.xui-var{display:flex;gap:6px;align-items:center;justify-content:flex-end}
.xui-vsel{font:12.5px inherit;max-width:200px;padding:5px 6px;border:1px solid var(--xui-ln2);border-radius:var(--xui-r);background:var(--xui-bg);color:var(--xui-tx)}
.xui-pag{display:flex;gap:6px;flex-wrap:wrap;align-items:center;justify-content:center;margin:14px 0}
.xui-pag a,.xui-pag b{min-width:36px;height:36px;padding:0 10px;display:inline-grid;place-items:center;border:1px solid var(--xui-ln2);border-radius:var(--xui-r);text-decoration:none!important;color:var(--xui-tx)!important;font-size:13.5px}
.xui-pag b{background:var(--xui-br);border-color:var(--xui-br);color:var(--xui-bi)!important}.xui-pag a:hover{border-color:var(--xui-br)}
.xui-pag .xui-fa{margin-right:8px}
.xui-none0{padding:16px;border:1px dashed var(--xui-ln2);border-radius:var(--xui-r);color:var(--xui-mu)}.xui-none0 p{margin:0 0 6px}.xui-none0 ul{margin:0;padding-left:18px}
@media (min-width:1000px){
	.xui-tblw{overflow:visible}
	table.xui-t thead th{position:sticky;top:var(--xui-top,0px);z-index:3}
}

/* modal porównania */
.xui-mbg{position:fixed;inset:0;background:#0009;z-index:99999;display:grid;place-items:center;padding:24px}
.xui-modal{background:var(--xui-bg);color:var(--xui-tx);border-radius:var(--xui-r);max-width:900px;width:100%;max-height:calc(100vh - 48px);overflow:auto;box-shadow:var(--xui-sh)}
.xui-mh{display:flex;align-items:center;gap:14px;padding:14px 18px;border-bottom:1px solid var(--xui-ln);position:sticky;top:0;background:var(--xui-bg)}.xui-mh b{flex:1;font-size:16px}
.xui-only{font-size:13px;display:flex;gap:6px;align-items:center;cursor:pointer}
.xui-x{background:none;border:1px solid var(--xui-ln);border-radius:var(--xui-r);width:36px;height:36px;cursor:pointer;color:var(--xui-tx)}
.xui-mb{padding:16px 18px;overflow-x:auto}
.xui-cmp th:not(:first-child){color:var(--xui-br)}.xui-cmp td:first-child{color:var(--xui-mu)}
.xui-cmp tr.diff td{background:var(--xui-brs)}.xui-cmp.only tr:not(.diff){display:none}

/* szybkie zamówienie */
.xui-quick{color:var(--xui-tx)}
.xui-ta{width:100%;font:13.5px/1.7 var(--xui-mono)!important;border:1px solid var(--xui-ln2)!important;border-radius:var(--xui-r)!important;background:var(--xui-bg)!important;color:var(--xui-tx)!important;padding:10px 12px!important;min-height:150px}
.xui-ta:focus{border-color:var(--xui-br)!important;outline:none}
.xui-q-rows{margin-top:16px}
.xui-qr{display:grid;grid-template-columns:24px minmax(0,1fr) 60px auto;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--xui-ln);font-size:13.5px}
.xui-qr .xui-st{margin-left:10px}
.xui-qi{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700;color:#fff}
.xui-qi.ok{background:var(--xui-ok)}.xui-qi.w{background:var(--xui-wait)}.xui-qi.x{background:var(--xui-no)}
.xui-q-sum{display:flex;align-items:center;gap:14px;justify-content:space-between;flex-wrap:wrap;margin-top:14px;padding:14px;border:1px solid var(--xui-ln);border-radius:var(--xui-r);background:var(--xui-sf)}
.xui-q-sum[hidden]{display:none}

/* przełącznik motywu */
.xui-theme-toggle{background:none;border:1px solid currentColor;border-radius:var(--xui-r);padding:4px 10px;font:inherit;font-size:12.5px;color:inherit;cursor:pointer}
.xui-theme-toggle .xui-t-light,.xui-dark .xui-theme-toggle .xui-t-dark{display:none}.xui-dark .xui-theme-toggle .xui-t-light{display:inline}

/* toast */
.xui-toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:var(--xui-tx);color:var(--xui-bg);padding:12px 18px;border-radius:var(--xui-r);font-weight:600;z-index:99999;box-shadow:var(--xui-sh);transition:.2s;font-size:14px}
.xui-toast.on{opacity:1;transform:translate(-50%,0);pointer-events:auto}.xui-toast a{color:var(--xui-brl)!important;margin-left:10px}

/* ---------- WooCommerce (włączane w Ustawienia → Xinje UI) ---------- */
body.xui-wc .xui-sku-block{margin:0 0 14px}
body.xui-wc .xui-sku{display:block;font-size:26px;font-weight:700;letter-spacing:-.01em;line-height:1.15;color:var(--xui-tx)}
body.xui-wc .xui-decoder .xui-dec{margin-top:10px;border:1px solid var(--xui-ln);border-radius:var(--xui-r)}
body.xui-wc .xui-gross{color:var(--xui-mu);font-size:13px;margin:-6px 0 12px}
body.xui-wc .xui-loop-sku{display:block;font-size:12px;font-weight:700;color:var(--xui-br);margin:2px 0 4px}
body.xui-wc .woocommerce-loop-product__title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
body.xui-wc .woocommerce .price,body.xui-wc .woocommerce-page .price{color:var(--xui-tx)!important;font-weight:700}
body.xui-wc .woocommerce .stock.xui-st{font-size:13px;margin:6px 0 12px}
/* ramka terminu na karcie produktu (styl sklepu daje zawsze zielone tło) — tło zgodne z kolorem statusu */
body.xui-wc.single-product .summary.entry-summary > .stock.xui-st-ok{background:#E8F5E9}
body.xui-wc.single-product .summary.entry-summary > .stock.xui-st-de{background:#E6F3FC}
body.xui-wc.single-product .summary.entry-summary > .stock.xui-st-wait{background:#FFF4DC}
body.xui-wc.single-product .summary.entry-summary > .stock.xui-st-no{background:#FDECEA}
body.xui-wc.xui-dark.single-product .summary.entry-summary > .stock.xui-st{background:var(--xui-sf2)}
body.xui-wc .woocommerce a.button,body.xui-wc .woocommerce button.button,body.xui-wc .woocommerce .single_add_to_cart_button,body.xui-wc .woocommerce #respond input#submit,body.xui-wc .woocommerce a.checkout-button{background:var(--xui-br)!important;color:var(--xui-bi)!important;border-radius:var(--xui-r)!important;font-weight:700!important;border:0!important}
body.xui-wc .woocommerce a.button:hover,body.xui-wc .woocommerce button.button:hover{filter:brightness(1.1)}
body.xui-wc .woocommerce table.shop_attributes th,body.xui-wc .woocommerce table.shop_attributes td{padding:8px 10px;font-size:13.5px;border-bottom:1px solid var(--xui-ln);font-style:normal}
body.xui-wc .woocommerce table.shop_attributes td{font-family:var(--xui-mono)}
body.xui-wc .woocommerce table.shop_attributes th{color:var(--xui-mu);font-weight:400;width:40%}
body.xui-wc .woocommerce-tabs ul.tabs li.active a{color:var(--xui-br)!important}
body.xui-wc .product_meta .sku{font-family:var(--xui-mono);font-weight:700}
body.xui-wc .xui-rfq-btn{width:100%;margin-top:10px}
body.xui-wc .xui-rfq-note{margin:6px 0 0;text-align:center}

/* ---------- telefon ---------- */
@media (max-width:640px){
	.xui-sr{grid-template-columns:36px minmax(0,1fr) auto 36px}.xui-sr-st{display:none}
	.xui-tblw{border:0;overflow:visible}
	table.xui-t thead{display:none}
	table.xui-t,table.xui-t tbody,table.xui-t tr{display:block}
	.xui-table table.xui-t tr{display:grid;grid-template-columns:auto 52px minmax(0,1fr) 40px;gap:4px 12px;align-items:center;border:1px solid var(--xui-ln);border-radius:var(--xui-r);padding:10px 12px;margin-bottom:10px}
	.xui-table table.xui-t tr[hidden]{display:none}
	.xui-table table.xui-t td{display:block;padding:0;border:0;white-space:normal;grid-column:3}
	.xui-table table.xui-t td.xui-c-cb{grid-column:1;grid-row:1/span 9}
	.xui-table table.xui-t td.xui-c-img{grid-column:2;grid-row:1/span 9}
	.xui-table table.xui-t td.xui-c-add{grid-column:4;grid-row:1/span 9}
	.xui-table td[data-label]{font-size:12.5px;color:var(--xui-mu)}
	.xui-table td[data-label]::before{content:attr(data-label) ": "}
	.xui-table td.xui-c-p{text-align:left!important}.xui-table td.xui-c-p small{display:inline;margin-left:6px}
	.xui-cnt{margin-left:0;width:100%}
	/* 0.5.0: karta = symbol, cena netto, termin, 2 parametry, koszyk (bez obrazka i dalszych kolumn); bez przewijania w poziomie */
	.xui-table table.xui-t tr{grid-template-columns:auto minmax(0,1fr) auto}
	.xui-table table.xui-t td.xui-c-img{display:none}
	.xui-table table.xui-t td{grid-column:2;min-width:0}
	.xui-table table.xui-t td.xui-c-add{grid-column:3;grid-row:1/span 9;align-self:center}
	.xui-table table.xui-t td.xui-c-var{grid-column:2/span 2;grid-row:auto;min-width:0}.xui-var{justify-content:flex-start}
	.xui-vsel{flex:1;min-width:0;max-width:none;width:100%}
	.xui-sort{margin-left:0;width:100%}.xui-sort select{flex:1}
	.xui-pag .xui-fa{width:100%;text-align:center;margin:0}
	.xui-qr{grid-template-columns:24px minmax(0,1fr) auto}.xui-qr>.xui-mono:nth-child(3){display:none}
	.xui-mbg{padding:0}.xui-modal{height:100%;max-height:100%;border-radius:0}
	body.xui-wc .xui-sku{font-size:21px}
}

/* 0.3.8: blok Allegro i etykiety cen na karcie produktu */
.xui-allegro{margin:6px 0 10px;padding:8px 12px;border-left:3px solid #1d9e75;background:rgba(29,158,117,.08);font-size:14px;border-radius:0}
.xui-cena{display:flex;flex-direction:column;gap:2px;line-height:1.3}
.xui-cena-n{font-size:1.35em;font-weight:600}
.xui-cena-b{font-size:1em;font-weight:500;opacity:.9}
.xui-cena small{font-size:.62em;font-weight:400;opacity:.75;margin-left:4px}
/* 0.3.8: plakietki stanu w siatce — własny styl (niezależny od nowa-szata.css) */
.xui-stan{display:flex;flex-wrap:wrap;gap:4px;margin:4px 0 6px}
.xui-stan .xj-stan__p{display:inline-block;font-size:11px;line-height:1;padding:4px 7px;border-radius:3px;background:#eef0f3;color:#3a3f47;letter-spacing:.2px}
.xui-stan .xj-stan__p--stan{background:#e1f5ee;color:#085041}
.xui-stan .xj-stan__p--termin{background:#faeeda;color:#633806}
.xui-stan .xj-stan__p--nowosc{background:#e6f1fb;color:#0c447c}

/* 0.4.0: sekcja Pasuje do */
.xui-pasuje{margin:28px 0;padding:20px 22px;border:1px solid #e3e6ea;border-radius:10px;background:#fafbfc}
.xui-pasuje h2{font-size:22px;margin:0 0 6px}.xui-pasuje h3{font-size:16px;margin:18px 0 4px}
.xui-pd-i{font-size:13px;color:#4b5563;margin:0 0 8px;max-width:none}.xui-pasuje p,.xui-pasuje .xui-pd-t,.xui-pasuje .xui-pd-i{max-width:none!important}/* 0.8.2: nowa-szata.css ogranicza p do ok. 490 px */.xui-pd-w{color:#854f0b}
.xui-pd-g{margin:8px 0 14px}.xui-pd-t{font-weight:600;font-size:13px;margin:6px 0;text-transform:uppercase;letter-spacing:.3px;color:#374151}
.xui-pd-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;margin:6px 0}
.xui-pd-k{display:flex;flex-direction:column;gap:3px;padding:10px;border:1px solid #e3e6ea;border-radius:8px;background:#fff;text-decoration:none!important;color:inherit!important;font-size:13px;line-height:1.3}
.xui-pd-k:hover{border-color:#1d62d0}.xui-pd-k img{width:100%;height:110px;object-fit:contain;background:#fff}
.xui-pd-s{font-weight:700;font-family:ui-monospace,Consolas,monospace;font-size:13px}.xui-pd-n{color:#4b5563;font-size:12px}
.xui-pd-c{font-weight:600;font-size:14px;margin-top:2px}.xui-pd-c small{font-weight:400;color:#6b7280}
.xui-pd-d{font-size:11px;color:#0c447c;background:#e6f1fb;padding:2px 6px;border-radius:3px;align-self:flex-start}
.xui-pd-rez{font-size:13px;margin:6px 0 4px;padding:8px 10px;border-left:3px solid #ef9f27;background:#fff8ec;border-radius:0}
.xui-pd-brak{color:#854f0b}
/* 0.8.0 „Pasuje do” na kartach PLC (inc/plc.php, assets/plc.js): zakładki (bez JS — panele jeden pod drugim) i bilans mocy */
.xui-plc-tabs{display:flex;flex-wrap:wrap;gap:4px;margin:12px 0 0;border-bottom:1px solid var(--xui-ln,#e3e6ea)}.xui-plc-tabs[hidden]{display:none}
.xui-plc-tabs button{font:inherit;font-size:14px;font-weight:600;padding:8px 12px;margin-bottom:-1px;border:1px solid transparent;border-bottom:0;border-radius:6px 6px 0 0;background:none;color:var(--xui-mu,#374151);cursor:pointer}
.xui-plc-tabs button[aria-selected=true]{background:var(--xui-bg,#fff);border-color:var(--xui-ln,#e3e6ea);color:var(--xui-br,#1d62d0)}
.xui-plc-tabs button span{font-weight:400;font-size:12px;color:var(--xui-fa,#6b7280)}
.xui-plc-tab{padding-top:10px}.xui-plc-js .xui-plc-tab>h3{display:none}
.xui-plc-bil{margin:14px 0 4px;padding:12px;border:1px dashed var(--xui-ln2,#c9d1db);border-radius:8px;background:var(--xui-bg,#fff)}
.xui-plc-bil-r{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:6px 0;font-size:13px}
.xui-plc-bil-r select{flex:1 1 220px;min-width:0;max-width:100%;padding:6px}.xui-plc-bil-r input{width:76px;padding:6px}
.xui-plc-bil-r button,.xui-plc-bil-d{font:inherit;font-size:13px;padding:5px 10px;border:1px solid var(--xui-ln2,#c9d1db);border-radius:6px;background:var(--xui-sf,#fafbfc);color:inherit;cursor:pointer}
.xui-plc-bil-o{margin-top:10px;padding:8px 10px;border-left:3px solid var(--xui-ln2,#9ca3af);font-size:13px}.xui-plc-bil-o ul{margin:4px 0 0 18px;padding:0}
.xui-plc-miesci{border-left-color:var(--xui-ok,#16a34a);background:rgba(18,128,92,.08)}
.xui-plc-sprawdz{border-left-color:#ef9f27;background:rgba(239,159,39,.1)}
.xui-plc-nie_miesci{border-left-color:var(--xui-no,#dc2626);background:rgba(180,35,24,.08)}
/* 0.5.0 dobór falownika [xinje_dobor_falownika] — jedna kolumna na telefonie */
.xui-fal-f{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px 14px;align-items:end;padding:12px;border:1px solid #e3e6ea;border-radius:8px;background:#fff;font-size:14px}
.xui-fal-f label{display:flex;flex-direction:column;gap:4px}.xui-fal-f input,.xui-fal-f select{width:100%;padding:8px;border:1px solid #cfd4da;border-radius:6px;font-size:15px}
.xui-fal-f .xui-fal-c{flex-direction:row;align-items:center;gap:8px}.xui-fal-f .xui-fal-c input{width:auto}
.xui-fal-w{margin-top:14px}.xui-fal-obl{font-size:14px;margin:4px 0}.xui-fal-n{font-size:13px;margin:10px 0}.xui-fal-n summary{cursor:pointer;font-weight:600}
@media (max-width:600px){.xui-fal-f{grid-template-columns:minmax(0,1fr)}}
/* dekoder symboli i konstruktor (0.6.0) */
.xui-dec .xui-dec-nz{border-top-style:dashed}
.xui-dec .xui-dec-nz small{color:var(--xui-wait);font-weight:700}
.xui-kons{border:1px solid var(--xui-ln);border-radius:var(--xui-r);padding:14px;background:var(--xui-sf)}
.xui-kons-f{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px}
.xui-kons-f label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--xui-mu)}
.xui-kons-f select{width:100%;min-width:0;font-size:14px}
.xui-kons-s{grid-column:1/-1;display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.xui-kons-sym{font:700 18px var(--xui-mono);color:var(--xui-tx);background:none;word-break:break-all}
.xui-kons-dec .xui-dec{margin-top:10px;border:1px solid var(--xui-ln);border-radius:var(--xui-r)}
.xui-kons-w{margin-top:12px}
.xui-kons-w p{margin:4px 0}
.xui-kons-stary{opacity:.45}

/* /dobor/ (0.7.0, zadanie 09) — telefon: jedna kolumna */
.xui-dob-wej{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin:12px 0}
.xui-dob-k{display:flex;flex-direction:column;gap:6px;padding:16px;border:1px solid #e3e6ea;border-radius:8px;background:#fff;text-decoration:none;color:inherit}
.xui-dob-k b{font-size:1.05rem}.xui-dob-k span{font-size:.9em;opacity:.8}.xui-dob-k input{padding:8px;border:1px solid #cfd4da;border-radius:6px;font-size:15px}
.xui-dob-kalk{margin:12px 0}.xui-dob-kalk summary{cursor:pointer;font-weight:700}
.xui-dob-p{margin-top:16px}.xui-dob-tab{overflow-x:auto}.xui-dob-tab table{width:100%;border-collapse:collapse;font-size:14px}
.xui-dob-tab th,.xui-dob-tab td{padding:8px 6px;border-bottom:1px solid #e3e6ea;text-align:left;vertical-align:top}
.xui-dob-odrz{padding-left:18px}.xui-dob-akcje{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
@media (max-width:600px){.xui-dob-wej{grid-template-columns:minmax(0,1fr)}.xui-dob-f{grid-template-columns:minmax(0,1fr)}
.xui-dob-tab thead{display:none}.xui-dob-tab tr{display:block;padding:8px 0;border-bottom:1px solid #e3e6ea}.xui-dob-tab td{display:block;border:0;padding:2px 0}}
/* 0.6.4 — /masz-xc/, ramka „Seria wycofana”, STO/SIL (zadanie 10) */
.xui-xc{max-width:1100px;margin:0 auto;padding:24px 16px}
.xui-xc-f{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.xui-xc-f input{flex:1 1 260px;min-width:0;padding:10px 12px;font:inherit}
.xui-xc-t{width:100%;border-collapse:collapse;margin:16px 0}.xui-xc-t th,.xui-xc-t td{text-align:left;padding:8px;border-bottom:1px solid #d9dee5;vertical-align:top}
.xui-xc-p{display:inline-block;padding:2px 8px;border-radius:10px;font-size:.85em}.xui-xc-p.is-ok{background:#e3f4e8;color:#14532d}.xui-xc-p.is-q{background:#fff4d6;color:#713f12}
.xui-xc-lista{list-style:decimal;padding-left:22px}.xui-xc-lista li{margin:6px 0}
.xui-xc-brak,.xui-xc-ramka{border-left:4px solid #d97706;background:#fff8eb;padding:10px 14px;margin:0 0 16px}
.xui-sto{border:1px solid #d9dee5;border-radius:8px;padding:12px 16px;margin:16px 0}.xui-sto h2{font-size:1.1em;margin:0 0 6px}
.xui-sto-sil3 b{color:#15803d}.xui-sto-dok{font-size:.9em;color:#4b5563}
.xui-dark .xui-xc-brak,.xui-dark .xui-xc-ramka{background:#2a2112}.xui-dark .xui-sto-dok{color:#aab4c0}
@media (max-width:640px){.xui-xc-t thead{display:none}.xui-xc-t tr{display:block;border-bottom:1px solid #d9dee5;padding:6px 0}.xui-xc-t td{display:block;border:0;padding:3px 0}.xui-xc-t td::before{content:attr(data-label) ": ";font-weight:600}}

/* 0.8.4 (6.10.2026): karta produktu — zakładka Opis na pełną szerokość (nowa-szata.css: .entry-content p, li max-width 70ch) i równe kolumny tabel xinje-spec jak w Specyfikacji (shop_attributes th 36%) */
.single-product .woocommerce-Tabs-panel--description p,.single-product .woocommerce-Tabs-panel--description li,.single-product .woocommerce-Tabs-panel--description ul{max-width:none!important}
.single-product table.xinje-spec{width:100%}
.single-product table.xinje-spec:not(:has(thead)){table-layout:fixed}
.single-product table.xinje-spec:not(:has(thead)) tr>:first-child{width:36%}

/* 0.8.5 (6.10.2026, decyzja właściciela): limit 70ch z nowa-szata.css zdjęty w całym serwisie — akapity i listy na pełną szerokość treści */
html body .entry-content p,html body .entry-content li{max-width:none}
/* 0.8.2 — ścieżka B2B (zadanie 14): pole projektu w koszyku, „Kupuję jako” w kasie, osoba prywatna = brutto na pierwszym planie */
.xui-b2b-projekt{margin:0 0 14px}
.xui-b2b-projekt label{display:flex;flex-direction:column;gap:4px;font-size:14px;font-weight:600}
.xui-b2b-projekt label small,.xui-b2b-zapis{font-weight:400;font-size:12.5px;color:var(--xui-fa)}
.xui-b2b-projekt input{width:100%;box-sizing:border-box;padding:9px 10px;border:1px solid var(--xui-ln2);border-radius:var(--xui-r);font:inherit;font-weight:400;background:var(--xui-bg);color:var(--xui-tx)}
.xui-b2b-projekt--blok{max-width:420px;margin:16px 0 24px auto}
@media (max-width:640px){.xui-b2b-projekt--blok{max-width:none;margin:16px 0 24px}}
#xj_kupuje_jako_field .woocommerce-input-wrapper{display:flex;flex-wrap:wrap;gap:4px 18px}
#xj_kupuje_jako_field input.input-radio{margin:0 6px 0 0}
#xj_kupuje_jako_field label.radio{display:inline;margin:0}
.xui-b2b-ukryte{display:none!important}
.xui-b2b-info{margin:0 0 18px;padding:12px 16px;border:1px solid var(--xui-ln);border-radius:var(--xui-r);background:var(--xui-sf)}
.xui-b2b-info p{margin:2px 0}
body.xui-prywatnie .xui-cena{flex-direction:column-reverse}
body.xui-prywatnie .xui-cena-b{font-size:1.35em;font-weight:600;opacity:1}
body.xui-prywatnie .xui-cena-n{font-size:1em;font-weight:500;opacity:.9}

/* 0.8.7: zrzuty w sekcji konwersji XC → XD */
.xui-xc-figs{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin:12px 0 18px}.xui-xc-fig{margin:0;border:1px solid var(--xui-ln,#e3e6ea);border-radius:8px;padding:8px;background:var(--xui-bg,#fff)}.xui-xc-fig img{display:block;max-width:100%;height:auto;margin:0 auto}.xui-xc-fig figcaption{font-size:13px;color:var(--xui-mu,#4b5563);margin-top:6px}
/* 0.8.8 — „Do projektu” (ECAD, zadanie 15, inc/ecad.php): sekcja na karcie, zakładka „Pliki ECAD” na /do-pobrania/, przycisk w „Wklej listę” */
.xui-ecad-l{list-style:none;margin:8px 0 6px;padding:0}
.xui-ecad-l li{display:grid;grid-template-columns:minmax(150px,240px) 1fr;gap:2px 14px;padding:8px 0;border-top:1px solid var(--xui-ln,#e3e6ea);font-size:14px;max-width:none!important}
.xui-ecad-l li:first-child{border-top:0}
.xui-ecad-r{font-weight:600;color:var(--xui-mu,#374151)}
.xui-ecad-p{display:block;grid-column:2;overflow-wrap:anywhere}.xui-ecad-p small{color:var(--xui-fa,#6b7280);font-size:12px;white-space:nowrap}
.xui-ecad-b{grid-column:2;color:#854f0b}.xui-dark .xui-ecad-b{color:var(--xui-wait)}
@media (max-width:640px){.xui-ecad-l li{grid-template-columns:minmax(0,1fr)}.xui-ecad-p,.xui-ecad-b{grid-column:1}}
.xui-dp-tabs{display:flex;flex-wrap:wrap;gap:4px;margin:0 0 4px;border-bottom:1px solid var(--xui-ln,#e3e6ea)}.xui-dp-tabs[hidden]{display:none}
.xui-dp-tabs button{font:inherit;font-size:15px;font-weight:600;padding:9px 14px;margin-bottom:-1px;border:1px solid transparent;border-bottom:0;border-radius:6px 6px 0 0;background:none;color:var(--xui-mu,#374151);cursor:pointer}
.xui-dp-tabs button[aria-selected=true]{background:var(--xui-bg,#fff);border-color:var(--xui-ln,#e3e6ea);color:var(--xui-br,#1d62d0)}
.xui-dp-tab{padding-top:12px}.xui-dp-js .xui-ecad-str>h2{display:none}
.xui-ecad-str{margin:24px 0}.xui-ecad-str p{max-width:none!important}.xui-ecad-str p .xui-ecad-p{display:inline}
.xui-ecad-f:not([hidden]){display:flex;align-items:center;gap:8px;margin:10px 0;font-size:14px;font-weight:600}
.xui-ecad-f input{flex:0 1 260px;min-width:0;padding:7px 10px;border:1px solid var(--xui-ln2,#c9d1db);border-radius:6px;font:inherit;font-weight:400;background:var(--xui-bg,#fff);color:var(--xui-tx,inherit)}
.xui-ecad-t{width:100%;border-collapse:collapse;margin:10px 0;font-size:13.5px}
.xui-ecad-t th,.xui-ecad-t td{text-align:left;padding:8px;border-bottom:1px solid var(--xui-ln,#d9dee5);vertical-align:top}
.xui-ecad-t thead th{font-size:12px;text-transform:uppercase;letter-spacing:.03em;color:var(--xui-fa,#6b7280)}
.xui-ecad-t tbody th{font-family:ui-monospace,Consolas,monospace;white-space:nowrap}
.xui-ecad-t .xui-ecad-p+.xui-ecad-p{margin-top:4px}
@media (max-width:640px){.xui-ecad-t thead{display:none}.xui-ecad-t tr{display:block;border-bottom:1px solid var(--xui-ln,#d9dee5);padding:6px 0}.xui-ecad-t th,.xui-ecad-t td{display:block;border:0;padding:3px 0}.xui-ecad-t td::before{content:attr(data-label) ": ";font-weight:600}}
.xui-ecad-qw[hidden]{display:none}

/* 0.8.11: rozwinięcia kodów błędów */
.xui-kody-roz{margin:22px 0;padding:16px 20px;border:1px solid var(--xui-ln,#e3e6ea);border-radius:10px;background:var(--xui-sf,#fafbfc)}.xui-kody-roz h2{font-size:19px;margin:0 0 10px}.xui-kody-roz h3{font-size:16px;margin:16px 0 6px}.xui-kody-roz p,.xui-kody-roz li{max-width:none;line-height:1.55}.xui-kody-roz ol,.xui-kody-roz ul{margin:6px 0 10px 22px}.xui-kody-roz code{font-family:var(--xui-mono,ui-monospace,monospace);font-size:.93em;background:#eef1f5;padding:0 4px;border-radius:3px}

/* Wersje, oprogramowanie i zgodność — /wersje-i-zgodnosc/ (inc/wersje.php) */
.xui-wer{max-width:1100px;margin:0 auto;padding:24px 16px}.xui-wer h1{font-size:1.5rem;line-height:1.3}.xui-wer h2{font-size:1.25rem;margin-top:28px}
.xui-wer-t{width:100%;border-collapse:collapse;margin:16px 0;font-size:14px}.xui-wer-t th,.xui-wer-t td{text-align:left;padding:8px;border-bottom:1px solid var(--xui-ln,#d9dee5);vertical-align:top}
.xui-wer-t tr.is-brak td{background:var(--xui-sf,#fffbea)}.xui-wer-brak{color:#713f12;font-style:italic}.xui-wer-zr{display:block;color:var(--xui-mu,#4b5563);margin-top:4px}
.xui-wer-lista{list-style:decimal;padding-left:22px}.xui-wer-lista li{margin:8px 0}.xui-wer-roz li{margin:6px 0}
.xui-wer-uw{border-left:4px solid #d97706;background:#fff8eb;padding:10px 14px;margin:12px 0}.xui-wer-mail{margin-top:20px}
.xui-dark .xui-wer-uw{background:#2a2112}.xui-dark .xui-wer-t tr.is-brak td{background:#2a2112}.xui-dark .xui-wer-brak{color:#fcd34d}
@media (max-width:860px){.xui-wer-t thead{display:none}.xui-wer-t tr{display:block;border-bottom:1px solid var(--xui-ln,#d9dee5);padding:6px 0}.xui-wer-t td{display:block;border:0;padding:3px 0}.xui-wer-t td::before{content:attr(data-label) ": ";font-weight:600}}

/* certyfikaty */
/* 0.8.14 — „Certyfikaty i deklaracje” (inc/certyfikaty.php): sekcja na karcie (lista jak .xui-ecad-l), zakładka „Certyfikaty” na /do-pobrania/ */
.xui-cert-l{list-style:none;margin:8px 0 6px;padding:0}
.xui-cert-l li{display:grid;grid-template-columns:minmax(150px,240px) 1fr;gap:2px 14px;padding:8px 0;border-top:1px solid var(--xui-ln,#e3e6ea);font-size:14px;max-width:none!important}
.xui-cert-l li:first-child{border-top:0}
.xui-cert-r{font-weight:600;color:var(--xui-mu,#374151)}
.xui-cert-p{display:block;grid-column:2;overflow-wrap:anywhere}.xui-cert-p+.xui-cert-p{margin-top:5px}
.xui-cert-p .xui-cert-e{display:block;font-size:13px;color:var(--xui-mu,#374151)}
.xui-cert-p small{color:var(--xui-fa,#6b7280);font-size:12px;white-space:nowrap}
.xui-cert-b{grid-column:2;color:#854f0b}.xui-dark .xui-cert-b{color:var(--xui-wait)}
.xui-cert .xui-cert-dok,.xui-cert-str .xui-cert-dok{font-size:13.5px;color:var(--xui-mu,#374151);max-width:none!important}
@media (max-width:640px){.xui-cert-l li{grid-template-columns:minmax(0,1fr)}.xui-cert-p,.xui-cert-b{grid-column:1}}
.xui-cert-str{margin:24px 0}.xui-cert-str p{max-width:none!important}.xui-dp-js .xui-cert-str>h2{display:none}
.xui-cert-t{width:100%;border-collapse:collapse;margin:10px 0;font-size:13.5px}
.xui-cert-t th,.xui-cert-t td{text-align:left;padding:8px;border-bottom:1px solid var(--xui-ln,#d9dee5);vertical-align:top}
.xui-cert-t thead th{font-size:12px;text-transform:uppercase;letter-spacing:.03em;color:var(--xui-fa,#6b7280)}
.xui-cert-t tbody th{font-weight:600;white-space:normal}
.xui-cert-t .xui-cert-s{font-family:ui-monospace,Consolas,monospace;font-size:12px;color:var(--xui-fa,#6b7280);display:block;margin-top:2px}
.xui-cert-t td small{color:var(--xui-fa,#6b7280);font-size:12px;white-space:nowrap}
@media (max-width:860px){.xui-cert-t thead{display:none}.xui-cert-t tr{display:block;border-bottom:1px solid var(--xui-ln,#d9dee5);padding:6px 0}.xui-cert-t th,.xui-cert-t td{display:block;border:0;padding:3px 0}.xui-cert-t td::before{content:attr(data-label) ": ";font-weight:600}}
/* kategorie — treść pod listą (0.8.16) */
.xui-kat-tresc{max-width:1100px;margin:32px auto 8px;padding:0 16px}.xui-kat-tresc h2{font-size:1.3rem;margin:0 0 12px}.xui-kat-tresc h3{font-size:1.1rem;margin:22px 0 8px}.xui-kat-tresc p,.xui-kat-tresc li{max-width:none;line-height:1.55}.xui-kat-tresc ul{padding-left:1.2em}.xui-kat-tresc li{margin:0 0 8px}
/* dystrybutor — strona /autoryzowany-dystrybutor-xinje/ (0.8.18) */
.xui-dys{max-width:900px;margin:0 auto;padding:24px 16px}.xui-dys h1{font-size:1.5rem;line-height:1.3}.xui-dys h2{font-size:1.2rem;margin-top:26px}.xui-dys-lead{font-size:1.05rem}.xui-dys p,.xui-dys li{max-width:none;line-height:1.55}.xui-dys li{margin:0 0 8px}
/* dobor-plc sekcje (0.9.4) — formularz kreatora PLC w sekcjach <fieldset><legend> wewnątrz siatki .xui-fal-f .xui-dob-f */
.xui-dob-f .xui-dob-s{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px 14px;align-items:start;align-content:start;align-self:stretch;min-width:0;margin:0;padding:6px 12px 12px;border:1px solid #e3e6ea;border-radius:8px;background:#fff}
.xui-dob-f .xui-dob-s--szer{grid-column:1/-1}
.xui-dob-f .xui-dob-s>legend{padding:0 6px;font-size:15px;font-weight:700}
.xui-dob-f .xui-dob-ss{grid-column:1/-1;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px 14px;align-items:end;min-width:0;margin:0;padding:2px 10px 10px;border:1px dashed #d9dee5;border-radius:6px}
.xui-dob-f .xui-dob-ss>legend{padding:0 4px;font-size:13px;color:#4b5563}
.xui-dob-f label[hidden]{display:none}
@media (max-width:600px){.xui-dob-f .xui-dob-s,.xui-dob-f .xui-dob-ss{grid-template-columns:minmax(0,1fr)}}
/* dobor wykluczenia (0.9.5, 1.0.20) — assets/dobor-wyklucz.js z data-xui-dost: opcja bez produktu przy bieżących wartościach pól (także liczbowych) jest
   wyszarzona (<option disabled>, etykieta checkboxa .xui-dob-wyk-off), a wybrana wartość, która razem z innymi wyklucza produkt, ma czerwoną ramkę
   (.xui-dob-konf + aria-invalid="true"; przy checkboxie ramka etykiety). Bez opisu przyczyny. Kolor z motywu: --xui-no (jasny #B42318, ciemny #FF7A6B). */
.xui-dob-f option:disabled{color:#9aa3ad;background:#f3f4f6}
.xui-dob-f label.xui-dob-wyk-off{color:#9aa3ad}
.xui-fal-f input.xui-dob-konf,.xui-fal-f select.xui-dob-konf,.xui-dob-f input.xui-dob-konf,.xui-dob-f select.xui-dob-konf{border-color:var(--xui-no,#d93025);box-shadow:0 0 0 1px var(--xui-no,#d93025)}
.xui-fal-f label.xui-dob-konf,.xui-dob-f label.xui-dob-konf{border:1px solid var(--xui-no,#d93025);border-radius:6px;padding:3px 7px}
.xui-dark .xui-dob-f option:disabled{color:#6b7280;background:#1f2937}
/* dobor panel ilość (0.9.9) — tabela pozycji w panelach wyniku /dobor/: kolumny Pozycja | Symbol | Ilość | Cena netto | Wartość | Termin | koszyk;
   „do koszyka” i nagłówek „Cena netto” w jednej linii; na telefonie (≤ 860 px) lista z data-label jak .xui-cert-t / .xui-wer-t */
.xui-dob-t .xui-dob-nw,.xui-dob-t .xui-dob-dk,.xui-dob-t .xui-dob-dk a{white-space:nowrap}
.xui-dob-t th:nth-child(3),.xui-dob-t td:nth-child(3){text-align:center}
.xui-dob-t tfoot td{font-weight:600}
@media (max-width:860px){.xui-dob-tab .xui-dob-t thead{display:none}.xui-dob-tab .xui-dob-t tr{display:block;padding:8px 0;border-bottom:1px solid var(--xui-ln,#e3e6ea)}
.xui-dob-tab .xui-dob-t td{display:block;border:0;padding:2px 0;text-align:left}.xui-dob-tab .xui-dob-t td[data-label]:not([data-label=""])::before{content:attr(data-label) ": ";font-weight:600}
.xui-dob-tab .xui-dob-t td:empty{display:none}.xui-dob-tab .xui-dob-t tfoot td{padding-top:6px}}
/* dobor alternatywa najtańsza (0.9.9) — sekcja „Najtańszy zestaw — dłuższy termin” pod zestawem głównym w panelach wyniku /dobor/
   (xui_dob_alt_html w inc/dobor.php: zdanie „Taniej o … zł netto; najdłuższy termin pozycji: …” + ta sama tabela xui_dob_tabela z własnym koszykiem) */
.xui-dob-alt{margin-top:1.25em;padding-top:.75em;border-top:1px dashed var(--xui-ln,#e3e6ea)}
.xui-dob-alt h3{margin-top:0}
/* numer wersji w pasku (1.0.0) */
.xui-wer-nr{margin-left:10px;padding:1px 6px;border:1px solid rgba(255,255,255,.35);border-radius:4px;font-size:11px;opacity:.85;white-space:nowrap}
/* dobor pasek kreatorów (1.0.5) — nad treścią /konfigurator-serwo/ */
.xui-dob-pasek{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;margin:0 0 18px;padding:10px 14px;border:1px solid #d9dee5;border-radius:6px;background:#f6f8fa;font-size:14px}
.xui-dob-pasek span{font-weight:600}
.xui-dob-pasek a{white-space:nowrap}
/* dobor zdjęcia produktów i wysokość pól (1.0.7) */
.xui-dob-fotos{display:flex;gap:12px;align-items:flex-end;margin:4px 0 14px}
.xui-dob-fotos img{max-height:120px;width:auto;height:auto;object-fit:contain}
.xui-dob-k-f .xui-dob-kf{width:auto;height:auto;max-height:110px;max-width:100%;object-fit:contain;align-self:center;margin-bottom:4px}
/* 1.0.19: baner nad formularzem kreatora (.xui-dob-hero = pas o stałej wysokości 260 px / 200 px na telefonie — bez przesunięć układu; od kreatory2 z panoramą: .xui-dob-hero-w niżej)
   i rotator obrazów .xui-rot (inc/rotator.php, assets/rotator.js): obrazy w jednym miejscu, przenikanie opacity .8 s, kropki jako przyciski */
.xui-rot{position:relative;overflow:hidden;border-radius:8px;background:#f3f5f8}
.xui-rot-obr{position:absolute;inset:0}
.xui-rot-i{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity .8s ease;pointer-events:none}
.xui-rot-i.on{opacity:1}
.xui-rot-kr{position:absolute;left:0;right:0;bottom:8px;display:flex;justify-content:center;gap:8px}
.xui-rot-kr button{position:relative;width:12px;height:12px;min-height:0;padding:0;border-radius:50%;border:2px solid var(--xui-br,#0072C6);background:transparent;cursor:pointer}
.xui-rot-kr button::after{content:"";position:absolute;inset:-9px}
.xui-rot-kr button[aria-current=true]{background:var(--xui-br,#0072C6)}
.xui-rot-kr button:focus-visible{outline:3px solid #f5a623;outline-offset:2px}
@media (prefers-reduced-motion:reduce){.xui-rot-i{transition:none}}
.xui-dob-hero{height:260px;margin:4px 0 16px;padding:0}
@media (max-width:600px){.xui-dob-hero{height:200px}}
/* kreatory2: panorama na całą szerokość pasa (decyzja właściciela 9.10.2026): proporcje 1400:380 trzyma aspect-ratio (rezerwa miejsca, bez CLS), obraz wypełnia pas
   (cover — kadr ma te same proporcje, więc nic nie ucina). Telefon (≤ 600 px): obrazy 4:3 z <picture>, pas wyższy (4:3, najwyżej 320 px), contain na tym samym tle #f3f5f8 */
.xui-dob-hero-w{height:auto;aspect-ratio:1400/380}
.xui-dob-hero-w .xui-rot-i{object-fit:cover}
@media (max-width:600px){.xui-dob-hero-w{height:auto;aspect-ratio:4/3;max-height:320px}.xui-dob-hero-w .xui-rot-i{object-fit:contain}}
.xui-dob-k-f .xui-dob-kf-g{display:block;width:100%;height:200px;max-height:none;margin:0 0 4px;border-radius:6px;background:#f3f5f8;object-fit:contain}
.xui-dob-tf{display:inline-flex;align-items:center;gap:8px;text-decoration:none}
.xui-dob-tf .xui-dob-mini{width:44px;height:44px;object-fit:contain;flex:none}
.xui-chip .xui-chip-f{width:44px;height:44px;object-fit:contain;flex:none;margin-right:2px}
.xui-chip:has(.xui-chip-f){justify-content:flex-start}
.xui-chip:has(.xui-chip-f) .xui-ar{margin-left:auto}
.xui-dob-f input:not([type=checkbox]):not([type=radio]),.xui-dob-f select{height:40px;min-height:40px;box-sizing:border-box;padding-top:6px;padding-bottom:6px;line-height:1.3}
.xui-dob-f input[type=checkbox],.xui-dob-f input[type=radio]{width:1em;height:1em;min-height:0;margin:0 .45em 0 0;padding:0;vertical-align:-.1em;flex:none}
.xui-dob-f button[type=submit],.xui-dob-f .button{min-height:40px;box-sizing:border-box}
/* rząd przycisków „Dobierz …” + „Reset” (xui_dob_przyciski): oba tej samej szerokości i wysokości, na wąskim ekranie w jednym rzędzie albo jeden pod drugim;
   Reset drugorzędny — obramowanie w kolorze marki, bez wypełnienia */
.xui-dob-f .xui-dob-btns{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:10px 12px;align-items:stretch}
.xui-dob-f .xui-dob-btns .button{flex:1 1 150px;max-width:280px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:40px;margin:0;text-align:center;text-decoration:none;cursor:pointer}
.xui-dob-f .xui-dob-btns a.button.xui-dob-reset{background:transparent!important;color:var(--xui-br,#0072c6)!important;border:2px solid var(--xui-br,#0072c6)!important;box-shadow:none}
.xui-dob-f .xui-dob-btns a.button.xui-dob-reset:hover,.xui-dob-f .xui-dob-btns a.button.xui-dob-reset:focus-visible{background:var(--xui-brs,#e6f3fc)!important}
@media (max-width:400px){.xui-dob-f .xui-dob-btns .button{flex-basis:100%;max-width:none}}

/* 1.0.22: „Polecane” nad listą produktów w kategoriach (inc/polecane.php): tło w akcencie marki, duże karty z plakietką, rząd na całą szerokość */
.xui-pol{margin:0 0 22px;padding:16px 18px 18px;border:1px solid var(--xui-br,#0072c6);border-radius:var(--xui-r,6px);background:var(--xui-brs,#e6f3fc);box-sizing:border-box;max-width:100%}
.xui-pol h2{margin:0 0 12px;font-size:19px;line-height:1.3;color:var(--xui-tx,#0f1b2a)}
.xui-pol-row{display:grid;grid-template-columns:repeat(var(--n,5),minmax(0,1fr));gap:14px;margin:0}
.xui-pol-k{position:relative;display:flex;flex-direction:column;gap:5px;min-width:0;padding:14px 14px 14px;border:1px solid var(--xui-ln,#e3e8ee);border-radius:var(--xui-r,6px);background:var(--xui-bg,#fff);color:var(--xui-tx,#0f1b2a)!important;text-decoration:none!important;font-size:13px;line-height:1.35;box-sizing:border-box;transition:border-color .15s,box-shadow .15s}
.xui-pol-k:hover,.xui-pol-k:focus-visible{border-color:var(--xui-br,#0072c6);box-shadow:var(--xui-sh,0 10px 24px -14px rgba(15,27,42,.4));outline:none}
.xui-pol-b{align-self:flex-start;margin:0 0 4px;padding:3px 9px;border-radius:999px;background:var(--xui-br,#0072c6);color:#fff;font-size:11.5px;font-weight:700;line-height:1.3;letter-spacing:.2px}
.xui-pol-b-st{background:var(--xui-ok,#12805c)}
.xui-pol-i{display:flex;align-items:center;justify-content:center;height:200px;margin:0 0 4px;background:#fff;border-radius:4px;overflow:hidden}
.xui-pol-i img{display:block;width:auto;height:auto;max-width:100%;max-height:200px;margin:0;padding:0;border:0;box-shadow:none;background:none;object-fit:contain}
.xui-pol-k .xui-pd-s{font-size:14px}
.xui-pol-n{color:var(--xui-mu,#4a586c);font-size:12.5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.xui-pol-w{color:var(--xui-br,#0072c6);font-size:12.5px;font-weight:600}
.xui-pol-c{margin-top:auto;padding-top:6px;font-size:20px;font-weight:800;line-height:1.2}
.xui-pol-c small{font-size:12px;font-weight:400;color:var(--xui-mu,#4a586c)}
.xui-pol-k .xui-st{white-space:normal;align-items:flex-start;line-height:1.3}
.xui-pol-btn{margin-top:8px;padding:9px 12px;border-radius:var(--xui-r,6px);background:var(--xui-br,#0072c6);color:#fff;text-align:center;font-weight:700;font-size:14px}
.xui-pol-k:hover .xui-pol-btn,.xui-pol-k:focus-visible .xui-pol-btn{background:var(--xui-brl,#00a4ff)}
body.xui.xui-dark .xui-pol-btn{color:var(--xui-bi,#00121f)}
body.xui.xui-dark .xui-pol-b{color:var(--xui-bi,#00121f)}
body.xui.xui-dark .xui-pol-b-st{color:var(--xui-bi,#00121f)}
/* tablet i telefon: jeden rząd przewijany poziomo z przyciąganiem kart (karta ok. 3 na tablecie, ok. 1,3 na telefonie) */
@media (max-width:1100px){
	.xui-pol-row{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;padding-bottom:6px}
	.xui-pol-k{flex:0 0 calc((100% - 24px) / 3);scroll-snap-align:start}
}
@media (max-width:640px){
	.xui-pol{padding:12px 12px 14px}
	.xui-pol-k{flex-basis:78%}
	.xui-pol-i{height:180px}.xui-pol-i img{max-height:180px}
}

/* ---------- 1.0.34 (audyt telefonu 9.10.2026, 375 px) ---------- */
/* poziomy scroll na karcie produktu: długie nazwy plików i numery w „Certyfikaty badań” / „Pliki do projektu” (ECAD) rozpychały kolumnę siatki
   (kolumna 1fr = minmax(auto,1fr); dzieci siatki bez min-width:0) — kolumna jest teraz minmax(0,1fr), długie ciągi łamią się */
.xui-cert-l li>*,.xui-ecad-l li>*{min-width:0}
.xui-cert-p,.xui-cert-p a,.xui-cert-e,.xui-ecad-p,.xui-ecad-p a,.xui-pasuje,.xui-cert-t td,.xui-cert-t th,.xui-ecad-t td,.xui-ecad-t th{overflow-wrap:anywhere}
.xui-sku,.xui-c-sku a,h1.xui-pt{overflow-wrap:anywhere}
@media (max-width:640px){
	.xui-cert-p small,.xui-ecad-p small,.xui-cert-t td small{white-space:normal}
	.xui-ecad-t tbody th{white-space:normal}
	/* jeden gutter 16 px zamiast 18 (kontener OceanWP 90 %) + 28 (karta .entry) + 22 (sekcje) po każdej stronie */
	body.single-product #content-wrap{width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important}
	body.single-product div.product.entry{padding-left:16px!important;padding-right:16px!important;border-left:0!important;border-right:0!important;border-radius:0!important;box-sizing:border-box}
	.xui-pasuje{margin:20px 0;padding:16px 0;border-left:0;border-right:0;border-radius:0;background:none}
	.xui-cert-str,.xui-ecad-str{margin:16px 0}
	/* tabele parametrów: tekst zawija się w komórce (przy white-space:nowrap długie wartości były ucięte) */
	.single-product table.xinje-spec th,.single-product table.xinje-spec td,body.xui-wc .woocommerce table.shop_attributes th,body.xui-wc .woocommerce table.shop_attributes td{white-space:normal!important}
	.single-product table.xinje-spec td,body.xui-wc .woocommerce table.shop_attributes td{overflow-wrap:break-word}
}

/* karty serii (≤ 640 px): pokazujemy wszystkie kolumny jako pary „etykieta: wartość” (dotąd Wyjścia, Typ wyjść i Zasilanie były ukryte) */
@media (max-width:640px){
	.xui-table table.xui-t tr{row-gap:0}
	.xui-table table.xui-t td{margin-top:2px}
	.xui-table table.xui-t td.xui-c-cb,.xui-table table.xui-t td.xui-c-img,.xui-table table.xui-t td.xui-c-add{margin-top:0}
	.xui-table table.xui-t td.xui-c-sku{margin-top:0}
	.xui-table table.xui-t td[data-label]{display:flex;gap:8px;justify-content:space-between;line-height:1.35;color:var(--xui-tx)}
	.xui-table table.xui-t td[data-label]::before{flex:0 0 42%;content:attr(data-label);color:var(--xui-fa)}
	.xui-table table.xui-t td.xui-c-p,.xui-table table.xui-t td.xui-c-st{margin-top:6px}
}

/* cele dotykowe ≥ 40–44 px na telefonie i tablecie */
@media (max-width:900px){
	.xui-plus{width:44px;height:44px}
	/* pole „Porównaj”: przycisk 44 × 44, widoczny kwadracik 22 px rysuje ::before */
	.xui-cb{position:relative;width:44px;height:44px;margin:0 -6px 0 -10px;border:0;border-radius:0;background:none;font-size:0}
	.xui-cb::before{content:"";display:block;box-sizing:border-box;width:22px;height:22px;border:1.5px solid var(--xui-fa);border-radius:4px}
	.xui-cb.on{background:none}
	.xui-cb.on::before{background:var(--xui-br);border-color:var(--xui-br)}
	.xui-cb.on::after{position:absolute;inset:0;display:grid;place-items:center;font-size:14px;color:var(--xui-bi)}
	.xui-fch,.xui-fch.off{min-height:40px;display:inline-flex;align-items:center;box-sizing:border-box}
	.xui-pag a,.xui-pag b{min-width:44px;height:44px}
	.xui-crumb a,.woocommerce-breadcrumb a{display:inline-block;padding:10px 0}
	/* kreatory /dobor/: pola wyboru 22 px, cała etykieta (44 px) jest celem */
	.xui-dob-f label.xui-fal-c{min-height:44px;align-items:center;gap:10px;cursor:pointer}
	.xui-dob-f input[type=checkbox],.xui-dob-f input[type=radio]{width:22px;height:22px;margin:0;vertical-align:middle}
}

/* kreator PLC: komunikat o pustym formularzu (1.0.34; JS: assets/dobor.js, bez JS: ten sam komunikat z serwera) */
.xui-dob-err{grid-column:1/-1;margin:0;padding:10px 12px;border:1px solid var(--xui-no,#b42318);border-left-width:4px;border-radius:6px;background:#fdecea;color:#7a1b12;font-size:14px;font-weight:600}
.xui-dob-err[hidden]{display:none}
.xui-dark .xui-dob-err{background:rgba(255,122,107,.12);color:var(--xui-no,#ff7a6b)}
.xui-dob-f input.xui-dob-pusty{border-color:var(--xui-no,#b42318)!important;box-shadow:0 0 0 1px var(--xui-no,#b42318)}

@media (max-width:600px){
	/* kreatory: ramki zagnieżdżone (sekcja + podsekcja) zabierały 2 × 22 px szerokości pola — podsekcja bez ramki, pola w sekcjach równej szerokości */
	.xui-dob-f .xui-dob-ss{border:0;padding:0 0 6px}
	.xui-fal-f{padding:10px}
}

/* tablet (641–999 px): tabela serii przewija się w poziomie w ramce — podpis nad tabelą mówi, że jest ciąg dalszy (dotąd kolumny Zasilanie, Cena i Dostępność były po cichu ucięte) */
@media (min-width:641px) and (max-width:999px){
	.xui-tblw{-webkit-overflow-scrolling:touch}
	.xui-tblw::before{content:"Tabela przewija się w bok: przesuń ją, aby zobaczyć zasilanie, cenę i dostępność →";display:block;position:sticky;left:0;padding:6px 12px;font-size:12px;color:var(--xui-mu);background:var(--xui-sf)}
}
.xui-toc{box-sizing:border-box;max-width:100%;margin:0 0 24px;padding:14px 18px;border:1px solid var(--xui-ln,#E3E8EE);border-radius:var(--xui-r,6px);background:var(--xui-sf,#F5F7FA);color:var(--xui-tx,#0F1B2A);font-size:15px;line-height:1.5}
.xui-toc b{display:block;margin-bottom:6px;font-size:14px;letter-spacing:.02em}
.xui-toc ol{margin:0;padding-left:1.4em}
.xui-toc ol ol{margin:2px 0 4px}
.xui-toc li{margin:2px 0}
.xui-toc a{color:var(--xui-br,#0072C6);text-decoration:none}
.xui-toc a:hover,.xui-toc a:focus{text-decoration:underline}
@media(max-width:600px){.xui-toc{width:100%;margin-left:0;margin-right:0;padding:12px 14px}}
