/**
 * Warenkorb-Summe
 */
.woo-cart-total {
	--cart-background: #ffffff;
	--cart-shipping-background: #f3f3f1;
	--cart-border-color: rgba(79, 70, 64, 0.18);
	--cart-text-color: var(--awb-color3);
	--cart-accent-color: var(--awb-custom_color_2);
	--cart-button-color: var(--awb-custom_color_5);

	width: 100%;
	max-width: 100%;
	color: var(--cart-text-color);
	background: transparent !important;
}

.woo-cart-total,
.woo-cart-total * {
	box-sizing: border-box;
}


/**
 * Inhaltsbereich
 */
.woo-cart-total .cart_totals {
	float: none !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
}


/**
 * Überschrift
 */
.woo-cart-total .cart_totals > h2 {
	display: block !important;
	width: 100%;
	margin: 0 !important;
	padding: 20px !important;

	background: var(--cart-background) !important;
	border: 1px solid var(--cart-border-color) !important;
	border-bottom: 0 !important;
	border-radius: 6px 6px 0 0 !important;

	color: var(--cart-text-color) !important;
	font-family: inherit;
	font-size: 23px !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	text-align: left !important;
}


/**
 * Tabelle in einen stabilen Block umwandeln.
 */
.woo-cart-total .shop_table {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;

	background: var(--cart-background) !important;
	border: 1px solid var(--cart-border-color) !important;
	border-collapse: separate !important;
	border-spacing: 0 !important;
	border-radius: 0 0 6px 6px !important;
	overflow: hidden;
}

.woo-cart-total .shop_table > tbody {
	display: block !important;
	width: 100% !important;
}

/* Avadas responsive Tabellenbeschriftungen entfernen. */
.woo-cart-total .shop_table_responsive tr td::before {
	display: none !important;
	content: none !important;
}


/**
 * Zwischensumme und Gesamtsumme
 */
.woo-cart-total .shop_table .cart-subtotal,
.woo-cart-total .shop_table .order-total {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	width: 100% !important;
}

.woo-cart-total .shop_table .cart-subtotal {
	border-bottom: 1px solid var(--cart-border-color);
}

.woo-cart-total .shop_table .cart-subtotal th,
.woo-cart-total .shop_table .cart-subtotal td,
.woo-cart-total .shop_table .order-total th,
.woo-cart-total .shop_table .order-total td {
	display: block !important;
	width: auto !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 18px 20px !important;

	background: var(--cart-background) !important;
	border: 0 !important;
	color: var(--cart-text-color) !important;
	line-height: 1.4;
}

.woo-cart-total .shop_table .cart-subtotal th,
.woo-cart-total .shop_table .order-total th {
	font-size: 15px !important;
	font-weight: 500 !important;
	text-align: left !important;
}

.woo-cart-total .shop_table .cart-subtotal td,
.woo-cart-total .shop_table .order-total td {
	font-size: 15px !important;
	font-weight: 500 !important;
	text-align: right !important;
	white-space: nowrap;
}

.woo-cart-total .shop_table .cart-subtotal .amount {
	color: var(--cart-text-color) !important;
	font-weight: 500 !important;
}


/**
 * Versandzeile
 *
 * Avada verwendet beim ersten Laden eine zusammengefasste
 * td.awb-shipping. Nach einem WooCommerce-AJAX-Refresh kann
 * stattdessen die klassische Struktur aus th + td erscheinen.
 * Die folgenden Regeln unterstützen beide Varianten.
 */
.woo-cart-total .shop_table .shipping {
	display: grid !important;
	grid-template-columns: minmax(100px, 0.8fr) minmax(0, 1.6fr);
	align-items: center;
	width: 100% !important;

	background: var(--cart-shipping-background) !important;
	border-bottom: 1px solid var(--cart-border-color) !important;
}

/* Klassische WooCommerce-Struktur nach dem AJAX-Refresh. */
.woo-cart-total .shop_table .shipping > th {
	display: flex !important;
	align-items: center;
	grid-column: 1;
	width: auto !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 20px 10px 20px 20px !important;

	background: var(--cart-shipping-background) !important;
	border: 0 !important;
	color: var(--cart-text-color) !important;
	font-size: 15px !important;
	font-weight: 500 !important;
	line-height: 1.4;
	text-align: left !important;
}

.woo-cart-total .shop_table .shipping > td:not(.awb-shipping) {
	display: block !important;
	grid-column: 2;
	width: auto !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 20px 20px 20px 10px !important;

	background: var(--cart-shipping-background) !important;
	border: 0 !important;
	color: var(--cart-text-color) !important;
	text-align: left !important;
}

/*
 * Manche Avada-AJAX-Antworten enthalten nur eine einzelne
 * Tabellenzelle mit data-title="Sendung". Auch diese Variante
 * wird in dieselben zwei Spalten gebracht.
 */
.woo-cart-total
.shop_table
.shipping
> td:only-child:not(.awb-shipping) {
	display: grid !important;
	grid-column: 1 / -1;
	grid-template-columns: minmax(100px, 0.8fr) minmax(0, 1.6fr);
	align-items: center;
	gap: 14px 20px;

	width: 100% !important;
	max-width: 100% !important;
	padding: 20px !important;
}

.woo-cart-total
.shop_table
.shipping
> td:only-child:not(.awb-shipping)::before {
	display: none !important;
	content: none !important;
}

.woo-cart-total
.shop_table
.shipping
> td:only-child:not(.awb-shipping)
> .woocommerce-shipping-methods,
.woo-cart-total
.shop_table
.shipping
> td:only-child:not(.awb-shipping)
> ul#shipping_method {
	grid-column: 2;
	grid-row: 1;
}

/* In den beiden anderen Varianten darf kein data-title erscheinen. */
.woo-cart-total .shop_table .shipping > td.awb-shipping::before,
.woo-cart-total .shop_table .shipping > th + td::before {
	display: none !important;
	content: none !important;
}

/* Avada-Struktur beim ersten Laden. */
.woo-cart-total .shop_table .shipping > td.awb-shipping {
	display: grid !important;
	grid-column: 1 / -1;
	grid-template-columns: minmax(100px, 0.8fr) minmax(0, 1.6fr);
	align-items: center;
	gap: 14px 20px;

	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 20px !important;

	background: var(--cart-shipping-background) !important;
	border: 0 !important;
	color: var(--cart-text-color) !important;
	text-align: left !important;
}

.woo-cart-total .awb-shipping-heading {
	display: block !important;
	grid-column: 1;
	grid-row: 1;
	margin: 0 !important;
	padding: 0 !important;

	color: var(--cart-text-color) !important;
	font-size: 15px !important;
	font-weight: 500 !important;
	line-height: 1.4;
}

.woo-cart-total .awb-shipping-td {
	display: none !important;
}


/**
 * Versandmethoden – gilt für beide HTML-Varianten.
 */
.woo-cart-total .shipping .woocommerce-shipping-methods,
.woo-cart-total .shipping ul#shipping_method {
	display: flex !important;
	flex-direction: column;
	align-items: stretch;
	gap: 10px;

	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.woo-cart-total .awb-shipping > .woocommerce-shipping-methods,
.woo-cart-total .awb-shipping > ul#shipping_method {
	grid-column: 2;
	grid-row: 1;
}

.woo-cart-total .shipping .woocommerce-shipping-methods li,
.woo-cart-total .shipping ul#shipping_method li {
	position: relative;
	display: block !important;
	align-items: center;

	width: 100% !important;
	min-height: 24px;
	margin: 0 !important;
	padding: 0 !important;
	color: var(--cart-text-color) !important;
}

.woo-cart-total .shipping input.shipping_method {
	position: absolute !important;
	top: 50% !important;
	left: 0 !important;
	z-index: 3;
	display: block !important;

	width: 18px !important;
	height: 18px !important;
	min-width: 18px !important;
	margin: 0 !important;
	padding: 0 !important;

	opacity: 1 !important;
	overflow: visible !important;
	clip: auto !important;
	clip-path: none !important;

	-webkit-appearance: radio !important;
	appearance: auto !important;
	accent-color: var(--cart-accent-color) !important;
	transform: translateY(-50%);
	pointer-events: auto !important;
	cursor: pointer;
}

.woo-cart-total .shipping .woocommerce-shipping-methods label,
.woo-cart-total .shipping ul#shipping_method label {
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	gap: 12px;

	width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 0 0 30px !important;

	color: var(--cart-text-color) !important;
	font-size: 15px !important;
	font-weight: 400 !important;
	line-height: 1.4;
	text-align: left !important;
	pointer-events: auto !important;
	cursor: pointer;
}

/* Avadas zusätzliche Radio-Kreise vollständig ausblenden. */
.woo-cart-total .shipping ul#shipping_method label::before,
.woo-cart-total .shipping .woocommerce-shipping-methods label::before,
.woo-cart-total .shipping ul#shipping_method label::after,
.woo-cart-total .shipping .woocommerce-shipping-methods label::after {
	display: none !important;
	content: none !important;
}

.woo-cart-total .shipping input.shipping_method:focus-visible {
	outline: 2px solid var(--cart-accent-color) !important;
	outline-offset: 3px;
}

/* Der aktive Eintrag darf beim Wechsel nicht breiter werden. */
.woo-cart-total .shipping input.shipping_method:checked + label {
	font-weight: 400 !important;
}

.woo-cart-total .shipping label .woocommerce-Price-amount,
.woo-cart-total .shipping label .amount {
	flex: 0 0 auto;
	margin-left: auto !important;
	color: var(--cart-text-color) !important;
	white-space: nowrap;
}


/**
 * Versandhinweise
 */
.woo-cart-total .shipping .woocommerce-shipping-destination {
	margin: 14px 0 0 !important;
	padding-top: 12px;

	border-top: 1px solid var(--cart-border-color);
	color: var(--cart-text-color) !important;
	font-size: 12px;
	line-height: 1.5;
	opacity: 0.7;
}

.woo-cart-total .awb-shipping > .woocommerce-shipping-destination {
	grid-column: 1 / -1;
	grid-row: 2;
}

.woo-cart-total .awb-calc-shipping {
	display: none !important;
}


/**
 * Gesamtsumme
 */
.woo-cart-total .shop_table .order-total th,
.woo-cart-total .shop_table .order-total td {
	padding-top: 21px !important;
	padding-bottom: 21px !important;
	font-size: 20px !important;
	font-weight: 600 !important;
}

.woo-cart-total .shop_table .order-total .amount {
	color: var(--cart-text-color) !important;
	font-size: 20px !important;
	font-weight: 700 !important;
}


/**
 * Mehrwertsteuerzeile wie die übrigen Summenzeilen darstellen.
 */
.woo-cart-total .shop_table .order-tax {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;

	width: 100% !important;
	margin: 0 !important;

	background: var(--cart-background) !important;
	border-top: 1px solid var(--cart-border-color) !important;
}

.woo-cart-total .shop_table .order-tax th,
.woo-cart-total .shop_table .order-tax td {
	display: block !important;

	width: auto !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 17px 20px !important;

	background: var(--cart-background) !important;
	border: 0 !important;
	color: var(--cart-text-color) !important;
	font-size: 15px !important;
	font-weight: 500 !important;
	line-height: 1.4;
}

.woo-cart-total .shop_table .order-tax th {
	text-align: left !important;
}

.woo-cart-total .shop_table .order-tax td {
	text-align: right !important;
	white-space: nowrap;
}

.woo-cart-total .shop_table .order-tax td::before {
	display: none !important;
	content: none !important;
}


/**
 * Gratisversand-Fortschritt
 */
.woo-cart-total .afsp-cart-page {
	width: 100%;
	margin: 22px 0 8px !important;
	padding: 0 !important;
	color: var(--cart-text-color) !important;
}

.woo-cart-total .afsp-cart-page .afsp-text {
	margin: 0 0 16px !important;
	color: var(--cart-text-color) !important;
}

.woo-cart-total .afsp-cart-page .afsp-track {
	width: 100%;
	margin: 0 !important;
}


/**
 * Buttonbereich
 */
.woo-cart-total .wc-proceed-to-checkout {
	display: flex !important;
	flex-direction: column;
	align-items: stretch !important;
	gap: 12px;

	width: 100% !important;
	max-width: 100% !important;
	margin: 24px 0 0 !important;
	padding: 0 !important;
}

.woo-cart-total .wc-proceed-to-checkout .afsp-cart-page {
	order: 0;
}

.woo-cart-total .wc-proceed-to-checkout .fusion-update-cart {
	order: 1;
}

.woo-cart-total .wc-proceed-to-checkout .checkout-button {
	order: 2;
}


/**
 * Gemeinsame Button-Einstellungen
 */
.woo-cart-total .wc-proceed-to-checkout .button {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	float: none !important;

	width: 100% !important;
	max-width: 100% !important;
	min-height: 54px !important;
	margin: 0 !important;
	padding: 14px 20px !important;

	border-radius: 3px !important;
	box-shadow: none !important;
	font-family: inherit !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	text-align: center !important;
	text-indent: 0 !important;
	text-transform: none !important;
	-webkit-text-fill-color: currentColor;

	opacity: 1 !important;
	transition:
			background-color 0.2s ease,
			color 0.2s ease,
			filter 0.2s ease,
			transform 0.2s ease;
}

/* Warenkorb aktualisieren */
.woo-cart-total .fusion-update-cart,
.woo-cart-total .fusion-update-cart:visited {
	background: var(--cart-background) !important;
	background-image: none !important;
	border: 1px solid var(--cart-button-color) !important;
	color: var(--cart-button-color) !important;
	-webkit-text-fill-color: var(--cart-button-color) !important;
}

.woo-cart-total .fusion-update-cart:hover {
	background: var(--cart-button-color) !important;
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
}

/* Weiter zur Kasse */
.woo-cart-total .checkout-button,
.woo-cart-total .checkout-button:visited {
	background: var(--cart-button-color) !important;
	background-image: none !important;
	border: 1px solid var(--cart-button-color) !important;
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
}

.woo-cart-total .checkout-button:hover {
	background: var(--cart-button-color) !important;
	color: #ffffff !important;
	filter: brightness(0.93);
	transform: translateY(-1px);
}

.woo-cart-total .wc-proceed-to-checkout .button:focus-visible {
	outline: 2px solid var(--cart-button-color);
	outline-offset: 4px;
}

.cart-cross-sells .fusion-rollover-title,
.cart-cross-sells .fusion-rollover-title a,
.cart-cross-sells .fusion-rollover-categories,
.cart-cross-sells .fusion-rollover-categories a,
.cart-cross-sells .fusion-rollover .price,
.cart-cross-sells .fusion-rollover .price *,
.cart-cross-sells .fusion-rollover .woocommerce-Price-amount,
.cart-cross-sells .fusion-rollover .woocommerce-Price-currencySymbol,
.cart-cross-sells .fusion-product-buttons a,
.cart-cross-sells .fusion-product-buttons a::before {
	color: #ffffff !important;
}

/**
 * Tablet und Smartphone
 */
@media only screen and (max-width: 800px) {

	.woo-cart-total .cart_totals > h2 {
		padding: 18px !important;
		font-size: 21px !important;
	}

	.woo-cart-total .shop_table .cart-subtotal th,
	.woo-cart-total .shop_table .cart-subtotal td,
	.woo-cart-total .shop_table .order-total th,
	.woo-cart-total .shop_table .order-total td {
		padding-right: 16px !important;
		padding-left: 16px !important;
	}

	.woo-cart-total .shop_table .shipping {
		grid-template-columns: 1fr;
	}

	.woo-cart-total .shop_table .shipping > th,
	.woo-cart-total .shop_table .shipping > td:not(.awb-shipping) {
		grid-column: 1;
		padding: 18px 16px !important;
	}

	.woo-cart-total .shop_table .shipping > th {
		padding-bottom: 6px !important;
	}

	.woo-cart-total .shop_table .shipping > td:not(.awb-shipping) {
		padding-top: 6px !important;
	}

	.woo-cart-total .shop_table .shipping > td.awb-shipping {
		grid-template-columns: 1fr;
		gap: 12px;
		padding: 18px 16px !important;
	}

	.woo-cart-total
	.shop_table
	.shipping
	> td:only-child:not(.awb-shipping) {
		grid-template-columns: 1fr;
		gap: 12px;
		padding: 18px 16px !important;
	}

	.woo-cart-total
	.shop_table
	.shipping
	> td:only-child:not(.awb-shipping)::before,
	.woo-cart-total
	.shop_table
	.shipping
	> td:only-child:not(.awb-shipping)
	> .woocommerce-shipping-methods,
	.woo-cart-total
	.shop_table
	.shipping
	> td:only-child:not(.awb-shipping)
	> ul#shipping_method {
		grid-column: 1;
		grid-row: auto;
	}

	.woo-cart-total .awb-shipping-heading,
	.woo-cart-total .awb-shipping > .woocommerce-shipping-methods,
	.woo-cart-total .awb-shipping > ul#shipping_method,
	.woo-cart-total .awb-shipping > .woocommerce-shipping-destination {
		grid-column: 1;
		grid-row: auto;
	}

	.woo-cart-total .shop_table .order-total th,
	.woo-cart-total .shop_table .order-total td,
	.woo-cart-total .shop_table .order-total .amount {
		font-size: 18px !important;
	}

	.woo-cart-total .shop_table .order-tax th,
	.woo-cart-total .shop_table .order-tax td {
		padding-right: 16px !important;
		padding-left: 16px !important;
	}
}
