/* =============================================================
   NGE WooCommerce — poprawki stron koszyk / zamówienie / konto / produkt
   ============================================================= */

:root {
  --nge-font: 'Montserrat', sans-serif;
}

/* ══════════════════════════════════════════════════════════════
   1. KOSZYK — /koszyk/
   ══════════════════════════════════════════════════════════════ */

body.woocommerce-cart {
  font-family: var(--nge-font);
}

/* layout: forma + podsumowanie obok siebie
   Uwaga: scoped na .elementor-widget-wc-elements .woocommerce, bo Elementor
   dodaje klasę .woocommerce też innym widgetom WC (np. Loop Grid z akcesoriami) */
body.woocommerce-cart .elementor-widget-wc-elements .woocommerce {
  display: flex !important;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 40px;
}
body.woocommerce-cart .woocommerce-cart-form {
  flex: 1 1 55%;
  min-width: 0;
}
body.woocommerce-cart .woocommerce-cart-form .shop_table {
  margin-bottom: 0 !important;
}
body.woocommerce-cart .cart-collaterals {
  flex: 0 0 300px;
  width: 300px;
}

/* Podsumowanie Koszyka: zielone, sticky, zaokrąglone */
body.woocommerce-cart .cart-collaterals .cart_totals {
  background-color: #167F2D !important;
  border-radius: 16px !important;
  position: sticky !important;
  top: 20px;
  width: 100% !important;
  max-width: 100% !important;
  padding: 24px !important;
}

/* Podsumowanie: zmniejszone fonty, wyrównany rozmiar */
body.woocommerce-cart .cart-collaterals .cart_totals .shop_table tr th {
  font-family: var(--nge-font) !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  padding-bottom: 10px !important;
}
body.woocommerce-cart .cart-collaterals .cart_totals .shop_table tr td bdi {
  font-family: var(--nge-font) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: #fff !important;
}
/* VAT / podatek: biały tekst (nie szary) */
body.woocommerce-cart .cart-collaterals .cart_totals .shop_table tr.tax-rate td,
body.woocommerce-cart .cart-collaterals .cart_totals .shop_table tr.tax-total td,
body.woocommerce-cart .cart-collaterals .cart_totals .shop_table tr td {
  color: #fff !important;
}
body.woocommerce-cart .cart-collaterals .cart_totals .shop_table tr td .amount,
body.woocommerce-cart .cart-collaterals .cart_totals .shop_table tr td bdi {
  color: #fff !important;
}
body.woocommerce-cart .cart-collaterals .cart_totals .wc-proceed-to-checkout .checkout-button {
  font-family: var(--nge-font) !important;
}
/* Link "[Usuń]" przy zastosowanym kuponie: za ciemny na zielonym tle */
body.woocommerce-cart .cart-collaterals .cart_totals .shop_table tr td .woocommerce-remove-coupon {
  color: #ddd !important;
}
body.woocommerce-cart .cart-collaterals .cart_totals .shop_table tr td .woocommerce-remove-coupon:hover {
  color: #fff !important;
}

/* kolumna usuwania: mniejsza ikona, wyrównana do lewej */
body.woocommerce-cart .woocommerce-cart-form .shop_table tbody td.product-remove {
  text-align: left;
  padding-left: 0;
  padding-right: 8px;
}
body.woocommerce-cart .woocommerce-cart-form .shop_table tbody td.product-remove a {
  float: none !important;
  --size: 22px;
  min-width: 22px !important;
  min-height: 22px !important;
  width: 22px !important;
  height: 22px !important;
}
body.woocommerce-cart .woocommerce-cart-form .shop_table tbody td.product-remove a.remove::before,
body.woocommerce-cart .woocommerce-cart-form .shop_table tbody td.product-remove a.remove::after {
  width: 10px;
}

/* kolumna z obrazkiem: węższa + mniejszy obrazek */
body.woocommerce-cart .woocommerce-cart-form .shop_table tbody td.product-thumbnail {
  width: 7% !important;
  padding: 8px 6px 8px 0 !important;
}
body.woocommerce-cart .woocommerce-cart-form .shop_table tbody td.product-thumbnail a {
  max-width: 60px !important;
  min-height: 72px !important;
}
body.woocommerce-cart .woocommerce-cart-form .shop_table tbody td.product-thumbnail a img {
  max-width: 48px !important;
}

/* kolumna z nazwą: szersza, mniejszy font */
body.woocommerce-cart .woocommerce-cart-form .shop_table tbody td.product-name {
  width: 38% !important;
}
body.woocommerce-cart .woocommerce-cart-form .shop_table tbody td.product-name a {
  font-family: var(--nge-font) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
}

/* kolumna cena: nieco szersza (+~30px), mniejszy font — jak kwota */
body.woocommerce-cart .woocommerce-cart-form .shop_table tbody td.product-price {
  width: 14% !important;
}
body.woocommerce-cart .woocommerce-cart-form .shop_table tbody td.product-price .amount,
body.woocommerce-cart .woocommerce-cart-form .shop_table tbody td.product-price bdi {
  font-size: 13px !important;
  font-family: var(--nge-font) !important;
}

/* kolumna kwota (subtotal): bez zmian szerokości, wyrównany font */
body.woocommerce-cart .woocommerce-cart-form .shop_table tbody td.product-subtotal .amount,
body.woocommerce-cart .woocommerce-cart-form .shop_table tbody td.product-subtotal bdi {
  font-size: 13px !important;
  font-family: var(--nge-font) !important;
}

/* pole kodu kuponu: Montserrat */
body.woocommerce-cart .woocommerce-cart-form .shop_table tbody td.actions .coupon #coupon_code {
  font-family: var(--nge-font) !important;
}

/* przycisk kuponu: mniejszy line-height */
body.woocommerce-cart .woocommerce-cart-form .shop_table tbody td.actions .coupon .button {
  line-height: 1.6 !important;
  height: auto !important;
  padding: 5px 18px !important;
}

/* Aktualizuj koszyk: Montserrat */
body.woocommerce-cart .woocommerce-cart-form .shop_table tbody td.actions .button {
  font-family: var(--nge-font) !important;
}

/* ilość w koszyku: mniejszy font w inpucie i mniejsze przyciski +/- */
body.woocommerce-cart .woocommerce-cart-form .shop_table tbody td.product-quantity .quantity .qty {
  font-size: 12px !important;
  line-height: 34px !important;
}
body.woocommerce-cart .woocommerce-cart-form .shop_table tbody td.product-quantity .quantity .quantity-icon {
  padding: 10px !important;
}

/* pusty koszyk: informacja i guzik "Wróć do sklepu" — jeden pod drugim */
body.woocommerce-cart .woocommerce .cart-empty {
  flex: 0 0 100% !important;
  width: 100% !important;
}
body.woocommerce-cart .woocommerce .return-to-shop {
  flex: 0 0 100% !important;
  width: 100% !important;
  margin-top: 16px !important;
}

/* ukryj "Oblicz koszty wysyłki" */
body.woocommerce-cart .cart-collaterals .cart_totals .woocommerce-shipping-calculator {
  display: none !important;
}

/* Pokaż metodę + koszt wysyłki w koszyku — motyw Solarva domyślnie ukrywa
   #shipping_method na koszyku (style.css linia ~8137), pokazując tylko
   adres dostawy. Klient chce widzieć koszt wyszczególniony, nie tylko w sumie. */
body.woocommerce-cart .cart-collaterals .cart_totals .shop_table tr td #shipping_method {
  display: block !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
}
body.woocommerce-cart .cart-collaterals .cart_totals .shop_table tr td #shipping_method li {
  list-style: none !important;
  margin: 0 !important;
}
body.woocommerce-cart .cart-collaterals .cart_totals .shop_table tr td #shipping_method label {
  color: #fff !important;
  font-family: var(--nge-font) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
}
/* Adres dostawy: motyw wymusza font-family "DM Sans" — ujednolicone na Montserrat */
body.woocommerce-cart .cart-collaterals .cart_totals .shop_table tr td .woocommerce-shipping-destination {
  font-family: var(--nge-font) !important;
}

/* RWD mobile: CSS Grid dla wierszy produktów w koszyku */
@media screen and (max-width: 768px) {
  body.woocommerce-cart .woocommerce-cart-form .shop_table tbody tr.woocommerce-cart-form__cart-item {
    display: grid !important;
    grid-template-columns: 80px 1fr !important;
    grid-template-areas:
      "thumb name"
      "thumb price"
      "thumb quant"
      "subtot subtot" !important;
    padding: 16px !important;
    position: relative !important;
    gap: 0 8px !important;
  }
  body.woocommerce-cart .woocommerce-cart-form .shop_table tbody tr.woocommerce-cart-form__cart-item td {
    display: block !important;
    width: 100% !important;
    border: none !important;
    padding: 3px 0 !important;
    text-align: left !important;
    justify-content: flex-start !important;
  }
  body.woocommerce-cart .woocommerce-cart-form .shop_table tbody tr.woocommerce-cart-form__cart-item td::before {
    display: none !important;
  }
  body.woocommerce-cart .woocommerce-cart-form .shop_table tbody tr.woocommerce-cart-form__cart-item td.product-remove {
    grid-area: unset !important;
    position: absolute !important;
    top: 8px !important;
    right: 8px !important;
    width: auto !important;
    padding: 0 !important;
  }
  body.woocommerce-cart .woocommerce-cart-form .shop_table tbody tr.woocommerce-cart-form__cart-item td.product-thumbnail {
    grid-area: thumb !important;
    display: block !important;
    width: auto !important;
  }
  body.woocommerce-cart .woocommerce-cart-form .shop_table tbody tr.woocommerce-cart-form__cart-item td.product-name {
    grid-area: name !important;
  }
  body.woocommerce-cart .woocommerce-cart-form .shop_table tbody tr.woocommerce-cart-form__cart-item td.product-price {
    grid-area: price !important;
  }
  body.woocommerce-cart .woocommerce-cart-form .shop_table tbody tr.woocommerce-cart-form__cart-item td.product-quantity {
    grid-area: quant !important;
  }
  body.woocommerce-cart .woocommerce-cart-form .shop_table tbody tr.woocommerce-cart-form__cart-item td.product-subtotal {
    grid-area: subtot !important;
    border-top: 1px dashed #e0e0e0 !important;
    margin-top: 4px !important;
    padding-top: 8px !important;
  }
}

/* RWD */
@media screen and (max-width: 768px) {
  body.woocommerce-cart .elementor-widget-wc-elements .woocommerce {
    flex-direction: column;
  }
  body.woocommerce-cart .cart-collaterals {
    flex: 1 1 100%;
    width: 100%;
  }
}


/* ══════════════════════════════════════════════════════════════
   2. ZAMÓWIENIE — /zamowienie/
   ══════════════════════════════════════════════════════════════ */

body.woocommerce-checkout {
  font-family: var(--nge-font);
}

/* nagłówek "Twoje zamówienie" — ukryty */
.woocommerce-checkout form.woocommerce-checkout #order_review_heading {
  display: none !important;
}

/* tabela zamówienia po prawej od danych klienta */
.woocommerce-checkout form.woocommerce-checkout #order_review {
  flex: 0 0 44% !important;
  max-width: 500px;
  padding-left: 15px;
  box-sizing: border-box;
}

/* nagłówek "Twoje zamówienie" — obejmij też bezpośredni #order_review_heading */
.woocommerce-checkout form.woocommerce-checkout #order_review_heading,
.woocommerce-checkout form.woocommerce-checkout .pxl-order-review-right #order_review_heading,
.woocommerce-checkout form.woocommerce-checkout #customer_details .woocommerce-billing-fields > h3,
.woocommerce-checkout form.woocommerce-checkout #customer_details .woocommerce-additional-fields h3 {
  font-size: 17px !important;
  margin-bottom: 20px !important;
}

/* etykiety pól formularza */
.woocommerce-checkout form.woocommerce-checkout #customer_details .woocommerce-billing-fields label,
.woocommerce-checkout form.woocommerce-checkout #customer_details .woocommerce-shipping-fields label,
.woocommerce-checkout form.woocommerce-checkout #customer_details .woocommerce-additional-fields label {
  font-size: 12px !important;
  font-family: var(--nge-font) !important;
}

/* pola inputów — zmniejszone */
.woocommerce-checkout form.woocommerce-checkout #customer_details .woocommerce-billing-fields .input-text,
.woocommerce-checkout form.woocommerce-checkout #customer_details .woocommerce-shipping-fields .input-text,
.woocommerce-checkout form.woocommerce-checkout #customer_details .woocommerce-billing-fields .select2-selection .select2-selection__rendered,
.woocommerce-checkout form.woocommerce-checkout #customer_details .woocommerce-shipping-fields .select2-selection .select2-selection__rendered {
  height: 42px !important;
  font-size: 13px !important;
  font-family: var(--nge-font) !important;
}
.woocommerce-checkout form.woocommerce-checkout #customer_details .woocommerce-billing-fields .form-row,
.woocommerce-checkout form.woocommerce-checkout #customer_details .woocommerce-shipping-fields .form-row {
  padding-top: 12px !important;
}

/* przycisk Złóż zamówienie */
.woocommerce-checkout form.woocommerce-checkout #payment .place-order #place_order,
.woocommerce-checkout form.woocommerce-checkout .pxl-order-review-right #order_review #payment .place-order #place_order {
  font-family: var(--nge-font) !important;
  font-size: 14px !important;
}

/* kupon checkout: szare tło, mniejsze paddingi, wyrównany do lewej */
.woocommerce form.checkout_coupon {
  background-color: #f0f2f4 !important;
  padding: 14px 20px !important;
  margin-bottom: 30px !important;
  justify-content: flex-start !important;
}
.woocommerce form.checkout_coupon p:not(.form-row) {
  color: #333 !important;
  font-size: 14px !important;
  font-family: var(--nge-font) !important;
}
.woocommerce form.checkout_coupon p #coupon_code {
  border: 1px solid #ccc !important;
  font-family: var(--nge-font) !important;
  font-size: 13px !important;
  height: 38px !important;
  max-width: 200px !important;
}
.woocommerce form.checkout_coupon p .button {
  opacity: 1 !important;
  background-color: #167F2D !important;
  color: #fff !important;
  font-family: var(--nge-font) !important;
  border-radius: 6px !important;
  font-size: 13px !important;
  line-height: 1.6 !important;
  height: auto !important;
  padding: 5px 16px !important;
}
.woocommerce form.checkout_coupon p .button:hover {
  background-color: #0f5a20 !important;
}

/* Solarva chowa sekcję wysyłki przez display:none — nadpisujemy */
.woocommerce-checkout form.woocommerce-checkout #customer_details .col-2 .woocommerce-shipping-fields {
  display: block !important;
}
.woocommerce-checkout #ship-to-different-address {
  display: block !important;
}

/* RWD checkout */
@media screen and (max-width: 991px) {
  .woocommerce-checkout form.woocommerce-checkout #order_review {
    flex: 0 0 100% !important;
    max-width: 100%;
    padding-left: 0;
  }
  .woocommerce-checkout form.woocommerce-checkout .pxl-order-review-right {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
  }
  .woocommerce-checkout form.woocommerce-checkout {
    display: block !important;
  }
}


/* ══════════════════════════════════════════════════════════════
   3. MOJE KONTO — /moje-konto/
   ══════════════════════════════════════════════════════════════ */

/* nawigacja: usuń granatowe tło, zmniejsz padding */
.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation {
  background-color: #f5f5f5 !important;
  padding: 12px !important;
  border-radius: 8px !important;
}

/* linki: jasne tło, czarny tekst */
.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation li a {
  color: #222 !important;
  background-color: #fff;
  border-radius: 6px !important;
  border: 1px solid #e2e2e2;
  font-family: var(--nge-font) !important;
  font-size: 13px !important;
  font-weight: 500;
  padding: 10px 16px !important;
}
.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation li a:hover {
  background-color: #f0f0f0 !important;
  color: #222 !important;
  border-color: #ccc !important;
}

/* aktywny element: zielony */
.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation li.is-active a {
  background-color: var(--primary-color) !important;
  color: #fff !important;
  border-color: var(--primary-color) !important;
}

/* RWD my account */
@media screen and (max-width: 991px) {
  .woocommerce-account .woocommerce {
    display: block !important;
    width: 100% !important;
  }
}

/* pola formularza na stronie konta: mniejszy padding/height */
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields .form-row input.input-text,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-EditAccountForm .form-row input.input-text,
.woocommerce-account .woocommerce-MyAccount-content input[type="text"],
.woocommerce-account .woocommerce-MyAccount-content input[type="email"],
.woocommerce-account .woocommerce-MyAccount-content input[type="password"],
.woocommerce-account .woocommerce-MyAccount-content input[type="tel"] {
  height: 42px !important;
  padding: 0 14px !important;
  font-size: 13px !important;
  font-family: var(--nge-font) !important;
}
.woocommerce-account .woocommerce-MyAccount-content label {
  font-size: 12px !important;
  font-family: var(--nge-font) !important;
}


/* ══════════════════════════════════════════════════════════════
   4. STRONA PRODUKTU — okienko ilości
   ══════════════════════════════════════════════════════════════ */

/* ══════════════════════════════════════════════════════════════
   5. POTWIERDZENIE ZAMÓWIENIA — /zamowienie/order-received/
   ══════════════════════════════════════════════════════════════ */

/* "Dziękujemy. Otrzymaliśmy Twoje zamówienie." */
.woocommerce-thankyou-order-received {
  margin-bottom: 20px !important;
}

/* nagłówki sekcji: mniejsze + odstęp pod spodem */
.woocommerce-order-details__title,
.woocommerce-column__title,
.woocommerce-customer-details h2,
.woocommerce-order h2,
.woocommerce-order h3 {
  font-size: 24px !important;
  margin-bottom: 16px !important;
}

/* kolumny adresów: resetuj float WooCommerce, przejdź na flex */
.woocommerce-customer-details .col2-set,
.woocommerce-customer-details .woocommerce-columns {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0 !important;
  width: 100% !important;
}
.woocommerce-customer-details .col-1,
.woocommerce-customer-details .col-2,
.woocommerce-customer-details .woocommerce-column {
  flex: 1 1 500px !important;
  width: auto !important;
  float: none !important;
  min-width: 500px !important;
}
.woocommerce-customer-details address {
  font-style: normal !important;
  line-height: 1.7 !important;
  word-break: normal !important;
  hyphens: none !important;
}

/* mobile order-received: reset min-width */
@media screen and (max-width: 767px) {
  .woocommerce-customer-details .col-1,
  .woocommerce-customer-details .col-2,
  .woocommerce-customer-details .woocommerce-column {
    min-width: 0 !important;
    flex: 1 1 100% !important;
  }
}



/* fix line-height przycisku (działa na wszystkich szerokościach) */
body.single-product button.single_add_to_cart_button {
  line-height: 1.4 !important;
  height: auto !important;
  padding: 12px 30px !important;
  white-space: normal !important;
}

/* Komunikat "Brak na stanie": zielony + przycisk Kontakt */
body.single-product .stock.out-of-stock {
  color: #167F2D !important;
  font-weight: 600;
}
body.single-product .stock.out-of-stock .nge-stock-contact-btn {
  display: inline-block;
  margin-top: 10px;
  padding: 8px 20px;
  background-color: #167F2D;
  color: #fff !important;
  border-radius: 6px;
  font-family: var(--nge-font);
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  transition: background 0.2s ease;
}
body.single-product .stock.out-of-stock .nge-stock-contact-btn:hover {
  background-color: #126C26;
}

/* Brak na stanie: ukryj ilość + "Dodaj do koszyka" — zostaje tylko przycisk Kontakt */
body.single-product .elementor-add-to-cart .stock.out-of-stock ~ form.cart {
  display: none !important;
}

/* mobile: centrowanie elementów na stronie produktu */
@media screen and (max-width: 767px) {
  body.single-product .price,
  body.single-product .stock,
  body.single-product .product_meta,
  body.single-product .nge-panel-specs,
  body.single-product .woocommerce-product-details__short-description {
    text-align: center !important;
  }
  body.single-product form.cart .single_add_to_cart_button {
    display: block !important;
    max-width: 300px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* ══════════════════════════════════════════════════════════════
   POWIADOMIENIE O DOSTĘPNOŚCI — wtyczka cwginstock
   ══════════════════════════════════════════════════════════════ */

.cwginstock-subscribe-form {
  margin-top: 16px;
}

/* Reset Bootstrap panel-primary */
.cwginstock-subscribe-form .panel-primary {
  border: 1px solid #e0e0e0 !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  overflow: hidden;
}

.cwginstock-subscribe-form .cwginstock-panel-heading {
  background: #f5f5f5 !important;
  border-bottom: 1px solid #e0e0e0 !important;
  padding: 14px 20px !important;
}

.cwginstock-subscribe-form .cwginstock-panel-heading h4 {
  font-family: var(--nge-font) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: #1a1a1a !important;
  margin: 0 !important;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.cwginstock-subscribe-form .cwginstock-panel-body {
  padding: 16px 20px 20px !important;
}

/* Reset Bootstrap grid padding */
.cwginstock-subscribe-form .row,
.cwginstock-subscribe-form .col-md-12 {
  padding: 0 !important;
  margin: 0 !important;
}

/* Pole e-mail */
.cwginstock-subscribe-form .cwgstock_email {
  font-family: var(--nge-font) !important;
  font-size: 13px !important;
  color: #333 !important;
  height: 42px !important;
  border: 1px solid #ccc !important;
  border-radius: 6px !important;
  padding: 0 14px !important;
  background: #fff !important;
  box-shadow: none !important;
  text-align: left !important;
  box-sizing: border-box !important;
  margin-bottom: 10px;
  display: block;
}

.cwginstock-subscribe-form .cwgstock_email:focus {
  border-color: #167F2D !important;
  outline: none !important;
  box-shadow: none !important;
}

/* Przycisk Zapisz */
.cwginstock-subscribe-form .cwgstock_button {
  font-family: var(--nge-font) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #fff !important;
  background: #167F2D !important;
  border: none !important;
  border-radius: 10px !important;
  height: 44px !important;
  line-height: 44px !important;
  padding: 0 !important;
  width: 100% !important;
  cursor: pointer !important;
  letter-spacing: 0.02em;
  transition: background 0.2s ease;
}

.cwginstock-subscribe-form .cwgstock_button:hover {
  background: #126C26 !important;
}

/* Komunikat po zapisaniu */
.cwginstock-subscribe-form .cwgstock_output {
  font-family: var(--nge-font);
  font-size: 13px;
  margin-top: 10px;
  text-align: center;
}

/* szerokie selektory żeby na pewno przykryć Solarva */
body.single-product .quantity input.qty,
body.single-product .quantity input.input-text,
body.single-product .quantity input[type="number"],
.woocommerce div.product form.cart .quantity input.qty,
.woocommerce div.product form.cart .quantity input.input-text,
.woocommerce div.product form.cart .quantity input[type="number"],
.woocommerce #pxl-content-area div.product form.cart .quantity .input-text,
.woocommerce > div.product form.cart .quantity .input-text {
  background-color: #fff !important;
  color: var(--secondary-color, #072032) !important;
}
