/* Sklep pod skin serwisu (paleta 7): ladowany po shop.css z platform-core. */
:root { --sk-ink: #0d1b2a; --sk-muted: #5d6f82; --sk-line: #e3e9ef; --sk-bg: #f6f9fc; --sk-btn: #111; --sk-accent: #17b3da; --sk-promo: #d31819; }
body.woocommerce, body.woocommerce-page, body.single-product { color: #3d4f61; font-family: Inter, system-ui, -apple-system, sans-serif; }
body.woocommerce :is(h1, h2, h3, h4), body.woocommerce-page :is(h1, h2, h3, h4), body.single-product :is(h1, h2, h3, h4, .product_title) { font-family: "Inter Tight", Inter, system-ui, sans-serif !important; color: var(--sk-ink) !important; font-weight: 600 !important; letter-spacing: -0.01em; }
body.single-product h1.product_title { font-size: clamp(1.4rem, 2.4vw, 1.9rem) !important; line-height: 1.2 !important; }
body.woocommerce .cbpc-shop-hero__title { font-family: "Inter Tight", Inter, sans-serif !important; font-weight: 600 !important; letter-spacing: -0.01em; }

/* przyciski: czarne, radius 8 */
body.woocommerce :is(.button, button.button, a.button, .single_add_to_cart_button, .checkout-button, .wc-block-components-button, #place_order, .woocommerce-form-login .button, .cbpc-shop-tile__btn):not(.cn-button),
body.woocommerce-page :is(.button, button.button, a.button, .checkout-button, #place_order):not(.cn-button),
body.single-product :is(.single_add_to_cart_button, .button):not(.cn-button) {
	background: var(--sk-btn) !important; color: #fff !important; border: 0 !important; border-radius: 8px !important; font: 600 14px/1 Inter, system-ui, sans-serif !important; padding: 13px 22px !important; text-transform: none !important; letter-spacing: 0 !important; box-shadow: none !important; transition: background .15s ease;
}
body.woocommerce :is(.button, .single_add_to_cart_button, .checkout-button, #place_order):hover, body.woocommerce-page :is(.button, .checkout-button, #place_order):hover { background: #000 !important; color: #fff !important; }
body.woocommerce .single_add_to_cart_button { padding: 14px 26px !important; font-size: 15px !important; }

/* kafelki i chipy kategorii */
body.woocommerce .cbpc-shop-tile { border: 1px solid var(--sk-line) !important; border-radius: 12px !important; box-shadow: none !important; }
body.woocommerce .cbpc-shop-tile__eyebrow { background: #eaf6fb !important; color: #0d6d86 !important; font-weight: 600 !important; letter-spacing: .08em; }
body.woocommerce .cbpc-shop-tile__title { font-family: "Inter Tight", Inter, sans-serif !important; font-weight: 600 !important; color: var(--sk-ink) !important; }
body.woocommerce .cbpc-shop-tile__desc { color: var(--sk-muted) !important; font-size: 14px !important; }
body.woocommerce .cbpc-shop-tile__cta { color: var(--sk-ink) !important; font-weight: 600 !important; font-size: 14px !important; }
body.woocommerce .cbpc-shop-tile__cta:hover { color: var(--sk-accent) !important; }
body.woocommerce .cbpc-shop-pills__pill { background: #fff !important; border: 1px solid var(--sk-line) !important; color: var(--sk-ink) !important; font-weight: 500 !important; font-size: 13px !important; border-radius: 999px !important; padding: 8px 14px !important; box-shadow: none !important; }
body.woocommerce .cbpc-shop-pills__pill:hover { border-color: #b9c6d3 !important; background: var(--sk-bg) !important; }
body.woocommerce .cbpc-shop-pills__count { background: var(--sk-bg) !important; color: var(--sk-muted) !important; font-weight: 600 !important; }
body.woocommerce .cbpc-shop-pills__pill.is-active, body.woocommerce .cbpc-shop-pills__pill--all.is-active, body.woocommerce .cbpc-shop-pills__pill--all { background: var(--sk-btn) !important; border-color: var(--sk-btn) !important; color: #fff !important; }
body.woocommerce .cbpc-shop-pills:has(.cbpc-shop-pills__pill.is-active:not(.cbpc-shop-pills__pill--all)) .cbpc-shop-pills__pill--all { background: #fff !important; color: var(--sk-ink) !important; border-color: var(--sk-line) !important; }
body.woocommerce .cbpc-shop-pills__pill.is-active .cbpc-shop-pills__count { background: rgba(255,255,255,.16) !important; color: #fff !important; }

/* lista produktow */
body.woocommerce ul.products li.product { border: 1px solid var(--sk-line) !important; border-radius: 12px !important; box-shadow: none !important; overflow: hidden; }
body.woocommerce ul.products li.product:hover { border-color: #b9c6d3 !important; box-shadow: 0 8px 24px rgba(13,27,42,.06) !important; }
body.woocommerce ul.products li.product .woocommerce-loop-product__title, body.woocommerce ul.products li.product h2 { font-family: Inter, system-ui, sans-serif !important; font-size: 14px !important; font-weight: 600 !important; color: var(--sk-ink) !important; line-height: 1.35 !important; }
body.woocommerce ul.products li.product .onsale, body.single-product .onsale { background: var(--sk-promo) !important; color: #fff !important; border-radius: 6px !important; font: 600 11px/1 Inter, sans-serif !important; padding: 5px 8px !important; letter-spacing: .02em; }
body.woocommerce .woocommerce-result-count { color: var(--sk-muted) !important; font-size: 13px !important; }
body.woocommerce .woocommerce-ordering select { border: 1px solid var(--sk-line) !important; border-radius: 8px !important; font-size: 13px !important; color: var(--sk-ink) !important; }

/* ceny */
body.woocommerce .price, body.woocommerce .price bdi, body.single-product .summary .price bdi { color: var(--sk-ink) !important; font-family: Inter, system-ui, sans-serif !important; font-weight: 700 !important; }
body.woocommerce .price del, body.woocommerce .price del bdi, body.single-product .summary .price del bdi { color: #98a6b3 !important; font-weight: 500 !important; text-decoration: line-through; }
body.woocommerce .price ins, body.woocommerce .price ins bdi, body.single-product .summary .price ins bdi { color: var(--sk-ink) !important; text-decoration: none !important; }
/* czerwona tylko cena promocyjna (jest przekreslona stara) */
body.woocommerce .price:has(del) ins, body.woocommerce .price:has(del) ins bdi, body.single-product .summary .price:has(del) ins bdi, body.woocommerce li.product.sale .price:has(del) ins bdi { color: var(--sk-promo) !important; }
body.single-product .summary .price { font-size: 26px !important; }

/* strona produktu */
body.single-product .summary .woocommerce-product-details__short-description, body.single-product .summary .cbpc-product-note, body.single-product .summary > div[style*="background"] { background: var(--sk-bg) !important; border: 1px solid var(--sk-line) !important; border-radius: 10px !important; color: #3d4f61 !important; font-size: 14px !important; line-height: 1.55 !important; }
body.single-product .quantity input, body.single-product .quantity .qty { background: #fff !important; border: 1px solid var(--sk-line) !important; border-radius: 8px !important; color: var(--sk-ink) !important; font-weight: 600 !important; }
body.single-product .woocommerce-tabs ul.tabs li a, body.single-product .woocommerce-tabs .tabs li { font-family: Inter, sans-serif !important; font-weight: 600 !important; color: var(--sk-muted) !important; }
body.single-product .woocommerce-tabs ul.tabs li.active a { color: var(--sk-ink) !important; border-color: var(--sk-ink) !important; }
body.single-product .woocommerce-tabs .panel, body.single-product .woocommerce-Tabs-panel { color: #3d4f61 !important; font-size: 15px !important; line-height: 1.6 !important; }
body.single-product .product_meta, body.single-product .product_meta a { color: var(--sk-muted) !important; font-size: 13px !important; }
body.single-product .woocommerce-product-gallery__image img, body.single-product .woocommerce-product-gallery { border-radius: 12px !important; overflow: hidden; }

/* koszyk, zamowienie, konto */
body.woocommerce-cart table.shop_table, body.woocommerce-checkout table.shop_table, body.woocommerce-account table.shop_table { border: 1px solid var(--sk-line) !important; border-radius: 12px !important; }
body.woocommerce-cart table.shop_table th, body.woocommerce-checkout table.shop_table th { color: var(--sk-ink) !important; font-weight: 600 !important; font-size: 13px !important; text-transform: none !important; }
body.woocommerce-cart table.shop_table td, body.woocommerce-checkout table.shop_table td { color: #3d4f61 !important; font-size: 14px !important; border-color: var(--sk-line) !important; }
body.woocommerce-cart .cart_totals { background: var(--sk-bg) !important; border: 1px solid var(--sk-line) !important; border-radius: 12px !important; }
body.woocommerce-page :is(input.input-text, textarea, select, .select2-container .select2-selection--single) { border: 1px solid var(--sk-line) !important; border-radius: 8px !important; background: #fff !important; color: var(--sk-ink) !important; font-family: Inter, sans-serif !important; font-size: 14px !important; box-shadow: none !important; }
body.woocommerce-page :is(input.input-text, textarea):focus { border-color: var(--sk-accent) !important; outline: 0; }
body.woocommerce-page .form-row label { color: var(--sk-ink) !important; font-weight: 500 !important; font-size: 13px !important; }
body.woocommerce-page .woocommerce-message, body.woocommerce-page .woocommerce-info, body.woocommerce-page .woocommerce-error { border-top-color: var(--sk-accent) !important; background: var(--sk-bg) !important; color: var(--sk-ink) !important; border-radius: 10px !important; font-size: 14px !important; }
body.woocommerce-page .woocommerce-error { border-top-color: var(--sk-promo) !important; }
body.woocommerce-page a:not(.button):not(.cbpc-shop-tile__cta):not(.cbpc-shop-pills__pill) { color: var(--sk-ink); }
body.woocommerce-page .woocommerce-MyAccount-navigation ul li a { color: var(--sk-muted) !important; font-weight: 500 !important; border-radius: 8px !important; }
body.woocommerce-page .woocommerce-MyAccount-navigation ul li.is-active a { background: var(--sk-bg) !important; color: var(--sk-ink) !important; }

@media (max-width: 640px) {
	body.woocommerce .cbpc-shop-pills__pill { padding: 7px 12px !important; font-size: 12.5px !important; }
	body.woocommerce .single_add_to_cart_button { width: 100% !important; }
	body.single-product .summary .price { font-size: 22px !important; }
}

/* --- strony softu (/oprogramowanie/, body.cbpc-landing): jasny naglowek jak /kursy/ zamiast granatowego hero (22.09, sklep2) --- */
body.cbpc-landing .page-title-bar, body.tax-product_cat .page-title-bar, body.page .cbpc-soft-hero + .page-title-bar { display: none !important; }
body.page .cbpc-soft-hero { background: #fff !important; color: #0d1b2a; border: 0 !important; border-bottom: 1px solid #e3e9ef !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 0 24px !important; padding: 36px 0 22px !important; max-width: none; font-family: Inter, system-ui, sans-serif; }
body.page .cbpc-soft-hero__inner { max-width: none; }
body.page .cbpc-soft-hero__badge { display: inline-flex !important; align-items: center; gap: 8px; background: none !important; color: #5d6f82 !important; font: 600 12px/1 Inter, sans-serif !important; letter-spacing: .08em; text-transform: uppercase; padding: 0 !important; margin: 0 0 10px !important; border-radius: 0 !important; }
body.page .cbpc-soft-hero__badge::before { content: ""; width: 8px; height: 8px; border-radius: 2px; background: #17b3da; flex: 0 0 auto; }
body.page .cbpc-soft-hero__title { font-family: "Inter Tight", Inter, sans-serif !important; font-weight: 600 !important; font-size: clamp(1.7rem, 3vw, 2.3rem) !important; line-height: 1.15 !important; color: #0d1b2a !important; letter-spacing: -0.01em; margin: 0 0 8px !important; }
body.page .cbpc-soft-hero__subtitle { color: #5d6f82 !important; font-size: 15px !important; line-height: 1.5; max-width: 62ch; margin: 0 0 14px !important; }
body.page .cbpc-soft-hero__meta { display: flex; flex-wrap: wrap; gap: 6px 18px; color: #0d1b2a !important; font-size: 13px !important; font-weight: 500 !important; }
body.page .cbpc-soft-cta { margin: 40px 0 0 !important; padding: 32px 24px !important; background: #f6f9fc !important; border: 1px solid #e3e9ef !important; border-radius: 12px !important; text-align: center; }
body.page .cbpc-soft-cta h2 { font-family: "Inter Tight", Inter, sans-serif !important; font-size: 22px !important; font-weight: 600 !important; color: #0d1b2a !important; margin: 0 0 8px !important; }
body.page .cbpc-soft-cta p { color: #5d6f82 !important; font-size: 15px !important; margin: 0 auto 18px !important; }
body.page .cbpc-soft-cta__btn { display: inline-block; background: #111 !important; color: #fff !important; padding: 13px 22px !important; border-radius: 8px !important; font: 600 14px/1 Inter, sans-serif !important; box-shadow: none !important; text-decoration: none !important; }
body.page .cbpc-soft-cta__btn:hover { background: #000 !important; transform: none !important; }
body.cbpc-landing .products { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 24px; margin: 0 0 8px; }
body.cbpc-landing .products .grid-item.product { width: auto !important; padding: 0 !important; margin: 0 !important; border: 0 !important; border-radius: 0 !important; background: none !important; transform: none !important; box-shadow: none !important; }
body.cbpc-landing .products .grid-item.product:hover { transform: none !important; box-shadow: none !important; }
/* /oprogramowanie/: petla tylko CSS-em (bez hookow PHP) - cala karta klika w produkt (rozciagniety link z shop.css), kolejnosc tytul -> cena -> "przycisk" z ::after */
body.cbpc-landing .products .grid-item.product .product-wrapper { position: relative; cursor: pointer; }
body.cbpc-landing .products .grid-item.product .product-info { pointer-events: none; }
body.cbpc-landing .products .grid-item.product .product-info a { pointer-events: auto; }
body.cbpc-landing .products .grid-item.product .product-info .woocommerce-loop-product__title { order: 1; }
body.cbpc-landing .products .grid-item.product .product-info :is(.tm-star-rating, .star-rating) { order: 2; }
body.cbpc-landing .products .grid-item.product .product-info span.price { order: 3; margin: auto 0 12px !important; }
body.cbpc-landing .products .grid-item.product .product-info::after { content: "Zobacz produkt \2192"; order: 4; display: block; margin-top: auto; padding: 10px 12px; border-radius: 8px; background: #111; color: #fff; font: 600 13px/1.3 Inter, system-ui, sans-serif; text-align: left; transition: background .15s; }
body.cbpc-landing .products .grid-item.product .product-wrapper:hover .product-info::after { background: #000; }
/* nadpisania regul shop.css o tej samej specyficznosci (body.cbpc-landing .products ...) - karta pionowa jak w /sklep/ */
body.cbpc-landing .products, body.cbpc-landing .woocommerce .products, body.cbpc-landing .woocommerce[class*="columns-"] .products { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)) !important; gap: 24px !important; }
body.cbpc-landing .products .grid-item.product .product-wrapper { display: flex !important; flex-direction: column !important; grid-template-columns: none !important; min-height: 0 !important; }
body.cbpc-landing .products .grid-item.product .product-thumbnail { display: block !important; padding: 0 !important; background: #f3f6f9 !important; }
body.cbpc-landing .products .grid-item.product .thumbnail, body.cbpc-landing .products .grid-item.product .product-main-image { display: block !important; width: 100% !important; height: auto !important; }
body.cbpc-landing .products .grid-item.product .product-main-image { aspect-ratio: 16 / 9; overflow: hidden; }
body.cbpc-landing .products .grid-item.product .product-main-image img, body.cbpc-landing .products .grid-item.product .thumbnail img { width: 100% !important; height: 100% !important; max-height: none !important; max-width: none !important; object-fit: cover !important; }
body.cbpc-landing .products .grid-item.product .product-info { padding: 14px 16px 16px !important; gap: 0 !important; justify-content: flex-start !important; }
body.cbpc-landing .products .grid-item.product .product-info .woocommerce-loop-product__title { font-size: 15px !important; line-height: 1.4 !important; margin: 0 0 8px !important; font-family: Inter, system-ui, sans-serif !important; font-weight: 600 !important; -webkit-line-clamp: 2; }
body.cbpc-landing .products .grid-item.product .product-info .woocommerce-loop-product__title a { color: #0d1b2a !important; }
body.cbpc-landing .products .grid-item.product .product-info .price, body.cbpc-landing .products .grid-item.product .product-info span.price { font-size: 20px !important; margin: auto 0 12px !important; }
body.cbpc-landing .products .grid-item.product .product-info .price ins { font-size: 20px !important; }
body.cbpc-landing .products .grid-item.product .product-info .price del, body.cbpc-landing .products .grid-item.product .product-info .price del :is(bdi, span) { font-size: 13px !important; }
@media (max-width: 600px) { body.page .cbpc-soft-hero { padding: 24px 0 16px !important; } body.cbpc-landing .products, body.cbpc-landing .woocommerce .products, body.cbpc-landing .woocommerce[class*="columns-"] .products { grid-template-columns: 1fr !important; gap: 16px !important; } }

/* --- sklep2 (22.09.2026): naglowek /sklep/ i kategorii jak /kursy/, karty produktow jak cb-card, strona produktu pod skin --- */
/* zakres: lista produktow i strona produktu; koszyk, zamowienie i konto poza zakresem */
body:is(.woocommerce-shop, .post-type-archive-product, .tax-product_cat, .tax-product_tag, .single-product, .cbpc-landing) { --cbpc-brand: #0d1b2a; --cbpc-brand-dark: #000; --cbpc-brand-darker: #000; }

/* naglowek strony sklepu / kategorii */
.cb-sk-head { font-family: Inter, system-ui, sans-serif; padding: 36px 0 22px; margin: 0 0 22px; border-bottom: 1px solid #e3e9ef; }
.cb-sk-eyebrow { display: inline-flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: #5d6f82; margin-bottom: 10px; }
.cb-sk-eyebrow::before { content: ""; width: 8px; height: 8px; border-radius: 2px; background: #17b3da; flex: 0 0 auto; }
body.woocommerce h1.cb-sk-title, .cb-sk-head .cb-sk-title { font-family: "Inter Tight", Inter, sans-serif !important; font-size: clamp(1.7rem, 3vw, 2.3rem) !important; font-weight: 600 !important; color: #0d1b2a !important; line-height: 1.15 !important; letter-spacing: -0.01em; margin: 0 0 8px !important; }
.cb-sk-sub { font-size: 15px; color: #5d6f82; max-width: 62ch; line-height: 1.5; margin: 0 0 20px; }
.cb-sk-kafelki { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin: 0 0 22px; }
body.woocommerce a.cb-sk-kafelek, .cb-sk-kafelek { display: flex; flex-direction: column; background: #fff; border: 1px solid #e3e9ef; border-radius: 12px; overflow: hidden; color: #0d1b2a !important; text-decoration: none !important; transition: border-color .15s, box-shadow .15s; }
.cb-sk-kafelek:hover { border-color: #b9c6d3; box-shadow: 0 8px 24px rgba(13,27,42,.06); }
.cb-sk-kafelek-img { display: block; aspect-ratio: 16 / 9; background: #f3f6f9; overflow: hidden; }
.cb-sk-kafelek-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cb-sk-kafelek-body { display: flex; flex-direction: column; flex: 1 1 auto; padding: 14px 16px 16px; }
.cb-sk-kafelek-eyebrow { align-self: flex-start; background: #eaf6fb; color: #0d6d86; font-size: 11px; font-weight: 600; line-height: 1; letter-spacing: .08em; text-transform: uppercase; padding: 5px 8px; border-radius: 6px; margin-bottom: 10px; }
.cb-sk-kafelek-tytul { font-family: "Inter Tight", Inter, sans-serif; font-size: 17px; font-weight: 600; line-height: 1.3; color: #0d1b2a; margin: 0 0 6px; }
.cb-sk-kafelek-opis { font-size: 14px; line-height: 1.5; color: #5d6f82; margin: 0 0 14px; }
.cb-sk-btn { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: auto; padding: 10px 12px; border-radius: 8px; background: #111; color: #fff !important; font: 600 13px/1.3 Inter, system-ui, sans-serif; text-decoration: none !important; transition: background .15s; }
.cb-sk-btn:hover { background: #000; color: #fff !important; }
.cb-sk-btn span { color: #fff !important; font-size: 13px !important; }
.cb-sk-btn svg { width: 13px; height: 13px; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.cb-sk-chips { display: flex; flex-wrap: wrap; gap: 8px; }
body.woocommerce a.cb-sk-chip, .cb-sk-chip { display: inline-flex; align-items: center; gap: 6px; min-height: 36px; padding: 7px 13px; border: 1px solid #e3e9ef; border-radius: 999px; background: #fff; color: #0d1b2a !important; font-size: 13px; font-weight: 500; text-decoration: none !important; white-space: nowrap; transition: background .15s, border-color .15s; }
.cb-sk-chip b { font-weight: 600; color: #5d6f82; font-size: 12px; }
.cb-sk-chip:hover { background: #f6f9fc; border-color: #b9c6d3; }
body.woocommerce a.cb-sk-chip.is-active, .cb-sk-chip.is-active { background: #111; border-color: #111; color: #fff !important; }
.cb-sk-chip.is-active b { color: rgba(255,255,255,.75); }

/* pasek nad lista: licznik + sortowanie; przelacznik widoku i filtry schowane (hooki zdjete w sklep-naglowek.php, CSS jako zapas) */
body.woocommerce .archive-filter-bars { display: flex !important; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px 16px; margin: 0 0 20px !important; padding: 0 0 12px !important; border-bottom: 1px solid #e3e9ef; }
body.woocommerce .archive-filter-bars .archive-filter-bar { width: auto !important; flex: 0 1 auto !important; max-width: none !important; padding: 0 !important; margin: 0 !important; }
body.woocommerce .archive-filter-bars .archive-filter-bar-right .inner { display: flex; align-items: center; gap: 12px; justify-content: flex-end; }
body.woocommerce .woocommerce-result-count { margin: 0 !important; padding: 0 !important; font: 500 13px/1.4 Inter, sans-serif !important; color: #5d6f82 !important; }
body.woocommerce #archive-layout-switcher, body.woocommerce .btn-toggle-shop-filters, body.woocommerce #archive-top-filter-widgets { display: none !important; }
body.woocommerce .woocommerce-ordering { margin: 0 !important; float: none !important; }
body.woocommerce .woocommerce-ordering select, body.woocommerce .woocommerce-ordering .nice-select { border: 1px solid #e3e9ef !important; border-radius: 8px !important; padding: 6px 32px 6px 10px !important; min-height: 36px !important; height: auto !important; line-height: 22px !important; font: 500 13px Inter, sans-serif !important; color: #0d1b2a !important; background-color: #fff !important; box-shadow: none !important; float: none !important; }
body.woocommerce .woocommerce-ordering .nice-select .option { font: 400 13px Inter, sans-serif !important; color: #0d1b2a !important; }
body.woocommerce .woocommerce-ordering .nice-select .option.selected { font-weight: 600 !important; }

/* karta produktu (lista: /sklep/, kategorie, /oprogramowanie/, "Produkty powiazane") */
body:is(.woocommerce-shop, .post-type-archive-product, .tax-product_cat, .tax-product_tag, .single-product, .cbpc-landing) .grid-item.product .product-wrapper { display: flex !important; flex-direction: column !important; height: 100%; min-height: 0 !important; grid-template-columns: none !important; background: #fff !important; border: 1px solid #e3e9ef !important; border-radius: 12px !important; box-shadow: none !important; overflow: hidden; transform: none !important; transition: border-color .15s, box-shadow .15s; }
body:is(.woocommerce-shop, .post-type-archive-product, .tax-product_cat, .tax-product_tag, .single-product, .cbpc-landing) .grid-item.product .product-wrapper:hover { border-color: #b9c6d3 !important; box-shadow: 0 8px 24px rgba(13,27,42,.06) !important; }
body:is(.woocommerce-shop, .post-type-archive-product, .tax-product_cat, .tax-product_tag, .single-product, .cbpc-landing) .grid-item.product .product-thumbnail { position: relative; display: block !important; padding: 0 !important; margin: 0 !important; background: #f3f6f9 !important; border-radius: 0 !important; }
body:is(.woocommerce-shop, .post-type-archive-product, .tax-product_cat, .tax-product_tag, .single-product, .cbpc-landing) .grid-item.product .product-thumbnail .thumbnail { display: block !important; width: 100% !important; height: auto !important; }
body:is(.woocommerce-shop, .post-type-archive-product, .tax-product_cat, .tax-product_tag, .single-product, .cbpc-landing) .grid-item.product .product-thumbnail .thumbnail a { display: block; }
body:is(.woocommerce-shop, .post-type-archive-product, .tax-product_cat, .tax-product_tag, .single-product, .cbpc-landing) .grid-item.product .product-thumbnail .product-main-image { display: block !important; width: 100% !important; height: auto !important; aspect-ratio: 16 / 9; overflow: hidden; }
body:is(.woocommerce-shop, .post-type-archive-product, .tax-product_cat, .tax-product_tag, .single-product, .cbpc-landing) .grid-item.product .product-thumbnail .product-main-image img { width: 100% !important; height: 100% !important; max-height: none !important; object-fit: cover; display: block; transform: none !important; }
body:is(.woocommerce-shop, .post-type-archive-product, .tax-product_cat, .tax-product_tag, .single-product, .cbpc-landing) .grid-item.product .product-hover-image, body:is(.woocommerce-shop, .post-type-archive-product, .tax-product_cat, .tax-product_tag, .single-product, .cbpc-landing) .grid-item.product .product-actions { display: none !important; }
body:is(.woocommerce-shop, .post-type-archive-product, .tax-product_cat, .tax-product_tag, .single-product, .cbpc-landing) .grid-item.product .product-badges { position: absolute; top: 12px !important; left: 12px !important; right: auto !important; bottom: auto !important; z-index: 2; display: flex; gap: 6px; flex-wrap: wrap; }
body:is(.woocommerce-shop, .post-type-archive-product, .tax-product_cat, .tax-product_tag, .single-product, .cbpc-landing) .grid-item.product .product-badges span { display: inline-block; position: static !important; margin: 0 !important; border-radius: 6px !important; font: 600 11px/1 Inter, sans-serif !important; padding: 5px 8px !important; letter-spacing: .02em; color: #fff !important; box-shadow: 0 1px 4px rgba(0,0,0,.15); text-transform: none !important; width: auto !important; height: auto !important; }
body:is(.woocommerce-shop, .post-type-archive-product, .tax-product_cat, .tax-product_tag, .single-product, .cbpc-landing) .grid-item.product .product-badges .onsale { background: #d31819 !important; }
body:is(.woocommerce-shop, .post-type-archive-product, .tax-product_cat, .tax-product_tag, .single-product, .cbpc-landing) .grid-item.product .product-badges .new { background: #17b3da !important; }
body:is(.woocommerce-shop, .post-type-archive-product, .tax-product_cat, .tax-product_tag, .single-product, .cbpc-landing) .grid-item.product .product-badges .best-seller { background: #0d1b2a !important; }
body:is(.woocommerce-shop, .post-type-archive-product, .tax-product_cat, .tax-product_tag, .single-product, .cbpc-landing) .grid-item.product .product-badges .free { background: #1e7f3c !important; }
body:is(.woocommerce-shop, .post-type-archive-product, .tax-product_cat, .tax-product_tag, .single-product, .cbpc-landing) .grid-item.product .product-badges .hot { background: #e07a00 !important; }
body:is(.woocommerce-shop, .post-type-archive-product, .tax-product_cat, .tax-product_tag, .single-product, .cbpc-landing) .grid-item.product .product-badges .out-of-stock { background: #5d6f82 !important; }
body:is(.woocommerce-shop, .post-type-archive-product, .tax-product_cat, .tax-product_tag, .single-product, .cbpc-landing) .grid-item.product .product-info { display: flex !important; flex-direction: column !important; flex: 1 1 auto; padding: 14px 16px 16px !important; margin: 0 !important; text-align: left !important; }
body:is(.woocommerce-shop, .post-type-archive-product, .tax-product_cat, .tax-product_tag, .single-product, .cbpc-landing) .grid-item.product .product-info > * { order: 5; }
body:is(.woocommerce-shop, .post-type-archive-product, .tax-product_cat, .tax-product_tag, .single-product, .cbpc-landing) .grid-item.product .product-info .woocommerce-loop-product__title { order: 1 !important; }
body:is(.woocommerce-shop, .post-type-archive-product, .tax-product_cat, .tax-product_tag, .single-product, .cbpc-landing) .grid-item.product .product-info :is(.tm-star-rating, .star-rating) { order: 2 !important; }
body:is(.woocommerce-shop, .post-type-archive-product, .tax-product_cat, .tax-product_tag, .single-product, .cbpc-landing) .grid-item.product .product-info span.price { order: 3 !important; }
body:is(.woocommerce-shop, .post-type-archive-product, .tax-product_cat, .tax-product_tag, .single-product, .cbpc-landing) .grid-item.product .product-info .cb-sk-btn--karta { order: 4 !important; }
body:is(.woocommerce-shop, .post-type-archive-product, .tax-product_cat, .tax-product_tag, .single-product, .cbpc-landing) .grid-item.product .product-info .woocommerce-loop-product__title { font-family: Inter, system-ui, sans-serif !important; font-size: 15px !important; font-weight: 600 !important; line-height: 1.4 !important; color: #0d1b2a !important; margin: 0 0 8px !important; padding: 0 !important; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
body:is(.woocommerce-shop, .post-type-archive-product, .tax-product_cat, .tax-product_tag, .single-product, .cbpc-landing) .grid-item.product .product-info .woocommerce-loop-product__title a { color: #0d1b2a !important; text-decoration: none !important; }
body:is(.woocommerce-shop, .post-type-archive-product, .tax-product_cat, .tax-product_tag, .single-product, .cbpc-landing) .grid-item.product .product-info :is(.tm-star-rating, .star-rating) { margin: 0 0 8px !important; }
body:is(.woocommerce-shop, .post-type-archive-product, .tax-product_cat, .tax-product_tag, .single-product, .cbpc-landing) .grid-item.product .product-info span.price { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; margin: auto 0 12px !important; line-height: 1.1 !important; }
body:is(.woocommerce-shop, .post-type-archive-product, .tax-product_cat, .tax-product_tag, .single-product, .cbpc-landing) .grid-item.product .product-info span.price p.price { display: contents; }
body:is(.woocommerce-shop, .post-type-archive-product, .tax-product_cat, .tax-product_tag, .single-product, .cbpc-landing) .grid-item.product .product-info .price ins { order: 0; text-decoration: none !important; background: none !important; font-family: Inter, sans-serif !important; font-size: 20px !important; font-weight: 700 !important; color: #0d1b2a !important; letter-spacing: -.01em; }
body:is(.woocommerce-shop, .post-type-archive-product, .tax-product_cat, .tax-product_tag, .single-product, .cbpc-landing) .grid-item.product .product-info .price ins :is(bdi, span) { color: inherit !important; font-size: inherit !important; font-weight: inherit !important; }
body:is(.woocommerce-shop, .post-type-archive-product, .tax-product_cat, .tax-product_tag, .single-product, .cbpc-landing) .grid-item.product .product-info .price ins .woocommerce-Price-currencySymbol { font-size: 14px !important; font-weight: 600 !important; }
body:is(.woocommerce-shop, .post-type-archive-product, .tax-product_cat, .tax-product_tag, .single-product, .cbpc-landing) .grid-item.product .product-info .price ins .decimals-separator { font-size: 13px !important; font-weight: 600 !important; }
body:is(.woocommerce-shop, .post-type-archive-product, .tax-product_cat, .tax-product_tag, .single-product, .cbpc-landing) .grid-item.product .product-info .price:has(del) ins, body:is(.woocommerce-shop, .post-type-archive-product, .tax-product_cat, .tax-product_tag, .single-product, .cbpc-landing) .grid-item.product .product-info .price:has(del) ins :is(bdi, span) { color: #d31819 !important; }
body:is(.woocommerce-shop, .post-type-archive-product, .tax-product_cat, .tax-product_tag, .single-product, .cbpc-landing) .grid-item.product .product-info .price del, body:is(.woocommerce-shop, .post-type-archive-product, .tax-product_cat, .tax-product_tag, .single-product, .cbpc-landing) .grid-item.product .product-info .price del :is(bdi, span) { order: 1; font-family: Inter, sans-serif !important; font-size: 13px !important; font-weight: 400 !important; color: #98a6b3 !important; text-decoration: line-through; }
body:is(.woocommerce-shop, .post-type-archive-product, .tax-product_cat, .tax-product_tag, .single-product, .cbpc-landing) .grid-item.product .product-info .cb-sk-btn--karta { margin-top: auto; }
body:is(.woocommerce-shop, .post-type-archive-product, .tax-product_cat, .tax-product_tag, .single-product, .cbpc-landing) .grid-item.product .product-info .price + .cb-sk-btn--karta { margin-top: 0; }

/* strona produktu: opis, opinie, powiazane, meta (formularz zakupu bez zmian) */
body.single-product .entry-product-tab-list { margin-top: 32px; font-family: Inter, system-ui, sans-serif; }
body.single-product .entry-product-tab-list-item { margin: 0 0 32px !important; padding: 24px 0 0 !important; border: 0 !important; border-top: 1px solid #e3e9ef !important; }
body.single-product .entry-product-tab-list-item > .entry-product-section-heading, body.single-product .woocommerce-Reviews-title { display: inline-block !important; font-family: "Inter Tight", Inter, sans-serif !important; font-size: 20px !important; font-weight: 600 !important; color: #0d1b2a !important; line-height: 1.3 !important; letter-spacing: -0.01em; margin: 0 0 18px !important; padding: 0 0 8px !important; border-bottom: 2px solid #111 !important; text-transform: none !important; }
body.single-product .entry-product-tab-list-item :is(h2, h3, h4):not(.entry-product-section-heading):not(.woocommerce-Reviews-title) { font-family: "Inter Tight", Inter, sans-serif !important; font-size: 21px !important; font-weight: 600 !important; line-height: 1.3 !important; color: #0d1b2a !important; letter-spacing: -0.01em; margin: 24px 0 10px !important; padding: 0 !important; }
body.single-product .entry-product-tab-list-item h4:not(.entry-product-section-heading) { font-size: 18px !important; }
body.single-product .entry-product-tab-list-item :is(p, li, td, th) { font-family: Inter, system-ui, sans-serif !important; font-size: 15px !important; line-height: 1.6 !important; color: #3d4f61 !important; }
body.single-product .entry-product-tab-list-item p { margin: 0 0 14px !important; }
body.single-product .entry-product-tab-list-item strong { color: #0d1b2a; font-weight: 600; }
body.single-product .entry-product-tab-list-item a:not(.button):not(.cb-sk-btn):not(.submit) { color: #0d1b2a !important; text-decoration: underline; text-underline-offset: 3px; }
body.single-product .entry-product-tab-list-item a:not(.button):not(.cb-sk-btn):not(.submit):hover { color: #17b3da !important; }
body.single-product .entry-product-tab-list-item ul:not(.commentlist):not(.tm-star-rating) { list-style: none !important; padding: 0 !important; margin: 0 0 16px !important; }
body.single-product .entry-product-tab-list-item ul:not(.commentlist):not(.tm-star-rating) > li { position: relative; padding-left: 20px !important; margin: 0 0 6px !important; list-style: none !important; }
body.single-product .entry-product-tab-list-item ul:not(.commentlist):not(.tm-star-rating) > li::before { content: ""; position: absolute; left: 0; top: .62em; width: 7px; height: 7px; border-radius: 2px; background: #17b3da; }
body.single-product .entry-product-tab-list-item ol { padding-left: 20px !important; margin: 0 0 16px !important; }
body.single-product .entry-product-tab-list-item table { font-size: 14px; border-collapse: collapse; width: 100%; margin: 0 0 16px; }
body.single-product .entry-product-tab-list-item :is(th, td) { border: 1px solid #e3e9ef; padding: 8px 10px; text-align: left; font-size: 14px !important; }
body.single-product .woocommerce-Reviews .woocommerce-noreviews { font-size: 14px !important; color: #5d6f82 !important; margin: 0 0 16px !important; }
body.single-product #review_form_wrapper { margin: 0 !important; }
body.single-product #reply-title.comment-reply-title { display: block; font-family: "Inter Tight", Inter, sans-serif !important; font-size: 18px !important; font-weight: 600 !important; color: #0d1b2a !important; line-height: 1.3 !important; margin: 0 0 12px !important; }
body.single-product #reply-title small a { font-size: 13px !important; font-weight: 500 !important; color: #5d6f82 !important; margin-left: 8px; }
body.single-product #commentform .comment-notes { font-size: 13px !important; color: #5d6f82 !important; margin: 0 0 14px !important; }
body.single-product #commentform .comment-form-rating label { font-size: 13px !important; font-weight: 500 !important; color: #0d1b2a !important; }
body.single-product #commentform :is(input[type="text"], input[type="email"], textarea, select) { border: 1px solid #e3e9ef !important; border-radius: 8px !important; background: #fff !important; color: #0d1b2a !important; font: 400 14px/1.5 Inter, sans-serif !important; padding: 10px 12px !important; box-shadow: none !important; min-height: 42px; }
body.single-product #commentform textarea { min-height: 120px; }
body.single-product #commentform :is(input, textarea, select):focus { border-color: #17b3da !important; outline: 0; }
body.single-product #commentform p { margin: 0 0 12px !important; }
body.single-product #commentform .comment-form-cookies-consent label { font-size: 13px !important; color: #5d6f82 !important; }
body.single-product #commentform .form-submit .submit { background: #111 !important; color: #fff !important; border: 0 !important; border-radius: 8px !important; font: 600 14px/1 Inter, sans-serif !important; padding: 13px 22px !important; text-transform: none !important; letter-spacing: 0 !important; box-shadow: none !important; cursor: pointer; }
body.single-product #commentform .form-submit .submit:hover { background: #000 !important; }
body.single-product .woocommerce-Reviews .commentlist .comment-text p, body.single-product .woocommerce-Reviews .description p { font-size: 15px !important; }
body.single-product .entry-after-product { padding: 8px 0 40px; font-family: Inter, system-ui, sans-serif; }
body.single-product :is(.related.products, .up-sells, .upsells) .product-section-heading { font-family: "Inter Tight", Inter, sans-serif !important; font-size: 22px !important; font-weight: 600 !important; color: #0d1b2a !important; margin: 0 0 18px !important; text-transform: none !important; letter-spacing: -0.01em; text-align: left !important; }
body.single-product :is(.related, .up-sells) .swiper-slide { height: auto !important; }
body.single-product :is(.related, .up-sells) .swiper-slide .grid-item.product { height: 100%; margin: 0 !important; }
body.single-product .product_meta { margin-top: 18px !important; padding-top: 14px !important; border-top: 1px solid #e3e9ef; display: flex; flex-direction: column; gap: 6px; font-family: Inter, system-ui, sans-serif; }
body.single-product .product_meta .meta-item { display: flex; gap: 8px; align-items: baseline; font-size: 13px !important; margin: 0 !important; padding: 0 !important; }
body.single-product .product_meta .meta-label { font-size: 13px !important; font-weight: 600 !important; color: #0d1b2a !important; margin: 0 !important; min-width: 0 !important; text-transform: none !important; letter-spacing: 0 !important; }
body.single-product .product_meta :is(.meta-content, .meta-content a, .sku) { font-size: 13px !important; color: #5d6f82 !important; text-decoration: none !important; }
body.single-product .product_meta .meta-content a:hover { color: #17b3da !important; }

/* odstep pod naglowkiem serwisu jak na /kursy/ (Edumall daje #page-content margin-top 80px); ceny w Inter; obrazek karty zawsze cover */
body:is(.woocommerce-shop, .post-type-archive-product, .tax-product_cat, .tax-product_tag, .cbpc-landing) #page-content { margin-top: 0 !important; }
body:is(.woocommerce-shop, .post-type-archive-product, .tax-product_cat, .tax-product_tag, .single-product, .cbpc-landing) .price, body:is(.woocommerce-shop, .post-type-archive-product, .tax-product_cat, .tax-product_tag, .single-product, .cbpc-landing) .price *, body:is(.woocommerce-shop, .post-type-archive-product, .tax-product_cat, .tax-product_tag, .single-product, .cbpc-landing) .summary .price, body:is(.woocommerce-shop, .post-type-archive-product, .tax-product_cat, .tax-product_tag, .single-product, .cbpc-landing) .summary .price * { font-family: Inter, system-ui, sans-serif !important; }
body:is(.woocommerce-shop, .post-type-archive-product, .tax-product_cat, .tax-product_tag, .single-product, .cbpc-landing) .grid-item.product .product-thumbnail .product-main-image img { object-fit: cover !important; }
.cb-sk-kafelek--ciemny .cb-sk-kafelek-img { background: #0e1726; }
.cb-sk-kafelek--ciemny .cb-sk-kafelek-img img { object-fit: contain; }

@media (max-width: 767px) {
	.cb-sk-head { padding: 24px 0 16px; margin-bottom: 18px; }
	.cb-sk-kafelki { grid-template-columns: 1fr; gap: 14px; }
	.cb-sk-chips { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 4px; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
	.cb-sk-chips::-webkit-scrollbar { display: none; }
	body.woocommerce .archive-filter-bars { flex-direction: column; align-items: flex-start; }
	body.woocommerce .archive-filter-bars .archive-filter-bar { width: 100% !important; }
	body.woocommerce .archive-filter-bars .archive-filter-bar-right .inner { justify-content: flex-start; width: 100%; }
	body.woocommerce .woocommerce-ordering, body.woocommerce .woocommerce-ordering select, body.woocommerce .woocommerce-ordering .nice-select { width: 100% !important; }
	body.single-product .entry-product-tab-list-item :is(h2, h3):not(.entry-product-section-heading):not(.woocommerce-Reviews-title) { font-size: 19px !important; }
	body.single-product :is(.related.products, .up-sells) .product-section-heading { font-size: 20px !important; }
	body.single-product .entry-product-tab-list { margin-top: 20px; }
}
@media (min-width: 641px) and (max-width: 900px) { .cb-sk-kafelki { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; } .cb-sk-kafelek-body { padding: 12px; } .cb-sk-kafelek-tytul { font-size: 15px; } }

/* zdjecia produktow bez przycinania (22.09): contain na jasnym tle zamiast cover */
body:is(.woocommerce-shop, .post-type-archive-product, .tax-product_cat, .tax-product_tag, .single-product, .cbpc-landing) .grid-item.product .product-thumbnail .product-main-image img, body.cbpc-landing .products .grid-item.product .product-main-image img, body.cbpc-landing .products .grid-item.product .thumbnail img { object-fit: contain !important; object-position: center !important; background: #f6f9fc !important; padding: 10px !important; box-sizing: border-box; }
body:is(.woocommerce-shop, .post-type-archive-product, .tax-product_cat, .tax-product_tag, .single-product, .cbpc-landing) .grid-item.product .product-thumbnail .product-main-image, body.cbpc-landing .products .grid-item.product .product-main-image { background: #f6f9fc !important; }

/* ===== strona produktu: odstep od naglowka + okruszki ===== */
body.single-product .page-content { padding-top: 24px !important; }
body.single-product .cb-okruszki { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 26px; font-family: Inter, system-ui, sans-serif; font-size: 13px; line-height: 1.4; color: #5d6f82; }
body.single-product .cb-okruszki a { color: #5d6f82 !important; text-decoration: none !important; }
body.single-product .cb-okruszki a:hover { color: #0d1b2a !important; }
body.single-product .cb-okruszki span { color: #c1ccd6; }
body.single-product .cb-okruszki b { color: #0d1b2a; font-weight: 500; max-width: 60ch; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media (max-width: 600px) { body.single-product .page-content { padding-top: 16px !important; } body.single-product .cb-okruszki { margin-bottom: 18px; font-size: 12px; } body.single-product .cb-okruszki b { max-width: 100%; white-space: normal; } }

/* koszyk: pusty pasek komunikatu Woo (tekst jest w naglowku Elementora "Twoj koszyk jest obecnie pusty") */
.woocommerce-cart .cart-empty.woocommerce-info:empty { display: none !important; }
