/*
Theme Name: Blocksy Child
Theme URI: https://creativethemes.com/blocksy/
Description: Child Theme für Blocksy. Eigene Anpassungen bleiben bei Blocksy-Updates erhalten.
Author: OA
Template: blocksy
Version: 1.0.0
Text Domain: blocksy-child
*/

/* Hinweis unter der MiniCart-Zwischensumme */
.aw-mini-cart-note {
	display: block;
	clear: both;
	margin: -6px 0 16px 0;
	padding: 0;
	text-align: left;
	font-size: 13px;
	line-height: 1.4;
}

.aw-mini-cart-note span {
	display: block;
	margin: 0 0 3px 0;
	padding: 0;
}

/* Blocksy Header Cart Drop-down breiter machen */
.ct-header-cart .ct-cart-content,
.ct-header-cart .widget_shopping_cart,
.ct-header-cart .woocommerce-mini-cart {
	width: 520px;
	max-width: 92vw;
}

/* Warenkorb: Produktname fett */
.woocommerce-cart .aw-cart-product-title,
.woocommerce-cart .pkw-cart-product-title {
	font-weight: 700;
}

/* Warenkorb: Label vor Artikeleinzelpreis nicht fett */
.woocommerce-cart .aw-cart-unit-price-label {
	display: inline-block;
	font-weight: 400;
	margin-right: 0.25em;
	white-space: nowrap;
}

/* Warenkorb: Hinweis unter Gesamtsumme linksbündig */
.woocommerce-cart .aw-cart-total-notes td {
	text-align: left !important;
	padding-top: 0 !important;
}

.woocommerce-cart .aw-cart-total-notes__inner {
	display: block;
	text-align: left;
	font-size: 13px;
	line-height: 1.4;
	margin-top: -4px;
}

/* Plattenpilot: Button unter Einzelpreis */
.woocommerce-cart .pkw-classic-cart-edit-button-wrap,
.woocommerce-cart .pkw-cart-edit-button-desktop,
.woocommerce-cart .pkw-cart-edit-button-mobile {
	margin-top: 8px;
}


/* Plattenpilot: Metadaten im Warenkorb komplett normal darstellen */
.woocommerce-cart dl.variation dt,
.woocommerce-cart dl.variation dd,
.woocommerce-cart dl.variation dd p {
	font-weight: 400;
}

/* Plattenpilot: originales Mengenfeld behalten, aber komplett sperren */
.woocommerce-cart .pkw-locked-cart-quantity {
	display: inline-flex;
	align-items: center;
	opacity: 0.55;
	cursor: not-allowed;
}

.woocommerce-cart .pkw-locked-cart-quantity input.qty,
.woocommerce-cart .pkw-locked-cart-quantity button,
.woocommerce-cart .pkw-locked-cart-quantity a,
.woocommerce-cart .pkw-locked-cart-quantity .plus,
.woocommerce-cart .pkw-locked-cart-quantity .minus,
.woocommerce-cart .pkw-locked-cart-quantity .ct-increase,
.woocommerce-cart .pkw-locked-cart-quantity .ct-decrease,
.woocommerce-cart .pkw-locked-cart-quantity [class*="plus"],
.woocommerce-cart .pkw-locked-cart-quantity [class*="minus"],
.woocommerce-cart .pkw-locked-cart-quantity [class*="increase"],
.woocommerce-cart .pkw-locked-cart-quantity [class*="decrease"] {
	pointer-events: none !important;
	cursor: not-allowed !important;
}

/* Warenkorb: Spaltenbreiten vorsichtig optimieren */
@media (min-width: 1000px) {
	.woocommerce-cart .woocommerce-cart-form table.shop_table.cart {
		table-layout: auto !important;
		width: 100%;
	}

	/* Produktbild im Warenkorb größer darstellen */
	.woocommerce-cart .woocommerce-cart-form table.shop_table.cart th.product-thumbnail,
	.woocommerce-cart .woocommerce-cart-form table.shop_table.cart td.product-thumbnail {
		width: 120px;
		min-width: 120px;
		max-width: 120px;
	}

	.woocommerce-cart .woocommerce-cart-form table.shop_table.cart td.product-thumbnail img {
		width: 104px;
		max-width: 104px;
		height: auto;
	}

	/* Produktbereich bekommt den restlichen Platz */
	.woocommerce-cart .woocommerce-cart-form table.shop_table.cart th.product-name,
	.woocommerce-cart .woocommerce-cart-form table.shop_table.cart td.product-name {
		width: auto;
		min-width: 0;
	}

	/* Menge kompakt, aber nicht zu eng */
	.woocommerce-cart .woocommerce-cart-form table.shop_table.cart th.product-quantity,
	.woocommerce-cart .woocommerce-cart-form table.shop_table.cart td.product-quantity {
		width: 115px;
		min-width: 115px;
		max-width: 115px;
		text-align: center;
		white-space: nowrap;
		padding-left: 8px;
		padding-right: 8px;
	}

    /* Zwischensumme nah an Menge, Überschrift und Wert zentriert */
    .woocommerce-cart .woocommerce-cart-form table.shop_table.cart th.product-subtotal,
    .woocommerce-cart .woocommerce-cart-form table.shop_table.cart td.product-subtotal {
        width: 135px;
        min-width: 135px;
        max-width: 135px;
        text-align: center;
        white-space: nowrap;
        padding-left: 8px;
        padding-right: 8px;
    }

	/* Entfernen-Spalte nicht zu schmal machen, sonst verschwindet/quetscht das Icon */
	.woocommerce-cart .woocommerce-cart-form table.shop_table.cart th.product-remove,
	.woocommerce-cart .woocommerce-cart-form table.shop_table.cart td.product-remove {
		width: 48px;
		min-width: 48px;
		max-width: 48px;
		text-align: right;
		padding-left: 4px;
		padding-right: 4px;
	}

    
	/* Warenkorb: gestrichelte Trennlinien zwischen Artikeln besser sichtbar */
	.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tbody tr.cart_item > td {
		border-bottom: 1px dashed rgba(0, 0, 0, 0.24) !important;
	}


}


/* Mobile Warenkorb: Produktliste sauber darstellen */
@media (max-width: 999px) {
	/* Jede Warenkorbposition als saubere Karte darstellen */
	.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tbody tr.cart_item {
		display: grid !important;
		grid-template-columns: 86px minmax(0, 1fr);
		column-gap: 14px;
		row-gap: 8px;
		align-items: start;
		padding: 16px 0;
		border-bottom: 1px dashed rgba(0, 0, 0, 0.24);
	}

	/* Produktbild mobil sichtbar machen */
	.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tbody tr.cart_item td.product-thumbnail {
		display: block !important;
		width: 86px !important;
		min-width: 86px !important;
		max-width: 86px !important;
		padding: 0 !important;
		grid-column: 1;
		grid-row: 1 / span 2;
		border-bottom: 0 !important;
	}

	.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tbody tr.cart_item td.product-thumbnail a,
	.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tbody tr.cart_item td.product-thumbnail img,
	.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tbody tr.cart_item td.product-thumbnail picture {
		display: block !important;
		width: 86px !important;
		max-width: 86px !important;
		height: auto !important;
	}

	/* Produktinhalt neben dem Bild */
	.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tbody tr.cart_item td.product-name {
		display: block !important;
		grid-column: 2;
		grid-row: 1;
		width: 100% !important;
		min-width: 0 !important;
		padding: 0 !important;
		border-bottom: 0 !important;
	}

	/* Lange Titel / Dateinamen sauber umbrechen */
	.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tbody tr.cart_item td.product-name a,
	.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tbody tr.cart_item td.product-name .pkw-cart-product-title {
		display: block;
		max-width: 100%;
		white-space: normal !important;
		overflow-wrap: anywhere;
		word-break: normal;
		line-height: 1.35;
	}

	/* Plattenpilot Eigenschaften mobil kompakt und sauber */
	.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tbody tr.cart_item dl.variation {
		display: block;
		margin-top: 8px;
		font-size: 13px;
		line-height: 1.35;
	}

	.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tbody tr.cart_item dl.variation dt,
	.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tbody tr.cart_item dl.variation dd {
		display: inline;
		float: none;
		margin: 0;
		padding: 0;
	}

	.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tbody tr.cart_item dl.variation dd::after {
		content: "";
		display: block;
		margin-bottom: 3px;
	}

	/* Mobile Menge × Einzelpreis + Entfernen sauber umbrechen */
	.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tbody tr.cart_item .product-mobile-actions {
		display: flex !important;
		flex-wrap: wrap;
		align-items: center;
		gap: 8px;
		margin-top: 10px;
		width: 100%;
		line-height: 1.3;
	}

	.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tbody tr.cart_item .product-mobile-actions .quantity,
	.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tbody tr.cart_item .product-mobile-actions .pkw-locked-cart-quantity {
		flex: 0 0 auto;
	}

	.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tbody tr.cart_item .product-mobile-actions .aw-cart-unit-price-label {
		margin-left: 0;
	}

	/* Plattenpilot Button mobil volle Breite und sauberer Umbruch */
	.woocommerce-cart .pkw-cart-edit-button-mobile {
		flex: 0 0 100%;
		width: 100%;
		margin-top: 8px;
	}

	.woocommerce-cart .pkw-cart-edit-button-mobile .pkw-classic-cart-edit-button-wrap {
		margin-top: 0 !important;
		width: 100%;
	}

	.woocommerce-cart .pkw-cart-edit-button-mobile .button,
	.woocommerce-cart .pkw-cart-edit-button-mobile .pkw-classic-edit-config-button {
		max-width: 100%;
		white-space: normal !important;
		text-align: center;
	}

	/* Desktop-Spalten mobil ausblenden, damit nichts doppelt kommt */
	.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tbody tr.cart_item td.product-quantity,
	.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tbody tr.cart_item td.product-subtotal,
	.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tbody tr.cart_item td.product-remove:not(.product-mobile-actions) {
		display: none !important;
	}

	/* Aktionen unten mobil nicht zerquetschen */
	.woocommerce-cart .woocommerce-cart-form table.shop_table.cart td.actions {
		display: block !important;
		width: 100% !important;
	}
}


/* Mobile Warenkorb-Summe: Labels einmal anzeigen und Werte sauber ausrichten */
@media (max-width: 999px) {
	/* Mobile Pseudo-Labels ausblenden, damit nichts doppelt erscheint */
	.woocommerce-cart .cart_totals table.shop_table td::before,
	.woocommerce-cart .cart_totals table.shop_table td:before {
		content: none !important;
		display: none !important;
	}

	/* Dafür die echten Tabellenüberschriften wieder sichtbar machen */
	.woocommerce-cart .cart_totals table.shop_table tr {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) auto;
		column-gap: 12px;
		align-items: start;
		width: 100%;
	}

	.woocommerce-cart .cart_totals table.shop_table th {
		display: block !important;
		width: auto !important;
		text-align: left !important;
		font-weight: 600;
		line-height: 1.35;
		padding-right: 8px;
	}

	.woocommerce-cart .cart_totals table.shop_table td {
		display: block !important;
		width: auto !important;
		text-align: right !important;
		line-height: 1.35;
		min-width: 0;
	}

	/* Preise nicht auseinanderreißen */
	.woocommerce-cart .cart_totals .woocommerce-Price-amount,
	.woocommerce-cart .cart_totals .woocommerce-Price-amount bdi {
		white-space: nowrap;
	}

	/* Lange Versandtexte dürfen umbrechen */
	.woocommerce-cart .cart_totals .woocommerce-shipping-totals td,
	.woocommerce-cart .cart_totals tr.shipping td {
		white-space: normal;
		overflow-wrap: anywhere;
	}

	/* Hinweis unter Gesamtsumme über volle Breite */
	.woocommerce-cart .cart_totals tr.aw-cart-total-notes {
		display: block !important;
	}

	.woocommerce-cart .cart_totals tr.aw-cart-total-notes td {
		display: block !important;
		width: 100% !important;
		text-align: left !important;
	}

	/* Versandkostenrechner in der Warenkorb-Summe nicht zerquetschen */
	.woocommerce-cart .cart_totals #oa-wc-estimator-root {
		width: 100%;
		max-width: 100%;
	}
}

/* Warenkorb: WooCommerce-Versandhinweis ausblenden */
.woocommerce-cart .woocommerce-shipping-destination,
.woocommerce-cart .woocommerce-shipping-calculator,
.woocommerce-cart .cart_totals .woocommerce-shipping-totals .woocommerce-shipping-destination,
.woocommerce-cart .cart_totals .shipping .woocommerce-shipping-destination {
	display: none !important;
}


/* MiniCart: Produktnamen normaler Produkte als Link */
.ct-header-cart .product-data .aw-mini-cart-product-title,
.ct-header-cart .product-data a.aw-mini-cart-product-title,
.widget_shopping_cart .product-data .aw-mini-cart-product-title,
.widget_shopping_cart .product-data a.aw-mini-cart-product-title {
	color: var(--theme-palette-color-10) !important;
	font-weight: 700;
	text-decoration: none !important;
}

/* MiniCart: Hover von Farbe 10 auf Farbe 9, ohne Unterstreichung */
.ct-header-cart .product-data a.aw-mini-cart-product-title:hover,
.ct-header-cart .product-data a.aw-mini-cart-product-title:focus,
.widget_shopping_cart .product-data a.aw-mini-cart-product-title:hover,
.widget_shopping_cart .product-data a.aw-mini-cart-product-title:focus {
	color: var(--theme-palette-color-9) !important;
	text-decoration: none !important;
}

/* MiniCart: Plattenpilot-Produktname fett, aber nicht als Link */
.ct-header-cart .product-data .pkw-mini-cart-product-title,
.widget_shopping_cart .product-data .pkw-mini-cart-product-title {
	display: block;
	color: inherit;
	font-weight: 700;
	text-decoration: none;
}



/* MiniCart: Zwischensumme sauber ausrichten */
.ct-header-cart .woocommerce-mini-cart__total,
.widget_shopping_cart .woocommerce-mini-cart__total {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 12px;
}

.ct-header-cart .aw-mini-cart-subtotal-value,
.widget_shopping_cart .aw-mini-cart-subtotal-value {
	white-space: nowrap;
}

/* Plattenpilot Vorschaubilder: 1:1, nicht beschneiden */
.woocommerce-cart img.pkw-classic-preview-image,
.ct-header-cart img.pkw-classic-preview-image,
.widget_shopping_cart img.pkw-classic-preview-image,
.woocommerce-checkout-review-order-table img.pkw-blocksy-checkout-preview-image,
.woocommerce-checkout-review-order-table img.pkw-checkout-preview-image,
.woocommerce-checkout-review-order-table img.pkw-checkout-direct-preview-image,
.woocommerce-checkout-review-order-table img.pkw-checkout-name-preview-image,
.woocommerce-order-details img.pkw-order-preview-image,
img.pkw-email-order-preview-image {
	display: block !important;
	aspect-ratio: 1 / 1 !important;
	object-fit: contain !important;
	object-position: center center !important;
	background: #f7f7f7;
}

/* Warenkorb Desktop: Plattenpilot-Bild quadratisch in der Thumbnail-Spalte */
@media (min-width: 1000px) {
	.woocommerce-cart .woocommerce-cart-form table.shop_table.cart td.product-thumbnail img.pkw-classic-preview-image {
		width: 104px !important;
		height: 104px !important;
		max-width: 104px !important;
	}
}

/* Warenkorb Mobil: Plattenpilot-Bild quadratisch in der mobilen Bildspalte */
@media (max-width: 999px) {
	.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tbody tr.cart_item td.product-thumbnail img.pkw-classic-preview-image {
		width: 86px !important;
		height: 86px !important;
		max-width: 86px !important;
	}
}

/* MiniCart: nicht croppen, aber innerhalb der Blocksy-MiniCart-Bildfläche bleiben */
.ct-header-cart img.pkw-classic-preview-image,
.widget_shopping_cart img.pkw-classic-preview-image {
	width: 96px !important;
	height: 96px !important;
	max-width: 96px !important;
}

/* Checkout / Blocksy: vorhandene Bildfläche behalten, Bild darin vollständig anzeigen */
.woocommerce-checkout-review-order-table img.pkw-blocksy-checkout-preview-image {
	width: 100% !important;
	height: 100% !important;
}


/* Checkout Layout: links Kundendaten 40%, rechts Order Review 60% */
@media (min-width: 1000px) {
	body.woocommerce-checkout form.checkout.woocommerce-checkout {
		display: grid !important;
		grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr) !important;
		column-gap: 44px;
		align-items: start;
	}

	body.woocommerce-checkout form.checkout.woocommerce-checkout > .woocommerce-NoticeGroup,
	body.woocommerce-checkout form.checkout.woocommerce-checkout > .woocommerce-notices-wrapper {
		grid-column: 1 / -1;
	}

	body.woocommerce-checkout form.checkout.woocommerce-checkout > #customer_details {
		grid-column: 1;
		grid-row: 1 / span 20;
		width: 100% !important;
		max-width: none !important;
		min-width: 0;
	}

	body.woocommerce-checkout form.checkout.woocommerce-checkout > #order_review_heading {
		grid-column: 2;
		grid-row: 1;
		width: 100% !important;
		max-width: none !important;
		min-width: 0;
		margin-top: 0;
	}

	body.woocommerce-checkout form.checkout.woocommerce-checkout > #order_review {
		grid-column: 2;
		grid-row: 2;
		width: 100% !important;
		max-width: none !important;
		min-width: 0;
	}
}

/* Checkout mobil wieder einspaltig */
@media (max-width: 999px) {
	body.woocommerce-checkout form.checkout.woocommerce-checkout {
		display: block !important;
	}
}

/* Checkout Order Review: Produktspalte breiter, Preisspalte kompakter */
body.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table {
	width: 100%;
	table-layout: fixed;
}

body.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table th.product-name,
body.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table td.product-name {
	width: 74%;
}

body.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table th.product-total,
body.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table td.product-total {
	width: 26%;
	text-align: right;
	white-space: nowrap;
}

/* Checkout: Produktname fett */
body.woocommerce-checkout #order_review .ct-checkout-cart-item-title,
body.woocommerce-checkout #order_review .ct-checkout-cart-item-title a,
body.woocommerce-checkout #order_review .ct-checkout-cart-item-title .pkw-cart-product-title,
body.woocommerce-checkout #order_review .ct-checkout-cart-item-title .aw-cart-product-title {
	font-weight: 700 !important;
}

/* Checkout: statische Stückzahl normal anzeigen */
body.woocommerce-checkout #order_review .aw-checkout-static-quantity {
	display: inline-block;
	margin-left: 0.45em;
	font-weight: 400 !important;
	white-space: nowrap;
}

/* Fallback: falls Blocksy doch noch eine Mengenbox ausgibt, im Checkout ausblenden */
body.woocommerce-checkout #order_review .ct-checkout-cart-item-content > .quantity,
body.woocommerce-checkout #order_review .ct-checkout-cart-item-content input[name^="shipping_method_qty_"],
body.woocommerce-checkout #order_review .ct-checkout-cart-item-content input[name^="product_key_"] {
	display: none !important;
}

/* Checkout: Beschriftungen der Produktdaten nicht fett */
body.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table td.product-name dl.variation,
body.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table td.product-name dl.variation dt,
body.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table td.product-name dl.variation dd,
body.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table td.product-name dl.variation dd p {
	font-weight: 400 !important;
}

/* Checkout: Produktdaten etwas kompakter/lesbarer */
body.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table td.product-name dl.variation {
	margin-top: 8px;
	font-size: 13px;
	line-height: 1.4;
}

/* Checkout: Blocksy-Produktinhalt darf die Breite sauber nutzen */
body.woocommerce-checkout #order_review .ct-checkout-cart-item {
	align-items: flex-start;
}

body.woocommerce-checkout #order_review .ct-checkout-cart-item-content {
	min-width: 0;
	width: 100%;
}

/* Checkout: Button "Bestellung bearbeiten" direkt unter der Produktliste */
body.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table tr.aw-checkout-change-order-row td {
	padding: 14px 0 18px 0 !important;
	border-top: 0 !important;
	border-bottom: 1px solid rgba(0, 0, 0, 0.08);
	text-align: left;
}

body.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table tr.aw-checkout-change-order-row .aw-checkout-change-order-button {
	width: 100%;
	text-align: center;
	text-decoration: none !important;
}

/* Checkout: Hauptbutton unten weiterhin volle Breite */
body.woocommerce-checkout #place_order {
	width: 100%;
}

/* Checkout: Hinweise vor dem Bestellbutton */
body.woocommerce-checkout .aw-checkout-legal-notices {
	margin: 16px 0 14px 0;
}

body.woocommerce-checkout .aw-checkout-custom-made-notice {
	margin: 0 0 12px 0;
	padding: 14px 14px;
	min-height: 58px;
	border: 1px solid rgba(0, 0, 0, 0.12);
	border-radius: 8px;
	background: rgba(0, 0, 0, 0.035);
	font-size: 14px;
	line-height: 1.45;
	display: flex;
	align-items: center;
}

body.woocommerce-checkout .aw-digital-content-waiver-row {
	margin: 0 0 12px 0;
	padding: 14px 14px;
	min-height: 58px;
	border: 1px solid rgba(0, 0, 0, 0.12);
	border-radius: 8px;
	background: rgba(0, 0, 0, 0.025);
	font-size: 14px;
	line-height: 1.45;
	display: flex;
	align-items: center;
}

body.woocommerce-checkout .aw-digital-content-waiver-row label {
	display: flex;
	gap: 10px;
	align-items: center;
	width: 100%;
	margin: 0 !important;
	font-weight: 400 !important;
	line-height: 1.45;
}

body.woocommerce-checkout .aw-digital-content-waiver-row input[type="checkbox"] {
	margin: 0 !important;
	flex: 0 0 auto;
	align-self: center;
	transform: translateY(-1px);
}

/* Checkout: AGB-Checkbox als Kasten darstellen */
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper p.form-row.validate-required {
	margin: 16px 0 12px 0 !important;
	padding: 12px 14px !important;
	border: 1px solid rgba(0, 0, 0, 0.12);
	border-radius: 8px;
	background: rgba(0, 0, 0, 0.025);
	font-size: 13px;
	line-height: 1.45;

	/* Inhalt im Kasten vertikal sauber ausrichten */
	display: flex !important;
	align-items: center !important;
}

/* AGB-Label sauber mit Checkbox links und vertikal mittig */
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper label.checkbox {
	display: flex !important;
	gap: 10px;
	align-items: center !important;
	width: 100%;
	margin: 0 !important;
	font-weight: 400 !important;
	line-height: 1.45;
}

/* AGB-Checkbox vertikal mittig ausrichten */
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper input#terms {
	margin: 0 !important;
	flex: 0 0 auto;
	align-self: center !important;
	transform: translateY(-3px);
}

/* AGB-Text nimmt restliche Breite */
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper .woocommerce-terms-and-conditions-checkbox-text {
	flex: 1 1 auto;
	display: block;
}

/* Rotes Pflicht-Sternchen bei AGB und digitaler Checkbox */
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper abbr.required,
body.woocommerce-checkout .aw-digital-content-waiver-row abbr.required,
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper .required,
body.woocommerce-checkout .aw-digital-content-waiver-row .required {
	color: #b42318 !important;
	text-decoration: none !important;
	border-bottom: 0 !important;
}

/* Checkout: deaktivierter Bestellbutton */
body.woocommerce-checkout #place_order:disabled,
body.woocommerce-checkout #place_order.aw-place-order-disabled {
	opacity: 0.45 !important;
	cursor: not-allowed !important;
	pointer-events: none;
}

/* Checkout: rechtliche Boxen enger zusammenrücken */
body.woocommerce-checkout .aw-checkout-legal-notices {
	margin: 0 0 12px 0 !important;
}

/* Hinweisbox selbst ohne zusätzlichen Innen-/Außenabstand nach unten */
body.woocommerce-checkout .aw-checkout-custom-made-notice {
	margin: 0 !important;
}

/* AGB-Kasten: gleicher Abstand wie zum Bestellbutton */
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper p.form-row.validate-required {
	margin: 0 0 12px 0 !important;
}

/* Digitale-Inhalte-Kasten: gleicher Abstand wie zum Bestellbutton */
body.woocommerce-checkout .aw-digital-content-waiver-row {
	margin: 0 0 12px 0 !important;
}

/* Falls WooCommerce/Blocksy zusätzliche Absätze im Terms-Bereich erzeugt */
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
	margin-bottom: 0 !important;
}

body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper > *:last-child {
	margin-bottom: 12px !important;
}

/* Checkout: Kleinunternehmer-Hinweis links unter dem Wort "Gesamtsumme" */
body.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table tr.order-total th {
	text-align: left !important;
	vertical-align: top;
}

body.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table tr.order-total th::after {
	content: "MwSt. wird nicht ausgewiesen (Kleinunternehmer, § 19 UStG)";
	display: block;
	margin-top: 3px;
	font-size: 13px;
	line-height: 1.35;
	font-weight: 400 !important;
	text-align: left;
	white-space: normal;
}

body.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table tr.order-total td {
	vertical-align: top;
}

/* Checkout: Datenschutzerklärung-Hinweis als eigener Kasten */
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper .woocommerce-privacy-policy-text {
	margin: 0 0 12px 0 !important;
	padding: 16px 16px !important;
	border: 1px solid rgba(0, 0, 0, 0.12);
	border-radius: 8px;
	background: rgba(0, 0, 0, 0.035);
	font-size: 14px;
	line-height: 1.45;
	font-weight: 400;
}

/* Innenabstände im Datenschutzhinweis entfernen */
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper .woocommerce-privacy-policy-text p {
	margin: 0 !important;
	font-size: inherit;
	line-height: inherit;
	font-weight: inherit;
}

/* Links im Datenschutzhinweis sauber darstellen */
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper .woocommerce-privacy-policy-text a {
	text-decoration: underline;
}


/* Reihenfolge optisch sauber halten:
   1 Hinweis Sonderanfertigung
   2 Datenschutzerklärung
   3 AGB Checkbox
   4 Digitale Inhalte Checkbox */
body.woocommerce-checkout .aw-checkout-legal-notices--custom-made {
	margin: 0 0 12px 0 !important;
}

body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper p.form-row.validate-required {
	margin: 0 0 12px 0 !important;
}

body.woocommerce-checkout .aw-checkout-legal-notices--digital {
	margin: 0 0 12px 0 !important;
}

/* ==========================================================
   PLATTENPILOT – BESTELLUNG / MEIN KONTO: PREVIEW-LIGHTBOX
   Zweck:
   - Betrifft die Bestellbestätigung und "Mein Konto > Bestellung ansehen".
   - Das Plattenpilot-Vorschaubild wird als Thumbnail dargestellt.
   - Beim Klick öffnet das JavaScript eine Lightbox.
   - Dieser CSS-Block sorgt dafür, dass die Lightbox sichtbar über der Seite liegt.
   ========================================================== */

/* Thumbnail in Bestellbestätigung / Kundenkonto */
body img.pkw-order-preview-image {
	display: block !important;
	width: 82px !important;
	height: 82px !important;
	max-width: 82px !important;
	aspect-ratio: 1 / 1 !important;
	object-fit: contain !important;
	object-position: center center !important;
	border-radius: 8px !important;
	border: 1px solid rgba(0, 0, 0, 0.14) !important;
	background: #f7f7f7 !important;
	cursor: zoom-in !important;
	pointer-events: auto !important;
	position: relative !important;
	z-index: 5 !important;
}

/* Dunkles Overlay über der Seite */
body .pkw-order-preview-lightbox {
	position: fixed !important;
	inset: 0 !important;
	z-index: 999999 !important;
	display: none !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 32px !important;
	background: rgba(0, 0, 0, 0.72) !important;
	visibility: visible !important;
	opacity: 1 !important;
	pointer-events: auto !important;
}

/* Sichtbarer Zustand, wenn JavaScript .is-open setzt */
body .pkw-order-preview-lightbox.is-open {
	display: flex !important;
}

/* Rahmen passt sich an die Bildgröße an */
body .pkw-order-preview-lightbox__inner {
	position: relative !important;
	display: inline-block !important;
	width: auto !important;
	height: auto !important;
	max-width: calc(94vw - 64px) !important;
	max-height: calc(94vh - 64px) !important;
	padding: 0 !important;
	margin: 0 !important;
	line-height: 0 !important;
	background: #fff !important;
	border-radius: 12px !important;
	box-shadow: 0 18px 50px rgba(0, 0, 0, 0.32) !important;
}

/* Großes Preview-Bild in der Lightbox */
body .pkw-order-preview-lightbox__image {
	display: block !important;
	width: auto !important;
	height: auto !important;
	max-width: calc(94vw - 64px) !important;
	max-height: calc(94vh - 64px) !important;
	object-fit: contain !important;
	object-position: center center !important;
	border-radius: 12px !important;
	background: #fff !important;
}

/* Schließen-X außerhalb des Bildes */
body .pkw-order-preview-lightbox__close {
	position: absolute !important;
	top: -14px !important;
	right: -14px !important;
	z-index: 2 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 34px !important;
	height: 34px !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: rgba(0, 0, 0, 0.86) !important;
	color: #fff !important;
	font-size: 22px !important;
	font-weight: 400 !important;
	line-height: 1 !important;
	cursor: pointer !important;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.28) !important;
}

/* Seite dahinter nicht scrollen, solange Lightbox offen ist */
body.pkw-order-preview-lightbox-open {
	overflow: hidden !important;
}


/* ==========================================================
   PLATTENPILOT – BESTELLDETAILS / MEIN KONTO
   Zweck:
   - Betrifft "Bestellung ansehen" im Kundenkonto und die Bestellbestätigung.
   - PDF-Zeichnung und STEP-Modell bekommen Abstand zueinander.
   - Produktbild, Produktname und Stückzahl werden vertikal mittig ausgerichtet.
   ========================================================== */


/* PDF-/STEP-Buttons in Bestellungen auseinanderziehen.
   Nur Abstand/Layout, keine eigene Button-Optik. */
.woocommerce-order-received .pkw-order-download-buttons,
.woocommerce-account .pkw-order-download-buttons,
.woocommerce-order-details .pkw-order-download-buttons {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin-top: 10px;
}


/* Einzelne PDF-/STEP-Buttons:
   Nur verhindern, dass sie aneinanderkleben.
   Farbe, Höhe, Schrift und Button-Stil kommen weiterhin vom Theme. */
.woocommerce-order-received .pkw-order-download-button,
.woocommerce-account .pkw-order-download-button,
.woocommerce-order-details .pkw-order-download-button {
	margin: 0;
	text-decoration: none;
}


/* Produktzeile mit Plattenpilot-Preview:
   Bild links, Name und Stückzahl rechts daneben mittig zum Bild. */
.woocommerce-order-received .pkw-order-item-with-preview,
.woocommerce-account .pkw-order-item-with-preview,
.woocommerce-order-details .pkw-order-item-with-preview {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	vertical-align: middle;
}


/* Bild-Wrapper nicht als eigene Zeile behandeln. */
.woocommerce-order-received .pkw-order-preview-wrap,
.woocommerce-account .pkw-order-preview-wrap,
.woocommerce-order-details .pkw-order-preview-wrap {
	display: inline-flex;
	align-items: center;
	flex: 0 0 auto;
}


/* Name + Stückzahl in eine Linie bringen.
   Falls WooCommerce die Stückzahl innerhalb des Namens ausgibt,
   bleibt sie dadurch neben dem Produktnamen. */
.woocommerce-order-received .pkw-order-item-name-content,
.woocommerce-account .pkw-order-item-name-content,
.woocommerce-order-details .pkw-order-item-name-content {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	flex-wrap: wrap;
	line-height: 1.35;
}


/* WooCommerce-Stückzahl neben dem Namen halten, nicht darunter. */
.woocommerce-order-received .pkw-order-item-name-content .product-quantity,
.woocommerce-account .pkw-order-item-name-content .product-quantity,
.woocommerce-order-details .pkw-order-item-name-content .product-quantity {
	display: inline-flex;
	align-items: center;
	margin-left: 4px;
	white-space: nowrap;
}


/* Fallback:
   Falls WooCommerce die Stückzahl außerhalb von .pkw-order-item-name-content rendert,
   wird die komplette Produktzelle als Flex-Zeile behandelt.
   :has() greift nur bei Produktzellen, die wirklich ein Plattenpilot-Preview enthalten. */
.woocommerce-order-received td.product-name:has(.pkw-order-item-with-preview),
.woocommerce-account td.product-name:has(.pkw-order-item-with-preview),
.woocommerce-order-details td.product-name:has(.pkw-order-item-with-preview) {
	align-items: center;
	column-gap: 6px;
}


/* Falls die Produktzelle durch das Theme bereits Flex/Grid bekommt:
   Stückzahl nicht in eine neue Zeile drücken. */
.woocommerce-order-received td.product-name:has(.pkw-order-item-with-preview) .product-quantity,
.woocommerce-account td.product-name:has(.pkw-order-item-with-preview) .product-quantity,
.woocommerce-order-details td.product-name:has(.pkw-order-item-with-preview) .product-quantity {
	display: inline-flex;
	align-items: center;
	white-space: nowrap;
	margin-left: 4px;
}


/* ==========================================================
   BUTTON-SYSTEM – GELBE KAUFAKTIONEN
   Zweck:
   - Der Button-Standard kommt weiterhin aus dem Blocksy Customizer.
   - Nur die wichtigsten Kaufaktionen werden gelb hervorgehoben.
   - Warenkorb: "Weiter zur Kasse" wird gelb.
   - MiniCart: "Kasse" wird gelb, "Warenkorb anzeigen" bleibt neutral/Standard.
   - Checkout: "Zahlungspflichtig bestellen" wird gelb.
   - Produktseiten/Produktlisten: "In den Warenkorb" wird gelb.
   - Plattenpilot-Buttons wie "Bearbeiten / Stückzahl anpassen",
     "PDF-Zeichnung" und "STEP-Modell" bleiben unverändert im Standard-Look.
   ========================================================== */

/* MiniCart-Grundkorrektur:
   Blocksy setzt im Header-MiniCart eigene Button-Variablen
   in wp-content/themes/blocksy/static/bundle/cart-header-element-lazy.min.css.
   Diese Basisregel nimmt nur Größe/Schreibweise auf den normalen Shop-Standard zurück.
   Farben werden hier bewusst NICHT gesetzt. */
body .ct-cart-content .woocommerce-mini-cart__buttons .button {
	--theme-button-font-size: 16px !important;
	--theme-button-font-weight: 400 !important;
	--theme-button-text-transform: none !important;
	--theme-button-min-height: 50px !important;
	--theme-button-padding: 5px 25px !important;
}

/* Gelbe Kaufaktionen:
   - Warenkorb: Weiter zur Kasse
   - MiniCart: Kasse
   - Checkout: Zahlungspflichtig bestellen
   - Produktseiten/Produktlisten: In den Warenkorb
   Die Buttons sind 50px hoch, kräftig fett und nutzen die gewünschte
   Gelb/Dunkel-Farbkombination. */
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
body.woocommerce-cart .cart_totals a.checkout-button,
body .ct-cart-content .woocommerce-mini-cart__buttons .button.checkout,
body.woocommerce-checkout #place_order,
body.woocommerce-checkout button#place_order,
body.single-product .single_add_to_cart_button,
body.single-product button.single_add_to_cart_button,
body.woocommerce div.product form.cart .single_add_to_cart_button,
body.woocommerce-page div.product form.cart .single_add_to_cart_button,
body.woocommerce a.button.add_to_cart_button,
body.woocommerce-page a.button.add_to_cart_button,
body.woocommerce a.add_to_cart_button,
body.woocommerce-page a.add_to_cart_button {
	--theme-button-font-weight: 700 !important;
	--theme-button-text-transform: none !important;
	--theme-button-min-height: 50px !important;
	--theme-button-padding: 5px 25px !important;
	--theme-button-background-initial-color: var(--theme-palette-color-1) !important;
	--theme-button-background-hover-color: var(--theme-palette-color-1) !important;
	--theme-button-text-initial-color: var(--theme-palette-color-10) !important;
	--theme-button-text-hover-color: var(--theme-palette-color-9) !important;

	min-height: 50px !important;
	height: auto !important;
	background: var(--theme-palette-color-1) !important;
	border-color: var(--theme-palette-color-1) !important;
	color: var(--theme-palette-color-10) !important;
	font-weight: 700 !important;
	text-transform: none !important;
}

/* Hover/Fokus der gelben Kaufaktionen:
   Hintergrund bleibt gelb, nur die Schriftfarbe wechselt auf Palette 9. */
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:focus,
body.woocommerce-cart .cart_totals a.checkout-button:hover,
body.woocommerce-cart .cart_totals a.checkout-button:focus,
body .ct-cart-content .woocommerce-mini-cart__buttons .button.checkout:hover,
body .ct-cart-content .woocommerce-mini-cart__buttons .button.checkout:focus,
body.woocommerce-checkout #place_order:hover,
body.woocommerce-checkout #place_order:focus,
body.woocommerce-checkout button#place_order:hover,
body.woocommerce-checkout button#place_order:focus,
body.single-product .single_add_to_cart_button:hover,
body.single-product .single_add_to_cart_button:focus,
body.single-product button.single_add_to_cart_button:hover,
body.single-product button.single_add_to_cart_button:focus,
body.woocommerce div.product form.cart .single_add_to_cart_button:hover,
body.woocommerce div.product form.cart .single_add_to_cart_button:focus,
body.woocommerce-page div.product form.cart .single_add_to_cart_button:hover,
body.woocommerce-page div.product form.cart .single_add_to_cart_button:focus,
body.woocommerce a.button.add_to_cart_button:hover,
body.woocommerce a.button.add_to_cart_button:focus,
body.woocommerce-page a.button.add_to_cart_button:hover,
body.woocommerce-page a.button.add_to_cart_button:focus,
body.woocommerce a.add_to_cart_button:hover,
body.woocommerce a.add_to_cart_button:focus,
body.woocommerce-page a.add_to_cart_button:hover,
body.woocommerce-page a.add_to_cart_button:focus {
	--theme-button-background-initial-color: var(--theme-palette-color-1) !important;
	--theme-button-background-hover-color: var(--theme-palette-color-1) !important;
	--theme-button-text-initial-color: var(--theme-palette-color-9) !important;
	--theme-button-text-hover-color: var(--theme-palette-color-9) !important;
	--theme-button-font-weight: 700 !important;

	background: var(--theme-palette-color-1) !important;
	border-color: var(--theme-palette-color-1) !important;
	color: var(--theme-palette-color-9) !important;
	font-weight: 700 !important;
}



/* ==========================================================
   PLATTENPILOT – Warenkorb / MiniCart: kompakte Aktionsbuttons
   Zweck:
   - Download-Gruppe mit Überschrift "Downloads:" darstellen.
   - Desktop/Warenkorb und MiniCart: PDF, STEP und Konfiguration nebeneinander.
   - Mobiler Warenkorb: PDF, STEP und Konfiguration bewusst untereinander,
     damit die Buttons nicht gequetscht wirken.
   - Bearbeiten/Stückzahl-Button optisch auf dieselbe kompakte Höhe bringen.
   Hinweis:
   - Der Plugin-Wrapper kommt teilweise mit Inline-Flex-Styles.
     Darum werden Layout, Breite und Buttonhöhe hier gezielt überschrieben.
   ========================================================== */

/* Desktop und MiniCart: Überschrift oben, Buttons nebeneinander. */
body .pkw-cart-download-buttons {
	display: grid !important;
	grid-template-columns: repeat(3, max-content) !important;
	grid-auto-flow: column !important;
	justify-content: start !important;
	align-items: center !important;
	gap: 6px !important;
	width: auto !important;
	max-width: 100% !important;
	margin-top: 8px !important;
	text-align: left !important;
}

/* Überschrift über allen Download-Buttons */
body .pkw-cart-download-buttons::before {
	content: "Downloads:";
	display: block !important;
	grid-column: 1 / -1 !important;
	grid-row: 1 !important;
	margin: 0 0 2px 0 !important;
	font-size: 13px !important;
	line-height: 1.2 !important;
	font-weight: 600 !important;
	text-align: left !important;
}

/* PDF-Button in Desktop/MiniCart links */
body .pkw-cart-download-buttons .pkw-cart-download-button-pdf {
	grid-column: 1 !important;
	grid-row: 2 !important;
}

/* STEP-Button in Desktop/MiniCart mittig */
body .pkw-cart-download-buttons .pkw-cart-download-button-step {
	grid-column: 2 !important;
	grid-row: 2 !important;
}

/* Konfigurations-Button in Desktop/MiniCart rechts */
body .pkw-cart-download-buttons .pkw-cart-download-button-config {
	grid-column: 3 !important;
	grid-row: 2 !important;
}

/* Download-Buttons: kompakt, nicht volle Breite */
body .pkw-cart-download-buttons .pkw-cart-download-button {
	--theme-button-font-size: 14px !important;
	--theme-button-min-height: 30px !important;
	--theme-button-padding: 2px 10px !important;
	--theme-button-text-transform: none !important;

	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: auto !important;
	min-width: 0 !important;
	max-width: none !important;
	min-height: 30px !important;
	height: 30px !important;
	padding: 2px 10px !important;
	font-size: 14px !important;
	line-height: 1 !important;
	text-align: center !important;
	white-space: nowrap !important;
	text-decoration: none !important;
	flex: 0 0 auto !important;
}

/* Absicherung gegen Blocksy/WooCommerce-Regeln, die Buttons auf 100% ziehen */
body .ct-cart-content .pkw-cart-download-buttons .pkw-cart-download-button,
body .widget_shopping_cart .pkw-cart-download-buttons .pkw-cart-download-button,
body.woocommerce-cart .pkw-cart-download-buttons .pkw-cart-download-button {
	width: auto !important;
	min-width: 0 !important;
	max-width: none !important;
}

/* Mobiler Warenkorb: Downloads untereinander. */
@media (max-width: 999px) {
	body.woocommerce-cart .pkw-cart-download-buttons {
		display: grid !important;
		grid-template-columns: max-content !important;
		grid-auto-flow: row !important;
		justify-content: start !important;
		align-items: start !important;
		gap: 6px !important;
		width: auto !important;
		max-width: 100% !important;
		text-align: left !important;
	}

	body.woocommerce-cart .pkw-cart-download-buttons::before {
		grid-column: 1 !important;
		grid-row: 1 !important;
		width: auto !important;
	}

	body.woocommerce-cart .pkw-cart-download-buttons .pkw-cart-download-button-pdf {
		grid-column: 1 !important;
		grid-row: 2 !important;
	}

	body.woocommerce-cart .pkw-cart-download-buttons .pkw-cart-download-button-step {
		grid-column: 1 !important;
		grid-row: 3 !important;
	}

	body.woocommerce-cart .pkw-cart-download-buttons .pkw-cart-download-button-config {
		grid-column: 1 !important;
		grid-row: 4 !important;
	}
}

/* Bearbeiten / Stückzahl anpassen: kompakt wie Download-Buttons. */
body .pkw-classic-edit-config-button,
body .pkw-edit-config-button {
	--theme-button-font-size: 14px !important;
	--theme-button-min-height: 30px !important;
	--theme-button-padding: 2px 10px !important;
	--theme-button-text-transform: none !important;

	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: auto !important;
	min-width: 0 !important;
	max-width: none !important;
	min-height: 30px !important;
	height: 30px !important;
	padding: 2px 10px !important;
	font-size: 14px !important;
	line-height: 1 !important;
	text-align: center !important;
	white-space: nowrap !important;
	text-decoration: none !important;
	flex: 0 0 auto !important;
}

/* Mobiler Warenkorb: Bearbeiten-Button bleibt klein, darf aber alleine stehen. */
@media (max-width: 999px) {
	body.woocommerce-cart .pkw-cart-edit-button-mobile {
		flex: 0 0 auto !important;
		width: auto !important;
		max-width: 100% !important;
	}

	body.woocommerce-cart .pkw-cart-edit-button-mobile .pkw-classic-cart-edit-button-wrap {
		width: auto !important;
		max-width: 100% !important;
	}
}

/* ==========================================================
   WARENKORB – Entfernen/Mülleimer darstellen
   Zweck:
   - Entfernen-Button im Warenkorb optisch größer/klickbarer machen.
   - Desktop: bleibt in der normalen Entfernen-Spalte.
   - Mobil/Tablet: wird am Ende des Artikels exakt zentriert dargestellt,
     damit er nicht neben PDF/STEP/Konfiguration hängt.
   ========================================================== */

.woocommerce-cart .woocommerce-cart-form table.shop_table.cart a.remove {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 34px !important;
	height: 34px !important;
	min-width: 34px !important;
	min-height: 34px !important;
	font-size: 20px !important;
	line-height: 1 !important;
	text-align: center !important;
	border-radius: 999px !important;
	text-decoration: none !important;
}

/* Falls Blocksy ein SVG/Icon im Entfernen-Link nutzt */
.woocommerce-cart .woocommerce-cart-form table.shop_table.cart a.remove svg {
	width: 18px !important;
	height: 18px !important;
}

/* Falls du den Emoji-Mülleimer per ::before nutzt */
.woocommerce-cart .woocommerce-cart-form table.shop_table.cart a.remove::before {
	font-size: 18px !important;
	line-height: 1 !important;
}

@media (max-width: 999px) {
	/* Artikelkarte als Positionierungsrahmen vorbereiten. */
	.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tbody tr.cart_item {
		position: relative !important;

		/* Platz unten reservieren, damit der absolute Mülleimer
		   nicht über Inhalt oder Download-Buttons liegt. */
		padding-bottom: 58px !important;
	}

	/* Entfernen-Link aus der mobilen Button-Zeile herauslösen
	   und am gesamten Artikel mittig ausrichten. */
	.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tbody tr.cart_item .product-mobile-actions a.remove {
		position: absolute !important;
		left: 50% !important;
		right: auto !important;
		bottom: 14px !important;
		transform: translateX(-50%) !important;

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

		width: 34px !important;
		height: 34px !important;
		min-width: 34px !important;
		min-height: 34px !important;
		max-width: 34px !important;

		margin: 0 !important;
		padding: 0 !important;
		flex: none !important;
		order: 99 !important;

		font-size: 20px !important;
		line-height: 1 !important;
		text-align: center !important;
		text-decoration: none !important;
		border-radius: 999px !important;
		z-index: 5 !important;
	}

	/* Falls Blocksy/WooCommerce ein SVG/Icon im Entfernen-Link nutzt */
	.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tbody tr.cart_item .product-mobile-actions a.remove svg {
		width: 18px !important;
		height: 18px !important;
	}

	/* Falls du den Emoji-Mülleimer per ::before nutzt */
	.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tbody tr.cart_item .product-mobile-actions a.remove::before {
		font-size: 18px !important;
		line-height: 1 !important;
	}
}

/* ==========================================================
   WARENKORB – Löschmodus als Flyout aus dem Mülleimer
   Zweck:
   - Beim Klick auf den Mülleimer wird der betroffene Artikel visuell gedimmt.
   - Die Löschbestätigung wird sichtbar über dem Artikel positioniert.
   - Desktop: Die Box sitzt rechts beim Mülleimer und öffnet nach links.
   - Mobil/Tablet: Die Box sitzt mittig über dem unten zentrierten Mülleimer.
   Wichtig:
   - Die Flyout-Box liegt im HTML innerhalb der Entfernen-Zelle bzw. mobilen
     Aktionszeile. Damit sie nicht von Tabellenzellen/Overlays verschluckt wird,
     werden Overflow, Z-Index und Positionierung hier bewusst hart gesetzt.
   ========================================================== */

/* Der aktive Artikel ist der gemeinsame Positionierungsrahmen. */
.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tbody tr.cart_item.aw-cart-item-is-remove-confirming {
	position: relative !important;
	isolation: isolate !important;
	overflow: visible !important;
}

/* Tabellenbereiche dürfen das Flyout nicht abschneiden. */
.woocommerce-cart .woocommerce-cart-form table.shop_table.cart,
.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tbody,
.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tbody tr.cart_item,
.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tbody tr.cart_item > td,
.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tbody tr.cart_item .product-mobile-actions {
	overflow: visible !important;
}

/* Gemeinsame Optik der Flyout-Box. */
.woocommerce-cart .aw-cart-remove-flyout {
	box-sizing: border-box !important;
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	pointer-events: auto !important;
	padding: 18px 20px !important;
	border: 1px solid rgba(0, 0, 0, 0.16) !important;
	border-radius: 10px !important;
	background: var(--theme-palette-color-6) !important;
	box-shadow: 0 14px 34px rgba(0, 0, 0, 0.18) !important;
	text-align: center !important;
	z-index: 9999 !important;
}

/* Text im Flyout zentriert und 16px groß. */
.woocommerce-cart .aw-cart-remove-flyout strong,
.woocommerce-cart .aw-cart-remove-flyout span {
	display: block !important;
	font-size: 16px !important;
	line-height: 1.4 !important;
	text-align: center !important;
}

.woocommerce-cart .aw-cart-remove-flyout strong {
	font-weight: 700 !important;
	line-height: 1.35 !important;
}

.woocommerce-cart .aw-cart-remove-flyout span {
	margin-top: 4px !important;
	font-weight: 400 !important;
}

/* Buttons innerhalb der Flyout-Box zentriert und größer darstellen. */
.woocommerce-cart .aw-cart-remove-flyout__buttons {
	display: flex !important;
	justify-content: center !important;
	align-items: center !important;
	gap: 10px !important;
	flex-wrap: wrap !important;
	margin-top: 14px !important;
}

/* Beide Buttons: 40px hoch, 16px Schrift, fett. */
.woocommerce-cart .aw-cart-remove-flyout__buttons .button {
	--theme-button-font-size: 16px !important;
	--theme-button-font-weight: 700 !important;
	--theme-button-min-height: 40px !important;
	--theme-button-padding: 4px 16px !important;
	--theme-button-text-transform: none !important;

	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 40px !important;
	height: 40px !important;
	padding: 4px 16px !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	text-align: center !important;
	text-transform: none !important;
	white-space: nowrap !important;
	text-decoration: none !important;
}

/* Endgültig löschen: roter Warnbutton. */
.woocommerce-cart .aw-cart-remove-flyout__delete {
	background: #b42318 !important;
	border-color: #b42318 !important;
	color: #fff !important;
}

/* Abbrechen: gewünschte Theme-Farben. */
.woocommerce-cart .aw-cart-remove-flyout__cancel {
	--theme-button-background-initial-color: var(--theme-palette-color-10) !important;
	--theme-button-background-hover-color: var(--theme-palette-color-10) !important;
	--theme-button-text-initial-color: var(--theme-palette-color-8) !important;
	--theme-button-text-hover-color: var(--theme-palette-color-9) !important;

	background: var(--theme-palette-color-10) !important;
	border-color: var(--theme-palette-color-10) !important;
	color: var(--theme-palette-color-8) !important;
}

/* Abbrechen Hover/Fokus: nur Schriftfarbe wechseln. */
.woocommerce-cart .aw-cart-remove-flyout__cancel:hover,
.woocommerce-cart .aw-cart-remove-flyout__cancel:focus {
	background: var(--theme-palette-color-10) !important;
	border-color: var(--theme-palette-color-10) !important;
	color: var(--theme-palette-color-9) !important;
}

/* Endgültig löschen Hover/Fokus: Schriftfarbe wie beim Abbrechen-Button */
.woocommerce-cart .aw-cart-remove-flyout__delete:hover,
.woocommerce-cart .aw-cart-remove-flyout__delete:focus {
	background: #b42318 !important;
	border-color: #b42318 !important;
	color: var(--theme-palette-color-9) !important;
}

/* ----------------------------------------------------------
   Desktop: Artikel dimmen, Flyout rechts am Artikel sichtbar machen.
   ---------------------------------------------------------- */
@media (min-width: 1000px) {
	/* Die Artikelzellen werden gedimmt, die Entfernen-Spalte bleibt aktiv. */
	.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tbody tr.cart_item.aw-cart-item-is-remove-confirming > td:not(.product-remove) {
		opacity: 0.36 !important;
		filter: grayscale(0.35) !important;
		pointer-events: none !important;
		transition: opacity 180ms ease, filter 180ms ease !important;
	}

	/* Wichtig: Die Entfernen-Zelle darf kein eigener enger Positionierungsrahmen sein,
	   sonst kann das absolute Flyout hinter/unter Tabellenzellen verschwinden. */
	.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tbody tr.cart_item.aw-cart-item-is-remove-confirming > td.product-remove {
		position: static !important;
		opacity: 1 !important;
		filter: none !important;
		z-index: 100 !important;
		overflow: visible !important;
	}

	/* Desktop-Flyout: absolut am gesamten Artikel ausgerichtet, nicht nur an der 48px-Zelle. */
	.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tbody tr.cart_item.aw-cart-item-is-remove-confirming .aw-cart-remove-flyout--desktop {
		position: absolute !important;
		top: 50% !important;
		right: 58px !important;
		width: 380px !important;
		max-width: min(44vw, 420px) !important;
		transform: translateY(-50%) !important;
		animation: none !important;
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
		z-index: 9999 !important;
	}

	/* Mobile-Flyout auf Desktop ausblenden. */
	.woocommerce-cart .aw-cart-remove-flyout--mobile {
		display: none !important;
	}
}

/* ----------------------------------------------------------
   Mobil/Tablet: Artikel per Overlay dimmen, Flyout mittig anzeigen.
   ---------------------------------------------------------- */
@media (max-width: 999px) {
	/* Desktop-Flyout mobil ausblenden. */
	.woocommerce-cart .aw-cart-remove-flyout--desktop {
		display: none !important;
	}

	/* Mehr Platz unten für Flyout + zentrierten Mülleimer reservieren. */
	.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tbody tr.cart_item.aw-cart-item-is-remove-confirming {
		padding-bottom: 206px !important;
	}

	/* Die mobilen Inhalte bleiben technisch klickbar; die Dimmung kommt vom Overlay. */
	.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tbody tr.cart_item.aw-cart-item-is-remove-confirming > td {
		opacity: 1 !important;
		filter: none !important;
		pointer-events: auto !important;
	}

	/* Mobile Aktionszeile darf kein eigener Positionierungsrahmen sein.
	   So richtet sich das Flyout am gesamten Artikel aus. */
	.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tbody tr.cart_item.aw-cart-item-is-remove-confirming .product-mobile-actions {
		position: static !important;
		overflow: visible !important;
	}

	/* Halbtransparentes Overlay dimmt den Artikel optisch. */
	.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tbody tr.cart_item.aw-cart-item-is-remove-confirming::before {
		content: "";
		position: absolute !important;
		inset: 0 !important;
		z-index: 10 !important;
		background: rgba(255, 255, 255, 0.66) !important;
		pointer-events: none !important;
	}

	/* Der mobile Mülleimer bleibt über dem Overlay sichtbar und klickbar. */
	.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tbody tr.cart_item.aw-cart-item-is-remove-confirming .product-mobile-actions a.remove {
		z-index: 50 !important;
	}

	/* Mobile Flyout-Box mittig über dem Mülleimer. */
	.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tbody tr.cart_item.aw-cart-item-is-remove-confirming .aw-cart-remove-flyout--mobile {
		position: absolute !important;
		left: 50% !important;
		bottom: 56px !important;
		width: min(92vw, 380px) !important;
		max-width: 380px !important;
		transform: translateX(-50%) !important;
		animation: none !important;
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
		text-align: center !important;
		z-index: 9999 !important;
	}

	.woocommerce-cart .aw-cart-remove-flyout--mobile .aw-cart-remove-flyout__buttons {
		justify-content: center !important;
	}
}


/* ==========================================================
   MINICART – Entfernen/Mülleimer ausblenden
   Zweck:
   - In der MiniCart soll nicht direkt gelöscht werden.
   - Löschen erfolgt bewusst im vollständigen Warenkorb mit Flyout-Bestätigung.
   - Verhindert Fehlklicks in der engen Header-MiniCart.
   ========================================================== */

.ct-header-cart .woocommerce-mini-cart a.remove,
.ct-header-cart .widget_shopping_cart a.remove,
.widget_shopping_cart .woocommerce-mini-cart a.remove,
.widget_shopping_cart a.remove_from_cart_button,
.woocommerce-mini-cart a.remove_from_cart_button {
	display: none !important;
}


/* ==========================================================
   MINICART – Zwischensumme größer darstellen
   Zweck:
   - Label "Zwischensumme" und Betrag in der MiniCart besser lesbar machen.
   ========================================================== */

.ct-header-cart .woocommerce-mini-cart__total,
.widget_shopping_cart .woocommerce-mini-cart__total {
	font-size: 15px !important;
	line-height: 1.35 !important;
}

.ct-header-cart .woocommerce-mini-cart__total strong,
.ct-header-cart .woocommerce-mini-cart__total .woocommerce-Price-amount,
.ct-header-cart .woocommerce-mini-cart__total .woocommerce-Price-amount bdi,
.widget_shopping_cart .woocommerce-mini-cart__total strong,
.widget_shopping_cart .woocommerce-mini-cart__total .woocommerce-Price-amount,
.widget_shopping_cart .woocommerce-mini-cart__total .woocommerce-Price-amount bdi {
	font-size: 15px !important;
	line-height: 1.35 !important;
}

/* ==========================================================
   MINICART – Zwischensumme normal schreiben
   Zweck:
   - Blocksy/WooCommerce schreibt "ZWISCHENSUMME" per text-transform groß.
   - Hier wird die normale Schreibweise wiederhergestellt.
   ========================================================== */

.ct-header-cart .woocommerce-mini-cart__total,
.ct-header-cart .woocommerce-mini-cart__total strong,
.widget_shopping_cart .woocommerce-mini-cart__total,
.widget_shopping_cart .woocommerce-mini-cart__total strong {
	text-transform: none !important;
}

/* ==========================================================
   MINICART – gestrichelte Trennlinien zwischen Artikeln
   Zweck:
   - Artikel in der MiniCart optisch voneinander trennen.
   - Angelehnt an die gestrichelten Linien im normalen Warenkorb.
   ========================================================== */

.ct-header-cart .woocommerce-mini-cart li.woocommerce-mini-cart-item,
.widget_shopping_cart .woocommerce-mini-cart li.woocommerce-mini-cart-item {
	padding-bottom: 14px !important;
	margin-bottom: 14px !important;
	border-bottom: 1px dashed rgba(0, 0, 0, 0.24) !important;
}

/* Beim letzten Artikel keine Linie nach unten */
.ct-header-cart .woocommerce-mini-cart li.woocommerce-mini-cart-item:last-child,
.widget_shopping_cart .woocommerce-mini-cart li.woocommerce-mini-cart-item:last-child {
	padding-bottom: 0 !important;
	margin-bottom: 0 !important;
	border-bottom: 0 !important;
}

/* ==========================================================
   WARENKORB / CHECKOUT – Versand-Überschrift korrigieren
   Zweck:
   - Blocksy gibt hier aktuell "Sendung" aus.
   - Optisch soll stattdessen "Versand" erscheinen.
   ========================================================== */

.ct-shipping-heading {
	font-size: 0 !important;
	line-height: 1.35 !important;
}

.ct-shipping-heading::after {
	content: "Versandkosten";
	font-size: 15px !important;
	line-height: 1.35 !important;
}


/* ==========================================================
   CHECKOUT – Bestellnotizen ausblenden
   Zweck:
   - Feld "Anmerkungen zur Bestellung (optional)" im Checkout entfernen.
   ========================================================== */

body.woocommerce-checkout .woocommerce-additional-fields,
body.woocommerce-checkout .woocommerce-additional-fields__field-wrapper,
body.woocommerce-checkout #order_comments_field {
	display: none !important;
}


/* ==========================================================
   Grünes Login Symbol
   ========================================================== */
body.logged-in .ct-header-account,
body.logged-in .ct-header-account .ct-icon,
body.logged-in .ct-header-account svg {
	color: #3aaa35;
	fill: #3aaa35;
	stroke: #3aaa35;
}


/* ==========================================================
   Altcha Checkboxhaken in Orange
   ========================================================== */
/* ALTCHA Checkbox im Child Theme anpassen */
.altcha {
  --altcha-checkbox-initial: var(--theme-palette-color-5);
  --altcha-checkbox-active: var(--theme-palette-color-9);
}

/* Hauptzeile: Checkbox + Text sauber vertikal mittig */
.altcha .altcha-main {
  align-items: center;
}

/* Checkbox-Container stabil ausrichten */
.altcha .altcha-checkbox {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
}

/* Checkbox-Kasten initial */
.altcha .altcha-checkbox input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  width: 18px;
  height: 18px;
  margin: 0;
  box-sizing: border-box;
  border: 2px solid var(--altcha-checkbox-initial);
  border-radius: 4px;
  background-color: transparent;
  cursor: pointer;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 14px 14px;
}

/* Checkbox-Kasten angeklickt / überprüft */
.altcha .altcha-checkbox input[type="checkbox"]:checked {
  border-color: var(--altcha-checkbox-active);
  background-color: var(--altcha-checkbox-active);
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' d='M3.5 8.5l3 3L12.5 5'/%3E%3C/svg%3E");
}

/* Tastatur-Fokus sichtbar lassen */
.altcha .altcha-checkbox input[type="checkbox"]:focus-visible {
  outline: 2px solid var(--altcha-checkbox-active);
  outline-offset: 2px;
}

/* Text wie "Überprüft" vertikal mittig zur Checkbox */
.altcha .altcha-label {
  display: flex;
  align-items: center;
  min-height: 24px;
  line-height: 1.2;
  margin: 0;
  padding: 0;
}

.altcha .altcha-label * {
  line-height: 1.2;
  margin-top: 0;
  margin-bottom: 0;
}



/* ==========================================================
   Kachel-Hover-Effekt
   ========================================================== */

/* Falls bauplan-kachel versehentlich auf einer Spalte sitzt:
   Spalte neutralisieren, damit keine Kachel-in-Kachel entsteht */
.wp-block-column.bauplan-kachel {
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  overflow: visible !important;
  box-shadow: none !important;
  transform: none !important;
  transition: none !important;
}

.wp-block-column.bauplan-kachel:hover {
  border: 0 !important;
  box-shadow: none !important;
  transform: none !important;
}

/* Echte Kachel:
   entweder direkt die Gruppe mit bauplan-kachel
   oder die innere Gruppe, wenn die Klasse noch auf der Spalte sitzt */
.wp-block-group.bauplan-kachel,
.wp-block-column.bauplan-kachel > .wp-block-group {
  border: 1px solid #d9d9d9;
  border-radius: 10px;
  padding: 20px;
  background: #ffffff;
  overflow: hidden;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

/* Hover-Effekt auf die echte Kachel */
.wp-block-group.bauplan-kachel:hover,
.wp-block-column.bauplan-kachel:hover > .wp-block-group {
  transform: translateY(-6px);
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.14);
  border-color: var(--theme-palette-color-9) !important;
}

/* Bilder in Kacheln */
.wp-block-group.bauplan-kachel img,
.wp-block-column.bauplan-kachel > .wp-block-group img {
  transition: transform 0.25s ease, filter 0.25s ease;
}

.wp-block-group.bauplan-kachel:hover img,
.wp-block-column.bauplan-kachel:hover > .wp-block-group img {
  transform: scale(1.04);
  filter: brightness(1.04);
}

/* Buttons in Kacheln */
.wp-block-group.bauplan-kachel .wp-block-button__link,
.wp-block-column.bauplan-kachel > .wp-block-group .wp-block-button__link {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.wp-block-group.bauplan-kachel:hover .wp-block-button__link,
.wp-block-column.bauplan-kachel:hover > .wp-block-group .wp-block-button__link {
  transform: translateY(-1px);
}


/* ==========================================================
   WooCommerce Warenkorb: Produktbeschreibung ausblenden
   ========================================================== */

body.woocommerce-cart .wc-block-components-product-metadata__description {
  display: none !important;
}


/* ==========================================================
   Platzhalter-Bilder
   ========================================================== */

.hw-bildplatzhalter {
  min-height: 260px;
  border: 2px dashed #d0d0d0;
  border-radius: 8px;
  background: #f7f5ef;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: #777;
  font-weight: 600;
}


/* ==========================================================
   Orange Striche unter Überschriften
   ========================================================== */

.hw-feature-text h2::after,
.hw-modern-hero h1::after {
  content: "";
  display: block;
  width: 70px;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  padding: 0 !important;
  margin: 16px auto 0 auto;
  background: transparent !important;
  border: 0 !important;
  border-top: 3px solid var(--theme-palette-color-9) !important;
  border-radius: 0 !important;
  line-height: 0 !important;
  font-size: 0 !important;
  transform: none !important;
  box-sizing: border-box;
}


/* ==========================================================
   CTA-Button unten auf der Startseite
   ========================================================== */

.hw-final-cta .wp-block-button__link {
  background: var(--theme-palette-color-9);
  color: #ffffff;
  font-weight: inherit;
}

.hw-final-cta .wp-block-button__link:hover {
  filter: brightness(0.92);
  color: #ffffff;
}



/* ==========================================================
   Shop-Übersicht: Kategorie-Kacheln
   Einfügen in: Design > Customizer > Zusätzliches CSS
   oder in dein zentrales Stylesheet

   Funktion:
   - Große Kategorie-Kacheln im bekannten Kachelstyle
   - Maximal 2 Kacheln nebeneinander
   - Quadratische Bildfläche 1:1
   - Bilder werden vollständig angezeigt und nicht abgeschnitten
   - Doppelte WooCommerce-Kategorieausgabe wird ausgeblendet
   ========================================================== */

.hw-shop-category-section {
  margin-bottom: 54px;
  padding: 34px 28px;
  border-radius: 22px;
  background: var(--theme-palette-color-14);
}

.hw-shop-category-section h2 {
  margin-top: 0;
  margin-bottom: 30px;
  text-align: center;
}

.hw-shop-category-section h2::after {
  content: "";
  display: block;
  width: 70px;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  padding: 0 !important;
  margin: 16px auto 0 auto;
  background: transparent !important;
  border: 0 !important;
  border-top: 3px solid var(--theme-palette-color-9) !important;
  border-radius: 0 !important;
  transform: none !important;
  box-sizing: border-box;
}

.hw-shop-category-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
}

.hw-shop-category-card {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  padding: 24px;
  border: 1px solid #d9d9d9;
  border-radius: 14px;
  background: #ffffff;
  text-align: center;
  color: inherit;
  text-decoration: none;
  overflow: hidden;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.hw-shop-category-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.12);
  border-color: var(--theme-palette-color-9);
  color: inherit;
  text-decoration: none;
}

.hw-shop-category-card__image {
  width: 100%;
  aspect-ratio: 1 / 1;
  height: auto;
  margin-bottom: 18px;
  border-radius: 10px;
  overflow: hidden;
  background: #f7f7f7;
  display: flex;
  align-items: center;
  justify-content: center;
}

.hw-shop-category-card__image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  transition: transform 0.25s ease, filter 0.25s ease;
}

.hw-shop-category-card:hover img {
  transform: scale(1.04);
  filter: brightness(1.04);
}

.hw-shop-category-card h4 {
  margin-top: 0;
  margin-bottom: 10px;
}

.hw-shop-category-card p {
  margin-bottom: 0;
  font-size: 0.95em;
  line-height: 1.55;
}

/* Doppelte Standard-Kategorien von WooCommerce auf der Shop-Hauptseite ausblenden */
body.woocommerce-shop ul.products li.product-category {
  display: none !important;
}

/* Falls durch das Ausblenden leere Abstände entstehen */
body.woocommerce-shop ul.products:has(li.product-category) {
  margin-top: 0;
}

/* Smartphone: 1 Kachel pro Zeile */
@media (max-width: 700px) {
  .hw-shop-category-section {
    padding: 36px 20px;
    margin-bottom: 36px;
  }

  .hw-shop-category-grid {
    grid-template-columns: 1fr;
  }

  .hw-shop-category-card {
    padding: 20px;
  }

  .hw-shop-category-card__image {
    aspect-ratio: 1 / 1;
    height: auto;
  }
}



/* ==========================================================
   WooCommerce Kategorie-Seiten: Produkt-Kacheln
   Einfügen in: Design > Customizer > Zusätzliches CSS
   oder in dein zentrales Stylesheet

   Funktion:
   - Gilt für Produktkategorien, wenn man in eine Kategorie klickt
   - Produkte erscheinen als große Kacheln
   - Maximal 2 Produkte nebeneinander
   - Produktbilder werden vollständig angezeigt, nicht abgeschnitten
   - Der vorhandene gelbe "In den Warenkorb"-Button bleibt erhalten
   ========================================================== */


/* Produktliste auf Kategorie-Seiten als Grid darstellen */
body.tax-product_cat ul.products {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
  margin-top: 28px;
}

/* WooCommerce-Floats/Spalten zurücksetzen */
body.tax-product_cat ul.products::before,
body.tax-product_cat ul.products::after {
  display: none !important;
}

body.tax-product_cat ul.products li.product {
  width: auto !important;
  float: none !important;
  clear: none !important;
  margin: 0 !important;
}


/* Produktkarte */
body.tax-product_cat ul.products li.product:not(.product-category) {
  position: relative;
  display: flex !important;
  flex-direction: column;
  min-height: 100%;
  padding: 24px !important;
  border: 1px solid #d9d9d9;
  border-radius: 14px;
  background: #ffffff;
  text-align: center;
  overflow: hidden;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

body.tax-product_cat ul.products li.product:not(.product-category):hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.12);
  border-color: var(--theme-palette-color-9);
}


/* Produktlink innerhalb der Kachel */
body.tax-product_cat ul.products li.product a.woocommerce-LoopProduct-link {
  display: flex;
  flex-direction: column;
  flex: 1;
  color: inherit;
  text-decoration: none;
}

body.tax-product_cat ul.products li.product a.woocommerce-LoopProduct-link:hover {
  color: inherit;
  text-decoration: none;
}


/* ==========================================================
   WooCommerce Kategorie-Seiten: Produktbilder ohne grauen Rahmen
   Ersetzt den bisherigen img-Block der Produkt-Kacheln
   ========================================================== */

body.tax-product_cat ul.products li.product img {
  width: 100% !important;
  aspect-ratio: 1 / 1;
  height: auto !important;
  object-fit: contain;
  padding: 0 !important;
  margin: 0 0 18px 0 !important;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  box-sizing: border-box;
  transition: transform 0.25s ease, filter 0.25s ease;
}

body.tax-product_cat ul.products li.product:hover img {
  transform: scale(1.04);
  filter: brightness(1.04);
}


/* Produkttitel */
body.tax-product_cat ul.products li.product .woocommerce-loop-product__title {
  margin: 0 0 10px 0 !important;
  padding: 0 !important;
  text-align: center;
}


/* Preis */
body.tax-product_cat ul.products li.product .price {
  display: block;
  margin: 0 0 16px 0 !important;
  text-align: center;
}


/* Gelben WooCommerce-Button übernehmen, nur sauber ausrichten */
body.tax-product_cat ul.products li.product .button,
body.tax-product_cat ul.products li.product .added_to_cart {
  align-self: center;
  margin-top: auto !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 22px !important;
  text-align: center;
  font-weight: inherit;
}


/* Sale-Badge sauber positionieren */
body.tax-product_cat ul.products li.product .onsale {
  position: absolute;
  top: 14px;
  left: 14px;
  right: auto;
  z-index: 2;
}


/* Falls WooCommerce auf Kategorie-Seiten Unterkategorien ausgibt, diese ausblenden */
body.tax-product_cat ul.products li.product-category {
  display: none !important;
}


/* Tablet */
@media (max-width: 900px) {
  body.tax-product_cat ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
  }

  body.tax-product_cat ul.products li.product:not(.product-category) {
    padding: 20px !important;
  }
}


/* Smartphone: 1 Produkt pro Zeile */
@media (max-width: 700px) {
  body.tax-product_cat ul.products {
    grid-template-columns: 1fr;
  }

  body.tax-product_cat ul.products li.product img {
    padding: 12px;
  }
}



/* ==========================================================
   WooCommerce Kategorie-Seiten: Breadcrumb-Abstand
   Einfügen in: Design > Customizer > Zusätzliches CSS
   oder in dein zentrales Stylesheet

   Funktion:
   - Nutzt die originale Blocksy-Breadcrumb-Schrift
   - Verändert nur den Abstand zur Produktliste
   ========================================================== */

body.tax-product_cat .hw-shop-breadcrumb-wrap {
  margin-bottom: 24px;
}

body.tax-product_cat .hw-shop-breadcrumb-wrap .ct-breadcrumbs {
  margin: 0;
}



/* WooCommerce Success-/Erfolgsmeldungen grün */
.woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-order-received .woocommerce-thankyou-order-received {
  background-color: #d8f5df;
}



/* ==========================================================
   LAYOUT – SCROLLBAR-JUMP VERHINDERN
   Zweck:
   - Verhindert, dass Header und Seiteninhalt horizontal springen,
     wenn zwischen Seiten mit und ohne vertikale Scrollbar gewechselt wird.
   - Betrifft z. B. Mein Konto Dashboard / Bestellungen.
   ========================================================== 

html {
	overflow-y: scroll;
}
*/



/* ==========================================================
   LAYOUT – SCROLLBAR-PLATZ RESERVIEREN OHNE ECHTE SCROLLBAR
   Zweck:
   - Kurze Seiten bekommen rechts den gleichen Platz wie Seiten mit Scrollbar.
   - Es wird KEINE echte Scrollbar erzwungen.
   - Dadurch kommt Blocksy beim Account-Modal nicht durcheinander.
   ========================================================== */

@media (min-width: 1000px) {
	#main-container {
		width: calc(100vw - 15px);
		max-width: calc(100vw - 15px);
		overflow-x: hidden;
	}
}