/**
 * DB Zubehör-Shop – Feinabstimmung.
 * Layout, Breadcrumb, Hero, Sidebar (inkl. grünem Häkchen), Sortierleiste und
 * Karten kommen 1:1 über die Theme-Klassen (Theme-shop.css wird mitgeladen).
 * Hier nur, was der Zubehör-Shop zusätzlich braucht.
 */

/* Seitentitel auf Warenkorb/Kasse/Konto (Rahmen kommt per the_content-Filter). */
.dbz-page-title {
	margin: 0 0 22px;
	font-family: var(--font-heading, var(--disp, inherit));
	font-size: 30px;
	font-weight: 600;
	line-height: 1.2;
	color: var(--color-text-dark, #383e42);
}
.dbz-page > .woocommerce {
	margin: 0;
}

/* Einzelseiten (Produkt, Warenkorb, Kasse) im Seitenrahmen. */
.db-shop__inner {
	max-width: var(--container-site, 80rem);
	margin-inline: auto;
	padding-inline: 1.25rem;
	padding-block: 2rem;
}
@media (min-width: 1024px) {
	.db-shop__inner {
		padding-inline: calc(var(--spacing, 0.25rem) * 20);
	}
}

/* Preisfilter-Button etwas Abstand. */
.filter-form .dbz-price-apply {
	margin-top: 10px;
}

/* Kategorien als echte Links (crawlbar) im Filter-Look wie das Theme-label. */
.shop-sidebar .filter-option a.dbz-cat {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 6px 0;
	color: var(--color-text-dark, #383e42);
	font-size: var(--wp--preset--font-size--ui, 14px);
	text-decoration: none;
	cursor: pointer;
}
.shop-sidebar .filter-option a.dbz-cat:hover {
	color: var(--color-brand-green, #64b331);
}
.shop-sidebar .filter-option a.dbz-cat.is-active {
	color: var(--color-brand-green, #64b331);
	font-weight: 600;
}
/* Grünes Häkchen am aktiven Link (repliziert den checked-Zustand des Themes). */
.shop-sidebar .filter-option a.dbz-cat.is-active .filter-check {
	background: var(--color-brand-green, #64b331);
	border-color: var(--color-brand-green, #64b331);
}
.shop-sidebar .filter-option a.dbz-cat.is-active .filter-check::after {
	content: '';
	width: 5px;
	height: 9px;
	border: solid #fff;
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
	margin-top: -2px;
}

/* Karten-Zusatzlabel dezent. */
.container-card .card-price__label {
	display: block;
	font-size: 12px;
	color: var(--color-text-muted, #6b7280);
	font-weight: 400;
	margin-top: 2px;
}

/* "Auf Lager"-Badge dezent in Hellgrau (Eric 2026-10-08: Blau knallte zu doll rein). */
.container-card .badge--lager {
	background: #c4c4c4;
	color: #fff;
}
.container-card .badge--out {
	background: #9aa0a6;
	color: #fff;
}

/* Kurze Produktzeile unter dem Titel (max. 2 Zeilen). */
.container-card .card-excerpt {
	font-size: 13px;
	line-height: 1.45;
	color: var(--color-text-muted, #6b7280);
	margin: 2px 0 10px;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* Kacheln einer Reihe auf identische Höhe: Titel, Kurztext, Preis und Buttons
   stehen kachelübergreifend auf einer Linie, egal wie lang der Text ist. */
.product-grid .container-card {
	display: flex;
	flex-direction: column;
	height: 100%;
}
.container-card .card-body {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
}
/* Titel immer 2 Zeilen hoch reservieren (line-height 1.3). */
.container-card .card-title {
	min-height: calc(1.3em * 2);
}
/* Kurztext immer 2 Zeilen hoch reservieren (line-height 1.45). */
.container-card .card-excerpt {
	min-height: calc(1.45em * 2);
}
/* Luft in der Kachel (Messung 2026-09-24: Gap/Padding/Typo identisch zum
   Container-Shop, aber ohne dessen 81-px-Specs-Block wirkte die Kachel dichter). */
.shop-main .product-grid .container-card .card-body,
.dbz-crosssell .product-grid .container-card .card-body {
	padding: 18px 18px 20px;
}
.shop-main .product-grid .container-card .card-title,
.dbz-crosssell .product-grid .container-card .card-title {
	margin-bottom: 10px;
}
.shop-main .product-grid .container-card .card-excerpt,
.dbz-crosssell .product-grid .container-card .card-excerpt {
	margin: 0 0 14px;
}
.shop-main .product-grid .container-card .card-price,
.dbz-crosssell .product-grid .container-card .card-price {
	margin-bottom: 16px;
}
.shop-main .product-grid .container-card .card-actions,
.dbz-crosssell .product-grid .container-card .card-actions {
	padding-top: 16px;
}

/* Dezente Trennlinie wie im Container-Shop (dort über den Spec-Zeilen):
   trennt Preis/Inhalt vom Aktionsbereich und lockert die Kachel auf.
   margin-top:auto pinnt Linie + Buttons ans Kachelende (reihenweise bündig). */
.container-card .card-actions {
	border-top: 1px solid var(--color-gray-divider, #e2e5df);
	padding-top: 14px;
	margin-top: auto;
}

/* Warenkorb-Button in der Karte grün (Woo-Button-Klassen überschreiben). */
.container-card .card-actions .dbz-cart-btn {
	background-color: var(--color-brand-green, #64b331);
	color: #fff;
}
.container-card .card-actions .dbz-cart-btn:hover {
	background-color: var(--color-brand-green-hover, #5a9e2b);
	color: #fff;
}

/* Mobiler Filter-Umschalter (self-contained, ID gewinnt gegen Theme-Klassen). */
@media (max-width: 900px) {
	.shop-sidebar .filter-toggle {
		display: inline-flex !important;
		width: 100%;
		justify-content: center;
		margin-bottom: 12px;
	}
	.shop-sidebar #shop-filter-panel {
		display: none !important;
	}
	.shop-sidebar #shop-filter-panel.dbz-open {
		display: block !important;
	}
}
@media (min-width: 901px) {
	.shop-sidebar .filter-toggle {
		display: none !important;
	}
}

/* ---- Produkt-Detailseite ---- */
.dbz-detaillist {
	list-style: none;
	margin: 0;
	padding: 0;
}
.dbz-detaillist li {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	padding: 9px 0;
	border-bottom: 1px solid var(--color-gray-divider, #e2e5df);
}
.dbz-detaillist li span:first-child {
	color: var(--color-text-muted, #6b7280);
}
.dbz-detaillist li span:last-child {
	color: var(--color-text-dark, #383e42);
	font-weight: 600;
}
.dbz-buybox {
	margin: 18px 0;
	padding: 18px;
	border: 1px solid var(--color-gray-divider, #e2e5df);
	border-radius: 12px;
	background: #fff;
}
.dbz-buybox .price {
	font-size: 26px;
	font-weight: 800;
	color: var(--color-text-dark, #383e42);
	display: block;
	margin: 0 0 14px;
}
/* Doppelte Preisangabe: brutto (inkl.) groß, netto (exkl.) darunter, wie 24tainer. */
.dbz-price {
	margin: 0 0 6px;
}
.dbz-price__gross {
	display: flex;
	align-items: baseline;
	gap: 8px;
	flex-wrap: wrap;
}
.dbz-price__gross .price {
	margin: 0 !important;
}
.dbz-price__vat {
	font-size: 13px;
	font-weight: 400;
	color: var(--color-text-muted, #6b7280);
}
.dbz-price__net {
	margin: 4px 0 0;
	font-size: 15px;
	color: var(--color-text-muted, #6b7280);
}
.dbz-price__net .dbz-price__netval {
	font-weight: 600;
	color: var(--color-text-dark, #383e42);
}
.dbz-price__ship {
	margin: 6px 0 0;
	font-size: 13px;
	color: var(--color-text-muted, #6b7280);
}
/* Woo-Variantenpreis im Formular ausblenden (Preis steht oben, nicht doppelt) –
   bleibt für das JS auslesbar (sr-only, nicht display:none). */
.dbz-buybox .single_variation .woocommerce-variation-price {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

/* Zoom-Hinweis auf den Produktbildern (Lightbox per Klick). */
.single-gallery .gallery-main__img,
.single-gallery .gallery-swiper__img {
	cursor: zoom-in;
}

/* Lightbox / Bildvergrößerung. */
body.dbz-noscroll {
	overflow: hidden;
}
.dbz-lightbox {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: none;
	align-items: center;
	justify-content: center;
	background: rgba(20, 22, 24, 0.9);
	padding: 4vmin;
}
.dbz-lightbox.is-open {
	display: flex;
}
.dbz-lightbox__img {
	max-width: 92vw;
	max-height: 92vh;
	object-fit: contain;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.4);
}
.dbz-lightbox__close,
.dbz-lightbox__nav {
	position: absolute;
	background: rgba(255, 255, 255, 0.12);
	color: #fff;
	border: 0;
	cursor: pointer;
	line-height: 1;
	transition: background-color 0.15s ease;
}
.dbz-lightbox__close:hover,
.dbz-lightbox__nav:hover {
	background: rgba(255, 255, 255, 0.28);
}
.dbz-lightbox__close {
	top: 3vmin;
	right: 3vmin;
	width: 46px;
	height: 46px;
	border-radius: 50%;
	font-size: 30px;
}
.dbz-lightbox__nav {
	top: 50%;
	transform: translateY(-50%);
	width: 52px;
	height: 72px;
	border-radius: 10px;
	font-size: 40px;
}
.dbz-lightbox__prev {
	left: 2vmin;
}
.dbz-lightbox__next {
	right: 2vmin;
}
.dbz-lightbox--single .dbz-lightbox__nav {
	display: none;
}
@media (max-width: 600px) {
	.dbz-lightbox__nav {
		width: 42px;
		height: 58px;
		font-size: 30px;
	}
}
.dbz-buybox .price del {
	opacity: .5;
	font-weight: 500;
	font-size: 18px;
}
.dbz-buybox .quantity {
	margin-right: 10px;
	vertical-align: middle;
}
.dbz-back {
	margin-top: 14px;
}
.dbz-back a {
	color: var(--color-text-muted, #6b7280);
	text-decoration: none;
	font-size: 14px;
}
.dbz-back a:hover {
	color: var(--color-brand-green, #64b331);
}

/* Eigene Produktgalerie (Hauptbild + Thumbnails). */
.dbz-gallery__main {
	border: 1px solid var(--color-gray-divider, #e2e5df);
	border-radius: 12px;
	overflow: hidden;
	background: #fff;
	aspect-ratio: 4 / 3;
	display: flex;
	align-items: center;
	justify-content: center;
}
.dbz-gallery__main img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
}
.dbz-gallery__thumbs {
	display: flex;
	gap: 10px;
	margin-top: 12px;
	flex-wrap: wrap;
}
.dbz-gallery__thumb {
	width: 74px;
	height: 74px;
	border: 1px solid var(--color-gray-divider, #e2e5df);
	border-radius: 8px;
	overflow: hidden;
	padding: 0;
	background: #fff;
	cursor: pointer;
	transition: border-color .15s ease;
}
.dbz-gallery__thumb.is-active,
.dbz-gallery__thumb:hover {
	border-color: var(--color-brand-green, #64b331);
}
.dbz-gallery__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* Varianten-Auswahl + Warenkorb-Form sauber ausrichten. */
.dbz-buybox form.cart {
	margin: 0;
}
.dbz-buybox .variations {
	width: 100%;
	margin: 0 0 12px;
	border-collapse: collapse;
}
.dbz-buybox .variations tr {
	display: block;
	margin-bottom: 10px;
}
.dbz-buybox .variations th,
.dbz-buybox .variations td {
	display: block;
	width: auto;
	text-align: left;
	padding: 0;
}
/* Produktbilder vollständig im Rahmen zeigen: Theme-Galerie ist auf Container-Fotos
   (cover, 4:3) ausgelegt und beschneidet freigestellte Produktfotos. Zubehör →
   contain auf Weiß mit Innenabstand, für Hauptbild, Thumbnails und mobilen Swiper. */
.single-product .single-gallery .gallery-main {
	background: #fff;
	border: 1px solid var(--color-gray-divider, #e2e5df);
	border-radius: 12px;
	overflow: hidden;
}
.single-product .single-gallery .gallery-main__img {
	width: 100%;
	height: 100%;
	aspect-ratio: 4 / 3;
	object-fit: contain;
	object-position: center;
	padding: 6%;
	box-sizing: border-box;
	background: #fff;
}
.single-product .single-gallery .gallery-thumb img {
	object-fit: contain;
	background: #fff;
	padding: 6px;
	box-sizing: border-box;
}
.single-product .single-gallery .gallery-swiper__img {
	object-fit: contain;
	background: #fff;
	padding: 4%;
	box-sizing: border-box;
}

/* Varianten-Auswahl: Typografie an Kurzdaten/Preisbox angleichen (Theme-th/select
   sind sonst zu groß und zu fett). */
.dbz-buybox .variations th.label,
.dbz-buybox .variations th.label label {
	margin: 0 0 6px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: var(--color-text-muted, #6b7280);
}
.dbz-buybox .variations select {
	width: 100%;
	padding: 9px 36px 9px 12px;
	border: 1px solid var(--color-gray-divider, #e2e5df);
	border-radius: 8px;
	background: #fff;
	font-family: inherit;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.3;
	color: var(--color-text-dark, #383e42);
}
.dbz-buybox .variations select:focus {
	outline: none;
	border-color: var(--color-brand-green, #64b331);
	box-shadow: 0 0 0 3px rgba(100, 179, 49, 0.18);
}
.dbz-buybox .reset_variations {
	display: inline-block;
	margin-top: 4px;
	font-size: 12px;
	color: var(--color-text-muted, #6b7280);
	text-decoration: none;
}
.dbz-buybox .reset_variations:hover {
	color: var(--color-brand-green, #64b331);
}
.dbz-buybox .woocommerce-variation-add-to-cart,
.dbz-buybox form.cart:not(.variations_form) {
	margin-top: 14px;
}
.dbz-buybox .quantity input.qty {
	height: 44px;
	font-size: 15px;
	font-weight: 600;
}
.dbz-buybox .single_add_to_cart_button {
	height: 44px;
	padding-inline: 20px;
	font-size: 15px;
}
.dbz-buybox .woocommerce-variation-price .price,
.dbz-buybox .single_variation .price {
	font-size: 22px;
	margin-bottom: 12px;
}
.dbz-buybox .woocommerce-variation-add-to-cart,
.dbz-buybox form.cart:not(.variations_form) {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	margin-top: 12px;
}
.dbz-buybox .quantity input.qty {
	width: 66px;
	padding: 9px;
	border: 1px solid var(--color-gray-divider, #e2e5df);
	border-radius: 8px;
	text-align: center;
}

/* Bilder im Beschreibungstext begrenzen (mitgelieferte Inline-Bilder). */
.tab-panel__content img {
	max-width: 100%;
	height: auto;
	border-radius: 8px;
}
/* Ähnliche Produkte: graues Band wie "Ähnliche Container" (Theme-Klassen
   .related-section/.related-section__inner/.related-section__title), darin
   8 Kacheln in zwei Reihen à 4, kompakter. Woos eigene h2 ist per Filter aus. */
.related-section .related-section__inner.dbz-related {
	padding-inline: 1.25rem;
}
@media (min-width: 1024px) {
	.related-section .related-section__inner.dbz-related {
		padding-inline: calc(var(--spacing, 0.25rem) * 20);
	}
}
.dbz-related .related.products > h2 {
	display: none;
}
.dbz-related .product-grid {
	gap: calc(var(--spacing, 0.25rem) * 4);
	margin-bottom: 0;
}
@media (min-width: 1024px) {
	.dbz-related .product-grid {
		grid-template-columns: repeat(4, 1fr);
	}
}
/* CTA unter dem Related-Raster: „Alle <Kategorie> anschauen" (Primärkategorie). */
.dbz-related__cta {
	margin: 32px 0 0;
	text-align: center;
}
.dbz-related__cta .btn {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	background: #fff;
}
/* Kompaktere Kacheln im 4er-Raster. */
.dbz-related .container-card .card-body {
	padding: calc(var(--spacing, 0.25rem) * 3);
}
.dbz-related .container-card .card-title {
	font-size: 15px;
	min-height: calc(1.3em * 2);
}
.dbz-related .container-card .card-excerpt {
	font-size: 12.5px;
}
.dbz-related .container-card .card-price__amount {
	font-size: 16px;
}
.dbz-related .container-card .card-actions {
	padding-top: 10px;
	gap: 6px;
}
.dbz-related .container-card .card-actions .btn {
	padding-inline: 12px;
	font-size: 13px;
}

/* Cross-Selling-Block unter dem Grid ("Kunden interessieren sich auch für"). */
.dbz-crosssell {
	margin-top: 40px;
	padding-top: 26px;
	border-top: 1px solid var(--color-gray-divider, #e2e5df);
}
.dbz-crosssell__title {
	font-family: var(--disp, inherit);
	font-size: 20px;
	margin: 0 0 18px;
	color: var(--color-text-dark, #383e42);
}

/* Buttons/Preise auf Einzel-, Warenkorb- und Kassenseiten im Marken-Grün. */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce .wc-block-components-button {
	background-color: var(--color-brand-green, #64b331);
	color: #fff;
	border-radius: 8px;
	font-weight: 600;
	transition: background-color .15s ease;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover {
	background-color: var(--color-brand-green-hover, #5a9e2b);
	color: #fff;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price {
	color: var(--color-text-dark, #383e42);
	font-weight: 700;
}
.woocommerce span.onsale {
	background: var(--color-brand-green, #64b331);
	color: #fff;
}
.woocommerce .star-rating span::before,
.woocommerce p.stars a::before {
	color: var(--color-gold, #f5a623);
}

/* ---- Detailseiten-Vorlage: Dokument-Kontur ----
   Die Sidebar (mit der H1) steht im DOM zuerst; das Grid ordnet optisch wie
   gehabt: Galerie/Reiter links, Sidebar rechts (mobil: Sidebar unter der Galerie). */
.sc-detail__grid > .sc-detail__left {
	order: 1;
}
.sc-detail__grid > .sc-detail__right {
	order: 2;
}
/* Nur für Screenreader/Kontur sichtbare Überschrift (z. B. H2 vor dem Produktraster). */
.dbz-sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* ---- Detailseiten-Vorlage: Sidebar-Bausteine ---- */
.dbz-intro {
	margin: 4px 0 10px;
	font-size: 15px;
	line-height: 1.5;
	font-weight: 500;
	color: var(--color-text-dark, #383e42);
}
.dbz-rating {
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0 0 16px;
	font-size: 13px;
	line-height: 1.3;
	color: inherit;
	text-decoration: none;
}
.dbz-rating:hover strong {
	color: var(--color-brand-green, #64b331);
}
.dbz-rating__count {
	color: var(--color-text-muted, #6b7280);
}
.dbz-payments {
	margin: 14px 0 0;
	padding-top: 12px;
	border-top: 1px solid var(--color-gray-divider, #e2e5df);
	font-size: 13px;
}
.dbz-payments__label {
	display: flex;
	align-items: center;
	gap: 6px;
	margin-bottom: 8px;
	font-weight: 600;
	color: var(--color-text-dark, #383e42);
}
.dbz-payments__label i {
	color: var(--color-brand-green, #64b331);
}
.dbz-payments__chips,
.dbz-links__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}
.dbz-chip {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 5px 10px;
	border: 1px solid var(--color-gray-divider, #e2e5df);
	border-radius: 999px;
	background: #fff;
	font-size: 12.5px;
	font-weight: 500;
	color: var(--color-text-dark, #383e42);
	text-decoration: none;
	white-space: nowrap;
}
a.dbz-chip--link:hover {
	border-color: var(--color-brand-green, #64b331);
	color: var(--color-brand-green, #64b331);
}
.dbz-help {
	margin: 16px 0 0;
	font-size: 13px;
	line-height: 1.6;
	color: var(--color-text-muted, #6b7280);
}
.dbz-help a {
	color: var(--color-brand-green, #64b331);
	font-weight: 600;
	text-decoration: none;
}
.dbz-help__sep {
	margin: 0 6px;
}

/* ---- Detailseiten-Vorlage: Reiter-Inhalte ---- */
.dbz-tech {
	width: 100%;
	border-collapse: collapse;
	font-size: 14px;
}
.dbz-tech th,
.dbz-tech td {
	padding: 9px 0;
	border-bottom: 1px solid var(--color-gray-divider, #e2e5df);
	text-align: left;
	vertical-align: top;
}
.dbz-tech th {
	width: 40%;
	font-weight: 400;
	color: var(--color-text-muted, #6b7280);
	padding-right: 16px;
}
.dbz-tech td {
	font-weight: 600;
	color: var(--color-text-dark, #383e42);
}
.dbz-gpsr__lead {
	color: var(--color-text-muted, #6b7280);
}
.dbz-gpsr h3 {
	margin: 18px 0 6px;
	font-size: 15px;
}
.dbz-downloads {
	list-style: none;
	margin: 0;
	padding: 0;
}
.dbz-downloads li {
	padding: 8px 0;
	border-bottom: 1px solid var(--color-gray-divider, #e2e5df);
}
.dbz-downloads a {
	color: var(--color-text-dark, #383e42);
	text-decoration: none;
	font-weight: 600;
}
.dbz-downloads a:hover {
	color: var(--color-brand-green, #64b331);
}

/* ---- FAQ + Passend dazu ---- */
.dbz-faq {
	margin-top: 32px;
}
.dbz-faq__title,
.dbz-links__title {
	font-family: var(--disp, inherit);
	font-size: 20px;
	margin: 0 0 10px;
	color: var(--color-text-dark, #383e42);
}
.dbz-faq__item {
	border-bottom: 1px solid var(--color-gray-divider, #e2e5df);
}
.dbz-faq__item summary {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	padding: 13px 0;
	cursor: pointer;
	list-style: none;
	font-weight: 600;
	color: var(--color-text-dark, #383e42);
}
.dbz-faq__item summary::-webkit-details-marker {
	display: none;
}
.dbz-faq__item summary::after {
	content: '+';
	flex: none;
	font-size: 20px;
	line-height: 1;
	color: var(--color-brand-green, #64b331);
}
.dbz-faq__item[open] summary::after {
	content: '–';
}
.dbz-faq__a {
	padding: 0 0 14px;
	font-size: 14.5px;
	line-height: 1.6;
	color: var(--color-text-dark, #383e42);
}
.dbz-faq__a p:last-child {
	margin-bottom: 0;
}
.dbz-links {
	margin-top: 28px;
}

/* FAQ kompakter (Fragen nicht größer als der Fließtext, Antworten lesbar). */
.dbz-faq {
	margin-top: 28px;
}
.dbz-faq__item summary {
	padding: 11px 0;
	font-size: 15px;
	line-height: 1.4;
}
.dbz-faq__item summary::after {
	font-size: 18px;
}
.dbz-faq__a {
	padding: 0 0 12px;
	font-size: 14px;
	line-height: 1.6;
}

/* ---- Warenkorb-Seite (Override cart.php) ---- */
.dbz-cart {
	display: grid;
	grid-template-columns: 1fr;
	gap: 28px;
	align-items: start;
}
@media (min-width: 1024px) {
	.dbz-cart {
		grid-template-columns: minmax(0, 1fr) 360px;
	}
}
.dbz-cart__items {
	border-top: 1px solid var(--color-gray-divider, #e2e5df);
}
.dbz-cart__item {
	display: grid;
	grid-template-columns: 88px minmax(0, 1fr) 168px 112px 120px 40px;
	gap: 16px;
	align-items: center;
	padding: 18px 0;
	border-bottom: 1px solid var(--color-gray-divider, #e2e5df);
}
/* Spalten mit Beschriftung je Zeile: Anzahl (Stepper), Stückpreis, Summe. */
.dbz-cart__label {
	display: block;
	margin: 0 0 6px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: var(--color-text-muted, #6b7280);
}
.dbz-cart__value {
	display: block;
	font-size: 15px;
	color: var(--color-text-dark, #383e42);
}
.dbz-cart__value--strong {
	font-size: 17px;
	font-weight: 700;
}
.dbz-cart__unit,
.dbz-cart__subtotal {
	text-align: left;
}
/* Mengen-Stepper: Woos .quantity wird zum Rahmen, die −/+ Tasten kommen aus den
   Woo-Hooks (Plugin). Gilt im Warenkorb UND in der Preisbox der Produktseite. */
.dbz-cart__qty .quantity,
.dbz-buybox .quantity {
	display: inline-flex;
	align-items: stretch;
	margin: 0;
	border: 1px solid var(--color-gray-divider, #e2e5df);
	border-radius: 8px;
	background: #fff;
	overflow: hidden;
	vertical-align: middle;
}
.dbz-qty__btn {
	width: 40px;
	height: 44px;
	padding: 0;
	border: 0;
	background: #fff;
	color: var(--color-text-dark, #383e42);
	font-size: 18px;
	line-height: 1;
	cursor: pointer;
	transition: background-color 0.15s ease, color 0.15s ease;
}
.dbz-qty__btn:hover {
	background: var(--color-gray-light, #f3f4f2);
	color: var(--color-brand-green, #64b331);
}
.dbz-cart__qty .quantity input.qty,
.dbz-buybox .quantity input.qty {
	width: 58px;
	height: 44px;
	margin: 0;
	padding: 0 6px;
	border: 0;
	border-left: 1px solid var(--color-gray-divider, #e2e5df);
	border-right: 1px solid var(--color-gray-divider, #e2e5df);
	border-radius: 0;
	text-align: center;
	font-size: 15px;
	font-weight: 600;
	-moz-appearance: textfield;
	appearance: textfield;
}
.dbz-cart__qty .quantity input.qty::-webkit-outer-spin-button,
.dbz-cart__qty .quantity input.qty::-webkit-inner-spin-button,
.dbz-buybox .quantity input.qty::-webkit-outer-spin-button,
.dbz-buybox .quantity input.qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}
.dbz-cart__qty .quantity input.qty:focus,
.dbz-buybox .quantity input.qty:focus {
	outline: none;
	box-shadow: inset 0 0 0 2px rgba(100, 179, 49, 0.35);
}
/* Produktseite: Stepper und Warenkorb-Button auf einer Linie, Text zentriert. */
.dbz-buybox .woocommerce-variation-add-to-cart,
.dbz-buybox form.cart:not(.variations_form) {
	align-items: center;
}
.dbz-buybox .single_add_to_cart_button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 44px;
	line-height: 1;
	padding-block: 0;
}
.dbz-cart__thumb img {
	display: block;
	width: 88px;
	height: 88px;
	object-fit: contain;
	border: 1px solid var(--color-gray-divider, #e2e5df);
	border-radius: 10px;
	background: #fff;
}
.dbz-cart__name {
	display: block;
	font-weight: 600;
	font-size: 15px;
	line-height: 1.35;
	color: var(--color-text-dark, #383e42);
	text-decoration: none;
}
.dbz-cart__name:hover {
	color: var(--color-brand-green, #64b331);
}
.dbz-cart__info .variation {
	margin: 4px 0 0;
	font-size: 13px;
	color: var(--color-text-muted, #6b7280);
}
.dbz-cart__info .variation dt,
.dbz-cart__info .variation dd,
.dbz-cart__info .variation dd p {
	display: inline;
	margin: 0;
}
.dbz-cart__unit {
	margin-top: 6px;
	font-size: 13px;
	color: var(--color-text-muted, #6b7280);
}
.dbz-cart__unit .woocommerce-Price-amount {
	color: var(--color-text-dark, #383e42);
	font-weight: 600;
}
.dbz-cart__qty .quantity {
	display: inline-flex;
}
.dbz-cart__qty input.qty {
	width: 72px;
	padding: 9px 8px;
	border: 1px solid var(--color-gray-divider, #e2e5df);
	border-radius: 8px;
	text-align: center;
	font-size: 15px;
}
.dbz-cart__subtotal {
	text-align: right;
	font-weight: 700;
	font-size: 16px;
	color: var(--color-text-dark, #383e42);
}
.dbz-cart__remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 999px;
	color: var(--color-text-muted, #6b7280);
	text-decoration: none;
	font-size: 19px;
}
.dbz-cart__remove:hover {
	background: var(--color-gray-light, #f3f4f2);
	color: #c0392b;
}
.dbz-cart__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	padding: 16px 0 0;
}
.dbz-cart__update[disabled] {
	opacity: 0.45;
	cursor: not-allowed;
}
.dbz-cart__continue {
	margin-left: auto;
	font-size: 14px;
	font-weight: 600;
	color: var(--color-text-muted, #6b7280);
	text-decoration: none;
}
.dbz-cart__continue:hover {
	color: var(--color-brand-green, #64b331);
}
.dbz-cart__coupon {
	display: flex;
	gap: 8px;
}
.dbz-cart__coupon .input-text {
	padding: 9px 10px;
	border: 1px solid var(--color-gray-divider, #e2e5df);
	border-radius: 8px;
}
@media (max-width: 767px) {
	.dbz-cart__item {
		grid-template-columns: 72px minmax(0, 1fr) 36px;
		grid-template-areas:
			"thumb info remove"
			"qty qty qty"
			"unit sum sum";
		row-gap: 12px;
	}
	.dbz-cart__thumb { grid-area: thumb; }
	.dbz-cart__info { grid-area: info; }
	.dbz-cart__qty { grid-area: qty; }
	.dbz-cart__unit { grid-area: unit; }
	.dbz-cart__subtotal { grid-area: sum; text-align: right; }
	.dbz-cart__removecol { grid-area: remove; justify-self: end; }
	.dbz-cart__thumb img { width: 72px; height: 72px; }
	.dbz-cart__continue { margin-left: 0; }
}

/* Summenbox rechts (Woo cart_totals in .sidebar-box). Schutz gegen Woo-Layoutreste:
   kein Float/48 %, Überschrift links, Kassen-Button in Theme-Größe, Entfernen-Link
   gedämpft statt Woo-Rot (dort !important, deshalb hier auch). */
.dbz-cart__side {
	display: block;
}
.dbz-cart__totals .cart_totals,
.woocommerce-cart .cart-collaterals .cart_totals {
	float: none !important;
	width: 100% !important;
	margin: 0;
}
.dbz-cart__totals .cart_totals h2 {
	text-align: left;
}
.dbz-cart__totals .wc-proceed-to-checkout a.checkout-button,
.woocommerce .wc-proceed-to-checkout a.checkout-button {
	display: inline-flex;
	margin: 0;
	padding: 13px 20px;
	font-size: 16px;
	line-height: 1.2;
}
.dbz-cart__item .remove,
.dbz-cart__item a.remove {
	color: var(--color-text-muted, #6b7280) !important;
	font-size: 19px;
	font-weight: 400;
	width: 36px;
	height: 36px;
	line-height: 36px;
}
.dbz-cart__item a.remove:hover {
	background: var(--color-gray-light, #f3f4f2) !important;
	color: #c0392b !important;
}
.dbz-cart__totals .cart_totals h2 {
	margin: 0 0 12px;
	font-size: 18px;
	font-weight: 700;
	color: var(--color-text-dark, #383e42);
}
.dbz-cart__totals table.shop_table {
	width: 100%;
	border: 0;
	border-collapse: collapse;
	font-size: 14.5px;
}
.dbz-cart__totals table.shop_table th,
.dbz-cart__totals table.shop_table td {
	padding: 10px 0;
	border: 0;
	border-bottom: 1px solid var(--color-gray-divider, #e2e5df);
	vertical-align: top;
	text-align: left;
}
.dbz-cart__totals table.shop_table th {
	width: 45%;
	font-weight: 500;
	color: var(--color-text-muted, #6b7280);
	padding-right: 12px;
}
.dbz-cart__totals table.shop_table td {
	text-align: right;
	color: var(--color-text-dark, #383e42);
}
.dbz-cart__totals table.shop_table tr.order-total th,
.dbz-cart__totals table.shop_table tr.order-total td {
	border-bottom: 0;
	padding-top: 14px;
	font-size: 17px;
	font-weight: 700;
	color: var(--color-text-dark, #383e42);
}
.dbz-cart__totals table.shop_table tr.order-total .includes_tax,
.dbz-cart__totals .tax-total {
	display: block;
	font-size: 12.5px;
	font-weight: 400;
	color: var(--color-text-muted, #6b7280);
}
.dbz-cart__totals #shipping_method {
	list-style: none;
	margin: 0;
	padding: 0;
	text-align: left;
}
.dbz-cart__totals #shipping_method li {
	display: flex;
	gap: 8px;
	align-items: flex-start;
	margin: 0 0 6px;
}
.dbz-cart__totals #shipping_method label {
	font-size: 13.5px;
	color: var(--color-text-dark, #383e42);
}
.dbz-cart__totals .woocommerce-shipping-destination,
.dbz-cart__totals .shipping-calculator-button {
	display: block;
	margin-top: 6px;
	font-size: 12.5px;
	color: var(--color-text-muted, #6b7280);
	text-align: left;
}
.dbz-cart__totals .shipping-calculator-form {
	text-align: left;
	margin-top: 8px;
}
.dbz-cart__totals .shipping-calculator-form input,
.dbz-cart__totals .shipping-calculator-form select {
	width: 100%;
	padding: 8px 10px;
	margin-bottom: 8px;
	border: 1px solid var(--color-gray-divider, #e2e5df);
	border-radius: 8px;
	box-sizing: border-box;
}
.dbz-cart__totals .wc-proceed-to-checkout {
	margin-top: 16px;
}
.dbz-cart__totals .dbz-checkout-btn {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	gap: 6px;
	width: 100%;
	box-sizing: border-box;
	font-size: 16px;
	padding-block: 13px;
}
.dbz-cart__trust {
	list-style: none;
	margin: 14px 0 0;
	padding: 0 4px;
	font-size: 13px;
	color: var(--color-text-muted, #6b7280);
}
.dbz-cart__trust li {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 4px 0;
}
.dbz-cart__trust i {
	color: var(--color-brand-green, #64b331);
	font-size: 16px;
}
.dbz-cart__trust a {
	color: var(--color-brand-green, #64b331);
	font-weight: 600;
	text-decoration: none;
}

/* Leerer Warenkorb. */
.dbz-cart-empty {
	max-width: 520px;
	margin: 12px auto 24px;
	padding: 36px 24px;
	border: 1px solid var(--color-gray-divider, #e2e5df);
	border-radius: 14px;
	text-align: center;
	background: #fff;
}
.dbz-cart-empty i {
	font-size: 44px;
	color: var(--color-gray-divider, #e2e5df);
}
.dbz-cart-empty__title {
	margin: 8px 0 6px;
	font-size: 18px;
	font-weight: 700;
	color: var(--color-text-dark, #383e42);
}
.dbz-cart-empty__text {
	margin: 0 0 18px;
	color: var(--color-text-muted, #6b7280);
	line-height: 1.55;
}
.woocommerce-cart .cart-empty.woocommerce-info {
	display: none; /* Woo-Standardhinweis, unsere Leer-Ansicht ersetzt ihn. */
}

/* Cross-Sells im Warenkorb (4er-Raster, kompakte Kacheln wie „Ähnliche Produkte"). */
.dbz-crosssell--cart {
	margin-top: 40px;
}
@media (min-width: 1024px) {
	.dbz-crosssell--cart .product-grid {
		grid-template-columns: repeat(4, 1fr);
		gap: calc(var(--spacing, 0.25rem) * 4);
	}
}
.dbz-crosssell--cart .container-card .card-body { padding: calc(var(--spacing, 0.25rem) * 3); }
.dbz-crosssell--cart .container-card .card-title { font-size: 15px; }
.dbz-crosssell--cart .container-card .card-price__amount { font-size: 16px; }

/* Woo-Hinweise (in den Warenkorb gelegt, entfernt, Fehler) im Theme-Look:
   kompakte Karte mit Häkchen, grünem Rand, Button rechts; kein Fokus-Ring
   (Woo setzt den Fokus auf die Meldung, das Theme zeichnet sonst einen Rahmen). */
.dbz-notices:empty {
	display: none;
}
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-notices-wrapper .woocommerce-error {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 12px;
	width: auto;
	margin: 0 0 16px;
	padding: 12px 14px 12px 44px;
	border: 1px solid var(--color-gray-divider, #e2e5df);
	border-left: 4px solid var(--color-brand-green, #64b331);
	border-top-width: 1px;
	border-radius: 10px;
	background: #fff;
	font-size: 14px;
	line-height: 1.45;
	color: var(--color-text-dark, #383e42);
	list-style: none;
	box-shadow: 0 4px 14px rgba(20, 22, 24, 0.05);
	outline: none !important;
	box-sizing: border-box;
}
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
	content: '\2713';
	position: absolute;
	left: 14px;
	top: 50%;
	transform: translateY(-50%);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	border-radius: 999px;
	background: var(--color-brand-green, #64b331);
	color: #fff;
	font-family: inherit;
	font-size: 13px;
	font-weight: 700;
	line-height: 1;
}
.woocommerce-info::before {
	content: 'i';
	background: #1a4e8c;
}
.woocommerce-error::before {
	content: '!';
	background: #c0392b;
}
.woocommerce-error {
	border-left-color: #c0392b;
}
.woocommerce-info {
	border-left-color: #1a4e8c;
}
.woocommerce-message .button,
.woocommerce-info .button,
.woocommerce-error .button {
	order: 2;
	margin-left: auto;
	padding: 7px 12px;
	border-radius: 8px;
	background: var(--color-brand-green, #64b331);
	color: #fff;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
}
.woocommerce-message .button:hover,
.woocommerce-info .button:hover {
	background: var(--color-brand-green-hover, #5a9e2b);
	color: #fff;
}
.woocommerce-error li {
	list-style: none;
	margin: 0;
}
/* Fehlerlisten (Kasse: mehrere Pflichtfelder) untereinander statt im Fließtext. */
.woocommerce-error {
	display: block;
}
.woocommerce-error li {
	padding: 2px 0;
}
.woocommerce-error li strong {
	font-weight: 600;
}
@media (max-width: 600px) {
	.woocommerce-message .button,
	.woocommerce-info .button {
		margin-left: 0;
	}
}

/* CI: Weiß auf Grün für alle unsere Primär-Buttons (Theme-.btn--primary setzt
   die Textfarbe nicht überall; Woo-General-CSS färbt Links dunkel). */
.dbz-cart .btn--primary,
.dbz-cart-empty .btn--primary,
.dbz-buybox .btn--primary,
.dbz-checkout__submit,
.dbz-related__cta .btn--primary,
.woocommerce .dbz-checkout-btn,
.woocommerce a.dbz-checkout-btn,
.dbz-cart__totals .wc-proceed-to-checkout a.checkout-button,
.woocommerce .btn--primary {
	color: #fff !important;
	background-color: var(--color-brand-green, #64b331);
}
.dbz-cart .btn--primary:hover,
.dbz-cart-empty .btn--primary:hover,
.woocommerce a.dbz-checkout-btn:hover,
.dbz-related__cta .btn--primary:hover {
	color: #fff !important;
	background-color: var(--color-brand-green-hover, #5a9e2b);
}
.dbz-related__cta .btn--outline,
.dbz-cart .btn--outline {
	color: var(--color-text-dark, #383e42);
}

/* Warenkorb-Button ohne gewählte Variante: CI-Grau statt Woo-Standard-Lila. */
.dbz-buybox .single_add_to_cart_button.disabled,
.dbz-buybox .single_add_to_cart_button:disabled,
.dbz-buybox .single_add_to_cart_button.wc-variation-selection-needed,
.dbz-buybox .single_add_to_cart_button.wc-variation-is-unavailable {
	background-color: var(--color-gray-divider, #e2e5df) !important;
	color: var(--color-text-muted, #6b7280) !important;
	opacity: 1 !important;
	cursor: not-allowed;
}

/* ---- Kasse (Override checkout/*) ----
   Links vier Schritt-Karten, rechts die Bestellübersicht als graue Sidebar-Box
   (ab 1024px klebend). Auf dem Handy steht die Übersicht zuerst. */
.dbz-checkout {
	display: grid;
	grid-template-columns: 1fr;
	gap: 28px;
	align-items: start;
}
@media (min-width: 1024px) {
	.dbz-checkout {
		grid-template-columns: minmax(0, 1fr) 400px;
		gap: 32px;
	}
	.dbz-checkout__side {
		position: sticky;
		top: 24px;
	}
}
@media (max-width: 1023px) {
	.dbz-checkout__side {
		order: -1;
	}
}
.dbz-checkout__main {
	display: flex;
	flex-direction: column;
	gap: 20px;
	min-width: 0;
}
.dbz-checkout__card {
	padding: 24px;
	border: 1px solid var(--color-gray-divider, #e2e5df);
	border-radius: 14px;
	background: #fff;
}
.dbz-checkout__title {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 18px;
	font-family: var(--font-heading, inherit);
	font-size: 22px;
	font-weight: 600;
	line-height: 1.2;
	color: var(--color-text-dark, #383e42);
}
.dbz-checkout__step {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 30px;
	height: 30px;
	border-radius: 999px;
	background: var(--color-brand-green, #64b331);
	color: #fff;
	font-family: var(--font-sans, inherit);
	font-size: 14px;
	font-weight: 700;
}
.dbz-checkout__hint {
	margin: 12px 0 0;
	font-size: 13.5px;
	line-height: 1.5;
	color: var(--color-text-muted, #6b7280);
}
.dbz-checkout__hint--warn {
	color: #c0392b;
}
.dbz-checkout__hint a {
	color: inherit;
	font-weight: 600;
}

/* Felder im Look des Theme-Anfrageformulars, zwei Spalten ab 640px.
   Woo-General-CSS setzt Padding/Float auf .form-row, deshalb hier zurückgesetzt. */
.dbz-fields {
	display: grid;
	grid-template-columns: 1fr;
	gap: 16px;
}
@media (min-width: 640px) {
	.dbz-fields {
		grid-template-columns: 1fr 1fr;
	}
	.dbz-fields .form-row-wide,
	.dbz-fields .form-row.notes {
		grid-column: 1 / -1;
	}
}
.dbz-checkout .form-row {
	float: none;
	width: auto;
	margin: 0;
	padding: 0;
}
.dbz-checkout .form-row label {
	display: block;
	margin: 0 0 6px;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.3;
	color: var(--color-text-dark, #383e42);
}
.dbz-checkout .form-row label .required {
	color: var(--color-brand-green, #64b331);
	text-decoration: none;
	border: 0;
}
.dbz-checkout .form-row label .optional {
	font-weight: 400;
	color: var(--color-text-muted, #6b7280);
}
.dbz-checkout .form-row .woocommerce-input-wrapper {
	display: block;
}
/* form.dbz-checkout statt .dbz-checkout: Woo-General (.woocommerce form .form-row .input-text)
   hat sonst per Element-Selektor die Nase vorn (0.5em Padding). */
form.dbz-checkout .form-row .input-text,
form.dbz-checkout .form-row select,
form.dbz-checkout .form-row textarea {
	display: block;
	width: 100%;
	padding: 12px 14px;
	border: 1px solid var(--color-gray-divider, #e2e5df);
	border-radius: 8px;
	background: #fff;
	box-shadow: none;
	box-sizing: border-box;
	font: inherit;
	font-size: 15px;
	line-height: 1.4;
	color: var(--color-text-dark, #383e42);
}
.dbz-checkout .form-row textarea {
	min-height: 96px;
	resize: vertical;
}
form.dbz-checkout .form-row .input-text:focus,
form.dbz-checkout .form-row select:focus,
form.dbz-checkout .form-row textarea:focus {
	outline: none;
	border-color: var(--color-brand-green, #64b331);
	box-shadow: 0 0 0 3px rgba(100, 179, 49, 0.18);
}
.dbz-checkout .form-row.woocommerce-invalid .input-text {
	border-color: #c0392b;
}
.dbz-checkout .form-row.woocommerce-validated .input-text {
	border-color: var(--color-brand-green, #64b331);
}
.dbz-checkout .checkout-inline-error-message {
	display: block;
	margin-top: 5px;
	font-size: 12.5px;
	color: #c0392b;
}
/* Ein einziges Lieferland (DE): Woo 11 rendert ein natives Select mit genau einer
   Option und stylt es als nackten Fetttext (.country_to_state--single, ohne Rahmen,
   20px). Hier als Nur-Lese-Feld in den Maßen der Eingabefelder. */
form.dbz-checkout .form-row select.country_to_state--single {
	appearance: none;
	-webkit-appearance: none;
	padding: 12px 14px;
	border: 1px solid var(--color-gray-divider, #e2e5df);
	border-radius: 8px;
	background: var(--color-gray-light, #f5f5f5);
	font-size: 15px;
	font-weight: 500;
	color: var(--color-text-dark, #383e42);
	pointer-events: none;
}
.dbz-fields--notes {
	margin-top: 16px;
	grid-template-columns: 1fr;
}

/* Umschalter „andere Lieferadresse" + aufklappende Lieferfelder. */
.dbz-toggle {
	margin: 18px 0 0;
}
.dbz-toggle__label {
	display: flex;
	align-items: center;
	gap: 10px;
	cursor: pointer;
	font-size: 14.5px;
	font-weight: 600;
	color: var(--color-text-dark, #383e42);
}
.dbz-checkout .dbz-toggle__label input {
	width: 20px;
	height: 20px;
	margin: 0;
	accent-color: var(--color-brand-green, #64b331);
}
.dbz-shipping-address {
	margin-top: 16px;
	padding-top: 16px;
	border-top: 1px dashed var(--color-gray-divider, #e2e5df);
}

/* Versandarten und Zahlungsarten als Auswahlkarten (gewählt = grüner Rand).
   Woo-General setzt auf ul#shipping_method li/label/input eigene Regeln
   (label inline, input-Margin), deshalb die ID-Selektoren mit dabei. */
.dbz-checkout ul#shipping_method li,
.dbz-checkout ul#shipping_method li input,
.dbz-checkout ul#shipping_method li label {
	margin: 0;
	text-indent: 0;
}
.dbz-choice,
.dbz-checkout ul#shipping_method,
.dbz-checkout ul.wc_payment_methods {
	display: grid;
	gap: 10px;
	margin: 0;
	padding: 0;
	border: 0;
	list-style: none;
	text-align: left;
}
.dbz-choice__item,
.dbz-checkout ul.wc_payment_methods li.wc_payment_method {
	position: relative;
	margin: 0;
	padding: 0;
	border: 1px solid var(--color-gray-divider, #e2e5df);
	border-radius: 10px;
	background: #fff;
	line-height: 1.4;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.dbz-choice__item:has(input:checked),
.dbz-choice__item.is-single,
.dbz-checkout ul.wc_payment_methods li.wc_payment_method:has(input:checked) {
	border-color: var(--color-brand-green, #64b331);
	box-shadow: inset 0 0 0 1px var(--color-brand-green, #64b331);
}
.dbz-choice__item > input[type="radio"],
.dbz-checkout ul.wc_payment_methods li.wc_payment_method > input.input-radio {
	position: absolute;
	top: 17px;
	left: 16px;
	width: 18px;
	height: 18px;
	margin: 0;
	accent-color: var(--color-brand-green, #64b331);
}
.dbz-choice__item > label,
.dbz-checkout ul#shipping_method li.dbz-choice__item > label,
.dbz-checkout ul.wc_payment_methods li.wc_payment_method > label {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin: 0;
	padding: 14px 16px 14px 46px;
	cursor: pointer;
	font-size: 15px;
	font-weight: 600;
	color: var(--color-text-dark, #383e42);
}
.dbz-choice__item.is-single > label,
.dbz-checkout ul#shipping_method li.dbz-choice__item.is-single > label {
	padding-left: 16px;
	cursor: default;
}
.dbz-choice__meta {
	display: block;
	margin-top: 2px;
	font-size: 13px;
	font-weight: 400;
	color: var(--color-text-muted, #6b7280);
}
.dbz-choice__cost {
	font-weight: 700;
	white-space: nowrap;
}
.dbz-choice__cost .woocommerce-Price-amount {
	color: var(--color-text-dark, #383e42);
}

/* Zahlungsblock: Woo-General-CSS (grauer Kasten, Sprechblasen-Pfeil) abräumen. */
.dbz-checkout #payment,
.woocommerce-checkout .dbz-checkout #payment {
	background: none;
	border-radius: 0;
}
.dbz-checkout #payment ul.payment_methods {
	padding: 0;
	border: 0;
}
.dbz-checkout #payment ul.payment_methods li img {
	max-height: 22px;
	margin: 0;
}
.dbz-checkout #payment div.payment_box,
.woocommerce-checkout .dbz-checkout #payment div.payment_box {
	margin: 0;
	padding: 0 16px 14px 46px;
	border-radius: 0;
	background: none;
	font-size: 13.5px;
	line-height: 1.5;
	color: var(--color-text-muted, #6b7280);
}
.dbz-checkout #payment div.payment_box::before {
	display: none;
}
.dbz-checkout #payment div.payment_box p {
	margin: 0;
}
.dbz-checkout #payment div.payment_box p + p {
	margin-top: 6px;
}
.dbz-checkout #payment div.place-order,
.woocommerce-checkout .dbz-checkout #payment .place-order {
	margin: 20px 0 0;
	padding: 0;
}
.dbz-checkout .woocommerce-privacy-policy-text p {
	margin: 0 0 12px;
	font-size: 13px;
	line-height: 1.5;
	color: var(--color-text-muted, #6b7280);
}
.dbz-checkout .woocommerce-privacy-policy-text a,
.dbz-checkout .woocommerce-terms-and-conditions-checkbox-text a {
	color: var(--color-brand-green, #64b331);
	font-weight: 600;
	text-decoration: none;
}
.dbz-checkout .woocommerce-terms-and-conditions-checkbox-text a:hover {
	text-decoration: underline;
}
.dbz-checkout .form-row.validate-required label.checkbox {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 0 0 16px;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.5;
	color: var(--color-text-dark, #383e42);
}
.dbz-checkout .form-row.validate-required input#terms {
	flex-shrink: 0;
	width: 20px;
	height: 20px;
	margin: 1px 0 0;
	accent-color: var(--color-brand-green, #64b331);
}
.dbz-checkout .form-row.woocommerce-invalid label.checkbox {
	color: #c0392b;
}
.dbz-checkout__submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	box-sizing: border-box;
	padding-block: 15px;
	font-size: 17px;
	line-height: 1.2;
}
.dbz-checkout__submit i {
	font-size: 18px;
}
.dbz-checkout__legal {
	margin: 14px 0 0;
	text-align: center;
	font-size: 12.5px;
	color: var(--color-text-muted, #6b7280);
}
.dbz-checkout__legal a {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 2px;
}
.dbz-checkout__legal a:hover {
	color: var(--color-brand-green, #64b331);
}

/* Bestellübersicht rechts (Fragment .woocommerce-checkout-review-order-table). */
.dbz-checkout__summary-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	margin: 0 0 12px;
}
.dbz-checkout__summary-title {
	font-size: 18px;
	font-weight: 700;
	color: var(--color-text-dark, #383e42);
}
.dbz-checkout__edit {
	font-size: 13px;
	font-weight: 600;
	color: var(--color-brand-green, #64b331);
	text-decoration: none;
}
.dbz-checkout__edit:hover {
	text-decoration: underline;
}
.dbz-review__items {
	list-style: none;
	margin: 0;
	padding: 0;
}
.dbz-review__item {
	display: grid;
	grid-template-columns: 64px minmax(0, 1fr) auto;
	gap: 12px;
	align-items: center;
	padding: 12px 0;
	border-bottom: 1px solid var(--color-gray-divider, #e2e5df);
}
.dbz-review__thumb {
	position: relative;
	width: 64px;
	height: 64px;
	align-self: center;
}
.dbz-review__thumb img {
	display: block;
	width: 64px;
	height: 64px;
	object-fit: contain;
	border: 1px solid var(--color-gray-divider, #e2e5df);
	border-radius: 10px;
	background: #fff;
}
.dbz-review__qty {
	position: absolute;
	top: -8px;
	right: -8px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 22px;
	height: 22px;
	padding: 0 6px;
	border-radius: 999px;
	background: var(--color-text-dark, #383e42);
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
	box-sizing: border-box;
}
.dbz-review__name {
	display: block;
	font-size: 14.5px;
	font-weight: 600;
	line-height: 1.35;
	color: var(--color-text-dark, #383e42);
}
.dbz-review__info .variation {
	margin: 2px 0 0;
	font-size: 12.5px;
	color: var(--color-text-muted, #6b7280);
}
.dbz-review__info .variation dt,
.dbz-review__info .variation dd,
.dbz-review__info .variation dd p {
	display: inline;
	margin: 0;
}
.dbz-review__unit {
	display: block;
	margin-top: 2px;
	font-size: 12.5px;
	color: var(--color-text-muted, #6b7280);
}
.dbz-review__total {
	font-size: 15px;
	font-weight: 700;
	white-space: nowrap;
	color: var(--color-text-dark, #383e42);
}
.dbz-review__totals {
	margin: 12px 0 0;
	font-size: 14.5px;
}
.dbz-review__row {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 12px;
	padding: 7px 0;
}
.dbz-review__row dt {
	margin: 0;
	padding: 0;
	font-weight: 500;
	color: var(--color-text-muted, #6b7280);
}
.dbz-review__row dd {
	margin: 0;
	padding: 0;
	text-align: right;
	color: var(--color-text-dark, #383e42);
}
.dbz-review__ship small {
	display: block;
	font-size: 12px;
	font-weight: 400;
	color: var(--color-text-muted, #6b7280);
}
.dbz-review__row.order-total {
	margin-top: 6px;
	padding-top: 14px;
	border-top: 1px solid var(--color-gray-divider, #e2e5df);
	font-size: 17px;
	font-weight: 700;
}
.dbz-review__row.order-total dt {
	color: var(--color-text-dark, #383e42);
}
.dbz-review__row.order-total .includes_tax {
	display: block;
	font-size: 12.5px;
	font-weight: 400;
	color: var(--color-text-muted, #6b7280);
}
.dbz-checkout__side .dbz-cart__trust {
	margin-top: 16px;
}
/* Woo-Fehlerliste über dem Formular (checkout.js fügt sie oben ein). */
.dbz-checkout .woocommerce-NoticeGroup,
.woocommerce-checkout .woocommerce-NoticeGroup {
	grid-column: 1 / -1;
	margin: 0 0 4px;
}

/* ---- Danke-Seite (Override checkout/thankyou.php + order/order-details*.php) ---- */
.dbz-thanks {
	max-width: 880px;
}
.dbz-thanks__card {
	display: flex;
	gap: 18px;
	align-items: flex-start;
	padding: 24px;
	border: 1px solid var(--color-brand-green, #64b331);
	border-radius: 14px;
	background: #f4faee;
}
.dbz-thanks__card--failed {
	border-color: #c0392b;
	background: #fdf3f2;
}
.dbz-thanks__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 48px;
	height: 48px;
	border-radius: 999px;
	background: var(--color-brand-green, #64b331);
	color: #fff;
	font-size: 28px;
}
.dbz-thanks__body {
	min-width: 0;
}
.dbz-thanks .dbz-thanks__title,
.dbz-thanks .woocommerce-thankyou-order-received {
	margin: 4px 0 8px;
	padding: 0;
	border: 0;
	background: none;
	font-family: var(--font-heading, inherit);
	font-size: 24px;
	font-weight: 600;
	line-height: 1.25;
	color: var(--color-text-dark, #383e42);
}
.dbz-thanks .dbz-thanks__title::before {
	display: none;
}
.dbz-thanks__text {
	margin: 0;
	font-size: 15px;
	line-height: 1.55;
	color: var(--color-text-muted, #6b7280);
}
.dbz-thanks__text a {
	color: var(--color-brand-green, #64b331);
	font-weight: 600;
	text-decoration: none;
}
.dbz-thanks .dbz-thanks__facts,
.dbz-thanks ul.woocommerce-thankyou-order-details {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	list-style: none;
	margin: 16px 0 0;
	padding: 0;
}
@media (min-width: 640px) {
	.dbz-thanks ul.dbz-thanks__facts {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}
.dbz-thanks .dbz-thanks__facts li {
	margin: 0;
	padding: 14px 16px;
	border: 1px solid var(--color-gray-divider, #e2e5df);
	border-radius: 12px;
	background: #fff;
	font-size: 15px;
	line-height: 1.35;
}
.dbz-thanks__label,
.dbz-order__label {
	display: block;
	margin: 0 0 4px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: var(--color-text-muted, #6b7280);
}
.dbz-thanks .dbz-thanks__facts li strong {
	font-size: 16px;
	font-weight: 700;
	color: var(--color-text-dark, #383e42);
}
/* Zahlungshinweis der Zahlungsart (Vorkasse: Text + Bankverbindung aus Woo). */
.dbz-thanks > p:not([class]),
.dbz-thanks .woocommerce-bacs-bank-details {
	margin: 20px 0 0;
	padding: 16px 20px;
	border-left: 4px solid var(--color-brand-green, #64b331);
	border-radius: 10px;
	background: var(--color-gray-light, #f5f5f5);
	font-size: 14.5px;
	line-height: 1.55;
	color: var(--color-text-dark, #383e42);
}
.dbz-thanks .woocommerce-bacs-bank-details h2,
.dbz-thanks .woocommerce-bacs-bank-details h3 {
	margin: 0 0 8px;
	font-size: 16px;
	font-weight: 700;
}
.dbz-thanks .woocommerce-bacs-bank-details ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.dbz-thanks .woocommerce-bacs-bank-details li {
	margin: 0;
	padding: 3px 0;
}

/* Bestelldetails-Karte. */
.dbz-order {
	margin: 24px 0 0;
	padding: 24px;
	border: 1px solid var(--color-gray-divider, #e2e5df);
	border-radius: 14px;
	background: #fff;
}
.dbz-order__title,
.dbz-addresses__title {
	margin: 0 0 14px;
	font-family: var(--font-heading, inherit);
	font-size: 20px;
	font-weight: 600;
	color: var(--color-text-dark, #383e42);
}
.dbz-order ul.dbz-order__items {
	list-style: none;
	margin: 0;
	padding: 0;
	border-top: 1px solid var(--color-gray-divider, #e2e5df);
}
.dbz-order__item {
	display: grid;
	grid-template-columns: 64px minmax(0, 1fr) auto;
	gap: 14px;
	align-items: center;
	margin: 0;
	padding: 12px 0;
	border-bottom: 1px solid var(--color-gray-divider, #e2e5df);
}
.dbz-order__thumb img {
	display: block;
	width: 64px;
	height: 64px;
	object-fit: contain;
	border: 1px solid var(--color-gray-divider, #e2e5df);
	border-radius: 10px;
	background: #fff;
}
.dbz-order__name {
	display: block;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.35;
	color: var(--color-text-dark, #383e42);
	text-decoration: none;
}
.dbz-order__name:hover {
	color: var(--color-brand-green, #64b331);
}
.dbz-order__info .wc-item-meta {
	list-style: none;
	margin: 2px 0 0;
	padding: 0;
	font-size: 12.5px;
	color: var(--color-text-muted, #6b7280);
}
.dbz-order__info .wc-item-meta li,
.dbz-order__info .wc-item-meta p {
	display: inline;
	margin: 0;
}
.dbz-order__qty {
	display: block;
	margin-top: 2px;
	font-size: 12.5px;
	color: var(--color-text-muted, #6b7280);
}
.dbz-order__total {
	font-size: 15px;
	font-weight: 700;
	white-space: nowrap;
	color: var(--color-text-dark, #383e42);
}
.dbz-order__totals {
	margin: 12px 0 0;
	font-size: 14.5px;
}
.dbz-order__row {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 12px;
	padding: 7px 0;
}
.dbz-order__row dt {
	margin: 0;
	padding: 0;
	font-weight: 500;
	color: var(--color-text-muted, #6b7280);
}
.dbz-order__row dd {
	margin: 0;
	padding: 0;
	text-align: right;
	color: var(--color-text-dark, #383e42);
}
.dbz-order__row--order_total {
	margin-top: 6px;
	padding-top: 14px;
	border-top: 1px solid var(--color-gray-divider, #e2e5df);
	font-size: 17px;
	font-weight: 700;
}
.dbz-order__row--order_total dt {
	color: var(--color-text-dark, #383e42);
}
.dbz-order__row--order_total .includes_tax {
	display: block;
	font-size: 12.5px;
	font-weight: 400;
	color: var(--color-text-muted, #6b7280);
}
.dbz-order__customer-note {
	margin: 16px 0 0;
	padding: 12px 14px;
	border-radius: 10px;
	background: var(--color-gray-light, #f5f5f5);
	font-size: 14px;
	line-height: 1.5;
	color: var(--color-text-dark, #383e42);
}

/* Adresskarten. */
.dbz-addresses {
	margin: 20px 0 0;
}
.dbz-addresses__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 16px;
	width: auto;
}
@media (min-width: 640px) {
	.dbz-addresses__grid {
		grid-template-columns: 1fr 1fr;
	}
}
.dbz-addresses__card {
	float: none;
	width: auto;
	padding: 20px 24px;
	border: 1px solid var(--color-gray-divider, #e2e5df);
	border-radius: 14px;
	background: #fff;
}
.dbz-addresses__card .dbz-addresses__title {
	margin-bottom: 10px;
	font-size: 17px;
}
.dbz-addresses__body {
	margin: 0;
	padding: 0;
	border: 0;
	font-style: normal;
	font-size: 15px;
	line-height: 1.6;
	color: var(--color-text-dark, #383e42);
}
.dbz-addresses__body p {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 6px 0 0;
	font-size: 14px;
	color: var(--color-text-muted, #6b7280);
}
.dbz-addresses__body p i {
	color: var(--color-brand-green, #64b331);
}
.dbz-thanks__cta {
	margin: 24px 0 0;
}
.dbz-thanks__cta .btn--outline {
	color: var(--color-text-dark, #383e42);
}

/* Seitenrahmen Warenkorb/Kasse/Konto: Breadcrumb bündig mit dem Inhalt.
   Das Theme deckelt direkte Kinder von .entry-content auf --container-content
   (1200 px), .shop-container liegt aber auf --container-site (1600 px) – die
   Breadcrumb saß dadurch 110 px weiter rechts als die H1. Dazu trug
   .db-shop__inner ein zweites Innen-Padding (80 px) über dem von .shop-container. */
.entry-content > .shop-breadcrumb {
	max-width: none;
}
.shop-container > .db-shop__inner {
	padding-inline: 0;
}

/* Woo-General-CSS auf der Danke-Seite abräumen: ul.order_details li floatet,
   Uppercase + gestrichelte Trennstriche; address bekommt 2-px-Rahmen; Telefon/
   E-Mail tragen Woo-Icons per ::before (wir setzen Remixicons). */
.woocommerce .dbz-thanks ul.order_details::before,
.woocommerce .dbz-thanks ul.order_details::after {
	display: none;
}
.woocommerce .dbz-thanks ul.order_details {
	margin: 16px 0 0;
}
.woocommerce .dbz-thanks ul.order_details li {
	float: none;
	margin: 0;
	padding: 14px 16px;
	border-right: 0;
	text-transform: none;
	font-size: 15px;
	line-height: 1.35;
}
.woocommerce .dbz-thanks ul.order_details li strong {
	display: block;
	font-size: 16px;
	line-height: 1.35;
	text-transform: none;
}
.woocommerce .woocommerce-customer-details .dbz-addresses__body {
	padding: 0;
	border: 0;
	border-radius: 0;
	text-align: left;
}
.woocommerce .woocommerce-customer-details .woocommerce-customer-details--phone::before,
.woocommerce .woocommerce-customer-details .woocommerce-customer-details--email::before {
	display: none;
}
.woocommerce .woocommerce-customer-details .dbz-addresses__body p {
	margin: 6px 0 0;
	padding: 0;
}

/* Produktsuche in der Filter-Sidebar (Feld im Preisfilter-Look, Button daneben). */
.dbz-search__row {
	display: flex;
	gap: 8px;
	align-items: stretch;
}
.dbz-search__input {
	flex: 1 1 auto;
	min-width: 0;
	-webkit-appearance: none;
	appearance: none;
}
.dbz-search__input::-webkit-search-cancel-button {
	-webkit-appearance: none;
}
.dbz-search__btn {
	flex-shrink: 0;
	padding-inline: 14px;
	color: #fff !important;
}

/* Ganze Produktkachel klickbar: Overlay-Link über der Karte (Ebene 1), Titel-Link
   und Buttons darüber (Ebene 2), damit „In den Warenkorb" und „Details" weiter
   ihre eigene Aktion behalten. Badges bleiben unter dem Overlay (nicht klickbar). */
.container-card .dbz-card-link {
	position: absolute;
	inset: 0;
	z-index: 1;
}
.container-card .card-title a,
.container-card .card-actions {
	position: relative;
	z-index: 2;
}

/* Warenkorb-Button der Produktseite exakt mittig: Woo-General
   (.woocommerce … button.button, Spezifität 0,2,1) setzt display:inline-block,
   padding .618em 1em und font-size 100 % und schlug .dbz-buybox .single_add_to_cart_button.
   Messung 2026-09-24: Text 9 px oben / 5 px unten. Hier mit höherer Spezifität. */
.dbz-buybox form.cart button.single_add_to_cart_button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 44px;
	padding: 0 22px;
	line-height: 1;
	font-size: 15px;
	font-weight: 600;
	box-sizing: border-box;
}
/* Stepper (Rahmen 1 px) auf dieselben 44 px wie der Button. */
.dbz-buybox .quantity .dbz-qty__btn,
.dbz-buybox .quantity input.qty {
	height: 42px;
}

/* Kachelbilder: Freisteller komplett zeigen statt beschneiden (Theme: object-fit
   cover für 4:3-Containerfotos). Bild unbeschnitten (medium_large), auf Weiß mit
   Innenabstand in die 4:3-Fläche eingepasst; Hover-Zoom des Themes bleibt. */
.product-grid .container-card .card-image,
.dbz-crosssell .container-card .card-image {
	background: #fff;
}
.product-grid .container-card .card-image img,
.dbz-crosssell .container-card .card-image img {
	object-fit: contain;
	padding: 10px;
	box-sizing: border-box;
	background: #fff;
}

/* Produktseite mobil (Theme-Breakpoint 767 px): Reihenfolge H1 → Bild → Intro →
   Kaufelemente → Beschreibung. Das Theme löst die Spalten schon per
   display: contents auf, die Sidebar bleibt dort aber ein Block. Hier wird auch
   sie aufgelöst und jedes Element bekommt seinen Platz im Raster. */
@media (max-width: 767px) {
	.sc-detail__grid {
		gap: 16px;
	}
	.single-sidebar {
		display: contents;
	}
	.single-sidebar > * {
		order: 8; /* Vorgabe für alles ohne eigene Position (z. B. Bewertung) */
	}
	.single-sidebar__title {
		order: 1;
		margin: 0;
	}
	.single-gallery {
		order: 2;
	}
	.dbz-intro {
		order: 3;
		margin: 0;
	}
	.dbz-rating {
		order: 4;
	}
	.specs-summary {
		order: 5;
	}
	.dbz-notices {
		order: 6;
	}
	.dbz-buybox {
		order: 7;
		margin: 0;
	}
	.trust-badges {
		order: 9;
	}
	.single-sidebar__boxes {
		order: 10;
	}
	.dbz-back {
		order: 11;
	}
	.single-tabs {
		order: 12;
	}
	.dbz-faq {
		order: 13;
	}
	.dbz-links {
		order: 14;
	}
}

/* Container-CTA (Theme-Modul .shop-low-cta) unter dem Zubehör-Raster und auf
   Produktseiten vor dem Related-Band; Modul stylt sich selbst über das Theme. */
.dbz-cta {
	margin-top: 40px;
}
.dbz-cta .shop-low-cta {
	padding-block: 0;
}
.dbz-cta--single {
	margin-top: 0;
	padding-top: 8px;
	padding-bottom: calc(var(--spacing, 0.25rem) * 12);
}

/* MOLLIE-INFO-SPACING (Eric 2026-10-09): Zahlungs-Hinweisbox (Mollie-Instructions / Woo-Info)
   auf der Danke-Seite von den Eckdaten darueber absetzen. */
.dbz-thanks .mollie-instructions,
.dbz-thanks .woocommerce-order-details.woocommerce-info {
	margin-top: 20px;
}
