/* ==========================================================================
   cart.css — Warenkorb & Checkout (Germanized-konform)
   ========================================================================== */

/* --------------------------------------------------------------------------
   Gemeinsamer Wrapper
   -------------------------------------------------------------------------- */

.woocommerce-cart .woo-main,
.woocommerce-checkout .woo-main {
	padding-block: var(--space-16);
	max-width: var(--container-max);
	margin-inline: auto;
	padding-inline: var(--container-pad);
}

/* --------------------------------------------------------------------------
   Leerer Warenkorb (WooCommerce default empty cart)
   -------------------------------------------------------------------------- */

.woocommerce-cart .woo-main .cart-empty {
	text-align: center;
	font-size: var(--text-lg);
	color: var(--color-text-muted);
	padding-block: var(--space-8) var(--space-4);
}

.woocommerce-cart .woo-main .woocommerce-info {
	margin-bottom: var(--space-8);
}

/* "Neu im Shop" Überschrift */
.woocommerce-cart .woo-main h2.woocommerce-loop__title,
.woocommerce-cart .woo-main .woocommerce > h2,
.woocommerce-cart .woo-main > .container > h2 {
	font-family: var(--font-body);
	font-size: var(--text-sm);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--color-text-muted);
	margin-bottom: var(--space-8);
}

/* --------------------------------------------------------------------------
   Warenkorb-Tabelle
   -------------------------------------------------------------------------- */

.woocommerce-cart-form {
	width: 100%;
}

table.shop_table {
	width: 100%;
	border-collapse: collapse;
}

table.shop_table th {
	font-size: var(--text-xs);
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--color-text-muted);
	padding: var(--space-3) var(--space-4);
	border-bottom: 1px solid var(--color-border);
	text-align: left;
}

table.shop_table td {
	padding: var(--space-5) var(--space-4);
	border-bottom: 1px solid var(--color-border);
	vertical-align: middle;
}

table.shop_table.cart td.product-thumbnail {
	width: 116px;
}

table.shop_table.cart td.product-thumbnail img {
	width: 100px;
	height: 100px;
	object-fit: cover;
	border-radius: var(--radius-md);
	display: block;
}

.cart_item .product-name a {
	font-weight: 500;
	color: var(--color-text-dark);
	transition: color var(--duration-fast) var(--ease);
}

.cart_item .product-name a:hover {
	color: var(--color-navy);
}

/* Germanized Pflichtfelder in Warenkorb */
.cart_item .product-name a {
	display: block;
	margin-bottom: var(--space-2);
}

/* Flex-Wrapper: zeigt Germanized-Items (p, span, dl) nebeneinander */
.cart-item-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0 var(--space-3);
	text-align: left;
}

/* dl.variation: eigene Flex-Zeile damit Germanized-Items von links starten */
.cart-item-meta dl.variation {
	flex: 0 0 100%;
	margin: 0;
	padding: 0;
}

/* Reset base.css p { max-width: 68ch } und alle Browser-Defaults */
.cart-item-meta p,
.cart-item-meta span,
.cart-item-meta dt,
.cart-item-meta dd,
.cart-item-meta .wc-gzd-cart-info,
.cart-item-meta .wc-gzd-additional-info {
	font-size: 11px;
	line-height: 1.5;
	color: var(--color-text-muted);
	font-weight: 400;
	margin: 0;
	padding: 0;
	max-width: none;
	text-align: left;
}

body.woocommerce-cart .cart_item .product-price,
body.woocommerce-cart .cart_item .product-subtotal {
	font-family: var(--font-display);
	font-weight: 600;
	font-size: var(--text-lg);
}

/* Cormorant Garamond auf alle Price-Elemente */
body.woocommerce-cart .cart_item .product-price .woocommerce-Price-amount,
body.woocommerce-cart .cart_item .product-price bdi,
body.woocommerce-cart .cart_item .product-subtotal .woocommerce-Price-amount,
body.woocommerce-cart .cart_item .product-subtotal bdi {
	font-family: var(--font-display);
	font-weight: 600;
}

/* Grundpreis (53,46 € / kg) — Inspector-Klasse: wc-gzd-cart-info unit-price-cart */
body.woocommerce-cart .cart_item .product-price .wc-gzd-cart-info,
body.woocommerce-cart .cart_item .product-price .wc-gzd-additional-info,
body.woocommerce-cart .cart_item .product-price p,
body.woocommerce-cart .cart_item .product-price small {
	font-family: var(--font-display);
	font-size: var(--text-sm);
	font-weight: 400;
	color: var(--color-text-muted);
	display: block;
	margin-top: var(--space-1);
	white-space: nowrap;
}

/* PREIS-Spalte breit genug für Grundpreis */
table.shop_table.cart td.product-price {
	min-width: 120px;
}

/* --------------------------------------------------------------------------
   Gutschein-Bereich
   -------------------------------------------------------------------------- */

.woocommerce-cart-form .coupon {
	display: flex;
	align-items: center;
	gap: var(--space-3);
	flex-wrap: wrap;
}

.woocommerce-cart-form .coupon label {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
}

.woocommerce-cart-form .coupon #coupon_code {
	flex: 1;
	min-width: 220px;
	max-width: 340px;
	padding: var(--space-3) var(--space-4);
	border: 1.5px solid var(--color-border);
	border-radius: var(--radius-md);
	font-family: var(--font-body);
	font-size: var(--text-sm);
	color: var(--color-text-dark);
	background: var(--color-surface);
	transition: border-color var(--duration-fast) var(--ease);
}

.woocommerce-cart-form .coupon #coupon_code:focus {
	outline: none;
	border-color: var(--color-navy);
}

/* Mengen-Input (Fallback ohne Stepper) */
.cart_item .quantity input {
	width: 60px;
	padding: var(--space-2) var(--space-3);
	border: 1.5px solid var(--color-border);
	border-radius: var(--radius-sm);
	font-size: var(--text-sm);
	text-align: center;
	font-family: var(--font-body);
}

/* Custom Qty-Stepper (+/−) */
.nh-qty {
	display: inline-flex;
	align-items: center;
	border: 1.5px solid var(--color-border);
	border-radius: var(--radius-sm);
	overflow: hidden;
}

.nh-qty .input-text.qty {
	width: 40px;
	padding: var(--space-2) 0;
	border: none;
	border-inline: 1px solid var(--color-border);
	border-radius: 0;
	text-align: center;
	font-size: var(--text-sm);
	font-family: var(--font-body);
	background: transparent;
	-moz-appearance: textfield;
}

.nh-qty .input-text.qty::-webkit-outer-spin-button,
.nh-qty .input-text.qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.nh-qty__btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	padding: 0;
	background: transparent;
	border: none;
	cursor: pointer;
	color: var(--color-text-muted);
	flex-shrink: 0;
	transition: color var(--duration-fast) var(--ease), background-color var(--duration-fast) var(--ease);
}

.nh-qty__btn:hover {
	color: var(--color-navy);
	background-color: var(--color-canvas);
}

/* Menge + Entfernen nebeneinander */
.qty-and-remove {
	display: flex;
	align-items: center;
	gap: var(--space-3);
}

.remove {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	flex-shrink: 0;
	color: var(--color-text-dark);
	transition: color var(--duration-fast) var(--ease);
}

.remove svg {
	width: 13px;
	height: 13px;
}

.remove:hover {
	color: var(--color-error);
}

/* --------------------------------------------------------------------------
   Warenkorb Layout: Tabelle + Zusammenfassung
   -------------------------------------------------------------------------- */

.cart-layout {
	display: grid;
	grid-template-columns: 1fr 380px;
	gap: var(--space-12);
	align-items: start;
}

/* --------------------------------------------------------------------------
   Warenkorb-Zusammenfassung
   -------------------------------------------------------------------------- */

.cart_totals {
	background-color: var(--color-surface);
	border-radius: var(--radius-lg);
	padding: var(--space-8);
	box-shadow: var(--shadow-md);
	position: sticky;
	top: calc(80px + var(--space-8));
}

.cart_totals h2 {
	font-size: var(--text-xl);
	margin-bottom: var(--space-6);
}

.cart_totals table.shop_table {
	margin-bottom: var(--space-6);
}

.cart_totals .order-total td {
	font-family: var(--font-display);
	font-size: var(--text-2xl);
	font-weight: 700;
	color: var(--color-text-dark);
}

/* Coupon-Entfernen-Link */
body.woocommerce-cart .woocommerce-remove-coupon {
	display: inline-block;
	margin-left: var(--space-2);
	font-size: var(--text-xs) !important;
	color: var(--color-text-muted) !important;
	text-decoration: none;
	transition: color var(--duration-fast) var(--ease);
}

body.woocommerce-cart .woocommerce-remove-coupon:hover {
	color: var(--color-error) !important;
}

/* Germanized Pflichtfelder im Total */
.wc-gzd-cart-totals-additional-info,
.tax-rate {
	font-size: var(--text-xs);
	color: var(--color-text-muted);
}

/* Checkout-Button */
.cart_totals .checkout-button,
.wc-proceed-to-checkout .checkout-button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: var(--space-4) var(--space-8);
	background-color: var(--color-navy);
	color: var(--color-text-light);
	font-family: var(--font-body);
	font-size: var(--text-base);
	font-weight: 500;
	letter-spacing: 0.04em;
	border-radius: var(--radius-md);
	min-height: 56px;
	text-decoration: none;
	transition: background-color var(--duration-base) var(--ease);
}

.cart_totals .checkout-button:hover {
	background-color: var(--color-navy-light);
}

/* --------------------------------------------------------------------------
   Checkout
   -------------------------------------------------------------------------- */

.checkout-layout {
	display: grid;
	grid-template-columns: 1fr 420px;
	gap: var(--space-12);
	align-items: start;
}

#customer_details h3,
#order_review_heading {
	font-family: var(--font-display);
	font-size: var(--text-xl);
	margin-bottom: var(--space-6);
}

/* Formular-Felder */
.woocommerce-checkout .form-row label {
	display: block;
	font-size: var(--text-sm);
	font-weight: 500;
	color: var(--color-text-muted);
	margin-bottom: var(--space-2);
}

.woocommerce-checkout .form-row input,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row textarea {
	width: 100%;
	padding: var(--space-3) var(--space-4);
	border: 1.5px solid var(--color-border);
	border-radius: var(--radius-md);
	font-family: var(--font-body);
	font-size: var(--text-base);
	color: var(--color-text-dark);
	background-color: var(--color-surface);
	transition: border-color var(--duration-fast) var(--ease);
	min-height: 48px;
}

.woocommerce-checkout .form-row input:focus,
.woocommerce-checkout .form-row select:focus,
.woocommerce-checkout .form-row textarea:focus {
	outline: none;
	border-color: var(--color-navy);
}

/* Bestellübersicht */
#order_review {
	background-color: var(--color-surface);
	border-radius: var(--radius-lg);
	padding: var(--space-8);
	box-shadow: var(--shadow-md);
	position: sticky;
	top: calc(80px + var(--space-8));
}

/* --------------------------------------------------------------------------
   Block-Checkout: Germanized-Bereinigung (wc-block-* Klassen)
   -------------------------------------------------------------------------- */

/* Alle Preise im Checkout-Summary ausblenden, dann nur Totalspalte einblenden */
.wc-block-components-order-summary-item .wc-block-components-product-price,
.wc-block-components-order-summary-item .price,
.wc-block-components-order-summary-item .wc-gzd-product-price,
.wc-block-components-order-summary-item .wc-gzd-product-unit-price,
.wc-block-components-order-summary-item .wc-gzd-product-units,
.wc-block-components-order-summary-item .wc-gzd-product-net-price,
.wc-block-components-order-summary-item .wc-gzd-product-shipping-costs-info {
	display: none !important;
}
.wc-block-components-order-summary-item__total-price .wc-block-components-product-price,
.wc-block-components-order-summary-item__total-price .price {
	display: block !important;
}

/* Lieferzeit: sichtbar, aber klein */
.wc-block-components-order-summary-item__description .wc-gzd-product-delivery-term,
.wc-block-components-order-summary-item__description .wc-gzd-additional-info {
	display: block !important;
	font-size: var(--text-xs);
	color: var(--color-text-muted);
	margin-top: var(--space-1);
}

/* Grundpreis + Produkt enthält: klein + gedimmt (PAngV-konform) */
.wc-block-components-product-details__gzd-unit-price,
.wc-block-components-product-details__gzd-units,
.wc-block-components-product-details__gzd-unit-price *,
.wc-block-components-product-details__gzd-units * {
	font-size: 11px !important;
	font-weight: 400 !important;
	color: var(--color-text-muted) !important;
	line-height: 1.4 !important;
}

/* Grundpreis rechts in der Preisspalte: klein + unter Preis */
.wc-block-components-order-summary-item__total-price [class*="gzd-unit-price"],
.wc-block-components-order-summary-item__total-price [class*="unit-price"] {
	display: block !important;
	font-size: 11px !important;
	font-weight: 400 !important;
	color: var(--color-text-muted) !important;
	text-align: right;
	white-space: nowrap;
}

/* Preis in Preisspalte: normale Größe, kein Display-Font */
.wc-block-components-order-summary-item__total-price .price,
.wc-block-components-order-summary-item__total-price .wc-block-components-product-price {
	font-family: var(--font-body);
	font-size: var(--text-base) !important;
	font-weight: 600;
	color: var(--color-text-dark);
}

/* Variation + Produktdetails kompakt */
.wc-block-components-order-summary-item .wc-block-components-product-details,
.wc-block-components-order-summary-item .wc-block-components-product-details * {
	font-size: 11px !important;
	color: var(--color-text-muted) !important;
	word-break: break-word;
}

/* Mobile: Preisspalte auf eigene Zeile */
@media (max-width: 600px) {
	.wc-block-components-order-summary-item__total-price {
		display: block;
		text-align: left;
		margin-top: var(--space-1);
	}

	.wc-block-components-order-summary-item__total-price [class*="gzd-unit-price"],
	.wc-block-components-order-summary-item__total-price [class*="unit-price"] {
		text-align: left;
	}
}

/* Block Cart: Preis im Produktbereich immer ausblenden — Gesamtpreis steht in der Totalspalte */
.wc-block-cart-item__product .wc-block-components-product-price,
.wc-block-cart-item__product .wc-block-components-product-price * {
	display: none !important;
}

/* Block Cart: Preisschrift in Totalspalte = Body-Font */
.wc-block-cart-item__total .wc-block-components-product-price,
.wc-block-cart-item__total .price {
	font-family: var(--font-body) !important;
	font-size: var(--text-base) !important;
	font-weight: 600 !important;
	color: var(--color-text-dark) !important;
}

/* Checkout: Doppelpreis ausblenden (alle Größen) */
.wc-block-components-order-summary-item__description .wc-block-components-product-price,
.wc-block-components-order-summary-item__description .price {
	display: none !important;
}

/* Block Cart Mobile: Layout-Anpassungen */
@media (max-width: 768px) {
	.wc-block-components-order-summary-item__total-price {
		display: block;
		text-align: left;
		margin-top: var(--space-1);
	}
}

/* Jetzt kaufen (klassisch) */
#place_order {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: var(--space-4) var(--space-8);
	background-color: var(--color-navy);
	color: var(--color-text-light);
	font-family: var(--font-body);
	font-size: var(--text-base);
	font-weight: 500;
	letter-spacing: 0.04em;
	border-radius: var(--radius-md);
	min-height: 56px;
	cursor: pointer;
	border: none;
	margin-top: var(--space-6);
	transition: background-color var(--duration-base) var(--ease);
}

#place_order:hover {
	background-color: var(--color-navy-light);
}

/* Block-Checkout: Weiter zur Kasse + generische Buttons */
.wc-block-cart__submit-button,
.wp-block-woocommerce-cart .wc-block-components-button {
	background-color: var(--color-navy) !important;
	color: #fff !important;
	font-family: var(--font-body) !important;
	font-size: var(--text-base) !important;
	font-weight: 500 !important;
	letter-spacing: 0.04em !important;
	border-radius: var(--radius-md) !important;
	border: none !important;
	min-height: 52px !important;
	width: 100% !important;
	padding: var(--space-3) var(--space-8) !important;
	cursor: pointer !important;
	transition: background-color var(--duration-base) var(--ease) !important;
	box-shadow: none !important;
	text-transform: none !important;
}

.wc-block-cart__submit-button:hover,
.wp-block-woocommerce-cart .wc-block-components-button:hover {
	background-color: var(--color-navy-light) !important;
	color: #fff !important;
}

/* Block-Checkout: Jetzt kaufen — Cyan für maximale Conversion */
.wc-block-components-checkout-place-order-button,
.wc-block-checkout__place-order .wc-block-components-button,
.wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button,
button.wc-block-components-checkout-place-order-button {
	background-color: #43beef !important;
	color: var(--color-navy) !important;
	font-family: var(--font-body) !important;
	font-size: var(--text-base) !important;
	font-weight: 600 !important;
	letter-spacing: 0.04em !important;
	border-radius: var(--radius-md) !important;
	border: none !important;
	min-height: 52px !important;
	width: 100% !important;
	padding: var(--space-3) var(--space-8) !important;
	cursor: pointer !important;
	transition: background-color var(--duration-base) var(--ease) !important;
	box-shadow: none !important;
	text-transform: none !important;
}

.wc-block-components-checkout-place-order-button:hover,
.wc-block-checkout__place-order .wc-block-components-button:hover,
button.wc-block-components-checkout-place-order-button:hover {
	background-color: #2fa8d4 !important;
	color: var(--color-navy) !important;
}

/* Germanized AGB-Checkbox */
.wc-gzd-checkbox-placeholder {
	font-size: var(--text-xs);
	color: var(--color-text-muted);
	line-height: var(--leading-relaxed);
	margin-top: var(--space-4);
}

/* --------------------------------------------------------------------------
   Block-Checkout: Newton Health Design
   -------------------------------------------------------------------------- */

/* Section-Überschriften (Kontaktinformationen, Lieferadresse …) */
.wc-block-components-checkout-step__heading,
.wc-block-components-checkout-step__title {
	font-family: var(--font-body) !important;
	font-size: var(--text-lg) !important;
	font-weight: 600 !important;
	color: var(--color-navy) !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	margin-bottom: var(--space-4) !important;
}

/* Schritt-Nummerierung ausblenden */
.wc-block-components-checkout-step__heading-number {
	display: none !important;
}

/* ---------- Formular-Felder ---------- */

.wc-block-components-text-input input,
.wc-block-components-country-input .components-combobox-control input,
.wc-block-components-state-input .components-combobox-control input,
.wc-block-checkout input[type="text"],
.wc-block-checkout input[type="email"],
.wc-block-checkout input[type="tel"],
.wc-block-checkout select {
	border: 1.5px solid var(--color-border) !important;
	border-radius: var(--radius-md) !important;
	font-family: var(--font-body) !important;
	font-size: var(--text-base) !important;
	color: var(--color-text-dark) !important;
	background: var(--color-surface) !important;
	box-shadow: none !important;
	transition: border-color var(--duration-fast) var(--ease) !important;
}

.wc-block-components-text-input input:focus,
.wc-block-checkout input:focus,
.wc-block-checkout select:focus {
	outline: none !important;
	border-color: var(--color-navy) !important;
	box-shadow: none !important;
}

/* Floating Label */
.wc-block-components-text-input label,
.wc-block-components-country-input label,
.wc-block-components-state-input label {
	font-family: var(--font-body) !important;
	font-size: var(--text-sm) !important;
	color: var(--color-text-muted) !important;
}

/* ---------- Express-Kasse ---------- */

.wc-block-checkout__express-payment {
	background: var(--color-surface) !important;
	border: 1px solid var(--color-border) !important;
	border-radius: var(--radius-lg) !important;
	padding: var(--space-6) !important;
	margin-bottom: var(--space-6) !important;
}

/* "Oder fahre unten fort" Trennlinie */
.wc-block-checkout__express-payment-continue-rule,
.wc-block-checkout__separator {
	display: flex !important;
	align-items: center !important;
	gap: var(--space-4) !important;
	color: var(--color-text-muted) !important;
	font-size: var(--text-xs) !important;
	font-family: var(--font-body) !important;
	text-transform: uppercase !important;
	letter-spacing: 0.08em !important;
	margin-block: var(--space-6) !important;
}

.wc-block-checkout__express-payment-continue-rule::before,
.wc-block-checkout__express-payment-continue-rule::after,
.wc-block-checkout__separator::before,
.wc-block-checkout__separator::after {
	content: '' !important;
	flex: 1 !important;
	height: 1px !important;
	background: var(--color-border) !important;
}

/* ---------- Versandoptionen: Radio-Cards ---------- */

.wc-block-components-radio-control-accordion-option {
	border: 1.5px solid var(--color-border) !important;
	border-radius: var(--radius-md) !important;
	padding: var(--space-4) var(--space-5) !important;
	margin-bottom: var(--space-2) !important;
	background: var(--color-surface) !important;
	transition: border-color var(--duration-fast) var(--ease) !important;
	box-shadow: none !important;
}

.wc-block-components-radio-control-accordion-option:has(input:checked) {
	border-color: var(--color-navy) !important;
}

.wc-block-components-radio-control__input,
.wc-block-components-radio-control-accordion-option input[type="radio"] {
	accent-color: var(--color-navy) !important;
	width: 16px !important;
	height: 16px !important;
}

/* ---------- Zahlungsoptionen ---------- */

.wc-block-components-payment-method-tab {
	border: 1.5px solid var(--color-border) !important;
	border-radius: var(--radius-md) !important;
	padding: var(--space-4) var(--space-5) !important;
	margin-bottom: var(--space-2) !important;
	background: var(--color-surface) !important;
	transition: border-color var(--duration-fast) var(--ease) !important;
}

.wc-block-components-payment-method-tab:has(input:checked) {
	border-color: var(--color-navy) !important;
}

.wc-block-components-payment-method-tab input[type="radio"] {
	accent-color: var(--color-navy) !important;
}

.wc-block-components-payment-method-label__heading {
	font-family: var(--font-body) !important;
	font-weight: 500 !important;
	color: var(--color-text-dark) !important;
	font-size: var(--text-base) !important;
}

/* ---------- Checkboxen ---------- */

.wc-block-checkout input[type="checkbox"],
.wc-block-components-checkbox__input {
	accent-color: var(--color-navy) !important;
	width: 17px !important;
	height: 17px !important;
}

/* ---------- Sidebar: Bestellübersicht ---------- */

.wp-block-woocommerce-checkout-order-summary-block {
	background: var(--color-surface) !important;
	border-radius: var(--radius-lg) !important;
	padding: var(--space-6) !important;
	box-shadow: var(--shadow-md) !important;
}

.wc-block-checkout__sidebar .wc-block-components-panel__button,
.wp-block-woocommerce-checkout-order-summary-block h2 {
	font-family: var(--font-display) !important;
	font-size: var(--text-xl) !important;
	color: var(--color-navy) !important;
}

/* ---------- Sidebar: Summen-Zeilen ---------- */

.wp-block-woocommerce-checkout-order-summary-totals-block {
	background: var(--color-surface) !important;
	border-radius: var(--radius-lg) !important;
	padding: var(--space-6) !important;
	box-shadow: var(--shadow-md) !important;
	margin-top: var(--space-4) !important;
}

.wc-block-components-totals-item__label {
	font-family: var(--font-body) !important;
	font-size: var(--text-xs) !important;
	font-weight: 500 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.08em !important;
	color: var(--color-text-muted) !important;
}

.wc-block-components-totals-item__value {
	font-family: var(--font-body) !important;
	font-size: var(--text-base) !important;
	font-weight: 500 !important;
	color: var(--color-text-dark) !important;
}

/* Gesamtsumme: Cormorant Garamond */
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
	font-family: var(--font-display) !important;
	font-size: var(--text-xl) !important;
	font-weight: 600 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	color: var(--color-navy) !important;
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	font-family: var(--font-display) !important;
	font-size: var(--text-2xl) !important;
	font-weight: 700 !important;
	color: var(--color-text-dark) !important;
}

/* MwSt-Zeile klein */
.wc-block-components-totals-taxes {
	font-size: var(--text-xs) !important;
	color: var(--color-text-muted) !important;
}

/* --------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */

@media (max-width: 1024px) {
	.cart-layout,
	.checkout-layout {
		grid-template-columns: 1fr;
	}

	.cart_totals,
	#order_review {
		position: static;
	}
}

@media (max-width: 680px) {
	/* Tabellenkopf ausblenden */
	table.shop_table.cart thead {
		display: none;
	}

	/* Tabelle + tbody als Block */
	table.shop_table.cart,
	table.shop_table.cart tbody {
		display: block;
		width: 100%;
	}

	/* Nur für Artikel-Tabelle (.cart): ::before-Labels unterdrücken.
	   Totals-Tabelle (.shop_table_responsive ohne .cart) braucht ::before für Positionsnamen. */
	body.woocommerce-cart table.shop_table.cart td::before,
	body.woocommerce-cart table.shop_table.cart td::after {
		content: none !important;
		display: none !important;
		float: none !important;
	}

	/* Jede Produktzeile als Grid-Karte */
	table.shop_table.cart tr.woocommerce-cart-form__cart-item {
		display: grid;
		grid-template-columns: 88px 1fr auto;
		grid-template-rows: auto auto auto;
		column-gap: var(--space-3);
		row-gap: var(--space-2);
		padding: var(--space-5) 0;
		border-bottom: 1px solid var(--color-border);
	}

	table.shop_table.cart td {
		display: block;
		padding: 0;
		border: none;
		vertical-align: unset;
	}

	/* body.woocommerce schlägt text-align: right !important von WC's shop_table_responsive */
	body.woocommerce-cart table.shop_table.cart td,
	body.woocommerce-cart table.shop_table.cart td.product-name,
	body.woocommerce-cart table.shop_table.cart td.product-name a {
		text-align: left !important;
	}

	/* Bild: linke Spalte, alle Zeilen */
	/* WC's eigenes responsive CSS setzt td.product-thumbnail auf display:none — überschreiben */
	table.shop_table.cart td.product-thumbnail {
		display: block !important;
		grid-column: 1;
		grid-row: 1 / 4;
		width: auto;
		align-self: start;
	}

	table.shop_table.cart td.product-thumbnail a {
		display: block;
		line-height: 0;
	}

	table.shop_table.cart td.product-thumbnail img {
		display: block !important;
		width: 80px !important;
		height: 80px !important;
		object-fit: cover;
		border-radius: var(--radius-md);
	}

	/* Produktname: Mitte, Zeile 1 */
	table.shop_table.cart td.product-name {
		grid-column: 2;
		grid-row: 1;
		align-self: start;
	}

	/* Stückpreis: ausblenden (Gesamt reicht) */
	table.shop_table.cart td.product-price {
		display: none !important;
	}

	/* Menge + Entfernen: Mitte, Zeile 2 */
	table.shop_table.cart td.product-quantity {
		grid-column: 2;
		grid-row: 2;
		align-self: center;
	}

	/* Zeilensumme: rechts, Zeilen 1–2 */
	table.shop_table.cart td.product-subtotal {
		grid-column: 3;
		grid-row: 1 / 3;
		text-align: right;
		align-self: center;
		white-space: nowrap;
	}

	/* Gesamtsumme: gleicher Stil wie andere Summen-Zeilen */
	.cart_totals .order-total th,
	.cart_totals .order-total td,
	.cart_totals .order-total strong,
	.cart_totals .order-total .woocommerce-Price-amount,
	.cart_totals .order-total bdi {
		font-family: var(--font-body) !important;
		font-size: var(--text-base) !important;
		font-weight: 600 !important;
		background: transparent !important;
	}

	/* Aktionszeile (Gutschein + Aktualisieren): volle Breite */
	table.shop_table.cart tr.actions {
		display: block;
		padding: var(--space-5) 0;
	}

	table.shop_table.cart tr.actions td {
		display: block;
	}
}
