/**
 * Produkttabelle auf der Warenkorbseite
 */
.woo-cart-table {
	--cart-table-background: #ffffff;
	--cart-table-product-background: #f3f3f1;
	--cart-table-border-color: rgba(79, 70, 64, 0.18);
	--cart-table-text-color: var(--awb-color3);
	--cart-table-accent-color: var(--awb-custom_color_2);
	--cart-table-button-color: var(--awb-custom_color_5);
	--cart-table-badge-color: var(--awb-color8);

	width: 100%;
	max-width: 100%;

	color: var(--cart-table-text-color);
	background: transparent !important;
}

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


/**
 * Überschrift
 */
.woo-cart-table::before {
	content: "Produkte im Warenkorb";

	display: block;

	width: 100%;
	padding: 20px 22px;

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

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


/**
 * Formular und Tabelle
 */
.woo-cart-table .woocommerce-cart-form {
	display: block !important;

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

.woo-cart-table .woocommerce-cart-form__contents {
	display: block !important;

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

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

	overflow: hidden;
}

.woo-cart-table .woocommerce-cart-form__contents > thead {
	display: none !important;
}

.woo-cart-table .woocommerce-cart-form__contents > tbody {
	display: block !important;

	position: static !important;

	width: 100% !important;
	height: auto !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}


/**
 * Produktzeilen
 */
.woo-cart-table .cart_item {
	position: relative !important;

	display: grid !important;
	grid-template-columns:
		minmax(250px, 2.1fr)
		minmax(90px, 0.65fr)
		minmax(150px, 0.9fr)
		minmax(100px, 0.75fr)
		36px;
	align-items: center;
	gap: 18px;

	width: 100% !important;
	height: auto !important;
	margin: 0 !important;
	padding: 20px !important;

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

.woo-cart-table .cart_item > td {
	display: block !important;

	position: static !important;

	width: auto !important;
	min-width: 0 !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;

	background: transparent !important;
	border: 0 !important;

	color: var(--cart-table-text-color) !important;
	text-align: left !important;
}


/**
 * Produktbereich
 */
.woo-cart-table .fusion-product-name-wrapper {
	display: flex !important;
	align-items: center;
	gap: 18px;

	width: 100%;
	min-width: 0;
}


/**
 * Produktbild
 */
.woo-cart-table .product-thumbnail {
	position: relative !important;

	display: flex !important;
	flex: 0 0 90px;
	align-items: center;
	justify-content: center;

	width: 90px !important;
	height: 90px !important;
	margin: 0 !important;
	padding: 8px;

	background: #ffffff;
	border-radius: 5px;

	overflow: visible !important;
}

.woo-cart-table .product-thumbnail > a {
	position: relative !important;

	display: flex !important;
	align-items: center;
	justify-content: center;

	width: 100%;
	height: 100%;
}

.woo-cart-table .product-thumbnail img {
	display: block;

	width: 100% !important;
	height: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;

	object-fit: contain;
}


/**
 * Dynamisches Mengen-Badge auf dem Produktbild
 */
.woo-cart-table .childtheme-cart-item-quantity {
	position: absolute;
	z-index: 10;

	top: -14px;
	right: -14px;

	display: flex;
	align-items: center;
	justify-content: center;

	min-width: 25px;
	height: 25px;
	padding: 0 7px;

	background: var(--cart-table-badge-color);
	border: 2px solid var(--cart-table-product-background);
	border-radius: 999px;

	color: #ffffff;
	font-family: Arial, sans-serif;
	font-size: 11px;
	font-weight: 700;
	line-height: 1;

	box-sizing: border-box;
	pointer-events: none;
}


/**
 * Produktinformationen
 */
.woo-cart-table .product-info {
	flex: 1 1 auto;

	min-width: 0;
}

.woo-cart-table .product-title {
	color: var(--cart-table-text-color) !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	line-height: 1.4;
	text-decoration: none !important;
}

.woo-cart-table .product-title:hover {
	color: var(--cart-table-accent-color) !important;
}


/**
 * Bezeichnungen über Preis, Menge und Summe
 */
.woo-cart-table .cart_item > .product-price::before,
.woo-cart-table .cart_item > .product-quantity::before,
.woo-cart-table .cart_item > .product-subtotal::before {
	display: block !important;

	float: none !important;

	margin-bottom: 6px;

	color: var(--cart-table-text-color) !important;
	font-family: inherit;
	font-size: 11px !important;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: 0.04em;
	text-transform: uppercase;

	opacity: 0.65;
}

.woo-cart-table .cart_item > .product-price::before {
	content: "Einzelpreis" !important;
}

.woo-cart-table .cart_item > .product-quantity::before {
	content: "Anzahl" !important;
}

.woo-cart-table .cart_item > .product-subtotal::before {
	content: "Summe" !important;
}


/**
 * Preise
 */
.woo-cart-table .product-price,
.woo-cart-table .product-subtotal,
.woo-cart-table .product-price .amount,
.woo-cart-table .product-subtotal .amount {
	color: var(--cart-table-text-color) !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	white-space: nowrap;
}


/**
 * Mengenauswahl
 */
.woo-cart-table .quantity {
	display: grid !important;
	grid-template-columns: 42px 48px 42px;

	width: 132px !important;
	height: 46px !important;
	margin: 0 !important;

	border: 1px solid var(--cart-table-text-color) !important;
	border-radius: 5px !important;

	overflow: hidden;
}

.woo-cart-table .quantity .minus,
.woo-cart-table .quantity .plus,
.woo-cart-table .quantity .qty {
	display: flex !important;
	align-items: center;
	justify-content: center;

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

	background: #ffffff !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;

	color: var(--cart-table-text-color) !important;
	font-family: inherit;
	font-size: 15px !important;
	line-height: 1 !important;
	text-align: center !important;
}

.woo-cart-table .quantity .qty {
	border-right: 1px solid var(--cart-table-text-color) !important;
	border-left: 1px solid var(--cart-table-text-color) !important;

	appearance: textfield;
	-moz-appearance: textfield;
}

.woo-cart-table .quantity .qty::-webkit-inner-spin-button,
.woo-cart-table .quantity .qty::-webkit-outer-spin-button {
	margin: 0;

	appearance: none;
	-webkit-appearance: none;
}

.woo-cart-table .quantity .minus:hover,
.woo-cart-table .quantity .plus:hover {
	background: var(--cart-table-accent-color) !important;
	color: #ffffff !important;
}


/**
 * Artikel entfernen
 */
.woo-cart-table .product-remove {
	display: flex !important;
	align-items: center;
	justify-content: center;
}

.woo-cart-table .product-remove .remove {
	display: flex !important;
	align-items: center;
	justify-content: center;

	width: 34px !important;
	height: 34px !important;
	margin: 0 !important;

	background: transparent !important;
	border: 1px solid var(--cart-table-border-color) !important;
	border-radius: 50% !important;

	color: var(--cart-table-text-color) !important;
	font-family: Arial, sans-serif;
	font-size: 22px !important;
	font-weight: 400 !important;
	line-height: 1 !important;
	text-decoration: none !important;
}

.woo-cart-table .product-remove .remove:hover {
	background: var(--cart-table-accent-color) !important;
	border-color: var(--cart-table-accent-color) !important;

	color: #ffffff !important;
}


/**
 * Gutscheinzeile vollständig zurücksetzen
 */
.woo-cart-table
	.woocommerce-cart-form__contents
	> tbody:last-of-type {
	display: block !important;

	position: static !important;

	width: 100% !important;
	height: auto !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;

	background: var(--cart-table-background) !important;
}

.woo-cart-table .avada-cart-actions {
	display: block !important;
	float: none !important;

	position: static !important;

	width: 100% !important;
	height: auto !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;

	background: var(--cart-table-background) !important;
	border: 0 !important;
}

.woo-cart-table .avada-cart-actions > .actions {
	display: block !important;
	float: none !important;
	clear: both !important;

	position: static !important;

	width: 100% !important;
	height: auto !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 20px !important;

	background: var(--cart-table-background) !important;
	border: 0 !important;
}


/**
 * Gutscheinbereich
 */
.woo-cart-table .coupon {
	display: grid !important;
	float: none !important;
	clear: both !important;

	position: static !important;
	inset: auto !important;
	transform: none !important;

	grid-template-columns: minmax(0, 1fr) 210px;
	gap: 12px;

	width: 100% !important;
	max-width: 100% !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
}

.woo-cart-table .coupon > label {
	display: none !important;
}

.woo-cart-table .coupon #coupon_code {
	position: static !important;

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

	background: #ffffff !important;
	border: 1px solid var(--cart-table-text-color) !important;
	border-radius: 5px !important;
	box-shadow: none !important;

	color: var(--cart-table-text-color) !important;
	font-family: inherit;
	font-size: 15px !important;
}

.woo-cart-table .coupon #coupon_code::placeholder {
	color: var(--awb-color8) !important;
	opacity: 1;
}


/**
 * Gutscheinbutton
 */
.woo-cart-table .coupon button[name="apply_coupon"] {
	display: flex !important;
	align-items: center;
	justify-content: center;

	position: static !important;

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

	background: var(--cart-table-button-color) !important;
	background-image: none !important;
	border: 1px solid var(--cart-table-button-color) !important;
	border-radius: 3px !important;
	box-shadow: none !important;

	color: #ffffff !important;
	font-family: inherit;
	font-size: 15px !important;
	font-weight: 600 !important;
	line-height: 1.2;
	text-align: center;
	text-transform: none !important;
}


/**
 * Doppelten Update-Button ausblenden.
 * Der Update-Button in der Summenbox bleibt bestehen.
 */
.woo-cart-table button[name="update_cart"] {
	display: none !important;
}


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

	.woo-cart-table .cart_item {
		grid-template-columns:
			minmax(220px, 1.7fr)
			minmax(80px, 0.6fr)
			minmax(135px, 0.8fr)
			minmax(90px, 0.7fr)
			34px;

		gap: 14px;
		padding: 18px !important;
	}

	.woo-cart-table .product-thumbnail {
		flex-basis: 76px;

		width: 76px !important;
		height: 76px !important;
	}
}


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

	.woo-cart-table::before {
		padding: 18px;

		font-size: 21px;
	}

	.woo-cart-table .cart_item {
		grid-template-columns: minmax(0, 1fr) auto auto;
		gap: 18px 14px;

		padding: 18px !important;
	}

	.woo-cart-table .cart_item > .product-name {
		grid-column: 1 / -1;

		padding-right: 42px !important;
	}

	.woo-cart-table .cart_item > .product-price {
		grid-column: 1;
	}

	.woo-cart-table .cart_item > .product-quantity {
		grid-column: 2;
	}

	.woo-cart-table .cart_item > .product-subtotal {
		grid-column: 3;

		text-align: right !important;
	}

	.woo-cart-table .cart_item > .product-remove {
		position: absolute !important;
		top: 18px;
		right: 18px;
	}

	.woo-cart-table .coupon {
		grid-template-columns: 1fr;
	}

	.woo-cart-table .childtheme-cart-item-quantity {
		top: -12px;
		right: -12px;
	}
}


/**
 * Kleine Smartphones
 */
@media only screen and (max-width: 520px) {

	.woo-cart-table .cart_item {
		grid-template-columns: 1fr 1fr;
	}

	.woo-cart-table .cart_item > .product-price {
		grid-column: 1;
	}

	.woo-cart-table .cart_item > .product-subtotal {
		grid-column: 2;

		text-align: right !important;
	}

	.woo-cart-table .cart_item > .product-quantity {
		grid-column: 1 / -1;
	}

	.woo-cart-table .product-thumbnail {
		flex-basis: 68px;

		width: 68px !important;
		height: 68px !important;
	}
}

/**
 * Korrekturen für Überschrift und Mengen-Badge.
 */
.woo-cart-table {
	/*
	 * Gleiche Farbe wie Warenkorb-Zähler und Buttons.
	 */
	--cart-table-badge-color: var(--awb-custom_color_5);
}


/**
 * Verhindert, dass die Überschrift rechts über
 * die Produkttabelle hinausragt.
 */
.woo-cart-table::before {
	width: 100% !important;
	max-width: 100% !important;

	box-sizing: border-box !important;
}


/**
 * Badge-Farbe sicher überschreiben.
 */
.woo-cart-table .childtheme-cart-item-quantity {
	background-color: var(--awb-custom_color_2); !important;
	color: #ffffff !important;
}

/**
 * In WooCommerce integriertes Gutscheinformular sichtbar machen.
 */
.woo-cart-table
	.avada-cart-actions
	.actions
	.coupon {
	display: grid !important;
	visibility: visible !important;
	opacity: 1 !important;

	position: static !important;
	inset: auto !important;

	grid-template-columns: minmax(0, 1fr) 210px;
	gap: 12px;

	float: none !important;
	clear: both !important;

	width: 100% !important;
	max-width: 100% !important;
	height: auto !important;
	min-height: 54px !important;

	margin: 0 !important;
	padding: 0 !important;

	transform: none !important;
}


/**
 * Übergeordneten Aktionsbereich korrekt anzeigen.
 */
.woo-cart-table .avada-cart-actions,
.woo-cart-table .avada-cart-actions > .actions {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;

	position: static !important;

	float: none !important;
	clear: both !important;

	width: 100% !important;
	height: auto !important;
	min-height: 0 !important;

	margin: 0 !important;
}

.woo-cart-table .avada-cart-actions > .actions {
	padding: 20px !important;

	background: var(--cart-table-background) !important;
}


/**
 * Internen Gutschein-Button sichtbar machen.
 */
.woo-cart-table
	.avada-cart-actions
	button[name="apply_coupon"] {
	display: flex !important;
	visibility: visible !important;
	opacity: 1 !important;

	position: static !important;

	width: 100% !important;
	height: auto !important;
	min-height: 54px !important;
}


/**
 * Separates Avada-Gutscheinelement ausblenden.
 *
 * Diese Regel ist nur als Absicherung notwendig.
 * Besser ist es, das Element im Avada Builder zu löschen.
 */
.woocommerce-cart .fusion-woo-cart_coupons {
	display: none !important;
}


/**
 * Doppelten Update-Button weiterhin ausblenden.
 */
.woo-cart-table
	.avada-cart-actions
	button[name="update_cart"] {
	display: none !important;
}

/**
 * Gutscheinbereich optisch an die Warenkorbkarte anpassen.
 */
.woo-cart-table .avada-cart-actions > .actions {
	padding: 20px 22px 22px !important;

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


/**
 * Gutscheinformular
 */
.woo-cart-table
	.avada-cart-actions
	.actions
	.coupon {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) 220px;
	align-items: end;
	gap: 10px 12px;

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

	background: transparent !important;
}


/**
 * Beschriftung über dem Gutscheinformular
 */
.woo-cart-table
	.avada-cart-actions
	.actions
	.coupon
	> label {
	display: block !important;
	visibility: visible !important;

	grid-column: 1 / -1;

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

	color: var(--cart-table-text-color) !important;
	font-family: inherit;
	font-size: 14px !important;
	font-weight: 600 !important;
	line-height: 1.3;
}


/**
 * Gutscheinfeld
 */
.woo-cart-table
	.avada-cart-actions
	#coupon_code {
	display: block !important;

	width: 100% !important;
	height: 54px !important;
	margin: 0 !important;
	padding: 0 17px !important;

	background: #ffffff !important;
	border: 1px solid var(--cart-table-border-color) !important;
	border-radius: 4px !important;
	box-shadow: none !important;

	color: var(--cart-table-text-color) !important;
	font-family: inherit;
	font-size: 15px !important;
	font-weight: 400 !important;

	transition:
		border-color 0.2s ease,
		box-shadow 0.2s ease;
}

.woo-cart-table
	.avada-cart-actions
	#coupon_code::placeholder {
	color: var(--cart-table-text-color) !important;
	opacity: 0.45;
}

.woo-cart-table
	.avada-cart-actions
	#coupon_code:focus {
	border-color: var(--cart-table-accent-color) !important;
	outline: 2px solid var(--cart-table-accent-color);
	outline-offset: 1px;
}


/**
 * Gutscheinbutton
 */
.woo-cart-table
	.avada-cart-actions
	button[name="apply_coupon"] {
	display: flex !important;
	align-items: center;
	justify-content: center;

	width: 100% !important;
	height: 54px !important;
	min-height: 54px !important;
	margin: 0 !important;
	padding: 10px 18px !important;

	background: var(--cart-table-button-color) !important;
	background-image: none !important;
	border: 1px solid var(--cart-table-button-color) !important;
	border-radius: 4px !important;
	box-shadow: none !important;

	color: #ffffff !important;
	font-family: inherit;
	font-size: 15px !important;
	font-weight: 600 !important;
	line-height: 1.2;
	text-align: center;
	text-transform: none !important;

	cursor: pointer;
	transition:
		filter 0.2s ease,
		transform 0.2s ease;
}

.woo-cart-table
	.avada-cart-actions
	button[name="apply_coupon"]:hover {
	background: var(--cart-table-button-color) !important;
	color: #ffffff !important;

	filter: brightness(0.93);
	transform: translateY(-1px);
}


/**
 * Mobile Darstellung
 */
@media only screen and (max-width: 700px) {

	.woo-cart-table .avada-cart-actions > .actions {
		padding: 18px !important;
	}

	.woo-cart-table
		.avada-cart-actions
		.actions
		.coupon {
		grid-template-columns: 1fr;
	}

	.woo-cart-table
		.avada-cart-actions
		button[name="apply_coupon"] {
		width: 100% !important;
	}
}


/**
 * Avadas zusätzliche Umrandung um das Gutscheinformular entfernen.
 */
.woo-cart-table
	.avada-cart-actions
	.actions
	.coupon {
	border: 0 !important;
	outline: 0 !important;
	box-shadow: none !important;

	background: transparent !important;
}