/*
 * iShack cart layout v1.1.2. All selectors are limited to WooCommerce cart/checkout.
 * No InPost, WooCommerce or theme plugin files are modified.
 */

/* Full, balanced cart canvas. */
.woocommerce-cart #content-wrap.container {
	width: min(1440px, calc(100% - 40px));
	max-width: 1440px;
}

.woocommerce-cart #primary .woocommerce {
	display: grid;
	grid-template-columns: minmax(0, 1.86fr) minmax(360px, 1fr);
	align-items: start;
	gap: 32px;
}

.woocommerce-cart #primary .woocommerce > .woocommerce-notices-wrapper {
	grid-column: 1 / -1;
}

.woocommerce-cart #primary .woocommerce > .woocommerce-cart-form {
	grid-column: 1;
	min-width: 0;
}

.woocommerce-cart #primary .woocommerce > .cart-collaterals {
	grid-column: 2;
	min-width: 0;
}

body.woocommerce-cart #primary .woocommerce > .cart-collaterals {
	width: 100%;
	padding: 0;
	border: 0;
	background: transparent;
}

body.woocommerce-cart #primary .woocommerce > .cart-collaterals > .cart_totals {
	position: sticky;
	top: 24px;
	float: none;
	width: 100%;
	max-width: none;
	min-width: 0;
	padding: 26px;
	border: 1px solid #dedede;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 14px 38px rgba(17, 17, 17, 0.08);
}

body.admin-bar.woocommerce-cart #primary .woocommerce > .cart-collaterals > .cart_totals {
	top: 56px;
}

body.woocommerce-cart #primary .cart_totals > h2 {
	width: 100%;
	margin: 0 0 20px;
	padding: 0 0 16px;
	border-bottom: 2px solid #f5c800;
	color: #181818;
	font-size: 24px;
	font-weight: 800;
	letter-spacing: -0.02em;
}

/* Product list card. */
.woocommerce-cart .woocommerce-cart-form::before {
	display: block;
	margin: 0 0 18px;
	color: #181818;
	content: "Twój koszyk";
	font-size: 28px;
	font-weight: 800;
	letter-spacing: -0.025em;
}

.woocommerce-cart .woocommerce-cart-form .shop_table.cart {
	overflow: hidden;
	border: 1px solid #dedede;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 10px 30px rgba(17, 17, 17, 0.05);
}

.woocommerce-cart .shop_table.cart thead {
	background: #f5f5f3;
}

.woocommerce-cart .shop_table.cart th {
	padding-top: 15px;
	padding-bottom: 15px;
	color: #565656;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.woocommerce-cart .shop_table.cart td {
	padding-top: 20px;
	padding-bottom: 20px;
	vertical-align: middle;
}

.woocommerce-cart .shop_table.cart .product-thumbnail img {
	width: 86px;
	height: 86px;
	border-radius: 12px;
	object-fit: contain;
}

.woocommerce-cart .shop_table.cart .product-name a {
	color: #1b1b1b;
	font-weight: 700;
	line-height: 1.45;
}

.woocommerce-cart .shop_table.cart .product-price,
.woocommerce-cart .shop_table.cart .product-subtotal {
	white-space: nowrap;
}

.woocommerce-cart .shop_table.cart .product-subtotal {
	font-weight: 800;
}

.woocommerce-cart .shop_table.cart .quantity {
	white-space: nowrap;
}

.woocommerce-cart .shop_table.cart .quantity .qty {
	min-width: 44px;
}

.woocommerce-cart .shop_table.cart td.wpced-cart {
	padding: 13px 20px 13px 126px;
	border-top: 1px solid #f0dfa0;
	background: #fff9df;
	color: #4e430d;
	font-size: 13px;
	line-height: 1.4;
}

.woocommerce-cart .shop_table.cart td.actions {
	padding: 18px 20px;
	background: #fafafa;
}

.woocommerce-cart .shop_table.cart td.actions .button {
	min-height: 44px;
	border-radius: 9px;
}

/* Free-shipping notice: replace unexplained figures with useful labels. */
.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-info {
	padding: 18px 20px;
	border: 1px solid #e2e2df;
	border-left: 4px solid #f5c800;
	border-radius: 14px;
	background: #fafaf8;
}

.woocommerce-cart .fs-free-shipping-notice-and-button-wrapper {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 20px;
}

.woocommerce-cart .fs-free-shipping-notice-text::before {
	margin-right: 5px;
	content: "Do darmowej dostawy brakuje:";
	font-weight: 700;
}

.woocommerce-cart .fs-free-shipping-notice-opening-value {
	display: none;
}

.woocommerce-cart .fs-free-shipping-notice-closing-value::before {
	margin-right: 4px;
	content: "Darmowa dostawa od";
	font-size: 11px;
	font-weight: 700;
}

.woocommerce-cart .flexible-shipping-free-shipping-button {
	white-space: nowrap;
	border-radius: 9px;
}

/* Order summary table. */
body.woocommerce-cart #primary .cart_totals .shop_table {
	display: block;
	width: 100%;
	max-width: 100%;
	margin-bottom: 18px;
	border: 0;
}

body.woocommerce-cart #primary .cart_totals .shop_table > tbody {
	display: block;
	width: 100%;
}

body.woocommerce-cart #primary .cart_totals .shop_table > tbody > tr:not(.shipping) {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: start;
	width: 100%;
}

body.woocommerce-cart #primary .cart_totals .shop_table > tbody > tr:not(.shipping) > th,
body.woocommerce-cart #primary .cart_totals .shop_table > tbody > tr:not(.shipping) > td {
	display: block;
	width: auto;
	padding: 14px 0;
	border-bottom: 1px solid #ececea;
}

.woocommerce-cart .cart_totals .shop_table > tbody > tr:not(.shipping) > td {
	text-align: right;
}

.woocommerce-cart .cart_totals .order-total th,
.woocommerce-cart .cart_totals .order-total td {
	font-size: 17px;
}

.woocommerce-cart .cart_totals .wc-proceed-to-checkout {
	padding: 0;
}

.woocommerce-cart .cart_totals .wc-proceed-to-checkout .checkout-button,
.woocommerce-cart .cart_totals .wc-proceed-to-checkout .button {
	display: flex;
	width: 100%;
	min-height: 54px;
	align-items: center;
	justify-content: center;
	margin: 0;
	border-radius: 11px;
}

.woocommerce-cart .cart_totals .izi-widget-cart,
.woocommerce-cart .cart_totals inpost-izi-button {
	display: block;
	width: 100%;
	max-width: 100%;
}

/* Shipping methods become full-width, resilient cards. */
body.woocommerce-cart #primary .cart_totals tr.woocommerce-shipping-totals.shipping {
	display: block;
	width: 100%;
	min-width: 0;
	padding: 18px 0;
	border-bottom: 1px solid #ececea;
}

body.woocommerce-cart #primary .cart_totals tr.woocommerce-shipping-totals.shipping > th,
body.woocommerce-cart #primary .cart_totals tr.woocommerce-shipping-totals.shipping > td {
	display: block;
	width: 100%;
	padding: 0;
	border: 0;
	text-align: left;
}

body.woocommerce-cart #primary .cart_totals tr.woocommerce-shipping-totals.shipping > th {
	margin-bottom: 12px;
	color: #202020;
	font-size: 15px;
	font-weight: 800;
}

.woocommerce-cart ul#shipping_method,
.woocommerce-checkout ul#shipping_method {
	display: grid;
	gap: 9px;
	padding: 0;
}

.woocommerce-cart ul#shipping_method > li,
.woocommerce-checkout ul#shipping_method > li {
	display: grid;
	grid-template-columns: 18px minmax(0, 1fr) 58px;
	align-items: center;
	justify-content: stretch;
	gap: 5px 10px;
	width: 100%;
	min-width: 0;
	min-height: 58px;
	padding: 11px 12px;
	border: 1px solid #e3e3df;
	border-radius: 11px;
	background: #fff;
}

.woocommerce-cart ul#shipping_method > li:has(> input[value="flexible_shipping_single:19"]),
.woocommerce-checkout ul#shipping_method > li:has(> input[value="flexible_shipping_single:19"]) {
	border-color: #e1bd00;
	background: #fffdf2;
	box-shadow: inset 3px 0 0 #f5c800;
}

.woocommerce-cart ul#shipping_method > li:has(> input.shipping_method:checked),
.woocommerce-checkout ul#shipping_method > li:has(> input.shipping_method:checked) {
	border-color: #b8b8b2;
	box-shadow: inset 3px 0 0 #f5c800;
}

.woocommerce-cart ul#shipping_method > li > input.shipping_method,
.woocommerce-checkout ul#shipping_method > li > input.shipping_method {
	grid-column: 1;
	grid-row: 1;
	width: 17px;
	height: 17px;
	margin: 0;
	accent-color: #e5b900;
}

.woocommerce-cart ul#shipping_method > li > label,
.woocommerce-checkout ul#shipping_method > li > label {
	display: grid;
	grid-column: 2;
	grid-row: 1;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 8px;
	width: auto;
	min-width: 0;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: #333;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.35;
}

.woocommerce-cart ul#shipping_method > li > input.shipping_method:checked + label,
.woocommerce-checkout ul#shipping_method > li > input.shipping_method:checked + label {
	display: grid;
	width: auto;
	padding: 0;
	border: 0;
	background: transparent;
}

.woocommerce-cart ul#shipping_method > li > label > span[title],
.woocommerce-checkout ul#shipping_method > li > label > span[title] {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 8px;
	min-width: 0;
}

.woocommerce-cart ul#shipping_method > li > label .amount,
.woocommerce-checkout ul#shipping_method > li > label .amount {
	justify-self: end;
	white-space: nowrap;
	color: #171717;
	font-weight: 800;
}

.woocommerce-cart ul#shipping_method > li > .shipping-method-description,
.woocommerce-checkout ul#shipping_method > li > .shipping-method-description {
	grid-column: 2 / -1;
	grid-row: 2;
	width: auto;
	max-width: 100%;
	margin: 0;
	color: #6a6a66;
	font-size: 11px;
	font-weight: 500;
	line-height: 1.45;
}

.woocommerce-cart ul#shipping_method > li > .inpost_pl-shipping-method-meta-wrap,
.woocommerce-checkout ul#shipping_method > li > .inpost_pl-shipping-method-meta-wrap {
	display: flex;
	grid-column: 3;
	grid-row: 1;
	align-items: center;
	justify-self: end;
}

.woocommerce-cart ul#shipping_method .easypack-shipping-method-logo,
.woocommerce-cart ul#shipping_method .easypack-weekend-shipping-method-logo,
.woocommerce-cart ul#shipping_method .easypack-custom-shipping-method-logo,
.woocommerce-checkout ul#shipping_method .easypack-shipping-method-logo,
.woocommerce-checkout ul#shipping_method .easypack-weekend-shipping-method-logo,
.woocommerce-checkout ul#shipping_method .easypack-custom-shipping-method-logo {
	top: auto;
	position: static;
}

.woocommerce-cart ul#shipping_method .easypack-shipping-method-logo img,
.woocommerce-cart ul#shipping_method .easypack-weekend-shipping-method-logo img,
.woocommerce-cart ul#shipping_method .easypack-custom-shipping-method-logo img,
.woocommerce-checkout ul#shipping_method .easypack-shipping-method-logo img,
.woocommerce-checkout ul#shipping_method .easypack-weekend-shipping-method-logo img,
.woocommerce-checkout ul#shipping_method .easypack-custom-shipping-method-logo img {
	display: block;
	width: auto;
	max-width: 56px;
	height: auto;
	max-height: 24px;
	margin: 0;
	object-fit: contain;
}

@media (max-width: 960px) {
	.woocommerce-cart #content-wrap.container {
		width: min(100% - 30px, 760px);
	}

	.woocommerce-cart #primary .woocommerce {
		grid-template-columns: minmax(0, 1fr);
		gap: 26px;
	}

	.woocommerce-cart #primary .woocommerce > .woocommerce-notices-wrapper,
	.woocommerce-cart #primary .woocommerce > .woocommerce-cart-form,
	.woocommerce-cart #primary .woocommerce > .cart-collaterals {
		grid-column: 1;
	}

	body.woocommerce-cart #primary .woocommerce > .cart-collaterals > .cart_totals {
		position: static;
	}
}

@media (max-width: 600px) {
	.woocommerce-cart #content-wrap.container {
		width: calc(100% - 24px);
	}

	.woocommerce-cart #primary .woocommerce {
		gap: 20px;
	}

	.woocommerce-cart .woocommerce-cart-form::before {
		font-size: 24px;
	}

	.woocommerce-cart .woocommerce-cart-form .shop_table.cart,
	.woocommerce-cart .woocommerce-cart-form .shop_table.cart > tbody {
		display: block;
		width: 100%;
	}

	.woocommerce-cart .woocommerce-cart-form .shop_table.cart > thead {
		display: none;
	}

	.woocommerce-cart .woocommerce-cart-form .shop_table.cart tr.cart_item {
		position: relative;
		display: grid;
		grid-template-columns: 78px minmax(0, 1fr);
		gap: 7px 14px;
		width: 100%;
		padding: 16px;
	}

	.woocommerce-cart .woocommerce-cart-form .shop_table.cart tr.cart_item > td {
		display: block;
		width: auto;
		padding: 0;
		border: 0;
		text-align: left;
	}

	.woocommerce-cart .shop_table.cart tr.cart_item > .product-remove {
		position: absolute;
		top: 8px;
		right: 8px;
		z-index: 1;
	}

	.woocommerce-cart .shop_table.cart tr.cart_item > .product-thumbnail {
		grid-column: 1;
		grid-row: 1 / span 4;
	}

	.woocommerce-cart .shop_table.cart tr.cart_item > .product-thumbnail img {
		width: 78px;
		height: 78px;
	}

	.woocommerce-cart .shop_table.cart tr.cart_item > .product-name,
	.woocommerce-cart .shop_table.cart tr.cart_item > .product-price,
	.woocommerce-cart .shop_table.cart tr.cart_item > .product-quantity,
	.woocommerce-cart .shop_table.cart tr.cart_item > .product-subtotal {
		grid-column: 2;
		padding-right: 22px;
	}

	.woocommerce-cart .shop_table.cart tr.cart_item > .product-name {
		font-size: 14px;
	}

	.woocommerce-cart .shop_table.cart tr.cart_item > .product-price::before,
	.woocommerce-cart .shop_table.cart tr.cart_item > .product-quantity::before,
	.woocommerce-cart .shop_table.cart tr.cart_item > .product-subtotal::before {
		display: inline;
		float: none;
		margin-right: 5px;
		color: #777;
		font-size: 11px;
		font-weight: 700;
		text-transform: uppercase;
	}

	.woocommerce-cart .shop_table.cart tr.cart_item > .product-price::before {
		content: "Cena:";
	}

	.woocommerce-cart .shop_table.cart tr.cart_item > .product-quantity::before {
		content: "Ilość:";
	}

	.woocommerce-cart .shop_table.cart tr.cart_item > .product-subtotal::before {
		content: "Kwota:";
	}

	.woocommerce-cart .woocommerce-cart-form .shop_table.cart > tbody > tr:not(.cart_item),
	.woocommerce-cart .woocommerce-cart-form .shop_table.cart > tbody > tr:not(.cart_item) > td {
		display: block;
		width: 100%;
	}

	.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-info,
	body.woocommerce-cart #primary .woocommerce > .cart-collaterals > .cart_totals {
		padding: 18px 15px;
		border-radius: 13px;
	}

	.woocommerce-cart .fs-free-shipping-notice-and-button-wrapper {
		grid-template-columns: minmax(0, 1fr);
		gap: 14px;
	}

	.woocommerce-cart .fs-free-shipping-notice-continue-shopping-button-wrapper,
	.woocommerce-cart .flexible-shipping-free-shipping-button,
	.woocommerce-cart .shop_table.cart td.actions .button,
	.woocommerce-cart .shop_table.cart td.actions .coupon,
	.woocommerce-cart .shop_table.cart td.actions .coupon .input-text {
		width: 100%;
	}

	.woocommerce-cart .shop_table.cart td.actions .button {
		margin-top: 9px;
	}

	.woocommerce-cart .shop_table.cart td.wpced-cart {
		padding: 12px 14px;
		border-radius: 0;
	}

	.woocommerce-cart ul#shipping_method > li,
	.woocommerce-checkout ul#shipping_method > li {
		grid-template-columns: 18px minmax(0, 1fr);
		align-items: start;
		padding: 12px 10px;
	}

	.woocommerce-cart ul#shipping_method > li > .shipping-method-description,
	.woocommerce-checkout ul#shipping_method > li > .shipping-method-description,
	.woocommerce-cart ul#shipping_method > li > .inpost_pl-shipping-method-meta-wrap,
	.woocommerce-checkout ul#shipping_method > li > .inpost_pl-shipping-method-meta-wrap {
		grid-column: 2;
		grid-row: auto;
		justify-self: start;
	}

	.woocommerce-cart ul#shipping_method .easypack-shipping-method-logo img,
	.woocommerce-cart ul#shipping_method .easypack-weekend-shipping-method-logo img,
	.woocommerce-cart ul#shipping_method .easypack-custom-shipping-method-logo img,
	.woocommerce-checkout ul#shipping_method .easypack-shipping-method-logo img,
	.woocommerce-checkout ul#shipping_method .easypack-weekend-shipping-method-logo img,
	.woocommerce-checkout ul#shipping_method .easypack-custom-shipping-method-logo img {
		max-width: 48px;
		max-height: 21px;
	}
}


