.catalog-price-note{background:#edf4ff;border:1px solid #d6e4f8;border-radius:8px;padding:14px 18px;margin-bottom:20px;display:grid;gap:6px;font-size:14px;color:#254f83}
.catalog-price-note span{font-size:13px;color:#57718e}
.catalog-filter{display:flex;align-items:center;gap:10px;font-size:14px;margin:0}
.catalog-filter select{margin:0;min-width:190px}
.catalog-table td.catalog-category{font-size:13px;color:#5F6672;white-space:nowrap}
.catalog-table td{vertical-align:middle}
.catalog-table td:nth-child(2){min-width:260px;max-width:420px}
.catalog-table td:nth-child(3){min-width:130px}
.catalog-table .product-name{display:grid;gap:6px;text-align:left;font-size:14px;line-height:1.4;color:#243c58;white-space:normal}
.catalog-table .sku{font-size:13px;color:#2b68b8}
.product-photo{width:66px;height:76px;display:flex;align-items:center;justify-content:center;border:1px solid #e4eaf0;background:white;border-radius:6px;overflow:hidden}
.product-photo img{object-fit:contain;width:58px;height:66px}
.missing-photo{font-size:12px;line-height:1.4;text-align:center;color:#7c8b9e;background:#f6f8fb}
.catalog-table .price-warning{font-size:12px;color:#8c682f;max-width:220px;white-space:normal}
.catalog-pagination{display:flex;gap:8px}
.catalog-report{padding:20px;margin-top:18px;border:1px solid #dce4ee;background:white;border-radius:8px;font-size:14px;line-height:1.6}
.catalog-report summary{cursor:pointer;color:#28578f;font-weight:600}
.catalog-report h3{font-size:16px;margin-top:24px}
.product-gallery{display:flex;gap:12px;overflow-x:auto;margin-bottom:18px}
.product-gallery img{object-fit:contain;max-width:100%;width:260px;height:260px;background:white}
.product-preview h3{font-size:18px;line-height:1.5}
.campaign-regular-price{min-width:160px}.campaign-regular-price small{display:block;margin-top:4px;color:#6c7d91;font-size:11px;white-space:normal}.catalog-regular-price{display:grid;gap:4px;margin:14px 0;padding:14px 16px;border:1px solid #d9e4f1;border-left:4px solid #245b96;border-radius:6px;background:#f7faff}.catalog-regular-price span,.catalog-regular-price small{color:#60748b;font-size:12px}.catalog-regular-price strong{font-size:20px;color:#173b65}
@media(max-width:720px){.catalog-filter{width:100%;justify-content:space-between}.catalog-filter select{flex:1}.catalog-table td:nth-child(2){min-width:210px}.catalog-price-note{font-size:14px}.catalog-report{padding:15px}.product-gallery img{width:220px;height:220px}}

/* Sortowanie i stronicowanie katalogu */
.catalog-table th.sortable{padding:0}
.catalog-table .th-sort{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:6px;width:100%;padding:13px 20px;cursor:pointer;font:inherit;color:inherit;letter-spacing:inherit}
.catalog-table th.right .th-sort{justify-content:flex-end}
.catalog-table .th-sort span{color:#aab4c2;font-size:12px}
.catalog-table th.sorted .th-sort,.catalog-table th.sorted .th-sort span{color:#0047BB}
.catalog-table .th-sort:focus-visible{outline:3px solid #8dbeff;outline-offset:-3px}
.catalog-footer{gap:16px;flex-wrap:wrap}
.catalog-size{display:flex;align-items:center;gap:8px;margin:0;font-size:12px;color:#7c899b}
.catalog-size select{width:auto;min-height:34px;margin:0;padding:6px 10px;font-size:13px}
.catalog-pagination{flex-wrap:wrap;align-items:center}
.catalog-pagination .button{min-height:34px;min-width:38px;padding:6px 10px;font-size:13px}
.catalog-gap{color:#9aa6b6;padding:0 2px}
/* Katalog mieści się w szerokości strony (22.09.2026): węższe odstępy, nagłówki mogą się łamać. */
.single-catalog th,.single-catalog td{padding-left:12px;padding-right:12px}
.single-catalog th{white-space:normal;line-height:1.35}
.single-catalog .th-sort{padding:12px}
.single-catalog td:nth-child(2){min-width:180px;max-width:320px}
.single-catalog td:nth-child(3){min-width:100px;max-width:150px}
.single-catalog th:nth-child(5),.single-catalog th:nth-child(6){white-space:nowrap}
.single-catalog th:nth-child(7) .th-sort{text-align:right}
.single-catalog td:last-child{padding-left:4px;white-space:nowrap}
.single-catalog .product-thumb,.single-catalog td:first-child img{max-width:64px}
.single-catalog .campaign-regular-price{white-space:normal;min-width:90px}
.single-catalog .campaign-regular-price strong{white-space:nowrap}
.single-catalog td:nth-child(3){max-width:130px}
.single-catalog td:nth-child(3) small{font-size:10.5px}
/* EOL — produkt wycofany przez VP USA. */
.eol-mark{display:inline-block;margin-top:6px;padding:3px 8px;border-radius:5px;background:#fde8eb;color:#b0122c;font-size:11px;font-weight:700;letter-spacing:.02em;white-space:nowrap}
.eol-note{display:block;margin:6px 0 10px;color:#8a3040;font-size:12px;line-height:1.5}
.catalog-table td>.eol-mark{margin-left:6px}
.cn-mark{display:block;color:#647081;font-size:12px;margin-top:2px}

/* Katalog mieści się w oknie — druga tura (20.10.2026).
   Reguły z 22.09 pisałem przy dziewięciu kolumnach; od tego czasu doszły T1, FOB Texas i SRP,
   więc tabela znów wychodziła poza ekran i trzeba było przesuwać ją w bok.
   Szerokości ustawiam po nazwach komórek, nie po numerach kolumn, bo liczba kolumn zależy
   od roli (zespół / dystrybutor) i od tego, czy klient ma T1. */
.single-catalog th,.single-catalog td{padding-left:8px;padding-right:8px}
.single-catalog .th-sort{padding:12px 8px}
.single-catalog td{overflow-wrap:anywhere}
.single-catalog .cat-photo{width:74px}
.single-catalog .cat-product{min-width:170px;max-width:270px}
.single-catalog .cat-pack{max-width:118px}
/* Kategoria była nierozdzielna, więc „Additives and chemicals” samo rozpychało kolumnę. */
.single-catalog td.catalog-category{white-space:normal;max-width:104px}
.single-catalog .campaign-regular-price{min-width:0;max-width:104px}
.single-catalog .catalog-srp{max-width:108px}
.single-catalog .cat-t1,.single-catalog .cat-texas{max-width:96px}
.single-catalog td small{margin-top:3px;line-height:1.35}
.single-catalog .cat-pack small{font-size:10.5px}
/* Na wąskim oknie wracamy do przewijania — lepsze niż ściśnięte do nieczytelności. */
@media(max-width:1180px){.single-catalog .cat-product{min-width:150px}}

/* Katalog — trzecia tura (21.10.2026): mierzone na żywo. Nagłówki sortowania miały padding 20 px i nie łamały się,
   a stare reguły nth-child z września wymuszały minimalne szerokości. Teraz tabela mieści się w oknie ~1150 px. */
.single-catalog{font-size:13px}
.single-catalog th,.single-catalog td{padding-left:5px;padding-right:5px}
.single-catalog th,.single-catalog .th-sort{white-space:normal;line-height:1.25;font-size:12px}
.single-catalog .th-sort{padding:12px 5px;align-items:flex-start}
.single-catalog .cat-photo{width:60px}
.single-catalog td small{white-space:normal}
.single-catalog .cat-pack{max-width:96px}
.single-catalog td.catalog-category{max-width:84px;min-width:0}
.single-catalog td:nth-child(3){min-width:0}
/* Ręczne SRP w oknie produktu (21.10.2026) */
.srp-manual{margin:14px 0;padding:12px 0;border-top:1px solid #e3e6ea}
.srp-manual .srp-error{color:#b3261e;font-size:13px;margin:6px 0}
.srp-manual .srp-error:empty{display:none}
.srp-manual-actions{display:flex;gap:8px;margin-top:8px}
