/* Widoki WooCommerce (koszyk, kasa, konto, archiwa) w wyglądzie WYŁUSKANE.
   Woo generuje swój markup, więc zamiast go przepisywać – ubieramy go w nasze tokeny:
   te same fonty, kolory, promienie, odstępy i stany przycisków co w projekcie. */

.woocommerce,
.woocommerce-page .e-con-inner,
.woocommerce-cart .entry-content,
.woocommerce-checkout .entry-content {
  font-family: var(--font-sans);
  color: var(--color-text);
}

/* Nagłówki */
.woocommerce h1,
.woocommerce h2,
.woocommerce h3,
.woocommerce-page h1,
.woocommerce-page h2,
.woocommerce-page h3 {
  font-family: var(--font-serif);
  font-weight: var(--weight-regular);
  letter-spacing: var(--tracking-tight);
  color: var(--color-heading);
}

/* Przyciski */
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: var(--control-height);
  padding-inline: var(--space-l);
  border: 0;
  border-radius: var(--radius-s);
  background: var(--color-action);
  color: var(--color-on-action);
  font-family: var(--font-sans);
  font-size: var(--text-small);
  font-weight: var(--weight-medium);
  letter-spacing: var(--tracking-caps);
  text-transform: uppercase;
  box-shadow: var(--shadow-1);
  transition: background-color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover {
  background: var(--color-action-hover);
  color: var(--color-on-action);
  transform: translateY(var(--lift));
  box-shadow: var(--shadow-2);
}
.woocommerce a.button:active,
.woocommerce button.button:active,
.woocommerce input.button:active { background: var(--color-action-active); transform: translateY(0); }
.woocommerce button.button:disabled,
.woocommerce button.button:disabled[disabled] {
  background: var(--color-disabled-bg);
  color: var(--color-disabled-text);
}

/* Tabele: koszyk, zamówienie, konto */
.woocommerce table.shop_table {
  border: var(--border-width) solid var(--color-line);
  border-radius: var(--radius-m);
  border-collapse: separate;
  background: var(--color-surface);
  box-shadow: var(--shadow-1);
  font-size: var(--text-small);
}
.woocommerce table.shop_table th {
  padding: var(--space-m) var(--space-s);
  font-family: var(--font-sans);
  font-size: var(--text-micro);
  font-weight: var(--weight-medium);
  letter-spacing: var(--tracking-caps);
  text-transform: uppercase;
  color: var(--color-heading);
  border-bottom: var(--border-width) solid var(--color-line);
}
.woocommerce table.shop_table td { padding: var(--space-m) var(--space-s); border-top: var(--border-width) solid var(--color-line); }
.woocommerce table.shop_table tbody tr:hover { background: var(--color-paper); }
.woocommerce table.shop_table img { width: var(--space-3xl); border-radius: var(--radius-s); }
.woocommerce .cart_item a,
.woocommerce .woocommerce-cart-form a:not(.button) { color: var(--color-heading); text-decoration: none; }
.woocommerce .cart_item a:hover { color: var(--color-action); }
.woocommerce .variation,
.woocommerce dl.variation { margin: var(--space-3xs) 0 0; font-size: var(--text-micro); color: var(--color-text); }
.woocommerce dl.variation dt { font-weight: var(--weight-medium); }

/* Ceny */
.woocommerce .amount,
.woocommerce .price { font-family: var(--font-sans); color: var(--color-heading); }
.woocommerce del .amount { color: var(--color-text); opacity: var(--muted-opacity); }
.woocommerce ins { background: none; text-decoration: none; }

/* Podsumowania: koszyk i kasa */
.woocommerce .cart_totals,
.woocommerce .cart-collaterals .cross-sells,
.woocommerce-checkout #order_review,
.woocommerce-checkout .woocommerce-checkout-review-order {
  padding: var(--space-l);
  border: var(--border-width) solid var(--color-line);
  border-radius: var(--radius-m);
  background: var(--color-paper);
  box-shadow: var(--shadow-1);
}
.woocommerce .cart_totals h2,
.woocommerce-checkout h3 {
  margin-top: 0;
  font-size: var(--step-2);
}

/* Formularze */
.woocommerce form .form-row label,
.woocommerce-page form .form-row label {
  font-size: var(--text-small);
  color: var(--color-heading);
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-page form .form-row input.input-text,
.select2-container .select2-selection--single {
  min-height: var(--control-height);
  padding: var(--space-2xs) var(--space-s);
  border: var(--border-width) solid var(--color-line-strong);
  border-radius: var(--radius-s);
  background: var(--color-white);
  font-family: var(--font-sans);
  font-size: var(--text-small);
  color: var(--color-heading);
}
.woocommerce form .form-row input.input-text:focus-visible,
.woocommerce form .form-row textarea:focus-visible,
.woocommerce form .form-row select:focus-visible {
  outline: var(--focus-ring);
  outline-offset: var(--focus-offset);
}

/* Komunikaty */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  border-top-color: var(--color-action);
  border-radius: var(--radius-s);
  background: var(--color-sage-100);
  font-size: var(--text-small);
  color: var(--color-heading);
}
.woocommerce-error { background: var(--color-lavender-100); border-top-color: var(--color-lavender-700); }
.woocommerce-message::before,
.woocommerce-info::before { color: var(--color-action); }

/* Konto klientki */
.woocommerce-account .woocommerce-MyAccount-navigation ul { margin: 0; padding: 0; list-style: none; }
.woocommerce-account .woocommerce-MyAccount-navigation li {
  border-bottom: var(--border-width) solid var(--color-line);
}
.woocommerce-account .woocommerce-MyAccount-navigation li a {
  display: block;
  padding: var(--space-s) var(--space-2xs);
  color: var(--color-heading);
  font-size: var(--text-small);
  text-decoration: none;
  transition: color var(--dur-fast) var(--ease-out), padding-left var(--dur-fast) var(--ease-out);
}
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover { color: var(--color-action); padding-left: var(--space-xs); }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { font-weight: var(--weight-medium); color: var(--color-action); }

/* Siatka produktów (archiwa) */
.woocommerce ul.products li.product a,
.woocommerce ul.products li.product a h2,
.elementor-widget-woocommerce-archive-products ul.products li.product a { color: var(--color-heading); text-decoration: none; }
.woocommerce ul.products li.product a:hover h2,
.woocommerce ul.products li.product a:hover .woocommerce-loop-product__title { color: var(--color-action); }
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--font-serif);
  font-size: var(--step-1);
  color: var(--color-heading);
}
.woocommerce ul.products li.product img { border-radius: var(--radius-m); box-shadow: var(--shadow-1); transition: transform var(--dur-slow) var(--ease-out); }
.woocommerce ul.products li.product:hover img { transform: scale(var(--zoom-hover)); }
.woocommerce ul.products li.product .price { font-size: var(--text-small); }

@media (prefers-reduced-motion: reduce) {
  .woocommerce a.button, .woocommerce button.button, .woocommerce ul.products li.product img { transition-duration: 0s; }
  .woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce ul.products li.product:hover img { transform: none; }
}
