/* =====================================================================
   Listwowo – CSS sklepu WooCommerce spójny z motywem (kit Elementora Huniart)
   Układ/UI wg szablonu HTML „Roiser" (shop-grid, shop-details, cart), przepisany
   na tokeny motywu: nagłówki Poppins 500 (ujemny tracking), tekst Lora 400,
   kolory primary #0D1218 / text #4F5357 / accent #797D80,
   brand #DC8B3A (main) / #633B13 (darker) / #FFF5E2 (subtle),
   tła #F8F8F8 (sekcje), #15110E (stopka), border #EAECF1, przyciski radius 0.
   Mapowanie Roiser -> motyw: #E53E3E->brand, #141414->heading, #74787C->text,
   #F6F6F7->bg, #E8E8E8->border, Jost->Poppins/Lora. Radiusy kart Roiser (6px) zachowane.
   Ładowany przez mu-plugin listwowo-woo-shop-style.php.
   ===================================================================== */
body {
  --lw-heading: var(--e-global-color-primary, #0D1218);
  --lw-text: var(--e-global-color-text, #4F5357);
  --lw-muted: var(--e-global-color-accent, #797D80);
  --lw-brand: var(--e-global-color-870ef80, #DC8B3A);
  --lw-brand-dark: var(--e-global-color-bf890a9, #633B13);
  --lw-brand-subtle: var(--e-global-color-15e26ab, #FFF5E2);
  --lw-bg: var(--e-global-color-1e38924, #F8F8F8);
  --lw-dark: #15110E;
  --lw-border: #EAECF1;
  --lw-radius: 6px;               /* radius kart/boxów z Roiser */
  --lw-font-head: var(--e-global-typography-primary-font-family, "Poppins"), sans-serif;
  --lw-font-text: var(--e-global-typography-text-font-family, "Lora"), serif;
}

/* --- Bazowa typografia stron sklepu --- */
body.woocommerce, body.woocommerce-page, .woocommerce { font-family: var(--lw-font-text); color: var(--lw-text); font-size: 16px; line-height: 1.5; }
.woocommerce h1, .woocommerce h2, .woocommerce h3, .woocommerce h4, .woocommerce h5, .woocommerce h6,
.woocommerce-page h1, .woocommerce-page h2, .woocommerce-page h3, .woocommerce-page h4 {
  font-family: var(--lw-font-head); font-weight: 500; color: var(--lw-heading); line-height: 1.2; }
.woocommerce a { color: var(--lw-heading); }
.woocommerce a:hover { color: var(--lw-brand-dark); }
.lw-eyebrow { display: block; font-family: var(--lw-font-head); font-size: 12px; font-weight: 600; letter-spacing: 1px; text-transform: uppercase; color: var(--lw-brand); margin-bottom: 10px; line-height: 1; }
.lw-label { font-family: var(--lw-font-head); font-size: 12px; font-weight: 600; letter-spacing: .8px; text-transform: uppercase; }
.lw-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.woocommerce #primary.content-area, .woocommerce-page #primary.content-area { overflow-x: clip; }

/* --- Przyciski = przyciski motywu (Poppins 600 14px, bez capitalize – polszczyzna, radius 0, 12px 24px) --- */
.woocommerce .button, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .woocommerce .single_add_to_cart_button, .woocommerce a.button.alt, .woocommerce button.button.alt,
.woocommerce-page .button, .woocommerce .wc-block-components-button, .wc-block-components-button, .wp-block-button__link {
  background: var(--lw-brand) !important; color: #fff !important; border: 0 !important; border-radius: 0 !important;
  font-family: var(--lw-font-head) !important; font-weight: 600 !important; font-size: 14px !important; line-height: 14px !important;
  letter-spacing: 0; text-transform: none; padding: 12px 24px !important; transition: background .2s ease, color .2s ease; }
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce .single_add_to_cart_button:hover,
.woocommerce input.button:hover, .woocommerce #respond input#submit:hover, .woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover,
.wc-block-components-button:hover, .wp-block-button__link:hover {
  background: var(--lw-brand-dark) !important; color: #fff !important; }
.woocommerce .button.lw-btn-outline, .woocommerce a.button.lw-btn-outline {
  background: transparent !important; color: var(--lw-heading) !important; border: 1px solid var(--lw-heading) !important; padding: 11px 23px !important; }
.woocommerce .button.lw-btn-outline:hover { background: var(--lw-heading) !important; color: #fff !important; }

/* --- Pola formularzy jak w motywie --- */
.woocommerce input[type="text"], .woocommerce input[type="email"], .woocommerce input[type="tel"], .woocommerce input[type="password"],
.woocommerce input[type="number"], .woocommerce textarea, .woocommerce select, .woocommerce .select2-container .select2-selection--single {
  font-family: var(--lw-font-text); font-size: 15px; color: var(--lw-text); background: var(--lw-bg); border: 1px solid var(--lw-border); border-radius: 0; padding: 12px 16px; height: auto; }
.woocommerce input:focus, .woocommerce textarea:focus, .woocommerce select:focus { outline: none; border-color: var(--lw-brand); }

/* =====================================================================
   Nagłówek strony (Roiser .page-header: pełna szerokość, szare tło, tytuł
   po lewej + breadcrumb po prawej, dekoracyjny łuk w tle)
   ===================================================================== */
body.woocommerce header#masthead, body.woocommerce-page header#masthead { background: var(--lw-dark); }
.woocommerce .woocommerce-breadcrumb { font-family: var(--lw-font-head); font-size: 13px; font-weight: 500; letter-spacing: .3px; color: var(--lw-muted); padding: 26px 0 0; margin: 0; }
.woocommerce .woocommerce-breadcrumb a { color: var(--lw-muted); text-decoration: none; }
.woocommerce .woocommerce-breadcrumb a:hover { color: var(--lw-brand-dark); }
.woocommerce-products-header {
  position: relative; z-index: 0; isolation: isolate; background: var(--lw-bg); overflow: hidden;
  margin: 0 calc(50% - 50vw) 40px; padding: 64px max(20px, calc(50vw - 50%)) 56px;
  display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 32px; align-items: end; }
.woocommerce-products-header::before { /* łuk jak w Roiser, w kolorze brand-subtle */
  content: ""; position: absolute; z-index: -1; left: -140px; top: -260px; width: 620px; height: 620px; border-radius: 50%;
  background: var(--lw-brand-subtle); pointer-events: none; }
.woocommerce-products-header::after {
  content: ""; position: absolute; z-index: -1; right: 6%; top: -300px; width: 560px; height: 560px; border-radius: 50%;
  border: 1px solid var(--lw-brand); opacity: .35; pointer-events: none; }
.woocommerce-products-header__title.page-title { font-family: var(--lw-font-head); font-size: 48px; font-weight: 500; letter-spacing: -1.4px; line-height: 1.05; color: var(--lw-heading); margin: 0; }
.woocommerce-products-header .woocommerce-breadcrumb { padding: 0; font-size: 15px; color: var(--lw-text); justify-self: end; text-align: right; }
.woocommerce-products-header .woocommerce-breadcrumb a { color: var(--lw-muted); }
.woocommerce-products-header .term-description, .woocommerce-products-header .page-description { grid-column: 1 / -1; font-family: var(--lw-font-text); color: var(--lw-text); max-width: 720px; margin-top: 16px; }
.woocommerce-products-header .term-description p, .woocommerce-products-header .page-description p { margin: 0; }

/* =====================================================================
   Układ archiwum: treść (lewo) + sidebar filtrów (prawo, jak Roiser col-lg-9/3)
   ===================================================================== */
.lw-shop-layout { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 24px; align-items: start; }
.lw-shop-layout.lw-full { grid-template-columns: minmax(0, 1fr); }
.lw-shop-main { min-width: 0; order: 1; }
.lw-shop-filters { order: 0; position: sticky; top: 24px; }

/* --- Pasek nad siatką (Roiser .top-grid-content): przełącznik widoku + licznik | sortowanie --- */
.lw-shop-top { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px 24px; margin: 0 0 28px; }
.lw-shop-top-left { display: flex; align-items: center; flex-wrap: wrap; gap: 15px 30px; }
.lw-view-toggle { display: inline-flex; align-items: center; gap: 15px; border: 1px solid var(--lw-border); border-radius: var(--lw-radius); padding: 10px 20px; background: #fff; }
.lw-view-toggle button { background: none; border: 0; padding: 0; margin: 0; line-height: 0; cursor: pointer; color: var(--lw-muted); border-radius: 0; }
.lw-view-toggle button svg { display: block; fill: currentColor; }
.lw-view-toggle button:hover, .lw-view-toggle button.is-active { color: var(--lw-heading); }
.woocommerce .woocommerce-result-count, .woocommerce .woocommerce-ordering {
  display: inline-flex; align-items: center; margin: 0; font-family: var(--lw-font-head); font-size: 14px; font-weight: 500; color: var(--lw-muted); }
.woocommerce .woocommerce-ordering { float: none; }
.woocommerce .woocommerce-result-count { float: none; }
.woocommerce .woocommerce-ordering select { font-family: var(--lw-font-head); font-size: 14px; font-weight: 500; color: var(--lw-heading); background: #fff; border: 1px solid var(--lw-border); border-radius: var(--lw-radius); padding: 11px 36px 11px 20px; cursor: pointer;
  -webkit-appearance: none; appearance: none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path d='M1 1l4 4 4-4' fill='none' stroke='%23797D80' stroke-width='1.5'/></svg>"); background-repeat: no-repeat; background-position: right 16px center; }
.woocommerce ul.products { margin: 0 !important; }

/* --- Pasek podkategorii (strona działu) --- */
.lw-subcats { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 24px; padding: 0; list-style: none; }
.lw-subcats li { margin: 0; }
.lw-subcats a { display: inline-flex; align-items: center; gap: 8px; font-family: var(--lw-font-head); font-size: 13px; font-weight: 500; color: var(--lw-heading);
  background: #fff; border: 1px solid var(--lw-border); border-radius: 100px; padding: 9px 16px; text-decoration: none; transition: border-color .2s ease, background .2s ease, color .2s ease; }
.lw-subcats a .lw-count { font-size: 12px; color: var(--lw-muted); }
.lw-subcats a:hover { border-color: var(--lw-brand); color: var(--lw-brand-dark); }
.lw-subcats li.lw-active a { background: var(--lw-brand); border-color: var(--lw-brand); color: #fff; }
.lw-subcats li.lw-active a .lw-count { color: rgba(255,255,255,.75); }

/* =====================================================================
   Sidebar filtrów (Roiser .shop-sidebar: boxy z ramką i radiusem, nagłówek
   z dolną linią, lista z checkboxami i licznikami po prawej)
   ===================================================================== */
.lw-filters-head { display: flex; align-items: baseline; justify-content: space-between; padding: 0 4px 12px; }
.lw-filters-head > span { font-family: var(--lw-font-head); font-size: 12px; font-weight: 600; letter-spacing: 1px; text-transform: uppercase; color: var(--lw-muted); }
.lw-clear-filters { font-family: var(--lw-font-head); font-size: 12px; font-weight: 500; color: var(--lw-brand-dark); text-decoration: underline; }
.lw-clear-filters.lw-disabled { color: #B9BEC2; pointer-events: none; text-decoration: none; }
.lw-filter-group { border: 1px solid var(--lw-border); border-radius: var(--lw-radius); background: #fff; padding: 22px 26px; margin-bottom: 24px; }
.lw-filter-group summary { cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: center;
  font-family: var(--lw-font-head); font-size: 17px; font-weight: 500; letter-spacing: -0.4px; color: var(--lw-heading); }
.lw-filter-group summary::-webkit-details-marker { display: none; }
.lw-filter-group summary::after { content: "+"; font-size: 18px; font-weight: 400; color: var(--lw-muted); line-height: 1; }
.lw-filter-group[open] summary { padding-bottom: 18px; border-bottom: 1px solid var(--lw-border); }
.lw-filter-group[open] summary::after { content: "–"; }
.lw-filter-group .lw-filter-body { margin-top: 18px; }
.lw-filter-widget-title-hidden { display: none; }
.lw-filter-widget ul, .lw-filter-list { list-style: none; margin: 0; padding: 0; }
.lw-filter-widget ul li, .lw-filter-list li { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 0; padding: 0 0 10px; font-family: var(--lw-font-text); font-size: 15px; }
.lw-filter-widget ul li:last-child, .lw-filter-list li:last-child { padding-bottom: 0; }
.lw-filter-widget ul li a, .lw-filter-list li a { flex: 1 1 auto; display: flex; align-items: center; gap: 10px; color: var(--lw-heading); text-decoration: none; }
/* „checkbox" Roiser jako pseudoelement (filtry to linki, nie inputy) */
.lw-filter-widget ul.children li a::before, .lw-filter-list li a::before, .lw-filter-widget .woocommerce-widget-layered-nav-list li a::before {
  content: ""; flex: 0 0 auto; width: 14px; height: 14px; border: 1px solid #C5C9CE; border-radius: 3px; background: #fff; transition: background .15s ease, border-color .15s ease; }
.lw-filter-widget ul li a:hover, .lw-filter-list li a:hover { color: var(--lw-brand-dark); }
.lw-filter-widget ul li a:hover::before, .lw-filter-list li a:hover::before { border-color: var(--lw-brand); }
.lw-filter-widget ul li .count, .lw-filter-widget .lw-count, .lw-filter-list .lw-count { font-family: var(--lw-font-text); font-size: 15px; color: var(--lw-heading); }
.lw-filter-widget .woocommerce-widget-layered-nav-list li .count { color: var(--lw-heading); }
.lw-filter-widget .woocommerce-widget-layered-nav-list li.chosen a::before, .lw-filter-list li.lw-active a::before,
.lw-filter-widget .product-categories li.current-cat > a::before {
  background: var(--lw-brand) border-box; border-color: var(--lw-brand);
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='8' viewBox='0 0 10 8'><path d='M1 4l2.5 2.5L9 1' fill='none' stroke='white' stroke-width='1.6'/></svg>"); background-repeat: no-repeat; background-position: center; }
.lw-filter-widget .woocommerce-widget-layered-nav-list li.chosen a, .lw-filter-list li.lw-active a { color: var(--lw-brand-dark); }
/* hierarchia kategorii: dział = etykieta Poppins, podkategorie z „checkboxami", wcięte */
.lw-filter-widget .product-categories > li.cat-item { display: block; padding: 0 0 14px; }
.lw-filter-widget .product-categories > li.cat-item:last-child { padding-bottom: 0; }
.lw-filter-widget .product-categories > li.cat-item > a { font-family: var(--lw-font-head); font-size: 12px; font-weight: 600; letter-spacing: .8px; text-transform: uppercase; color: var(--lw-heading); }
.lw-filter-widget .product-categories > li.cat-item > a::before { content: none; }
.lw-filter-widget .product-categories > li.cat-item > .count { display: none; }
.lw-filter-widget .product-categories ul.children { display: block; margin: 8px 0 0; padding: 0; }
/* na stronie działu rozwinięty tylko bieżący dział; pozostałe = sama etykieta */
body.tax-product_cat .lw-filter-widget .product-categories > li.cat-item:not(.current-cat):not(.current-cat-parent):not(.current-cat-ancestor) > ul.children { display: none; }
body.tax-product_cat .lw-filter-widget .product-categories > li.cat-item:not(.current-cat):not(.current-cat-parent):not(.current-cat-ancestor) > a::after { content: "›"; margin-left: 6px; color: var(--lw-muted); font-weight: 400; }
.lw-filter-widget .product-categories ul.children li { padding: 0 0 8px; }
.lw-filter-widget .product-categories ul.children li:last-child { padding-bottom: 0; }
.lw-filter-widget .product-categories li.current-cat > a, .lw-filter-widget .product-categories li.current-cat-parent > a { color: var(--lw-brand-dark); }
.lw-filter-widget .product-categories ul.children li.current-cat > a { font-weight: 700; }
/* cena: suwak jQuery UI w kolorze brand (Roiser: accent-color primary) */
.lw-filter-widget .price_slider_wrapper { margin-top: 4px; }
.lw-filter-widget .price_slider { margin-bottom: 18px; }
.lw-filter-widget .price_slider_amount { font-family: var(--lw-font-head); font-size: 15px; font-weight: 500; color: var(--lw-heading); display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.lw-filter-widget .price_slider_amount .price_label { order: 1; }
.lw-filter-widget .price_slider_amount .button { order: 2; padding: 9px 14px !important; font-size: 12px !important; line-height: 12px !important; }
.lw-filter-widget .ui-slider { background: var(--lw-border); border: 0; height: 4px; border-radius: 4px; margin: 16px 8px 14px; }
.lw-filter-widget .ui-slider .ui-slider-range { background: var(--lw-brand) !important; border-radius: 4px; }
.lw-filter-widget .ui-slider .ui-slider-handle { background: var(--lw-brand) !important; border: 2px solid #fff !important; box-shadow: 0 0 0 1px var(--lw-brand) !important;
  width: 16px !important; height: 16px !important; top: -6px !important; margin-left: -8px !important; border-radius: 50% !important; }

/* =====================================================================
   Karty produktów (Roiser .shop-item: radius 6px, miniatura z badge i
   akcjami na hover (koszyk / ulubione / podgląd), treść z ramką bez górnej
   krawędzi: kategoria, tytuł, cena w kolorze brand)
   ===================================================================== */
.woocommerce ul.products.columns-3, .woocommerce ul.products.columns-4 { display: grid !important; gap: 24px !important; }
.woocommerce ul.products.columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
.woocommerce ul.products.columns-4 { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
.woocommerce ul.products::before, .woocommerce ul.products::after { content: none !important; display: none !important; }
.woocommerce ul.products li.product { width: 100% !important; float: none !important; margin: 0 !important; padding: 0; background: #fff; border-radius: var(--lw-radius); overflow: hidden;
  position: relative; display: flex; flex-direction: column; }
.woocommerce ul.products li.product > a.woocommerce-LoopProduct-link { text-decoration: none; color: inherit; display: flex; flex-direction: column; position: relative; flex: 1 1 auto; }
/* miniatura */
.woocommerce ul.products li.product a img { aspect-ratio: 1 / 1; object-fit: contain !important; object-position: center; background: var(--lw-bg); padding: 22px; width: 100%; height: auto; margin: 0;
  border-radius: var(--lw-radius) var(--lw-radius) 0 0; transform: scale(1); transition: transform .4s ease-in-out; }
.woocommerce ul.products li.product:hover a img { transform: scale(1.03); }
/* treść */
.woocommerce ul.products li.product .lw-card-cat { display: block; font-family: var(--lw-font-head); font-size: 12px; font-weight: 500; letter-spacing: .3px; text-transform: uppercase; color: var(--lw-muted); line-height: 1; margin: 0; padding: 26px 24px 0; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-family: var(--lw-font-head); font-size: 18px; font-weight: 500; letter-spacing: -0.4px; line-height: 1.3; color: var(--lw-heading); margin: 0; padding: 10px 24px 0; }
.woocommerce ul.products li.product .lw-card-cat + .woocommerce-loop-product__title { padding-top: 10px; }
.woocommerce ul.products li.product .star-rating { margin: 10px 24px 0; color: var(--lw-brand); }
.woocommerce ul.products li.product .price { display: flex; align-items: center; gap: 10px; font-family: var(--lw-font-head); font-size: 16px; font-weight: 600; color: var(--lw-brand); padding: 0 24px; margin: 12px 0 0; }
.woocommerce ul.products li.product .price del { color: var(--lw-text); font-weight: 400; opacity: 1; }
.woocommerce ul.products li.product .price ins { text-decoration: none; font-weight: 600; }
.woocommerce ul.products li.product .price .woocommerce-price-suffix { display: inline; font-family: var(--lw-font-text); font-size: 12px; font-weight: 400; color: var(--lw-muted); white-space: nowrap; }
.woocommerce ul.products li.product .lw-card-desc { display: none; font-family: var(--lw-font-text); font-size: 15px; line-height: 1.6; color: var(--lw-text); margin: 12px 24px 0; padding: 0; }
.woocommerce ul.products li.product .lw-card-meta { font-family: var(--lw-font-head); font-size: 12px; font-weight: 500; letter-spacing: .3px; color: var(--lw-muted); margin: 10px 24px 0; padding: 0; }
.woocommerce ul.products li.product > a.woocommerce-LoopProduct-link::after { content: ""; display: block; height: 24px; }
/* ramka treści (Roiser .shop-content: border bez górnej krawędzi, radius dolny) */
.woocommerce ul.products li.product::after { content: ""; position: absolute; inset: 0; border: 1px solid var(--lw-border); border-radius: var(--lw-radius); pointer-events: none; transition: border-color .2s ease; }
.woocommerce ul.products li.product:hover::after { border-color: #D6DAE0; }
/* badge */
.woocommerce ul.products li.product .lw-badge, .woocommerce ul.products li.product .onsale {
  position: absolute; top: 20px; left: 20px; z-index: 2; margin: 0; padding: 6px 14px; min-height: 0; min-width: 0; line-height: 1.3; border-radius: 0;
  font-family: var(--lw-font-head); font-size: 11px; font-weight: 600; letter-spacing: .8px; text-transform: uppercase; color: #fff; background: var(--lw-brand); }
.woocommerce ul.products li.product .lw-badge-new { background: var(--lw-heading); }
.woocommerce ul.products li.product .lw-badge-new ~ .onsale, .woocommerce ul.products li.product .lw-badge-new ~ a .onsale { top: 52px; }
/* akcje na hover (Roiser .shop-list: białe kółka 45px, zjeżdżają z prawej) */
.woocommerce ul.products li.product .lw-card-actions { position: absolute; top: 20px; right: 10px; z-index: 3; display: flex; flex-direction: column; gap: 10px; margin: 0; padding: 0; list-style: none;
  opacity: 0; visibility: hidden; transition: all .4s ease-in-out; }
.woocommerce ul.products li.product:hover .lw-card-actions, .woocommerce ul.products li.product:focus-within .lw-card-actions { right: 20px; opacity: 1; visibility: visible; }
.woocommerce ul.products li.product .lw-card-actions .button, .woocommerce ul.products li.product .lw-card-actions a.button,
.woocommerce ul.products li.product .lw-card-actions .lw-card-btn {
  display: flex !important; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0 !important; margin: 0; border: 0 !important; border-radius: 50% !important;
  background: #fff !important; color: var(--lw-heading) !important; box-shadow: 0 2px 8px rgba(13,18,24,.08); cursor: pointer; line-height: 0 !important; font-size: 0 !important; text-decoration: none;
  transition: background .2s ease, color .2s ease; }
.woocommerce ul.products li.product .lw-card-actions .button:hover, .woocommerce ul.products li.product .lw-card-actions .lw-card-btn:hover,
.woocommerce ul.products li.product .lw-card-actions .lw-card-btn.is-active, .woocommerce ul.products li.product .lw-card-actions .button.added { background: var(--lw-brand) !important; color: #fff !important; }
.woocommerce ul.products li.product .lw-card-actions svg { width: 18px; height: 18px; display: block; }
.woocommerce ul.products li.product .lw-card-actions .button.loading { opacity: .6; }
.woocommerce ul.products li.product .lw-card-actions .button.loading::after, .woocommerce ul.products li.product .lw-card-actions .button.added::after { content: none !important; display: none !important; }
.woocommerce ul.products li.product .lw-card-actions a.added_to_cart { position: absolute; right: 54px; top: 0; white-space: nowrap; font-family: var(--lw-font-head); font-size: 12px; font-weight: 600; color: #fff; background: var(--lw-heading); padding: 0 12px; height: 44px; line-height: 44px; border-radius: 22px; text-decoration: none; }
.woocommerce ul.products li.product .lw-card-actions a.added_to_cart:hover { background: var(--lw-brand-dark); }

/* --- Widok listy (Roiser .grid-shop: obraz w kolumnie ~40%, tytuł większy, opis widoczny) --- */
.woocommerce ul.products.lw-view-list { grid-template-columns: minmax(0, 1fr) !important; gap: 30px !important; }
.woocommerce ul.products.lw-view-list li.product > a.woocommerce-LoopProduct-link { display: grid; grid-template-columns: 300px minmax(0, 1fr); column-gap: 0; align-items: center; align-content: center; }
.woocommerce ul.products.lw-view-list li.product > a.woocommerce-LoopProduct-link > img { grid-column: 1; grid-row: 1 / span 8; align-self: stretch; height: 100%; border-radius: var(--lw-radius) 0 0 var(--lw-radius); }
.woocommerce ul.products.lw-view-list li.product > a.woocommerce-LoopProduct-link > :not(img) { grid-column: 2; }
.woocommerce ul.products.lw-view-list li.product > a.woocommerce-LoopProduct-link::after { content: none; }
.woocommerce ul.products.lw-view-list li.product .lw-card-cat { padding-top: 30px; }
.woocommerce ul.products.lw-view-list li.product .woocommerce-loop-product__title { font-size: 24px; letter-spacing: -0.7px; padding-right: 30px; }
.woocommerce ul.products.lw-view-list li.product .lw-card-desc { display: block; padding-right: 30px; }
.woocommerce ul.products.lw-view-list li.product .lw-card-meta { margin-bottom: 30px; }
.woocommerce ul.products.lw-view-list li.product .price { order: 9; margin-top: 12px; }
.woocommerce ul.products.lw-view-list li.product .lw-card-actions { top: auto; bottom: 26px; right: 20px; flex-direction: row; opacity: 1; visibility: visible; }

/* --- Karty działów (strona /sklep/) – styl spójny z kartami produktów --- */
.lw-shop-intro { margin: -8px 0 28px; max-width: 720px; }
.lw-shop-intro p { margin: 0; font-family: var(--lw-font-text); color: var(--lw-text); }
.woocommerce ul.products li.product-category { background: #fff; }
.woocommerce ul.products li.product-category > a { display: block; text-decoration: none; }
.woocommerce ul.products li.product-category img { aspect-ratio: 4 / 3; object-fit: contain !important; background: var(--lw-bg); padding: 28px; width: 100%; height: auto; margin: 0; border-radius: var(--lw-radius) var(--lw-radius) 0 0; transition: transform .4s ease-in-out; }
.woocommerce ul.products li.product-category:hover img { transform: scale(1.03); }
.woocommerce ul.products li.product-category.lw-cat-photo img { object-fit: cover !important; padding: 0; }
.woocommerce ul.products li.product-category .woocommerce-loop-category__title { font-family: var(--lw-font-head); font-size: 22px; font-weight: 500; letter-spacing: -0.8px; line-height: 1.2; color: var(--lw-heading); margin: 0; padding: 24px 24px 0; }
.woocommerce ul.products li.product-category .woocommerce-loop-category__title mark.count { display: none; }
.woocommerce ul.products li.product-category .lw-cat-children { list-style: none; margin: 12px 0 0; padding: 0 24px 18px; flex: 1 1 auto; }
.woocommerce ul.products li.product-category .lw-cat-children li { margin: 0; padding: 0; }
.woocommerce ul.products li.product-category .lw-cat-children a { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; padding: 7px 0; font-family: var(--lw-font-text); font-size: 15px; color: var(--lw-text); text-decoration: none; border-bottom: 1px solid var(--lw-border); }
.woocommerce ul.products li.product-category .lw-cat-children li:last-child a { border-bottom: 0; }
.woocommerce ul.products li.product-category .lw-cat-children a:hover { color: var(--lw-brand-dark); }
.woocommerce ul.products li.product-category .lw-cat-children .lw-count { font-family: var(--lw-font-head); font-size: 12px; color: var(--lw-muted); }
.woocommerce ul.products li.product-category .lw-cat-all { display: block; margin: 0 24px 24px; font-family: var(--lw-font-head); font-size: 12px; font-weight: 600; letter-spacing: .8px; text-transform: uppercase; color: var(--lw-brand); text-decoration: none; }
.woocommerce ul.products li.product-category .lw-cat-all:hover { color: var(--lw-brand-dark); }

/* --- Paginacja (Roiser .pagination-wrap: kwadraty 50px na szarym tle, aktywny = brand) --- */
.woocommerce nav.woocommerce-pagination { text-align: center; margin-top: 50px; }
.woocommerce nav.woocommerce-pagination ul { border: 0; display: inline-flex; gap: 10px; }
.woocommerce nav.woocommerce-pagination ul li { border: 0 !important; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { display: flex; align-items: center; justify-content: center; width: 50px; height: 50px; padding: 0; border: 0; border-radius: 0;
  font-family: var(--lw-font-head); font-size: 14px; font-weight: 600; line-height: 1; color: var(--lw-heading); background: var(--lw-bg); transition: background .2s ease, color .2s ease; }
.woocommerce nav.woocommerce-pagination ul li a:hover { background: var(--lw-brand); color: #fff; }
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--lw-brand); color: #fff; }

/* --- Komunikaty --- */
.woocommerce .woocommerce-info, .woocommerce .woocommerce-message, .woocommerce .woocommerce-error { border-top: 2px solid var(--lw-brand); background: var(--lw-bg); color: var(--lw-text); font-family: var(--lw-font-text); }
.woocommerce .woocommerce-info::before, .woocommerce .woocommerce-message::before { color: var(--lw-brand); }
.woocommerce .woocommerce-error { border-top-color: #E22D2D; }
.woocommerce .woocommerce-error::before { color: #E22D2D; }

@media (max-width: 1199px) {
  .lw-shop-layout { grid-template-columns: 260px minmax(0, 1fr); }
  .woocommerce ul.products.lw-view-list li.product > a.woocommerce-LoopProduct-link { grid-template-columns: 240px minmax(0, 1fr); }
}
@media (max-width: 1000px) {
  .lw-shop-layout { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .lw-shop-main { order: 0; }
  .lw-shop-filters { order: 1; position: static; }
  .woocommerce ul.products.columns-3, .woocommerce ul.products.columns-4 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .woocommerce-products-header__title.page-title { font-size: 36px; }
  .woocommerce-products-header { padding-top: 44px; padding-bottom: 40px; margin-bottom: 32px; }
  .woocommerce ul.products li.product .lw-card-actions { opacity: 1; visibility: visible; right: 20px; }
}
@media (max-width: 700px) {
  .woocommerce-products-header { grid-template-columns: minmax(0, 1fr); }
  .woocommerce-products-header .woocommerce-breadcrumb { justify-self: start; text-align: left; order: -1; margin-bottom: 14px; }
  .woocommerce ul.products.lw-view-list li.product > a.woocommerce-LoopProduct-link { grid-template-columns: minmax(0, 1fr); }
  .woocommerce ul.products.lw-view-list li.product > a.woocommerce-LoopProduct-link > img { grid-column: 1; grid-row: auto; height: auto; border-radius: var(--lw-radius) var(--lw-radius) 0 0; }
  .woocommerce ul.products.lw-view-list li.product > a.woocommerce-LoopProduct-link > :not(img) { grid-column: 1; }
  .lw-view-toggle { display: none; }
}
@media (max-width: 560px) {
  .woocommerce ul.products.columns-3, .woocommerce ul.products.columns-4 { grid-template-columns: minmax(0, 1fr) !important; }
}

/* =====================================================================
   Karta produktu (single) – Roiser shop-details: galeria z miniaturami w
   kolumnie po lewej (ramka, aktywna = brand), panel info: kategoria (eyebrow),
   tytuł, cena, opis w liniach, lista korzyści z ikonami, ilość + koszyk,
   przycisk pełnej szerokości, meta w linii; sekcje pod spodem.
   ===================================================================== */
.woocommerce div.product { margin-top: 32px; }
.woocommerce div.product .lw-eyebrow { margin-bottom: 12px; }
.woocommerce div.product .product_title { font-family: var(--lw-font-head); font-size: 34px; font-weight: 500; letter-spacing: -1.1px; line-height: 1.15; color: var(--lw-heading); margin-bottom: 10px; }
.woocommerce div.product .product_title .lw-code { display: block; font-family: var(--lw-font-head); font-size: 13px; font-weight: 600; letter-spacing: 1px; text-transform: uppercase; color: var(--lw-muted); margin-top: 8px; }
.woocommerce div.product .lw-product-brand { font-family: var(--lw-font-head); font-size: 13px; font-weight: 500; letter-spacing: .3px; color: var(--lw-muted); margin: 0 0 20px; }
.woocommerce div.product .lw-product-brand a { color: var(--lw-heading); text-decoration: none; border-bottom: 1px solid var(--lw-border); }
.woocommerce div.product .lw-product-brand a:hover { color: var(--lw-brand-dark); border-color: var(--lw-brand-dark); }
.woocommerce div.product .woocommerce-product-rating { margin-bottom: 20px; }
.woocommerce div.product .woocommerce-product-rating .star-rating { color: var(--lw-heading); }
.woocommerce div.product p.price { font-family: var(--lw-font-head); font-size: 24px; font-weight: 600; letter-spacing: -0.5px; color: var(--lw-heading); margin: 0 0 24px; display: flex; align-items: baseline; flex-wrap: wrap; gap: 10px; }
.woocommerce div.product p.price ins { text-decoration: none; }
.woocommerce div.product p.price del { color: var(--lw-text); font-weight: 400; font-size: .75em; opacity: 1; }
.woocommerce div.product p.price .woocommerce-price-suffix { display: inline; font-family: var(--lw-font-text); font-size: 13px; font-weight: 400; letter-spacing: 0; color: var(--lw-muted); white-space: nowrap; }
/* opis w ramkach top/bottom (Roiser .product-desc-wrap) */
.woocommerce div.product .woocommerce-product-details__short-description { font-family: var(--lw-font-text); font-size: 16px; line-height: 1.6; color: var(--lw-text); border-top: 1px solid var(--lw-border); border-bottom: 1px solid var(--lw-border); padding: 20px 0; margin: 0 0 22px; }
.woocommerce div.product .woocommerce-product-details__short-description p:last-child { margin-bottom: 0; }
/* lista korzyści z ikonami (Roiser .details-list) */
.woocommerce div.product .lw-details-list { list-style: none; margin: 0 0 28px; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.woocommerce div.product .lw-details-list li { display: flex; align-items: center; gap: 12px; font-family: var(--lw-font-text); font-size: 15px; color: var(--lw-heading); }
.woocommerce div.product .lw-details-list li svg { flex: 0 0 auto; width: 20px; height: 20px; color: var(--lw-brand); }
/* ilość + koszyk (Roiser .product-btn) */
.woocommerce div.product form.cart { display: flex; align-items: stretch; gap: 16px; margin: 0 0 16px; flex-wrap: wrap; }
.woocommerce div.product form.cart .quantity { display: flex; }
.woocommerce div.product form.cart .quantity .qty { font-family: var(--lw-font-head); font-size: 15px; font-weight: 500; color: var(--lw-heading); border: 1px solid var(--lw-heading); background: #fff; height: 100%; min-height: 48px; border-radius: 0; width: 84px; text-align: center; padding: 0 8px; }
.woocommerce div.product form.cart .quantity .qty:focus { border-color: var(--lw-brand); }
.woocommerce div.product form.cart .single_add_to_cart_button { flex: 1; min-width: 220px; display: inline-flex; align-items: center; justify-content: center; }
.woocommerce div.product .lw-wishlist-btn { display: flex; width: 100%; align-items: center; justify-content: center; gap: 8px; background: transparent; border: 1px solid var(--lw-heading); color: var(--lw-heading);
  padding: 15px 20px; font-family: var(--lw-font-head); font-size: 14px; font-weight: 600; line-height: 14px; text-transform: none; cursor: pointer; margin: 0 0 24px; border-radius: 0; transition: background .2s ease, color .2s ease; }
.woocommerce div.product .lw-wishlist-btn:hover, .woocommerce div.product .lw-wishlist-btn.is-active { background: var(--lw-heading); color: #fff; }
.woocommerce div.product .lw-wishlist-btn.is-active svg { fill: currentColor; }
/* meta w jednej linii (Roiser .product-meta) */
.woocommerce div.product .product_meta { display: flex; flex-wrap: wrap; gap: 8px 24px; margin: 0 0 8px; font-family: var(--lw-font-head); font-size: 13px; font-weight: 500; letter-spacing: .2px; color: var(--lw-muted); }
.woocommerce div.product .product_meta > span { display: inline; }
.woocommerce div.product .product_meta .sku_wrapper { order: 0; } .woocommerce div.product .product_meta .lw-ean { order: 1; } .woocommerce div.product .product_meta .posted_in { order: 2; }
.woocommerce div.product .product_meta a, .woocommerce div.product .product_meta .sku, .woocommerce div.product .product_meta .lw-ean span { color: var(--lw-heading); text-decoration: none; }
.woocommerce div.product .product_meta a:hover { color: var(--lw-brand-dark); }

/* Galeria: miniatury pionowo po lewej (position:absolute – nie ruszamy layoutu FlexSlidera).
   Roiser: kolumna 112px + 24px odstępu, ramka #DEE0E3, aktywna = brand. */
.woocommerce div.product div.images.woocommerce-product-gallery { position: relative; padding: 0 0 0 92px; }
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper { background: var(--lw-bg); border-radius: var(--lw-radius); overflow: hidden; }
.woocommerce div.product div.images .woocommerce-product-gallery__image img { width: 100%; height: auto; }
.woocommerce div.product div.images .woocommerce-product-gallery__trigger { top: 16px; right: 16px; border-radius: 50%; background: #fff; box-shadow: 0 2px 8px rgba(13,18,24,.1); }
.woocommerce div.product div.images .flex-control-thumbs { position: absolute !important; left: 0; top: 0; bottom: 0; width: 72px; display: flex !important;
  flex-direction: column; flex-wrap: nowrap; gap: 10px; margin: 0; overflow-y: auto; overflow-x: hidden; padding: 0; scrollbar-width: none; }
.woocommerce div.product div.images .flex-control-thumbs::-webkit-scrollbar { display: none; }
.woocommerce div.product div.images .flex-control-thumbs li { width: 100% !important; float: none; margin: 0; aspect-ratio: 1 / 1; flex-shrink: 0; display: flex !important; }
.woocommerce div.product div.images .flex-control-thumbs img { border: 1px solid #DEE0E3; border-radius: 3px; opacity: 1; width: 100%; height: 100%; object-fit: cover; background: #fff; cursor: pointer; transition: border-color .2s ease; }
.woocommerce div.product div.images .flex-control-thumbs img:hover { border-color: var(--lw-muted); }
.woocommerce div.product div.images .flex-control-thumbs img.flex-active { border-color: var(--lw-brand); opacity: 1; }
.woocommerce div.product div.images .onsale { position: absolute; top: 20px; left: 112px; z-index: 3; margin: 0; padding: 8px 16px; min-height: 0; min-width: 0; line-height: 1; border-radius: 100px;
  font-family: var(--lw-font-head); font-size: 11px; font-weight: 600; letter-spacing: .8px; text-transform: uppercase; color: #fff; background: var(--lw-brand); }
@media (max-width: 700px) {
  .woocommerce div.product div.images.woocommerce-product-gallery { padding: 0; }
  .woocommerce div.product div.images .flex-control-thumbs { position: static !important; width: auto; flex-direction: row; max-height: none; overflow-x: auto; overflow-y: hidden; margin: 12px 0 0; }
  .woocommerce div.product div.images .flex-control-thumbs li { width: 64px !important; height: 64px; }
  .woocommerce div.product div.images .onsale { left: 16px; }
  .woocommerce div.product .product_title { font-size: 28px; }
}

/* Akordeon (zamiast zakładek) – nagłówki jak etykiety Roiser (.tab-navigation) */
.woocommerce div.product .woocommerce-tabs { border-top: 1px solid var(--lw-heading); margin-top: 18px; }
.woocommerce div.product .lw-accordion-head { width: 100%; display: flex; justify-content: space-between; align-items: center; background: none; border: 0; border-bottom: 1px solid var(--lw-border);
  padding: 18px 0; font-family: var(--lw-font-head); font-size: 16px; font-weight: 500; letter-spacing: -0.3px; text-transform: none; color: var(--lw-text); cursor: pointer; text-align: left; border-radius: 0; transition: color .2s ease; }
.woocommerce div.product .lw-accordion-head:hover, .woocommerce div.product .lw-accordion-head[aria-expanded="true"] { color: var(--lw-heading); }
.woocommerce div.product .lw-accordion-head .lw-accordion-icon { font-size: 18px; font-weight: 400; color: var(--lw-muted); }
.woocommerce div.product .lw-accordion-panel { padding: 18px 0 28px; border-bottom: 1px solid var(--lw-border); font-family: var(--lw-font-text); font-size: 15px; line-height: 1.7; color: var(--lw-text); }
.woocommerce div.product .lw-accordion-panel[hidden] { display: none !important; }
.woocommerce div.product .lw-accordion-panel:not([hidden]) { display: block !important; } /* single-product.js WooCommerce chowa panele inline (brak ul.tabs) */
.woocommerce div.product .lw-accordion-panel h2 { display: none; }
/* treść opisu w akordeonie: podtytuły z importu (h3/h4) w skali tekstu, nie kitu Elementora */
.woocommerce div.product .lw-accordion-panel h3, .woocommerce div.product .lw-accordion-panel h4 { font-family: var(--lw-font-head); font-size: 17px; font-weight: 500; letter-spacing: -0.2px; line-height: 1.3; color: var(--lw-heading); margin: 26px 0 8px; }
.woocommerce div.product .lw-accordion-panel h3:first-child, .woocommerce div.product .lw-accordion-panel h2 + h3 { margin-top: 0; }
.woocommerce div.product .lw-accordion-panel p { margin: 0 0 12px; }
.woocommerce div.product .lw-accordion-panel p:last-child { margin-bottom: 0; }
.woocommerce div.product .lw-accordion-panel ul, .woocommerce div.product .lw-accordion-panel ol { margin: 0 0 12px; padding-left: 20px; }
.woocommerce div.product .lw-accordion-panel li { margin: 0 0 4px; }
.woocommerce div.product .lw-accordion-panel strong { font-weight: 600; color: var(--lw-heading); }
.woocommerce div.product .lw-accordion-panel a { color: var(--lw-brand-dark); text-decoration: underline; text-underline-offset: 2px; }
.woocommerce div.product .lw-accordion-panel table { border-collapse: collapse; width: 100%; margin: 0 0 12px; }
.woocommerce div.product .lw-accordion-panel td, .woocommerce div.product .lw-accordion-panel th { border: 1px solid var(--lw-border); padding: 6px 10px; text-align: left; }
/* tabela atrybutów (Roiser .product-table: szare tło, linie) */
.woocommerce table.shop_attributes { border: 1px solid var(--lw-border); background: var(--lw-bg); font-size: 14px; }
.woocommerce table.shop_attributes th, .woocommerce table.shop_attributes td { border: 0; border-bottom: 1px solid var(--lw-border); padding: 12px 16px; background: none; font-style: normal; }
.woocommerce table.shop_attributes tr:last-child th, .woocommerce table.shop_attributes tr:last-child td { border-bottom: 0; }
.woocommerce table.shop_attributes th { width: 220px; font-family: var(--lw-font-head); font-weight: 500; color: var(--lw-heading); border-right: 1px solid var(--lw-border); }
.woocommerce table.shop_attributes td { color: var(--lw-heading); }
.woocommerce table.shop_attributes td p { margin: 0; }

/* Sekcje pod produktem */
.woocommerce div.product .related, .woocommerce div.product .lw-brand-products, .woocommerce div.product .lw-popular-categories, .woocommerce div.product section.lw-section {
  clear: both; width: 100%; float: none; margin-top: 72px; padding-top: 48px; border-top: 1px solid var(--lw-border); }
.woocommerce div.product .related > h2, .woocommerce .lw-brand-products > h2, .woocommerce .lw-popular-categories > h2 {
  font-family: var(--lw-font-head); font-size: 30px; font-weight: 500; letter-spacing: -1px; color: var(--lw-heading); margin: 0 0 28px; }
.lw-cat-boxes { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.lw-cat-box { display: flex; align-items: center; justify-content: center; text-align: center; border: 1px solid var(--lw-border); border-radius: var(--lw-radius); background: #fff; padding: 32px 16px;
  font-family: var(--lw-font-head); font-size: 16px; font-weight: 500; letter-spacing: -0.3px; color: var(--lw-heading); text-decoration: none; transition: border-color .2s ease, color .2s ease, background .2s ease; }
.lw-cat-box:hover { border-color: var(--lw-brand); color: var(--lw-brand-dark); background: var(--lw-brand-subtle); }
.woocommerce div.product .lw-popular-categories { margin-bottom: 80px; }
@media (max-width: 700px) {
  .lw-cat-boxes { grid-template-columns: repeat(2, 1fr); }
  .woocommerce div.product form.cart { flex-direction: column; }
  .woocommerce div.product form.cart .quantity .qty { width: 100%; }
}

/* =====================================================================
   Koszyk (blok WooCommerce) / zamówienie / konto – tabela i podsumowanie
   wg Roiser cart.html (szare panele, nagłówki uppercase, ramki), tokeny motywu
   ===================================================================== */
.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout { font-family: var(--lw-font-text); color: var(--lw-text); }
.wc-block-cart .wc-block-cart-items, .wc-block-cart table.wc-block-cart-items { background: var(--lw-bg); border: 1px solid var(--lw-border); border-radius: var(--lw-radius); overflow: hidden; }
.wc-block-cart .wc-block-cart-items th, .wc-block-cart .wc-block-cart-items__header { font-family: var(--lw-font-head) !important; font-size: 13px !important; font-weight: 500 !important; letter-spacing: .5px; text-transform: uppercase; color: var(--lw-muted) !important; padding: 22px 24px !important; border-bottom: 1px solid var(--lw-border) !important; }
.wc-block-cart .wc-block-cart-items .wc-block-cart-items__row { padding: 24px !important; border-bottom: 1px solid var(--lw-border); }
.wc-block-cart .wc-block-cart-items .wc-block-cart-items__row:last-child { border-bottom: 0; }
.wc-block-cart .wc-block-components-product-name { font-family: var(--lw-font-head); font-size: 17px; font-weight: 500; letter-spacing: -0.3px; color: var(--lw-heading); text-decoration: none; }
.wc-block-cart .wc-block-components-product-metadata, .wc-block-cart .wc-block-components-product-details { font-family: var(--lw-font-head); font-size: 12px; color: var(--lw-muted); }
.wc-block-cart .wc-block-components-product-price, .wc-block-cart .wc-block-cart-item__total .wc-block-components-product-price { font-family: var(--lw-font-head); font-weight: 600; color: var(--lw-heading); }
.wc-block-cart .wc-block-cart-item__image img { border: 1px solid var(--lw-border); border-radius: 3px; background: #fff; }
.wc-block-cart .wc-block-components-quantity-selector { border-radius: 0; box-shadow: none; border: 1px solid var(--lw-border); background: #fff; font-family: var(--lw-font-head); }
.wc-block-cart .wc-block-components-quantity-selector::after { border-radius: 0; box-shadow: none; }
.wc-block-cart .wc-block-cart-item__remove-link { font-family: var(--lw-font-head); font-size: 12px; color: var(--lw-muted); }
.wc-block-cart .wc-block-cart-item__remove-link:hover { color: var(--lw-brand-dark); }
.wc-block-cart .wc-block-cart__sidebar .wc-block-components-sidebar, .wc-block-cart .wc-block-components-totals-wrapper, .wc-block-cart .wp-block-woocommerce-cart-order-summary-block {
  background: var(--lw-bg); border-color: var(--lw-border); }
.wc-block-cart .wp-block-woocommerce-cart-order-summary-block { border: 1px solid var(--lw-border); border-radius: var(--lw-radius); padding: 16px 24px; }
.wc-block-cart .wc-block-components-totals-wrapper { border-top-color: var(--lw-border); padding: 16px 0; }
.wc-block-cart .wc-block-components-totals-item, .wc-block-cart .wc-block-components-totals-item__label { font-family: var(--lw-font-head); font-size: 14px; font-weight: 500; text-transform: uppercase; letter-spacing: .3px; color: var(--lw-text); }
.wc-block-cart .wc-block-components-totals-item__value { font-family: var(--lw-font-head); font-weight: 600; color: var(--lw-heading); text-transform: none; }
.wc-block-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label { color: var(--lw-heading); font-weight: 600; }
.wc-block-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font-size: 20px; }
.wc-block-cart .wc-block-components-totals-item__description, .wc-block-cart .wc-block-components-shipping-rates-control, .wc-block-cart .wc-block-components-radio-control__label { font-family: var(--lw-font-text); font-size: 14px; text-transform: none; letter-spacing: 0; color: var(--lw-text); }
.wc-block-cart .wc-block-components-radio-control__option { border-color: var(--lw-border); }
.wc-block-cart .wc-block-components-radio-control__input:checked, .wc-block-cart .wc-block-components-radio-control__input:checked::before { border-color: var(--lw-brand); background-color: var(--lw-brand); }
.wc-block-cart .wc-block-components-totals-coupon .wc-block-components-text-input input, .wp-block-woocommerce-checkout .wc-block-components-text-input input { border-radius: 0; border-color: var(--lw-border); font-family: var(--lw-font-text); }
.wc-block-cart .wc-block-cart__submit-container .wc-block-components-button { width: 100%; justify-content: center; padding: 16px 24px !important; }
.wc-block-cart .wc-block-components-button__text { font-family: var(--lw-font-head); font-weight: 600; }
.wc-block-components-panel__button, .wc-block-components-totals-coupon-link { font-family: var(--lw-font-head); color: var(--lw-heading); }
.wc-block-components-panel__button:hover, .wc-block-components-totals-coupon-link:hover { color: var(--lw-brand-dark); }
.wc-block-cart .wc-block-cart__empty-cart__title, .wp-block-woocommerce-cart h2, .wp-block-woocommerce-checkout h2, .wp-block-woocommerce-checkout .wc-block-components-title { font-family: var(--lw-font-head); font-weight: 500; letter-spacing: -0.5px; color: var(--lw-heading); }
/* klasyczne szablony (konto, zamówienia, shortcode) */
.woocommerce table.shop_table { border: 1px solid var(--lw-border); border-radius: var(--lw-radius); background: var(--lw-bg); font-family: var(--lw-font-text); font-size: 15px; }
.woocommerce table.shop_table th { font-family: var(--lw-font-head); font-size: 13px; font-weight: 500; letter-spacing: .5px; text-transform: uppercase; color: var(--lw-muted); padding: 22px 16px; }
.woocommerce table.shop_table td { padding: 20px 16px; color: var(--lw-heading); }
.woocommerce table.shop_table td, .woocommerce table.shop_table th { border-color: var(--lw-border); }
.woocommerce table.shop_table td.product-name a { font-family: var(--lw-font-head); font-size: 17px; font-weight: 500; text-decoration: none; }
.woocommerce table.shop_table .product-remove a.remove { color: var(--lw-heading) !important; font-weight: 400; }
.woocommerce table.shop_table .product-remove a.remove:hover { background: var(--lw-brand); color: #fff !important; }
.woocommerce .cart-collaterals .cart_totals { background: var(--lw-bg); border: 1px solid var(--lw-border); padding: 30px; }
.woocommerce .cart-collaterals .cart_totals table.shop_table { border: 0; background: none; }
.woocommerce .cart-collaterals .cart_totals h2, .woocommerce-checkout h3, .woocommerce-account h2, .woocommerce-account h3 { font-family: var(--lw-font-head); font-size: 24px; font-weight: 500; letter-spacing: -0.8px; color: var(--lw-heading); }
.woocommerce .cart-collaterals .wc-proceed-to-checkout a.checkout-button { display: flex; justify-content: center; padding: 16px 24px !important; }
.woocommerce form .form-row label { font-family: var(--lw-font-head); font-size: 13px; font-weight: 500; color: var(--lw-heading); }
.woocommerce-checkout #payment { background: var(--lw-bg); border-radius: 0; }
.woocommerce-checkout #payment div.payment_box { background: #fff; border-radius: 0; }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: #fff; }

/* =====================================================================
   PASS 2 (2026-09-06): typografia + separacja archiwum.
   Zasada: 3 role typograficzne. Naglowki = Poppins 500. Tresc i etykiety
   nawigacyjne = Lora 400. Dane (cena, liczniki, chipy) = Poppins 600/500.
   Jedyny tracked-uppercase na stronie = nadtytul nad H1.
   Separacja: bialy pas naglowka -> szary grunt (#F8F8F8) z bialymi
   kartami bez ramek -> ciemna stopka. Karty i boxy oddziela grunt, nie
   wloskowate linie.
   ===================================================================== */
body.woocommerce.archive, body.woocommerce.post-type-archive-product, body.woocommerce.tax-product_cat, body.woocommerce.tax-product_brand, body.woocommerce.tax-product_tag { background: var(--lw-bg); }

/* pas naglowka: bialy, jedna linia dzielaca */
.woocommerce .page-header, .woocommerce-products-header { background: #fff !important; border-bottom: 1px solid var(--lw-border); margin-bottom: 0 !important; }
.woocommerce .page-header::before, .woocommerce .page-header::after, .woocommerce-products-header::before, .woocommerce-products-header::after { display: none !important; }
.woocommerce-products-header__title.page-title { font-size: 44px; letter-spacing: -1.2px; }
.lw-eyebrow { font-size: 13px; letter-spacing: 1.2px; margin-bottom: 8px; }
.woocommerce .woocommerce-breadcrumb { font-family: var(--lw-font-text); font-size: 14px; font-weight: 400; letter-spacing: 0; text-transform: none; color: var(--lw-muted); }
.woocommerce .woocommerce-breadcrumb a { color: var(--lw-muted); }
.woocommerce .woocommerce-breadcrumb a:hover { color: var(--lw-heading); }

/* uklad: wiecej powietrza */
.lw-shop-layout { gap: 40px; padding: 40px 0 72px; }
.lw-shop-layout.lw-full { padding-top: 32px; }
.lw-subcats { margin-bottom: 24px; gap: 10px; }
.lw-subcats a { font-size: 14px; padding: 10px 16px; border-color: transparent; background: #fff; box-shadow: 0 1px 2px rgba(13,18,24,.05); }
.lw-subcats a:hover { border-color: var(--lw-heading); }
.lw-subcats li.lw-active a { background: var(--lw-heading); border-color: var(--lw-heading); }
.lw-shop-top { margin-bottom: 24px; }
.woocommerce .woocommerce-result-count { font-family: var(--lw-font-text); font-size: 14px; font-weight: 400; color: var(--lw-muted); }
.woocommerce .woocommerce-ordering select { font-family: var(--lw-font-text); font-size: 14px; font-weight: 400; border-color: transparent; box-shadow: 0 1px 2px rgba(13,18,24,.05); padding: 10px 40px 10px 14px; }
.woocommerce .woocommerce-ordering::before { font-family: var(--lw-font-text); font-weight: 400; font-size: 14px; }

/* sidebar: biale boxy na gruncie, bez ramek; jedna hierarchia w srodku */
.lw-filters-head { padding: 0 2px 14px; }
.lw-filters-head > span { font-family: var(--lw-font-head); font-size: 16px; font-weight: 500; letter-spacing: -0.3px; text-transform: none; color: var(--lw-heading); }
.lw-clear-filters { font-family: var(--lw-font-text); font-size: 13px; text-decoration: none; border-bottom: 1px solid currentColor; }
.lw-filter-group { border: 0; box-shadow: 0 1px 2px rgba(13,18,24,.05); padding: 22px 24px 20px; margin-bottom: 16px; }
.lw-filter-group summary { font-family: var(--lw-font-head); font-size: 16px; font-weight: 500; letter-spacing: -0.3px; text-transform: none; color: var(--lw-heading); padding-bottom: 0; border: 0; }
.lw-filter-group[open] summary { padding-bottom: 14px; border-bottom: 1px solid var(--lw-border); }
.lw-filter-group .lw-filter-body { margin-top: 14px; }
.lw-filter-widget ul li, .lw-filter-list li { font-family: var(--lw-font-text); font-size: 15px; padding: 6px 0; }
.lw-filter-widget ul li .count, .lw-filter-widget .lw-count, .lw-filter-list .lw-count { font-family: var(--lw-font-head); font-size: 12px; font-weight: 500; color: var(--lw-muted); }
.lw-filter-widget .product-categories > li.cat-item { padding: 6px 0; }
.lw-filter-widget .product-categories > li.cat-item + li.cat-item { border-top: 0; }
.lw-filter-widget .product-categories > li.cat-item > a { font-family: var(--lw-font-head); font-size: 14px; font-weight: 500; letter-spacing: -0.2px; text-transform: none; color: var(--lw-heading); line-height: 1.35; }
.lw-filter-widget .product-categories > li.cat-item > a::after { color: var(--lw-muted); }
.lw-filter-widget .product-categories > li.current-cat > a, .lw-filter-widget .product-categories > li.current-cat-parent > a { color: var(--lw-brand-dark); }
.lw-filter-widget .product-categories ul.children { margin: 8px 0 4px; padding-left: 0; border-left: 0; }
.lw-filter-widget .product-categories ul.children li { padding: 5px 0 5px 4px; font-size: 15px; }
.lw-filter-widget .product-categories ul.children li a { color: var(--lw-text); }
.lw-filter-widget .product-categories ul.children li.current-cat > a { color: var(--lw-brand-dark); font-weight: 700; }
.lw-filter-widget .price_slider_amount { font-family: var(--lw-font-text); font-size: 14px; }

/* karty: bez ramek, oddzielone gruntem; zdjecie na bieli z linia pod spodem */
.woocommerce ul.products.columns-3, .woocommerce ul.products.columns-4 { gap: 28px !important; }
.woocommerce ul.products li.product { border: 0 !important; box-shadow: 0 1px 2px rgba(13,18,24,.05); transition: box-shadow .25s ease, transform .25s ease; }
.woocommerce ul.products li.product:hover { box-shadow: 0 12px 28px -12px rgba(13,18,24,.18), 0 1px 2px rgba(13,18,24,.05); transform: translateY(-2px); }
.woocommerce ul.products li.product a img { background: #fff; padding: 28px; border-bottom: 1px solid var(--lw-border); }
.woocommerce ul.products li.product .lw-card-cat { display: block; font-family: var(--lw-font-text); font-size: 13px; font-weight: 400; letter-spacing: 0; text-transform: none; color: var(--lw-muted); padding: 20px 22px 0; margin: 0; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 17px; letter-spacing: -0.4px; line-height: 1.3; padding: 4px 22px 8px; }
.woocommerce ul.products li.product .price { font-family: var(--lw-font-head); font-size: 17px; font-weight: 600; letter-spacing: -0.3px; color: var(--lw-heading); padding: 0 22px; }
.woocommerce ul.products li.product .price .woocommerce-price-suffix { font-family: var(--lw-font-text); font-size: 12px; color: var(--lw-muted); }
.woocommerce ul.products li.product .lw-card-desc { font-size: 14px; margin: 10px 22px 0; }
.woocommerce ul.products li.product .lw-card-meta { font-family: var(--lw-font-text); font-size: 13px; font-weight: 400; letter-spacing: 0; text-transform: none; color: var(--lw-muted); margin: 8px 22px 22px; }
.woocommerce ul.products li.product .lw-card-actions .lw-card-btn { box-shadow: 0 2px 8px rgba(13,18,24,.12); }

/* karty dzialow (/sklep/) - ta sama logika; zdjecia w pelnym kadrze */
.woocommerce ul.products li.product-category img { padding: 0; border-bottom: 0; object-fit: cover !important; }
.woocommerce ul.products li.product-category .woocommerce-loop-category__title { font-size: 22px; padding: 22px 24px 0; }
.woocommerce ul.products li.product-category .lw-cat-children { padding: 0 24px 16px; }
.woocommerce ul.products li.product-category .lw-cat-children a { font-size: 15px; padding: 7px 0; }
.woocommerce ul.products li.product-category .lw-cat-all { font-family: var(--lw-font-head); font-size: 14px; font-weight: 500; letter-spacing: 0; text-transform: none; margin: 0 24px 24px; color: var(--lw-brand-dark); border-bottom: 1px solid currentColor; display: inline-block; }
.lw-shop-intro { margin: 0 0 32px; }
.lw-shop-intro p { font-size: 17px; line-height: 1.6; }

/* paginacja */
.woocommerce nav.woocommerce-pagination { margin-top: 44px; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { background: #fff; border: 0; box-shadow: 0 1px 2px rgba(13,18,24,.05); font-family: var(--lw-font-head); font-size: 14px; font-weight: 500; }
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--lw-heading); color: #fff; }
.woocommerce nav.woocommerce-pagination ul li a:hover { background: #fff; color: var(--lw-brand-dark); box-shadow: 0 0 0 1px var(--lw-heading) inset; }

@media (max-width: 1000px) { .lw-shop-layout { gap: 28px; padding: 28px 0 56px; } .woocommerce-products-header__title.page-title { font-size: 34px; } }


/* =====================================================================
   Pasek wyszukiwania „Profil” (zastępuje nagłówek archiwum)
   ===================================================================== */
.woocommerce-products-header:not(:has(.term-description, .page-description)) { display: none; }
.lw-bar { position: relative; background: var(--lw-dark); color: #fff; margin: 0 calc(50% - 50vw); padding: 36px max(20px, calc(50vw - 50%)) 0; border-bottom: 1.5px solid var(--lw-brand); }
.woocommerce .lw-bar .woocommerce-breadcrumb { padding: 0; margin: 0 0 22px; font-size: 13px; color: #9a948c; }
.woocommerce .lw-bar .woocommerce-breadcrumb a { color: #9a948c; }
.woocommerce .lw-bar .woocommerce-breadcrumb a:hover { color: #fff; }
.lw-bar-grid { display: grid; grid-template-columns: 1.05fr 1.4fr; gap: 48px; align-items: end; padding-bottom: 36px; }
.lw-bar h1 { font-family: var(--lw-font-head); font-weight: 500; font-size: 42px; letter-spacing: -1.2px; line-height: 1.08; margin: 0 0 10px; color: #fff; }
.lw-bar-sub { margin: 0; font-family: var(--lw-font-text); font-size: 16px; color: #cfc8bf; max-width: 46ch; line-height: 1.55; }
.lw-tally { display: flex; align-items: baseline; gap: 12px; margin: 0 0 12px; font-family: var(--lw-font-text); font-style: italic; font-size: 17px; line-height: 1; color: #cfc8bf; }
.lw-tally b { font-family: var(--lw-font-head); font-style: normal; font-weight: 500; font-size: 34px; letter-spacing: -1px; line-height: 1; color: #fff; }
.lw-tally::after { content: ""; flex: 1; height: 1px; background: currentColor; opacity: .35; align-self: center; margin-left: 6px; }
.lw-search { display: flex; align-items: stretch; width: 100%; border: 1px solid rgba(255,255,255,.14); margin: 0; }
.woocommerce .lw-search select, .woocommerce .lw-search input, .woocommerce .lw-search button, body .lw-search input[type="search"] { font-family: var(--lw-font-head); font-size: 16px; border: 0 !important; outline: 0; border-radius: 0 !important; margin: 0; box-shadow: none; line-height: 1.2; background-clip: padding-box; }
.lw-search input[type="search"] { flex: 1; min-width: 0; padding: 0 20px; height: 60px; background: #fff; color: var(--lw-heading); }
.lw-search input::placeholder { color: var(--lw-muted); font-family: var(--lw-font-text); font-style: italic; }
.lw-search select { height: 60px; width: 200px; flex: 0 0 200px; text-overflow: ellipsis; padding: 0 40px 0 16px; color: var(--lw-heading); border-right: 1px solid var(--lw-border); -webkit-appearance: none; appearance: none;
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%234F5357' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 18px center; }
.lw-search button { height: 60px; padding: 0 28px; background: var(--lw-brand); color: #fff; font-weight: 600; cursor: pointer; display: flex; align-items: center; gap: 10px; }
.lw-search button:hover { background: var(--lw-brand-dark); color: #fff; }
.lw-search svg { width: 18px; height: 18px; flex: none; }
.lw-search input:focus-visible, .lw-search select:focus-visible, .lw-search button:focus-visible { box-shadow: inset 0 0 0 2px var(--lw-brand); }
.lw-bar-quick { display: flex; flex-wrap: wrap; gap: 6px 16px; margin-top: 16px; font-family: var(--lw-font-head); font-size: 13.5px; }
.lw-bar-quick a { color: #e6e0d6; text-decoration: none; border-bottom: 1px solid transparent; }
.lw-bar-quick a:hover { border-bottom-color: var(--lw-brand); color: #fff; }
.lw-bar-quick span { color: #8d867d; }
.lw-bar-profile { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; height: 24px; }
.lw-bar-profile svg { display: block; width: 100%; height: 24px; }
.lw-bar-profile path { fill: none; stroke: var(--lw-brand); stroke-width: 1.5; vector-effect: non-scaling-stroke; }
@media (max-width: 900px) {
  .lw-bar-grid { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .lw-bar h1 { font-size: 32px; }
  .lw-search select { display: none; }
  .lw-search input[type="search"], .lw-search button { height: 52px; }
  .lw-tally { font-size: 15px; gap: 8px; }
  .lw-tally b { font-size: 26px; }
  .lw-tally::after { display: none; }
  .lw-bar-quick { gap: 4px 16px; }
}


/* Karta w listingu: nazwa / kod / cena netto (brutto) / wysokość – materiał */
.woocommerce ul.products li.product .woocommerce-loop-product__title { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; padding-bottom: 2px; }
/* poprawka 2026-09-16: .lw-omnibus ma bazowo (price-history.php, wp_head) "flex:0 0 100%" - mialo to sens
   w .price (flex-direction:row na karcie produktu), ale karta listingu (.woocommerce-LoopProduct-link) jest
   flex-direction:COLUMN, wiec "flex-basis:100%" liczylo sie z WYSOKOSCI kontenera (gdy CSS Grid wyrownuje
   wysokosc karty w wierszu -> kontener dostaje definitywna wysokosc) i omnibus zabieral cala dostepna
   przestrzen kosztem innych elementow (flex-shrink:1 domyslnie) - tytul kurczyl sie do ~10-12px (niewidoczny
   tekst) na WSZYSTKICH szerokosciach ekranu, nie tylko mobile. Selektor tu jest bardziej specyficzny niz baza
   (.lw-omnibus), wiec wygrywa bez !important mimo ze bazowy <style> w wp_head laduje sie pozniej w <head>. */
.woocommerce ul.products li.product .lw-omnibus { flex: 0 0 auto; }
.woocommerce ul.products li.product .lw-card-code { display: block; font-family: var(--lw-font-head); font-size: 13px; font-weight: 500; letter-spacing: .4px; color: var(--lw-muted); padding: 0 22px 10px; }
.woocommerce ul.products li.product .lw-card-price { display: block; line-height: 1.35; }
.woocommerce ul.products li.product .lw-card-price .lw-net { display: block; font-size: 17px; font-weight: 600; color: var(--lw-heading); white-space: nowrap; }
.woocommerce ul.products li.product .lw-card-price .lw-net small { font-size: 12px; font-weight: 500; color: var(--lw-muted); letter-spacing: .3px; }
.woocommerce ul.products li.product .lw-card-price .lw-gross { display: block; font-size: 13px; font-weight: 400; color: var(--lw-muted); white-space: nowrap; }
.woocommerce ul.products li.product .lw-card-price .woocommerce-Price-amount { font-size: inherit; font-weight: inherit; color: inherit; }
.woocommerce ul.products li.product .lw-card-price-ask { font-size: 14px; font-weight: 500; color: var(--lw-muted); }
.woocommerce ul.products li.product .lw-card-meta { margin-top: 6px; }


/* Sidebar: kategorie z wyraźną separacją (2026-09-08) */
.lw-filter-widget .product-categories > li.cat-item { padding: 0; }
.lw-filter-widget .product-categories > li.cat-item + li.cat-item { border-top: 1px solid var(--lw-border); }
.lw-filter-widget .product-categories > li.cat-item > a { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 12px 0; font-size: 14px; line-height: 1.3; }
body.tax-product_cat .lw-filter-widget .product-categories > li.cat-item:not(.current-cat):not(.current-cat-parent):not(.current-cat-ancestor) > a::after { margin-left: auto; font-size: 18px; line-height: 1; }
/* bieżący dział = wyróżniony blok z listą podkategorii */
.lw-filter-widget .product-categories > li.current-cat, .lw-filter-widget .product-categories > li.current-cat-parent, .lw-filter-widget .product-categories > li.current-cat-ancestor { background: #F4F5F7; margin: 0 -24px; padding: 2px 24px 12px; border-top: 0; border-bottom: 1px solid #E3E5E9; }
.lw-filter-widget .product-categories > li.current-cat + li.cat-item, .lw-filter-widget .product-categories > li.current-cat-parent + li.cat-item, .lw-filter-widget .product-categories > li.current-cat-ancestor + li.cat-item { border-top: 0; }
.lw-filter-widget .product-categories > li.current-cat > a, .lw-filter-widget .product-categories > li.current-cat-parent > a, .lw-filter-widget .product-categories > li.current-cat-ancestor > a { font-weight: 600; color: var(--lw-heading); padding-bottom: 10px; }
.lw-filter-widget .product-categories ul.children { margin: 0; padding: 0; border-top: 1px solid #E3E5E9; }
.lw-filter-widget .product-categories ul.children li { display: flex; align-items: center; gap: 10px; padding: 9px 0 9px 2px; font-size: 15px; }
.lw-filter-widget .product-categories ul.children li + li { border-top: 1px solid #EBEDF0; }
.lw-filter-widget .product-categories ul.children li a { display: flex; align-items: center; gap: 10px; flex: 1; min-width: 0; }
.lw-filter-widget .product-categories ul.children li .count { margin-left: auto; flex: none; }
/* suwak cen: zapas na uchwyty */
.lw-filter-widget .price_slider_wrapper { padding-top: 8px; }
.lw-filter-widget .price_slider { margin: 0 8px 22px; }

.woocommerce .widget_price_filter .price_slider_wrapper .ui-slider { background-color: var(--lw-border); }
.woocommerce .widget_price_filter .price_slider_wrapper .ui-slider .ui-slider-range { background-color: var(--lw-brand); }
.woocommerce .widget_price_filter .price_slider_wrapper .ui-slider .ui-slider-handle { background-color: #fff; border: 2px solid var(--lw-brand); }

.lw-filter-widget .product-categories ul.children li.current-cat > a { color: var(--lw-heading); }
.lw-filter-widget .product-categories ul.children li a { color: var(--lw-text); }
.lw-filter-widget .product-categories ul.children li .count { color: var(--lw-muted); }

/* blok bieżącego działu: czarne czcionki, odstęp od kolejnego działu */
.lw-filter-widget .product-categories > li.current-cat, .lw-filter-widget .product-categories > li.current-cat-parent, .lw-filter-widget .product-categories > li.current-cat-ancestor { margin-bottom: 18px; border-bottom: 0; border-radius: 0 0 6px 6px; }
.lw-filter-widget .product-categories > li.current-cat > a, .lw-filter-widget .product-categories > li.current-cat-parent > a, .lw-filter-widget .product-categories > li.current-cat-ancestor > a { color: #111 !important; }
.lw-filter-widget .product-categories ul.children li a, .lw-filter-widget .product-categories ul.children li.current-cat > a { color: #111 !important; }
.lw-filter-widget .product-categories ul.children li .count { color: #111; }
.lw-filter-widget .product-categories > li.current-cat + li.cat-item, .lw-filter-widget .product-categories > li.current-cat-parent + li.cat-item, .lw-filter-widget .product-categories > li.current-cat-ancestor + li.cat-item { border-top: 1px solid var(--lw-border); }


/* Opis kategorii pod listą produktów */
.lw-cat-desc { max-width: 76ch; margin: 8px auto 64px; padding: 32px 0 0; border-top: 1px solid var(--lw-border); font-family: var(--lw-font-text); font-size: 16px; line-height: 1.7; color: var(--lw-text); }
.lw-cat-desc h2 { font-family: var(--lw-font-head); font-size: 22px; font-weight: 500; letter-spacing: -0.5px; color: var(--lw-heading); margin: 0 0 14px; }
.lw-cat-desc p { margin: 0 0 14px; }
.lw-cat-desc p:last-child { margin-bottom: 0; }


/* Opis kategorii na górze kolumny produktów: lead + „Czytaj więcej” */
.lw-cat-intro { max-width: 78ch; margin: 0 0 26px; font-family: var(--lw-font-text); font-size: 17px; line-height: 1.7; color: #2a2d31; }
.lw-cat-intro p { margin: 0 0 12px; }
.lw-cat-intro > p:first-child { font-size: 18px; color: var(--lw-heading); }
.lw-cat-more { margin-top: 2px; }
.lw-cat-more summary { list-style: none; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; font-family: var(--lw-font-head); font-size: 13px; font-weight: 600; letter-spacing: .2px; color: var(--lw-brand-dark); padding: 2px 0; }
.lw-cat-more summary::-webkit-details-marker { display: none; }
.lw-cat-more summary::after { content: "+"; font-size: 16px; font-weight: 400; color: var(--lw-brand); }
.lw-cat-more[open] summary::after { content: "–"; }
.lw-cat-more summary:hover { color: var(--lw-heading); }
.lw-cat-more .lw-more-close, .lw-cat-more[open] .lw-more-open { display: none; }
.lw-cat-more[open] .lw-more-close { display: inline; }
.lw-cat-more[open] summary { margin-bottom: 10px; }
.lw-cat-more p { font-size: 16px; color: var(--lw-text); }
.lw-cat-desc { display: none; }

/* Opis kategorii jako panel na całą szerokość nad filtrami i produktami */
.lw-cat-intro { max-width: none; margin: 36px 0 -6px; padding: 26px 32px 24px; background: #fff; border: 1px solid var(--lw-border); border-radius: var(--lw-radius); box-shadow: 0 1px 2px rgba(13,18,24,.05); }
.lw-cat-intro > p, .lw-cat-intro .lw-cat-more { max-width: 82ch; }
.lw-cat-intro > p:first-child { margin-bottom: 10px; }
.lw-cat-more[open] { padding-top: 4px; border-top: 1px solid var(--lw-border); margin-top: 8px; }
.lw-cat-more[open] summary { margin: 10px 0; }
@media (max-width: 767px) { .lw-cat-intro { margin-top: 24px; padding: 20px 20px 18px; font-size: 16px; } .lw-cat-intro > p:first-child { font-size: 17px; } }

/* kafle działów bez listy podkategorii: link „Zobacz wszystkie” tuż pod tytułem */
.woocommerce ul.products li.product-category .woocommerce-loop-category__title { margin-bottom: 10px; }
.woocommerce ul.products li.product-category .lw-cat-all { margin-top: 2px; }
.woocommerce ul.products li.product-category .lw-cat-all { align-self: flex-start; width: auto; }
.woocommerce ul.products li.product-category .lw-cat-all .lw-count { font-weight: 400; color: var(--lw-muted); margin-left: 4px; }

/* Opis kategorii: pełna szerokość, „Czytaj więcej” w ostatniej linii leadu */
.lw-cat-intro > p, .lw-cat-intro .lw-cat-more, .lw-cat-intro .lw-more-body { max-width: none; }
.lw-cat-intro .lw-lead { font-size: 18px; color: var(--lw-heading); margin: 0; }
.lw-cat-intro .lw-more { display: inline; margin: 0 0 0 6px; padding: 0; border: 0; background: none; font-family: var(--lw-font-head); font-size: 13px; font-weight: 600; letter-spacing: .2px; color: var(--lw-brand-dark); cursor: pointer; white-space: nowrap; vertical-align: baseline; line-height: inherit; }
.lw-cat-intro .lw-more::after { content: " +"; color: var(--lw-brand); font-weight: 400; }
.lw-cat-intro .lw-more[aria-expanded="true"]::after { content: " –"; }
.lw-cat-intro .lw-more:hover { color: var(--lw-heading); background: none; }
.lw-cat-intro .lw-more:focus-visible { outline: 2px solid var(--lw-brand); outline-offset: 2px; }
.lw-cat-intro .lw-more .lw-more-close, .lw-cat-intro .lw-more[aria-expanded="true"] .lw-more-open { display: none; }
.lw-cat-intro .lw-more[aria-expanded="true"] .lw-more-close { display: inline; }
.lw-cat-intro .lw-more-body { margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--lw-border); }
.lw-cat-intro .lw-more-body p { font-size: 16px; color: var(--lw-text); margin: 0 0 12px; }
.lw-cat-intro .lw-more-body p:last-child { margin-bottom: 0; }
.lw-cat-intro .lw-more-body[hidden] { display: none; }
.lw-cat-intro .lw-more { text-transform: none !important; box-shadow: none; border-radius: 0; }


/* =====================================================================
   Karta produktu v2 (2026-09-08): panel górny (galeria + dane) i panel
   zakładek na pełną szerokość, na szarym tle strony.
   ===================================================================== */
body.single-product { background: var(--lw-bg); }
.woocommerce div.product .lw-product-top { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 40px; align-items: start; background: #fff; border: 1px solid var(--lw-border); border-radius: var(--lw-radius); padding: 32px; box-shadow: 0 1px 2px rgba(13,18,24,.05); }
.woocommerce div.product .lw-product-top::after { content: none; }
.woocommerce div.product .lw-product-top div.images, .woocommerce div.product .lw-product-top div.summary { float: none; width: auto; margin: 0; }
.woocommerce div.product .lw-product-top div.summary { min-width: 0; }
.woocommerce div.product .lw-product-top .product_meta { margin-bottom: 0; }
.woocommerce div.product .lw-product-top .woocommerce-product-details__short-description { border-bottom: 0; padding-bottom: 0; }
.woocommerce div.product .woocommerce-tabs { clear: both; margin: 28px 0 0; padding: 4px 32px 10px; background: #fff; border: 1px solid var(--lw-border); border-top: 1px solid var(--lw-border); border-radius: var(--lw-radius); box-shadow: 0 1px 2px rgba(13,18,24,.05); }
.woocommerce div.product .woocommerce-tabs .lw-accordion-head { padding: 18px 0; font-size: 17px; }
.woocommerce div.product .woocommerce-tabs .lw-accordion-panel { max-width: none; padding: 4px 0 26px; font-size: 16px; }
.woocommerce div.product .woocommerce-tabs .lw-accordion-panel p, .woocommerce div.product .woocommerce-tabs .lw-accordion-panel h3, .woocommerce div.product .woocommerce-tabs .lw-accordion-panel ul, .woocommerce div.product .woocommerce-tabs .lw-accordion-panel table { max-width: none; width: 100%; }
.woocommerce div.product .woocommerce-tabs .lw-accordion > .lw-accordion-panel:last-child, .woocommerce div.product .woocommerce-tabs .lw-accordion > .lw-accordion-head:last-child { border-bottom: 0; }
.woocommerce div.product .related, .woocommerce div.product .lw-brand-products, .woocommerce div.product .lw-popular-categories { margin-top: 40px; }
@media (max-width: 900px) {
  /* minmax(0,1fr) + min-width:0: FlexSlider ustawia slajdom width 640px, a przy 1fr (min = auto) kolumna rosła do 640 px i ucinała cenę, stepper i przycisk (fix 2026-09-28) */
  .woocommerce div.product .lw-product-top { grid-template-columns: minmax(0, 1fr); gap: 24px; padding: 18px; }
  .woocommerce div.product .lw-product-top > * { min-width: 0; max-width: 100%; }
  .woocommerce div.product .woocommerce-tabs { padding: 2px 18px 8px; }
}


/* Karta produktu v3: opis pod zdjęciem, meta pod tytułem, cena netto (brutto) */
.woocommerce div.product .lw-product-top { grid-template-areas: "images summary" "excerpt summary"; grid-template-rows: auto 1fr; }
.woocommerce div.product .lw-product-top div.images { grid-area: images; }
.woocommerce div.product .lw-product-top div.summary { grid-area: summary; }
.woocommerce div.product .lw-product-top .lw-product-excerpt { grid-area: excerpt; padding-left: 92px; }
.woocommerce div.product .lw-product-top .lw-product-excerpt .woocommerce-product-details__short-description { border-top: 1px solid var(--lw-border); padding-top: 16px; margin: 0; font-size: 15px; line-height: 1.65; }
.woocommerce div.product .product_title { margin-bottom: 8px; }
.woocommerce div.product .product_title .lw-code { display: none; }
.woocommerce div.product .lw-product-top .product_meta { margin: 0 0 22px; padding: 12px 0; border-top: 1px solid var(--lw-border); border-bottom: 1px solid var(--lw-border); }
.woocommerce div.product p.price { flex-direction: column; align-items: flex-start; gap: 2px; margin-bottom: 22px; }
.woocommerce div.product p.price .lw-net { font-size: 26px; font-weight: 600; color: var(--lw-heading); }
.woocommerce div.product p.price .lw-net small { font-size: 13px; font-weight: 500; color: var(--lw-muted); letter-spacing: .3px; }
.woocommerce div.product p.price .lw-gross { font-family: var(--lw-font-head); font-size: 14px; font-weight: 400; color: var(--lw-muted); }
.woocommerce div.product p.price .lw-gross .woocommerce-Price-amount, .woocommerce div.product p.price .lw-net .woocommerce-Price-amount { font-size: inherit; font-weight: inherit; color: inherit; }
@media (max-width: 900px) {
  .woocommerce div.product .lw-product-top { grid-template-areas: "images" "summary" "excerpt"; grid-template-rows: auto; }
  .woocommerce div.product .lw-product-top .lw-product-excerpt { padding-left: 0; }
}

/* karta produktu: opis pod zdjęciem od lewej krawędzi kolumny; cena netto i brutto w jednej linii */
.woocommerce div.product .lw-product-top .lw-product-excerpt { padding-left: 0; }
.woocommerce div.product p.price { flex-direction: row; flex-wrap: wrap; align-items: baseline; gap: 10px; }


/* stan magazynowy w liście korzyści; przycisk „Zapytaj o dostępność” zamiast Ulubione */
.woocommerce div.product .lw-details-list li.lw-stock-in { color: #1f7a3a; }
.woocommerce div.product .lw-details-list li.lw-stock-in svg { color: #1f7a3a; }
.woocommerce div.product .lw-details-list li.lw-stock-backorder { color: var(--lw-brand-dark); }
.woocommerce div.product .lw-details-list li.lw-stock-out { color: #b3261e; }
.woocommerce div.product .lw-details-list li.lw-stock-out svg { color: #b3261e; }
.woocommerce div.product .lw-ask-btn { display: flex; align-items: center; justify-content: center; width: 100%; height: 52px; margin: 0 0 4px; border: 1px solid var(--lw-heading); background: var(--lw-heading); color: #fff; font-family: var(--lw-font-head); font-size: 15px; font-weight: 600; text-decoration: none; }
.woocommerce div.product .lw-ask-btn:hover { background: var(--lw-brand); border-color: var(--lw-brand); color: #fff; }
.woocommerce div.product p.stock { display: none; }

/* sidebar: odstęp nad blokiem bieżącego działu równy odstępowi pod nim */
.lw-filter-widget .product-categories > li.current-cat:not(:first-child), .lw-filter-widget .product-categories > li.current-cat-parent:not(:first-child), .lw-filter-widget .product-categories > li.current-cat-ancestor:not(:first-child) { margin-top: 18px; }


/* kafel: drugie zdjęcie po najechaniu (nakładka na pierwsze) */
.woocommerce ul.products li.product a img.lw-card-hover { position: absolute; top: 0; left: 0; opacity: 0; transition: opacity .25s ease; pointer-events: none; z-index: 1; }
.woocommerce ul.products li.product:hover a img.lw-card-hover, .woocommerce ul.products li.product:focus-within a img.lw-card-hover { opacity: 1; }
.woocommerce ul.products.lw-view-list li.product a img.lw-card-hover { display: none; }
@media (hover: none) { .woocommerce ul.products li.product a img.lw-card-hover { display: none; } }


/* cena za metr bieżący (wzór, produkty z _lw_price_unit=mb) */
.woocommerce div.product p.price .lw-piece, .woocommerce ul.products li.product .lw-card-price .lw-piece { display: block; width: 100%; font-family: var(--lw-font-head); font-size: 13px; font-weight: 500; color: var(--lw-heading); margin-top: 4px; }
.woocommerce ul.products li.product .lw-card-price-mb .lw-net small { white-space: nowrap; }
.woocommerce div.product .lw-mb-calc { flex-basis: 100%; width: 100%; margin: 10px 0 0; font-family: var(--lw-font-head); font-size: 14px; font-weight: 500; color: var(--lw-heading); background: var(--lw-brand-subtle); padding: 10px 14px; border-radius: var(--lw-radius); }


/* ilość w metrach dla produktów liniowych */
.woocommerce div.product form.cart .quantity.lw-qty-hidden { position: absolute; left: -9999px; }
.woocommerce div.product .lw-mb-qty { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 14px; flex-basis: 100%; width: 100%; margin: 0 0 12px; }
.woocommerce div.product .lw-mb-qty label { font-family: var(--lw-font-head); font-size: 13px; font-weight: 600; color: var(--lw-heading); }
.woocommerce div.product .lw-mb-qty input { width: 110px; height: 48px; border: 1px solid var(--lw-heading); border-radius: 0; text-align: center; font-family: var(--lw-font-head); font-size: 16px; font-weight: 600; }
.woocommerce div.product .lw-mb-qty .lw-mb-calc-text { flex-basis: 100%; font-family: var(--lw-font-head); font-size: 14px; font-weight: 500; color: var(--lw-heading); background: var(--lw-brand-subtle); padding: 10px 14px; border-radius: var(--lw-radius); }

.woocommerce div.product .lw-mb-qty .lw-mb-label { font-family: var(--lw-font-head); font-size: 13px; font-weight: 600; color: var(--lw-heading); }
.woocommerce div.product .lw-mb-stepper { display: inline-flex; align-items: stretch; border: 1px solid var(--lw-heading); height: 48px; }
.woocommerce div.product .lw-mb-stepper button { width: 44px; border: 0; background: #fff; font-family: var(--lw-font-head); font-size: 20px; line-height: 1; color: var(--lw-heading); cursor: pointer; padding: 0; }
.woocommerce div.product .lw-mb-stepper button:hover { background: var(--lw-brand-subtle); }
.woocommerce div.product .lw-mb-stepper input { width: 84px; height: auto; border: 0; border-left: 1px solid var(--lw-border); border-right: 1px solid var(--lw-border); border-radius: 0; text-align: center; font-family: var(--lw-font-head); font-size: 16px; font-weight: 600; background: #fff; color: var(--lw-heading); }

/* =====================================================================
   Koszyk (3 kroki) + pływający przycisk koszyka
   ===================================================================== */
body.woocommerce-cart, body.woocommerce-checkout { background: var(--lw-bg); }
.lw-steps { list-style: none; display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 28px 0 24px; padding: 0; }
.lw-steps li { background: #fff; border: 1px solid var(--lw-border); border-radius: var(--lw-radius); padding: 14px 18px; display: grid; grid-template-columns: auto 1fr; column-gap: 12px; align-items: baseline; color: var(--lw-muted); }
.lw-steps .lw-step-no { font-family: var(--lw-font-head); font-size: 18px; font-weight: 600; letter-spacing: -0.4px; }
.lw-steps .lw-step-title { font-family: var(--lw-font-head); font-size: 15px; font-weight: 600; }
.lw-steps .lw-step-sub { grid-column: 2; font-family: var(--lw-font-text); font-size: 13px; }
.lw-steps li.lw-step-active { border-color: var(--lw-brand); color: var(--lw-heading); box-shadow: inset 0 3px 0 var(--lw-brand); }
.lw-steps li.lw-step-done { color: var(--lw-heading); }
.lw-cart-heading { font-family: var(--lw-font-head); font-size: 22px; font-weight: 600; letter-spacing: -0.5px; color: var(--lw-heading); margin: 8px 0 14px; }
.woocommerce-cart .woocommerce { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 28px; align-items: start; }
.woocommerce-cart .woocommerce > .lw-steps, .woocommerce-cart .woocommerce > .lw-cart-heading, .woocommerce-cart .woocommerce > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
.woocommerce-cart form.woocommerce-cart-form { grid-column: 1; }
.woocommerce-cart .cart-collaterals { grid-column: 2; }
.woocommerce-cart table.shop_table { border: 1px solid var(--lw-border); border-radius: var(--lw-radius); background: #fff; border-collapse: separate; border-spacing: 0; }
.woocommerce-cart table.shop_table th { font-family: var(--lw-font-head); font-size: 13px; font-weight: 600; color: var(--lw-heading); background: var(--lw-bg); padding: 14px 16px; border-bottom: 1px solid var(--lw-border); }
.woocommerce-cart table.shop_table td { padding: 16px; border-top: 1px solid var(--lw-border); vertical-align: middle; font-family: var(--lw-font-text); color: var(--lw-heading); }
.woocommerce-cart table.shop_table td.product-thumbnail img { width: 84px; height: 84px; object-fit: contain; background: var(--lw-bg); border-radius: 4px; }
.woocommerce-cart table.shop_table td.product-name a { font-family: var(--lw-font-head); font-weight: 500; color: var(--lw-heading); text-decoration: none; }
.woocommerce-cart table.shop_table .lw-cart-len { display: block; font-size: 13px; color: var(--lw-muted); margin-top: 4px; }
.woocommerce-cart table.shop_table td.product-price, .woocommerce-cart table.shop_table td.product-subtotal { font-family: var(--lw-font-head); font-weight: 600; white-space: nowrap; }
.woocommerce-cart table.shop_table .lw-unit { font-weight: 400; color: var(--lw-muted); font-size: 12px; }
.woocommerce-cart table.shop_table td.product-remove a.remove { color: var(--lw-muted) !important; font-size: 22px; }
.woocommerce-cart table.shop_table td.product-remove a.remove:hover { background: var(--lw-heading); color: #fff !important; }
.lw-cart-mb { display: inline-flex; align-items: center; border: 1px solid var(--lw-heading); height: 40px; }
.lw-cart-mb button { width: 36px; height: 100%; border: 0; background: #fff; font-family: var(--lw-font-head); font-size: 18px; cursor: pointer; color: var(--lw-heading); padding: 0; }
.lw-cart-mb button:hover { background: var(--lw-brand-subtle); }
.lw-cart-mb input.lw-cart-mb-value { width: 64px; height: 100%; border: 0; border-left: 1px solid var(--lw-border); border-right: 1px solid var(--lw-border); text-align: center; font-family: var(--lw-font-head); font-weight: 600; font-size: 15px; background: #fff; }
.lw-cart-mb .lw-cart-unit { padding: 0 10px; font-family: var(--lw-font-head); font-size: 13px; color: var(--lw-muted); }
.woocommerce-cart table.shop_table td.actions { background: var(--lw-bg); padding: 14px 16px; }
.woocommerce-cart table.shop_table td.actions .coupon { display: flex; gap: 8px; align-items: center; }
.woocommerce-cart table.shop_table td.actions .coupon label { display: none; }
.woocommerce-cart table.shop_table td.actions .coupon input.input-text { height: 42px; width: 220px; border: 1px solid var(--lw-border); padding: 0 12px; font-family: var(--lw-font-head); font-size: 14px; }
.woocommerce-cart table.shop_table td.actions .coupon button, .woocommerce-cart table.shop_table td.actions button[name="update_cart"] { height: 42px; padding: 0 18px !important; font-size: 13px !important; }
.woocommerce-cart table.shop_table td.actions button[name="update_cart"] { display: none; }
.woocommerce-cart .cart_totals { background: #fff; border: 1px solid var(--lw-border); border-radius: var(--lw-radius); padding: 22px 24px; width: 100%; float: none; }
.woocommerce-cart .cart_totals h2 { font-family: var(--lw-font-head); font-size: 18px; font-weight: 600; margin: 0 0 12px; color: var(--lw-heading); }
.woocommerce-cart .cart_totals table.shop_table { border: 0; background: transparent; }
.woocommerce-cart .cart_totals table.shop_table th, .woocommerce-cart .cart_totals table.shop_table td { background: transparent; padding: 10px 0; border: 0; border-bottom: 1px solid var(--lw-border); font-family: var(--lw-font-head); }
.woocommerce-cart .cart_totals table.shop_table tr.order-total th, .woocommerce-cart .cart_totals table.shop_table tr.order-total td { font-size: 18px; font-weight: 600; color: var(--lw-brand-dark); border-bottom: 0; }
.woocommerce-cart .cart_totals .woocommerce-shipping-methods { list-style: none; margin: 0; padding: 0; }
.woocommerce-cart .cart_totals .woocommerce-shipping-methods li { padding: 6px 0; }
.lw-cart-actions { display: flex; flex-direction: column; gap: 10px; margin-top: 16px; }
.lw-cart-actions a.button { text-align: center; padding: 14px 18px !important; font-size: 14px !important; }
.lw-cart-actions a.lw-btn-secondary { background: #fff !important; color: var(--lw-heading) !important; border: 1px solid var(--lw-heading) !important; }
.lw-cart-payments { margin-top: 18px; background: #fff; border: 1px solid var(--lw-border); border-radius: var(--lw-radius); padding: 18px 22px; }
.lw-cart-payments h3 { font-family: var(--lw-font-head); font-size: 15px; font-weight: 600; margin: 0 0 10px; }
.lw-cart-payments ul { list-style: none; margin: 0; padding: 0; }
.lw-cart-payments li { display: flex; align-items: center; gap: 10px; padding: 8px 0; border-top: 1px solid var(--lw-border); font-family: var(--lw-font-head); font-size: 14px; }
.lw-cart-payments p { margin: 10px 0 0; font-size: 13px; color: var(--lw-muted); }
.woocommerce-cart .cart-empty, .woocommerce-cart .return-to-shop { grid-column: 1 / -1; }
.lw-cart-pill { position: fixed; right: 22px; bottom: 22px; z-index: 900; display: inline-flex; align-items: center; gap: 10px; background: var(--lw-brand); color: #fff; text-decoration: none; padding: 12px 18px 12px 14px; border-radius: 999px; box-shadow: 0 8px 24px rgba(13,18,24,.25); font-family: var(--lw-font-head); font-weight: 600; font-size: 15px; }
.lw-cart-pill:hover { background: var(--lw-brand-dark); color: #fff; }
.lw-cart-pill svg { width: 22px; height: 22px; }
.lw-cart-pill .lw-cart-pill-count { background: #fff; color: var(--lw-brand-dark); border-radius: 999px; min-width: 24px; height: 24px; display: inline-flex; align-items: center; justify-content: center; font-size: 13px; padding: 0 7px; }
.lw-cart-pill.lw-cart-pill-empty { display: none; }
@media (max-width: 900px) {
  .lw-steps { grid-template-columns: minmax(0, 1fr); }
  .woocommerce-cart .woocommerce { grid-template-columns: minmax(0, 1fr); }
  .woocommerce-cart .cart-collaterals { grid-column: 1; }
  .lw-cart-pill { right: 12px; bottom: 12px; }
}

/* koszyk: korekty typografii i szerokości */
.woocommerce-cart h1.entry-title, .woocommerce-cart .page-title, .woocommerce-cart h1 { font-size: 32px !important; letter-spacing: -1px; margin: 24px 0 0 !important; }
.woocommerce-cart h2.lw-cart-heading { font-size: 22px !important; line-height: 1.2 !important; margin: 4px 0 14px !important; }
.woocommerce-cart .woocommerce-message { grid-column: 1 / -1; }
.woocommerce-cart table.shop_table td.product-thumbnail { width: 100px; }
.woocommerce-cart table.shop_table td.product-thumbnail img { display: block; }
.woocommerce-cart table.shop_table td.product-name { min-width: 260px; }
.woocommerce-cart table.shop_table td.product-name a { display: block; font-size: 15px; line-height: 1.35; }
.woocommerce-cart table.shop_table td.product-name dl.variation { margin: 8px 0 0; font-size: 12.5px; color: var(--lw-muted); }
.woocommerce-cart table.shop_table td.product-name dl.variation dt, .woocommerce-cart table.shop_table td.product-name dl.variation dd { display: inline; float: none; margin: 0; padding: 0; font-weight: 400; }
.woocommerce-cart table.shop_table td.product-name dl.variation dd p { display: inline; margin: 0; }
.woocommerce-cart table.shop_table td.product-name dl.variation dd::after { content: ""; display: block; }
.woocommerce-cart .cart-collaterals { width: 100% !important; }
.woocommerce-cart .cart-collaterals .cart_totals { width: 100% !important; float: none !important; }
.woocommerce-cart .cart_totals table.shop_table th { text-transform: none; letter-spacing: 0; font-size: 14px; font-weight: 500; white-space: nowrap; width: 55%; }
.woocommerce-cart .cart_totals table.shop_table td { text-align: right; font-size: 15px; }
.woocommerce-cart .cart_totals table.shop_table tr.order-total th { font-weight: 600; }
.lw-cart-actions a.button { white-space: normal; line-height: 1.3; }
.woocommerce-cart table.shop_table td.actions .coupon input.input-text { width: 200px; }
/* koszyk: szerokości kolumn tabeli */
.woocommerce-cart form.woocommerce-cart-form { min-width: 0; }
.woocommerce-cart table.shop_table.cart { width: 100%; table-layout: auto; }
.woocommerce-cart table.shop_table th.product-remove, .woocommerce-cart table.shop_table td.product-remove { width: 44px !important; min-width: 44px; }
.woocommerce-cart table.shop_table th.product-thumbnail, .woocommerce-cart table.shop_table td.product-thumbnail { width: 108px !important; min-width: 108px; }
.woocommerce-cart table.shop_table td.product-thumbnail a { display: block; width: 84px; }
.woocommerce-cart table.shop_table td.product-thumbnail img { width: 84px !important; max-width: none; height: 84px; }
.woocommerce-cart table.shop_table th.product-price, .woocommerce-cart table.shop_table td.product-price { width: 120px; white-space: nowrap; }
.woocommerce-cart table.shop_table th.product-quantity, .woocommerce-cart table.shop_table td.product-quantity { width: 200px; }
.woocommerce-cart table.shop_table th.product-subtotal, .woocommerce-cart table.shop_table td.product-subtotal { width: 120px; white-space: nowrap; text-align: right; }
.woocommerce-cart table.shop_table th.product-subtotal { text-align: right; }
/* koszyk: tabela w obrębie kolumny */
.woocommerce-cart .woocommerce { grid-template-columns: minmax(0, 1fr) 330px; }
.woocommerce-cart table.shop_table.cart { table-layout: fixed !important; width: 100% !important; }
.woocommerce-cart table.shop_table th.product-remove, .woocommerce-cart table.shop_table td.product-remove { width: 40px !important; min-width: 0; }
.woocommerce-cart table.shop_table th.product-thumbnail, .woocommerce-cart table.shop_table td.product-thumbnail { width: 96px !important; min-width: 0; }
.woocommerce-cart table.shop_table th.product-name, .woocommerce-cart table.shop_table td.product-name { width: auto; min-width: 0; }
.woocommerce-cart table.shop_table th.product-price, .woocommerce-cart table.shop_table td.product-price { width: 96px; }
.woocommerce-cart table.shop_table th.product-quantity, .woocommerce-cart table.shop_table td.product-quantity { width: 176px; }
.woocommerce-cart table.shop_table th.product-subtotal, .woocommerce-cart table.shop_table td.product-subtotal { width: 104px; }
.woocommerce-cart table.shop_table td { padding: 14px 12px; }
.woocommerce-cart table.shop_table th { padding: 12px; }
.woocommerce-cart table.shop_table td.product-name a { font-size: 14px; }
.lw-cart-mb input.lw-cart-mb-value { width: 54px; }
.lw-cart-mb button { width: 32px; }
.lw-cart-mb .lw-cart-unit { padding: 0 8px; }
.woocommerce-cart table.shop_table.cart th.product-subtotal { font-size: 0; }
.woocommerce-cart table.shop_table.cart th.product-subtotal::after { content: "Wartość"; font-size: 13px; }

/* =====================================================================
   Panel boczny koszyka (Basel .b-mini_cart)
   ===================================================================== */
.lw-sc-backdrop { position: fixed; inset: 0; background: rgba(13,18,24,.45); z-index: 1000; opacity: 0; pointer-events: none; transition: opacity .25s ease; }
.lw-sc-backdrop.is-open { opacity: 1; pointer-events: auto; }
.lw-side-cart { position: fixed; top: 0; right: 0; height: 100%; width: min(420px, 100%); background: #fff; z-index: 1001; display: flex; flex-direction: column; transform: translateX(100%); transition: transform .3s ease; box-shadow: -12px 0 40px rgba(13,18,24,.18); }
.lw-side-cart.is-open { transform: translateX(0); }
.lw-sc-head { display: flex; align-items: center; justify-content: space-between; padding: 18px 22px; border-bottom: 1px solid var(--lw-border); font-family: var(--lw-font-head); font-size: 18px; font-weight: 600; color: var(--lw-heading); }
.lw-sc-close { border: 0; background: none; font-size: 28px; line-height: 1; cursor: pointer; color: var(--lw-muted); padding: 0 4px; }
.lw-sc-close:hover { color: var(--lw-heading); }
.lw-sc-body { flex: 1 1 auto; overflow-y: auto; padding: 8px 22px; }
.lw-sc-empty { font-family: var(--lw-font-text); color: var(--lw-muted); padding: 24px 0; text-align: center; }
.lw-sc-items { list-style: none; margin: 0; padding: 0; }
.lw-sc-item { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 12px; padding: 14px 0; border-bottom: 1px solid var(--lw-border); align-items: start; transition: opacity .15s; }
.lw-sc-item.is-busy { opacity: .5; pointer-events: none; }
.lw-sc-thumb img { width: 64px; height: 64px; object-fit: contain; background: var(--lw-bg); border-radius: 4px; display: block; }
.lw-sc-name { display: block; font-family: var(--lw-font-head); font-size: 14px; font-weight: 500; line-height: 1.3; color: var(--lw-heading); text-decoration: none; }
.lw-sc-unit { display: block; font-family: var(--lw-font-text); font-size: 12.5px; color: var(--lw-muted); margin: 3px 0 8px; }
.lw-sc-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.lw-sc-qty { display: inline-flex; align-items: center; border: 1px solid var(--lw-border); height: 32px; }
.lw-sc-qty button { width: 30px; height: 100%; border: 0; background: #fff; font-family: var(--lw-font-head); font-size: 16px; color: var(--lw-heading); cursor: pointer; padding: 0; }
.lw-sc-qty button:hover { background: var(--lw-brand-subtle); }
.lw-sc-qty-val { min-width: 60px; text-align: center; font-family: var(--lw-font-head); font-size: 13px; font-weight: 600; padding: 0 6px; border-left: 1px solid var(--lw-border); border-right: 1px solid var(--lw-border); line-height: 30px; }
.lw-sc-line { font-family: var(--lw-font-head); font-size: 14px; font-weight: 600; color: var(--lw-heading); white-space: nowrap; }
.lw-sc-ctrl { display: flex; align-items: center; gap: 12px; }
.lw-sc-remove { border: 0; background: none; padding: 0; cursor: pointer; font-family: var(--lw-font-text); font-size: 12.5px !important; font-weight: 400 !important; color: var(--lw-muted); text-decoration: underline; line-height: 1; }
.lw-sc-remove:hover { color: #b3261e; }
.lw-sc-foot { padding: 16px 22px 22px; border-top: 1px solid var(--lw-border); background: #fff; }
.lw-sc-total { display: flex; justify-content: space-between; align-items: baseline; font-family: var(--lw-font-head); margin-bottom: 14px; }
.lw-sc-total span { font-size: 13px; color: var(--lw-muted); }
.lw-sc-total strong { font-size: 20px; color: var(--lw-heading); }
.lw-sc-btn { display: block; text-align: center; padding: 13px 16px; margin-top: 8px; font-family: var(--lw-font-head); font-size: 14px; font-weight: 600; text-decoration: none; border: 1px solid var(--lw-heading); }
.lw-sc-btn-secondary { background: #fff; color: var(--lw-heading); }
.lw-sc-btn-secondary:hover { background: var(--lw-bg); color: var(--lw-heading); }
.lw-sc-btn-primary { background: var(--lw-brand); border-color: var(--lw-brand); color: #fff; }
.lw-sc-btn-primary:hover { background: var(--lw-brand-dark); border-color: var(--lw-brand-dark); color: #fff; }
body.lw-sc-open { overflow: hidden; }
@media (prefers-reduced-motion: reduce) { .lw-side-cart, .lw-sc-backdrop { transition: none; } }
.lw-side-cart .lw-sc-close, .lw-side-cart .lw-sc-remove, .lw-side-cart .lw-sc-qty button { background: none !important; color: var(--lw-muted) !important; border-radius: 0 !important; box-shadow: none !important; padding: 0 !important; min-height: 0; line-height: 1; }
.lw-side-cart .lw-sc-qty button { color: var(--lw-heading) !important; width: 30px !important; }
.lw-side-cart .lw-sc-close:hover, .lw-side-cart .lw-sc-qty button:hover { color: var(--lw-brand-dark) !important; background: none !important; }
.lw-side-cart .lw-sc-remove:hover { color: #b3261e !important; background: none !important; }

/* Kasa (blok): czytelne podsumowanie zamówienia, przyciski powrotu */
.woocommerce-checkout h1.entry-title, .woocommerce-checkout h1 { font-size: 32px !important; letter-spacing: -1px; margin: 24px 0 0 !important; }
.wc-block-checkout .wc-block-components-sidebar { background: #fff; border: 1px solid var(--lw-border); border-radius: var(--lw-radius); padding: 22px 24px !important; box-shadow: 0 1px 2px rgba(13,18,24,.05); }
.wc-block-components-checkout-order-summary__title, .wc-block-components-checkout-order-summary__title .wc-block-components-panel__button { font-family: var(--lw-font-head) !important; font-size: 18px !important; font-weight: 600 !important; color: var(--lw-heading) !important; }
.wc-block-components-checkout-order-summary__title .wc-block-components-totals-item__value { font-weight: 700; color: var(--lw-heading); }
.wc-block-components-order-summary-item__description .wc-block-components-product-name { font-family: var(--lw-font-head) !important; font-size: 14px !important; font-weight: 600 !important; color: var(--lw-heading) !important; }
.wc-block-components-order-summary-item__total-price, .wc-block-components-order-summary-item__individual-prices { font-family: var(--lw-font-head) !important; font-weight: 700 !important; color: var(--lw-heading) !important; font-size: 14px !important; }
.wc-block-components-order-summary-item .wc-block-components-product-metadata__description { display: none !important; }
.wc-block-components-order-summary-item .wc-block-components-product-details { font-family: var(--lw-font-head); font-size: 12px; color: var(--lw-text); }
.wc-block-components-order-summary-item__quantity { background: var(--lw-brand) !important; border: 2px solid #fff !important; color: #fff !important; font-family: var(--lw-font-head); font-weight: 700; }
.wc-block-components-totals-item { font-family: var(--lw-font-head) !important; }
.wc-block-components-totals-item__label { color: var(--lw-heading) !important; font-weight: 500 !important; font-size: 14px !important; }
.wc-block-components-totals-item__value { color: var(--lw-heading) !important; font-weight: 700 !important; font-size: 15px !important; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label { font-size: 17px !important; font-weight: 700 !important; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font-size: 22px !important; font-weight: 700 !important; color: var(--lw-brand-dark) !important; }
.wc-block-components-totals-coupon .wc-block-components-panel__button { font-family: var(--lw-font-head); font-weight: 600; color: var(--lw-heading); }
.wc-block-components-checkout-step__title { font-family: var(--lw-font-head) !important; font-weight: 600 !important; color: var(--lw-heading) !important; }
.lw-checkout-back { display: flex; gap: 12px; flex-wrap: wrap; margin: 18px 0 40px; }
.lw-checkout-back .lw-sc-btn { margin: 0; padding: 12px 20px; }
@media (max-width: 767px) { .lw-checkout-back { flex-direction: column; } }
/* koszyk / zamowienie / potwierdzenie: tytul strony ukryty (pasek krokow) */
body.woocommerce-cart h1.entry-title, body.woocommerce-checkout h1.entry-title, body.woocommerce-cart .page-header, body.woocommerce-checkout .page-header { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); margin: 0 !important; padding: 0; }
.lw-steps { margin-top: 36px; }

/* Podsumowanie zamówienia (block checkout): stepper mb + usuń + nazwa jako link */
.wc-block-components-order-summary-item .wc-block-components-product-name { cursor: pointer; }
.wc-block-components-order-summary-item .wc-block-components-product-name:hover { text-decoration: underline; color: var(--lw-brand-dark); }
.wc-block-components-order-summary-item .wc-block-components-order-summary-item__quantity { display: none !important; }
.lw-co-ctrl { display: flex; align-items: center; gap: 12px; margin-top: 10px; transition: opacity .15s; }
.lw-co-ctrl.is-busy { opacity: .5; pointer-events: none; }
.lw-co-ctrl .lw-sc-qty { height: 30px; }
.lw-co-ctrl .lw-sc-qty button { width: 28px; }
.lw-co-ctrl .lw-sc-qty-val { min-width: 56px; line-height: 28px; font-size: 12.5px; }
.wc-block-components-order-summary-item .lw-co-ctrl button.lw-co-remove { border: 0 !important; background: none !important; padding: 0 !important; margin: 0; border-radius: 0; box-shadow: none; cursor: pointer; font-family: var(--lw-font-text) !important; font-size: 12.5px !important; font-weight: 400 !important; color: var(--lw-muted) !important; text-decoration: underline; line-height: 1; min-height: 0; }
.wc-block-components-order-summary-item .lw-co-ctrl button.lw-co-remove:hover { color: #b3261e !important; }
.wc-block-components-order-summary-item .lw-co-ctrl .lw-sc-qty button { border-radius: 0; box-shadow: none; min-height: 0; margin: 0; }
/* koszyk: "Usuń" jako link tekstowy (nadpisanie a.remove z WC) */
.woocommerce-cart table.shop_table td.product-remove { width: 64px; }
.woocommerce-cart table.shop_table td.product-remove a.remove.lw-cart-remove { display: inline; width: auto; height: auto; font-size: 12.5px; line-height: 1.4; border-radius: 0; text-align: left; font-family: var(--lw-font-text); font-weight: 400; color: var(--lw-muted) !important; text-decoration: underline; background: none !important; }
.woocommerce-cart table.shop_table td.product-remove a.remove.lw-cart-remove:hover { color: #b3261e !important; background: none !important; }
/* koszyk: wyłączenie zebry z hello-elementor reset.css (tr:nth-child(2n+1) > td) */
.woocommerce-cart table.shop_table tbody > tr > td, .woocommerce-cart table.shop_table tbody > tr > th { background-color: #fff; }
.woocommerce-cart table.shop_table tbody > tr > td.actions { background-color: var(--lw-bg); }
.woocommerce-cart .cart_totals table.shop_table tbody > tr > td, .woocommerce-cart .cart_totals table.shop_table tbody > tr > th { background-color: transparent; }
.woocommerce-cart .woocommerce .cart-collaterals .cart_totals { background: #fff; }

/* =====================================================================
   Koszyk v2: lista pozycji zamiast kratki tabeli (spójna z podsumowaniem w checkout) + netto/brutto
   ===================================================================== */
.woocommerce-cart .woocommerce { padding-bottom: 56px; }
.woocommerce-cart table.shop_table.cart { display: block; border: 1px solid var(--lw-border); border-radius: var(--lw-radius); background: #fff; padding: 4px 24px 0; }
.woocommerce-cart table.shop_table.cart thead { display: none; }
.woocommerce-cart table.shop_table.cart tbody { display: block; }
.woocommerce-cart table.shop_table.cart tbody > tr > td::before { display: none !important; }
.woocommerce-cart table.shop_table.cart tr.cart_item { display: grid; grid-template-columns: 88px minmax(0, 1fr) auto; grid-template-areas: "thumb name subtotal" "thumb qty subtotal"; column-gap: 20px; row-gap: 12px; padding: 20px 0; border-bottom: 1px solid var(--lw-border); }
.woocommerce-cart table.shop_table.cart tr.cart_item td { display: block; padding: 0; border: 0; background: #fff; width: auto; }
.woocommerce-cart table.shop_table.cart td.product-thumbnail { grid-area: thumb; }
.woocommerce-cart table.shop_table.cart td.product-thumbnail img { width: 88px; height: 88px; object-fit: contain; background: var(--lw-bg); border-radius: 4px; display: block; }
.woocommerce-cart table.shop_table.cart td.product-name { grid-area: name; }
.woocommerce-cart table.shop_table.cart td.product-name a { font-family: var(--lw-font-head); font-size: 15px; font-weight: 600; line-height: 1.35; color: var(--lw-heading); text-decoration: none; }
.woocommerce-cart table.shop_table.cart td.product-name a:hover { color: var(--lw-brand-dark); text-decoration: underline; }
.woocommerce-cart table.shop_table.cart td.product-name dl.variation { display: block; margin: 6px 0 0; font-family: var(--lw-font-text); font-size: 13px; color: var(--lw-muted); line-height: 1.5; }
.woocommerce-cart table.shop_table.cart td.product-name dl.variation dt, .woocommerce-cart table.shop_table.cart td.product-name dl.variation dd { display: inline; margin: 0; padding: 0; font-weight: 400; border: 0; }
.woocommerce-cart table.shop_table.cart td.product-name dl.variation dd p { display: inline; margin: 0; }
.woocommerce-cart table.shop_table.cart td.product-name dl.variation dd:not(:last-child)::after { content: " / "; }
.woocommerce-cart table.shop_table.cart td.product-price { display: none; }
.woocommerce-cart table.shop_table.cart td.product-remove { display: none; }
.woocommerce-cart table.shop_table.cart td.product-quantity { grid-area: qty; display: flex; align-items: center; gap: 14px; }
.woocommerce-cart table.shop_table.cart td.product-quantity .lw-cart-mb { height: 32px; border-color: var(--lw-border); }
.woocommerce-cart table.shop_table.cart td.product-quantity .lw-cart-mb button { width: 30px; font-size: 16px; }
.woocommerce-cart table.shop_table.cart td.product-quantity .lw-cart-mb input.lw-cart-mb-value { width: 44px; font-size: 13px; }
.woocommerce-cart table.shop_table.cart td.product-quantity .lw-cart-mb .lw-cart-unit { padding: 0 10px 0 0; font-size: 12.5px; }
.woocommerce-cart table.shop_table.cart td.product-quantity .quantity input.qty { height: 32px; width: 64px; border: 1px solid var(--lw-border); text-align: center; font-family: var(--lw-font-head); font-size: 13px; }
.woocommerce-cart table.shop_table.cart a.lw-cart-remove-inline { font-family: var(--lw-font-text); font-size: 12.5px; color: var(--lw-muted); text-decoration: underline; }
.woocommerce-cart table.shop_table.cart a.lw-cart-remove-inline:hover { color: #b3261e; }
.woocommerce-cart table.shop_table.cart td.product-subtotal { grid-area: subtotal; text-align: right; font-family: var(--lw-font-head); font-size: 16px; font-weight: 600; white-space: nowrap; }
.woocommerce-cart table.shop_table.cart td.product-subtotal .lw-unit { font-size: 12px; font-weight: 400; color: var(--lw-muted); }
.woocommerce-cart table.shop_table.cart td.product-subtotal .lw-sub-note { display: block; margin-top: 3px; font-family: var(--lw-font-text); font-size: 12.5px; font-weight: 400; color: var(--lw-muted); }
.woocommerce-cart table.shop_table.cart td.product-subtotal .lw-sub-note:first-of-type { margin-top: 5px; font-family: var(--lw-font-head); font-size: 13px; color: var(--lw-heading); }
.woocommerce-cart table.shop_table.cart tr:last-child td.actions { display: flex; align-items: center; gap: 12px; padding: 16px 24px; margin: 0 -24px; background: var(--lw-bg); border: 0; border-top: 1px solid var(--lw-border); border-radius: 0 0 var(--lw-radius) var(--lw-radius); }
.woocommerce-cart table.shop_table.cart td.actions .coupon { display: flex; gap: 8px; align-items: center; flex: 1 1 auto; }
.woocommerce-cart table.shop_table.cart td.actions .coupon input.input-text { flex: 1 1 auto; width: auto; max-width: 320px; min-width: 160px; height: 40px; }
.woocommerce-cart table.shop_table.cart td.actions .coupon button { height: 40px; }
.woocommerce-cart .cart_totals { padding: 22px 24px 24px; }
.woocommerce-cart .cart_totals table.shop_table th { text-align: left; font-weight: 400; color: var(--lw-muted); font-size: 14px; }
.woocommerce-cart .cart_totals table.shop_table td { text-align: right; font-weight: 600; color: var(--lw-heading); font-size: 14px; }
.woocommerce-cart .cart_totals table.shop_table tr.lw-tot-net td, .woocommerce-cart .cart_totals table.shop_table tr.lw-tot-vat td { font-weight: 400; color: var(--lw-muted); }
.woocommerce-cart .cart_totals table.shop_table tr.order-total th { font-weight: 600; color: var(--lw-heading); }
/* netto/brutto w panelu bocznym i checkout */
.lw-ng .lw-ng-g { color: var(--lw-muted); }
.lw-sc-line small { display: block; font-family: var(--lw-font-text); font-size: 12px; font-weight: 400; color: var(--lw-muted); text-align: right; }
.lw-sc-total-net { margin-top: -8px; }
.lw-sc-total-net strong { font-size: 14px; color: var(--lw-muted); font-weight: 500; }
.lw-co-net { padding: 8px 16px 4px; font-family: var(--lw-font-text); font-size: 13px; color: var(--lw-muted); border-top: 1px solid var(--lw-border); }
.lw-co-net div { display: flex; justify-content: space-between; padding: 3px 0; }
@media (max-width: 640px) {
  .woocommerce-cart table.shop_table.cart { padding: 4px 16px 0; }
  .woocommerce-cart table.shop_table.cart tr.cart_item { grid-template-columns: 72px minmax(0, 1fr); grid-template-areas: "thumb name" "thumb qty" "subtotal subtotal"; column-gap: 14px; }
  .woocommerce-cart table.shop_table.cart td.product-thumbnail img { width: 72px; height: 72px; }
  .woocommerce-cart table.shop_table.cart td.product-subtotal { text-align: left; }
  .woocommerce-cart table.shop_table.cart td.product-subtotal .lw-sc-line small { text-align: left; }
  .woocommerce-cart table.shop_table.cart tr:last-child td.actions { margin: 0 -16px; padding-left: 16px; padding-right: 16px; }
}
/* koszyk v2: poprawki specyficzności */
.woocommerce-cart table.shop_table.cart tr.cart_item td.product-price, .woocommerce-cart table.shop_table.cart tr.cart_item td.product-remove { display: none; }
.woocommerce-cart table.shop_table.cart tr.cart_item td.product-name dl.variation { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 5px; }
.woocommerce-cart table.shop_table.cart tr.cart_item td.product-name dl.variation dt, .woocommerce-cart table.shop_table.cart tr.cart_item td.product-name dl.variation dd { display: inline-block; float: none; clear: none; margin: 0; }
.woocommerce-cart table.shop_table.cart tr.cart_item td.product-quantity .lw-cart-mb input.lw-cart-mb-value { width: 58px; }
.woocommerce-cart table.shop_table.cart td.actions .coupon { float: none; width: auto; }
/* metadane pozycji (odcinek / razem / cena za mb): osobne wiersze, Poppins, bez separatorów */
.woocommerce-cart table.shop_table.cart tr.cart_item td.product-name dl.variation { display: block; margin-top: 8px; font-family: var(--lw-font-head); font-size: 13px; line-height: 1.7; color: #2b3036; }
.woocommerce-cart table.shop_table.cart tr.cart_item td.product-name dl.variation dt { display: inline; color: var(--lw-muted); font-weight: 400; margin: 0; }
.woocommerce-cart table.shop_table.cart tr.cart_item td.product-name dl.variation dd { display: inline; font-weight: 500; margin: 0; }
.woocommerce-cart table.shop_table.cart tr.cart_item td.product-name dl.variation dd::after { content: "" !important; display: block; }
.woocommerce-cart table.shop_table.cart tr.cart_item td.product-name dl.variation dd:not(:last-child)::after { content: "" !important; }
.woocommerce-cart table.shop_table.cart td.product-subtotal .lw-sub-note { font-family: var(--lw-font-head); color: #2b3036; }
.woocommerce-cart table.shop_table.cart td.product-subtotal .lw-sub-note:last-of-type { color: var(--lw-muted); }
.wc-block-components-order-summary-item .wc-block-components-product-details { display: block; margin: 6px 0 0; padding: 0; font-family: var(--lw-font-head); font-size: 12.5px; line-height: 1.65; color: #2b3036; }
.wc-block-components-order-summary-item .wc-block-components-product-details li { display: block; margin: 0; }
.wc-block-components-order-summary-item .wc-block-components-product-details li::after, .wc-block-components-order-summary-item .wc-block-components-product-details li::before { content: none !important; }
.wc-block-components-order-summary-item .wc-block-components-product-details__name { color: var(--lw-muted); font-weight: 400; }
.wc-block-components-order-summary-item .wc-block-components-product-details__value { font-weight: 500; }
.woocommerce-cart table.shop_table.cart tbody > tr:last-child { display: block; }
.woocommerce-cart table.shop_table.cart tbody > tr:last-child td.actions { width: auto; }
/* checkout: metadane w osobnych wierszach (block renderuje spany z " / "), netto pod sumą pozycji */
.wc-block-components-order-summary-item .wc-block-components-product-details > span { display: block; }
.wc-block-components-order-summary-item .wc-block-components-product-details > span > span[aria-hidden] { display: none; }
.wc-block-components-order-summary-item .wc-block-components-order-summary-item__individual-prices { display: none; }
.wc-block-components-order-summary-item .wc-block-components-order-summary-item__total-price { font-weight: 600; }
.wc-block-components-order-summary-item .lw-co-line-net { display: block; margin-top: 2px; font-family: var(--lw-font-text); font-size: 12px; color: var(--lw-muted); text-align: right; white-space: nowrap; }
.wc-block-components-order-summary-item .lw-co-ctrl { flex-wrap: wrap; row-gap: 6px; }
.wc-block-components-order-summary-item .lw-co-ctrl .lw-sc-qty-val { white-space: nowrap; }
.wc-block-components-order-summary-item .wc-block-components-order-summary-item__total-price { display: flex; flex-direction: column; align-items: flex-end; }
.lw-co-net { font-family: var(--lw-font-head); font-size: 13px; }

.lw-side-cart .lw-sc-unit { font-family: var(--lw-font-head); font-size: 12.5px; color: #2b3036; }
.lw-side-cart .lw-sc-unit .lw-ng-g, .lw-side-cart .lw-sc-unit small { color: var(--lw-muted); }
.lw-side-cart .lw-sc-line small, .lw-side-cart .lw-sc-remove, .woocommerce-cart table.shop_table.cart a.lw-cart-remove-inline, .wc-block-components-order-summary-item .lw-co-ctrl button.lw-co-remove, .wc-block-components-order-summary-item .lw-co-line-net { font-family: var(--lw-font-head) !important; }

/* ==== MOBILE STAGE 1 (2026-09-16): koszyk + paginacja ==== */
@media (max-width: 640px) {
  /* koszyk: L874 (.woocommerce-cart .woocommerce { grid-template-columns: minmax(0,1fr) 330px; }) nie ma media query
     i nadpisuje mobilny reset z L838 (900px) -> kolumna formularza kurczyła się do ~12px, stąd cały rozjazd
     (tabela, stepper, tekst "Odcinek/Razem/Cena za mb" łamany po jednym słowie). */
  .woocommerce-cart .woocommerce { grid-template-columns: minmax(0, 1fr); }

  /* koszyk: WooCommerce (woocommerce-smallscreen.css) ukrywa miniaturkę selektorem z #content (specyficzność z ID
     bije każdą liczbę klas) -> trzeba !important, żeby pokazać miniaturkę jak w mockupie. */
  .woocommerce-cart table.shop_table.cart td.product-thumbnail { display: block !important; }

  /* koszyk: reset wymuszonej szerokości kolumny nazwy (L849: min-width:260px) + zawijanie tekstu wariantu */
  .woocommerce-cart table.shop_table.cart td.product-name { min-width: 0; }
  .woocommerce-cart table.shop_table.cart tr.cart_item td.product-name dl.variation,
  .woocommerce-cart table.shop_table.cart tr.cart_item td.product-name dl.variation dd,
  .woocommerce-cart table.shop_table.cart tr.cart_item td.product-name dl.variation dd p { overflow-wrap: anywhere; }
  .woocommerce-cart table.shop_table.cart tr.cart_item td.product-name dl.variation { font-size: 13px; line-height: 1.4; }

  /* koszyk: kroki w jednym rzędzie (3 kółka z numerami + etykiety) zamiast 3 stackowanych kart ~80px każda */
  .lw-steps { display: flex; align-items: flex-start; justify-content: space-between; gap: 4px; margin: 16px 0 18px; }
  .lw-steps li { flex: 1 1 0; display: flex; flex-direction: column; align-items: center; gap: 4px; background: none; border: 0; padding: 0; text-align: center; }
  .lw-steps li .lw-step-no { width: 28px; height: 28px; border-radius: 50%; background: var(--lw-border); color: var(--lw-muted); display: flex; align-items: center; justify-content: center; font-size: 0; }
  .lw-steps li .lw-step-no::after { font-size: 13px; font-weight: 600; }
  .lw-steps li:nth-child(1) .lw-step-no::after { content: "1"; }
  .lw-steps li:nth-child(2) .lw-step-no::after { content: "2"; }
  .lw-steps li:nth-child(3) .lw-step-no::after { content: "3"; }
  .lw-steps li.lw-step-active .lw-step-no,
  .lw-steps li.lw-step-done .lw-step-no { background: var(--lw-brand); color: #fff; box-shadow: none; }
  .lw-steps li .lw-step-title { font-size: 12px; line-height: 1.25; }
  .lw-steps li .lw-step-sub { display: none; }

  /* koszyk: stepper min. 44x44 px (cel dotyku, było ~30x32 px) */
  .woocommerce-cart table.shop_table.cart td.product-quantity .lw-cart-mb { height: 44px; }
  .woocommerce-cart table.shop_table.cart td.product-quantity .lw-cart-mb .lw-cart-minus,
  .woocommerce-cart table.shop_table.cart td.product-quantity .lw-cart-mb .lw-cart-plus { width: 44px; height: 44px; flex-shrink: 0; font-size: 18px; }
  .woocommerce-cart table.shop_table.cart td.product-quantity .lw-cart-mb input.lw-cart-mb-value { width: 44px; height: 44px; font-size: 14px; }

  /* koszyk: karta pozycji v3 (2026-09-16, poprawka po koszyk-after-v2.png: kolumna "auto" sumy zjadała szerokość
     steppera przez długi tekst "1 × ... zł brutto (odcinek ...)" -> [+] i "mb" lądowały pod sumą, niewidoczne).
     Wracamy do 2 kolumn: stepper i suma to osobne pełnoszerokie rzędy pod nazwą (suma wyrównana do prawej),
     "Usuń" jako 44x44 w prawym górnym rogu karty. */
  .woocommerce-cart table.shop_table.cart tr.cart_item {
    position: relative;
    grid-template-columns: 72px minmax(0, 1fr);
    grid-template-areas: "thumb name" "qty qty" "subtotal subtotal";
    row-gap: 10px;
  }
  .woocommerce-cart table.shop_table.cart td.product-quantity { grid-area: qty; padding-left: 0; }
  .woocommerce-cart table.shop_table.cart td.product-subtotal { grid-area: subtotal; text-align: right; }
  .woocommerce-cart table.shop_table.cart td.product-subtotal .lw-sub-note { text-align: right; }
  /* WC (woocommerce-smallscreen.css: .woocommerce table.shop_table_responsive tr td) wymusza text-align:right na mobile - wracamy do lewej */
  .woocommerce-cart table.shop_table.cart td,
  .woocommerce-cart table.shop_table.cart td.product-name,
  .woocommerce-cart table.shop_table.cart td.product-name a,
  .woocommerce-cart table.shop_table.cart td.product-name dl.variation,
  .woocommerce-cart table.shop_table.cart td.product-name dl.variation dt,
  .woocommerce-cart table.shop_table.cart td.product-name dl.variation dd { text-align: left; }
  .woocommerce-cart table.shop_table.cart td.product-name { padding-right: 40px; }
  .woocommerce-cart table.shop_table.cart a.lw-cart-remove-inline {
    position: absolute; top: 8px; right: 8px; width: 44px; height: 44px;
    display: flex; align-items: center; justify-content: center;
    font-size: 0; text-decoration: none; z-index: 2;
  }
  .woocommerce-cart table.shop_table.cart a.lw-cart-remove-inline::after { content: "\00D7"; font-size: 24px; line-height: 1; color: var(--lw-muted); }
  .woocommerce-cart table.shop_table.cart a.lw-cart-remove-inline:hover::after { color: #b3261e; }

  /* koszyk: wiersz akcji (kupon + "Przelicz koszyk") zawijany, bez wypychania w bok */
  .woocommerce-cart table.shop_table.cart tr:last-child td.actions { flex-wrap: wrap; row-gap: 10px; }
  .woocommerce-cart table.shop_table.cart td.actions .coupon { flex: 1 1 100%; }
  .woocommerce-cart table.shop_table.cart td.actions .coupon input.input-text { max-width: none; }
  .woocommerce-cart table.shop_table.cart td.actions button[name="update_cart"] { flex: 1 1 100%; width: 100%; }

  /* paginacja: zawijanie i cele dotyku min. 44x44 px (było ul.page-numbers ~550px przy 390px ekranu) */
  ul.page-numbers { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; max-width: 100%; }
  ul.page-numbers li { display: flex; }
  ul.page-numbers li a.page-numbers,
  ul.page-numbers li span.page-numbers { min-width: 44px; min-height: 44px; display: flex; align-items: center; justify-content: center; padding: 0 4px; box-sizing: border-box; }
}

/* ==== MOBILE STAGE 2 (2026-09-16): sklep + kategoria ==== */
/* Przycisk "Filtry" (kategoria, <=640px): domyslnie ukryty (desktop/tablet), pokazywany w mediaquery.
   Sidebar .lw-shop-filters juz ląduje pod lista (@1000px order:1) - przycisk go rozwija (toggle klasy JS w PHP). */
.lw-filters-toggle { display: none; height: 44px; align-items: center; gap: 6px; padding: 0 16px; border: 1px solid var(--lw-border); border-radius: var(--lw-radius); background: #fff; font-family: var(--lw-font-head); font-size: 14px; font-weight: 500; color: var(--lw-heading); cursor: pointer; }
.lw-filters-toggle:hover { border-color: var(--lw-brand); }

@media (max-width: 640px) {
  /* pasek wyszukiwania: kompaktowa gora (cel <=190px - zmierzone 184px), 1 rzad szukajki (48px, przycisk
     jako sama ikona - font-size:0 chowa tekst "Szukaj" bez ruszania PHP, svg ma wlasne px), chipy w poziomym
     scrollu zamiast zawijania na kilka linii; dekoracyjna fala .lw-bar-profile i select "Dzial" schowane. */
  .lw-bar { padding: 16px max(16px, calc(50vw - 50%)) 14px; }
  .lw-bar-profile { display: none; }
  .lw-bar-grid { gap: 8px; padding-bottom: 0; }
  .lw-bar h1 { font-size: 24px; margin: 0 0 2px; }
  .lw-bar-sub { display: none; }
  .lw-tally { font-size: 13px; gap: 4px; margin: 0 0 8px; }
  .lw-tally b { font-size: 13px; font-weight: 600; }
  .lw-search { height: 48px; }
  .lw-search input[type="search"] { height: 48px; padding: 0 14px; }
  .lw-search select { display: none; }
  .lw-search button, .woocommerce .lw-search button { width: 48px; height: 48px; flex: 0 0 48px; padding: 0; font-size: 0; justify-content: center; gap: 0; }
  .lw-search button svg { width: 18px; height: 18px; }
  .lw-bar-quick { display: flex; flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; scroll-snap-type: x proximity; gap: 8px; margin-top: 10px; padding-bottom: 2px; scrollbar-width: none; }
  .lw-bar-quick::-webkit-scrollbar { display: none; }
  .lw-bar-quick span { flex: 0 0 auto; }
  .lw-bar-quick a { flex: 0 0 auto; scroll-snap-align: start; display: inline-flex; align-items: center; height: 36px; padding: 0 14px; border-radius: 18px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.16); white-space: nowrap; font-size: 13px; }
  .lw-bar-quick a:hover { border-color: var(--lw-brand); }

  /* /sklep/ (kafelki dzialow) i kategoria (karty produktow): 2 kolumny, gap 12px
     (nadpisuje regule z @560px ktora wymuszala 1 kolumne - byla to przyczyna listingu w 1 kolumnie na mobile) */
  .woocommerce ul.products.columns-3, .woocommerce ul.products.columns-4 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px !important; }

  /* kafelki dzialow /sklep/: tytul i licznik mniejsze, mniej paddingu na waskiej karcie 171px */
  .woocommerce ul.products li.product-category .woocommerce-loop-category__title { font-size: 15px; padding: 12px 12px 0; letter-spacing: -0.2px; line-height: 1.25; }
  .woocommerce ul.products li.product-category .lw-cat-all { font-size: 12px; margin: 6px 12px 12px; }

  /* kategoria: karta produktu - mniej paddingu (bylo 22-24px, na 171px karcie zjadalo polowe szerokosci) */
  .woocommerce ul.products li.product .lw-card-cat { padding: 10px 12px 0; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 14px; padding: 6px 12px 0; }
  .woocommerce ul.products li.product a img { padding: 14px; }
  .woocommerce ul.products li.product .price { padding: 0 12px; margin-top: 8px; }
  .woocommerce ul.products li.product .lw-card-price .lw-net,
  .woocommerce ul.products li.product .lw-card-price .lw-gross { white-space: normal; }
  .woocommerce ul.products li.product .lw-card-actions { top: 8px; right: 8px; }
  .woocommerce ul.products li.product .lw-card-code { font-size: 12px; padding: 0 12px 8px; }

  /* kategoria: przycisk "Filtry" widoczny obok sortowania; select sortowania min. 44px (cel dotyku) */
  .lw-filters-toggle { display: inline-flex; }
  .lw-shop-filters { display: none; }
  .lw-shop-filters.lw-filters-open { display: block; margin-top: 8px; }
  .woocommerce .woocommerce-ordering select { min-height: 44px; box-sizing: border-box; }

  /* kategoria: opis (.lw-cat-intro, ~230px) pod paginacje zamiast nad lista - .lw-cat-intro i .lw-shop-layout
     sa rodzenstwem w main.site-main (nie w tym samym flex/grid co produkty), wiec robimy z main.site-main
     kolumne flex tylko na stronie kategorii (body.tax-product_cat) i przestawiamy kolejnosc: .lw-bar i
     .woocommerce-products-header zostaja na "order:0" (domyslnie), .lw-shop-layout (lista+paginacja) - "2",
     .lw-cat-intro - "3" (po paginacji). Cel: pierwszy produkt <=520px od gory (zmierzone 388px). */
  body.tax-product_cat main.site-main { display: flex; flex-direction: column; }
  body.tax-product_cat main.site-main .lw-shop-layout { order: 2; }
  body.tax-product_cat main.site-main .lw-cat-intro { order: 3; margin-top: 24px; }
}

/* ==== MOBILE STAGE 3 (2026-09-16): karta produktu ==== */
.lw-sticky-atc { display: none; }
@media (max-width: 640px) {
  /* 1. Breadcrumb: 1 linia, scroll poziomy zamiast zawijania na 4 linie.
     Uwaga: nav.woocommerce-breadcrumb NIE jest w div.product (renderuje sie na woocommerce_before_main_content,
     przed wrapperem produktu) - selektor bez "div.product", tak jak istniejaca regula desktopowa (L65). */
  .woocommerce .woocommerce-breadcrumb {
    display: block; white-space: nowrap; overflow-x: auto; overflow-y: hidden;
    -webkit-overflow-scrolling: touch; scrollbar-width: none; padding: 10px 0; font-size: 13px;
  }
  .woocommerce .woocommerce-breadcrumb::-webkit-scrollbar { display: none; }

  /* 2. Galeria: miniatury poziomo, scroll-snap, gap 8px (bazowy gap:10px z reguły desktopowej) */
  .woocommerce div.product div.images .flex-control-thumbs { gap: 8px; scroll-snap-type: x mandatory; }
  .woocommerce div.product div.images .flex-control-thumbs li { scroll-snap-align: start; }

  /* 3. Naglowek: eyebrow, H1, meta SKU/EAN kompaktowe */
  .woocommerce div.product .lw-eyebrow { font-size: 12px; margin-bottom: 6px; }
  .woocommerce div.product .product_title { font-size: 22px; line-height: 1.3; margin-bottom: 6px; }
  .woocommerce div.product .product_title .lw-code { font-size: 12px; margin-top: 4px; }
  .woocommerce div.product .product_meta { font-size: 13px; gap: 4px 14px; margin-bottom: 10px; }
  .woocommerce div.product .product_meta .posted_in { display: none; } /* kategoria jest juz w breadcrumb + eyebrow */

  /* 4. Blok cen kompaktowy (cel <=110px). p.price jest flex/wrap z gap:10px (reguła desktopowa) -
     zmniejszamy gap i zerujemy marginesy dzieci, zeby odstepy miedzy wierszami sie nie dublowaly. */
  .woocommerce div.product p.price { margin: 0 0 12px; gap: 2px; row-gap: 2px; }
  .woocommerce div.product p.price .lw-net { display: flex; align-items: baseline; flex-wrap: wrap; gap: 2px 6px; font-size: 28px; line-height: 1.15; font-weight: 600; margin: 0; }
  .woocommerce div.product p.price .lw-net small { font-size: 14px; font-weight: 500; }
  .woocommerce div.product p.price .lw-gross { display: block; font-size: 14px; line-height: 1.25; margin: 0; }
  .woocommerce div.product p.price .lw-piece { font-size: 13px; line-height: 1.25; margin: 0; }
  .woocommerce div.product p.price .lw-omnibus { font-size: 13px; line-height: 1.25; margin-top: 0 !important; }
  .woocommerce div.product p.price .lw-omnibus-low, .woocommerce div.product p.price .lw-omnibus-was { font-size: 13px; }

  /* 5. Ilosc: stepper 44x44 / pole 48px, przycisk dodania pelnej szerokosci */
  .woocommerce div.product .lw-mb-qty { display: block; margin: 0 0 14px; }
  .woocommerce div.product .lw-mb-qty .lw-mb-label { display: block; font-size: 13px; margin-bottom: 8px; }
  .woocommerce div.product .lw-mb-stepper { display: flex; width: 100%; height: 48px; }
  .woocommerce div.product .lw-mb-stepper button { flex: 0 0 44px; width: 44px; height: 44px; align-self: center; font-size: 20px; }
  .woocommerce div.product .lw-mb-stepper input { flex: 1 1 auto; width: auto; height: 48px; font-size: 16px; }
  .woocommerce div.product .lw-mb-qty .lw-mb-calc-text { display: block; width: 100%; margin: 0 0 12px; box-sizing: border-box; font-size: 15px; font-weight: 600; }
  .woocommerce div.product form.cart .quantity .qty { height: 48px; min-height: 48px; font-size: 16px; }
  .woocommerce div.product form.cart .single_add_to_cart_button {
    /* flex:1 desktopowe (flex-basis:0%) w kontenerze column ignoruje "height" - trzeba nadpisac flex-basis/-grow/-shrink */
    flex: none; width: 100%; min-width: 0; height: 48px; display: flex; align-items: center; justify-content: center; padding: 0 24px !important;
  }

  /* 7. Akordeon: tabela atrybutow 2 kolumny bez scrolla poziomego.
     WooCommerce ma wlasna regule responsywna, ktora zmienia tr/th/td na display:block (stackowanie
     pod soba, width wtedy ignorowany) - trzeba wymusic z powrotem uklad tabelaryczny !important. */
  .woocommerce table.shop_attributes { table-layout: fixed !important; width: 100% !important; font-size: 13px; }
  .woocommerce table.shop_attributes tr { display: table-row !important; }
  .woocommerce table.shop_attributes th { display: table-cell !important; width: 40% !important; overflow-wrap: anywhere; padding: 10px 12px; }
  .woocommerce table.shop_attributes td { display: table-cell !important; width: 60% !important; overflow-wrap: anywhere; padding: 10px 12px; }

  /* 6. Sticky pasek "Dodaj do koszyka" */
  .lw-sticky-atc {
    display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 60;
    align-items: center; justify-content: space-between; gap: 12px;
    background: #fff; box-shadow: 0 -2px 10px rgba(13,18,24,.08);
    padding: 10px 16px calc(10px + env(safe-area-inset-bottom));
    transform: translateY(100%); transition: transform .2s ease;
  }
  .lw-sticky-atc.is-visible { transform: translateY(0); }
  .lw-sticky-atc-price { font-family: var(--lw-font-head); font-size: 15px; font-weight: 600; color: var(--lw-heading); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .lw-sticky-atc-btn { flex: 0 0 auto; height: 44px; padding: 0 20px; border: 0; border-radius: var(--lw-radius); background: var(--lw-brand); color: #fff; font-family: var(--lw-font-head); font-weight: 600; font-size: 14px; }
}

/* --- Polszczyzna: bez Title Case (2026-09-27). Kit Elementora i Metform dają przyciskom text-transform: capitalize
   („Wyślij Zamówienie Do…”); teksty w źródle są już zapisane zdaniowo. --- */
.elementor-button, .e-n-tab-title, .metform-btn, .lw-sticky-atc-btn, .woocommerce .checkout-button, .lw-btn-secondary,
.woocommerce #place_order, .woocommerce-MyAccount-content h2, .woocommerce-MyAccount-content h3 { text-transform: none !important; }

/* 2026-09-28: jedna kolumna = minmax(0,1fr) (wyżej), dzieci siatek z min-width 0 – przewijane rzędy (Najczęściej:, galeria) nie rozpychają strony na telefonie */
@media (max-width: 900px) {
  .lw-bar-grid > *, .lw-shop-layout > *, .woocommerce-cart .woocommerce > * { min-width: 0; }
}
