/**
 * Warenkorb (klassisch, [woocommerce_cart]).
 * Desktop: Positionen links, Summen rechts. Mobile: untereinander.
 */
.woocommerce-cart .store-page__content > .woocommerce {
	align-items: start;
	display: grid;
	gap: var(--space-11);
	grid-template-columns: minmax(0, 1fr) minmax(18rem, 26rem);
}

.woocommerce-cart .woocommerce-notices-wrapper,
.woocommerce-cart .cart-empty,
.woocommerce-cart .return-to-shop,
.woocommerce-cart .wc-empty-cart-message {
	grid-column: 1 / -1;
}

.woocommerce-cart-form {
	min-inline-size: 0;
}

.woocommerce-cart-form__contents .product-thumbnail {
	inline-size: 7rem;
}

.woocommerce-cart-form__contents .product-thumbnail img {
	aspect-ratio: 1;
	background: var(--theme-bg-muted);
	border-radius: var(--radius-lg);
	inline-size: 6rem;
	object-fit: contain;
	padding: var(--space-2);
}

.woocommerce-cart-form__contents .product-name a {
	font-family: var(--font-family-display);
	font-size: var(--font-size-lg);
	text-decoration: none;
}

@media (hover: hover) {
	.woocommerce-cart-form__contents .product-name a:hover {
		text-decoration: underline;
		text-decoration-color: var(--theme-accent);
		text-decoration-thickness: var(--border-width-medium);
	}
}

.woocommerce-cart-form__contents .variation {
	color: var(--theme-text-muted);
	display: grid;
	font-size: var(--font-size-small);
	gap: 0 var(--space-2);
	grid-template-columns: auto 1fr;
	margin-block-start: var(--space-2);
}

.woocommerce-cart-form__contents .variation :is(dt, dd, p) {
	margin: 0;
}

/* Entfernen-Button: großes Ziel, klares Icon */
.woocommerce-cart-form__contents a.remove {
	align-items: center;
	block-size: var(--size-tap);
	border-radius: 50%;
	color: var(--theme-text);
	display: inline-flex;
	font-size: var(--font-size-xl);
	inline-size: var(--size-tap);
	justify-content: center;
	line-height: 1;
	text-decoration: none;
	transition: background-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);
}

@media (hover: hover) {
	.woocommerce-cart-form__contents a.remove:hover {
		background: var(--color-coral-100);
		color: var(--theme-notice-error);
	}
}

.woocommerce-cart-form__contents .product-remove {
	inline-size: 3.5rem;
}

.woocommerce-cart-form__contents td.actions {
	border-block-end: 0; /* letzte Zeile: keine Linie direkt unter den Buttons */
	padding-block: var(--space-6) 0;
	text-align: end;
}

.woocommerce-cart-form__contents td.actions .coupon {
	display: flex;
	float: inline-start;
	gap: var(--space-3);
	max-inline-size: 36rem;
}

.woocommerce-cart-form__contents td.actions .coupon .button {
	flex: 0 0 auto;
}

.woocommerce-cart-form__contents td.actions .coupon label {
	clip-path: inset(50%);
	position: absolute;
}

.woocommerce-cart-form__contents td.actions .coupon .input-text {
	flex: 1 1 12rem;
	inline-size: auto;
}

/* Summen */
.cart-collaterals {
	background: var(--theme-bg-muted);
	border-radius: var(--radius-lg);
	padding: var(--space-8);
	position: sticky;
	inset-block-start: calc(var(--header-offset, 5rem) + var(--space-6));
}

.cart_totals h2 {
	font-size: var(--font-size-title-sm);
	line-height: var(--line-height-title-sm);
	margin-block-end: var(--space-5);
}

.cart_totals .shop_table :is(th, td) {
	padding-inline: 0;
	vertical-align: top;
}

.cart_totals .shop_table td {
	text-align: end;
}

.cart_totals .order-total :is(th, td) {
	border-block-end: 0;
	font-size: var(--font-size-lg);
	font-weight: var(--font-weight-semibold);
}

.cart_totals .includes_tax,
.woocommerce-checkout-review-order-table .includes_tax,
.woocommerce-shipping-destination,
.woocommerce-shipping-calculator {
	color: var(--theme-text-muted);
	display: block;
	font-size: var(--font-size-small);
	font-weight: var(--font-weight-regular);
	margin-block-start: var(--space-2);
}

.woocommerce-shipping-methods {
	display: grid;
	gap: var(--space-2);
	justify-items: end;
	list-style: none;
	margin: 0;
	padding: 0;
}

.woocommerce-shipping-methods li {
	align-items: center;
	display: flex;
	gap: var(--space-2);
}

.shipping-calculator-button {
	color: var(--theme-text);
	text-decoration: underline;
}

.shipping-calculator-form {
	margin-block-start: var(--space-4);
	text-align: start;
}

.wc-proceed-to-checkout {
	display: grid;
	gap: var(--space-3);
	margin-block-start: var(--space-6);
}

.wc-proceed-to-checkout .checkout-button {
	inline-size: 100%;
	min-block-size: 3.75rem;
}

/* Leerer Warenkorb */
.wc-empty-cart-message {
	margin-block-end: var(--space-6);
}

/* Cross-Sells */
.cross-sells {
	grid-column: 1 / -1;
}

.cross-sells > h2 {
	font-size: var(--font-size-title-sm);
	margin-block-end: var(--space-6);
}

.cross-sells ul.products {
	display: grid;
	gap: var(--space-8);
	grid-template-columns: repeat(auto-fill, minmax(12rem, 1fr));
	list-style: none;
	margin: 0;
	padding: 0;
}

@media (max-width: 64em) {
	.woocommerce-cart .store-page__content > .woocommerce {
		grid-template-columns: 1fr;
	}

	.cart-collaterals {
		position: static;
	}
}

@media (max-width: 48.75em) {
	.woocommerce-cart-form__contents tr.cart_item {
		display: grid;
		gap: 0 var(--space-4);
		grid-template-columns: 5rem minmax(0, 1fr) auto;
		padding-block: var(--space-4);
	}

	/* Zellen dürfen schrumpfen – sonst schieben lange Namen Preis/Menge aus dem Bild */
	.woocommerce-cart-form__contents tr.cart_item td {
		min-inline-size: 0;
	}

	.woocommerce-cart-form__contents tr.cart_item td.product-quantity .qty {
		inline-size: 4.5rem;
	}

	.woocommerce-cart-form__contents tr.cart_item td.product-thumbnail {
		grid-column: 1;
		grid-row: 1 / span 4;
		inline-size: auto;
	}

	.woocommerce-cart-form__contents tr.cart_item td.product-thumbnail img {
		inline-size: 5rem;
	}

	.woocommerce-cart-form__contents tr.cart_item td.product-remove {
		grid-column: 3;
		grid-row: 1;
		padding: 0;
	}

	.woocommerce-cart-form__contents tr.cart_item td:not(.product-thumbnail, .product-remove) {
		grid-column: 2 / -1;
	}

	/* Name + Zusatzangaben (z. B. Germanized-Lieferzeit) untereinander, nicht nebeneinander */
	.woocommerce-cart-form__contents tr.cart_item td.product-name {
		display: block;
		grid-column: 2;
		grid-row: 1;
		text-align: start;
	}

	.woocommerce-cart-form__contents tr.cart_item td.product-name > :not(a) {
		color: var(--theme-text-muted);
		font-size: var(--font-size-small);
		margin-block-start: var(--space-1);
	}

	.woocommerce-cart-form__contents tr.cart_item td.product-name::before {
		content: none;
	}

	/* Gutschein + Aktualisieren untereinander, volle Breite */
	.woocommerce-cart-form__contents td.actions {
		display: grid;
		gap: var(--space-3);
		grid-template-columns: minmax(0, 1fr); /* volle Breite (Basisregel setzt space-between) */
	}

	.woocommerce-cart-form__contents td.actions .coupon {
		grid-template-columns: minmax(0, 1fr);
	}

	.woocommerce-cart-form__contents td.actions .coupon {
		display: grid;
		float: none;
		gap: var(--space-3);
		max-inline-size: none;
	}

	.woocommerce-cart-form__contents td.actions :is(.button, .input-text) {
		inline-size: 100%;
	}

	/* Summen: Bezeichnung steht schon in der Zeilenüberschrift (th) – kein zweites Label */
	.cart_totals .shop_table_responsive tbody td[data-title]::before {
		content: none;
	}

	.cart_totals .shop_table_responsive tbody tr {
		align-items: start;
		display: flex;
		gap: var(--space-4);
		justify-content: space-between;
	}

	.cart_totals .shop_table_responsive tbody :is(th, td) {
		display: block;
		padding-block: 0;
	}

	.cart-collaterals {
		padding: var(--space-6);
	}
}
