/**
 * Filamencik - WooCommerce Overrides
 * Nadpisania domyslnych stylow WooCommerce,
 * dopasowane do systemu projektowego Filamencik.
 *
 * Uzywa zmiennych CSS z main.css / mockup style.css:
 * --kolor-primary, --kolor-secondary, --font-naglowki, --font-tekst,
 * --radius-*, --cien-*, --odstep-*, --kolor-border, itd.
 */

/* =============================================
   STRONA SKLEP - WRAPPER
   ============================================= */
.strona-sklep {
  padding-top: var(--odstep-xl);
  padding-bottom: var(--odstep-xxl);
  min-height: 60vh;
}

/* .kontener juz ma max-width z main.css */

/* Naglowek sklepu - tytul + sortowanie */
.strona-sklep .woocommerce-products-header {
  margin-bottom: var(--odstep-lg);
}

.strona-sklep .woocommerce-products-header__title,
.strona-sklep .page-title {
  font-family: var(--font-naglowki);
  font-size: 32px;
  font-weight: 700;
  color: var(--kolor-tekst);
  margin: 0 0 var(--odstep-sm) 0;
}

/* Pasek sortowania i wynikow */
.strona-sklep .woocommerce-result-count,
.strona-sklep .woocommerce-ordering {
  display: inline-block;
  vertical-align: middle;
}

.strona-sklep .woocommerce-result-count {
  float: left;
}

.strona-sklep .woocommerce-ordering {
  float: right;
}

/* Clearfix dla paska nad siatka */
.strona-sklep .woocommerce::after {
  content: "";
  display: table;
  clear: both;
}

/* Siatka produktow */
.strona-sklep ul.products {
  clear: both;
  margin-top: var(--odstep-lg) !important;
}

/* Usun WC clearfix pseudo-elementy - zajmuja komorki gridu */
.woocommerce ul.products::before,
.woocommerce ul.products::after {
  display: none !important;
}

/* Paginacja WC */
.strona-sklep nav.woocommerce-pagination {
  margin-top: var(--odstep-xl);
  text-align: center;
}

.strona-sklep nav.woocommerce-pagination ul {
  display: inline-flex;
  gap: var(--odstep-xs);
  list-style: none;
  padding: 0;
  margin: 0;
  border: none;
}

.strona-sklep nav.woocommerce-pagination ul li {
  border: none;
}

.strona-sklep nav.woocommerce-pagination ul li a,
.strona-sklep nav.woocommerce-pagination ul li span {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 var(--odstep-sm);
  border-radius: var(--radius-maly);
  font-family: var(--font-tekst);
  font-size: 14px;
  font-weight: 500;
  color: var(--kolor-tekst);
  background: var(--kolor-surface);
  border: 1px solid var(--kolor-border);
  transition: all var(--transition);
  text-decoration: none;
}

.strona-sklep nav.woocommerce-pagination ul li a:hover {
  background: var(--kolor-primary);
  color: #fff;
  border-color: var(--kolor-primary);
}

.strona-sklep nav.woocommerce-pagination ul li span.current {
  background: var(--kolor-primary);
  color: #fff;
  border-color: var(--kolor-primary);
}

/* Badge PROMOCJA */
.woocommerce .onsale,
.woocommerce ul.products li.product .onsale {
  position: absolute;
  top: 12px;
  right: 12px;
  left: auto;
  background: var(--kolor-primary);
  color: #fff;
  font-family: var(--font-tekst);
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: var(--radius-maly);
  z-index: 3;
  min-width: auto;
  min-height: auto;
  line-height: 1.4;
}

/* Badge w karcie - pozycjonuj wzgledem li a nie a */
.woocommerce ul.products li.product .onsale {
  position: absolute;
}

/* =============================================
   OPIS KATEGORII SEO (pod produktami)
   ============================================= */
.kategoria-opis-seo {
  margin-top: var(--odstep-2xl);
  padding: var(--odstep-xl);
  background: var(--kolor-surface);
  border-radius: var(--radius-duzy);
  box-shadow: var(--cien-karta);
}

.kategoria-opis-tytul {
  font-family: var(--font-naglowki);
  font-size: 20px;
  font-weight: 700;
  color: var(--kolor-tekst);
  margin-bottom: var(--odstep-md);
}

.kategoria-opis-tresc {
  font-size: 15px;
  line-height: 1.8;
  color: var(--kolor-tekst-secondary);
}

.kategoria-opis-tresc p {
  margin-bottom: var(--odstep-md);
}

.kategoria-opis-tresc p:last-child {
  margin-bottom: 0;
}

/* =============================================
   RESET DOMYSLNYCH STYLOW WC
   ============================================= */
.woocommerce,
.woocommerce-page {
  font-family: var(--font-tekst);
  color: var(--kolor-tekst);
}

/* =============================================
   SIATKA PRODUKTOW (PRODUCT GRID)
   Nadpisanie domyslnej siatki WC na .siatka-produktow
   ============================================= */
.woocommerce ul.products {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--odstep-md);
  list-style: none;
  padding: 0;
  margin: 0;
}

@media (min-width: 640px) {
  .woocommerce ul.products {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--odstep-lg);
  }
}

@media (min-width: 768px) {
  .woocommerce ul.products {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (min-width: 1024px) {
  .woocommerce ul.products {
    grid-template-columns: repeat(4, 1fr);
  }

  /* Z sidebarem - 4 kolumny */
  .sklep-layout ul.products {
    grid-template-columns: repeat(4, 1fr) !important;
  }
}

/* Usun domyslne floaty i szerokosc WC */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.woocommerce ul.products li.first,
.woocommerce ul.products li.last {
  float: none !important;
  clear: none !important;
  width: 100% !important;
  margin: 0 !important;
  margin-right: 0 !important;
  padding: 0;
}

/* =============================================
   KARTA PRODUKTU (PRODUCT CARD)
   Mapowanie na styl .karta-produktu
   ============================================= */
.woocommerce ul.products li.product {
  background: var(--kolor-surface);
  border-radius: var(--radius-duzy);
  box-shadow: var(--cien-karta);
  transition: all var(--transition);
  position: relative;
}

/* Overflow hidden na obrazie - nie na linku (zeby badge nie byl ucinany) */
.woocommerce ul.products li.product > a:first-of-type {
  display: block;
  border-radius: var(--radius-duzy) var(--radius-duzy) 0 0;
}

.woocommerce ul.products li.product > a:first-of-type img {
  border-radius: var(--radius-duzy) var(--radius-duzy) 0 0;
}

.woocommerce ul.products li.product:hover {
  transform: translateY(-4px);
  box-shadow: var(--cien-duzy);
}

/* Obraz produktu */
.woocommerce ul.products li.product a img,
.woocommerce ul.products li.product .attachment-woocommerce_thumbnail {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  display: block;
  margin: 0;
  transition: transform var(--transition-wolna);
}

.woocommerce ul.products li.product:hover a img {
  transform: scale(1.05);
}

.woocommerce ul.products li.product > a {
  display: block;
  position: relative;
  overflow: hidden;
}

/* Nazwa produktu */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2 {
  font-family: var(--font-naglowki);
  font-weight: 600;
  font-size: 15px;
  color: var(--kolor-tekst);
  padding: var(--odstep-md) var(--odstep-md) 0;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title:hover {
  color: var(--kolor-primary);
}

/* =============================================
   CENA - LISTING I PRODUKT
   Dopasowanie do .karta-produktu-cena / .produkt-cena
   ============================================= */
.woocommerce ul.products li.product .price {
  font-family: var(--font-naglowki);
  font-weight: 700;
  font-size: 18px;
  color: var(--kolor-primary);
  padding: var(--odstep-sm) var(--odstep-md);
  margin: 0;
  display: block;
}

.woocommerce ul.products li.product .price del {
  font-size: 14px;
  color: var(--kolor-tekst-jasny);
  text-decoration: line-through;
  font-weight: 400;
  margin-right: var(--odstep-sm);
  opacity: 1;
}

.woocommerce ul.products li.product .price ins {
  text-decoration: none;
  font-weight: 700;
  color: var(--kolor-primary);
}

/* Cena na stronie produktu */
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  font-family: var(--font-naglowki);
  font-weight: 700;
  font-size: 32px;
  color: var(--kolor-primary);
}

.woocommerce div.product p.price del,
.woocommerce div.product span.price del {
  font-size: 20px;
  color: var(--kolor-tekst-jasny);
  text-decoration: line-through;
  font-weight: 400;
  opacity: 1;
}

.woocommerce div.product p.price ins,
.woocommerce div.product span.price ins {
  text-decoration: none;
  font-weight: 700;
}

/* =============================================
   ETYKIETA WYPRZEDAZY (SALE BADGE)
   Dopasowanie do .karta-produktu-etykieta
   ============================================= */
.woocommerce span.onsale {
  position: absolute;
  top: var(--odstep-sm);
  left: var(--odstep-sm);
  right: auto;
  background: var(--kolor-wyprzedaz);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  padding: 4px 10px;
  border-radius: 20px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  line-height: 1.4;
  min-width: auto;
  min-height: auto;
  z-index: 5;
}

/* =============================================
   PRZYCISK DODAJ DO KOSZYKA
   Dopasowanie do .karta-produktu-dodaj / .przycisk-primary
   ============================================= */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.add_to_cart_button,
.woocommerce ul.products li.product a.product_type_simple {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--odstep-sm);
  width: calc(100% - (var(--odstep-md) * 2));
  margin: var(--odstep-sm) var(--odstep-md) var(--odstep-md);
  padding: 10px;
  background: var(--kolor-primary);
  color: #fff;
  border: none;
  border-radius: var(--radius-maly);
  font-family: var(--font-naglowki);
  font-weight: 600;
  font-size: 13px;
  cursor: pointer;
  transition: all var(--transition);
  text-align: center;
  line-height: 1.4;
}

.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product a.add_to_cart_button:hover,
.woocommerce ul.products li.product a.product_type_simple:hover {
  background: var(--kolor-primary-ciemny);
  color: #fff;
}

/* Stan "dodano do koszyka" */
.woocommerce ul.products li.product a.added_to_cart {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: calc(100% - (var(--odstep-md) * 2));
  margin: 0 var(--odstep-md) var(--odstep-sm);
  padding: 6px;
  font-size: 12px;
  font-weight: 500;
  color: var(--kolor-sukces);
  background: none;
  text-align: center;
}

/* =============================================
   WSZYSTKIE PRZYCISKI WC - GLOBAL
   Dopasowanie do .przycisk-primary
   ============================================= */
.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 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--odstep-sm);
  padding: 12px 28px;
  border-radius: var(--radius-sredni);
  font-family: var(--font-naglowki);
  font-weight: 600;
  font-size: 15px;
  cursor: pointer;
  border: 2px solid transparent;
  transition: all var(--transition);
  text-align: center;
  line-height: 1.4;
  background: var(--kolor-primary);
  color: #fff;
}

.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(--kolor-primary-ciemny);
  color: #fff;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(245, 133, 31, 0.35);
}

.woocommerce #respond input#submit.alt.disabled,
.woocommerce #respond input#submit.alt.disabled:hover,
.woocommerce #respond input#submit.alt:disabled,
.woocommerce #respond input#submit.alt:disabled:hover,
.woocommerce a.button.alt.disabled,
.woocommerce a.button.alt.disabled:hover,
.woocommerce a.button.alt:disabled,
.woocommerce a.button.alt:disabled:hover,
.woocommerce button.button.alt.disabled,
.woocommerce button.button.alt.disabled:hover,
.woocommerce button.button.alt:disabled,
.woocommerce button.button.alt:disabled:hover,
.woocommerce input.button.alt.disabled,
.woocommerce input.button.alt.disabled:hover,
.woocommerce input.button.alt:disabled,
.woocommerce input.button.alt:disabled:hover {
  background: var(--kolor-border);
  color: var(--kolor-tekst-jasny);
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}

/* =============================================
   POWIADOMIENIA WC (NOTICES / MESSAGES)
   Dopasowanie do systemu toast
   ============================================= */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-notices-wrapper .woocommerce-error {
  display: flex;
  align-items: center;
  gap: var(--odstep-sm);
  padding: 12px 20px;
  border-radius: var(--radius-sredni);
  background: var(--kolor-surface);
  box-shadow: var(--cien-duzy);
  font-size: 14px;
  font-weight: 500;
  color: var(--kolor-tekst);
  margin-bottom: var(--odstep-lg);
  border-top: none;
  list-style: none;
}

.woocommerce-message {
  border-left: 4px solid var(--kolor-sukces);
  color: #065F46;
}

.woocommerce-info {
  border-left: 4px solid var(--kolor-secondary);
  color: var(--kolor-tekst);
}

.woocommerce-error {
  border-left: 4px solid var(--kolor-blad);
  color: #991B1B;
}

.woocommerce-error li {
  list-style: none;
}

.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
  display: none;
}

.woocommerce-message a.button,
.woocommerce-info a.button {
  padding: 6px 14px;
  font-size: 13px;
  margin-left: auto;
}

/* =============================================
   BREADCRUMBS WC
   Dopasowanie do .breadcrumbs
   ============================================= */
.woocommerce .woocommerce-breadcrumb {
  padding: var(--odstep-md) 0;
  font-size: 13px;
  color: var(--kolor-tekst-secondary);
  margin: 0;
}

.woocommerce .woocommerce-breadcrumb a {
  color: var(--kolor-tekst-secondary);
  text-decoration: none;
  transition: color var(--transition);
}

.woocommerce .woocommerce-breadcrumb a:hover {
  color: var(--kolor-primary);
}

.woocommerce .woocommerce-breadcrumb > span,
.woocommerce .woocommerce-breadcrumb .breadcrumb-separator {
  margin: 0 var(--odstep-sm);
  opacity: 0.5;
}

/* =============================================
   STRONA PRODUKTU (SINGLE PRODUCT)
   Dopasowanie do .produkt-layout, .produkt-galeria, .produkt-info
   ============================================= */

/* Layout */
.woocommerce div.product {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--odstep-xl);
  padding: var(--odstep-lg) 0;
  position: relative;
}

/* Badge PROMOCJA na single product - wyjmij z grid flow */
.woocommerce div.product > span.onsale {
  position: absolute;
  top: var(--odstep-lg);
  left: var(--odstep-sm);
  z-index: 10;
  grid-row: 1;
  grid-column: 1;
}

@media (min-width: 768px) {
  .woocommerce div.product {
    grid-template-columns: 1fr 1.2fr;
  }
}

/* Tabs - pelna szerokosc */
.woocommerce div.product .woocommerce-tabs {
  grid-column: 1 / -1;
}

/* Galeria - dopasowanie do .produkt-galeria */
.woocommerce div.product div.images {
  position: sticky;
  top: 100px;
  float: none;
  width: 100% !important;
  max-width: 500px;
  align-self: start;
}

.woocommerce div.product div.images .woocommerce-product-gallery__wrapper {
  margin: 0;
}

.woocommerce div.product div.images .woocommerce-product-gallery__image img,
.woocommerce div.product div.images img {
  width: 100%;
  height: auto;
  max-height: 500px;
  object-fit: cover;
  border-radius: var(--radius-duzy);
}

.woocommerce div.product div.images .flex-control-thumbs {
  display: flex;
  gap: var(--odstep-sm);
  margin-top: var(--odstep-md);
  list-style: none;
  padding: 0;
}

.woocommerce div.product div.images .flex-control-thumbs li {
  width: 70px;
  height: 70px;
  flex-shrink: 0;
}

.woocommerce div.product div.images .flex-control-thumbs li img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: var(--radius-maly);
  border: 2px solid transparent;
  cursor: pointer;
  transition: border-color var(--transition);
  aspect-ratio: auto;
}

.woocommerce div.product div.images .flex-control-thumbs li img:hover,
.woocommerce div.product div.images .flex-control-thumbs li img.flex-active {
  border-color: var(--kolor-primary);
}

/* Info produktu - dopasowanie do .produkt-info */
.woocommerce div.product div.summary {
  float: none;
  width: 100% !important;
  display: flex;
  flex-direction: column;
  gap: var(--odstep-md);
  margin-bottom: 0;
}

.woocommerce div.product .product_title {
  font-family: var(--font-naglowki);
  font-weight: 600;
  font-size: 28px;
  line-height: 1.2;
  color: var(--kolor-tekst);
  margin: 0;
}

/* Kategoria produktu */
.woocommerce div.product .posted_in {
  font-size: 13px;
  color: var(--kolor-tekst-jasny);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.woocommerce div.product .posted_in a {
  color: var(--kolor-tekst-jasny);
}

.woocommerce div.product .posted_in a:hover {
  color: var(--kolor-primary);
}

/* Krotki opis */
.woocommerce div.product .woocommerce-product-details__short-description {
  color: var(--kolor-tekst-secondary);
  font-size: 15px;
  line-height: 1.7;
}

/* Dostepnosc */
.woocommerce div.product .stock {
  display: flex;
  align-items: center;
  gap: var(--odstep-sm);
  font-size: 14px;
  font-weight: 500;
}

.woocommerce div.product .stock.in-stock {
  color: var(--kolor-sukces);
}

.woocommerce div.product .stock.out-of-stock {
  color: var(--kolor-blad);
}

/* Meta produktu */
.woocommerce div.product .product_meta {
  font-size: 13px;
  color: var(--kolor-tekst-secondary);
  display: flex;
  flex-direction: column;
  gap: var(--odstep-xs);
}

.woocommerce div.product .product_meta a {
  color: var(--kolor-secondary);
}

.woocommerce div.product .product_meta a:hover {
  color: var(--kolor-primary);
}

/* Zakladki produktu */
.woocommerce div.product .woocommerce-tabs {
  grid-column: 1 / -1;
  margin-top: var(--odstep-2xl);
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
  display: flex;
  gap: 0;
  border-bottom: 2px solid var(--kolor-border);
  list-style: none;
  padding: 0;
  margin: 0;
  overflow-x: auto;
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before {
  display: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
  flex-shrink: 0;
  background: none;
  border: none;
  border-radius: 0;
  margin: 0;
  padding: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
  display: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  display: block;
  padding: var(--odstep-md) var(--odstep-lg);
  background: none;
  border: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  font-family: var(--font-naglowki);
  font-weight: 500;
  font-size: 15px;
  color: var(--kolor-tekst-secondary);
  cursor: pointer;
  transition: all var(--transition);
  white-space: nowrap;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover,
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
  color: var(--kolor-primary);
  border-bottom-color: var(--kolor-primary);
}

.woocommerce div.product .woocommerce-tabs .panel {
  padding: var(--odstep-xl) 0;
  color: var(--kolor-tekst-secondary);
  line-height: 1.8;
  margin: 0;
  border: none;
  box-shadow: none;
  background: none;
  border-radius: 0;
}

/* =============================================
   OCENA GWIAZDKOWA (STAR RATING)
   ============================================= */
.woocommerce .star-rating {
  color: #F59E0B;
  font-size: 14px;
  letter-spacing: 2px;
}

.woocommerce .star-rating span {
  color: #F59E0B;
}

.woocommerce .star-rating::before {
  color: #E5E7EB;
}

.woocommerce p.stars a {
  color: #F59E0B;
}

.woocommerce p.stars a:hover ~ a::before {
  color: #E5E7EB;
}

.woocommerce div.product .woocommerce-product-rating {
  display: flex;
  align-items: center;
  gap: var(--odstep-sm);
  font-size: 14px;
  color: var(--kolor-tekst-secondary);
  margin-bottom: 0;
}

.woocommerce div.product .woocommerce-product-rating .woocommerce-review-link {
  color: var(--kolor-tekst-secondary);
  font-size: 14px;
}

.woocommerce div.product .woocommerce-product-rating .woocommerce-review-link:hover {
  color: var(--kolor-primary);
}

/* =============================================
   ILOSC (QUANTITY INPUT)
   Dopasowanie do .ilosc-kontrolka
   ============================================= */
.woocommerce .quantity {
  display: flex;
  align-items: center;
  border: 1px solid var(--kolor-border);
  border-radius: var(--radius-maly);
  overflow: hidden;
}

.woocommerce .quantity .qty {
  width: 50px;
  height: 40px;
  text-align: center;
  border: none;
  font-family: var(--font-naglowki);
  font-weight: 600;
  font-size: 16px;
  color: var(--kolor-tekst);
  background: var(--kolor-surface);
  -moz-appearance: textfield;
}

.woocommerce .quantity .qty::-webkit-inner-spin-button,
.woocommerce .quantity .qty::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Przyciski +/- jesli dodane przez JS */
.woocommerce .quantity .minus,
.woocommerce .quantity .plus {
  width: 40px;
  height: 40px;
  background: var(--kolor-hover-jasny);
  border: none;
  cursor: pointer;
  font-size: 18px;
  color: var(--kolor-tekst);
  transition: background var(--transition);
  display: flex;
  align-items: center;
  justify-content: center;
}

.woocommerce .quantity .minus:hover,
.woocommerce .quantity .plus:hover {
  background: var(--kolor-border);
}

/* Dodaj do koszyka formularz na stronie produktu */
.woocommerce div.product form.cart {
  display: flex;
  flex-direction: column;
  gap: var(--odstep-sm);
  margin-bottom: 0;
}

@media (min-width: 640px) {
  .woocommerce div.product form.cart {
    flex-direction: row;
    align-items: center;
    gap: var(--odstep-md);
  }
}

.woocommerce div.product form.cart .button {
  flex: 1;
}

/* =============================================
   KOSZYK (CART TABLE)
   Dopasowanie do .koszyk-produkt
   ============================================= */
.woocommerce-cart .woocommerce {
  display: block;
}

.woocommerce table.shop_table {
  border: none;
  border-collapse: separate;
  border-spacing: 0;
  border-radius: var(--radius-duzy);
  overflow: hidden;
  background: var(--kolor-surface);
  box-shadow: var(--cien-karta);
}

.woocommerce table.shop_table th {
  text-align: left;
  padding: var(--odstep-md);
  border-bottom: 2px solid var(--kolor-border);
  font-weight: 600;
  color: var(--kolor-tekst-secondary);
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  background: var(--kolor-hover-jasny);
}

.woocommerce table.shop_table td {
  padding: var(--odstep-md);
  border-top: 1px solid var(--kolor-border);
  vertical-align: middle;
  font-size: 14px;
}

.woocommerce table.shop_table td.product-thumbnail {
  width: 80px;
}

.woocommerce table.shop_table td.product-thumbnail img {
  width: 80px;
  height: 80px;
  border-radius: var(--radius-maly);
  object-fit: cover;
}

.woocommerce table.shop_table td.product-name a {
  font-family: var(--font-naglowki);
  font-weight: 600;
  font-size: 15px;
  color: var(--kolor-tekst);
}

.woocommerce table.shop_table td.product-name a:hover {
  color: var(--kolor-primary);
}

.woocommerce table.shop_table td.product-price,
.woocommerce table.shop_table td.product-subtotal {
  font-family: var(--font-naglowki);
  font-weight: 600;
  font-size: 16px;
  color: var(--kolor-tekst);
  white-space: nowrap;
}

.woocommerce table.shop_table td.product-subtotal .amount {
  color: var(--kolor-primary);
}

/* Przycisk usun z koszyka */
.woocommerce table.shop_table td.product-remove a.remove {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: var(--radius-okragly);
  background: none;
  color: var(--kolor-tekst-jasny) !important;
  font-size: 18px;
  transition: all var(--transition);
}

.woocommerce table.shop_table td.product-remove a.remove:hover {
  background: rgba(239, 68, 68, 0.1);
  color: var(--kolor-blad) !important;
}

/* Kupon */
.woocommerce .cart-collaterals,
.woocommerce-cart .cart-collaterals {
  margin-top: var(--odstep-xl);
}

.woocommerce .cart-collaterals .cart_totals {
  float: none;
  width: 100% !important;
}

@media (min-width: 768px) {
  .woocommerce .cart-collaterals .cart_totals {
    width: 400px !important;
    margin-left: auto;
  }
}

.woocommerce .cart-collaterals .cart_totals table {
  border-radius: var(--radius-duzy);
}

.woocommerce .cart-collaterals .cart_totals table th {
  font-weight: 600;
  font-size: 14px;
}

.woocommerce .cart-collaterals .cart_totals table .order-total th,
.woocommerce .cart-collaterals .cart_totals table .order-total td {
  border-top: 2px solid var(--kolor-border);
  font-size: 18px;
  font-weight: 700;
  font-family: var(--font-naglowki);
}

.woocommerce .cart-collaterals .cart_totals table .order-total td .amount {
  color: var(--kolor-primary);
}

/* Responsywny koszyk na mobile */
@media (max-width: 767px) {
  .woocommerce table.shop_table.cart {
    display: block;
  }

  .woocommerce table.shop_table.cart thead {
    display: none;
  }

  .woocommerce table.shop_table.cart tbody {
    display: block;
  }

  .woocommerce table.shop_table.cart tr {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--odstep-md);
    padding: var(--odstep-md);
    border-bottom: 1px solid var(--kolor-border);
  }

  .woocommerce table.shop_table.cart td {
    border: none;
    padding: 0;
  }

  .woocommerce table.shop_table.cart td.product-thumbnail {
    width: 80px;
  }

  .woocommerce table.shop_table.cart td.product-name {
    flex: 1;
  }

  .woocommerce table.shop_table.cart td.product-quantity,
  .woocommerce table.shop_table.cart td.product-subtotal,
  .woocommerce table.shop_table.cart td.product-remove {
    width: auto;
  }

  .woocommerce table.shop_table.cart .actions {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: var(--odstep-sm);
    justify-content: space-between;
    padding: var(--odstep-md) 0;
  }
}

/* =============================================
   CHECKOUT (FORMULARZ ZAMOWIENIA)
   Dopasowanie do .checkout-layout, .checkout-sekcja, .formularz-siatka
   ============================================= */
.woocommerce-checkout .woocommerce {
  display: block;
}

.woocommerce form.checkout {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--odstep-xl);
}

@media (min-width: 768px) {
  .woocommerce form.checkout {
    grid-template-columns: 1fr 400px;
  }
}

/* Sekcje checkout */
.woocommerce form.checkout .col-1,
.woocommerce form.checkout .col-2,
.woocommerce form.checkout #customer_details,
.woocommerce form.checkout #order_review_heading + #order_review {
  background: var(--kolor-surface);
  border-radius: var(--radius-duzy);
  padding: var(--odstep-xl);
  box-shadow: var(--cien-karta);
}

.woocommerce form.checkout #customer_details {
  grid-column: 1;
}

.woocommerce form.checkout #order_review_heading,
.woocommerce form.checkout #order_review {
  grid-column: 1;
}

@media (min-width: 768px) {
  .woocommerce form.checkout #order_review_heading,
  .woocommerce form.checkout #order_review {
    grid-column: 2;
  }
}

.woocommerce form.checkout h3,
.woocommerce-checkout h3 {
  font-family: var(--font-naglowki);
  font-size: 18px;
  margin-bottom: var(--odstep-lg);
  padding-bottom: var(--odstep-sm);
  border-bottom: 2px solid var(--kolor-border);
}

/* Pola formularza checkout */
.woocommerce form .form-row {
  padding: 0;
  margin: 0 0 var(--odstep-md);
}

.woocommerce form .form-row label {
  display: block;
  font-size: 13px;
  font-weight: 600;
  margin-bottom: var(--odstep-xs);
  color: var(--kolor-tekst);
  line-height: 1.4;
}

.woocommerce form .form-row .required {
  color: var(--kolor-blad);
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce .select2-container .select2-selection--single {
  width: 100%;
  padding: 11px 14px;
  border: 1px solid var(--kolor-border);
  border-radius: var(--radius-maly);
  font-family: var(--font-tekst);
  font-size: 14px;
  color: var(--kolor-tekst);
  background: var(--kolor-surface);
  transition: border-color var(--transition);
  height: auto;
  line-height: 1.4;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
  outline: none;
  border-color: var(--kolor-secondary);
  box-shadow: 0 0 0 3px rgba(43, 124, 233, 0.1);
}

/* Select2 override */
.woocommerce .select2-container .select2-selection--single {
  height: auto;
  padding: 11px 14px;
}

.woocommerce .select2-container .select2-selection--single .select2-selection__rendered {
  padding: 0;
  line-height: 1.4;
  color: var(--kolor-tekst);
}

.woocommerce .select2-container .select2-selection--single .select2-selection__arrow {
  top: 50%;
  transform: translateY(-50%);
  right: 12px;
}

/* Siatka formularza - dwa kolumny */
.woocommerce form .form-row-first,
.woocommerce form .form-row-last {
  width: 100%;
  float: none;
}

@media (min-width: 640px) {
  .woocommerce .col2-set {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--odstep-md);
  }

  .woocommerce-checkout .col2-set .col-1,
  .woocommerce-checkout .col2-set .col-2 {
    width: 100%;
    float: none;
    padding: 0;
    margin: 0;
    background: none;
    box-shadow: none;
    border-radius: 0;
  }

  .woocommerce form #billing_fields .form-row-first,
  .woocommerce form #shipping_fields .form-row-first {
    float: left;
    width: calc(50% - 8px);
  }

  .woocommerce form #billing_fields .form-row-last,
  .woocommerce form #shipping_fields .form-row-last {
    float: right;
    width: calc(50% - 8px);
  }
}

/* Metody dostawy checkout */
.woocommerce-checkout #shipping_method {
  list-style: none;
  padding: 0;
  margin: 0;
}

.woocommerce-checkout #shipping_method li {
  display: flex;
  align-items: center;
  gap: var(--odstep-md);
  padding: var(--odstep-md);
  border: 2px solid var(--kolor-border);
  border-radius: var(--radius-sredni);
  margin-bottom: var(--odstep-sm);
  cursor: pointer;
  transition: all var(--transition);
}

.woocommerce-checkout #shipping_method li:hover {
  border-color: var(--kolor-secondary);
}

.woocommerce-checkout #shipping_method li input[type="radio"] {
  accent-color: var(--kolor-secondary);
  width: 18px;
  height: 18px;
}

/* Metody platnosci */
.woocommerce-checkout #payment {
  background: var(--kolor-surface);
  border-radius: var(--radius-duzy);
  box-shadow: var(--cien-karta);
  overflow: hidden;
}

.woocommerce-checkout #payment ul.payment_methods {
  list-style: none;
  padding: var(--odstep-md);
  margin: 0;
  border-bottom: 1px solid var(--kolor-border);
}

.woocommerce-checkout #payment ul.payment_methods li {
  padding: var(--odstep-md);
  border: 2px solid var(--kolor-border);
  border-radius: var(--radius-sredni);
  margin-bottom: var(--odstep-sm);
  transition: all var(--transition);
}

.woocommerce-checkout #payment ul.payment_methods li:last-child {
  margin-bottom: 0;
}

.woocommerce-checkout #payment ul.payment_methods li:hover {
  border-color: var(--kolor-secondary);
}

.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method input[type="radio"] {
  accent-color: var(--kolor-secondary);
  width: 18px;
  height: 18px;
  margin-right: var(--odstep-sm);
}

.woocommerce-checkout #payment ul.payment_methods li label {
  font-weight: 600;
  font-size: 14px;
  cursor: pointer;
}

.woocommerce-checkout #payment ul.payment_methods li .payment_box {
  margin-top: var(--odstep-sm);
  padding: var(--odstep-md);
  background: var(--kolor-hover-jasny);
  border-radius: var(--radius-maly);
  font-size: 13px;
  color: var(--kolor-tekst-secondary);
}

.woocommerce-checkout #payment ul.payment_methods li .payment_box::before {
  display: none;
}

.woocommerce-checkout #payment .place-order {
  padding: var(--odstep-lg);
}

.woocommerce-checkout #payment #place_order {
  width: 100%;
  padding: 16px 36px;
  font-size: 17px;
}

/* Podsumowanie zamowienia w checkout */
.woocommerce-checkout-review-order-table {
  border-radius: var(--radius-duzy) !important;
}

.woocommerce-checkout-review-order-table .order-total th,
.woocommerce-checkout-review-order-table .order-total td {
  font-size: 18px;
  font-weight: 700;
  font-family: var(--font-naglowki);
}

.woocommerce-checkout-review-order-table .order-total td .amount {
  color: var(--kolor-primary);
}

/* Walidacja pol */
.woocommerce form .form-row.woocommerce-invalid .input-text,
.woocommerce form .form-row.woocommerce-invalid select {
  border-color: var(--kolor-blad) !important;
  box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1) !important;
}

.woocommerce form .form-row.woocommerce-validated .input-text,
.woocommerce form .form-row.woocommerce-validated select {
  border-color: var(--kolor-sukces);
}

/* =============================================
   MOJE KONTO (MY ACCOUNT) - PO ZALOGOWANIU
   Dopasowanie do .konto-layout, .konto-sidebar, .konto-tresc
   ============================================= */
.woocommerce-account.logged-in .entry-content {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--odstep-xl);
}

@media (min-width: 768px) {
  .woocommerce-account.logged-in .entry-content {
    grid-template-columns: 240px 1fr;
  }
}

/* Sidebar / nawigacja konta */
.woocommerce-account .woocommerce-MyAccount-navigation {
  background: var(--kolor-surface);
  border-radius: var(--radius-duzy);
  padding: var(--odstep-lg);
  box-shadow: var(--cien-karta);
  height: fit-content;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li {
  margin-bottom: 2px;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
  display: flex;
  align-items: center;
  gap: var(--odstep-sm);
  padding: var(--odstep-sm) var(--odstep-md);
  border-radius: var(--radius-maly);
  color: var(--kolor-tekst-secondary);
  font-size: 14px;
  font-weight: 500;
  transition: all var(--transition);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
  background: var(--kolor-hover-jasny);
  color: var(--kolor-tekst);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
  background: var(--kolor-primary-jasny);
  color: var(--kolor-primary);
  font-weight: 600;
}

/* Tresc konta */
.woocommerce-account .woocommerce-MyAccount-content {
  background: var(--kolor-surface);
  border-radius: var(--radius-duzy);
  padding: var(--odstep-xl);
  box-shadow: var(--cien-karta);
}

.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3 {
  font-family: var(--font-naglowki);
  font-size: 22px;
  margin-bottom: var(--odstep-lg);
}

/* Tabela zamowien w koncie */
.woocommerce-account table.woocommerce-orders-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}

.woocommerce-account table.woocommerce-orders-table th {
  text-align: left;
  padding: var(--odstep-sm) var(--odstep-md);
  border-bottom: 2px solid var(--kolor-border);
  font-weight: 600;
  color: var(--kolor-tekst-secondary);
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.woocommerce-account table.woocommerce-orders-table td {
  padding: var(--odstep-md);
  border-bottom: 1px solid var(--kolor-border);
}

/* Statusy zamowien */
.woocommerce-account .woocommerce-orders-table .woocommerce-orders-table__cell-order-status {
  font-weight: 600;
}

/* Responsywna tabela zamowien */
@media (max-width: 767px) {
  .woocommerce-account table.woocommerce-orders-table thead {
    display: none;
  }

  .woocommerce-account table.woocommerce-orders-table tr {
    display: block;
    margin-bottom: var(--odstep-md);
    border: 1px solid var(--kolor-border);
    border-radius: var(--radius-maly);
    padding: var(--odstep-md);
  }

  .woocommerce-account table.woocommerce-orders-table td {
    display: flex;
    justify-content: space-between;
    padding: var(--odstep-xs) 0;
    border: none;
  }

  .woocommerce-account table.woocommerce-orders-table td::before {
    content: attr(data-title);
    font-weight: 600;
    color: var(--kolor-tekst);
  }
}

/* Formularze w koncie (edycja adresu, haslo) */
.woocommerce-account .woocommerce-EditAccountForm fieldset {
  border: 1px solid var(--kolor-border);
  border-radius: var(--radius-sredni);
  padding: var(--odstep-lg);
  margin-bottom: var(--odstep-lg);
}

.woocommerce-account .woocommerce-EditAccountForm fieldset legend {
  font-family: var(--font-naglowki);
  font-weight: 600;
  font-size: 16px;
  padding: 0 var(--odstep-sm);
  color: var(--kolor-tekst);
}

/* Logowanie / rejestracja */
.woocommerce-account .woocommerce form.login,
.woocommerce-account .woocommerce form.register {
  background: var(--kolor-surface);
  border-radius: var(--radius-duzy);
  padding: var(--odstep-xl);
  box-shadow: var(--cien-karta);
  border: none;
  margin: 0;
}

/* =============================================
   PAGINACJA WC
   Dopasowanie do .paginacja
   ============================================= */
.woocommerce nav.woocommerce-pagination {
  margin-top: var(--odstep-xl);
  text-align: center;
}

.woocommerce nav.woocommerce-pagination ul {
  display: inline-flex;
  justify-content: center;
  gap: var(--odstep-sm);
  border: none;
  list-style: none;
  padding: 0;
  margin: 0;
}

.woocommerce nav.woocommerce-pagination ul li {
  border: none;
  margin: 0;
  padding: 0;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-maly);
  font-size: 14px;
  font-weight: 500;
  color: var(--kolor-tekst-secondary);
  border: 1px solid var(--kolor-border);
  transition: all var(--transition);
  background: var(--kolor-surface);
  min-width: auto;
  padding: 0;
}

.woocommerce nav.woocommerce-pagination ul li a:hover {
  border-color: var(--kolor-primary);
  color: var(--kolor-primary);
  background: var(--kolor-surface);
}

.woocommerce nav.woocommerce-pagination ul li span.current {
  background: var(--kolor-primary);
  color: #fff;
  border-color: var(--kolor-primary);
}

/* =============================================
   SORTOWANIE I WYNIKI
   Dopasowanie do .listing-naglowek, .listing-sortowanie
   ============================================= */
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering {
  margin: 0;
}

.woocommerce .woocommerce-result-count {
  font-size: 14px;
  color: var(--kolor-tekst-secondary);
  line-height: 40px;
}

.woocommerce .woocommerce-ordering select {
  padding: 8px 12px;
  border: 1px solid var(--kolor-border);
  border-radius: var(--radius-maly);
  font-family: var(--font-tekst);
  font-size: 14px;
  color: var(--kolor-tekst);
  background: var(--kolor-surface);
  cursor: pointer;
  transition: border-color var(--transition);
}

.woocommerce .woocommerce-ordering select:focus {
  outline: none;
  border-color: var(--kolor-secondary);
}

/* Kontener sortowania i wynikow */
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering {
  float: none;
}

.woocommerce::before,
.woocommerce::after {
  /* Usun clearfix jesli uzyty */
}

/* =============================================
   POWIAZANE / UPSELL PRODUKTY
   ============================================= */
.woocommerce div.product .related,
.woocommerce div.product .upsells,
.woocommerce .cross-sells {
  grid-column: 1 / -1;
  clear: both;
  width: 100%;
  margin-top: var(--odstep-xl);
  padding-top: var(--odstep-xl);
  border-top: 1px solid var(--kolor-border);
}

.woocommerce div.product .related h2,
.woocommerce div.product .upsells h2,
.woocommerce .cross-sells h2 {
  font-family: var(--font-naglowki);
  font-size: 24px;
  font-weight: 700;
  margin-bottom: var(--odstep-lg);
  padding-bottom: var(--odstep-sm);
}

/* Related/upsell produkty - max 4 kolumny */
.woocommerce div.product .related ul.products,
.woocommerce div.product .upsells ul.products {
  grid-template-columns: repeat(2, 1fr);
}

@media (min-width: 768px) {
  .woocommerce div.product .related ul.products,
  .woocommerce div.product .upsells ul.products {
    grid-template-columns: repeat(4, 1fr);
  }
}

/* =============================================
   RECENZJE
   ============================================= */
.woocommerce #reviews #comments ol.commentlist {
  list-style: none;
  padding: 0;
  margin: 0;
}

.woocommerce #reviews #comments ol.commentlist li {
  margin-bottom: var(--odstep-lg);
  padding-bottom: var(--odstep-lg);
  border-bottom: 1px solid var(--kolor-border);
}

.woocommerce #reviews #comments ol.commentlist li:last-child {
  border-bottom: none;
}

.woocommerce #reviews #comments ol.commentlist li img.avatar {
  width: 48px;
  height: 48px;
  border-radius: var(--radius-okragly);
  border: none;
  padding: 0;
}

.woocommerce #reviews #comments ol.commentlist li .comment-text {
  border: none;
  padding: 0;
  margin: 0 0 0 64px;
}

.woocommerce #reviews #comments ol.commentlist li .comment-text .meta {
  font-size: 13px;
  color: var(--kolor-tekst-secondary);
  margin-bottom: var(--odstep-sm);
}

.woocommerce #reviews #comments ol.commentlist li .comment-text .meta strong {
  color: var(--kolor-tekst);
}

.woocommerce #reviews #comments ol.commentlist li .comment-text .description p {
  font-size: 14px;
  color: var(--kolor-tekst-secondary);
  line-height: 1.7;
}

/* Formularz recenzji */
.woocommerce #review_form #respond {
  margin-top: var(--odstep-xl);
}

.woocommerce #review_form #respond .comment-form-rating {
  margin-bottom: var(--odstep-md);
}

.woocommerce #review_form #respond .comment-form-rating label {
  display: block;
  font-weight: 600;
  margin-bottom: var(--odstep-sm);
}

/* =============================================
   WIDGETY WC
   ============================================= */
.woocommerce .widget_price_filter .price_slider {
  margin-bottom: var(--odstep-md);
}

.woocommerce .widget_price_filter .ui-slider .ui-slider-handle {
  background: var(--kolor-primary);
  border: 2px solid #fff;
  box-shadow: var(--cien-maly);
  border-radius: var(--radius-okragly);
  width: 20px;
  height: 20px;
  top: -6px;
}

.woocommerce .widget_price_filter .ui-slider .ui-slider-range {
  background: var(--kolor-primary);
}

.woocommerce .widget_price_filter .price_slider_wrapper .ui-widget-content {
  background: var(--kolor-border);
  border-radius: 4px;
}

.woocommerce .widget_price_filter .price_slider_amount {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 13px;
  color: var(--kolor-tekst-secondary);
}

.woocommerce .widget_price_filter .price_slider_amount .button {
  padding: 6px 14px;
  font-size: 12px;
}

/* =============================================
   MINI CART (KOSZYK W NAWIGACJI)
   ============================================= */
.woocommerce .widget_shopping_cart .cart_list li,
.woocommerce.widget_shopping_cart .cart_list li {
  padding: var(--odstep-sm) 0;
  border-bottom: 1px solid var(--kolor-border);
}

.woocommerce .widget_shopping_cart .cart_list li a,
.woocommerce.widget_shopping_cart .cart_list li a {
  font-weight: 500;
  color: var(--kolor-tekst);
  font-size: 14px;
}

.woocommerce .widget_shopping_cart .total,
.woocommerce.widget_shopping_cart .total {
  border-top: 2px solid var(--kolor-border);
  padding-top: var(--odstep-md);
  margin-top: var(--odstep-sm);
  font-family: var(--font-naglowki);
  font-weight: 700;
  font-size: 16px;
}

.woocommerce .widget_shopping_cart .total .amount,
.woocommerce.widget_shopping_cart .total .amount {
  color: var(--kolor-primary);
}

/* =============================================
   LOADING / BLOCKUI OVERLAY
   ============================================= */
.woocommerce .blockUI.blockOverlay {
  background: rgba(255, 255, 255, 0.7) !important;
  opacity: 1 !important;
}

.woocommerce .loader::before,
.woocommerce .blockUI.blockOverlay::before {
  border-color: var(--kolor-border);
  border-top-color: var(--kolor-primary);
}

/* =============================================
   KUPONY
   ============================================= */
.woocommerce .coupon {
  display: flex;
  gap: var(--odstep-sm);
  align-items: center;
  flex-wrap: wrap;
}

.woocommerce .coupon input.input-text {
  flex: 1;
  min-width: 150px;
  padding: 11px 14px;
  border: 1px solid var(--kolor-border);
  border-radius: var(--radius-maly);
  font-family: var(--font-tekst);
  font-size: 14px;
}

.woocommerce .coupon input.input-text:focus {
  outline: none;
  border-color: var(--kolor-secondary);
  box-shadow: 0 0 0 3px rgba(43, 124, 233, 0.1);
}

.woocommerce .coupon .button {
  padding: 11px 20px;
  font-size: 13px;
}

/* =============================================
   PUSTY KOSZYK / BRAK PRODUKTOW
   ============================================= */
.woocommerce .cart-empty,
.woocommerce .woocommerce-info.cart-empty {
  text-align: center;
  padding: var(--odstep-3xl) var(--odstep-xl);
}

.woocommerce .return-to-shop {
  text-align: center;
  margin-top: var(--odstep-lg);
}

.woocommerce-page .woocommerce-info.wc-empty-cart-message {
  text-align: center;
  border-left: none;
  justify-content: center;
}

/* Brak produktow */
.woocommerce p.woocommerce-info.wc-no-matching-products {
  text-align: center;
  padding: var(--odstep-2xl);
}

/* =============================================
   DZIEKUJEMY (ORDER RECEIVED / THANK YOU)
   ============================================= */
.woocommerce-order-received .woocommerce-thankyou-order-received {
  font-family: var(--font-naglowki);
  font-size: 20px;
  font-weight: 600;
  color: var(--kolor-sukces);
  text-align: center;
  margin-bottom: var(--odstep-xl);
}

.woocommerce-order-received .woocommerce-order-details,
.woocommerce-order-received .woocommerce-customer-details {
  background: var(--kolor-surface);
  border-radius: var(--radius-duzy);
  padding: var(--odstep-xl);
  box-shadow: var(--cien-karta);
  margin-bottom: var(--odstep-lg);
}

/* =============================================
   RESPONSYWNOSC - POPRAWKI GLOBALNE
   ============================================= */
@media (max-width: 767px) {
  .woocommerce div.product {
    grid-template-columns: 1fr;
  }

  .woocommerce form.checkout {
    grid-template-columns: 1fr;
  }

  .woocommerce-account.logged-in .entry-content {
    grid-template-columns: 1fr;
  }

  .woocommerce div.product .product_title {
    font-size: 24px;
  }

  .woocommerce div.product p.price,
  .woocommerce div.product span.price {
    font-size: 26px;
  }
}

/* =============================================
   MOJE KONTO - LOGOWANIE / REJESTRACJA (50/50)
   ============================================= */

/* Ukryj naglowek "Moje konto" na stronie logowania */
.woocommerce-account:not(.logged-in) article > h1 {
  display: none;
}

/* Kontener logowania - wycentrowany */
.woocommerce-account:not(.logged-in) .entry-content {
  max-width: 900px;
  margin: 60px auto;
  padding: 0 var(--odstep-md);
}

/* Siatka 50/50 */
.woocommerce-account #customer_login {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--odstep-xl);
}

@media (min-width: 768px) {
  .woocommerce-account #customer_login {
    grid-template-columns: 1fr 1fr;
    gap: var(--odstep-2xl);
    align-items: start;
  }
}

/* Reset WC float layout na col2-set */
.woocommerce-account #customer_login.col2-set::before,
.woocommerce-account #customer_login.col2-set::after {
  display: none;
}

/* Kolumny logowania i rejestracji */
.woocommerce-account #customer_login .col-1,
.woocommerce-account #customer_login .col-2 {
  width: 100% !important;
  float: none !important;
  padding: var(--odstep-xl);
  background: var(--kolor-surface);
  border-radius: var(--radius-duzy);
  box-shadow: var(--cien-karta);
  border: 1px solid var(--kolor-border);
}

/* Reset WC form styles */
.woocommerce-account #customer_login .woocommerce-form-login,
.woocommerce-account #customer_login .woocommerce-form-register {
  border: none;
  padding: 0;
  margin: 0;
  border-radius: 0;
}

/* Naglowki h2 w formularzach */
.woocommerce-account #customer_login h2 {
  font-family: var(--font-naglowki);
  font-size: 24px;
  font-weight: 700;
  color: var(--kolor-tekst);
  margin-bottom: var(--odstep-lg);
  padding-bottom: var(--odstep-md);
  border-bottom: 2px solid var(--kolor-primary);
}

/* Pola formularza */
.woocommerce-account #customer_login .form-row {
  margin-bottom: var(--odstep-md);
}

.woocommerce-account #customer_login label {
  display: block;
  font-family: var(--font-naglowki);
  font-size: 14px;
  font-weight: 600;
  color: var(--kolor-tekst);
  margin-bottom: 6px;
}

.woocommerce-account #customer_login label .required {
  color: var(--kolor-primary);
}

.woocommerce-account #customer_login input[type="text"],
.woocommerce-account #customer_login input[type="email"],
.woocommerce-account #customer_login input[type="password"] {
  width: 100%;
  padding: 14px 16px;
  border: 2px solid var(--kolor-border);
  border-radius: var(--radius-sredni);
  font-size: 15px;
  font-family: var(--font-tekst);
  transition: border-color var(--transition);
  background: #fff;
  box-sizing: border-box;
}

.woocommerce-account #customer_login input:focus {
  outline: none;
  border-color: var(--kolor-primary);
  box-shadow: 0 0 0 3px rgba(245, 133, 31, 0.1);
}

/* Checkbox "Zapamietaj mnie" */
.woocommerce-account #customer_login .woocommerce-form-login__rememberme {
  display: flex;
  align-items: center;
  gap: var(--odstep-sm);
  font-size: 14px;
  color: var(--kolor-tekst-secondary);
  margin-bottom: var(--odstep-md);
  cursor: pointer;
}

.woocommerce-account #customer_login .woocommerce-form-login__rememberme input {
  width: 18px;
  height: 18px;
  accent-color: var(--kolor-primary);
}

/* Przyciski */
.woocommerce-account #customer_login button[type="submit"] {
  width: 100%;
  padding: 14px 28px;
  background: var(--kolor-primary);
  color: #fff;
  border: none;
  border-radius: var(--radius-sredni);
  font-family: var(--font-naglowki);
  font-weight: 600;
  font-size: 16px;
  cursor: pointer;
  transition: all var(--transition);
}

.woocommerce-account #customer_login button[type="submit"]:hover {
  background: var(--kolor-primary-ciemny);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(245, 133, 31, 0.35);
}

/* Link "Nie pamietasz hasla?" */
.woocommerce-account #customer_login .woocommerce-LostPassword {
  margin-top: var(--odstep-md);
  text-align: center;
}

.woocommerce-account #customer_login .woocommerce-LostPassword a {
  color: var(--kolor-secondary);
  font-size: 14px;
  text-decoration: none;
}

.woocommerce-account #customer_login .woocommerce-LostPassword a:hover {
  text-decoration: underline;
}

/* Tekst pod formularzem rejestracji */
.woocommerce-account #customer_login .u-column2 .woocommerce-privacy-policy-text {
  font-size: 12px;
  color: var(--kolor-tekst-jasny);
  margin-bottom: var(--odstep-md);
}

.woocommerce-account #customer_login .u-column2 .woocommerce-privacy-policy-text a {
  color: var(--kolor-secondary);
}

/* Password wrapper - WC password toggle */
.woocommerce-account #customer_login .woocommerce-form-login .password-input,
.woocommerce-account #customer_login .woocommerce-form-register .password-input {
  position: relative;
}

.woocommerce-account #customer_login .show-password-input {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  cursor: pointer;
  color: var(--kolor-tekst-jasny);
}

/* Responsywnosc - mobile */
@media (max-width: 767px) {
  .woocommerce-account:not(.logged-in) .entry-content {
    margin: 30px auto;
  }

  .woocommerce-account #customer_login .u-column1,
  .woocommerce-account #customer_login .u-column2 {
    padding: var(--odstep-lg);
  }
}
