/* =========================================================
   KP DELIVERY MANAGER 3.15.10
   KARTY PRODUKTÓW – WYGLĄD ZGODNY Z ORYGINALNYM KP UX 2.4

   Zakres wyłącznie:
   - sklep i kategorie,
   - shortcode [products],
   - sekcje Nowości/Bestsellery,
   - related / upsell / cross-sell.

   Główna karta pojedynczego produktu nie jest stylowana.
   ========================================================= */

/* Siatka oznaczana przez PHP tylko dla ul.products. */
ul.products.kp-ux-product-grid {
  align-items: stretch !important;
}

/* WooCommerce dodaje clearfix przez ::before/::after. W gridzie stają się one
   dodatkowymi elementami i wypychają trzeci produkt do kolejnego wiersza. */
ul.products.kp-ux-product-grid::before,
ul.products.kp-ux-product-grid::after {
  display: none !important;
  content: none !important;
}

/* Karta – tylko bezpośrednie li.product we wspólnej siatce. */
ul.products.kp-ux-product-grid > li.product {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  height: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  padding: 12px !important;
  background: #ffffff !important;
  border: 1px solid rgba(17, 24, 39, 0.08) !important;
  border-radius: 18px !important;
  box-shadow:
    0 4px 14px rgba(17, 24, 39, 0.04),
    0 10px 28px rgba(17, 24, 39, 0.025) !important;
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    border-color 0.25s ease !important;
}

/* Nie zerujemy globalnie marginesów kart – siatka motywu zachowuje szerokości. */

ul.products.kp-ux-product-grid > li.product > a.woocommerce-LoopProduct-link,
ul.products.kp-ux-product-grid > li.product > a.woocommerce-loop-product__link {
  order: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  text-decoration: none !important;
}

ul.products.kp-ux-product-grid > li.product .kp-product-sales-count { order: 2 !important; }
ul.products.kp-ux-product-grid > li.product .kp-price-review-row { order: 3 !important; }
ul.products.kp-ux-product-grid > li.product .kp-loop-cart-row,
ul.products.kp-ux-product-grid > li.product > a.button { order: 4 !important; }

@media (hover: hover) and (pointer: fine) {
  ul.products.kp-ux-product-grid > li.product:hover {
    transform: translateY(-4px) !important;
    border-color: rgba(239, 23, 79, 0.18) !important;
    box-shadow:
      0 10px 24px rgba(17, 24, 39, 0.08),
      0 20px 42px rgba(17, 24, 39, 0.06) !important;
  }
}

ul.products.kp-ux-product-grid > li.product > a.woocommerce-LoopProduct-link > img,
ul.products.kp-ux-product-grid > li.product > a.woocommerce-loop-product__link > img {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  margin: 0 0 14px !important;
  border-radius: 14px !important;
}

ul.products.kp-ux-product-grid > li.product .woocommerce-loop-product__title {
  min-height: 2.8em !important;
  margin: 2px 0 4px !important;
  padding: 0 !important;
  color: #1f2937 !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  text-align: center !important;
}

ul.products.kp-ux-product-grid > li.product .kp-product-sales-count {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px !important;
  width: auto !important;
  max-width: calc(100% - 12px) !important;
  min-height: 0 !important;
  margin: 0 auto 8px !important;
  padding: 7px 12px !important;
  box-sizing: border-box !important;
  border-radius: 999px !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  text-align: center !important;
}

ul.products.kp-ux-product-grid > li.product .kp-product-sales-count img,
ul.products.kp-ux-product-grid > li.product .kp-product-sales-count svg,
ul.products.kp-ux-product-grid > li.product .kp-product-sales-count i {
  display: inline-block !important;
  width: 14px !important;
  min-width: 14px !important;
  max-width: 14px !important;
  height: 14px !important;
  max-height: 14px !important;
  margin: 0 3px 0 0 !important;
  padding: 0 !important;
  flex: 0 0 14px !important;
  object-fit: contain !important;
  font-size: 14px !important;
  line-height: 1 !important;
}

ul.products.kp-ux-product-grid > li.product > .price,
ul.products.kp-ux-product-grid > li.product > .star-rating,
ul.products.kp-ux-product-grid > li.product .woocommerce-product-rating,
ul.products.kp-ux-product-grid > li.product .comment-form-rating,
ul.products.kp-ux-product-grid > li.product .kp-loop-rating {
  display: none !important;
}

ul.products.kp-ux-product-grid > li.product .kp-price-review-row {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: nowrap !important;
  gap: 6px !important;
  width: 100% !important;
  min-height: 26px !important;
  margin: auto 0 10px !important;
  text-align: center !important;
}

ul.products.kp-ux-product-grid > li.product .kp-price-review-row .price {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 0 !important;
  margin: 0 !important;
  color: #111827 !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  line-height: 1.3 !important;
  white-space: nowrap !important;
}

ul.products.kp-ux-product-grid > li.product .kp-price-review-row .price ins {
  color: #ef174f !important;
  font-weight: 900 !important;
  text-decoration: none !important;
}

ul.products.kp-ux-product-grid > li.product .kp-price-review-row .price del {
  margin-right: 5px !important;
  opacity: 0.55 !important;
}

.kp-price-review-separator {
  color: #cbd5e1 !important;
  font-weight: 700 !important;
}

.kp-loop-review-text {
  display: inline-flex !important;
  align-items: center !important;
  color: #ef174f !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  white-space: nowrap !important;
}

ul.products.kp-ux-product-grid > li.product .kp-loop-cart-row {
  display: flex !important;
  align-items: stretch !important;
  flex-wrap: nowrap !important;
  gap: 8px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

ul.products.kp-ux-product-grid > li.product .kp-loop-quantity {
  display: grid !important;
  grid-template-columns: 32px 38px 32px !important;
  flex: 0 0 102px !important;
  width: 102px !important;
  min-width: 102px !important;
  min-height: 46px !important;
  overflow: hidden !important;
  background: #ffffff !important;
  border: 1px solid #ef174f !important;
  border-radius: 14px !important;
  box-sizing: border-box !important;
}

ul.products.kp-ux-product-grid > li.product .kp-loop-quantity button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 32px !important;
  min-width: 32px !important;
  height: 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #fff5f7 !important;
  color: #ef174f !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  cursor: pointer !important;
  transition: background-color .2s ease, color .2s ease, transform .12s ease !important;
}

ul.products.kp-ux-product-grid > li.product .kp-loop-quantity button:hover {
  background: #ef174f !important;
  color: #ffffff !important;
}

ul.products.kp-ux-product-grid > li.product .kp-loop-quantity button:active {
  transform: scale(.92) !important;
}

ul.products.kp-ux-product-grid > li.product .kp-loop-quantity input {
  display: block !important;
  width: 38px !important;
  min-width: 38px !important;
  height: 44px !important;
  margin: 0 !important;
  padding: 0 2px !important;
  box-sizing: border-box !important;
  background: #ffffff !important;
  color: #111827 !important;
  border: 0 !important;
  border-left: 1px solid rgba(239, 23, 79, .18) !important;
  border-right: 1px solid rgba(239, 23, 79, .18) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: none !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  line-height: 44px !important;
  text-align: center !important;
  appearance: textfield !important;
  -moz-appearance: textfield !important;
}

ul.products.kp-ux-product-grid > li.product .kp-loop-quantity input::-webkit-inner-spin-button,
ul.products.kp-ux-product-grid > li.product .kp-loop-quantity input::-webkit-outer-spin-button {
  margin: 0 !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}

ul.products.kp-ux-product-grid > li.product .kp-loop-cart-row a.add_to_cart_button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 1 1 auto !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  min-height: 46px !important;
  margin: 0 !important;
  padding: 10px 12px !important;
  box-sizing: border-box !important;
  background: #ef174f !important;
  background-image: none !important;
  color: #ffffff !important;
  border: 1px solid #ef174f !important;
  border-radius: 14px !important;
  box-shadow:
    0 6px 14px rgba(239, 23, 79, .17),
    0 12px 24px rgba(239, 23, 79, .08) !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  text-align: center !important;
  text-decoration: none !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
  opacity: 1 !important;
}

ul.products.kp-ux-product-grid > li.product .kp-loop-cart-row a.add_to_cart_button:hover {
  background: #d91447 !important;
  border-color: #d91447 !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
}

ul.products.kp-ux-product-grid > li.product .kp-loop-cart-row a.add_to_cart_button.kp-cart-confirmed {
  background: #15803d !important;
  border-color: #15803d !important;
  color: #ffffff !important;
}

ul.products.kp-ux-product-grid > li.product > a.button {
  order: 4 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 46px !important;
  margin: 0 !important;
  padding: 12px 15px !important;
  box-sizing: border-box !important;
  background: #ef174f !important;
  color: #ffffff !important;
  border: 1px solid #ef174f !important;
  border-radius: 14px !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  text-align: center !important;
  text-decoration: none !important;
}

ul.products.kp-ux-product-grid > li.product a.added_to_cart {
  display: none !important;
}

@media (max-width: 768px) {
  ul.products.kp-ux-product-grid > li.product {
    padding: 10px !important;
    border-radius: 16px !important;
  }

  ul.products.kp-ux-product-grid > li.product .woocommerce-loop-product__title {
    min-height: 0 !important;
    font-size: 15px !important;
  }

  ul.products.kp-ux-product-grid > li.product .kp-loop-cart-row {
    gap: 8px !important;
  }

  ul.products.kp-ux-product-grid > li.product .kp-loop-quantity {
    grid-template-columns: 32px 38px 32px !important;
    flex: 0 0 102px !important;
    width: 102px !important;
    min-width: 102px !important;
  }

  ul.products.kp-ux-product-grid > li.product .kp-loop-quantity button {
    width: 32px !important;
    min-width: 32px !important;
    font-size: 20px !important;
  }

  ul.products.kp-ux-product-grid > li.product .kp-loop-quantity input {
    width: 38px !important;
    min-width: 38px !important;
  }

  ul.products.kp-ux-product-grid > li.product .kp-loop-cart-row a.add_to_cart_button {
    padding: 10px 8px !important;
    font-size: 14px !important;
  }

  .kp-loop-review-text {
    font-size: 11px !important;
  }
}

@media (max-width: 360px) {
  ul.products.kp-ux-product-grid > li.product .kp-loop-quantity {
    grid-template-columns: 29px 36px 29px !important;
    flex-basis: 94px !important;
    width: 94px !important;
    min-width: 94px !important;
  }

  ul.products.kp-ux-product-grid > li.product .kp-loop-quantity button {
    width: 29px !important;
    min-width: 29px !important;
  }

  ul.products.kp-ux-product-grid > li.product .kp-loop-quantity input {
    width: 36px !important;
    min-width: 36px !important;
  }

  ul.products.kp-ux-product-grid > li.product .kp-loop-cart-row a.add_to_cart_button {
    padding-left: 6px !important;
    padding-right: 6px !important;
    font-size: 13px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  ul.products.kp-ux-product-grid > li.product,
  ul.products.kp-ux-product-grid > li.product .kp-loop-cart-row a.button,
  ul.products.kp-ux-product-grid > li.product .kp-loop-quantity button {
    transition: none !important;
  }

  ul.products.kp-ux-product-grid > li.product:hover {
    transform: none !important;
  }
}




/* =========================================================
   KPDM 3.15.8 – SZEROKA STRONA PRODUKTU + SIATKI PRODUKTOWE
   ========================================================= */

body.single-product #secondary,
body.single-product .widget-area,
body.single-product aside#secondary,
body.single-product .sidebar {
  display: none !important;
}

body.single-product #primary,
body.single-product .content-area,
body.single-product .site-main,
body.single-product .page-area,
body.single-product .col-md-9,
body.single-product .col-lg-9 {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
  float: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.single-product .page-area > .container,
body.single-product .site-content > .container,
body.single-product main > .container,
body.single-product .woocommerce-notices-wrapper + .product,
body.single-product div.product {
  width: min(94%, 1480px) !important;
  max-width: 1480px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

@media (min-width: 993px) {
  body.single-product div.product::before,
  body.single-product div.product::after {
    content: "";
    display: table;
    clear: both;
  }

  body.single-product div.product .woocommerce-product-gallery,
  body.single-product div.product div.images {
    width: calc(52% - 24px) !important;
    max-width: none !important;
    margin-right: 48px !important;
    float: left !important;
  }

  body.single-product div.product .summary,
  body.single-product div.product .entry-summary {
    width: calc(48% - 24px) !important;
    max-width: none !important;
    margin-right: 0 !important;
    float: right !important;
  }

  body.single-product .woocommerce-tabs,
  body.single-product section.related,
  body.single-product section.upsells,
  body.single-product .kp-after-product-cta,
  body.single-product .kp-product-extra-sections {
    clear: both !important;
    width: 100% !important;
    max-width: 1480px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

@media (min-width: 993px) {
  body.single-product section.related ul.products.kp-ux-product-grid,
  body.single-product section.upsells ul.products.kp-ux-product-grid,
  body.woocommerce-cart .cross-sells ul.products.kp-ux-product-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 22px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }
}

@media (min-width: 769px) and (max-width: 992px) {
  body.single-product section.related ul.products.kp-ux-product-grid,
  body.single-product section.upsells ul.products.kp-ux-product-grid,
  body.woocommerce-cart .cross-sells ul.products.kp-ux-product-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }
}

body.single-product section.related ul.products.kp-ux-product-grid > li.product,
body.single-product section.upsells ul.products.kp-ux-product-grid > li.product,
body.woocommerce-cart .cross-sells ul.products.kp-ux-product-grid > li.product {
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  float: none !important;
  clear: none !important;
}

@media (max-width: 768px) {
  body.single-product .page-area > .container,
  body.single-product .site-content > .container,
  body.single-product main > .container,
  body.single-product div.product {
    width: calc(100% - 20px) !important;
    max-width: none !important;
  }

  body.single-product div.product .woocommerce-product-gallery,
  body.single-product div.product div.images,
  body.single-product div.product .summary,
  body.single-product div.product .entry-summary {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    float: none !important;
  }

  body.single-product section.related ul.products.kp-ux-product-grid,
  body.single-product section.upsells ul.products.kp-ux-product-grid,
  body.woocommerce-cart .cross-sells ul.products.kp-ux-product-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 16px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.single-product section.related ul.products.kp-ux-product-grid > li.product,
  body.single-product section.upsells ul.products.kp-ux-product-grid > li.product,
  body.woocommerce-cart .cross-sells ul.products.kp-ux-product-grid > li.product {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* CTA: wspólny wygląd podstawowy, hover i focus na kluczowych etapach zakupu. */
body.single-product div.product form.cart .single_add_to_cart_button,
body.woocommerce-cart .kpdm-cart-checkout__btn,
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
body.woocommerce-checkout #payment #place_order {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 52px !important;
  padding: 13px 24px !important;
  background: #ef174f !important;
  border: 1px solid #ef174f !important;
  border-radius: 14px !important;
  color: #ffffff !important;
  font-weight: 900 !important;
  text-decoration: none !important;
  box-shadow: 0 9px 22px rgba(239, 23, 79, .22) !important;
  transition: background-color .2s ease, border-color .2s ease,
              box-shadow .2s ease, transform .18s ease !important;
}

body.woocommerce-cart .kpdm-cart-checkout__btn,
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
body.woocommerce-checkout #payment #place_order {
  width: 100% !important;
}

/* Nadpisanie starszej białej wersji dolnego CTA w koszyku. */
body.woocommerce-cart .kpdm-cart-checkout--bottom .kpdm-cart-checkout__btn {
  background: #ef174f !important;
  border-color: #ef174f !important;
  color: #ffffff !important;
  box-shadow: 0 9px 22px rgba(239, 23, 79, .22) !important;
}

body.single-product div.product form.cart .single_add_to_cart_button:hover,
body.single-product div.product form.cart .single_add_to_cart_button:focus-visible,
body.woocommerce-cart .kpdm-cart-checkout__btn:hover,
body.woocommerce-cart .kpdm-cart-checkout__btn:focus-visible,
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:focus-visible,
body.woocommerce-checkout #payment #place_order:hover,
body.woocommerce-checkout #payment #place_order:focus-visible {
  background: #d91447 !important;
  border-color: #d91447 !important;
  color: #fff !important;
  box-shadow: 0 12px 26px rgba(217, 20, 71, .30) !important;
  transform: translateY(-2px) !important;
  outline: none !important;
}

/* =========================================================
   KPDM 3.15.9 – SEKCJE PRODUKTOWE STRONY GŁÓWNEJ
   ========================================================= */
/* =========================================================
   KETO PIEKARNIA
   KP UX 2.5.0 – CSS SEKCJI STRONY GŁÓWNEJ

   Zakres:
   - Nowości
   - Bestsellery
   - nagłówki, tła, siatki i przyciski sekcji

   Ten plik nie styluje wnętrza kart produktów.
   ========================================================= */

.kp-home-products-section {
    width: min(100%, 1320px);
    margin: 40px auto;
    padding: 32px 22px;
    box-sizing: border-box;
    background: linear-gradient(180deg, #ffffff 0%, #fff9fc 100%);
    border: 1px solid #f1e0e8;
    border-radius: 24px;
    box-shadow: 0 12px 34px rgba(31, 42, 68, 0.07);
}

.kp-home-products-section__header {
    max-width: 760px;
    margin: 0 auto 28px;
    text-align: center;
}

.kp-home-products-section__overline {
    display: inline-block;
    margin-bottom: 9px;
    color: #e84f91;
    font-size: 12px;
    line-height: 1.4;
    font-weight: 800;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.kp-home-products-section__header h2 {
    margin: 0;
    color: #18243c;
    font-size: clamp(27px, 3.5vw, 40px);
    line-height: 1.15;
    font-weight: 800;
}

.kp-home-products-section__header p {
    max-width: 620px;
    margin: 12px auto 0;
    color: #667085;
    font-size: 16px;
    line-height: 1.6;
}

.kp-home-products-section__products,
.kp-home-products-section__products .woocommerce {
    width: 100%;
    margin: 0;
}

.kp-home-products-section__products .woocommerce-notices-wrapper {
    display: none;
}

.kp-home-products-section__products ul.products {
    width: 100%;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.kp-home-products-section__products ul.products::before,
.kp-home-products-section__products ul.products::after {
    display: none !important;
    content: none !important;
}

.kp-home-products-section__products ul.products li.product {
    float: none !important;
    clear: none !important;
    width: auto !important;
    max-width: none !important;
}

.kp-home-new-products .kp-home-products-section__products ul.products,
.kp-home-bestsellers .kp-home-products-section__products ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
}

.kp-home-products-section__footer {
    margin-top: 28px;
    text-align: center;
}

.kp-home-products-section__all-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 10px 24px;
    color: #172033 !important;
    background: #ffffff;
    border: 1px solid #d9dee8;
    border-radius: 999px;
    box-shadow: 0 5px 16px rgba(31, 42, 68, 0.07);
    text-decoration: none !important;
    font-size: 14px;
    line-height: 1.3;
    font-weight: 700;
    transition: color 0.2s ease, border-color 0.2s ease,
                box-shadow 0.2s ease, transform 0.2s ease;
}

.kp-home-products-section__all-button::after {
    content: "→";
    margin-left: 9px;
    font-size: 17px;
    line-height: 1;
}

.kp-home-products-section__all-button:hover {
    color: #e84f91 !important;
    border-color: #e84f91;
    box-shadow: 0 9px 20px rgba(31, 42, 68, 0.11);
    transform: translateY(-2px);
}

@media (max-width: 1024px) {
    .kp-home-new-products .kp-home-products-section__products ul.products,
    .kp-home-bestsellers .kp-home-products-section__products ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 18px;
    }
}

@media (max-width: 640px) {
    .kp-home-products-section {
        margin: 24px auto;
        padding: 24px 10px;
        border-radius: 18px;
    }

    .kp-home-products-section__header {
        margin-bottom: 20px;
        padding: 0 6px;
    }

    .kp-home-products-section__overline {
        margin-bottom: 7px;
        font-size: 11px;
    }

    .kp-home-products-section__header h2 {
        font-size: 27px;
    }

    .kp-home-products-section__header p {
        margin-top: 10px;
        font-size: 14px;
        line-height: 1.55;
    }

    .kp-home-new-products .kp-home-products-section__products ul.products,
    .kp-home-bestsellers .kp-home-products-section__products ul.products {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 16px;
    }

    .kp-home-products-section__footer {
        margin-top: 22px;
    }

    .kp-home-products-section__all-button {
        width: calc(100% - 12px);
        max-width: 340px;
        min-height: 48px;
        padding: 10px 18px;
        box-sizing: border-box;
    }
}

@media (prefers-reduced-motion: reduce) {
    .kp-home-products-section__all-button {
        transition: none !important;
    }

    .kp-home-products-section__all-button:hover {
        transform: none !important;
    }
}

/* =========================================================
   KPDM 3.15.10 – MOBILE ARCHIVE + NATURALNE KARTY HOMEPAGE
   ========================================================= */

/* Sklep, archiwa i kategorie: na telefonie zawsze jedna karta w wierszu. */
@media (max-width: 768px) {
  body.woocommerce-shop ul.products.kp-ux-product-grid,
  body.post-type-archive-product ul.products.kp-ux-product-grid,
  body.tax-product_cat ul.products.kp-ux-product-grid,
  body.tax-product_tag ul.products.kp-ux-product-grid,
  body.archive.woocommerce ul.products.kp-ux-product-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 16px !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.woocommerce-shop ul.products.kp-ux-product-grid > li.product,
  body.post-type-archive-product ul.products.kp-ux-product-grid > li.product,
  body.tax-product_cat ul.products.kp-ux-product-grid > li.product,
  body.tax-product_tag ul.products.kp-ux-product-grid > li.product,
  body.archive.woocommerce ul.products.kp-ux-product-grid > li.product {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    float: none !important;
    clear: none !important;
  }
}

/* Nowości i bestsellery korzystają z tych samych wymiarów i typografii kart
   co katalog. Nie rozciągamy ich sztucznie do wysokości najwyższej karty. */
.kp-home-products-section ul.products.kp-ux-product-grid {
  align-items: start !important;
}

.kp-home-products-section ul.products.kp-ux-product-grid > li.product {
  height: auto !important;
}

.kp-home-products-section ul.products.kp-ux-product-grid > li.product .kp-price-review-row {
  margin-top: 12px !important;
}

@media (max-width: 640px) {
  .kp-home-products-section ul.products.kp-ux-product-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .kp-home-products-section ul.products.kp-ux-product-grid > li.product {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }
}

