/* Classic cart and order confirmation, sharing checkout's palette and notices. */
.wl-cart #page .woocommerce-cart-wrap {
	display: grid;
	grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr);
	align-items: start;
	gap: 28px;
}
.wl-cart #page .woocommerce-cart-wrap > * { min-width: 0; }
.wl-cart #page .the7-cart-form,
.wl-cart #page .cart-collaterals,
.wl-order-received #page .wc-side-column,
.wl-order-received #page .wc-wide-column,
.wl-order-received #page .woocommerce-bacs-bank-details,
.wl-order-received #page .woocommerce-order > .woocommerce-thankyou-order-received {
	float: none;
	width: 100%;
	min-width: 0;
	margin: 0;
	padding: 22px;
	box-sizing: border-box;
	border: 1px solid var(--wl-line);
	border-radius: 16px;
	background: var(--wl-paper);
	box-shadow: 0 4px 24px rgb(48 40 43 / 3%);
}
.wl-cart #page .cart-collaterals,
.wl-order-received #page .wc-side-column { border-top: 3px solid var(--wl-wine); }
.wl-cart #page .cart_totals { float: none; width: 100%; margin: 0; padding: 0; }
.wl-cart #page .cart-collaterals h2,
.wl-order-received #page .woocommerce-order h2,
.wl-order-received #page .woocommerce-order h3,
.wl-order-received #page .woocommerce-order h4 {
	margin: 0 0 24px;
	color: var(--wl-ink);
	font-size: 22px;
	font-weight: 600;
	line-height: 1.35;
	letter-spacing: -.35px;
	text-transform: none;
}
.wl-cart #page .shop_table,
.wl-order-received #page .shop_table {
	width: 100%;
	margin: 0;
	border: 0;
	border-collapse: collapse;
	background: var(--wl-paper);
	color: var(--wl-ink);
	font-size: 14px;
	line-height: 1.6;
}
.wl-cart #page .shop_table th,
.wl-cart #page .shop_table td,
.wl-order-received #page .shop_table th,
.wl-order-received #page .shop_table td { border-color: var(--wl-line); color: var(--wl-ink); }
.wl-cart #page .shop_table .product-name { min-width: 0; overflow-wrap: anywhere; }
.wl-cart #page .shop_table .product-name a,
.wl-order-received #page .shop_table a { color: var(--wl-wine); }
.wl-cart #page .shop_table .amount { color: var(--wl-ink); white-space: nowrap; }
.wl-cart #page .shop_table a.remove { color: var(--wl-wine); opacity: 1; }
.wl-cart #page .cart_totals table { display: table; }
.wl-cart #page .cart_totals tbody { display: table-row-group; }
.wl-cart #page .cart_totals tr { display: table-row; }
.wl-cart #page .cart_totals th,
.wl-cart #page .cart_totals td { display: table-cell; float: none; width: auto; padding: 15px 0; vertical-align: top; }
.wl-cart #page .cart_totals th { padding-inline-end: 16px; text-align: start; }
.wl-cart #page .cart_totals td { text-align: end; }
.wl-cart #page .cart_totals td::before { content: none; }
.wl-cart #page .shop_table .product-thumbnail img { border-radius: 8px; }
.wl-cart #page .shop_table small,
.wl-cart #page .shop_table .unit-price-cart,
.wl-order-received #page .shop_table small { color: var(--wl-muted); font-size: 12px; }
.wl-cart #page .cart_totals .order-total th,
.wl-cart #page .cart_totals .order-total td { border-top: 2px solid var(--wl-line); padding-block: 20px; font-size: 20px; font-weight: 600; }
.wl-cart #page #shipping_method { margin: 0; padding: 0; list-style: none; font-size: 13px; }
.wl-cart #page #shipping_method input { accent-color: var(--wl-wine); }
.wl-cart #page .cart-footer { gap: 12px; align-items: stretch; }
.wl-cart #page .shop_table td.actions { padding: 24px 0 0; }
.wl-cart #page .cart-footer .coupon { display: flex; flex: 1 1 100%; flex-wrap: wrap; gap: 12px; padding: 0; margin: 0; }
.wl-cart #page .cart-footer .coupon > * { margin: 0; }
.wl-cart #page .wc-coupon-field { flex: 1 1 180px; min-width: 0; }
.wl-cart #page .cart-footer .update-cart-button { margin: 0; padding: 0; }
.wl-cart #page .update-cart-button::before { content: none; }
.wl-cart #page .woocommerce input.input-text,
.wl-cart #page .woocommerce select,
.wl-cart #page .woocommerce .select2-selection--single {
	min-height: 48px;
	max-width: 100%;
	margin: 0;
	padding: 11px 14px;
	box-sizing: border-box;
	border: 1px solid #cfc5c3;
	border-radius: 8px;
	background: var(--wl-paper);
	color: var(--wl-ink);
	box-shadow: none;
	font-size: 16px;
	line-height: 24px;
}
.wl-cart #page #coupon_code { width: 100%; }
.wl-cart #page .woocommerce input::placeholder { color: var(--wl-muted); opacity: 1; }
.wl-cart #page .woocommerce input.input-text:focus,
.wl-cart #page .woocommerce select:focus,
.wl-cart #page .select2-container--focus .select2-selection--single {
	border-color: var(--wl-wine);
	outline: 3px solid rgb(114 43 67 / 15%);
	outline-offset: 1px;
}
.wl-cart #page .quantity { display: inline-flex; align-items: center; }
.wl-cart #page .quantity input.qty,
.wl-cart #page .quantity button {
	height: 48px;
	min-height: 48px;
	max-height: 48px;
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}
.wl-cart #page .quantity input.qty { padding-inline: 4px; border-radius: 0; text-align: center; }
.wl-cart #page .quantity button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 28px;
	border-color: #cfc5c3;
	color: var(--wl-wine);
	background: var(--wl-paper);
}
.wl-cart #page .woocommerce .button,
.wl-cart #page .woocommerce input[name="update_cart"],
.wl-order-received #page .woocommerce-order .button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	max-width: 100%;
	margin: 0;
	padding: 11px 20px;
	box-sizing: border-box;
	border: 1px solid var(--wl-wine);
	border-radius: 8px;
	background: var(--wl-wine);
	color: #fff;
	box-shadow: none;
	font-size: 16px;
	font-weight: 600;
	line-height: 24px;
	text-align: center;
	text-decoration: none;
	text-transform: none;
	white-space: normal;
}
.wl-cart #page .woocommerce .button:hover,
.wl-cart #page .woocommerce input[name="update_cart"]:hover,
.wl-order-received #page .woocommerce-order .button:hover { background: var(--wl-wine-dark); border-color: var(--wl-wine-dark); }
.wl-cart #page .woocommerce input[name="update_cart"] { background: var(--wl-paper); color: var(--wl-wine); }
.wl-cart #page .woocommerce input[name="update_cart"]:hover { color: #fff; }
.wl-cart #page .woocommerce :disabled { opacity: .6; cursor: default; }
.wl-cart #page .wc-proceed-to-checkout { padding: 20px 0 0; }
.wl-cart #page .checkout-button { width: 100%; min-height: 54px; }
.wl-cart #page .cross-sells { width: 100%; margin: 28px 0 0; }
.wl-cart #page .wc-empty-cart-message { padding: 22px; border: 1px solid var(--wl-line); border-radius: 16px; background: var(--wl-paper); margin-bottom: 20px; }

.wl-order-received #page .wc-complete-wrap {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.65fr);
	align-items: start;
	gap: 28px;
}
.wl-order-received #page .wc-complete-wrap > * { min-width: 0; grid-column: 1 / -1; }
.wl-order-received #page .wc-complete-wrap > .clear { display: none; }
.wl-order-received #page .wc-side-column { grid-column: 1; grid-row: 1; }
.wl-order-received #page .wc-wide-column { grid-column: 2; grid-row: 1 / span 2; }
.wl-order-received #page .woocommerce-bacs-bank-details { grid-column: 1; }
.wl-order-received #page .woocommerce-thankyou-order-received { color: var(--wl-wine); font-size: 22px; line-height: 1.5; }
.wl-order-received #page .woocommerce-thankyou-order-failed { color: #8f2117; }
.wl-order-received #page .woocommerce-thankyou-order-failed-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 0; }
.wl-order-received #page ul.order_details { display: block; margin: 24px 0 0; padding: 0; }
.wl-order-received #page ul.order_details li { float: none; width: auto; padding: 14px 0; margin: 0; border-color: var(--wl-line); color: var(--wl-muted); font-size: 13px; overflow-wrap: anywhere; }
.wl-order-received #page ul.order_details li strong { display: block; float: none; width: auto; margin-top: 4px; color: var(--wl-ink); font-size: 16px; font-weight: 600; }
.wl-order-received #page .woocommerce-order-details { margin-bottom: 32px; }
.wl-order-received #page .woocommerce-cart-wrap { display: block; }
.wl-order-received #page .shop_table { display: table; table-layout: fixed; }
.wl-order-received #page .shop_table thead { display: table-header-group; }
.wl-order-received #page .shop_table tbody { display: table-row-group; }
.wl-order-received #page .shop_table tfoot { display: table-footer-group; }
.wl-order-received #page .shop_table tr { display: table-row; }
.wl-order-received #page .shop_table th,
.wl-order-received #page .shop_table td { display: table-cell; float: none; width: auto; padding: 15px 0; vertical-align: top; font-weight: 400; overflow-wrap: anywhere; }
.wl-order-received #page .shop_table th:first-child,
.wl-order-received #page .shop_table td:first-child { width: 60%; padding-inline-end: 16px; text-align: start; }
.wl-order-received #page .shop_table th:last-child,
.wl-order-received #page .shop_table td:last-child { text-align: end; }
.wl-order-received #page .shop_table thead th { color: var(--wl-muted); font-size: 12px; }
.wl-order-received #page .shop_table.customer_details th:first-child { width: 35%; }
.wl-order-received #page .shop_table.customer_details td { text-align: start; }
.wl-order-received #page .woocommerce-order-downloads { margin-top: 28px; }

@media (max-width: 1000px) {
	.wl-cart #page .woocommerce-cart-wrap,
	.wl-order-received #page .wc-complete-wrap { grid-template-columns: minmax(0, 1fr); gap: 20px; }
	.wl-order-received #page .wc-complete-wrap > * { grid-column: 1; grid-row: auto; }
}
@media (max-width: 540px) {
	.wl-cart #page .the7-cart-form,
	.wl-cart #page .cart-collaterals,
	.wl-order-received #page .wc-side-column,
	.wl-order-received #page .wc-wide-column,
	.wl-order-received #page .woocommerce-bacs-bank-details { padding: 22px 18px; border-radius: 12px; }
	.wl-cart #page .cart-footer .coupon > *,
	.wl-cart #page .cart-footer .update-cart-button,
	.wl-cart #page .cart-footer input[name="update_cart"] { flex: 1 1 100%; width: 100%; }
	.wl-cart #page .cart-collaterals h2,
	.wl-order-received #page .woocommerce-order h2,
	.wl-order-received #page .woocommerce-order h3,
	.wl-order-received #page .woocommerce-order h4 { font-size: 20px; }
	.wl-order-received #page .shop_table.customer_details,
	.wl-order-received #page .shop_table.customer_details tbody,
	.wl-order-received #page .shop_table.customer_details tr { display: block; }
	.wl-order-received #page .shop_table.customer_details tr { padding: 12px 0; border-bottom: 1px solid var(--wl-line); }
	.wl-order-received #page .shop_table.customer_details th:first-child,
	.wl-order-received #page .shop_table.customer_details td { display: block; width: 100%; padding: 4px 0; border: 0; box-sizing: border-box; }
	.wl-order-received #page .shop_table.customer_details th { color: var(--wl-muted); font-size: 12px; }
}
