/**
 * Cart — mediaMEANS-V5 / Brauerei Wittmann
 *
 * Same visual language as the checkout. The totals box uses the same markup as
 * the checkout summary (see woocommerce/cart/cart-totals.php), so most of the
 * appearance is shared; the rules are repeated here because btw_shop.css is
 * only loaded on the checkout.
 *
 * Keep the palette in sync with btw_shop.css.
 */
:root {
	--mM_co_bg: #faf7f1;
	--mM_co_surface: #ffffff;
	--mM_co_heading: #014f28;
	--mM_co_text: #5a615b;
	--mM_co_body: #012d15;
	--mM_co_accent: #ffef00;
	--mM_co_border: #e2ded4;
	--mM_co_gap: 32px;
	--mM_co_radius: 4px;
	--mM_co_aside_width: 380px;
}
/* ------------------------------------------------- page background */
body.woocommerce-cart {
	background-color: var(--mM_co_bg);
}
body.woocommerce-cart > .container:has(> .woocommerce) {
	background-color: var(--mM_co_bg);
	color: var(--mM_co_body);
	padding-top: 100px;
	padding-bottom: 100px;
}
body.woocommerce-cart > .container:has(> .woocommerce) h1,
body.woocommerce-cart > .container:has(> .woocommerce) h2,
body.woocommerce-cart > .container:has(> .woocommerce) h3 {
	color: var(--mM_co_heading);
}
body.woocommerce-cart > .container:has(> .woocommerce) p,
body.woocommerce-cart > .container:has(> .woocommerce) label {
	color: var(--mM_co_text);
}
body.woocommerce-cart > .container:has(> .woocommerce) a {
	color: var(--mM_co_heading);
}
/* ------------------------------------------------------------ layout */
.woocommerce-cart .woocommerce {
	display: grid;
	grid-template-columns: minmax(0, 1fr) var(--mM_co_aside_width);
	gap: var(--mM_co_gap);
	align-items: start;
}
.woocommerce-cart .woocommerce-notices-wrapper {
	grid-column: 1 / -1;
}
.woocommerce-cart .woocommerce-cart-form {
	grid-column: 1;
}
/* --------------------------------------------------------- item card */
/*
 * The listing is a div structure now (see woocommerce/cart/cart.php), built on
 * flex with the same classes the checkout review table uses. Nothing here is a
 * table or a grid.
 */
.woocommerce-cart .woocommerce-cart-form__contents {
	display: flex;
	flex-direction: column;
	padding: 24px;
	background: var(--mM_co_surface);
	border: 1px solid var(--mM_co_border);
	border-radius: var(--mM_co_radius);
}
.woocommerce-cart .mM_shop_table_header,
.woocommerce-cart .mM_shop_table_body,
.woocommerce-cart .mM_shop_table_footer {
	display: flex;
	flex-direction: column;
}
.woocommerce-cart .mM_shop_table_row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px;
	padding: 20px 0;
	border-bottom: 1px solid var(--mM_co_border);
}
.woocommerce-cart .mM_shop_table_header .mM_shop_table_row {
	padding: 0 0 12px;
	font-size: 0.75rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--mM_co_text);
}
.woocommerce-cart .mM_shop_table_body .mM_shop_table_row:last-child {
	border-bottom: none;
}
/* Column widths, in the order the cells appear. */
.woocommerce-cart .mM_shop_table_row .product-name {
	flex: 1 1 200px;
	min-width: 0;
}
.woocommerce-cart .mM_shop_table_row .product-price {
	flex: 0 0 90px;
	text-align: right;
}
.woocommerce-cart .mM_shop_table_row .product-quantity {
	flex: 0 0 100px;
	text-align: right;
}
.woocommerce-cart .mM_shop_table_row .product-subtotal {
	flex: 0 0 150px;
	text-align: right;
	font-weight: 700;
	color: var(--mM_co_heading);
}
.woocommerce-cart .mM_shop_table_row .product-remove {
	flex: 0 0 24px;
}
/* ------------------------------------------------------- item content */
.woocommerce-cart .wc-gzd-cart-item-name-wrapper {
	display: flex;
	align-items: center;
	gap: 16px;
}
.woocommerce-cart .wc-gzd-cart-item-thumbnail {
	flex: 0 0 64px;
}
.woocommerce-cart .wc-gzd-cart-item-thumbnail img {
	display: block;
	width: 64px;
	height: 64px;
	max-width: 64px;
	object-fit: contain;
	background: var(--mM_co_bg);
	border-radius: var(--mM_co_radius);
}
.woocommerce-cart .wc-gzd-cart-item-title {
	flex: 1 1 auto;
	min-width: 0;
	font-weight: 700;
	color: var(--mM_co_heading);
}
.woocommerce-cart .wc-gzd-cart-item-title a {
	font-size: 1rem;
	line-height: 1.4;
	color: var(--mM_co_heading);
	text-decoration: none;
}
.woocommerce-cart .wc-gzd-cart-item-title a:hover {
	text-decoration: underline;
	text-underline-offset: 3px;
}
/* Description, delivery time and variations line up under the title. */
.woocommerce-cart .wc-gzd-item-desc,
.woocommerce-cart .delivery-time-info,
.woocommerce-cart dl.variation {
	margin: 4px 0 0 80px;
	font-size: 0.8125rem;
	color: var(--mM_co_text);
}
.woocommerce-cart .wc-gzd-item-desc {
	margin-left: 0;
}
.woocommerce-cart .wc-gzd-item-desc p,
.woocommerce-cart .delivery-time-info {
	margin: 0;
	font-size: 0.8125rem;
	color: var(--mM_co_text);
}
/* Attribute pairs in two columns: name left, value right of it. */
.woocommerce-cart dl.variation {
	display: flex;
	flex-wrap: wrap;
	row-gap: 2px;
	column-gap: 8px;
}
.woocommerce-cart dl.variation dt {
	flex: 0 0 40%;
	margin: 0;
	font-weight: 400;
	font-size: 0.8125rem;
	text-align: left;
	color: var(--mM_co_text);
	overflow-wrap: break-word;
}
.woocommerce-cart dl.variation dd {
	flex: 0 0 calc(60% - 8px);
	margin: 0;
	text-align: left;
	overflow-wrap: break-word;
}
.woocommerce-cart dl.variation dd,
.woocommerce-cart dl.variation dd p {
	font-size: 0.8125rem;
	color: var(--mM_co_body);
}
.woocommerce-cart dl.variation dd p {
	margin: 0;
}
/* Remove link as a circle rather than a bare multiplication sign. */
.woocommerce-cart .product-remove a.remove {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 24px;
	height: 24px;
	border: 1px solid var(--mM_co_border);
	border-radius: 50%;
	background: transparent;
	color: var(--mM_co_text);
	font-size: 16px;
	line-height: 1;
	text-decoration: none;
	transition: background 0.3s, color 0.3s, border-color 0.3s;
}
.woocommerce-cart .product-remove a.remove:hover {
	background: #b3301f;
	border-color: #b3301f;
	color: #fff;
}
/* ---------------------------------------------------- quantity field */
.woocommerce-cart .quantity input.qty {
	width: 100%;
	max-width: 90px;
	padding: 8px 10px;
	background: var(--mM_co_bg);
	border: none;
	border-bottom: 1px solid var(--mM_co_text);
	border-radius: 0;
	color: var(--mM_co_body);
	text-align: center;
}
.woocommerce-cart .quantity input.qty:focus {
	outline: none;
	border-bottom-color: var(--mM_co_heading);
}
/* ------------------------------------------------------- actions row */
.woocommerce-cart .mM_shop_table_footer .actions {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 16px;
	padding: 24px 0 0;
}
/*
 * WooCommerce's coupon field stays in the DOM — it carries the nonce and does
 * the actual work — but the visible field is the one in the totals box.
 */
.woocommerce-cart .mM_shop_table_footer .coupon {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: 0;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
}
/* .wb_button.third from theme.css. */
.woocommerce-cart .woocommerce button.button[name="update_cart"] {
	margin-top: 0;
	padding: 12px 32px 10px;
	border: 2px solid #b9bbb6;
	border-radius: 50px;
	background: transparent;
	color: #002b13;
	font-weight: 400;
	line-height: 1.2;
	cursor: pointer;
	transition: color 0.4s, background 0.4s;
}
.woocommerce-cart .woocommerce button.button[name="update_cart"]:hover[disabled] {
	background: transparent;
}
.woocommerce-cart .woocommerce button.button[name="update_cart"]:hover:not([disabled]) {
	background: #b9bbb6;
}
.woocommerce-cart .woocommerce button.button[disabled] {
	opacity: 0.45;
	cursor: not-allowed;
}
/* --------------------------------------------------------- notices */
.woocommerce-cart .woocommerce-message,
.woocommerce-cart .woocommerce-info,
.woocommerce-cart .woocommerce-error {
	margin: 0 0 var(--mM_co_gap);
	padding: 18px 24px;
	background: var(--mM_co_surface);
	border: 1px solid var(--mM_co_border);
	border-left: 4px solid var(--mM_co_accent);
	border-radius: var(--mM_co_radius);
	color: var(--mM_co_body);
}
.woocommerce-cart .woocommerce-error {
	border-color: #b3301f;
}
.woocommerce-cart .woocommerce-message::before,
.woocommerce-cart .woocommerce-info::before,
.woocommerce-cart .woocommerce-error::before {
	content: none;
}
.woocommerce-cart .woocommerce-notices-wrapper .restore-item {
	flex: 0 0 auto;
	margin: 0;
	padding: 10px 24px 8px;
	border: 2px solid #b9bbb6;
	border-radius: 50px;
	background: transparent;
	color: #002b13;
	font-weight: 400;
	font-size: 1rem;
	line-height: 1.2;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	margin-left: auto;
	transition: color 0.4s, background 0.4s;
}
.woocommerce-cart .woocommerce-notices-wrapper .restore-item:hover {
	background: #b9bbb6;
	color: #002b13;
}
.woocommerce-cart .return-to-shop {
	/* display: flex;
	justify-content: end; */
	margin-top: 100px;
}
.woocommerce-cart a.wc-backward {
	display: inline-block;
	margin: 0;
	padding: 15px 30px 13px;
	border: 2px solid var(--mM_co_accent);
	border-radius: 50px;
	background: var(--mM_co_accent);
	color: #373737;
	font-weight: 400;
	font-size: 1rem;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	transition: color 0.4s, background 0.4s, border-color .4s;
}
.woocommerce-cart a.wc-backward:hover {
	background: var(--mM_co_accent);
	color: var(--mM_co_heading);
	border-color: var(--mM_co_heading);
}
/* ------------------------------------------------------ breakpoints */
@media (max-width: 991px) {
.woocommerce-cart .woocommerce {
		grid-template-columns: minmax(0, 1fr);
	}
}
@media (max-width: 767px) {
.woocommerce-cart .mM_shop_table_header {
		display: none;
	}

	.woocommerce-cart .mM_shop_table_row {
		align-items: flex-start;
		row-gap: 12px;
	}

	.woocommerce-cart .mM_shop_table_row .product-name {
		flex: 1 1 calc(100% - 40px);
		order: 1;
	}

	.woocommerce-cart .mM_shop_table_row .product-remove {
		order: 2;
	}

	.woocommerce-cart .mM_shop_table_row .product-price {
		flex: 0 0 auto;
		order: 3;
		text-align: left;
	}

	.woocommerce-cart .mM_shop_table_row .product-quantity {
		flex: 0 0 auto;
		order: 4;
	}

	.woocommerce-cart .mM_shop_table_row .product-subtotal {
		flex: 1 1 auto;
		order: 5;
	}

	.woocommerce-cart .wc-gzd-item-desc,
	.woocommerce-cart .delivery-time-info,
	.woocommerce-cart dl.variation {
		margin-left: 0;
	}
}

.woocommerce:has(.wc-empty-cart-message) {
	display: block;
}

.wc-empty-cart-message {
	width: 100%;
}