/* KOSZYK */
.kp-koszyk .woocommerce {
  --kp-text: #13283a;
  --kp-muted: #7e91a4;
  --kp-bg: #dae5ef;
  --kp-surface: #ffffff;
  --kp-accent: #13283a;
  --kp-accent-hover: #7892c4;
  --kp-radius: 10px;
  color: var(--kp-text);
}

.kp-koszyk .woocommerce-cart-form,
.kp-koszyk .cart-collaterals {
  margin-top: 40px;
}

.kp-koszyk .woocommerce-notices-wrapper {
  margin-bottom: 24px;
}

.kp-koszyk .woocommerce-message,
.kp-koszyk .woocommerce-error,
.kp-koszyk .woocommerce-info {
  margin: 0 0 16px;
  padding: 16px 20px;
  border: 0;
  border-radius: 12px;
  box-shadow: none;
  color: var(--kp-text);
}

.kp-koszyk .woocommerce-message,
.kp-koszyk .woocommerce-error,
.kp-koszyk .woocommerce-info,
.kp-koszyk .woocommerce-message *,
.kp-koszyk .woocommerce-error *,
.kp-koszyk .woocommerce-info *,
.kp-koszyk .woocommerce-message a,
.kp-koszyk .woocommerce-error a,
.kp-koszyk .woocommerce-info a {
  font-size: 16px !important;
  line-height: 1.2 !important;
}

.kp-koszyk .woocommerce-message {
  background: #dae5ef;
}

.kp-koszyk .woocommerce-error {
  background: #f7e8e8;
  color: #b5591c;
}

.kp-koszyk .woocommerce-info {
  background: #eef2f5;
}

.kp-koszyk .woocommerce-message a,
.kp-koszyk .woocommerce-error a,
.kp-koszyk .woocommerce-info a {
  color: inherit;
  font-weight: 600;
  text-decoration: underline;
}

.kp-koszyk .woocommerce-message .button {
  display: block;
  width: fit-content;
  margin-top: 20px;
  margin-left: auto;
}

.kp-koszyk .shop_table,
.kp-koszyk .cart_totals,
.kp-koszyk .cart_totals .shop_table {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  background: var(--kp-surface);
}

.kp-koszyk .woocommerce-cart-form .shop_table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border-radius: var(--kp-radius);
  overflow: hidden;
}

.kp-koszyk .woocommerce-cart-form .shop_table th,
.kp-koszyk .woocommerce-cart-form .shop_table td {
  padding: 40px 15px !important;
  border: 0;
  vertical-align: middle;
  text-align: left;
}

.kp-koszyk .woocommerce-cart-form .shop_table thead th {
  padding: 15px 15px !important;
  background: var(--kp-bg);
  font-size: 12px;
  font-weight: 400;
  color: var(--kp-muted);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.kp-koszyk .product-thumbnail img {
  width: 96px;
  min-width: 96px;
  height: auto;
  border-radius: 8px;
  display: block;
}

.kp-koszyk .product-name a {
  color: var(--kp-text);
  font-weight: 600;
  text-decoration: none;
}

.kp-koszyk .product-name a:hover {
  color: var(--kp-accent-hover);
}

.kp-koszyk .product-price,
.kp-koszyk .product-subtotal,
.kp-koszyk .cart_totals td,
.kp-koszyk .cart_totals th {
  color: var(--kp-text);
}

.kp-koszyk .product-remove .remove {
  width: 30px;
  height: 30px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0 !important;
  color: transparent !important;
  text-decoration: none;
  transition: 0.2s ease;
  background: #eef2f5 url('/wp-content/uploads/2026/03/trash-bin.svg') center center / 14px 14px no-repeat !important;
}

.kp-koszyk .product-remove .remove:hover {
  background: #dae5ef url('/wp-content/uploads/2026/03/trash-bin.svg') center center / 14px 14px no-repeat !important;
  color: transparent !important;
}

.kp-koszyk .quantity .qty,
.kp-koszyk .coupon .input-text {
  border: 0;
  border-radius: 8px !important;
  background: #eef2f5 !important;
  color: var(--kp-text);
  box-shadow: none;
  font-size: 14px;
}

.kp-koszyk .quantity .qty {
  width: 52px;
  min-height: 36px;
  height: 36px;
  padding: 0 6px;
  text-align: center;
}

.kp-koszyk .coupon .input-text {
  width: 150px;
  min-width: 150px;
  min-height: 36px;
  height: 36px;
  padding: 0 12px;
}

.kp-koszyk .actions {
  background: #ffffff;
}

.kp-koszyk .coupon {
  display: flex;
  gap: 12px;
  align-items: center;
  flex-wrap: wrap;
}

.kp-koszyk .button,
.kp-koszyk .checkout-button.button,
.kp-koszyk button[name="update_cart"],
.kp-koszyk button[name="update_cart"]:disabled,
.kp-koszyk button[name="update_cart"][disabled] {
  padding: 0.7em 2em !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--kp-accent) !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 1.2em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  box-shadow: none !important;
  transition: 0.2s ease;
  height: auto !important;
  min-height: auto !important;
  width: auto !important;
  display: inline-block !important;
  white-space: nowrap !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}

.kp-koszyk .actions button[name="update_cart"]:not([disabled]) {
  padding: 0.9em 2em !important;
}

.kp-koszyk .button:hover,
.kp-koszyk .checkout-button.button:hover,
.kp-koszyk button[name="update_cart"]:hover,
.kp-koszyk button[name="update_cart"]:disabled:hover,
.kp-koszyk button[name="update_cart"][disabled]:hover {
  background: var(--kp-accent-hover) !important;
  color: #fff !important;
}

.kp-koszyk .button:after,
.kp-koszyk .checkout-button.button:after,
.kp-koszyk .et_pb_button:after,
.kp-koszyk .button:hover:after,
.kp-koszyk .checkout-button.button:hover:after,
.kp-koszyk .et_pb_button:hover:after {
  display: none !important;
  content: none !important;
}

.kp-koszyk .shop_table td.actions {
  text-align: right;
}

.kp-koszyk button[name="update_cart"] {
  margin-left: 12px !important;
  vertical-align: middle !important;
}

.kp-koszyk .cart-collaterals {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 24px;
  width: 100%;
  margin: 40px 0 0 !important;
}

.kp-koszyk .cart-collaterals > .cross-sells,
.kp-koszyk .cart-collaterals > .cart_totals {
  float: none !important;
  margin: 0 !important;
}

.kp-koszyk .cart_totals {
  width: auto;
  flex: 0 1 auto;
  max-width: none;
  padding: 24px;
  border-radius: var(--kp-radius);
}

.kp-koszyk .cart_totals h2 {
  margin-bottom: 20px;
  font-size: 24px;
  color: var(--kp-text);
  font-family: 'Mato Sans Medium', Helvetica, Arial, Lucida, sans-serif !important;
}

.kp-koszyk .cart_totals .shop_table th,
.kp-koszyk .cart_totals .shop_table td {
  padding: 14px 0;
}

.kp-koszyk .cart_totals .order-total th,
.kp-koszyk .cart_totals .order-total td {
  font-size: 18px !important;
}

.kp-koszyk .cart_totals .includes_tax {
  display: block;
  margin-top: 6px;
  color: var(--kp-muted);
  font-size: 13px;
}

.kp-koszyk .wc-proceed-to-checkout {
  margin-top: 20px;
  text-align: right;
}

.kp-koszyk .wc-proceed-to-checkout .checkout-button {
  width: auto;
  min-width: 260px;
  text-align: center;
  background: #93533B !important;
  font-size: 14px !important;
}

.kp-koszyk .wc-proceed-to-checkout .checkout-button:hover {
  background: #7f4631 !important;
  color: #fff !important;
}

@media (max-width: 980px) {
  .kp-koszyk .woocommerce-cart-form .shop_table th,
  .kp-koszyk .woocommerce-cart-form .shop_table td {
    padding: 20px 16px !important;
  }

  .kp-koszyk .cart_totals {
    flex: 1 1 100%;
    max-width: 100%;
  }
}

@media (max-width: 767px) {
  .kp-koszyk td.product-name,
  .kp-koszyk td.product-name a {
    text-align: right !important;
  }

  .kp-koszyk .coupon {
    width: 100% !important;
  }

  .kp-koszyk .coupon .input-text {
    width: 100% !important;
    min-width: 100% !important;
    flex: 0 0 100% !important;
    box-sizing: border-box !important;
  }

  .kp-koszyk .coupon button[name="apply_coupon"],
  .kp-koszyk .actions button[name="update_cart"] {
    width: 100% !important;
    min-width: 100% !important;
    flex: 0 0 100% !important;
    margin-left: 0 !important;
    box-sizing: border-box !important;
  }

  .kp-koszyk .actions {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .kp-koszyk .cart_totals .order-total,
  .kp-koszyk .cart_totals .order-total th,
  .kp-koszyk .cart_totals .order-total td {
    background: transparent !important;
    background-color: transparent !important;
  }

  .kp-koszyk .shop_table_responsive tr td.product-thumbnail,
  .kp-koszyk .woocommerce-cart-form__contents tr td.product-thumbnail {
    display: block !important;
    width: 100% !important;
    padding-bottom: 8px !important;
  }

  .kp-koszyk .shop_table_responsive tr td.product-thumbnail::before,
  .kp-koszyk .woocommerce-cart-form__contents tr td.product-thumbnail::before {
    display: none !important;
  }

  .kp-koszyk .product-thumbnail img {
    width: 100px;
    min-width: 100px;
    display: block !important;
    margin: 0 0 8px;
  }

  .kp-koszyk .coupon {
    flex-direction: column;
    align-items: stretch;
  }

  .kp-koszyk .coupon .input-text,
  .kp-koszyk button[name="apply_coupon"],
  .kp-koszyk .button,
  .kp-koszyk .checkout-button.button,
  .kp-koszyk button[name="update_cart"] {
    width: 100%;
    margin-left: 0 !important;
  }

  .kp-koszyk .coupon .input-text,
  .kp-koszyk button[name="apply_coupon"],
  .kp-koszyk button[name="update_cart"],
  .kp-koszyk .checkout-button.button {
    min-width: 0 !important;
    display: block !important;
    text-align: center !important;
  }

  .kp-koszyk .shop_table td.actions {
    text-align: left;
  }

  .kp-koszyk .woocommerce-message .button {
    width: 100%;
    margin: 20px 0 0;
    text-align: center;
  }

  .kp-koszyk .wc-proceed-to-checkout {
    text-align: left;
  }

  .kp-koszyk .wc-proceed-to-checkout .checkout-button {
    width: 100%;
    min-width: 0;
  }
}

a.button.wc-forward {
    font-size:12px!important;
    padding: 0.9em 2em!important}

.kp-mobile-cart-button {
  background: none !important;
  background-image: none !important;
  color: transparent !important;
  font-size: 0 !important;
}

.kp-mobile-cart-button::before {
  content: "" !important;
  position: absolute;
  inset: 0;
  background-color: #13283A;
  -webkit-mask: url('/wp-content/uploads/2026/03/ikona-koszyka.svg') center center / contain no-repeat;
  mask: url('/wp-content/uploads/2026/03/ikona-koszyka.svg') center center / contain no-repeat;
  z-index: 1;
}

.kp-mobile-cart-button::after {
  display: none !important;
  content: none !important;
}

/* =============================================
   CROSS-SELLS W KOSZYKU
   ============================================= */

.kp-koszyk .cross-sells {
  margin: 0;
  width: 100%;
  flex: 1 1 auto;
  max-width: none;
  min-width: 0;
  padding: 24px;
  border-radius: 10px;
  background: #EEF2F5;
}

.kp-koszyk .cross-sells > h2 {
  margin: 0 0 18px !important;
  padding: 0 !important;
  color: var(--kp-ink);
  font-family: 'Mato Sans Medium', Helvetica, Arial, Lucida, sans-serif !important;
  font-size: 24px !important;
  line-height: 1.05;
  letter-spacing: -0.03em;
  text-wrap: balance;
}

.kp-koszyk .cross-sells ul.products {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin: 0 !important;
  padding: 0 !important;
}

.kp-koszyk .cross-sells ul.products::before,
.kp-koszyk .cross-sells ul.products::after {
  display: none !important;
}

.kp-koszyk .cross-sells ul.products li.product {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.kp-koszyk .cross-sells ul.products li.product a.woocommerce-LoopProduct-link {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  height: 100%;
  padding: 14px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.92);
  overflow: hidden;
  text-decoration: none !important;
}

.kp-koszyk .cross-sells .et_shop_image {
  display: block;
  overflow: hidden;
  border-radius: 10px;
  background: var(--kp-surface);
  width: 100%;
  line-height: 0;
}

.kp-koszyk .cross-sells .et_overlay {
  display: none !important;
  opacity: 0 !important;
}

.kp-koszyk .cross-sells .et_shop_image img {
  display: block;
  width: 100%;
  height: 180px;
  object-fit: cover;
  border-radius: 10px;
}

.kp-koszyk .cross-sells .woocommerce-loop-product__title {
  margin: 0 !important;
  padding: 0 !important;
  color: var(--kp-ink);
  font-size: 16px !important;
  line-height: 1.18;
  letter-spacing: -0.02em;
}

.kp-koszyk .cross-sells .price {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  margin-top: auto;
  margin-left: 0;
  padding: 0;
  border-radius: 999px;
  background: var(--kp-surface);
  color: var(--kp-ink) !important;
  font-family: "Figtree", sans-serif !important;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  justify-content: flex-start;
  text-align: left;
}

.kp-koszyk .cross-sells .price .amount,
.kp-koszyk .cross-sells .price .woocommerce-Price-currencySymbol {
  color: inherit !important;
}

.kp-koszyk .cross-sells .kp-cross-sell-more {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 8px;
  padding: 0.7em 2em;
  border-radius: 999px;
  background: var(--kp-accent);
  color: #fff !important;
  font-family: "Figtree", sans-serif !important;
  font-size: 12px;
  font-weight: 400 !important;
  line-height: 1.2em;
  text-transform: uppercase;
  text-decoration: none !important;
  box-shadow: none !important;
  transition: background-color 0.2s ease, color 0.2s ease;
}

.kp-koszyk .cross-sells a.woocommerce-LoopProduct-link:hover .kp-cross-sell-more,
.kp-koszyk .cross-sells a.woocommerce-LoopProduct-link:focus .kp-cross-sell-more,
.kp-koszyk .cross-sells a.woocommerce-LoopProduct-link:focus-visible .kp-cross-sell-more {
  background: #7892C4;
  color: #fff !important;
}

@media (max-width: 980px) {
  .kp-koszyk .cart-collaterals {
    flex-direction: column;
    gap: 24px;
  }

  .kp-koszyk .cart_totals {
    flex: 1 1 100%;
    width: 100%;
    max-width: 100%;
    padding: 24px;
  }

  .kp-koszyk .cross-sells {
    max-width: 100%;
    max-width: 100%;
    padding: 24px;
    border-radius: 10px;
  }

  .kp-koszyk .cross-sells ul.products {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .kp-koszyk .cross-sells {
    padding: 18px;
    border-radius: 10px;
  }

  .kp-koszyk .cross-sells > h2 {
    margin-bottom: 18px !important;
  }

  .kp-koszyk .cross-sells ul.products li.product a.woocommerce-LoopProduct-link {
    padding: 12px;
    border-radius: 10px;
  }

  .kp-koszyk .cross-sells .et_shop_image img {
    height: 160px;
  }

  .kp-koszyk .cross-sells .woocommerce-loop-product__title {
    font-size: 15px !important;
  }
}
