/* ==========================================================================
   Mahlwerk — Premium-Schicht (25.10.2026)
   Neue Komponenten mit eigenem Präfix .bwp-* (keine Kollision mit älteren Korrekturschichten).
   Lädt nach mobile.css und fix-alle.css.
   ========================================================================== */

:root {
	--bwp-bg: #0a0a0a;
	--bwp-surface: #121214;
	--bwp-surface-2: #17171b;
	--bwp-line: rgba(255, 255, 255, 0.08);
	--bwp-line-2: rgba(255, 255, 255, 0.13);
	--bwp-copper: #c8956c;
	--bwp-copper-2: #dcb08a;
	--bwp-copper-soft: rgba(200, 149, 108, 0.12);
	--bwp-text: #f4f1ec;
	--bwp-text-2: #cdc8c1;
	--bwp-muted: #9d978f;
	--bwp-radius: 18px;
	--bwp-radius-sm: 12px;
	--bwp-serif: 'Playfair Display', Georgia, 'Times New Roman', serif;
	--bwp-sans: 'DM Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
	--bwp-mono: 'JetBrains Mono', ui-monospace, 'SFMono-Regular', monospace;
	--bwp-top: 72px;
}

/* ───────────── Produktseite: Rahmen ───────────── */

body.bwp-pdp .bw-sp-tabs {
	padding: 0 !important;
	border-top: 0 !important;
	margin: 0 !important;
}

.bwp {
	font-family: var(--bwp-sans);
	color: var(--bwp-text-2);
	position: relative;
}
.bwp *, .bwp *::before, .bwp *::after { box-sizing: border-box; }

.bwp-ico { flex: 0 0 auto; display: block; }

/* ───────────── Abschnittsnavigation ───────────── */

.bwp-subnav-sentinel { height: 1px; margin-bottom: -1px; }

.bwp-subnav {
	position: sticky;
	top: var(--bwp-top, 72px);
	z-index: 30;
	background: rgba(10, 10, 10, 0.9);
	box-shadow: 0 0 0 100vmax rgba(10, 10, 10, 0.9);
	clip-path: inset(0 -100vmax);
	border-top: 1px solid var(--bwp-line);
	border-bottom: 1px solid var(--bwp-line);
	-webkit-backdrop-filter: saturate(140%) blur(10px);
	backdrop-filter: saturate(140%) blur(10px);
	transition: border-color 0.25s ease;
}
.bwp-subnav.is-stuck { border-top-color: transparent; }
.bwp-subnav__in {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	min-height: 58px;
}
.bwp-subnav__links {
	display: flex;
	gap: 6px;
	list-style: none;
	margin: 0;
	padding: 0;
	overflow-x: auto;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}
.bwp-subnav__links::-webkit-scrollbar { display: none; }
.bwp-subnav__links li { margin: 0; padding: 0; flex: 0 0 auto; }
.bwp-subnav__links a {
	position: relative;
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0 14px;
	font-family: var(--bwp-sans);
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--bwp-muted);
	text-decoration: none;
	white-space: nowrap;
	border-radius: 999px;
	transition: color 0.2s ease, background-color 0.2s ease;
}
.bwp-subnav__links a:hover { color: var(--bwp-text); }
.bwp-subnav__links a.is-active { color: var(--bwp-text); }
.bwp-subnav__links a.is-active::after {
	content: '';
	position: absolute;
	left: 14px;
	right: 14px;
	bottom: 6px;
	height: 2px;
	border-radius: 2px;
	background: var(--bwp-copper);
}
.bwp-subnav__links a:focus-visible,
.bwp-subnav__cta:focus-visible,
.bwp-btn-ghost:focus-visible {
	outline: 2px solid var(--bwp-copper);
	outline-offset: 2px;
}
.bwp-subnav__buy {
	display: flex;
	align-items: center;
	gap: 16px;
	min-width: 0;
	opacity: 0;
	visibility: hidden;
	transform: translateY(4px);
	transition: opacity 0.25s ease, transform 0.25s ease, visibility 0s linear 0.25s;
}
.bwp-subnav.is-stuck .bwp-subnav__buy {
	opacity: 1;
	visibility: visible;
	transform: none;
	transition: opacity 0.25s ease, transform 0.25s ease, visibility 0s;
}
.bwp-subnav__name {
	font-family: var(--bwp-serif);
	font-size: 0.98rem;
	font-weight: 600;
	color: var(--bwp-text);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 260px;
}
.bwp-subnav__price {
	font-family: var(--bwp-sans);
	font-size: 1.02rem;
	font-weight: 700;
	color: var(--bwp-copper);
	white-space: nowrap;
}
.bwp-subnav__cta {
	appearance: none;
	border: 0;
	cursor: pointer;
	min-height: 40px;
	padding: 0 20px;
	border-radius: 10px;
	background: var(--bwp-copper);
	color: #17130e;
	font-family: var(--bwp-sans);
	font-size: 0.86rem;
	font-weight: 700;
	letter-spacing: 0.01em;
	white-space: nowrap;
	transition: background-color 0.2s ease;
}
.bwp-subnav__cta:hover { background: var(--bwp-copper-2); }

/* ───────────── Abschnitte ───────────── */

.bwp-sec {
	padding: 88px 0;
	border-top: 1px solid var(--bwp-line);
	scroll-margin-top: calc(var(--bwp-top, 72px) + 72px);
}
.bwp-sec:first-of-type { border-top: 0; }
.bwp-overview { border-top: 0; padding-top: 72px; }

.bwp-head { margin: 0 0 40px; }
.bwp-head--split {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px 32px;
	flex-wrap: wrap;
}
.bwp-kicker {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	font-family: var(--bwp-mono);
	font-size: 0.72rem;
	font-weight: 500;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--bwp-copper);
}
.bwp-kicker::before {
	content: '';
	width: 28px;
	height: 1px;
	background: currentColor;
	opacity: 0.7;
}
.bwp-h2 {
	margin: 14px 0 0;
	font-family: var(--bwp-serif);
	font-size: clamp(1.75rem, 1.2rem + 1.6vw, 2.5rem);
	font-weight: 600;
	line-height: 1.15;
	letter-spacing: -0.005em;
	color: var(--bwp-text);
}
.bwp-h2--sm { font-size: clamp(1.45rem, 1.15rem + 0.9vw, 1.85rem); }
.bwp-h3 {
	margin: 10px 0 14px;
	font-family: var(--bwp-serif);
	font-size: clamp(1.3rem, 1.05rem + 0.8vw, 1.7rem);
	font-weight: 600;
	line-height: 1.22;
	color: var(--bwp-text);
}
.bwp-p {
	margin: 0;
	font-size: 1.04rem;
	line-height: 1.78;
	color: var(--bwp-text-2);
	max-width: 62ch;
}

.bwp-btn-ghost {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	min-height: 44px;
	padding: 0 20px;
	border: 1px solid rgba(200, 149, 108, 0.5);
	border-radius: 999px;
	color: var(--bwp-copper) !important;
	font-family: var(--bwp-sans);
	font-size: 0.86rem;
	font-weight: 600;
	text-decoration: none !important;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
.bwp-btn-ghost:hover { background: var(--bwp-copper-soft); border-color: var(--bwp-copper); color: var(--bwp-copper-2) !important; }

/* ───────────── Kennzahlen ───────────── */

.bwp-facts {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: 12px;
	list-style: none;
	margin: 0 0 72px;
	padding: 0;
}
.bwp-fact {
	position: relative;
	margin: 0;
	padding: 26px 20px 22px;
	background: linear-gradient(180deg, var(--bwp-surface-2), var(--bwp-surface));
	border: 1px solid var(--bwp-line);
	border-radius: 16px;
	display: flex;
	flex-direction: column;
	gap: 8px;
	min-width: 0;
}
.bwp-fact::before {
	content: '';
	position: absolute;
	top: 0;
	left: 20px;
	width: 26px;
	height: 2px;
	border-radius: 0 0 2px 2px;
	background: var(--bwp-copper);
}
.bwp-fact__value {
	font-family: var(--bwp-sans);
	font-size: clamp(1.55rem, 1.1rem + 1.2vw, 2.05rem);
	font-weight: 600;
	line-height: 1;
	letter-spacing: -0.02em;
	color: var(--bwp-text);
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
}
.bwp-fact__label {
	font-size: 0.8rem;
	line-height: 1.35;
	color: var(--bwp-muted);
	hyphens: manual;
}

/* ───────────── Erzählabschnitte ───────────── */

.bwp-story { display: grid; gap: 72px; }
.bwp-row { display: grid; align-items: center; margin: 0; }
.bwp-row--media { grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr); gap: 64px; }
.bwp-row--media.bwp-row--rev .bwp-row__media { order: 2; }
.bwp-row--text {
	grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.6fr);
	gap: 48px;
	align-items: start;
	padding-top: 40px;
	border-top: 1px solid var(--bwp-line);
}
.bwp-row--text .bwp-row__text { display: contents; }
.bwp-row--text .bwp-row__num { grid-column: 1; grid-row: 1; }
.bwp-row--text .bwp-h3 { grid-column: 1; grid-row: 2; margin-top: 4px; }
.bwp-row--text .bwp-p { grid-column: 2; grid-row: 1 / span 2; }
.bwp-row--text:not(:has(.bwp-h3)) .bwp-p { grid-row: 1; }

.bwp-row__media {
	position: relative;
	margin: 0;
	border-radius: var(--bwp-radius);
	overflow: hidden;
	background: #fff;
	border: 1px solid var(--bwp-line);
	box-shadow: 0 30px 60px -30px rgba(0, 0, 0, 0.6);
}
/* Bild absolut im festen Rahmen – sonst wächst ein Kasten mit aspect-ratio mit dem Bild mit (mobile.css setzt height:auto) */
.bwp-row__media img,
.bwp-row__img {
	position: absolute;
	inset: 0;
	display: block;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	margin: 0;
	border-radius: 0;
}
.bwp-row__media.is-wide { aspect-ratio: 3 / 2; }
.bwp-row__media.is-wide img { object-fit: cover; }
.bwp-row__media.is-tall { aspect-ratio: 4 / 3; }
.bwp-row__media.is-tall img { object-fit: contain; padding: 28px; }

.bwp-row__num {
	display: inline-block;
	font-family: var(--bwp-mono);
	font-size: 0.78rem;
	letter-spacing: 0.18em;
	color: var(--bwp-copper);
}

/* ───────────── Technische Daten ───────────── */

.bwp-specs { columns: 2; column-gap: 16px; }
.bwp-spec-card {
	break-inside: avoid;
	-webkit-column-break-inside: avoid;
	display: inline-block;
	width: 100%;
	margin: 0 0 16px;
	padding: 24px 28px 12px;
	background: var(--bwp-surface);
	border: 1px solid var(--bwp-line);
	border-radius: var(--bwp-radius);
}
.bwp-spec-card__title {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 10px;
	font-family: var(--bwp-sans);
	font-size: 1rem;
	font-weight: 600;
	letter-spacing: 0.01em;
	color: var(--bwp-text);
}
.bwp-spec-card__title .bwp-ico {
	width: 36px;
	height: 36px;
	padding: 8px;
	border-radius: 50%;
	background: var(--bwp-copper-soft);
	color: var(--bwp-copper);
}
.bwp-dl { margin: 0; }
.bwp-dl__row {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.25fr);
	gap: 16px;
	padding: 13px 0;
	border-top: 1px solid var(--bwp-line);
}
.bwp-dl__row:first-child { border-top: 0; }
.bwp-dl dt {
	margin: 0;
	font-size: 0.88rem;
	line-height: 1.5;
	color: var(--bwp-muted);
	font-weight: 500;
}
.bwp-dl dd {
	margin: 0;
	font-size: 0.93rem;
	line-height: 1.5;
	color: var(--bwp-text);
	overflow-wrap: anywhere;
	hyphens: auto;
}

/* ───────────── Lieferumfang + Versand ───────────── */

.bwp-box {
	display: grid;
	grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr);
	gap: 48px;
	align-items: start;
}
.bwp-checklist {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px 32px;
	list-style: none;
	margin: 0;
	padding: 0;
}
.bwp-checklist li {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	margin: 0;
	padding: 0;
	font-size: 0.96rem;
	line-height: 1.5;
	color: var(--bwp-text-2);
}
.bwp-checklist__ico {
	flex: 0 0 26px;
	height: 26px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: var(--bwp-copper-soft);
	color: var(--bwp-copper);
	margin-top: -1px;
}
.bwp-checklist__qty {
	display: inline-block;
	margin-right: 8px;
	padding: 1px 7px;
	border: 1px solid rgba(200, 149, 108, 0.4);
	border-radius: 999px;
	font-family: var(--bwp-mono);
	font-size: 0.72rem;
	line-height: 1.5;
	color: var(--bwp-copper);
	vertical-align: 1px;
}

.bwp-ship {
	position: relative;
	padding: 30px 30px 24px;
	background: linear-gradient(180deg, #1a1712, var(--bwp-surface) 60%);
	border: 1px solid rgba(200, 149, 108, 0.22);
	border-radius: var(--bwp-radius);
}
.bwp-ship__title {
	margin: 0 0 18px;
	font-family: var(--bwp-serif);
	font-size: 1.3rem;
	font-weight: 600;
	color: var(--bwp-text);
}
.bwp-ship__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 16px; }
.bwp-ship__list li { display: flex; gap: 14px; align-items: flex-start; margin: 0; padding: 0; }
.bwp-ship__list .bwp-ico { color: var(--bwp-copper); margin-top: 2px; }
.bwp-ship__list span { display: flex; flex-direction: column; gap: 2px; }
.bwp-ship__list strong { font-size: 0.95rem; font-weight: 600; color: var(--bwp-text); }
.bwp-ship__list small { font-size: 0.82rem; color: var(--bwp-muted); line-height: 1.45; }

/* ───────────── Herstellerangaben ───────────── */

.bwp-gpsr { padding-bottom: 96px; }
.bwp-gpsr .bwp-head { margin-bottom: 28px; }
.bwp-gpsr__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
}
.bwp-gpsr__card {
	padding: 22px 24px;
	border: 1px solid var(--bwp-line);
	border-radius: 14px;
	background: rgba(255, 255, 255, 0.015);
}
.bwp-gpsr__title {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 10px;
	font-family: var(--bwp-sans);
	font-size: 0.92rem;
	font-weight: 600;
	color: var(--bwp-text);
}
.bwp-gpsr__title .bwp-ico { color: var(--bwp-copper); }
.bwp-gpsr__card p {
	margin: 0;
	font-size: 0.86rem;
	line-height: 1.65;
	color: #b4aea6;
	overflow-wrap: anywhere;
}

/* Rückfall-Beschreibung */
.bwp-prose { max-width: 760px; margin: 0 auto; padding: 64px 0; color: var(--bwp-text-2); line-height: 1.75; }

/* ───────────── Responsiv ───────────── */

@media (max-width: 1100px) {
	.bwp-subnav__name { display: none; }
}
@media (max-width: 960px) {
	.bwp-row--media { gap: 40px; }
	.bwp-gpsr__grid { grid-template-columns: 1fr 1fr; }
	.bwp-gpsr__card:last-child { grid-column: 1 / -1; }
}
@media (max-width: 782px) {
	.bwp-subnav__buy { display: none; }
	.bwp-subnav__in { min-height: 50px; }
	.bwp-subnav__links { gap: 2px; margin: 0 -6px; }
	.bwp-subnav__links a { font-size: 0.74rem; padding: 0 12px; min-height: 44px; letter-spacing: 0.06em; }
	.bwp-subnav__links a.is-active::after { left: 12px; right: 12px; bottom: 7px; }

	.bwp-sec { padding: 56px 0; scroll-margin-top: calc(var(--bwp-top, 64px) + 60px); }
	.bwp-overview { padding-top: 44px; }
	.bwp-head { margin-bottom: 28px; }

	/* flexibel statt starrem Raster: 5 Kacheln = 3 + 2 (volle Breite), 4 Kacheln = 2 × 2, 6 Kacheln = 3 + 3 */
	.bwp-facts { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 48px; }
	.bwp-fact { flex: 1 1 calc(33.333% - 8px); min-width: calc(33.333% - 8px); padding: 18px 12px 14px; border-radius: 14px; gap: 6px; }
	.bwp-facts--4 .bwp-fact { flex-basis: calc(50% - 8px); min-width: calc(50% - 8px); }
	.bwp-fact::before { left: 12px; width: 20px; }
	.bwp-fact__value { font-size: 1.32rem; }
	.bwp-fact__label { font-size: 0.72rem; }

	.bwp-story { gap: 48px; }
	.bwp-row--media,
	.bwp-row--text { grid-template-columns: 1fr; gap: 20px; }
	.bwp-row--media.bwp-row--rev .bwp-row__media { order: 0; }
	.bwp-row--text { padding-top: 28px; gap: 0; }
	.bwp-row--text .bwp-row__text { display: block; }
	.bwp-row__media { border-radius: 14px; }
	.bwp-row__media.is-tall img { padding: 18px; }
	.bwp-p { font-size: 1rem; line-height: 1.72; }

	.bwp-specs { columns: 1; }
	.bwp-spec-card { padding: 20px 18px 8px; border-radius: 14px; }
	.bwp-dl__row { grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr); gap: 12px; padding: 12px 0; }
	.bwp-dl dt { font-size: 0.84rem; }
	.bwp-dl dd { font-size: 0.9rem; }

	.bwp-box { grid-template-columns: 1fr; gap: 28px; }
	.bwp-checklist { grid-template-columns: 1fr; gap: 12px; }
	.bwp-ship { padding: 24px 20px 20px; border-radius: 14px; }

	.bwp-gpsr { padding-bottom: 64px; }
	.bwp-gpsr__grid { grid-template-columns: 1fr; gap: 10px; }
	.bwp-gpsr__card:last-child { grid-column: auto; }
	.bwp-gpsr__card { padding: 18px; }
}

@media (prefers-reduced-motion: reduce) {
	.bwp-subnav, .bwp-subnav__buy, .bwp-subnav__links a { transition: none; }
}

/* ───────────── Footer: Serviceleiste, Zahlung & Versand, Akkordeons ───────────── */

/* Abstand: Footer beginnt mit der Serviceleiste, die Spalten bekommen den oberen Innenabstand */
html body .bwp-footer { padding-top: 0 !important; }
html body .bwp-footer .bw-footer-main { padding-top: 60px !important; }
@media (max-width: 782px) { html body .bwp-footer .bw-footer-main { padding-top: 36px !important; } }

.bwp-footer-service {
	border-bottom: 1px solid var(--bwp-line);
	background: linear-gradient(180deg, rgba(200, 149, 108, 0.05), rgba(200, 149, 108, 0));
}
.bwp-footer-service__list {
	list-style: none;
	margin: 0;
	padding: 30px 0;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
}
.bwp-footer-service__list li { display: flex; align-items: center; gap: 14px; margin: 0; padding: 0; min-width: 0; }
.bwp-footer-service__ico {
	flex: 0 0 46px;
	height: 46px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: var(--bwp-copper-soft);
	color: var(--bwp-copper);
}
.bwp-footer-service__list strong {
	display: block;
	font-family: var(--bwp-sans);
	font-size: 0.93rem;
	font-weight: 600;
	color: var(--bwp-text);
	line-height: 1.3;
}
.bwp-footer-service__list small {
	display: block;
	margin-top: 3px;
	font-size: 0.8rem;
	line-height: 1.35;
	color: var(--bwp-muted);
}

.bwp-footer-pay { margin-top: 24px; padding-top: 18px; border-top: 1px solid var(--bwp-line); }
.bwp-footer-pay__label {
	display: block;
	margin-bottom: 10px;
	font-family: var(--bwp-mono);
	font-size: 11px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--bwp-muted);
}
.bwp-footer-pay__row { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.bwp-footer-pay__pill {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	height: 30px;
	padding: 0 12px;
	border: 1px solid var(--bwp-line-2);
	border-radius: 8px;
	font-size: 0.8rem;
	font-weight: 500;
	color: var(--bwp-text-2);
}
.bwp-footer-pay__pill svg { width: 16px; height: 16px; color: var(--bwp-copper); }
html body .bwp-footer .bwp-footer-pay__dhl { display: block; height: 30px !important; width: auto !important; border-radius: 6px; }

.bwp-footer-hotline {
	margin-top: 1.2rem;
	padding: 1rem 1.2rem;
	background: rgba(200, 149, 108, 0.08);
	border: 1px solid rgba(200, 149, 108, 0.2);
	border-radius: 12px;
}
.bwp-footer-hotline__label {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	margin-bottom: 0.35rem;
	font-size: 0.7rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.6);
}
.bwp-footer-hotline__label svg { color: var(--bwp-copper); }
html body .bwp-footer a.bwp-footer-hotline__tel {
	display: block;
	font-size: 1.25rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	color: var(--bwp-copper) !important;
	text-decoration: none !important;
}
.bwp-footer-hotline__zeit { display: block; margin-top: 0.25rem; font-size: 0.75rem; color: rgba(255, 255, 255, 0.58); }

.bwp-acc > summary { list-style: none; display: flex; align-items: center; justify-content: space-between; cursor: default; }
.bwp-acc > summary::-webkit-details-marker { display: none; }
.bwp-acc > summary::marker { content: ''; }
.bwp-acc__chev { display: none; }

@media (max-width: 1024px) {
	.bwp-footer-service__list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 24px; }
}
@media (max-width: 782px) {
	html body .bwp-footer .bw-footer-grid { gap: 0 !important; }
	html body .bwp-footer .bw-footer-brand { margin-bottom: 28px; }
	html body .bwp-footer .bwp-footer-kontakt { margin-top: 28px; }
	.bwp-acc { border-top: 1px solid var(--bwp-line); }
	.bw-footer-col:nth-child(3) .bwp-acc { border-bottom: 1px solid var(--bwp-line); }
	.bwp-acc > summary { cursor: pointer; min-height: 54px; }
	html body .bwp-footer .bwp-acc > summary .bw-footer-heading { margin: 0 !important; }
	.bwp-acc__chev {
		display: block;
		width: 9px;
		height: 9px;
		margin-right: 8px;
		border-right: 1.5px solid var(--bwp-copper);
		border-bottom: 1.5px solid var(--bwp-copper);
		transform: translateY(-3px) rotate(45deg);
		transition: transform 0.2s ease;
	}
	.bwp-acc[open] .bwp-acc__chev { transform: translateY(2px) rotate(-135deg); }
	.bwp-acc .bw-footer-links { padding-bottom: 12px; }
	.bwp-acc > summary:focus-visible { outline: 2px solid var(--bwp-copper); outline-offset: 2px; }
}
@media (max-width: 640px) {
	.bwp-footer-service__list { padding: 22px 0; gap: 16px 12px; }
	.bwp-footer-service__list li { align-items: flex-start; gap: 10px; }
	.bwp-footer-service__ico { flex-basis: 36px; height: 36px; }
	.bwp-footer-service__ico svg { width: 17px; height: 17px; }
	.bwp-footer-service__list strong { font-size: 0.84rem; }
	.bwp-footer-service__list small { font-size: 0.74rem; }
}

/* ───────────── Warenkorb / Kasse ───────────── */

.bwp-stepsnav { margin: 0 auto 32px; max-width: 560px; width: 100%; grid-column: 1 / -1; }
.bwp-stepsnav ol {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	position: relative;
}
.bwp-stepsnav li {
	position: relative;
	margin: 0;
	padding: 0;
	display: flex;
	justify-content: center;
	font-family: var(--bwp-sans);
}
.bwp-stepsnav li::before {
	content: '';
	position: absolute;
	top: 16px;
	left: -50%;
	width: 100%;
	height: 2px;
	background: var(--bwp-line-2);
	z-index: 0;
}
.bwp-stepsnav li:first-child::before { display: none; }
.bwp-stepsnav li.is-done::before,
.bwp-stepsnav li.is-current::before { background: var(--bwp-copper); }
.bwp-stepsnav li > a,
.bwp-stepsnav li > span:first-child,
.bwp-stepsnav li { text-decoration: none; }
.bwp-stepsnav li > a { display: contents; color: inherit; }
.bwp-stepsnav__dot {
	position: relative;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: #141417;
	border: 2px solid var(--bwp-line-2);
	color: var(--bwp-muted);
	font-size: 0.85rem;
	font-weight: 700;
}
.bwp-stepsnav li { flex-direction: column; align-items: center; gap: 8px; }
.bwp-stepsnav__label { font-size: 0.8rem; font-weight: 600; letter-spacing: 0.02em; color: var(--bwp-muted); }
.bwp-stepsnav li.is-current .bwp-stepsnav__dot { border-color: var(--bwp-copper); color: #17130e; background: var(--bwp-copper); box-shadow: 0 0 0 5px rgba(200, 149, 108, 0.16); }
.bwp-stepsnav li.is-current .bwp-stepsnav__label { color: var(--bwp-text); }
.bwp-stepsnav li.is-done .bwp-stepsnav__dot { border-color: var(--bwp-copper); color: var(--bwp-copper); }
.bwp-stepsnav li.is-done .bwp-stepsnav__label { color: var(--bwp-text-2); }
.bwp-stepsnav li.is-done a:hover .bwp-stepsnav__label { color: var(--bwp-copper); }

/* Warenkorb: voller Produktname (alte Regel begrenzte auf 2 Zeilen ohne Kappen → Überlappung) */
html body.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tbody tr td.product-name > a[href] {
	max-height: none !important;
	-webkit-line-clamp: unset !important;
	display: block !important;
	overflow: visible !important;
}

.bwp-ci-lz {
	display: flex;
	align-items: center;
	gap: 7px;
	margin-top: 6px;
	font-family: var(--bwp-sans);
	font-size: 0.78rem;
	font-weight: 400;
	color: var(--bwp-muted);
}

.bwp-cart-perks {
	margin-top: 20px;
	padding: 24px 26px 22px;
	background: var(--bwp-surface);
	border: 1px solid var(--bwp-line);
	border-radius: 16px;
}
.bwp-cart-perks__title {
	margin: 0 0 16px !important;
	font-family: var(--bwp-serif) !important;
	font-size: 1.15rem !important;
	font-weight: 600 !important;
	color: var(--bwp-text) !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}
.bwp-cart-perks ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 24px; }
.bwp-cart-perks li { display: flex; align-items: flex-start; gap: 12px; margin: 0; padding: 0; }
.bwp-cart-perks li > svg { flex: 0 0 20px; color: var(--bwp-copper); margin-top: 1px; }
.bwp-cart-perks li span { display: flex; flex-direction: column; gap: 2px; }
.bwp-cart-perks strong { font-size: 0.9rem; font-weight: 600; color: var(--bwp-text); }
.bwp-cart-perks small { font-size: 0.8rem; color: var(--bwp-muted); }
.bwp-cart-perks small a { color: var(--bwp-copper) !important; text-decoration: none !important; font-weight: 600; }

.bwp-ro-item { display: inline-flex; align-items: center; gap: 12px; vertical-align: middle; }
.bwp-ro-thumb {
	position: relative;
	flex: 0 0 56px;
	width: 56px;
	height: 56px;
	border-radius: 10px;
	background: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.bwp-ro-thumb > img { border-radius: 10px; }
.bwp-ro-qty {
	position: absolute;
	top: -7px;
	right: -7px;
	min-width: 22px;
	height: 22px;
	padding: 0 6px;
	border-radius: 999px;
	background: #3a3631;
	border: 2px solid #141417;
	color: #fff;
	font-size: 0.72rem;
	font-weight: 700;
	line-height: 18px;
	text-align: center;
}
html body .bwp-ro-thumb img.bwp-ro-thumb__img { width: 100% !important; height: 100% !important; object-fit: contain; padding: 4px; margin: 0 !important; max-width: none !important; }
.bwp-ro-name { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.bwp-ro-name__main { font-weight: 600; color: var(--bwp-text); line-height: 1.3; overflow-wrap: normal; word-break: normal; hyphens: manual; }
.bwp-ro-name__sub { font-family: var(--bwp-mono); font-size: 0.72rem; letter-spacing: 0.04em; color: var(--bwp-muted); line-height: 1.35; }

/* Kasse: „inkl. MwSt.“ war 11 px bei 35 % Weiß (Kontrast < 4,5:1, axe „serious“) */
html body .bw-mwst { color: #a8a29a !important; font-size: 12px !important; }

/* mobile Warenkorb-Karte: festes Raster aus Altregeln – Lieferzeitzeile würde abgeschnitten (Summe nennt den Versandzeitpunkt) */
@media (max-width: 782px) { body.woocommerce-cart .bwp-ci-lz { display: none !important; } }
@media (max-width: 640px) {
	.bwp-stepsnav { margin-bottom: 24px; }
	.bwp-stepsnav__dot { width: 30px; height: 30px; font-size: 0.8rem; }
	.bwp-stepsnav li::before { top: 14px; }
	.bwp-stepsnav__label { font-size: 0.74rem; }
	.bwp-cart-perks { padding: 20px 18px; }
	.bwp-cart-perks ul { grid-template-columns: 1fr; gap: 14px; }
	.bwp-ro-thumb { flex-basis: 44px; width: 44px; height: 44px; }
}

/* ───────────── 404 mit Modellvorschlägen ───────────── */

html body .bwp-404 { padding-top: 72px !important; padding-bottom: 80px !important; min-height: 0 !important; }
html body .bwp-404 .bw-404 { min-height: 0 !important; padding-top: 0 !important; margin-top: 0 !important; }
.bwp-404__more { margin-top: 72px; padding-top: 56px; border-top: 1px solid var(--bwp-line); }
.bwp-404__head { text-align: center; margin-bottom: 32px; }
.bwp-404__head .bwp-kicker { justify-content: center; }
html body .bwp-404 ul.products {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 20px !important;
	margin: 0 !important;
	padding: 0 !important;
}
html body .bwp-404 ul.products::before,
html body .bwp-404 ul.products::after { display: none !important; }
html body .bwp-404 ul.products li.product { width: auto !important; float: none !important; margin: 0 !important; }
@media (max-width: 900px) {
	html body .bwp-404 { padding-top: 40px !important; }
	html body .bwp-404 ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px !important; }
	.bwp-404__more { margin-top: 48px; padding-top: 40px; }
}

/* ───────────── Produktkarten: Lieferzeit über dem Preis ───────────── */

html body ul.products li.product .bwp-card-lz {
	display: flex !important;
	align-items: center;
	gap: 7px;
	margin: auto 16px 0 !important;
	padding: 14px 0 0 !important;
	font-family: var(--bwp-sans);
	font-size: 0.75rem;
	line-height: 1.3;
	color: var(--bwp-muted);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.bwp-card-lz__dot {
	flex: 0 0 7px;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #5fb878;
	box-shadow: 0 0 0 3px rgba(95, 184, 120, 0.16);
}
html body ul.products li.product .bwp-card-lz + .price {
	margin-top: 6px !important;
	padding-top: 0 !important;
}
@media (max-width: 640px) {
	html body ul.products li.product .bwp-card-lz { margin: auto 12px 0 !important; padding-top: 10px !important; font-size: 0.7rem; gap: 6px; }
	html body ul.products li.product .bwp-card-lz + .price { margin-top: 4px !important; }
}

/* ───────────── Produktseite: Kopfbereich (Galerie + Kaufbox) ───────────── */

/* weniger Leerraum zwischen Kopf und Brotkrumen (vorher 96 px Desktop / 64 px mobil) */
body.bwp-pdp .bw-section--single-product { padding-top: 28px !important; }
body.bwp-pdp .bw-sp-breadcrumb { padding-top: 12px !important; }

/* Kurzbeschreibung: Haken statt Punkte, ruhiger Rhythmus */
body.bwp-pdp .bw-sp-details .bw-sp-short-desc { color: var(--bwp-text-2) !important; font-size: 0.97rem !important; }
body.bwp-pdp .bw-sp-details .bw-sp-short-desc li {
	padding-left: 32px;
	margin: 0 0 0.7em;
	line-height: 1.55;
}
body.bwp-pdp .bw-sp-details .bw-sp-short-desc li::before {
	left: 0;
	top: 0.12em;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: rgba(200, 149, 108, 0.14) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c8956c' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center / 11px no-repeat;
}

/* Statische Vorschauleiste (bis die Galerie startet) */
body.bwp-pdp .bw-sp-gallery { position: relative; }
.bwp-thumbs-static {
	position: absolute;
	left: 21px;
	right: 21px;
	bottom: 21px;
	height: 88px;
	z-index: 1;
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 0 12px;
	list-style: none;
	overflow: hidden;
}
.bwp-thumbs-static li { flex: 0 0 64px; width: 64px; height: 64px; margin: 0; padding: 0; cursor: pointer; }
.bwp-thumbs-static img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	background: #fff;
	border-radius: 8px;
	border: 1px solid rgba(255, 255, 255, 0.14);
	opacity: 0.72;
	transition: opacity 0.2s ease;
}
/* Eltern-Theme gibt allen Galeriebildern 2 rem Innenabstand und einen Hover-Zoom – hier nicht */
body.bwp-pdp .bw-sp-gallery .bwp-thumbs-static img,
body.bwp-pdp .bw-sp-gallery:hover .bwp-thumbs-static img {
	padding: 0 !important;
	transform: none !important;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	margin: 0 !important;
}
.bwp-thumbs-static li.is-active img,
.bwp-thumbs-static li:hover img { opacity: 1; border-color: var(--bwp-copper); }
.bw-sp-gallery:has(.flex-control-thumbs) .bwp-thumbs-static { display: none; }

/* Herstellerangaben: Sicherheitshinweise bekommen mehr Breite */
@media (min-width: 961px) {
	.bwp-gpsr__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.35fr); }
}

@media (max-width: 782px) {
	body.bwp-pdp .bw-section--single-product { padding-top: 12px !important; }
	body.bwp-pdp .bw-sp-breadcrumb { padding-top: 8px !important; }
	.bwp-thumbs-static { bottom: 7px; height: 80px; }
	.bwp-thumbs-static li { flex-basis: 56px; width: 56px; height: 56px; }
	.bwp-subnav__in { min-height: 46px; }
	.bwp-subnav__links a { min-height: 44px; }
}

/* ───────────── Feinschliff Barrierefreiheit ───────────── */

/* Produktseite: Kategorie- und Markenlinks im Meta-Block nicht nur an der Farbe erkennbar */
body.bwp-pdp .product_meta a {
	text-decoration: underline !important;
	text-decoration-thickness: 1px !important;
	text-decoration-color: rgba(212, 162, 122, 0.45) !important;
	text-underline-offset: 3px;
	transition: text-decoration-color 0.2s ease;
}
body.bwp-pdp .product_meta a:hover,
body.bwp-pdp .product_meta a:focus-visible { text-decoration-color: currentColor !important; }

/* Shop-Filter: Blocktitel sind h2 statt h3 (Überschriftenfolge h1 → h2), Optik unverändert */
body .bw-shop-sidebar .bw-sidebar-block h2.bw-sidebar-block__title {
	font-family: 'JetBrains Mono', monospace !important;
	font-size: 0.72rem !important;
	font-weight: 500 !important;
	line-height: 1.2 !important;
	letter-spacing: 0.18em !important;
	text-transform: uppercase !important;
	color: var(--bw-accent, #c8956c) !important;
	margin: 0 0 12px !important;
	padding: 0 0 8px !important;
	border-bottom: 1px solid rgba(200, 149, 108, 0.12) !important;
}

/* ───────────── Farbauswahl (Farbvarianten, inc/premium-varianten.php) ───────────── */
/* Gleiche Optik auf allen Breiten: dunkle Kachel, helle Bildbühne, Farbpunkt, Preis je Farbe.
   ID-Boost, weil mobile.css (helle Chips) und pdp.css die Kacheln mit !important setzen. */
html body.bwp-pdp:not(#a):not(#b):not(#c) .bw-color-swatches {
	margin: 2px 0 20px !important;
}
html body.bwp-pdp:not(#a):not(#b):not(#c) .bw-color-swatches__label {
	display: flex !important;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 4px 8px;
	font-family: var(--bwp-mono);
	font-size: 11px !important;
	font-weight: 500 !important;
	letter-spacing: 0.16em !important;
	text-transform: uppercase !important;
	color: var(--bwp-muted) !important;
	margin: 0 0 12px !important;
}
html body.bwp-pdp:not(#a):not(#b):not(#c) .bw-color-swatches__label .bw-color-swatches__current {
	font-family: var(--bwp-sans);
	font-size: 14px;
	font-weight: 600 !important;
	letter-spacing: 0 !important;
	text-transform: none;
	color: var(--bwp-text) !important;
}
html body.bwp-pdp:not(#a):not(#b):not(#c) .bwp-sw-anzahl {
	margin-left: auto;
	letter-spacing: 0.12em;
	color: var(--bwp-muted);
}
html body.bwp-pdp:not(#a):not(#b):not(#c) .bw-color-swatches__grid {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(92px, 1fr)) !important;
	gap: 10px !important;
}
html body.bwp-pdp:not(#a):not(#b):not(#c) a.bw-color-swatch {
	position: relative;
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
	gap: 7px !important;
	width: auto !important;
	min-width: 0;
	padding: 6px 6px 9px !important;
	border: 1px solid var(--bwp-line-2) !important;
	border-radius: 14px !important;
	background: rgba(255, 255, 255, 0.025) !important;
	box-shadow: none !important;
	overflow: visible !important;
	text-decoration: none !important;
	transition: border-color 0.2s ease, background-color 0.2s ease, transform 0.2s ease !important;
}
html body.bwp-pdp:not(#a):not(#b):not(#c) a.bw-color-swatch:hover {
	border-color: rgba(212, 162, 122, 0.55) !important;
	transform: translateY(-1px);
}
html body.bwp-pdp:not(#a):not(#b):not(#c) a.bw-color-swatch:focus-visible {
	outline: 2px solid var(--bwp-copper-2) !important;
	outline-offset: 2px;
}
html body.bwp-pdp:not(#a):not(#b):not(#c) a.bw-color-swatch.active {
	border-color: var(--bwp-copper) !important;
	background: var(--bwp-copper-soft) !important;
	box-shadow: 0 0 0 1px var(--bwp-copper) inset !important;
}
html body.bwp-pdp:not(#a):not(#b):not(#c) a.bw-color-swatch.active::after {
	content: '';
	position: absolute;
	top: -6px;
	right: -6px;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: var(--bwp-copper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center / 11px no-repeat;
	box-shadow: 0 0 0 2px #0e0d0c;
}
html body.bwp-pdp:not(#a):not(#b):not(#c) a.bw-color-swatch img {
	display: block;
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 1 / 1;
	object-fit: contain !important;
	padding: 5px !important;
	border-radius: 10px !important;
	background: #f4f2ee !important;
	box-shadow: none !important;
	mix-blend-mode: normal !important;
	transform: none !important;
}
html body.bwp-pdp:not(#a):not(#b):not(#c) .bwp-sw-dot {
	position: absolute;
	top: 11px;
	left: 11px;
	z-index: 1;
	width: 13px;
	height: 13px;
	border-radius: 50%;
	box-shadow: 0 0 0 2px #fff, 0 1px 4px rgba(0, 0, 0, 0.35);
}
html body.bwp-pdp:not(#a):not(#b):not(#c) a.bw-color-swatch .bw-color-swatch__name {
	display: block !important;
	min-height: 0 !important;
	padding: 0 2px !important;
	background: transparent !important;
	font-family: var(--bwp-sans);
	font-size: 12px !important;
	font-weight: 600 !important;
	line-height: 1.25 !important;
	color: var(--bwp-text-2) !important;
	text-align: center !important;
	white-space: normal !important;
	overflow: hidden;
	-webkit-line-clamp: unset;
}
html body.bwp-pdp:not(#a):not(#b):not(#c) a.bw-color-swatch.active .bw-color-swatch__name {
	color: var(--bwp-text) !important;
}
html body.bwp-pdp:not(#a):not(#b):not(#c) .bwp-sw-preis {
	display: block;
	margin-top: -3px;
	font-family: var(--bwp-mono);
	font-size: 11px;
	line-height: 1.2;
	text-align: center;
	color: var(--bwp-muted);
	font-variant-numeric: tabular-nums;
}
html body.bwp-pdp:not(#a):not(#b):not(#c) a.bw-color-swatch.active .bwp-sw-preis {
	color: var(--bwp-copper-2);
}
@media (max-width: 400px) {
	html body.bwp-pdp:not(#a):not(#b):not(#c) .bw-color-swatches__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		gap: 8px !important;
	}
	html body.bwp-pdp:not(#a):not(#b):not(#c) a.bw-color-swatch .bw-color-swatch__name { font-size: 11.5px !important; }
}
@media (prefers-reduced-motion: reduce) {
	html body.bwp-pdp:not(#a):not(#b):not(#c) a.bw-color-swatch { transition: none !important; }
	html body.bwp-pdp:not(#a):not(#b):not(#c) a.bw-color-swatch:hover { transform: none; }
}

/* Kaufknopf bei Farbvarianten: einziger Knopf ist der Link a.bw-atc-link (Warenkorb-Drawer per AJAX, Menge wird übernommen).
   fix-produkt.css blendet „form.cart button.single_add_to_cart_button“ für einfache Produkte ein – das traf auch den
   nativen Submit des Variantenformulars (zwei Knöpfe). */
html body.single-product:not(#a):not(#b):not(#c) .variations_form button.single_add_to_cart_button:not(.bw-atc-link) {
	display: none !important;
}
html body.single-product:not(#a):not(#b):not(#c) .variations_form .woocommerce-variation-add-to-cart a.bw-atc-link {
	flex: 1 1 auto !important;
	min-width: 0 !important;
}

/* Produktkarten: Farbpunkte vor „N Farben“ */
.bw-card-code__part--farben {
	display: inline-flex !important;
	align-items: center;
	gap: 7px;
}
.bwp-farben {
	display: inline-flex;
	align-items: center;
	gap: 3px;
}
.bwp-farben__dot {
	width: 11px;
	height: 11px;
	border-radius: 50%;
	box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.45), 0 0 0 2px rgba(0, 0, 0, 0.35);
}
.bwp-farben__mehr {
	margin-left: 2px;
	font-size: 10px;
	color: var(--bwp-muted);
}
/* „ab“ vor dem niedrigsten Variantenpreis auf Karten */
.bwp-ab {
	font-size: 0.78em;
	font-weight: 500;
	letter-spacing: 0.02em;
	opacity: 0.75;
}
