/*
Theme Name: BS5

WooCommerce styles override
*/

/**
 * Shop tables
 */
table.shop_table_responsive thead {
	display: none;
}

table.shop_table_responsive tbody th {
	display: none;
}

table.shop_table_responsive tr td {
	display: block;
	text-align: right;
	clear: both;
}

table.shop_table_responsive tr td::before {
	content: attr(data-title) ": ";
	float: left;
}

table.shop_table_responsive tr td.product-remove a {
	text-align: left;
}

table.shop_table_responsive tr td.product-remove::before {
	display: none;
}

table.shop_table_responsive tr td.actions::before,
table.shop_table_responsive tr td.download-actions::before {
	display: none;
}

table.shop_table_responsive tr td.download-actions .button {
	display: block;
	text-align: center;
}

@media screen and (min-width: 48em) {

	table.shop_table_responsive thead {
		display: table-header-group;
	}

	table.shop_table_responsive tbody th {
		display: table-cell;
	}

	table.shop_table_responsive tr th,
	table.shop_table_responsive tr td {
		text-align: left;
	}

	table.shop_table_responsive tr td {
		display: table-cell;
	}

	table.shop_table_responsive tr td::before {
		display: none;
	}
}

/**
 * Products
 */
ul.products {
	margin: 0;
	padding: 0;
}

ul.products li.product {
	list-style: none;
	position: relative;
	margin-bottom: 2em;
}

ul.products li.product img {
	display: block;
}

ul.products li.product .button {
	display: block;
}

@media screen and (min-width: 48em) {

	ul.products li.product {
		width: 30.79667%;
		float: left;
		margin-right: 3.8%;
	}

	ul.products li.product.first {
		clear: both;
	}

	ul.products li.product.last {
		margin-right: 0;
	}

	ul.products.columns-1 li.product {
		float: none;
		width: 100%;
	}

	ul.products.columns-2 li.product {
		width: 48.1%;
	}

	ul.products.columns-3 li.product {
		width: 30.79667%;
	}

	ul.products.columns-4 li.product {
		width: 22.15%;
	}

	ul.products.columns-5 li.product {
		width: 16.96%;
	}

	ul.products.columns-6 li.product {
		width: 13.49333%;
	}
}

/**
 * Single product
 */
.single-product div.product {
	position: relative;
}

.single-product div.product .woocommerce-product-gallery {
	position: relative;
	float: left;
}

.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__trigger {
	position: absolute;
	top: 2em;
	right: 1em;
	display: block;
	z-index: 99;
}

.single-product div.product .woocommerce-product-gallery .flex-viewport {
	margin-bottom: 1em;
}

.single-product div.product .woocommerce-product-gallery .flex-control-thumbs {
	margin: 0;
	padding: 0;
}

.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li {
	list-style: none;
	cursor: pointer;
	float: left;
}

.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li img {
	opacity: 0.5;
}

.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li img.flex-active {
	opacity: 1;
}

.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li:hover img {
	opacity: 1;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-2 .flex-control-thumbs li {
	width: 48.1%;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-2 .flex-control-thumbs li:nth-child(2n) {
	margin-right: 0;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-2 .flex-control-thumbs li:nth-child(2n+1) {
	clear: both;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-3 .flex-control-thumbs li {
	width: 30.79667%;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-3 .flex-control-thumbs li:nth-child(3n) {
	margin-right: 0;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-3 .flex-control-thumbs li:nth-child(3n+1) {
	clear: both;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-4 .flex-control-thumbs li {
	width: 22.15%;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-4 .flex-control-thumbs li:nth-child(4n) {
	margin-right: 0;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-4 .flex-control-thumbs li:nth-child(4n+1) {
	clear: both;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-5 .flex-control-thumbs li {
	width: 16.96%;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-5 .flex-control-thumbs li:nth-child(5n) {
	margin-right: 0;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-5 .flex-control-thumbs li:nth-child(5n+1) {
	clear: both;
}

.stock:empty::before {
	display: none;
}

.stock.in-stock {
	color: #0f834d;
}

.stock.out-of-stock {
	color: #e2401c;
}

/**
 * Checkout
 */
@media screen and (min-width: 768px) {

	.col2-set .form-row-first {
		float: left;
		margin-right: 3.8%;
	}

	.col2-set .form-row-last {
		float: right;
		margin-right: 0;
	}

	.col2-set .form-row-first,
	.col2-set .form-row-last {
		width: 48.1%;
	}
}

/**
 * General WooCommerce components
 */

/**
 * Header cart
 */
.site-header-cart {
	position: relative;
	margin: 0;
	padding: 0;
}

.site-header-cart .cart-contents {
	text-decoration: none;
}

.site-header-cart .widget_shopping_cart {
	display: none;
}

.site-header-cart .product_list_widget {
	margin: 0;
	padding: 0;
}

/**
 * Star rating
 */
.star-rating {
	overflow: hidden;
	position: relative;
	height: 1.618em;
	line-height: 1.618;
	width: 5.3em;
	font-family: star;
	font-weight: 400;
}

.star-rating::before {
	content: "\53\53\53\53\53";
	opacity: 0.25;
	float: left;
	top: 0;
	left: 0;
	position: absolute;
}

.star-rating span {
	overflow: hidden;
	float: left;
	top: 0;
	left: 0;
	position: absolute;
	padding-top: 1.5em;
}

.star-rating span::before {
	content: "\53\53\53\53\53";
	top: 0;
	position: absolute;
	left: 0;
	color: #4169e1;
}

p.stars a {
	position: relative;
	height: 1em;
	width: 1em;
	text-indent: -999em;
	display: inline-block;
	text-decoration: none;
	margin-right: 1px;
	font-weight: 400;
}

p.stars a::before {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 1em;
	height: 1em;
	line-height: 1;
	font-family: star;
	content: "\53";
	color: #404040;
	text-indent: 0;
	opacity: 0.25;
}

p.stars a:hover ~ a::before {
	content: "\53";
	color: #404040;
	opacity: 0.25;
}

p.stars:hover a::before {
	content: "\53";
	color: #4169e1;
	opacity: 1;
}

p.stars.selected a.active::before {
	content: "\53";
	color: #4169e1;
	opacity: 1;
}

p.stars.selected a.active ~ a::before {
	content: "\53";
	color: #404040;
	opacity: 0.25;
}

p.stars.selected a:not(.active)::before {
	content: "\53";
	color: #4169e1;
	opacity: 1;
}

/**
 * Tabs
 */
.woocommerce-tabs ul.tabs {
	list-style: none;
	margin: 0;
	padding: 0;
	text-align: left;
}

.woocommerce-tabs ul.tabs li {
	display: block;
	margin: 0;
	position: relative;
}

.woocommerce-tabs ul.tabs li a {
	padding: 1em 0;
	display: block;
}

.woocommerce-tabs .panel h2:first-of-type {
	margin-bottom: 1em;
}

/**
 * Password strength meter
 */
.woocommerce-password-strength {
	text-align: right;
}

.woocommerce-password-strength.strong {
	color: #0f834d;
}

.woocommerce-password-strength.short {
	color: #e2401c;
}

.woocommerce-password-strength.bad {
	color: #e2401c;
}

.woocommerce-password-strength.good {
	color: #3d9cd2;
}

/**
 * Forms
 */
.form-row.woocommerce-validated input.input-text {
	box-shadow: inset 2px 0 0 #0f834d;
}

.form-row.woocommerce-invalid input.input-text {
	box-shadow: inset 2px 0 0 #e2401c;
}

.required {
	color: #f00;
}

/**
 * Notices
 */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews,
p.no-comments {
	background-color: #0f834d;
	clear: both;
}

.woocommerce-info,
.woocommerce-noreviews,
p.no-comments {
	background-color: #3d9cd2;
}

.woocommerce-error {
	background-color: #e2401c;
}

.demo_store {
	position: fixed;
	left: 0;
	bottom: 0;
	right: 0;
	margin: 0;
	padding: 1em;
	background-color: #3d9cd2;
	z-index: 9999;
}

@media screen and (min-width: 48em) {

	/**
	 * Header cart
	 */
	.site-header-cart .widget_shopping_cart {
		position: absolute;
		top: 100%;
		width: 100%;
		z-index: 999999;
		left: -999em;
		display: block;
		box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
	}

	.site-header-cart:hover .widget_shopping_cart,
	.site-header-cart.focus .widget_shopping_cart {
		left: 0;
		display: block;
	}
}

/**
 * WooCommerce widgets
 */

/**
 * WooCommerce Price Filter
 */
.widget_price_filter .price_slider {
	margin-bottom: 1.5em;
}

.widget_price_filter .price_slider_amount {
	text-align: right;
	line-height: 2.4;
}

.widget_price_filter .price_slider_amount .button {
	float: left;
}

.widget_price_filter .ui-slider {
	position: relative;
	text-align: left;
}

.widget_price_filter .ui-slider .ui-slider-handle {
	position: absolute;
	z-index: 2;
	width: 1em;
	height: 1em;
	cursor: ew-resize;
	outline: none;
	background: #4169e1;
	box-sizing: border-box;
	margin-top: -0.25em;
	opacity: 1;
}

.widget_price_filter .ui-slider .ui-slider-handle:last-child {
	margin-left: -1em;
}

.widget_price_filter .ui-slider .ui-slider-handle:hover,
.widget_price_filter .ui-slider .ui-slider-handle.ui-state-active {
	box-shadow: 0 0 0 0.25em rgba(0, 0, 0, 0.1);
}

.widget_price_filter .ui-slider .ui-slider-range {
	position: absolute;
	z-index: 1;
	display: block;
	border: 0;
	background: #4169e1;
}

.widget_price_filter .price_slider_wrapper .ui-widget-content {
	background: rgba(0, 0, 0, 0.1);
}

.widget_price_filter .ui-slider-horizontal {
	height: 0.5em;
}

.widget_price_filter .ui-slider-horizontal .ui-slider-range {
	height: 100%;
}
/**
 * B2B Catalog Styles
 */
.price, 
.add_to_cart_button {
    display: none !important;
}

.price-on-request {
    font-weight: 600;
    font-size: 1.2rem;
    color: var(--color-primary, #0069b4);
    display: block;
    margin-bottom: 1rem;
}

/* Ensure single add to cart button looks like Bootstrap btn-primary */
.woocommerce div.product form.cart .button {
    background-color: var(--color-primary, #0069b4);
    color: white;
    padding: 0.75rem 1.5rem;
    border-radius: 0.25rem;
    border: none;
    font-weight: bold;
    width: 100%;
    margin-top: 1rem;
    transition: background-color 0.2s;
}
.woocommerce div.product form.cart .button:hover {
    background-color: var(--color-primary-hover, #004678);
}

/* Style variations dropdowns */
.woocommerce div.product form.cart .variations select {
    display: block;
    width: 100%;
    padding: 0.375rem 2.25rem 0.375rem 0.75rem;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #212529;
    background-color: #fff;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 16px 12px;
    border: 1px solid #ced4da;
    border-radius: 0.375rem;
    appearance: none;
    margin-bottom: 0.5rem;
}

.woocommerce div.product form.cart .variations th {
    text-align: left;
    padding-bottom: 0.25rem;
    font-weight: 600;
    color: var(--color-headline, #0e2943);
}

.woocommerce div.product form.cart .variations td {
    padding-bottom: 1rem;
}

/* Hide the clear selection link if it breaks layout */
.woocommerce div.product form.cart .reset_variations {
    font-size: 0.8rem;
    margin-top: 0.2rem;
    display: inline-block;
}

/* Quantity input */
.woocommerce .quantity .qty {
    padding: 0.375rem 0.75rem;
    border: 1px solid #ced4da;
    border-radius: 0.375rem;
    text-align: center;
    width: 80px;
}

.product-technical-data {
    border-left: 4px solid var(--color-primary);
    border-radius: 0;
}

.product-technical-data table {
    font-size: 0.9rem;
    margin-bottom: 0;
}

.product-technical-data th {
    background-color: var(--color-light);
    color: var(--color-headline);
    font-weight: 600;
}

.btn-outline-primary {
    border-width: 2px;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

/* =========================================================================
   HEYER XD-Anpassungen (Mai 2026)
   ========================================================================= */

/* Section-Headlines mit roter Akzent-Linie */
.heyer-heading {
    font-family: var(--font-primary);
    color: var(--color-headline);
    font-weight: 700;
    margin-bottom: 1rem;
}
.heyer-heading--accent::after {
    content: "";
    display: block;
    width: 80px;
    height: 4px;
    background-color: var(--color-secondary);
    margin-top: 0.5rem;
}

/* Breadcrumbs */
.woocommerce-breadcrumb {
    font-size: 0.95rem;
    color: var(--color-primary);
    margin-bottom: 2rem;
}
.woocommerce-breadcrumb a {
    color: var(--color-primary);
    text-decoration: none;
}
.woocommerce-breadcrumb { color: var(--color-text); }
.woocommerce-breadcrumb a { color: var(--color-primary); }
.woocommerce-breadcrumb a:hover { text-decoration: underline; }
.woocommerce-breadcrumb .sep {
    color: var(--color-text);
    margin: 0 0.35rem;
    font-weight: 400;
}

/* Single Product: Summary flach (kein Card-Wrapper) */
.woocommerce-active.single-product .summary,
.woocommerce-active.single-product .entry-summary {
    background: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
    padding: 0 !important;
}

.product_title {
    color: var(--color-headline);
    font-weight: 700;
    font-size: 2rem;
    margin-bottom: 1rem;
}
.price-on-request {
    display: block;
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--color-primary) !important;
    margin: 1.25rem 0 2rem;
}

/* Konfigurator */
.heyer-configurator > h3,
.heyer-configurator > h2 {
    color: var(--color-headline);
    font-weight: 700;
    font-size: 1.5rem;
    margin-bottom: 1.5rem;
}
.heyer-configurator .form-label {
    color: var(--color-headline);
    font-weight: 400;
    font-size: 1rem;
    margin-bottom: 0.4rem;
}
.heyer-configurator .form-select,
.heyer-configurator .form-control {
    border: 1px solid var(--color-line);
    border-radius: 0;
    padding: 0.85rem 1rem;
    font-size: 1rem;
    color: var(--color-text);
    background-color: #fff;
}
.heyer-configurator .form-select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230069b4'%3E%3Cpath d='M1.5 5.5l6.5 6 6.5-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 1rem center;
    background-size: 14px;
}
.heyer-configurator .form-select::placeholder,
.heyer-configurator .form-select option[value=""] {
    color: var(--color-line);
}
.heyer-configurator .form-select:focus,
.heyer-configurator .form-control:focus {
    border-color: var(--color-primary);
    box-shadow: 0 0 0 0.2rem var(--color-focus-shadow);
    outline: 0;
}

/* Anfragekorb-Button rechts, kein Border-Radius */
.heyer-configurator .btn-primary {
    background-color: var(--color-primary);
    border-color: var(--color-primary);
    color: #fff;
    border-radius: 0;
    padding: 0.85rem 2rem;
    font-weight: 700;
}
.heyer-configurator .btn-primary:hover {
    background-color: var(--color-primary-hover);
    border-color: var(--color-primary-hover);
}

/* Datasheet als Chevron-Link */
.heyer-datasheet-link {
    display: inline-flex;
    align-items: center;
    color: var(--color-primary);
    font-weight: 600;
    text-decoration: none;
    margin-top: 1.5rem;
    gap: 0.5rem;
}
.heyer-datasheet-link::before {
    content: "›";
    font-size: 1.4rem;
    line-height: 1;
}
.heyer-datasheet-link:hover { color: var(--color-primary-hover); text-decoration: underline; }

/* Merkmale */
.product-features ul { padding: 0; margin: 0; }
.product-features li {
    padding-left: 1rem;
    position: relative;
    margin-bottom: 0.4rem;
}
.product-features li::before {
    content: "·";
    position: absolute;
    left: 0;
    color: var(--color-text);
    font-weight: 700;
}

/* Zubehör als vertikale Liste */
.product-accessories--list { margin-top: 3rem; }
.product-accessories--list .accessory-item {
    display: block;
    padding: 1rem 0;
    border-bottom: 1px solid var(--color-line);
    color: var(--color-headline);
    font-weight: 700;
    text-decoration: none;
    font-size: 1.05rem;
}
.product-accessories--list .accessory-item:first-child { border-top: 1px solid var(--color-line); }
.product-accessories--list .accessory-item:hover { color: var(--color-primary); }

/* "Nicht das passende gefunden?" */
.heyer-not-found {
    margin-top: 4rem;
    padding-top: 1rem;
}
.heyer-not-found p { color: var(--color-text); margin-bottom: 1rem; }

/* Header-Anfragekorb-Button */
a.cart-contents.btn-primary {
    background-color: var(--color-primary);
    border-color: var(--color-primary);
    color: #fff;
    border-radius: 0;
    padding: 0.75rem 1.5rem;
    font-weight: 700;
    text-transform: none;
    letter-spacing: 0;
}
a.cart-contents.btn-primary:hover {
    background-color: var(--color-primary-hover);
    border-color: var(--color-primary-hover);
}
a.cart-contents .badge {
    background-color: #fff !important;
    color: var(--color-primary) !important;
}

/* Shop-Card flacher (kein Schatten im XD) */
.product-card {
    box-shadow: none !important;
    border: 1px solid #ececec !important;
    border-radius: 0 !important;
    transition: var(--transition);
}
.product-card:hover { box-shadow: 0 4px 16px rgba(0,0,0,.06) !important; }
.product-card .card-title {
    color: var(--color-headline);
    font-size: 1.4rem;
    font-weight: 700;
}
.product-card .btn-primary {
    background-color: var(--color-primary);
    border-color: var(--color-primary);
    border-radius: 0;
    font-weight: 700;
    padding: 0.7rem 1.5rem;
    width: auto;
}

/* =========================================================================
   HEYER – Korrekturen Mai 2026 (Bilder, Typo, Layout)
   ========================================================================= */

/* Produkt-Galerie immer responsiv */
.woocommerce-product-gallery,
.woocommerce-product-gallery__wrapper,
.woocommerce-product-gallery__image {
    max-width: 100%;
}
.woocommerce-product-gallery img,
.woocommerce-product-gallery__image img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
}
.woocommerce-product-gallery .flex-control-thumbs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    list-style: none;
    padding: 0;
    margin: 1rem 0 0;
}
.woocommerce-product-gallery .flex-control-thumbs li {
    flex: 0 0 calc(16.6667% - 0.5rem);
}
.woocommerce-product-gallery .flex-control-thumbs img {
    width: 100%;
    height: auto;
    cursor: pointer;
    opacity: 0.7;
    transition: var(--transition);
}
.woocommerce-product-gallery .flex-control-thumbs img.flex-active,
.woocommerce-product-gallery .flex-control-thumbs img:hover { opacity: 1; }

/* Typo-Hierarchie konsistent: H2 für alle Sektion-Headlines */
.single-product .product_title { font-size: 1.75rem; line-height: 1.2; }
.single-product .summary .price-on-request { font-size: 1.4rem; margin: 1rem 0 1.5rem; }
.heyer-heading { font-size: 1.5rem; line-height: 1.25; }
.heyer-configurator > h2.heyer-heading { font-size: 1.5rem; margin-bottom: 1.25rem; }
.product-features li { font-size: 0.95rem; line-height: 1.6; }
.product-accessories--list .accessory-item { font-size: 1rem; }

/* Layout: Bild + Merkmale linke Spalte; Summary + Konfigurator rechte Spalte */
.single-product .summary > p,
.single-product .summary .woocommerce-product-details__short-description {
    color: var(--color-text);
    margin-bottom: 1rem;
}

/* Sektion-Spacing zwischen Hero und unteren Blöcken */
.single-product .product-features,
.single-product .product-accessories,
.single-product .heyer-not-found,
.single-product .product-technical-data { margin-top: 3rem; }

/* Mengen-Input neben Button auf gleicher Höhe */
.heyer-configurator .row.align-items-end { margin-top: 2rem; }
.heyer-configurator input[type="number"].form-control {
    border-radius: 0;
    padding: 0.85rem 1rem;
}

/* Anfragekorb-Page (page-anfrage.php) */
.anfrage-products .table th,
.anfrage-products .table td { vertical-align: middle; }
.anfrage-products .qty-control {
    display: inline-flex;
    align-items: center;
    border: 1px solid var(--color-line);
    border-radius: 0;
}
.anfrage-products .qty-control button {
    background: transparent;
    border: 0;
    width: 36px;
    height: 36px;
    color: var(--color-headline);
    font-size: 1.1rem;
}
.anfrage-products .qty-control input {
    width: 50px;
    text-align: center;
    border: 0;
    border-left: 1px solid var(--color-line);
    border-right: 1px solid var(--color-line);
    height: 36px;
}
.anfrage-products .remove-item {
    color: var(--color-line);
    font-size: 1.2rem;
    background: transparent;
    border: 0;
}
.anfrage-products .remove-item:hover { color: var(--color-secondary); }

/* Override alte WC float-Regeln (Zeilen ~138–227) – Bootstrap macht Layout */
.single-product div.product .woocommerce-product-gallery,
.single-product div.product .woocommerce-product-gallery--columns-2,
.single-product div.product .woocommerce-product-gallery--columns-3,
.single-product div.product .woocommerce-product-gallery--columns-4,
.single-product div.product .woocommerce-product-gallery--columns-5 {
    float: none !important;
    width: 100% !important;
}
.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    clear: none !important;
}

/* =========================================================================
   HEYER – Konsolidierter Style-Pass (Mai 2026)
   Übernimmt Tokens und Patterns aus style.css. Auto-Underline auf h2 läuft
   bereits durch :is(h1,h2)::after in style.css L168.
   ========================================================================= */

/* Auto-underline am product_title NICHT applizieren (XD: Title hat keine Linie) */
.single-product .product_title.entry-title::after { display: none; }

/* Product-Title: nicht uppercase, kleinere Größe */
.single-product .product_title.entry-title {
    text-transform: none !important;
    font-size: 1.75rem !important;
    margin-bottom: 1rem !important;
    letter-spacing: 0;
}
@media (min-width: 992px) {
    .single-product .product_title.entry-title { font-size: 2rem !important; }
}

/* .heyer-heading neutralisieren: System-h2 läuft bereits über style.css */
.heyer-heading {
    font-family: var(--font-primary);
    color: var(--color-headline);
    font-weight: bold;
    font-size: 1.75rem;
    margin-bottom: 1.5rem;
}
@media (min-width: 992px) { .heyer-heading { font-size: 2.25rem; } }
@media (min-width: 1200px) { .heyer-heading { font-size: 2.5rem; } }
.heyer-heading--accent::after {
    width: 5rem;
    height: 3px;
    background-color: var(--color-secondary);
    margin-top: 1.5rem;
}

/* Buttons: 1:1 zum globalen .page .btn-primary, jetzt auch auf .single-product */
.single-product .btn-primary,
.woocommerce .btn-primary,
.heyer-configurator .btn-primary {
    display: inline-block;
    background-color: var(--color-primary) !important;
    background-image: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    border: 2px solid var(--color-primary) !important;
    padding: 0.6666rem 1.35rem !important;
    color: var(--color-white) !important;
    font-family: var(--font-primary);
    font-size: 1rem;
    font-weight: bold;
    transition: var(--transition);
}
.single-product .btn-primary:is(:hover, :focus, :active),
.woocommerce .btn-primary:is(:hover, :focus, :active),
.heyer-configurator .btn-primary:is(:hover, :focus, :active) {
    background-color: var(--color-white) !important;
    color: var(--color-primary) !important;
    cursor: pointer;
}
.btn-outline-primary {
    background-color: var(--color-white) !important;
    color: var(--color-primary) !important;
    border: 2px solid var(--color-primary) !important;
    border-radius: 0 !important;
    padding: 0.6666rem 1.35rem !important;
    font-weight: bold;
    text-transform: none;
    letter-spacing: 0;
}
.btn-outline-primary:hover {
    background-color: var(--color-primary) !important;
    color: var(--color-white) !important;
}

/* Konfigurator-Inputs: groß (~52 px) */
.heyer-configurator .form-select,
.heyer-configurator .form-control {
    border: 1px solid var(--color-line);
    border-radius: 0;
    padding: 0.85rem 1rem;
    height: auto;
    font-size: 1rem;
    color: var(--color-text);
    background-color: var(--color-white);
    transition: var(--transition);
}
.heyer-configurator .form-select:focus,
.heyer-configurator .form-control:focus {
    border-color: var(--color-primary);
    box-shadow: 0 0 0 3px var(--color-focus-shadow);
    outline: 0;
}
.heyer-configurator .form-label {
    color: var(--color-headline);
    font-weight: 400;
    font-size: 1rem;
    margin-bottom: 0.4rem;
}

/* Datasheet-Link */
.heyer-datasheet-link {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--color-primary);
    font-weight: bold;
    text-decoration: none;
    margin-top: 1.5rem;
}
.heyer-datasheet-link::before {
    content: "\F285";
    font-family: "bootstrap-icons";
    font-size: 1rem;
}
.heyer-datasheet-link:hover {
    color: var(--color-primary-hover);
    text-decoration: underline;
}

/* Merkmale */
.product-features ul { list-style: none; padding-left: 0; margin: 0; }
.product-features li {
    position: relative;
    padding-left: 1rem;
    margin-bottom: 0.4rem;
    line-height: 1.6;
}
.product-features li::before {
    content: "\B7";
    position: absolute;
    left: 0;
    color: var(--color-text);
    font-weight: bold;
}

/* ZUBEHÖR: 4-Card-Grid auf hellgrauem Block (XD-konform) */
.product-accessories--grid {
    background-color: var(--color-light);
    margin-top: 4rem;
    padding: 3rem 0;
}
.product-accessories--grid .heyer-heading { margin-bottom: 2.5rem; }
.product-accessories--grid .accessory-card {
    background: var(--color-white);
    transition: var(--transition);
    height: 100%;
    text-decoration: none;
    color: inherit;
    display: block;
}
.product-accessories--grid .accessory-card:hover {
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
}
.product-accessories--grid .accessory-card .image-wrap {
    aspect-ratio: 1 / 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
    background: var(--color-white);
}
.product-accessories--grid .accessory-card img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
}
.product-accessories--grid .accessory-card .title {
    padding: 0 1.25rem 1.5rem;
    color: var(--color-headline);
    font-weight: bold;
    font-size: 1rem;
}

/* "Nicht das passende?" */
.heyer-not-found { margin-top: 4rem; }
.heyer-not-found p { margin-bottom: 1rem; color: var(--color-text); }

/* "Benötigen Sie Unterstützung?" */
.heyer-support {
    background: #e7f0f8;
    padding: 4rem 0;
    margin-top: 4rem;
}
.heyer-support .heyer-heading { margin-bottom: 0.5rem !important; }
.heyer-support .heyer-heading::after { display: none !important; }
.heyer-support .support-intro {
    color: var(--color-text);
    margin-bottom: 2rem;
}
.heyer-support .support-card {
    background: var(--color-white);
    display: grid;
    grid-template-columns: 340px 1fr;
    overflow: hidden;
}
.heyer-support .support-card .photo {
    background-size: cover;
    background-position: center;
    min-height: 280px;
}
.heyer-support .support-card .content { padding: 2.5rem 3rem; }
.heyer-support .support-card .name {
    font-weight: bold;
    font-size: 1.25rem;
    color: var(--color-headline);
    margin-bottom: 0;
}
.heyer-support .support-card .name::after {
    content: "";
    display: block;
    width: 3rem;
    height: 3px;
    background: var(--color-secondary);
    margin: 0.75rem 0 1rem;
}
.heyer-support .support-card .role {
    color: var(--color-text);
    margin-bottom: 1.5rem;
}
.heyer-support .support-card .contact-line {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 0.5rem;
    color: var(--color-text);
    text-decoration: none;
}
.heyer-support .support-card .contact-line i {
    color: var(--color-secondary);
    font-size: 1.1rem;
    width: 1.25rem;
}
.heyer-support .support-card .contact-line:hover { color: var(--color-primary); }

@media (max-width: 767px) {
    .heyer-support .support-card { grid-template-columns: 1fr; }
    .heyer-support .support-card .photo { min-height: 220px; }
    .heyer-support .support-card .content { padding: 2rem 1.5rem; }
}

/* Header-Anfragekorb-Button */
a.cart-contents.btn-primary {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    background-color: var(--color-primary) !important;
    border: 2px solid var(--color-primary) !important;
    border-radius: 0 !important;
    color: var(--color-white) !important;
    padding: 0.6666rem 1.35rem !important;
    font-weight: bold;
}
a.cart-contents.btn-primary:hover {
    background-color: var(--color-white) !important;
    color: var(--color-primary) !important;
}
a.cart-contents.btn-primary:hover .badge {
    background-color: var(--color-primary) !important;
    color: var(--color-white) !important;
}
a.cart-contents .badge {
    background-color: var(--color-white) !important;
    color: var(--color-primary) !important;
    border-radius: 999px;
    padding: 0.25rem 0.5rem;
    font-size: 0.75rem;
}

/* Shop-Card */
.product-card {
    box-shadow: none !important;
    border: 1px solid #e5e8ec !important;
    border-radius: 0 !important;
    transition: var(--transition);
}
.product-card:hover { box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06) !important; }
.product-card .card-img-wrapper {
    aspect-ratio: 4 / 3;
    height: auto !important;
    background: var(--color-white) !important;
}
.product-card .card-title {
    color: var(--color-headline);
    font-size: 1.5rem !important;
    font-weight: bold;
    margin-bottom: 0.75rem;
}
.product-card .card-footer { background: var(--color-white) !important; }

/* Anfragekorb-Page */
.anfrage-products .qty-control {
    display: inline-flex;
    align-items: stretch;
    border: 1px solid var(--color-line);
}
.anfrage-products .qty-control button {
    background: var(--color-white);
    border: 0;
    width: 40px;
    color: var(--color-headline);
    font-size: 1.1rem;
    cursor: pointer;
}
.anfrage-products .qty-control button:hover { background: var(--color-light); }
.anfrage-products .qty-control input {
    width: 56px;
    text-align: center;
    border: 0;
    border-left: 1px solid var(--color-line);
    border-right: 1px solid var(--color-line);
    height: 40px;
}
.anfrage-products .remove-item {
    background: transparent;
    border: 0;
    color: var(--color-line);
    font-size: 1.25rem;
    transition: var(--transition);
}
.anfrage-products .remove-item:hover { color: var(--color-secondary); }

/* Bootstrap Icons */
.bi { vertical-align: -0.125em; }

/* =========================================================================
   HEYER – Polish-Pass (Mai 2026, Iteration 2)
   ========================================================================= */

/* Full-Width-Breakout für Support- und Zubehör-Sektionen, die im
   Bootstrap-Container gerendert werden, aber 100vw brauchen */
.product-accessories--grid,
.heyer-support {
    width: 100vw;
    margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
}

/* Shop-Cards (Loop) */
.product-card {
    display: flex !important;
    flex-direction: column !important;
}
.product-card .card-body { flex: 1 1 auto; }
.product-card .card-footer { margin-top: auto; }
.product-card .card-title {
    font-size: 1.15rem !important;
    font-weight: bold;
    color: var(--color-headline);
    margin-bottom: 0.5rem !important;
    line-height: 1.3;
}
.product-card .card-text { font-size: 0.9rem; line-height: 1.5; }
/* "Preis auf Anfrage" im Loop verstecken (XD: Cards zeigen keinen Preis) */
.product-card .price-on-request,
.product-card .card-body > span.price-on-request { display: none !important; }

.product-card .btn-primary,
.product-card .btn { width: 100%; }

/* WC Result-Count + Orderby Bar */
.woocommerce-result-count {
    color: var(--color-text);
    font-size: 0.95rem;
    margin-bottom: 1.5rem;
    text-align: right;
}
.woocommerce-ordering { display: none; }

/* Pagination komplett verstecken (selten genug Produkte) */
.woocommerce-pagination { display: none !important; }

/* Konfigurator-Form: leeres State (kein cfg_*) ohne Heading */
.heyer-configurator.heyer-configurator--empty > h2,
.heyer-configurator.heyer-configurator--empty > h3 { display: none; }

/* =========================================================================
   ANFRAGENKORB-Page (page-anfrage.php) – Mai 2026
   ========================================================================= */

.anfragenkorb-page .anfragenkorb-back {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--color-primary);
    font-weight: bold;
    text-decoration: none;
    margin-bottom: 1.5rem;
}
.anfragenkorb-page .anfragenkorb-back:hover { color: var(--color-primary-hover); }

.anfragenkorb-page .anfragenkorb-title {
    font-size: 2.75rem;
    font-weight: bold;
    color: var(--color-headline);
    margin-bottom: 0;
    text-transform: none;
    line-height: 1.1;
}
.anfragenkorb-page .anfragenkorb-title::after { display: none; }
@media (min-width: 992px) { .anfragenkorb-page .anfragenkorb-title { font-size: 4rem; } }

/* Liste der Produkte */
.anfragenkorb-list .anfragenkorb-row {
    display: grid;
    grid-template-columns: 100px 1fr auto auto;
    align-items: center;
    gap: 1.5rem;
    padding: 1.5rem 0;
    border-bottom: 1px solid #e5e8ec;
}
.anfragenkorb-list .anfragenkorb-row:first-child { border-top: 1px solid #e5e8ec; }

.anfragenkorb-list .row-image img {
    max-width: 100%;
    height: auto;
}

.anfragenkorb-list .row-name a,
.anfragenkorb-list .row-name span {
    color: var(--color-headline);
    font-weight: bold;
    font-size: 1.1rem;
    text-decoration: none;
}
.anfragenkorb-list .row-name a:hover { color: var(--color-primary); }
.anfragenkorb-list .row-config {
    margin-top: 0.25rem;
    color: #6c757d;
    font-size: 0.875rem;
}

/* Mengen-Widget: + Zahl + zentriert, schmale Border */
.anfragenkorb-list .qty-control {
    display: inline-flex;
    align-items: stretch;
    border: 1px solid var(--color-line);
}
.anfragenkorb-list .qty-control button {
    background: var(--color-white);
    border: 0;
    width: 36px;
    color: var(--color-primary);
    cursor: pointer;
    transition: var(--transition);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.anfragenkorb-list .qty-control button:hover { background: var(--color-light); }
.anfragenkorb-list .qty-control input {
    width: 56px;
    text-align: center;
    border: 0;
    border-left: 1px solid var(--color-line);
    border-right: 1px solid var(--color-line);
    height: 36px;
    -moz-appearance: textfield;
}
.anfragenkorb-list .qty-control input::-webkit-outer-spin-button,
.anfragenkorb-list .qty-control input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.anfragenkorb-list .row-remove a {
    color: var(--color-line);
    font-size: 1.25rem;
    transition: var(--transition);
    text-decoration: none;
    padding: 0.25rem;
}
.anfragenkorb-list .row-remove a:hover { color: var(--color-secondary); }

/* CTA-Box rechts */
.anfragenkorb-cta {
    background: var(--color-light);
    padding: 2.5rem 2rem;
    position: sticky;
    top: 2rem;
}
.anfragenkorb-cta h2 {
    font-size: 1.5rem;
    font-weight: bold;
    color: var(--color-headline);
    margin-bottom: 1rem;
}
.anfragenkorb-cta h2::after { display: none; }
.anfragenkorb-cta p {
    color: var(--color-text);
    margin-bottom: 1.5rem;
    line-height: 1.5;
}
.anfragenkorb-cta .btn-primary {
    display: block;
    width: 100%;
    text-align: center;
    background-color: var(--color-primary) !important;
    border: 2px solid var(--color-primary) !important;
    border-radius: 0 !important;
    color: var(--color-white) !important;
    padding: 0.85rem 1.5rem !important;
    font-weight: bold;
    transition: var(--transition);
}
.anfragenkorb-cta .btn-primary:hover {
    background-color: var(--color-white) !important;
    color: var(--color-primary) !important;
}

/* Anfrage-Formular Sektion */
.anfrage-formular {
    padding-top: 3rem;
    border-top: 1px solid #e5e8ec;
}
.anfrage-formular h2 {
    font-size: 1.75rem;
    font-weight: bold;
    color: var(--color-headline);
    margin-bottom: 1.5rem;
}

/* Mobile */
@media (max-width: 767px) {
    .anfragenkorb-list .anfragenkorb-row {
        grid-template-columns: 80px 1fr;
        gap: 1rem;
    }
    .anfragenkorb-list .row-qty,
    .anfragenkorb-list .row-remove {
        grid-column: 2 / 3;
    }
    .anfragenkorb-list .row-qty {
        margin-top: 0.5rem;
    }
}

/* =========================================================================
   ADD-TO-CART OFFCANVAS-DRAWER (Mai 2026)
   ========================================================================= */

.heyer-added-drawer {
    width: 480px !important;
    max-width: 90vw;
    background: var(--color-white);
    box-shadow: -10px 0 30px rgba(0, 0, 0, 0.08);
}

.heyer-added-drawer .drawer-close {
    position: absolute;
    top: 1.5rem;
    right: 1.5rem;
    background: none;
    border: 0;
    z-index: 10;
}

.heyer-added-drawer .offcanvas-body {
    display: flex;
    flex-direction: column;
    padding: 3rem 2.5rem 2rem;
    gap: 2rem;
}

/* Bestätigungs-Notice oben */
.heyer-added-drawer .added-notice {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid #e5e8ec;
}
.heyer-added-drawer .added-notice i {
    color: #4caf50;
    font-size: 1.5rem;
    flex-shrink: 0;
    margin-top: 0.1rem;
}
.heyer-added-drawer .added-notice p {
    color: var(--color-text);
    margin: 0;
    line-height: 1.5;
}
.heyer-added-drawer .added-notice strong {
    color: var(--color-headline);
    font-weight: bold;
}
.heyer-added-drawer .added-notice .config-label {
    color: var(--color-secondary);
}

/* "Passendes Zubehör"-Heading mit roter Akzentlinie */
.heyer-added-drawer .drawer-heading {
    font-size: 1.5rem;
    font-weight: bold;
    color: var(--color-headline);
    margin-bottom: 0;
    padding-bottom: 0.75rem;
}
.heyer-added-drawer .drawer-heading::after {
    content: "";
    display: block;
    width: 5rem;
    height: 3px;
    background: var(--color-secondary);
    margin-top: 1rem;
}

/* Zubehör-Liste vertikal mit Trennstrichen */
.heyer-added-drawer .drawer-accessories {
    flex: 1 1 auto;
    overflow-y: auto;
    margin: 0;
    padding: 0;
}
.heyer-added-drawer .accessory-link {
    display: block;
    padding: 1rem 0;
    border-bottom: 1px solid #e5e8ec;
    color: var(--color-headline);
    font-weight: bold;
    font-size: 1rem;
    text-decoration: none;
    line-height: 1.4;
    transition: var(--transition);
}
.heyer-added-drawer .accessory-link:hover { color: var(--color-primary); }

/* Footer: zwei Buttons nebeneinander, sticky am unteren Rand */
.heyer-added-drawer .drawer-footer {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem;
    margin-top: auto;
    padding-top: 1.5rem;
    border-top: 1px solid #e5e8ec;
}
.heyer-added-drawer .drawer-footer .btn {
    border-radius: 0 !important;
    padding: 0.85rem 1rem !important;
    font-weight: bold;
    text-align: center;
}
.heyer-added-drawer .drawer-footer .btn-primary {
    background-color: var(--color-primary) !important;
    border: 2px solid var(--color-primary) !important;
    color: var(--color-white) !important;
}
.heyer-added-drawer .drawer-footer .btn-primary:hover {
    background-color: var(--color-white) !important;
    color: var(--color-primary) !important;
}
.heyer-added-drawer .drawer-footer .btn-outline-primary {
    background-color: var(--color-white) !important;
    border: 2px solid var(--color-primary) !important;
    color: var(--color-primary) !important;
}
.heyer-added-drawer .drawer-footer .btn-outline-primary:hover {
    background-color: var(--color-primary) !important;
    color: var(--color-white) !important;
}

@media (max-width: 575px) {
    .heyer-added-drawer .offcanvas-body {
        padding: 2.5rem 1.5rem 1.5rem;
    }
}

/* =========================================================================
   XD-Polish-Pass v3 (Mai 2026)
   ========================================================================= */

/* Product-Title noch kleiner – Konfigurator-Headline soll dominieren */
.single-product .product_title.entry-title {
    font-size: 1.5rem !important;
}
@media (min-width: 992px) {
    .single-product .product_title.entry-title { font-size: 1.75rem !important; }
}

/* Konfigurator-Headline soll visuell größer/stärker sein als der Title */
.heyer-configurator > .heyer-heading {
    font-size: 1.75rem;
    margin-bottom: 1.75rem;
}
@media (min-width: 992px) {
    .heyer-configurator > .heyer-heading { font-size: 2rem; }
}
@media (min-width: 1200px) {
    .heyer-configurator > .heyer-heading { font-size: 2.25rem; }
}
.heyer-configurator > .heyer-heading::after { display: none; }

/* Menge-Block: Label oben, Input + Button nebeneinander darunter */
.heyer-configurator__qty .form-label {
    display: block;
    color: var(--color-headline);
    margin-bottom: 0.5rem;
    font-size: 1rem;
    font-weight: 400;
}
.heyer-configurator__qty .qty-button-row {
    display: flex;
    align-items: stretch;
    gap: 1rem;
}
.heyer-configurator__qty input[type="number"] {
    flex: 1 1 auto;
    border: 1px solid var(--color-line);
    border-radius: 0;
    padding: 0.85rem 1rem;
    height: auto;
    font-size: 1rem;
    background: var(--color-white);
    -moz-appearance: textfield;
}
.heyer-configurator__qty input[type="number"]::-webkit-outer-spin-button,
.heyer-configurator__qty input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
.heyer-configurator__qty .btn-primary {
    flex: 0 0 auto;
    white-space: nowrap;
}

@media (max-width: 575px) {
    .heyer-configurator__qty .qty-button-row { flex-direction: column; }
    .heyer-configurator__qty .btn-primary { width: 100%; }
}

/* Active-Thumbnail Unterstrich in der Galerie (XD: kleiner blauer Strich) */
.woocommerce-product-gallery .flex-control-thumbs li img {
    transition: var(--transition);
}
.woocommerce-product-gallery .flex-control-thumbs li img.flex-active {
    box-shadow: 0 3px 0 0 var(--color-primary);
    opacity: 1 !important;
}

/* Support-Section: etwas mehr vertikales Padding (XD ist großzügiger) */
.heyer-support {
    padding-top: 5rem;
    padding-bottom: 5rem;
}

/* "Bitte konfigurieren..." Heading auch wenn empty-Form: nicht versteckt
   wenn nur die Menge angezeigt wird – aber dann label ändern */
.heyer-configurator--empty .heyer-configurator__qty {
    margin-top: 0;
}

/* =========================================================================
   SHOP-Übersicht: Suche + Result-Count (Mai 2026)
   ========================================================================= */

/* Description-Text aus Shop-Page-Content (woocommerce_archive_description) */
.term-description,
.woocommerce-products-header__title + p,
.woocommerce-archive-description {
    color: var(--color-text);
    font-size: 1rem;
    line-height: 1.6;
    max-width: 80ch;
    margin-bottom: 2.5rem;
}

/* Suchformular */
.heyer-shop-search {
    margin-bottom: 1rem;
}
.heyer-shop-search .form-label {
    display: block;
    color: var(--color-headline);
    font-size: 1rem;
    font-weight: 400;
    margin-bottom: 0.5rem;
}
.heyer-shop-search .search-input-row {
    display: flex;
    gap: 0;
    border: 1px solid var(--color-line);
}
.heyer-shop-search input[type="search"] {
    flex: 1 1 auto;
    border: 0;
    border-radius: 0;
    padding: 0.85rem 1rem;
    font-size: 1rem;
    background: var(--color-white);
    height: auto;
}
.heyer-shop-search input[type="search"]:focus {
    outline: 0;
    box-shadow: inset 0 0 0 2px var(--color-primary);
}
.heyer-shop-search .btn-primary {
    flex: 0 0 auto;
    border: 0 !important;
    border-radius: 0 !important;
    padding: 0.85rem 2rem !important;
    background-color: var(--color-primary) !important;
    color: var(--color-white) !important;
    font-weight: bold;
}
.heyer-shop-search .btn-primary:hover {
    background-color: var(--color-primary-hover) !important;
    color: var(--color-white) !important;
}

/* Result-Count rechts ausrichten */
.woocommerce-result-count {
    color: var(--color-text);
    font-size: 0.95rem;
    text-align: right;
    margin: 0 0 2rem;
    display: block;
}

/* =========================================================================
   SHOP-FILTER-SIDEBAR (Mai 2026)
   ========================================================================= */

.heyer-shop-filter {
    background: var(--color-white);
    border: 1px solid #e5e8ec;
    padding: 2rem 1.75rem;
}

/* "Filter"-Header mit Sliders-Icon */
.heyer-shop-filter .filter-header {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 2rem;
}
.heyer-shop-filter .filter-header i {
    color: var(--color-headline);
    font-size: 1.5rem;
}
.heyer-shop-filter .filter-header span {
    color: var(--color-headline);
    font-size: 1.5rem;
    font-weight: bold;
}

/* Collapsible "KATEGORIE"-Group */
.heyer-shop-filter .filter-group { margin: 0; }
.heyer-shop-filter .filter-group summary {
    list-style: none;
    cursor: pointer;
    color: var(--color-headline);
    font-weight: bold;
    font-size: 0.95rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    padding-bottom: 1rem;
    margin-bottom: 1rem;
    border-bottom: 1px solid #e5e8ec;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.heyer-shop-filter .filter-group summary::-webkit-details-marker { display: none; }
.heyer-shop-filter .filter-group summary::after {
    content: "\F284"; /* bi-chevron-down */
    font-family: "bootstrap-icons";
    color: var(--color-primary);
    font-size: 0.9rem;
    transition: var(--transition);
}
.heyer-shop-filter .filter-group[open] summary::after {
    transform: rotate(180deg);
}

.heyer-shop-filter .filter-form {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
}

/* Custom Checkbox */
.heyer-shop-filter .filter-check {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    cursor: pointer;
    user-select: none;
    font-size: 0.95rem;
    color: var(--color-text);
    line-height: 1.3;
}
.heyer-shop-filter .filter-check input[type="checkbox"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}
.heyer-shop-filter .filter-check .check-box {
    width: 22px;
    height: 22px;
    flex-shrink: 0;
    border: 1px solid var(--color-line);
    background: var(--color-white);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: var(--transition);
}
.heyer-shop-filter .filter-check .check-box i {
    color: var(--color-primary);
    font-size: 1rem;
    opacity: 0;
    transition: var(--transition);
}
.heyer-shop-filter .filter-check input:checked + .check-box {
    border-color: var(--color-primary);
}
.heyer-shop-filter .filter-check input:checked + .check-box i {
    opacity: 1;
}
.heyer-shop-filter .filter-check input:focus-visible + .check-box {
    box-shadow: 0 0 0 3px var(--color-focus-shadow);
}
.heyer-shop-filter .filter-check:hover .check-box {
    border-color: var(--color-primary);
}

/* =========================================================================
   Mengen-Widget im Konfigurator (analog Anfragenkorb)
   ========================================================================= */

.heyer-configurator__qty .qty-control {
    display: inline-flex;
    align-items: stretch;
    border: 1px solid var(--color-line);
    flex: 0 0 auto;
}
.heyer-configurator__qty .qty-control button {
    background: var(--color-white);
    border: 0;
    width: 44px;
    color: var(--color-primary);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: var(--transition);
    font-size: 1rem;
}
.heyer-configurator__qty .qty-control button:hover { background: var(--color-light); }
.heyer-configurator__qty .qty-control input[type="number"] {
    flex: 0 0 auto;
    width: 64px;
    text-align: center;
    border: 0;
    border-left: 1px solid var(--color-line);
    border-right: 1px solid var(--color-line);
    height: auto;
    padding: 0.85rem 0.25rem;
    font-size: 1rem;
    color: var(--color-text);
    background: var(--color-white);
    -moz-appearance: textfield;
    box-shadow: none;
}
.heyer-configurator__qty .qty-control input[type="number"]::-webkit-outer-spin-button,
.heyer-configurator__qty .qty-control input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
.heyer-configurator__qty .qty-control input[type="number"]:focus {
    outline: 0;
    box-shadow: inset 0 0 0 2px var(--color-primary);
}

/* Auf Mobile: Widget bleibt links, Button voll-breit darunter */
@media (max-width: 575px) {
    .heyer-configurator__qty .qty-button-row {
        flex-wrap: wrap;
    }
    .heyer-configurator__qty .qty-control { width: auto; }
}
