/* =============================================================================
   woocommerce.css — sklep: listing, karta produktu, koszyk, zamówienie, moje konto.
   Ładowany po arkuszach WooCommerce (nadpisania wygrywają kolejnością + specyficznością).
   Wszystkie wartości wizualne przez tokeny z tokens.css. Brak literalnych kolorów i fontów.
   ============================================================================= */

/* ---- Strony WC renderowane przez page.php: szeroki kontener ------------------ */
.woocommerce-cart .entry-content,
.woocommerce-checkout .entry-content,
.woocommerce-account .entry-content { max-width: none; }
.woocommerce-cart .entry-content a, .woocommerce-checkout .entry-content a, .woocommerce-account .entry-content a { text-decoration: none; }
.woocommerce-notices-wrapper:empty { display: none; }

/* ---- Ścieżka nawigacji -------------------------------------------------------- */
.breadcrumb { display: flex; flex-wrap: wrap; gap: var(--space-2); margin: 0 0 var(--space-3); font-size: var(--text-sm); color: var(--color-text-muted); }
.breadcrumb a { display: inline-block; padding-block: 0.375rem; margin-block: -0.375rem; color: inherit; text-decoration: none; }
.breadcrumb a:hover { color: var(--color-brown); text-decoration: underline; }
.breadcrumb__sep { opacity: 0.5; }
.shop--single .breadcrumb { margin: var(--space-5) 0 var(--space-6); }

/* ---- Nagłówek listingu --------------------------------------------------------- */
.page-header--shop { padding-block: var(--space-6) var(--space-5); }
.page-header--shop .page-header__title { margin-bottom: var(--space-2); }
.page-header__lead:empty { display: none; }
.page-header__lead { max-width: var(--container-narrow); }
.page-header__lead p:last-child { margin-bottom: 0; }
.shop-categories { margin-bottom: var(--space-7); }
.shop-toolbar {
  display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); flex-wrap: wrap;
  margin-bottom: var(--space-5); padding-bottom: var(--space-3); border-bottom: 1px solid var(--color-border);
}
.woocommerce .shop-toolbar .woocommerce-result-count,
.woocommerce .shop-toolbar .woocommerce-ordering { float: none; margin: 0; }
.woocommerce-result-count { color: var(--color-text-muted); font-size: var(--text-sm); }
.woocommerce .woocommerce-ordering select { width: auto; padding: 0.5em 2.4em 0.5em 0.9em; font-size: var(--text-sm); }

/* ---- Przyciski WC = .btn motywu ------------------------------------------------ */
.woocommerce #respond input#submit, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit.alt, .woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt,
.woocommerce-page a.button, .woocommerce-page button.button, .woocommerce-page input.button {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2);
  padding: 0.85em 1.5em; margin: 0;
  font-family: var(--font-heading); font-weight: var(--font-weight-semibold); font-size: var(--text-sm);
  letter-spacing: 0.01em; line-height: 1.2; text-decoration: none; cursor: pointer;
  border: 2px solid transparent; border-radius: var(--radius);
  background: var(--color-primary); color: var(--color-on-primary);
  transition: background var(--transition), color var(--transition), border-color var(--transition), transform var(--transition);
}
.woocommerce #respond input#submit:hover, .woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover,
.woocommerce #respond input#submit.alt:hover, .woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover, .woocommerce input.button.alt:hover {
  background: var(--color-primary-hover); color: var(--color-on-primary); transform: translateY(-1px);
}
.woocommerce a.button.disabled, .woocommerce a.button:disabled, .woocommerce a.button:disabled[disabled],
.woocommerce button.button.disabled, .woocommerce button.button:disabled, .woocommerce button.button:disabled[disabled],
.woocommerce input.button.disabled, .woocommerce input.button:disabled, .woocommerce input.button:disabled[disabled],
.woocommerce #respond input#submit.disabled, .woocommerce a.button.alt.disabled, .woocommerce button.button.alt.disabled, .woocommerce input.button.alt.disabled,
.woocommerce a.button.alt:disabled, .woocommerce button.button.alt:disabled, .woocommerce input.button.alt:disabled {
  background: var(--color-primary); color: var(--color-on-primary); opacity: 0.55; padding: 0.85em 1.5em; cursor: not-allowed; transform: none;
}
.woocommerce a.button.loading::after, .woocommerce button.button.loading::after { color: var(--color-on-primary); }
/* przyciski drugorzędne: „zobacz koszyk”, „aktualizuj koszyk”, „wróć do sklepu” */
.woocommerce a.added_to_cart, .woocommerce .return-to-shop a.button, .woocommerce table.cart td.actions .button:not(.wc-forward),
.woocommerce .woocommerce-message .button, .woocommerce .woocommerce-info .button, .woocommerce .woocommerce-error .button {
  background: transparent; color: var(--color-primary); border-color: var(--color-primary);
}
.woocommerce a.added_to_cart:hover, .woocommerce .return-to-shop a.button:hover, .woocommerce table.cart td.actions .button:not(.wc-forward):hover,
.woocommerce .woocommerce-message .button:hover, .woocommerce .woocommerce-info .button:hover, .woocommerce .woocommerce-error .button:hover {
  background: var(--color-primary); color: var(--color-on-primary);
}
.woocommerce a.added_to_cart {
  display: inline-flex; align-items: center; justify-content: center; padding: 0.85em 1.5em; margin-top: var(--space-2);
  font-family: var(--font-heading); font-weight: var(--font-weight-semibold); font-size: var(--text-sm); line-height: 1.2;
  border: 2px solid var(--color-primary); border-radius: var(--radius); text-decoration: none;
}

/* ---- Komunikaty --------------------------------------------------------------- */
.woocommerce-message, .woocommerce-info, .woocommerce-error {
  background: var(--color-surface); color: var(--color-text);
  border: 1px solid var(--color-border); border-top: 3px solid var(--color-kraft); border-radius: var(--radius);
  margin-bottom: var(--space-5); padding: var(--space-4) var(--space-5);
}
/* ikony z fontu WooCommerce (glify nie renderują się poprawnie) — kolor mówi o typie komunikatu */
.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before { display: none; content: none; }
.woocommerce-message { border-top-color: var(--color-success); }
.woocommerce-error { border-top-color: var(--color-error); }
.woocommerce-message::before { color: var(--color-success); }
.woocommerce-info::before { color: var(--color-kraft); }
.woocommerce-error::before { color: var(--color-error); }
.woocommerce-message .button, .woocommerce-info .button, .woocommerce-error .button { margin-left: var(--space-4); }
.woocommerce-error li { margin-bottom: var(--space-1); }

/* ---- Siatka produktów (grid zamiast floatów WC) ------------------------------- */
.woocommerce ul.products, .woocommerce-page ul.products {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-4);
  margin: 0 0 var(--space-6); padding: 0; list-style: none;
}
.woocommerce ul.products::before, .woocommerce ul.products::after,
.woocommerce-page ul.products::before, .woocommerce-page ul.products::after { display: none; content: none; }
.woocommerce ul.products[class*="columns-"] li.product, .woocommerce-page ul.products[class*="columns-"] li.product,
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product {
  float: none; width: auto; margin: 0; clear: none; position: relative;
  display: flex; flex-direction: column;
  background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-lg); overflow: hidden;
  transition: transform 0.3s var(--motion-ease), box-shadow 0.3s var(--motion-ease), border-color var(--transition);
}
.woocommerce ul.products li.product:hover, .woocommerce-page ul.products li.product:hover { transform: translateY(-3px); box-shadow: var(--shadow); border-color: var(--color-kraft); }
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link { display: flex; flex-direction: column; flex: 1 0 auto; color: inherit; text-decoration: none; }
.product-card__media {
  display: block; position: relative; aspect-ratio: var(--product-media-ratio);
  background: var(--product-media-bg); border-bottom: 1px solid var(--color-border); overflow: hidden;
}
.woocommerce ul.products li.product .product-card__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; margin: 0; box-shadow: none; }
.product-card__cat {
  display: block; margin: var(--space-4) var(--space-4) var(--space-1);
  font-family: var(--font-heading); font-weight: var(--font-weight-semibold); font-size: var(--text-xs);
  text-transform: uppercase; letter-spacing: var(--letter-spacing-caps); color: var(--color-accent);
}
.woocommerce ul.products li.product .woocommerce-loop-product__title, .woocommerce ul.products li.product h2 {
  font-family: var(--font-heading); font-weight: var(--font-weight-semibold); font-size: var(--text-base); line-height: 1.35;
  color: var(--color-text); padding: 0; margin: 0 var(--space-4) var(--space-3); text-wrap: pretty;
}
.woocommerce ul.products li.product .price {
  display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--space-2);
  margin: auto var(--space-4) var(--space-3); color: var(--price-color);
  font-family: var(--font-heading); font-weight: var(--font-weight-heading); font-size: var(--text-lg);
}
.woocommerce ul.products li.product .price del { color: var(--color-text-muted); font-weight: var(--font-weight-body); font-size: var(--text-sm); opacity: 1; }
.woocommerce ul.products li.product .price ins { text-decoration: none; font-weight: inherit; }
.woocommerce ul.products li.product .button, .woocommerce ul.products li.product .added_to_cart { margin: 0 var(--space-4) var(--space-4); }
.woocommerce ul.products li.product .button { margin-top: 0; }
.woocommerce ul.products li.product .added_to_cart { margin-top: calc(var(--space-2) - var(--space-4)); }
.woocommerce ul.products li.product .star-rating { margin: 0 var(--space-4) var(--space-2); }
.woocommerce .star-rating span::before, .woocommerce .star-rating::before { color: var(--star-color); }

/* plakietka promocji (także nadpisanie pozycji WC na listach: .woocommerce ul.products li.product .onsale) */
.woocommerce span.onsale, .woocommerce ul.products li.product .onsale, .woocommerce-page ul.products li.product .onsale {
  position: absolute; top: var(--space-3); left: var(--space-3); right: auto; bottom: auto; z-index: 2; margin: 0;
  min-height: 0; min-width: 0; width: auto; height: auto; line-height: 1.2; padding: 0.4em 0.75em;
  border-radius: var(--radius-pill); background: var(--badge-bg); color: var(--badge-text);
  font-family: var(--font-heading); font-size: var(--text-xs); font-weight: var(--font-weight-semibold);
  text-transform: uppercase; letter-spacing: var(--letter-spacing-caps);
}

/* placeholder zamiast zdjęcia: ikona kategorii na papierowym tle */
.wc-placeholder { position: absolute; inset: 0; display: grid; place-items: center; color: var(--product-placeholder); background: var(--product-media-bg); }
.wc-placeholder__icon { width: 36%; height: 36%; max-width: 120px; max-height: 120px; }

/* paginacja WC */
.woocommerce nav.woocommerce-pagination { text-align: center; margin-top: var(--space-6); }
.woocommerce nav.woocommerce-pagination ul { display: inline-flex; gap: var(--space-2); border: 0; margin: 0; padding: 0; white-space: normal; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; margin: 0; padding: 0; float: none; overflow: visible; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span {
  display: inline-flex; min-width: 40px; height: 40px; align-items: center; justify-content: center; padding-inline: var(--space-3);
  border-radius: var(--radius); border: 1px solid var(--color-border); background: var(--color-surface); color: var(--color-text); text-decoration: none; line-height: 1;
}
.woocommerce nav.woocommerce-pagination ul li a:hover, .woocommerce nav.woocommerce-pagination ul li a:focus { background: var(--color-paper); color: var(--color-brown); }
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--color-primary); color: var(--color-on-primary); border-color: var(--color-primary); }

/* ---- Karta produktu ------------------------------------------------------------ */
.woocommerce div.product { position: relative; display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: var(--space-6) var(--space-7); align-items: start; }
.woocommerce div.product div.images, .woocommerce div.product div.summary { float: none; width: auto; margin: 0; }
.woocommerce div.product .woocommerce-tabs, .woocommerce div.product section.related, .woocommerce div.product section.up-sells { grid-column: 1 / -1; }
.woocommerce div.product span.onsale { top: var(--space-4); left: var(--space-4); }
.woocommerce div.product div.images img { border-radius: var(--radius-lg); border: 1px solid var(--color-border); }
.woocommerce div.product div.images .woocommerce-product-gallery__image--placeholder { position: relative; aspect-ratio: 1; border-radius: var(--radius-lg); border: 1px solid var(--color-border); overflow: hidden; }
.woocommerce div.product div.images .woocommerce-product-gallery__image--placeholder .wc-placeholder--single .wc-placeholder__icon { width: 30%; height: 30%; max-width: 160px; max-height: 160px; }
.woocommerce div.product div.images .flex-control-thumbs { display: flex; gap: var(--space-2); margin-top: var(--space-2); }
.woocommerce div.product div.images .flex-control-thumbs li { float: none; width: 80px; }
.woocommerce div.product div.images .flex-control-thumbs img { border-radius: var(--radius); opacity: 0.6; }
.woocommerce div.product div.images .flex-control-thumbs img.flex-active, .woocommerce div.product div.images .flex-control-thumbs img:hover { opacity: 1; border-color: var(--color-kraft); }

.woocommerce div.product .product_title { font-size: var(--text-3xl); margin-bottom: var(--space-3); }
.woocommerce div.product p.price, .woocommerce div.product span.price {
  color: var(--price-color); font-family: var(--font-heading); font-weight: var(--font-weight-heading); font-size: var(--text-2xl);
  display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--space-3); margin-bottom: var(--space-4);
}
.woocommerce div.product p.price del, .woocommerce div.product span.price del { color: var(--color-text-muted); font-weight: var(--font-weight-body); font-size: var(--text-lg); opacity: 1; }
.woocommerce div.product p.price ins, .woocommerce div.product span.price ins { text-decoration: none; font-weight: inherit; }
.woocommerce div.product .woocommerce-product-details__short-description { color: var(--color-text-muted); font-size: var(--text-lg); }
.woocommerce div.product .woocommerce-product-details__short-description p:last-child { margin-bottom: var(--space-5); }

.product-specs { margin: 0 0 var(--space-5); border: 1px solid var(--color-border); border-radius: var(--radius); background: var(--color-surface); overflow: hidden; }
.product-specs__row { display: flex; justify-content: space-between; gap: var(--space-4); padding: var(--space-2) var(--space-4); border-top: 1px solid var(--color-border); font-size: var(--text-sm); }
.product-specs__row:first-child { border-top: 0; }
.product-specs dt { margin: 0; color: var(--color-text-muted); }
.product-specs dd { margin: 0; font-weight: var(--font-weight-semibold); text-align: right; }

.woocommerce div.product form.cart {
  display: flex; flex-wrap: wrap; align-items: stretch; gap: var(--space-3);
  margin-bottom: var(--space-5); padding: var(--space-4); background: var(--color-paper); border-radius: var(--radius-lg);
}
.woocommerce div.product form.cart div.quantity, .woocommerce div.product form.cart .button { float: none; margin: 0; }
.woocommerce div.product form.cart .button { flex: 1 1 200px; font-size: var(--text-base); padding: 0.9em 1.5em; }
.woocommerce div.quantity input.qty, .woocommerce td.product-quantity div.quantity input.qty { width: 5.5em; height: 100%; text-align: center; padding: 0.75em 0.5em; }
.woocommerce div.product p.stock { font-size: var(--text-sm); margin-bottom: var(--space-4); }
.woocommerce div.product .stock.in-stock, .woocommerce .stock.in-stock { color: var(--color-success); }
.woocommerce div.product .stock.out-of-stock, .woocommerce .stock.out-of-stock { color: var(--color-error); }
.woocommerce div.product .product_meta {
  display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-5);
  padding-top: var(--space-4); border-top: 1px solid var(--color-border);
  font-size: var(--text-sm); color: var(--color-text-muted);
}
.woocommerce div.product .product_meta a { color: var(--color-accent); }

/* zakładki: podkreślenie zamiast „kartek” WC */
.woocommerce div.product .woocommerce-tabs { margin-top: var(--space-6); }
.woocommerce div.product .woocommerce-tabs ul.tabs { display: flex; gap: var(--space-2); overflow-x: auto; padding: 0; margin: 0 0 var(--space-5); border-bottom: 1px solid var(--color-border); }
.woocommerce div.product .woocommerce-tabs ul.tabs::before, .woocommerce div.product .woocommerce-tabs ul.tabs::after { display: none; content: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { position: relative; display: block; margin: 0; padding: 0; background: none; border: 0; border-radius: 0; box-shadow: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; content: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  display: block; padding: var(--space-3) var(--space-4); margin-bottom: -1px; white-space: nowrap;
  font-family: var(--font-heading); font-weight: var(--font-weight-medium); color: var(--color-text-muted); text-decoration: none;
  border-bottom: 3px solid transparent; transition: color var(--transition), border-color var(--transition);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover { color: var(--color-brown); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--color-brown); border-bottom-color: var(--color-kraft); }
.woocommerce div.product .woocommerce-tabs .panel { margin: 0; padding: 0; max-width: var(--container-narrow); }
.woocommerce div.product .woocommerce-tabs .panel > h2:first-child { font-size: var(--text-xl); margin-bottom: var(--space-4); }
.woocommerce table.shop_attributes { border: 1px solid var(--color-border); border-collapse: separate; border-spacing: 0; border-radius: var(--radius); overflow: hidden; margin: 0; }
.woocommerce table.shop_attributes th { width: 34%; padding: var(--space-3) var(--space-4); background: var(--color-paper); font-weight: var(--font-weight-semibold); color: var(--color-text); border: 0; }
.woocommerce table.shop_attributes td { padding: var(--space-3) var(--space-4); font-style: normal; border: 0; }
.woocommerce table.shop_attributes tr + tr th, .woocommerce table.shop_attributes tr + tr td { border-top: 1px solid var(--color-border); }
.woocommerce table.shop_attributes tr:nth-child(even) th, .woocommerce table.shop_attributes tr:nth-child(even) td { background: transparent; }
.woocommerce table.shop_attributes tr:nth-child(even) th { background: var(--color-paper); }
.woocommerce table.shop_attributes td p { margin: 0; padding: 0; }

.woocommerce div.product section.related, .woocommerce div.product section.up-sells { margin-top: var(--space-8); }
.woocommerce .related > h2, .woocommerce .up-sells > h2, .woocommerce .cross-sells > h2 { font-size: var(--text-2xl); margin-bottom: var(--space-5); }

/* ---- Tabele WC (koszyk, zamówienia w koncie) ------------------------------------ */
.woocommerce table.shop_table {
  width: 100%; margin: 0 0 var(--space-5); border: 1px solid var(--color-border); border-collapse: separate; border-spacing: 0;
  border-radius: var(--radius-lg); background: var(--color-surface); overflow: hidden;
}
.woocommerce table.shop_table th { padding: var(--space-3) var(--space-4); font-weight: var(--font-weight-semibold); line-height: 1.4; }
.woocommerce table.shop_table thead th {
  background: var(--color-paper); font-family: var(--font-heading); font-size: var(--text-xs);
  text-transform: uppercase; letter-spacing: var(--letter-spacing-caps); color: var(--color-text-muted);
}
.woocommerce table.shop_table td { padding: var(--space-4); border-top: 1px solid var(--color-border); vertical-align: middle; }
.woocommerce table.shop_table tfoot th, .woocommerce table.shop_table tfoot td { border-top: 1px solid var(--color-border); font-weight: var(--font-weight-semibold); }
.woocommerce table.shop_table td.product-name a { color: var(--color-text); font-weight: var(--font-weight-semibold); text-decoration: none; }
.woocommerce table.shop_table td.product-name a:hover { color: var(--color-brown); }
.woocommerce table.shop_table td.product-name .variation, .woocommerce table.shop_table td.product-name .product-quantity { color: var(--color-text-muted); font-weight: var(--font-weight-body); }
.woocommerce table.shop_table td.product-price, .woocommerce table.shop_table td.product-subtotal, .woocommerce table.shop_table td.product-total { font-weight: var(--font-weight-semibold); white-space: nowrap; }
.woocommerce #content table.cart img, .woocommerce table.cart img { width: 72px; height: 72px; object-fit: cover; border-radius: var(--radius); border: 1px solid var(--color-border); }
.woocommerce table.cart .wc-placeholder { position: relative; inset: auto; width: 72px; height: 72px; border-radius: var(--radius); border: 1px solid var(--color-border); }
.woocommerce table.cart .wc-placeholder__icon { width: 32px; height: 32px; }
.woocommerce table.cart td.product-remove { width: 2.5em; padding-right: 0; }
.woocommerce table.cart td.product-thumbnail { width: 88px; }
/* „×” usuń: cel dotykowy 40×40 (WC daje 1em×1em ≈ 24 px) */
.woocommerce a.remove { display: inline-grid; place-items: center; width: 40px; height: 40px; line-height: 1; color: var(--color-text-muted) !important; font-weight: var(--font-weight-body); transition: background var(--transition), color var(--transition); }
.woocommerce a.remove:hover { background: var(--color-error); color: var(--color-on-primary) !important; }
.woocommerce table.cart td.actions { padding: var(--space-4); background: var(--color-paper); }
.woocommerce table.cart td.actions .coupon { display: flex; gap: var(--space-2); float: left; }
.woocommerce table.cart td.actions .coupon label { display: none; }
.woocommerce #content table.cart td.actions .input-text, .woocommerce table.cart td.actions .input-text { width: 220px; float: none; margin: 0; padding: 0.7em 1em; }
.woocommerce table.cart td.actions > .button { float: right; }

/* ---- Koszyk -------------------------------------------------------------------- */
.woocommerce-cart .woocommerce:has(.woocommerce-cart-form) { display: grid; grid-template-columns: minmax(0, 1fr) var(--shop-summary-width); gap: var(--space-6); align-items: start; }
.woocommerce-cart .woocommerce:has(.woocommerce-cart-form) .woocommerce-notices-wrapper { grid-column: 1 / -1; }
.woocommerce-cart .woocommerce-cart-form { grid-column: 1; min-width: 0; }
.woocommerce-cart .woocommerce-cart-form table.shop_table { margin-bottom: 0; }
.woocommerce .cart-collaterals { grid-column: 2; width: auto; min-width: 0; }
.woocommerce .cart-collaterals::before, .woocommerce .cart-collaterals::after { display: none; content: none; }
.woocommerce .cart-collaterals .cart_totals, .woocommerce-page .cart-collaterals .cart_totals {
  float: none; width: auto; position: sticky; top: calc(var(--header-height) + var(--space-4));
  padding: var(--space-5); background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-lg);
}
.woocommerce .cart-collaterals .cart_totals h2 { font-size: var(--text-xl); margin-bottom: var(--space-3); }
.woocommerce .cart-collaterals .cart_totals table.shop_table, .woocommerce table.woocommerce-checkout-review-order-table {
  border: 0; border-radius: 0; background: transparent; margin: 0 0 var(--space-4); overflow: visible; table-layout: auto;
}
.woocommerce .cart_totals table.shop_table th, .woocommerce .cart_totals table.shop_table td,
.woocommerce table.woocommerce-checkout-review-order-table th, .woocommerce table.woocommerce-checkout-review-order-table td {
  padding: var(--space-3) var(--space-1); border-top: 0; border-bottom: 1px solid var(--color-border); background: transparent; vertical-align: top; overflow: visible;
}
.woocommerce table.woocommerce-checkout-review-order-table td.product-name { padding-right: var(--space-4); }
.woocommerce .cart_totals table.shop_table th, .woocommerce table.woocommerce-checkout-review-order-table tbody th,
.woocommerce table.woocommerce-checkout-review-order-table tfoot th { width: auto; font-weight: var(--font-weight-medium); color: var(--color-text-muted); }
.woocommerce .cart_totals table.shop_table td, .woocommerce table.woocommerce-checkout-review-order-table td { text-align: right; }
.woocommerce .cart_totals .order-total th, .woocommerce .cart_totals .order-total td,
.woocommerce table.woocommerce-checkout-review-order-table .order-total th, .woocommerce table.woocommerce-checkout-review-order-table .order-total td {
  border-bottom: 0; padding-top: var(--space-4); font-family: var(--font-heading); font-size: var(--text-lg); font-weight: var(--font-weight-heading); color: var(--color-text);
}
.woocommerce .cart_totals .order-total td .amount, .woocommerce table.woocommerce-checkout-review-order-table .order-total td .amount { color: var(--price-color); }
.woocommerce ul#shipping_method, .woocommerce ul.woocommerce-shipping-methods { list-style: none; margin: 0; padding: 0; text-align: left; }
.woocommerce ul#shipping_method li, .woocommerce ul.woocommerce-shipping-methods li { display: flex; align-items: baseline; gap: var(--space-2); margin: 0 0 var(--space-1); padding: 0; text-indent: 0; }
.woocommerce ul#shipping_method li input { margin: 0; flex: none; position: relative; top: 0.1em; }
.woocommerce ul#shipping_method li label { display: inline; }
.woocommerce ul#shipping_method .amount { font-weight: var(--font-weight-semibold); }
.woocommerce-shipping-destination { font-size: var(--text-xs); color: var(--color-text-muted); }
.woocommerce .cart_totals .woocommerce-shipping-totals td, .woocommerce table.woocommerce-checkout-review-order-table .woocommerce-shipping-totals td { text-align: left; }
.woocommerce-shipping-calculator { margin-top: var(--space-2); }
.woocommerce-cart .wc-proceed-to-checkout { padding: 0; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button { display: flex; width: 100%; margin: 0; padding: 1em; font-size: var(--text-base); }
.woocommerce .cart-empty.woocommerce-info { text-align: center; padding: var(--space-6); font-size: var(--text-lg); }
.woocommerce .cart-empty.woocommerce-info::before { display: none; }
.woocommerce .return-to-shop { text-align: center; }
.woocommerce .cross-sells { grid-column: 1 / -1; margin-top: var(--space-6); }

/* ---- Zamówienie (klasyczny checkout) ------------------------------------------- */
.woocommerce-checkout form.checkout.woocommerce-checkout { display: grid; grid-template-columns: minmax(0, 1fr) var(--shop-summary-width); gap: var(--space-6) var(--space-7); align-items: start; }
.checkout-details { min-width: 0; }
.checkout-summary {
  min-width: 0; position: sticky; top: calc(var(--header-height) + var(--space-4));
  padding: var(--space-5); background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-lg);
}
.woocommerce-checkout #order_review_heading { font-size: var(--text-xl); margin: 0 0 var(--space-3); }
.woocommerce-checkout .col2-set .col-1, .woocommerce-checkout .col2-set .col-2, .woocommerce-page.woocommerce-checkout .col2-set .col-1, .woocommerce-page.woocommerce-checkout .col2-set .col-2 { float: none; width: 100%; }
.woocommerce-checkout .woocommerce-billing-fields, .woocommerce-checkout .woocommerce-shipping-fields, .woocommerce-checkout .woocommerce-additional-fields { margin-bottom: var(--space-6); }
.woocommerce-checkout .checkout-details h3 { font-size: var(--text-xl); margin: 0 0 var(--space-4); }
.woocommerce-checkout #ship-to-different-address { font-size: var(--text-lg); }
.woocommerce-checkout #ship-to-different-address label { display: inline-flex; align-items: center; gap: var(--space-2); cursor: pointer; }
.woocommerce form .form-row { margin: 0 0 var(--space-3); padding: 0; }
.woocommerce form .form-row label { line-height: 1.5; font-size: var(--text-sm); font-weight: var(--font-weight-medium); margin-bottom: var(--space-1); }
.woocommerce form .form-row .required { color: var(--color-error); text-decoration: none; border: 0; }
.woocommerce form .form-row .optional { color: var(--color-text-muted); font-weight: var(--font-weight-body); }
.woocommerce form .form-row .input-text, .woocommerce form .form-row select { padding: 0.75em 1em; }
.woocommerce form .form-row.woocommerce-invalid .select2-container, .woocommerce form .form-row.woocommerce-invalid input.input-text, .woocommerce form .form-row.woocommerce-invalid select { border-color: var(--color-error); }
.woocommerce form .form-row.woocommerce-validated .select2-container, .woocommerce form .form-row.woocommerce-validated input.input-text, .woocommerce form .form-row.woocommerce-validated select { border-color: var(--color-success); }
.woocommerce form .form-row .woocommerce-input-wrapper strong { display: block; padding: 0.75em 1em; background: var(--color-paper); border-radius: var(--radius); font-weight: var(--font-weight-medium); }
.woocommerce form .form-row .woocommerce-input-wrapper .description { color: var(--color-text-muted); }
.woocommerce form.checkout_coupon, .woocommerce form.login, .woocommerce form.register { margin: 0 0 var(--space-5); padding: var(--space-5); border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: var(--color-surface); }
.woocommerce form.checkout_coupon { display: flex; flex-wrap: wrap; gap: var(--space-3); align-items: end; }
.woocommerce form.checkout_coupon p:first-child { flex: 1 1 100%; margin: 0; color: var(--color-text-muted); }
.woocommerce form.checkout_coupon .form-row { flex: 1 1 200px; margin: 0; float: none; width: auto; }
.woocommerce form.checkout_coupon .form-row-last { flex: 0 0 auto; }
.woocommerce-form-login-toggle .woocommerce-info, .woocommerce-form-coupon-toggle .woocommerce-info { margin-bottom: var(--space-3); }
.woocommerce-checkout #payment, .woocommerce-checkout #payment.woocommerce-checkout-payment { background: transparent; border: 0; border-radius: 0; }
.woocommerce-checkout #payment ul.payment_methods { display: flex; flex-direction: column; gap: var(--space-2); padding: 0 0 var(--space-4); margin: 0; border-bottom: 1px solid var(--color-border); list-style: none; }
.woocommerce-checkout #payment ul.payment_methods li { margin: 0; padding: var(--space-3) var(--space-4); line-height: 1.5; background: var(--color-paper); border: 1px solid var(--color-border); border-radius: var(--radius); }
.woocommerce-checkout #payment ul.payment_methods li input[type="radio"] { margin: 0 var(--space-2) 0 0; }
.woocommerce-checkout #payment ul.payment_methods li label { display: inline; font-weight: var(--font-weight-medium); cursor: pointer; }
.woocommerce-checkout #payment ul.payment_methods li img { max-height: 24px; margin-left: var(--space-2); }
.woocommerce-checkout #payment div.payment_box { margin: var(--space-3) 0 0; padding: var(--space-3) var(--space-4); background: var(--color-surface); color: var(--color-text-muted); font-size: var(--text-sm); border-radius: var(--radius); }
.woocommerce-checkout #payment div.payment_box::before { display: none; }
.woocommerce-checkout #payment div.payment_box p:last-child { margin: 0; }
.woocommerce-checkout #payment div.form-row.place-order { padding: var(--space-4) 0 0; margin: 0; }
.woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper, .woocommerce-privacy-policy-text { font-size: var(--text-sm); color: var(--color-text-muted); }
.woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper .form-row { margin-bottom: var(--space-3); }
.woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper label { display: inline; font-size: var(--text-sm); }
.woocommerce #payment #place_order, .woocommerce-page #payment #place_order { float: none; width: 100%; padding: 1em; font-size: var(--text-base); }
.woocommerce table.woocommerce-checkout-review-order-table thead th { background: transparent; padding-top: 0; }
.woocommerce table.woocommerce-checkout-review-order-table td.product-name { text-align: left; font-weight: var(--font-weight-medium); }
.woocommerce table.woocommerce-checkout-review-order-table td.product-total, .woocommerce table.woocommerce-checkout-review-order-table tfoot td { white-space: nowrap; }
.woocommerce-checkout .woocommerce-NoticeGroup { grid-column: 1 / -1; }

/* select2 (kraj / województwo) w stylu pól motywu */
.woocommerce .select2-container .select2-selection--single { height: auto; padding: 0.75em 2.2em 0.75em 1em; background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius); }
.woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered { line-height: inherit; padding: 0; color: var(--color-text); }
.woocommerce .select2-container--default .select2-selection--single .select2-selection__arrow { height: 100%; right: 0.6em; }
.select2-dropdown { border-color: var(--color-border); border-radius: var(--radius); }
.select2-container--default .select2-results__option--highlighted[aria-selected] { background: var(--color-brown); }

/* ---- Moje konto ------------------------------------------------------------------ */
.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) { display: grid; grid-template-columns: var(--account-nav-width) minmax(0, 1fr); gap: var(--space-7); align-items: start; }
.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) .woocommerce-notices-wrapper { grid-column: 1 / -1; }
/* clearfix WC (.woocommerce::before/::after {display:table}) stałby się pierwszą komórką gridu i przesuwał nawigację do drugiej kolumny */
.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation)::before, .woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation)::after { content: none; display: none; }
.woocommerce-account .woocommerce-MyAccount-navigation, .woocommerce-account .woocommerce-MyAccount-content { float: none; width: auto; }
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: var(--color-surface); overflow: hidden; }
.woocommerce-MyAccount-navigation li + li { border-top: 1px solid var(--color-border); }
.woocommerce-MyAccount-navigation li a {
  display: block; padding: var(--space-3) var(--space-4); color: var(--color-text); text-decoration: none;
  font-family: var(--font-heading); font-weight: var(--font-weight-medium); border-left: 3px solid transparent;
  transition: background var(--transition), color var(--transition), border-color var(--transition);
}
.woocommerce-MyAccount-navigation li a:hover { background: var(--color-paper); color: var(--color-brown); }
.woocommerce-MyAccount-navigation li.is-active a { background: var(--color-paper); color: var(--color-brown); border-left-color: var(--color-kraft); }
.woocommerce-MyAccount-content > p:first-child { font-size: var(--text-lg); }
.woocommerce-MyAccount-content h2, .woocommerce-MyAccount-content h3 { font-size: var(--text-xl); }
.woocommerce-MyAccount-content fieldset { border: 1px solid var(--color-border); border-radius: var(--radius); padding: var(--space-4) var(--space-5); margin: var(--space-5) 0; }
.woocommerce-MyAccount-content legend { padding-inline: var(--space-2); font-weight: var(--font-weight-semibold); }
.woocommerce-account .woocommerce-Address-title { display: flex; justify-content: space-between; align-items: baseline; gap: var(--space-3); }
.woocommerce-account .woocommerce-Address-title h2 { margin: 0; }
.woocommerce-account .woocommerce-Address-title .edit { font-size: var(--text-sm); }
.woocommerce-account .woocommerce-Address address { padding: var(--space-4); background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius); font-style: normal; }
.woocommerce-account .addresses .col-1, .woocommerce-account .addresses .col-2 { margin-bottom: var(--space-5); }
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-pagination { display: flex; gap: var(--space-2); }
/* logowanie / rejestracja (gość) */
.woocommerce-account .u-columns.col2-set#customer_login { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); }
.woocommerce-account #customer_login .col-1, .woocommerce-account #customer_login .col-2, .woocommerce-page.woocommerce-account #customer_login .col-1, .woocommerce-page.woocommerce-account #customer_login .col-2 { float: none; width: auto; min-width: 0; }
.woocommerce-account #customer_login .col-1 { order: 1; }
.woocommerce-account #customer_login .col-2 { order: 2; }
.woocommerce-account #customer_login h2 { font-size: var(--text-xl); }
.woocommerce-account #customer_login .col-1, .woocommerce-account #customer_login .col-2 { display: flex; flex-direction: column; }
.woocommerce-account #customer_login form.login, .woocommerce-account #customer_login form.register { flex: 1 1 auto; height: auto; margin: 0; display: flex; flex-direction: column; gap: var(--space-3); }
.woocommerce-account #customer_login form .form-row { margin: 0; }
.woocommerce-account #customer_login form .woocommerce-form-login__submit, .woocommerce-account #customer_login form .woocommerce-form-register__submit { width: 100%; margin-top: var(--space-2); }
.woocommerce-account #customer_login form .woocommerce-form-login__rememberme { display: inline-flex; align-items: center; gap: var(--space-2); }
.woocommerce-account #customer_login form.register .woocommerce-privacy-policy-text { margin-top: auto; }
.woocommerce-account .woocommerce-LostPassword { font-size: var(--text-sm); margin: 0; }
.woocommerce-account form.register > p:not(.form-row) { color: var(--color-text-muted); font-size: var(--text-sm); margin: 0; }
.woocommerce form.woocommerce-form-login .show-password-input, .woocommerce form.woocommerce-form-register .show-password-input, .woocommerce form.woocommerce-EditAccountForm .show-password-input, .woocommerce form.checkout .show-password-input { top: 0.7em; right: 0.9em; }
.woocommerce-password-strength { border-radius: var(--radius-sm); font-size: var(--text-sm); }
.woocommerce-password-hint { color: var(--color-text-muted); font-size: var(--text-sm); }
.woocommerce .woocommerce-form-login .woocommerce-form-login__submit { margin: 0; }
.woocommerce-account .woocommerce-orders-table__cell-order-actions .button { padding: 0.5em 1em; font-size: var(--text-xs); }

/* ---- Strona po zamówieniu --------------------------------------------------------- */
.woocommerce-order .woocommerce-notice--success { font-size: var(--text-xl); color: var(--color-success); font-family: var(--font-heading); font-weight: var(--font-weight-semibold); }
.woocommerce ul.order_details { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: var(--space-3); margin: 0 0 var(--space-6); padding: var(--space-5); list-style: none; background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-lg); }
.woocommerce ul.order_details::before, .woocommerce ul.order_details::after { display: none; content: none; }
.woocommerce ul.order_details li { float: none; margin: 0; padding: 0; border: 0; font-size: var(--text-xs); text-transform: uppercase; letter-spacing: var(--letter-spacing-caps); color: var(--color-text-muted); }
.woocommerce ul.order_details li strong { display: block; margin-top: var(--space-1); font-size: var(--text-base); text-transform: none; letter-spacing: 0; color: var(--color-text); }
.woocommerce .woocommerce-bacs-bank-details .wc-bacs-bank-details-heading, .woocommerce .woocommerce-bacs-bank-details .wc-bacs-bank-details-account-name { font-size: var(--text-lg); }
.woocommerce ul.wc-bacs-bank-details { list-style: none; padding: var(--space-4); margin: 0 0 var(--space-5); background: var(--color-paper); border-radius: var(--radius); }
.woocommerce .woocommerce-columns--addresses .col-1, .woocommerce .woocommerce-columns--addresses .col-2 { margin-bottom: var(--space-5); }

/* ---- Responsywność ------------------------------------------------------------- */
@media (max-width: 1099px) {
  .woocommerce ul.products, .woocommerce-page ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .woocommerce div.product { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--space-6); }
}
@media (max-width: 899px) {
  .woocommerce-cart .woocommerce:has(.woocommerce-cart-form),
  .woocommerce-checkout form.checkout.woocommerce-checkout,
  .woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) { grid-template-columns: minmax(0, 1fr); }
  .woocommerce .cart-collaterals, .checkout-summary, .woocommerce .cart-collaterals .cart_totals { grid-column: auto; position: static; }
  .woocommerce-MyAccount-navigation ul { display: flex; flex-wrap: wrap; }
  .woocommerce-MyAccount-navigation li + li { border-top: 0; }
  .woocommerce-MyAccount-navigation li a { padding: var(--space-2) var(--space-3); border-left: 0; border-bottom: 3px solid transparent; font-size: var(--text-sm); }
  .woocommerce-MyAccount-navigation li.is-active a { border-bottom-color: var(--color-kraft); }
}
@media (max-width: 767px) {
  .woocommerce ul.products, .woocommerce-page ul.products,
  .woocommerce ul.products[class*="columns-"], .woocommerce-page ul.products[class*="columns-"] { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3); }
  .woocommerce div.product { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
  .woocommerce div.product .product_title { font-size: var(--text-2xl); }
  .woocommerce-account .u-columns.col2-set#customer_login { grid-template-columns: minmax(0, 1fr); }
  .shop-toolbar { justify-content: flex-start; }
  .woocommerce .woocommerce-ordering select { width: 100%; }
  .woocommerce .shop-toolbar .woocommerce-ordering { flex: 1 1 100%; }
  /* tabela pozycji koszyka / zamówień w układzie kart (bazuje na woocommerce-smallscreen.css: td{display:block}) */
  .woocommerce table.cart, .woocommerce table.cart tbody, .woocommerce table.my_account_orders, .woocommerce table.my_account_orders tbody { display: block; width: 100%; }
  .woocommerce table.woocommerce-checkout-review-order-table thead, .woocommerce .cart_totals table.shop_table thead { display: none; }
  .woocommerce table.woocommerce-checkout-review-order-table td.product-name { flex: 1 1 60%; }
  .woocommerce table.cart tr, .woocommerce table.my_account_orders tr, .woocommerce-page table.cart tr { display: block; padding: var(--space-4); border-top: 1px solid var(--color-border); }
  .woocommerce table.cart thead + tbody tr:first-child, .woocommerce table.my_account_orders thead + tbody tr:first-child { border-top: 0; }
  .woocommerce table.cart tr td, .woocommerce table.my_account_orders tr td, .woocommerce-page table.cart tr td { display: flex; justify-content: space-between; align-items: center; gap: var(--space-3); padding: var(--space-1) 0; border: 0; text-align: right; }
  .woocommerce table.cart tr td::before, .woocommerce table.my_account_orders tr td::before, .woocommerce-page table.cart tr td::before { float: none; font-weight: var(--font-weight-medium); color: var(--color-text-muted); font-size: var(--text-sm); }
  .woocommerce table.cart tr td.product-remove { position: absolute; right: var(--space-4); width: auto; padding: 0; }
  .woocommerce table.cart tr { position: relative; }
  .woocommerce table.cart tr td.product-remove a.remove { margin: 0; }
  .woocommerce table.cart tr td.product-name, .woocommerce-page table.cart tr td.product-name { display: block; padding-right: var(--space-7); text-align: left !important; font-size: var(--text-lg); }
  .woocommerce table.cart tr td.product-name::before, .woocommerce-page table.cart tr td.product-name::before { display: none; }
  .woocommerce table.cart td.actions { display: flex; flex-direction: column; gap: var(--space-3); padding: var(--space-4); background: var(--color-paper); }
  .woocommerce table.cart td.actions .coupon { float: none; width: 100%; padding: 0; }
  .woocommerce table.cart td.actions .coupon .input-text { flex: 1 1 0; min-width: 0; width: auto; }
  .woocommerce table.cart td.actions .coupon .button { flex: none; }
  .woocommerce table.cart td.actions > .button { float: none; width: 100%; }
  .woocommerce table.cart td.actions::before { display: none; }
  /* podsumowanie koszyka / zamówienia: wiersz = etykieta po lewej, kwota po prawej */
  .woocommerce .cart_totals table.shop_table tr, .woocommerce table.woocommerce-checkout-review-order-table tr { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--space-2) var(--space-3); border-bottom: 1px solid var(--color-border); }
  .woocommerce .cart_totals table.shop_table th, .woocommerce .cart_totals table.shop_table td,
  .woocommerce table.woocommerce-checkout-review-order-table th, .woocommerce table.woocommerce-checkout-review-order-table td { display: block; border: 0; }
  .woocommerce .cart_totals table.shop_table td::before, .woocommerce table.woocommerce-checkout-review-order-table td::before { display: none; }
  .woocommerce .cart_totals .woocommerce-shipping-totals td, .woocommerce table.woocommerce-checkout-review-order-table .woocommerce-shipping-totals td { flex: 1 1 100%; padding-top: 0; }
  .woocommerce .cart_totals .order-total, .woocommerce table.woocommerce-checkout-review-order-table .order-total { border-bottom: 0; }
  .woocommerce table.shop_table_responsive tr td.product-quantity div.quantity { margin: 0; }
  .woocommerce div.product form.cart .button { flex: 1 1 100%; }
  .woocommerce div.product form.cart div.quantity { flex: 1 1 100%; }
  .woocommerce div.quantity input.qty { width: 100%; }
  .woocommerce form .form-row-first, .woocommerce form .form-row-last, .woocommerce-page form .form-row-first, .woocommerce-page form .form-row-last { float: none; width: 100%; }
  .woocommerce table.shop_attributes th { width: 40%; }
}
@media (max-width: 479px) {
  .woocommerce ul.products, .woocommerce-page ul.products,
  .woocommerce ul.products[class*="columns-"], .woocommerce-page ul.products[class*="columns-"] { grid-template-columns: minmax(0, 1fr); }
  .product-card__media { aspect-ratio: 2 / 1; }
  .woocommerce ul.products li.product .product-card__media .wc-placeholder__icon { max-height: 72px; }
}
