:root {
	--wns-cart--layout-gap: 30px;
	--wns-cart--content-margin-top: 60px;

	--wns-cart--actions-padding: 60px 20px 0;
	--wns-cart--coupon-width: 50%;
	--wns-cart--coupon-grid-gap: 10px;

	--wns-cart--thumbnail-size: 60px;
	--wns-cart--thumbnail-border-radius: 8px;

	--wns-cart--section-title-margin: 60px 0 30px;
	--wns-cart--section-title-border-bottom: 1px solid var(--wp--preset--color--secondary);
	--wns-cart--section-title-line-height: 1.15;

	--wns-cart--paczkomat-logo-width: 200px;
	--wns-cart--paczkomat-button-border: 1px solid var(--wp--preset--color--secondary);
	--wns-cart--paczkomat-button-min-width: 80px;

	--wns-cart--shipping-methods-gap: 15px 0;
	--wns-cart--shipping-method-basis: 50%;
	--wns-cart--shipping-method-item-spacing: 15px;

	--wns-cart--order-total-font-size: 32px;
	--wns-cart--order-total-border-bottom: 2px solid var(--wp--preset--color--secondary);
	--wns-cart--order-total-padding: 15px;

	--wns-cart--checkout-margin-top: 60px;
	--wns-cart--checkout-padding: 0 30px;
	--wns-cart--checkout-button-margin-bottom: 30px;
}

/* Main layout */

.woocommerce-cart main .wp-block-post-content {
	display: flex;
	flex-direction: column;
	align-items: center;
	max-width: unset !important;
	margin: var(--wns-cart--content-margin-top) 0 0 !important;
}

.woocommerce-cart main .wp-block-post-content .woocommerce,
.woocommerce-cart main .wp-block-post-content .woocommerce .cart-collaterals,
.woocommerce-cart .fragment--cart {
	display: flex !important;
	flex-direction: column !important;
}

.woocommerce-cart .fragment--cart {
	max-width: var(--wns--page--max-width) !important;
	padding: var(--wns--page--padding);
	width: 100%;
	box-sizing: border-box;
	margin: 0 auto;
}

.woocommerce-cart .fragment--cart h1 {
	color: var(--wp--preset--color--secondary);
}

.woocommerce-cart .fragment--cart .woocommerce {
	max-width: unset !important;
	display: flex;
	justify-content: space-between;
	width: 100%;
	gap: var(--wns-cart--layout-gap) !important;
}

.woocommerce-cart .fragment--cart .woocommerce::before,
.woocommerce-cart .fragment--cart .woocommerce::after {
	display: none !important;
}

.woocommerce-cart .woocommerce-notices-wrapper,
.woocommerce-cart main .wp-block-post-content .woocommerce .cart-collaterals .cart_totals {
	width: 100% !important;
}

.woocommerce-cart .wc-empty-cart-message {
  margin: 0 0 var(--wns-cart--layout-gap);
}

.woocommerce-cart .return-to-shop {
  margin: 0;
}

/* Shared table styles */

.woocommerce-cart .woocommerce-cart-form__contents,
.woocommerce-cart .cart_totals table.shop_table {
	margin: 0 !important;
	border-radius: var(--wns--my-account--orders--table--border-radius) !important;
	border: none !important;
	border-collapse: collapse !important;
	overflow: hidden;
}

.woocommerce-cart .woocommerce-cart-form__contents thead,
.woocommerce-cart .woocommerce-cart-form__contents tr:nth-child(even):not(:last-child),
.woocommerce-cart .cart_totals table.shop_table thead,
.woocommerce-cart .cart_totals table.shop_table tr:nth-child(even) {
	background-color: var(--wns--my-account--orders--table--row-bg) !important;
}

.woocommerce-cart .woocommerce-cart-form__contents th,
.woocommerce-cart .woocommerce-cart-form__contents tr,
.woocommerce-cart .woocommerce-cart-form__contents td,
.woocommerce-cart .cart_totals table.shop_table th,
.woocommerce-cart .cart_totals table.shop_table tr,
.woocommerce-cart .cart_totals table.shop_table td {
	border: none !important;
	padding: var(--wns--my-account--orders--table--cell--padding) !important;
	white-space: nowrap;
}

.woocommerce-cart .woocommerce-cart-form__contents,
.woocommerce-cart .cart_totals table.shop_table th {
	font-weight: bold !important;
	color: var(--wp--preset--color--secondary) !important;
	font-size: var(--wns--my-account--orders--table--th--font-size);
}

.woocommerce-cart .woocommerce-cart-form__contents {
	width: 100% !important;
	text-align: right !important;
}

.woocommerce-cart .cart_totals table.shop_table th {
	width: var(--wns--my-account--orders--table--th--width) !important;
	text-align: right !important;
}

.woocommerce-cart .woocommerce-cart-form__contents td,
.woocommerce-cart .cart_totals table.shop_table td {
	text-align: right !important;
}

.woocommerce-cart .woocommerce-cart-form__contents th:nth-child(-n+3),
.woocommerce-cart .woocommerce-cart-form__contents td:nth-child(-n+3):not(.actions),
.woocommerce-cart .cart_totals table.shop_table th:first-child,
.woocommerce-cart .cart_totals table.shop_table td:first-child {
	text-align: left !important;
}

.woocommerce-cart .woocommerce-cart-form__contents td a,
.woocommerce-cart .cart_totals table.shop_table td a {
	margin-bottom: 0 !important;
	padding: var(--wns--my-account--table--td--link--padding) !important;
}

/* Cart table specifics */

.woocommerce-cart .woocommerce-cart-form__contents td.product-name a {
	padding: 0 !important;
}

.woocommerce-cart .woocommerce-cart-form__contents td.product-quantity .quantity input {
	width: auto !important;
}

.woocommerce-cart .woocommerce-cart-form__contents td.product-remove a,
.woocommerce-cart .cart_totals table.shop_table .select-paczkomat-button {
	border-radius: var(--wns-btn-radius) !important;
	padding: var(--wns-btn-padding) !important;
	font-size: var(--wns-btn-font-size) !important;
	font-family: var(--wns-btn-font-family) !important;
	font-weight: var(--wns-btn-font-weight) !important;
	font-style: var(--wns-btn-font-style) !important;
}

.woocommerce-cart .woocommerce-cart-form__contents td.product-remove a {
	background-color: var(--wns-btn-bg-color) !important;
	color: var(--wns-btn-color) !important;
	border: var(--wns-btn-border) !important;
}

.woocommerce-cart .woocommerce-cart-form__contents td.product-remove a:hover,
.woocommerce-cart .cart_totals table.shop_table .select-paczkomat-button:hover {
	animation: pulse var(--wns-common--pulse-duration) ease-in-out infinite;
	will-change: box-shadow;
}

.woocommerce-cart .cart_totals table.shop_table .select-paczkomat-button:hover {
	cursor: pointer !important;
}

.woocommerce-cart .woocommerce-cart-form__contents td.product-thumbnail img {
	width: var(--wns-cart--thumbnail-size) !important;
	height: var(--wns-cart--thumbnail-size) !important;
	border-radius: var(--wns-cart--thumbnail-border-radius) !important;
}

.woocommerce-cart .woocommerce-cart-form__contents td.product-price,
.woocommerce-cart .woocommerce-cart-form__contents td.product-subtotal {
	color: var(--wp--preset--color--white) !important;
}

.woocommerce-cart .fragment--cart .woocommerce .woocommerce-cart-form__contents td.actions {
	padding: var(--wns-cart--actions-padding) !important;
}

.woocommerce-cart .fragment--cart .woocommerce .woocommerce-cart-form__contents td.actions .coupon {
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	gap: var(--wns-cart--coupon-grid-gap) !important;
	width: var(--wns-cart--coupon-width) !important;
}

.woocommerce-cart .fragment--cart .woocommerce .woocommerce-cart-form__contents td.actions .coupon .coupon-error-notice {
	color: var(--wp--preset--color--white) !important;
	grid-column: 1 / -1 !important;
}

.woocommerce-cart .fragment--cart .woocommerce .woocommerce-cart-form__contents td.actions .coupon > * {
	margin: 0 !important;
	max-width: unset !important;
	width: 100% !important;
	float: none !important;
}

.woocommerce-cart .fragment--cart .woocommerce .woocommerce-cart-form__contents td.actions button {
	line-height: normal !important;
}

/* Cart totals */

.woocommerce-cart .cart_totals h2 {
	color: var(--wp--preset--color--tertiary);
	font-family: var(--wp--preset--font-family--poltawski-nowy);
	font-size: var(--wp--preset--font-size--large);
	font-style: italic;
	font-weight: 400;
	line-height: var(--wns-cart--section-title-line-height);
	margin: var(--wns-cart--section-title-margin);
	border-bottom: var(--wns-cart--section-title-border-bottom);
}

.woocommerce-cart .cart_totals table.shop_table td p {
	margin: 0;
}

.woocommerce-cart .cart_totals table.shop_table .paczkomat-logo {
	width: var(--wns-cart--paczkomat-logo-width) !important;
}

.woocommerce-cart .cart_totals table.shop_table .select-paczkomat-button {
	border: var(--wns-cart--paczkomat-button-border) !important;
	background: transparent !important;
	color: var(--wp--preset--color--white) !important;
	margin-top: 0 !important;
	min-width: var(--wns-cart--paczkomat-button-min-width) !important;
}

.woocommerce-cart .cart_totals table.shop_table #selected-paczkomat {
	color: var(--wp--preset--color--secondary) !important;
}

.woocommerce-cart .cart_totals table.shop_table .woocommerce-shipping-destination {
	display: none !important;
}

.woocommerce-cart .cart_totals table.shop_table .woocommerce-shipping-methods {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wns-cart--shipping-methods-gap);
}

.woocommerce-cart .cart_totals table.shop_table .woocommerce-shipping-methods li {
	flex-basis: var(--wns-cart--shipping-method-basis);
}

.woocommerce-cart .cart_totals table.shop_table .woocommerce-shipping-methods li > *:not(:last-child) {
	margin-bottom: var(--wns-cart--shipping-method-item-spacing) !important;
}

.woocommerce-cart .cart_totals table.shop_table .woocommerce-shipping-methods li .shipping_method + label:hover {
	cursor: pointer !important;
	color: var(--wp--preset--color--primary) !important;
}

.woocommerce-cart .cart_totals table.shop_table tr.order-total .woocommerce-Price-amount {
	font-size: var(--wns-cart--order-total-font-size) !important;
	border-bottom: var(--wns-cart--order-total-border-bottom) !important;
	padding: var(--wns-cart--order-total-padding) !important;
}

.woocommerce-cart .cart_totals .wc-proceed-to-checkout {
	margin-top: var(--wns-cart--checkout-margin-top) !important;
	padding: var(--wns-cart--checkout-padding) !important;
}

.woocommerce-cart .cart_totals .wc-proceed-to-checkout .checkout-button {
	margin-bottom: var(--wns-cart--checkout-button-margin-bottom) !important;
}

@media (max-width: 780px) {
  .woocommerce-cart .fragment--cart {
    padding-inline: 20px;
  }

  .woocommerce-cart .woocommerce-cart-form__contents tr.cart_item {
    display: block;
    margin-bottom: var(--wns-cart--layout-gap);
    padding: 16px;
    border: 1px solid var(--wp--preset--color--secondary) !important;
    border-radius: var(--wns-cart--thumbnail-border-radius);
    background: color-mix(
      in srgb,
      var(--wp--preset--color--secondary) 5%,
      var(--wp--preset--color--black)
    );
  }

  .woocommerce-cart .woocommerce-cart-form__contents td {
    box-sizing: border-box;
    width: 100% !important;
    padding: 10px 0 !important;
    white-space: normal;
  }

  .woocommerce-cart .woocommerce-cart-form__contents td.product-thumbnail {
    display: block !important;
    text-align: center !important;
  }

  .woocommerce-cart .woocommerce-cart-form__contents td.product-thumbnail::before {
    display: none;
  }

  .woocommerce-cart .woocommerce-cart-form__contents td.product-thumbnail img {
    width: 96px !important;
    height: 96px !important;
  }

  .woocommerce-cart .woocommerce-cart-form__contents td.product-quantity .quantity {
    display: inline-block;
    width: min(140px, 55%);
  }

  .woocommerce-cart .fragment--cart .woocommerce .woocommerce-cart-form__contents td.actions {
    padding: 24px 0 0 !important;
  }

  .woocommerce-cart .fragment--cart .woocommerce .woocommerce-cart-form__contents td.actions .coupon {
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100% !important;
  }

  .woocommerce-cart .fragment--cart .woocommerce .woocommerce-cart-form__contents td.actions > button {
    width: 100% !important;
    margin-top: 12px !important;
  }

  .woocommerce-cart .cart_totals table.shop_table th,
  .woocommerce-cart .cart_totals table.shop_table td {
    box-sizing: border-box;
    width: 100% !important;
    white-space: normal;
  }

  .woocommerce-cart .cart_totals table.shop_table .woocommerce-shipping-methods {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }

  .woocommerce-cart .cart_totals table.shop_table .woocommerce-shipping-methods li {
    min-width: 0;
  }

  .woocommerce-cart .cart_totals .wc-proceed-to-checkout {
    margin-top: 30px !important;
    padding-inline: 0 !important;
  }
}
