/* ==========================================================================
   woo.css - sklep w tokenach motywu (A6). Ladowany TYLKO na stronach WooCommerce.
   Domyslne arkusze Woo zostaja wlaczone (nie da sie pokryc calosci bez ryzyka),
   ten plik je nadpisuje. Zero hardcoded hex/px poza rzeczami czysto technicznymi.
   Kolejnosc: zmienne Woo -> layout -> tabele -> formularze -> przyciski -> komunikaty
              -> strona produktu -> podziekowanie -> mobile.
   ========================================================================== */

/* --- Zmienne, ktore Woo rozdaje wlasnym komponentom (stad domyslny fiolet) --- */
.woocommerce,
.woocommerce-page,
body.woocommerce-cart,
body.woocommerce-checkout,
body.woocommerce-account,
body.single-product {
  --wc-green: var(--navy);
  --wc-red: #b3261e; /* komunikat bledu - kolor spoza palety marki, celowo czytelny */
  --wc-orange: var(--gold-deep);
  --wc-blue: var(--navy-soft);
  --wc-primary: var(--navy);
  --wc-primary-text: var(--text-on-dark);
  --wc-secondary: var(--sand);
  --wc-secondary-text: var(--navy-deep);
  --wc-highlight: var(--navy);
  --wc-highligh-text: var(--text-on-dark);
  --wc-content-bg: var(--paper);
  --wc-subtext: var(--text-muted);
  --wc-form-border-color: var(--line);
  --wc-form-color-text: var(--text-body);
  --wc-form-border-radius: var(--radius-1);
}

/* --- Layout: sklep siedzi w chromie motywu (.section--page) ---------------- */
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-error,
.woocommerce-page .woocommerce-message,
.woocommerce-page .woocommerce-info,
.woocommerce-page .woocommerce-error {
  background: var(--sand);
  color: var(--text-body);
  border-top: 3px solid var(--gold-deep);
  border-radius: var(--radius-1);
  font-family: var(--font-body);
  font-size: var(--fs-small);
  line-height: var(--lh-body);
  list-style: none;
}
.woocommerce .woocommerce-error,
.woocommerce-page .woocommerce-error {
  background: color-mix(in srgb, var(--sand) 55%, #fff);
  border-top-color: #b3261e;
}
.woocommerce .woocommerce-message::before,
.woocommerce .woocommerce-info::before,
.woocommerce .woocommerce-error::before { color: var(--gold-deep); }

.woocommerce .woocommerce-breadcrumb { display: none; }
.woocommerce #reviews, .woocommerce .related, .woocommerce .upsells { display: none; }

/* Woo dokleja wlasne wrappery wewnatrz .section__inner - maja plynac na 100%. */
.section--woo .wrapper,
.section--woo #container,
.section--woo #content { width: 100%; max-width: none; margin: 0; padding: 0; }
.section--page .woocommerce { max-width: none; }

/* --- Naglowki i typografia wewnatrz sklepu -------------------------------- */
.woocommerce h2,
.woocommerce h3,
.woocommerce-checkout h3,
.woocommerce-cart h2 {
  font-family: var(--font-display);
  font-weight: var(--w-heavy);
  font-size: var(--fs-h3);
  line-height: var(--lh-h3);
  color: var(--navy);
  margin: var(--sp-7) 0 var(--sp-4);
}
.woocommerce table.shop_table th,
.woocommerce table.shop_table td { font-family: var(--font-body); font-size: var(--fs-body); color: var(--text-body); }

/* --- Tabele (koszyk, podsumowanie zamowienia) ----------------------------- */
.woocommerce table.shop_table,
.woocommerce table.shop_table_responsive {
  border: 1px solid var(--line);
  border-radius: var(--radius-1);
  border-collapse: collapse;
  background: var(--paper);
  width: 100%;
}
.woocommerce table.shop_table th {
  font-family: var(--font-mono);
  font-size: var(--fs-kicker);
  letter-spacing: var(--tr-kicker);
  text-transform: uppercase;
  color: var(--text-muted);
  font-weight: var(--w-body-medium);
  padding: var(--sp-4) var(--sp-4);
  border-bottom: 1px solid var(--line);
  text-align: left;
}
.woocommerce table.shop_table td {
  padding: var(--sp-4);
  border-top: 1px solid var(--line);
  vertical-align: middle;
}
.woocommerce table.shop_table tfoot th,
.woocommerce table.shop_table tfoot td { font-weight: 700; color: var(--navy); }
.woocommerce table.shop_table .product-thumbnail img { width: 64px; border-radius: var(--radius-1); }
.woocommerce .cart_item .product-name a { font-weight: var(--w-body-medium); }
.woocommerce a.remove {
  color: var(--navy) !important;
  width: 1.5em; height: 1.5em; line-height: 1.4;
}
.woocommerce a.remove:hover { background: var(--navy); color: var(--paper) !important; }
.woocommerce .quantity .qty {
  min-height: 44px;
  border: 1px solid var(--line);
  border-radius: var(--radius-1);
  background: var(--paper);
  color: var(--text-body);
  font-family: var(--font-body);
  padding: 0 var(--sp-2);
}

/* Dopisek "18 zl wliczone w cene wariantu" przy metodzie wysylki. */
.om-ship-note {
  display: block;
  font-family: var(--font-mono);
  font-size: var(--fs-kicker);
  letter-spacing: .04em;
  color: var(--text-muted);
  margin-top: var(--sp-1);
}
.woocommerce ul#shipping_method li { margin: 0 0 var(--sp-2); }

/* --- Formularze ----------------------------------------------------------- */
.woocommerce form .form-row { padding: 0 0 var(--sp-4); margin: 0; }
.woocommerce form .form-row label {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--text-muted);
  display: block;
  margin-bottom: var(--sp-2);
}
.woocommerce form .form-row label.checkbox,
.woocommerce form .form-row .woocommerce-form__label-for-checkbox span {
  font-family: var(--font-body);
  font-size: var(--fs-small);
  letter-spacing: 0;
  text-transform: none;
  color: var(--text-body);
}
.woocommerce form .form-row .required { color: var(--gold-deep); text-decoration: none; }

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce .select2-container .select2-selection--single {
  background: transparent;
  border: none;
  border-bottom: 1px solid var(--navy);
  border-radius: var(--radius-0);
  padding: 6px 0 10px;
  min-height: 44px;
  width: 100%;
  font-family: var(--font-body);
  font-size: var(--fs-body);
  color: var(--text-body);
  box-shadow: none;
  transition: border-color var(--dur-hover) var(--ease-page);
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
  outline: none;
  border-bottom: 2px solid var(--gold-deep);
}
.woocommerce form .form-row.woocommerce-invalid input.input-text { border-bottom-color: #b3261e; }
.woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered {
  line-height: 44px; color: var(--text-body); padding-left: 0;
}
.woocommerce .select2-container--default .select2-selection--single .select2-selection__arrow { height: 44px; }

/* Checkboxy: cel dotykowy 44 px i wyrazny stan. */
.woocommerce form .form-row .input-checkbox,
.woocommerce-form__input-checkbox,
#om_invoice {
  width: 20px; height: 20px;
  accent-color: var(--navy);
  margin: 0 var(--sp-3) 0 0;
  vertical-align: middle;
}
.woocommerce form .form-row label.checkbox,
.woocommerce-form__label-for-checkbox {
  display: flex; align-items: flex-start; gap: var(--sp-2);
  min-height: 44px; padding-top: var(--sp-2);
  cursor: pointer;
}

/* --- Blok faktury (A3) ---------------------------------------------------- */
.om-invoice {
  margin-top: var(--sp-5);
  padding-top: var(--sp-5);
  border-top: 1px solid var(--line);
}
.om-invoice__fields {
  margin-top: var(--sp-3);
  padding: var(--sp-4) var(--sp-5) var(--sp-2);
  background: color-mix(in srgb, var(--sand) 40%, transparent);
  border-radius: var(--radius-1);
}
.om-invoice__fields[hidden] { display: none !important; }
.om-invoice__note {
  font-family: var(--font-body);
  font-size: var(--fs-small);
  color: var(--text-muted);
  margin: 0 0 var(--sp-4);
}
.om-privacy-note {
  font-size: var(--fs-small);
  color: var(--text-muted);
  margin: var(--sp-3) 0 0;
}

/* --- Przyciski: przejmujemy wyglad .btn ----------------------------------- */
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #place_order,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
  font-family: var(--font-body);
  font-weight: 700;
  font-size: 15px;
  letter-spacing: .03em;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--sp-2);
  padding: 0 28px;
  min-height: 48px;
  border-radius: var(--radius-1);
  border: 1px solid var(--navy);
  background: var(--navy);
  color: var(--text-on-dark);
  text-decoration: none;
  text-shadow: none;
  transition: background var(--dur-hover) var(--ease-page), color var(--dur-hover) var(--ease-page);
}
.woocommerce #respond input#submit:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #place_order:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover {
  background: var(--navy-soft);
  border-color: var(--navy-soft);
  color: var(--text-on-dark);
}
.woocommerce a.button.wc-backward,
.woocommerce .cart .button[name="update_cart"] {
  background: transparent;
  color: var(--navy);
  border-color: var(--navy);
}
.woocommerce a.button.wc-backward:hover,
.woocommerce .cart .button[name="update_cart"]:hover {
  background: color-mix(in srgb, var(--navy) 7%, transparent);
  color: var(--navy);
}
.woocommerce .button[disabled], .woocommerce .button:disabled { opacity: .45; }

.woocommerce .cart-collaterals .cart_totals,
.woocommerce-checkout #order_review {
  background: color-mix(in srgb, var(--sand) 35%, transparent);
  border: 1px solid var(--line);
  border-radius: var(--radius-1);
  padding: var(--sp-5);
}
.woocommerce .cart-collaterals .cart_totals table.shop_table,
.woocommerce-checkout #order_review table.shop_table { border: none; background: transparent; }
.woocommerce-checkout #payment { background: transparent; border-radius: var(--radius-1); }
.woocommerce-checkout #payment ul.payment_methods {
  border-bottom: 1px solid var(--line);
  padding: 0 0 var(--sp-4);
}
.woocommerce-checkout #payment div.payment_box {
  background: color-mix(in srgb, var(--sand) 55%, transparent);
  color: var(--text-body);
  font-size: var(--fs-small);
  border-radius: var(--radius-1);
}
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: color-mix(in srgb, var(--sand) 55%, transparent); }
.woocommerce-checkout #payment div.form-row.place-order { padding: var(--sp-5) 0 0; }

/* Kupon: nie sprzedajemy z kodami w v1, ale pole ma nie odstawac. */
.woocommerce .coupon .input-text { max-width: 260px; }

/* --- Strona produktu ------------------------------------------------------ */
.woocommerce div.product { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(24px, 4vw, 64px); }
.woocommerce div.product div.images { float: none; width: 100%; margin: 0; }
.woocommerce div.product div.images img { border-radius: var(--radius-1); box-shadow: var(--shadow-tile); }
.woocommerce div.product div.summary { float: none; width: 100%; margin: 0; }
.woocommerce div.product .product_title {
  font-family: var(--font-display);
  font-weight: var(--w-heavy);
  font-size: var(--fs-d2);
  line-height: var(--lh-d2);
  color: var(--navy);
  margin: 0 0 var(--sp-4);
}
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  font-family: var(--font-display);
  font-weight: var(--w-heavy);
  font-size: var(--fs-h2);
  color: var(--navy);
  margin: 0 0 var(--sp-4);
}
.woocommerce div.product .woocommerce-product-details__short-description {
  font-size: var(--fs-body);
  line-height: var(--lh-body);
  color: var(--text-body);
  max-width: var(--measure);
}
.woocommerce div.product form.cart { margin: var(--sp-6) 0 0; }
.woocommerce div.product form.cart .variations { border: none; margin-bottom: var(--sp-4); }
.woocommerce div.product form.cart .variations td { padding: 0 0 var(--sp-3); display: block; }
.woocommerce div.product form.cart .variations label {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--text-muted);
}
.woocommerce div.product form.cart .variations select {
  min-height: 44px;
  border: 1px solid var(--line);
  border-radius: var(--radius-1);
  background: var(--paper);
  color: var(--text-body);
  font-family: var(--font-body);
  padding: 0 var(--sp-3);
  width: 100%;
  max-width: 420px;
}
.woocommerce div.product .woocommerce-variation-price { margin-bottom: var(--sp-4); }
.woocommerce div.product .product_meta { display: none; }

/* --- "Zamowienie otrzymane" ----------------------------------------------- */
.woocommerce .woocommerce-order .woocommerce-notice--success {
  font-family: var(--font-display);
  font-weight: var(--w-heavy);
  font-size: var(--fs-h2);
  line-height: var(--lh-h2);
  color: var(--navy);
  background: none;
  border: none;
  padding: 0 0 var(--sp-5);
}
.woocommerce .woocommerce-order .woocommerce-notice--success::before { display: none; }
.woocommerce ul.woocommerce-order-overview {
  display: flex; flex-wrap: wrap; gap: var(--sp-5);
  list-style: none; margin: 0 0 var(--sp-6); padding: var(--sp-5);
  border: 1px solid var(--line); border-radius: var(--radius-1);
  background: color-mix(in srgb, var(--sand) 35%, transparent);
}
.woocommerce ul.woocommerce-order-overview li {
  border: none; float: none; margin: 0; padding: 0;
  font-family: var(--font-mono); font-size: var(--fs-kicker);
  letter-spacing: .12em; text-transform: uppercase; color: var(--text-muted);
}
.woocommerce ul.woocommerce-order-overview li strong {
  display: block; margin-top: var(--sp-2);
  font-family: var(--font-body); font-size: var(--fs-body);
  letter-spacing: 0; text-transform: none; color: var(--navy); font-weight: 700;
}

/* --- Moje konto ----------------------------------------------------------- */
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation li a { display: block; padding: var(--sp-3) 0; min-height: 44px; }

/* --- Mobile: checkout jednokolumnowy poniżej 768 px ----------------------- */
@media (max-width: 767px) {
  .woocommerce div.product { grid-template-columns: minmax(0, 1fr); }
  .woocommerce .col2-set,
  .woocommerce-page .col2-set { display: block; }
  .woocommerce .col2-set .col-1,
  .woocommerce .col2-set .col-2,
  .woocommerce-page .col2-set .col-1,
  .woocommerce-page .col2-set .col-2 { float: none; 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 .cart-collaterals .cart_totals,
  .woocommerce-checkout #order_review { width: 100%; float: none; padding: var(--sp-4); }
  .woocommerce table.shop_table_responsive tr td { text-align: right; }
  .woocommerce #content table.cart td.actions .coupon .input-text { width: 100%; margin-bottom: var(--sp-3); }
  .woocommerce a.button, .woocommerce button.button, .woocommerce input.button { width: 100%; }
}
