/*!
 * Bud Buddies Relaunch 2026 – Design V2
 * Wird nach style.css geladen. Quelle: sass/v2.scss (identischer Inhalt, reines CSS).
 * Nur Farben aus der bestehenden Palette.
 */

/* Schriften direkt aus dem Theme (vorher Plugin «Custom Fonts») */
@font-face { font-family: 'Argone LC Black'; font-style: normal; font-weight: 400; font-display: swap; src: url('./fonts/argone_lc_black-webfont.woff2') format('woff2'), url('./fonts/argone_lc_black-webfont.woff') format('woff'); }
@font-face { font-family: 'Balgin'; font-style: normal; font-weight: 400; font-display: swap; src: url('./fonts/balgin_regular-webfont.woff2') format('woff2'), url('./fonts/balgin_regular-webfont.woff') format('woff'); }
@font-face { font-family: 'Balgin'; font-style: normal; font-weight: 700; font-display: swap; src: url('./fonts/balgin_black-webfont.woff2') format('woff2'), url('./fonts/balgin_black-webfont.woff') format('woff'); }

:root {
	--bb-black: #404040;
	--bb-white: #fff;
	--bb-hellblau: #C9F5FF;
	--bb-blau: #6BE3FF;
	--bb-hellorange: #FEE3AF;
	--bb-orange: #FFCD67;
	--bb-hellviolett: #F3B6FD;
	--bb-purple: #D922FF;
	--bb-hellgelb: #FCF7BF;
	--bb-gelb: #FEF687;
	--bb-hellpink: #FF97C8;
	--bb-pink: #FF1D86;
	--bb-dunkelblau: #4C16F2;
	--bb-g-pink: linear-gradient(#F9D4E6, #FF1D86);
	--bb-g-purple: linear-gradient(#F2B2FF, #E055FD);
	--bb-g-violet: linear-gradient(#F2B2FF, #D922FF);
	--bb-g-blue: linear-gradient(#A09CD5, #4C16F2);
	--bb-g-sky: linear-gradient(#D7F7FF, #6BE3FF);
	--bb-g-orange: linear-gradient(#FEE5B3, #FFCD67);
	--bb-shadow: 0 6px 12px rgba(0, 0, 0, 0.2);
	--bb-card-shadow: 12px 8px 26px rgba(0, 0, 0, 0.12);
	--bb-argone: 'Argone LC Black', sans-serif;
	--bb-balgin: 'Balgin', sans-serif;
	--bb-radius: 16px;
	--bb-ease: cubic-bezier(.26, 1.04, .54, 1);
	/* Textschatten: Verschiebung wächst mit der Schriftgrösse, gleiche Grösse = gleiche Verschiebung */
	--bb-ts: clamp(2px, .1em, 10px);
}

.bb-visually-hidden {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
	padding: 0;
	margin: -1px;
}

/* ------------------------------------------------------------------ Warnhinweis */
.bb-warnbar {
	position: relative;
	z-index: 60;
	background: var(--bb-dunkelblau);
	color: var(--bb-white);
	text-align: center;
	font-family: var(--bb-balgin);
	font-weight: 700;
	font-size: 15px;
	line-height: 1.4;
	padding: 10px 16px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
}
/* «18+» wie im Warenkorb, auf dem dunkelblauen Balken in Weiss */
.bb-warnbar__age { flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; min-width: 34px; height: 28px; padding: 2px 6px 0; box-sizing: border-box; border-radius: 8px; background: var(--bb-white); font-family: var(--bb-argone); font-weight: 400; font-size: 15px; line-height: 1; color: var(--bb-dunkelblau); }

/* ------------------------------------------------------------------ Buttons */
.bb-btn,
a.bb-btn,
.bb-btn.button,
.woocommerce a.bb-btn.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 46px;
	padding: 0 22px;
	border: 0;
	border-radius: 10px;
	font-family: var(--bb-balgin);
	font-weight: 700;
	font-size: 17px;
	line-height: 1;
	color: var(--bb-white);
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	box-shadow: var(--bb-shadow);
	background: var(--bb-g-blue);
	transition: transform .15s ease, box-shadow .15s ease, opacity .15s ease;
}
.bb-btn:hover,
.bb-btn:focus-visible {
	color: var(--bb-white);
	transform: translateY(-2px);
	box-shadow: 0 10px 18px rgba(0, 0, 0, 0.22);
}
.bb-btn:active { transform: translateY(2px); box-shadow: 0 3px 6px rgba(0, 0, 0, 0.2); }
.bb-btn:visited { color: var(--bb-white); }
.bb-btn .bb-arr { display: inline-block; transition: transform .15s ease; }
.bb-btn:hover .bb-arr { transform: translateX(3px); }
.bb-btn--sm,
.woocommerce a.bb-btn--sm.button { min-height: 36px; padding: 0 15px; font-size: 15px; }
.bb-btn.bb-btn--pink { background: var(--bb-g-pink); }
.bb-btn.bb-btn--purple { background: var(--bb-g-purple); }
.bb-btn.bb-btn--blue { background: var(--bb-g-blue); }
.bb-btn.bb-btn--sky { background: var(--bb-g-sky); }
.bb-btn.bb-btn--white,
.bb-btn.bb-btn--white:visited,
.bb-btn.bb-btn--white:hover { background: var(--bb-white); color: var(--bb-black); }
.bb-btn.bb-btn--product,
.woocommerce a.bb-btn.bb-btn--product.button,
.woocommerce ul.products li.product a.bb-btn.bb-btn--product.button { background: var(--bb-btn-bg, var(--bb-g-pink)); color: var(--bb-white); }
.woocommerce ul.products li.product .bb-btn.button,
.woocommerce ul.products li.product a.bb-btn {
	display: inline-flex;
	margin: 0;
	min-height: 36px;
	padding: 0 15px;
	border-radius: 10px;
	font-family: var(--bb-balgin);
	font-weight: 700;
	font-size: 15px;
	line-height: 1;
	color: var(--bb-white);
}
.bb-btn.is-disabled,
.bb-btn[disabled] {
	opacity: .5;
	box-shadow: none;
	transform: none;
	cursor: not-allowed;
}
.woocommerce a.bb-btn.added::after { margin-left: 4px; }
.bb-pcard .added_to_cart {
	position: relative;
	z-index: 3;
	display: block;
	margin-top: 6px;
	font-family: var(--bb-balgin);
	font-size: 13px;
	font-weight: 700;
	color: var(--bb-white);
	text-align: right;
}

.bb-textlink {
	font-family: var(--bb-balgin);
	font-weight: 700;
	color: var(--bb-black);
	text-decoration: underline;
}
.bb-textlink:visited,
.bb-textlink:hover { color: var(--bb-black); }

/* ------------------------------------------------------------------ Typo-Bausteine */
.bb-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	padding: 6px 12px 4px;
	border-radius: 8px;
	background: var(--bb-white);
	font-family: var(--bb-argone);
	text-transform: uppercase;
	font-size: 15px;
	line-height: 1.2;
	color: var(--bb-black);
	box-shadow: 0 6px 12px rgba(0, 0, 0, 0.12);
}
.bb-eyebrow i {
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: var(--bb-pink);
	display: inline-block;
}
.bb-h2 {
	margin: 0 0 18px;
	font-family: var(--bb-argone);
	text-transform: uppercase;
	font-size: 58px;
	line-height: 1;
	color: var(--bb-white);
	text-shadow: var(--bb-ts) var(--bb-ts) 0 var(--bb-dunkelblau);
}
.bb-h2--sm { font-size: 46px; }
.bb-h2--pink { text-shadow: var(--bb-ts) var(--bb-ts) 0 var(--bb-pink); }
.bb-h2--purple { text-shadow: var(--bb-ts) var(--bb-ts) 0 var(--bb-purple); }
.bb-h2--blue { text-shadow: var(--bb-ts) var(--bb-ts) 0 var(--bb-dunkelblau); }
.bb-center { text-align: center; }
.bb-muted { font-size: 14px; opacity: .8; }

.bb-paper {
	background: var(--bb-white);
	border-radius: var(--bb-radius);
	box-shadow: 12px 8px 26px rgba(0, 0, 0, 0.10);
	color: var(--bb-black);
}

.bb-tag {
	display: inline-block;
	padding: 3px 8px 1px;
	border-radius: 8px;
	font-family: var(--bb-argone);
	text-transform: uppercase;
	font-size: 14px;
	line-height: 1.3;
	color: var(--bb-white);
	background: var(--bb-g-purple);
}
.bb-tag--sky { background: var(--bb-g-sky); }
.bb-tag--orange { background: var(--bb-g-orange); }
.bb-tag--pink { background: var(--bb-g-pink); }
.bb-tag--purple { background: var(--bb-g-purple); }
.bb-tag--blue { background: var(--bb-g-blue); }

/* ------------------------------------------------------------------ Header / Hero */
.bb-header.has-hero { padding-bottom: 150px; }
.bb-hero {
	position: relative;
	z-index: 45;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	padding-top: 56px;
}
.bb-hero__title {
	margin: 20px 0 0;
	font-family: var(--bb-argone);
	text-transform: uppercase;
	font-size: 80px;
	line-height: .95;
	color: var(--bb-white);
	text-shadow: var(--bb-ts) var(--bb-ts) 0 var(--bb-dunkelblau);
}
.page-template-page-verkaufsstellen .bb-hero__title { text-shadow: var(--bb-ts) var(--bb-ts) 0 var(--bb-dunkelblau); }
.page-template-page-about .bb-hero__title { font-size: 110px; text-shadow: var(--bb-ts) var(--bb-ts) 0 var(--bb-purple); }
.bb-hero__sub {
	margin: 20px 0 0;
	max-width: 560px;
	font-family: var(--bb-balgin);
	font-size: 20px;
	line-height: 1.5;
	font-weight: 700;
	color: var(--bb-white);
	text-shadow: 0 1px 10px rgba(0, 0, 0, 0.18);
}
.page-template-page-about .bb-hero__sub {
	font-family: var(--bb-argone);
	text-transform: uppercase;
	font-weight: 400;
	font-size: 30px;
	text-shadow: var(--bb-ts) var(--bb-ts) 0 var(--bb-purple);
}
.page-template-page-about .bb-header::after {
	background-image: url("./svg/header-background-gradient-about.svg");
}

/* ------------------------------------------------------------------ Shop */
.bb-shop { position: relative; z-index: 46; }
.bb-shop > .container { margin-top: -40px; }
.bb-shop .woocommerce-products-header,
.bb-shop .woocommerce-breadcrumb { display: none; }

.bb-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	justify-content: center;
	margin: 0 0 36px;
}
.bb-tab,
a.bb-tab,
button.bb-tab {
	display: inline-block;
	padding: 3px 10px 0;
	border: 0;
	border-radius: 11px;
	font-family: var(--bb-argone);
	text-transform: uppercase;
	font-size: 24px;
	line-height: 1.4;
	color: var(--bb-white);
	text-decoration: none;
	cursor: pointer;
	box-shadow: var(--bb-shadow);
	background: var(--bb-g-purple);
	transition: transform .15s ease, box-shadow .15s ease;
}
.bb-tab:hover,
.bb-tab:visited { color: var(--bb-white); }
.bb-tab:hover { transform: translateY(-2px); }
.bb-tab.is-active { box-shadow: 0 0 0 3px var(--bb-white), var(--bb-shadow); }
/* Farben je Kategorie (doppelte Klasse, damit sie die Grundfarbe von a.bb-tab schlagen) */
.bb-tab.bb-tab--orange { background: var(--bb-g-orange); }
.bb-tab.bb-tab--sky { background: var(--bb-g-sky); }
.bb-tab.bb-tab--purple { background: var(--bb-g-purple); }
.bb-tab.bb-tab--pink { background: var(--bb-g-pink); }
.bb-tab.bb-tab--blue { background: var(--bb-g-blue); }

.woocommerce ul.products.bb-grid,
ul.products.bb-grid,
.bb-product .related ul.products,
.bb-seo-page ul.products:not(.swiper-wrapper) {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 36px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.woocommerce ul.products.bb-grid::before,
.woocommerce ul.products.bb-grid::after,
.bb-product .related ul.products::before,
.bb-product .related ul.products::after { display: none; content: none; }
.woocommerce ul.products.bb-grid li.product,
.woocommerce .bb-product .related ul.products li.product,
.woocommerce-page ul.products li.bb-pcard-li {
	float: none;
	width: auto;
	margin: 0 !important;
	padding: 0;
	clear: none !important;
}

/* Produktkarte */
.bb-pcard {
	position: relative;
	height: 100%;
	display: flex;
	flex-direction: column;
	border-radius: var(--bb-radius);
	background: var(--bb-card-bg, var(--bb-g-orange));
	box-shadow: var(--bb-card-shadow);
	overflow: hidden;
	transition: transform .25s var(--bb-ease), box-shadow .25s ease;
}
.bb-pcard:hover { transform: translateY(-6px); box-shadow: 14px 14px 30px rgba(0, 0, 0, 0.16); }
.bb-pcard__img {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 240px;
}
.bb-pcard__img img {
	width: 100%;
	height: auto;
	display: block;
	margin: 0 !important;
}
.bb-pcard__body {
	display: flex;
	flex-direction: column;
	flex-grow: 1;
	padding: 16px;
}
.bb-pcard__title,
.archive-products .bb-pcard__title {
	margin: 0 0 7px;
	font-family: var(--bb-argone);
	text-transform: uppercase;
	font-size: 40px;
	line-height: 1;
	text-align: center;
	color: var(--bb-white);
	text-shadow: var(--bb-ts) var(--bb-ts) 0 var(--bb-title-shadow, var(--bb-pink));
}
.bb-pcard__link,
.bb-pcard__link:visited,
.bb-pcard__link:hover { color: var(--bb-white); text-decoration: none; }
.bb-pcard__link::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
}
.bb-pcard__sub {
	margin: 0 0 16px;
	font-family: var(--bb-argone);
	text-transform: uppercase;
	font-size: 19px;
	line-height: 1.1;
	text-align: center;
	color: var(--bb-white);
	opacity: .75;
}
.bb-pcard__foot {
	margin-top: auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}
.bb-pcard__price {
	font-family: var(--bb-argone);
	text-transform: uppercase;
	font-size: 20px;
	line-height: 1;
	color: var(--bb-white);
}
.bb-pcard__price .woocommerce-Price-amount,
.bb-pcard__price .woocommerce-Price-currencySymbol { color: var(--bb-white); }
.bb-pcard__foot .bb-btn { position: relative; z-index: 2; }

/* Laborkachel im Raster */
.bb-grid-promo { grid-column: span 2; list-style: none; }
.bb-promo {
	height: 100%;
	box-sizing: border-box;
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
	gap: 28px;
	align-items: center;
	padding: 34px;
	border-radius: var(--bb-radius);
	background: var(--bb-g-violet);
	box-shadow: var(--bb-card-shadow);
	color: var(--bb-white);
}
.bb-promo__text { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; }
.bb-promo__title {
	margin: 0;
	font-family: var(--bb-argone);
	text-transform: uppercase;
	font-size: 46px;
	line-height: 1;
	color: var(--bb-white);
	text-shadow: var(--bb-ts) var(--bb-ts) 0 var(--bb-dunkelblau);
}
.bb-promo p { margin: 0; font-family: var(--bb-balgin); font-size: 17px; line-height: 1.6; color: var(--bb-white); }

/* Laborkarte (gezeichnet, kein Foto) */
.bb-lab {
	display: flex;
	flex-direction: column;
	gap: 16px;
	padding: 22px;
	border-radius: var(--bb-radius);
	background: var(--bb-white);
	box-shadow: var(--bb-shadow);
	color: var(--bb-black);
	font-family: var(--bb-balgin);
}
.bb-lab__head { display: flex; align-items: center; gap: 12px; }
.bb-lab__head strong {
	display: block;
	font-family: var(--bb-argone);
	text-transform: uppercase;
	font-weight: 400;
	font-size: 20px;
	line-height: 1;
}
.bb-lab__head small { display: block; font-size: 13px; font-weight: 700; margin-top: 3px; }
.bb-lab__pdf {
	width: 48px;
	height: 58px;
	flex-shrink: 0;
	box-sizing: border-box;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	padding-bottom: 7px;
	border-radius: 8px;
	background: var(--bb-g-violet);
	color: var(--bb-white);
	font-family: var(--bb-argone);
	font-size: 14px;
}
.bb-lab__row { display: flex; flex-direction: column; gap: 7px; }
.bb-lab__row > div:first-child {
	display: flex;
	justify-content: space-between;
	gap: 10px;
	white-space: nowrap;
	font-size: 17px;
	font-weight: 700;
}
.bb-lab__bar { height: 12px; border-radius: 6px; background: var(--bb-hellgelb); overflow: hidden; }
.bb-lab__bar span { display: block; height: 100%; border-radius: 6px; }
.bb-lab__bar .is-pink { background: var(--bb-g-violet); }
.bb-lab__bar .is-blue { background: var(--bb-g-blue); }
.bb-lab__foot { font-size: 12px; line-height: 1.4; border-top: 2px solid var(--bb-hellorange); padding-top: 10px; }
.bb-lab--small { padding: 16px; gap: 12px; }
.bb-lab--small .bb-lab__pdf { width: 40px; height: 48px; font-size: 12px; }
.bb-lab--small .bb-lab__head strong { font-size: 16px; }
.bb-lab--small .bb-lab__row > div:first-child { font-size: 15px; }

/* ------------------------------------------------------------------ Sektionen Startseite */
.bb-wave { position: relative; margin-top: -1px; line-height: 0; }
.bb-wave svg { display: block; width: 100%; height: 80px; }
.bb-shop .bb-wave:first-of-type { margin-top: 110px; }
.bb-sec { position: relative; margin-top: -1px; padding: 40px 0 110px; font-family: var(--bb-balgin); }
.bb-sec p { font-size: 18px; line-height: 1.6; }
.bb-sec--blue { background: var(--bb-g-blue); color: var(--bb-white); }
.bb-sec--blue p { color: var(--bb-white); }
.bb-sec--pink { background: var(--bb-g-pink); color: var(--bb-black); }
.bb-sec--sky { background: var(--bb-g-sky); color: var(--bb-black); }
.bb-sec--hellgelb { background: linear-gradient(var(--bb-hellgelb), var(--bb-gelb)); color: var(--bb-black); }
.bb-sec--hellblau { background: var(--bb-hellblau); color: var(--bb-black); }
.bb-sec--violet { background: var(--bb-g-violet); color: var(--bb-black); }
.bb-sec--hellviolett { background: var(--bb-hellviolett); color: var(--bb-black); }
.bb-sec--last { padding-bottom: 50px; }

.bb-split {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 64px;
	align-items: center;
}
.bb-split__text { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; }
.bb-split__text .bb-btn { margin-top: 12px; }
.bb-split__media img,
.bb-photo {
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3.4;
	object-fit: cover;
	display: block;
	border-radius: 40px;
	box-shadow: var(--bb-card-shadow);
}
.bb-split--featured .bb-split__media { display: flex; justify-content: center; }
.bb-split--featured .bb-split__media img {
	width: auto;
	max-width: 100%;
	max-height: 520px;
	aspect-ratio: auto;
	object-fit: contain;
	border-radius: 0;
	box-shadow: none;
}
.bb-split--stores { grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); }

.bb-featured__title {
	margin: 10px 0 0;
	font-family: var(--bb-argone);
	text-transform: uppercase;
	font-size: 80px;
	line-height: .95;
	color: var(--bb-white);
	text-shadow: var(--bb-ts) var(--bb-ts) 0 var(--bb-title-shadow, var(--bb-pink));
}
.bb-featured__sub {
	margin: 6px 0 0;
	font-family: var(--bb-argone);
	text-transform: uppercase;
	font-size: 30px;
	color: var(--bb-white);
}
.bb-featured__text p { margin: 8px 0 0; color: var(--bb-black); }
.bb-featured__buy { display: flex; align-items: center; gap: 22px; margin-top: 10px; flex-wrap: wrap; }
.bb-featured__buy .bb-btn { margin-top: 0; }
.bb-featured__price {
	font-family: var(--bb-argone);
	text-transform: uppercase;
	font-size: 30px;
	color: var(--bb-white);
	text-shadow: var(--bb-ts) var(--bb-ts) 0 var(--bb-title-shadow, var(--bb-pink));
}
.bb-featured__price .woocommerce-Price-amount { color: var(--bb-white); }

.bb-badges { display: flex; flex-wrap: wrap; gap: 10px; margin: 12px 0 6px; }
.bb-badges .bb-badge,
.bb-badge {
	display: inline-block;
	padding: 2px 8px;
	border-radius: 9px;
	font-family: var(--bb-argone);
	text-transform: uppercase;
	font-size: 19px;
	line-height: 1.5;
	color: var(--bb-white);
	margin: 0;
}
.bb-badges .bb-badge:nth-child(1) { background: var(--bb-blau); }
.bb-badges .bb-badge:nth-child(2) { background: var(--bb-orange); }
.bb-badges .bb-badge:nth-child(3) { background: var(--bb-purple); }
.bb-badges .bb-badge:nth-child(4) { background: var(--bb-dunkelblau); }

.bb-section-head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 28px;
}
.bb-section-head .bb-h2 { margin: 0; }

/* Läden */
.bb-store-grid { display: grid; gap: 22px; }
.bb-store-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.bb-store-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
.bb-store {
	padding: 22px;
	display: flex;
	flex-direction: column;
	gap: 14px;
	font-family: var(--bb-balgin);
}
.bb-store[hidden] { display: none; }
.bb-store__head { display: flex; align-items: center; gap: 16px; }
.bb-store__badge {
	width: 60px;
	height: 60px;
	flex-shrink: 0;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--bb-argone);
	font-size: 22px;
	color: var(--bb-white);
	text-shadow: var(--bb-ts) var(--bb-ts) 0 var(--bb-dunkelblau);
	box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
}
.bb-store__name {
	margin: 0;
	font-family: var(--bb-argone);
	text-transform: uppercase;
	font-size: 24px;
	line-height: 1;
	color: var(--bb-black);
}
.bb-store__addr,
.bb-store__type,
.bb-store__note { margin: 3px 0 0; font-size: 15px; line-height: 1.4; color: var(--bb-black); }
.bb-store__type { font-weight: 700; }
.bb-store__tags { display: flex; flex-wrap: wrap; gap: 6px; }
.bb-store__actions { display: flex; gap: 10px; margin-top: auto; flex-wrap: wrap; }

/* Ratgeber */
.bb-blog-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px; }
.bb-blog,
.bb-blog:visited,
.bb-blog:hover {
	display: flex;
	flex-direction: column;
	border-radius: var(--bb-radius);
	overflow: hidden;
	background: var(--bb-white);
	box-shadow: 12px 8px 26px rgba(0, 0, 0, 0.10);
	color: var(--bb-black);
	text-decoration: none;
	transition: transform .25s var(--bb-ease), background .25s ease;
}
.bb-blog:hover { transform: translateY(-6px); background: var(--bb-gelb); }
.bb-blog__img img { display: block; width: 100%; aspect-ratio: 16 / 10; height: auto; object-fit: cover; }
.bb-blog__body { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; padding: 20px; }
.bb-blog__title { font-family: var(--bb-balgin); font-weight: 700; font-size: 21px; line-height: 1.3; }
.bb-blog__text { font-size: 15px; line-height: 1.5; }
.bb-blog__meta { margin-top: auto; padding-top: 4px; font-size: 13px; font-weight: 700; opacity: .7; }
.bb-blog { height: 100%; }
.bb-blog__body { flex-grow: 1; }

/* FAQ */
.bb-faq { max-width: 920px; display: flex; flex-direction: column; gap: 16px; }
.bb-faq .bb-h2 { margin-bottom: 16px; }
.bb-faq-item { padding: 0; }
.bb-faq-item summary {
	list-style: none;
	cursor: pointer;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	padding: 22px 26px;
	font-family: var(--bb-argone);
	text-transform: uppercase;
	font-size: 22px;
	line-height: 1.2;
	color: var(--bb-black);
}
.bb-faq-item summary::-webkit-details-marker { display: none; }
.bb-faq-item summary::after {
	content: "+";
	font-size: 28px;
	color: var(--bb-purple);
	flex-shrink: 0;
}
.bb-faq-item[open] summary::after { content: "–"; }
.bb-faq-item p { margin: -8px 26px 22px; font-family: var(--bb-balgin); font-size: 16px; line-height: 1.6; color: var(--bb-black); }
.bb-faq-item p:has(+ .bb-faq-links) { margin-bottom: 16px; }
.bb-faq-links { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 26px 24px; }
.bb-single-details .bb-faq-item { margin-top: 16px; }
.bb-single-details .bb-faq-item summary { font-size: 19px; padding: 18px 22px; }
.bb-single-details .bb-faq-item p { margin: -6px 22px 18px; font-size: 15px; }

/* ------------------------------------------------------------------ Footer-Anschluss */
.home footer,
.bb-v2 footer { padding-top: 0; }
.bb-foot-violet .site-footer { background: var(--bb-purple); }
.bb-foot-hellviolett .site-footer { background: var(--bb-hellviolett); }
.bb-foot-white .site-footer { background: var(--bb-white); }

/* Newsletter im Footer: wie bisher, Platzhalter violett 60 %, aktiv 100 % */
.bb-nl-form { position: relative; max-width: 100%; }
.bb-nl-field { position: relative; }
.bb-nl-input,
footer .bb-nl-input {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	display: block;
	border: 4px solid var(--bb-purple);
	border-radius: 7px;
	padding: 8px 70px 8px 13px;
	box-shadow: 5px 5px 0 var(--bb-purple);
	outline: none;
	background: var(--bb-white);
	color: var(--bb-purple);
	font-family: var(--bb-balgin);
	font-weight: 900;
	font-size: 18px;
}
.bb-nl-input::placeholder {
	font-family: var(--bb-argone);
	font-size: 22px;
	font-weight: 400;
	color: var(--bb-purple);
	opacity: .6;
	transition: opacity .2s ease;
}
.bb-nl-input:focus::placeholder { opacity: 1; }
.bb-nl-submit {
	position: absolute;
	top: 9px;
	right: 13px;
	width: 50px;
	height: calc(100% - 18px);
	border: 0;
	background: url("./svg/arrow-right.svg") center / contain no-repeat;
	cursor: pointer;
	transition: transform .35s var(--bb-ease);
}
.bb-nl-submit:hover { transform: scale(1.25); }
.bb-nl-form.is-busy .bb-nl-submit { opacity: .4; }
.bb-nl-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }
.bb-nl-msg { margin: 12px 0 0; min-height: 0; font-family: var(--bb-balgin); font-weight: 700; font-size: 14px; color: var(--bb-white); }
.bb-nl-msg:empty { display: none; }
.bb-nl-form.is-error .bb-nl-input { border-color: var(--bb-pink); box-shadow: 5px 5px 0 var(--bb-pink); }
.bb-nl-note { margin: 10px 0 0; font-family: var(--bb-balgin); font-size: 13px; line-height: 1.4; color: var(--bb-white); opacity: .9; }
.bb-nl-note a { color: var(--bb-white); text-decoration: underline; }

.bb-toast {
	position: fixed;
	left: 50%;
	bottom: 24px;
	z-index: 100000;
	transform: translateX(-50%);
	max-width: calc(100% - 32px);
	padding: 14px 20px;
	border-radius: 10px;
	background: var(--bb-g-blue);
	color: var(--bb-white);
	font-family: var(--bb-balgin);
	font-weight: 700;
	font-size: 16px;
	box-shadow: var(--bb-shadow);
	transition: opacity .4s ease, transform .4s ease;
}
.bb-toast--invalid { background: var(--bb-g-pink); }
.bb-toast.is-hidden { opacity: 0; transform: translate(-50%, 20px); pointer-events: none; }

/* ------------------------------------------------------------------ Produktseite */
.bb-product {
	position: relative;
	z-index: 46;
	display: block;
	padding-top: 10px;
	padding-bottom: 110px;
}
.bb-crumbs {
	margin: 0 0 18px;
	font-family: var(--bb-balgin);
	font-weight: 700;
	font-size: 15px;
	color: var(--bb-black);
}
.bb-crumbs a,
.bb-crumbs a:visited,
.bb-crumbs a:hover { color: var(--bb-black); text-decoration: underline; }
.bb-product__top {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 56px;
	align-items: start;
}
.woocommerce .bb-product div.images,
.woocommerce .bb-product div.summary,
.woocommerce div.product.bb-product div.images,
.woocommerce div.product.bb-product div.summary {
	float: none;
	width: 100%;
	margin: 0;
}
.bb-product span.onsale { display: none; }
.bb-product .woocommerce-product-gallery__image img { border-radius: var(--bb-radius); }
.bb-product .flex-control-thumbs { display: flex; gap: 14px; margin-top: 14px !important; }
.bb-product .flex-control-thumbs li { width: 84px !important; float: none !important; }
.bb-product .flex-control-thumbs img { border-radius: 14px; box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15); }
.bb-product__summary { padding-top: 20px; }
.bb-product h1.product_title { font-size: 76px; line-height: .95; margin: 0 0 10px; color: var(--bb-white); text-shadow: var(--bb-ts) var(--bb-ts) 0 var(--bb-title-shadow, var(--bb-dunkelblau)); }
.bb-product .product-subtitle { font-size: 34px; opacity: 1; margin: 0 0 6px; }
.bb-product .bb-badges { margin: 12px 0 14px; }
.bb-product .woocommerce-product-details__short-description p {
	color: var(--bb-black);
	text-shadow: none;
	font-size: 17px;
	line-height: 1.6;
}
.bb-product .woocommerce-product-rating { margin-bottom: 10px; }

/* Kaufen-Zeile */
.bb-product .bb-buy-row {
	display: flex;
	flex-direction: column-reverse;
	align-items: flex-start;
	gap: 6px;
	margin-top: 16px;
}
.bb-product .bb-buy-row > .price,
.bb-product .woocommerce-variation-price .price,
.bb-product .bb-buy-row .woocommerce-Price-amount {
	font-family: var(--bb-argone);
	font-size: 38px !important;
	color: var(--bb-white) !important;
	text-shadow: var(--bb-ts) var(--bb-ts) 0 var(--bb-dunkelblau);
	margin: 0;
}
.bb-product .bb-buy-row form.cart,
.bb-product .variations_form .woocommerce-variation-add-to-cart {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0;
	width: 100%;
}
.woocommerce .bb-product form.cart::before,
.woocommerce .bb-product form.cart::after { display: none; }
.bb-product .variations_form { width: 100%; }
.bb-product table.variations { margin: 0 0 14px; border: 0; }
.bb-product table.variations th.label,
.bb-product table.variations td.value { display: block; padding: 0; border: 0; background: none; }
.bb-product table.variations th.label label {
	font-family: var(--bb-argone);
	text-transform: uppercase;
	font-weight: 400;
	font-size: 20px;
	color: var(--bb-white);
	margin-bottom: 10px;
	display: block;
}
.bb-product .reset_variations { display: none !important; }
.bb-sizes { display: flex; gap: 12px; flex-wrap: wrap; }
.bb-size {
	padding: 3px 12px 0;
	border: 0;
	border-radius: 11px;
	background: var(--bb-white);
	color: var(--bb-black);
	font-family: var(--bb-argone);
	text-transform: uppercase;
	font-size: 22px;
	line-height: 1.5;
	cursor: pointer;
	box-shadow: var(--bb-shadow);
	transition: transform .15s ease;
}
.bb-size:hover { transform: translateY(-2px); }
.bb-size.is-active { background: var(--bb-btn-bg, var(--bb-g-pink)); color: var(--bb-white); box-shadow: 0 0 0 3px var(--bb-white), var(--bb-shadow); }
.bb-size:disabled { opacity: .4; cursor: not-allowed; }
.bb-product .single_variation_wrap .woocommerce-variation { margin-bottom: 10px; }

.bb-product .quantity { margin: 0 !important; }
.bb-qty {
	display: inline-flex !important;
	align-items: center;
	height: 52px;
	padding: 0 6px;
	border-radius: 10px;
	background: var(--bb-white);
	box-shadow: var(--bb-shadow);
}
.bb-qty .qty,
.woocommerce .bb-product .quantity.bb-qty .qty {
	width: 36px;
	border: 0 !important;
	background: transparent;
	text-align: center;
	font-family: var(--bb-argone);
	font-size: 20px;
	color: var(--bb-black);
	-moz-appearance: textfield;
	appearance: textfield;
	padding: 0;
}
.bb-qty .qty::-webkit-outer-spin-button,
.bb-qty .qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.bb-qty__btn {
	width: 36px;
	height: 40px;
	border: 0;
	background: transparent;
	font-family: var(--bb-argone);
	font-size: 22px;
	color: var(--bb-black);
	cursor: pointer;
}
.woocommerce .bb-product .single_add_to_cart_button.button,
.bb-product .single_add_to_cart_button {
	flex: 1 1 auto;
	min-height: 52px;
	padding: 0 22px !important;
	border: 0 !important;
	border-radius: 10px !important;
	font-family: var(--bb-balgin) !important;
	font-weight: 700 !important;
	font-size: 18px !important;
	color: var(--bb-white) !important;
	box-shadow: var(--bb-shadow);
	transition: transform .15s ease, box-shadow .15s ease;
}
.bb-product .single_add_to_cart_button:hover { transform: translateY(-2px); box-shadow: 0 10px 18px rgba(0, 0, 0, 0.22); }
.bb-product .single_add_to_cart_button.disabled { opacity: .5 !important; }
.bb-product .stock.out-of-stock { font-size: 18px; }

.bb-single-extra { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; margin-top: 18px; }
.bb-warnbox { padding: 14px 16px; font-family: var(--bb-balgin); font-size: 14px; line-height: 1.5; }
.bb-warnbox strong { display: block; }

/* Details unter dem Produkt */
.bb-single-details {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 36px;
	align-items: start;
	margin-top: 100px;
}
.bb-specs { padding: 6px 24px; }
.bb-specs table { width: 100%; border-collapse: collapse; margin: 0; border: 0; font-family: var(--bb-balgin); font-size: 17px; }
.bb-specs th,
.bb-specs td { padding: 14px 0; border: 0; border-bottom: 2px solid var(--bb-hellorange); background: none !important; text-align: left; vertical-align: top; color: var(--bb-black); }
.bb-specs tr:last-child th,
.bb-specs tr:last-child td { border-bottom: 0; }
.bb-specs th { width: 38%; font-family: var(--bb-argone); text-transform: uppercase; font-weight: 400; font-size: 18px; }
.bb-labbox { padding: 20px; display: flex; gap: 20px; align-items: center; }
.bb-labbox .bb-lab { width: 230px; flex-shrink: 0; box-shadow: 0 6px 12px rgba(0, 0, 0, 0.12); }
.bb-labbox__text { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; font-family: var(--bb-balgin); font-size: 15px; line-height: 1.5; }
.bb-labbox__text strong { font-family: var(--bb-argone); text-transform: uppercase; font-weight: 400; font-size: 21px; }
.bb-single-stores { margin-top: 90px; }
.bb-product .related.products { margin-top: 90px; }
.bb-product .related.products > h2 {
	font-family: var(--bb-argone);
	text-transform: uppercase;
	font-size: 46px;
	line-height: 1;
	color: var(--bb-white);
	text-shadow: var(--bb-ts) var(--bb-ts) 0 var(--bb-dunkelblau);
	margin: 0 0 28px;
}
.bb-single-reviews {
	margin-top: 60px;
	padding: 26px 30px;
	font-family: var(--bb-balgin);
}
.bb-single-reviews .woocommerce-Reviews-title,
.bb-single-reviews #reply-title {
	font-family: var(--bb-argone);
	text-transform: uppercase;
	font-size: 28px;
	color: var(--bb-black);
}
.bb-single-reviews,
.bb-single-reviews p,
.bb-single-reviews label { color: var(--bb-black); }
.bb-single-reviews .star-rating span,
.bb-single-reviews .stars a { color: var(--bb-orange); }
.bb-single-reviews .commentlist { padding: 0; }
.bb-single-reviews .commentlist li { list-style: none; }
.bb-single-reviews textarea,
.bb-single-reviews input[type="text"],
.bb-single-reviews input[type="email"] {
	width: 100%;
	border: 3px solid var(--bb-hellviolett) !important;
	border-radius: 10px;
	padding: 8px 10px;
	font-family: var(--bb-balgin);
}
.bb-single-reviews .form-submit button,
.bb-single-reviews .my-custom-submit-btn {
	border: 0 !important;
	border-radius: 10px;
	min-height: 46px;
	padding: 0 22px;
	background: var(--bb-g-blue);
	color: var(--bb-white) !important;
	font-family: var(--bb-balgin);
	font-weight: 700;
	font-size: 17px;
	box-shadow: var(--bb-shadow);
	cursor: pointer;
}

/* Rezensionen als Akkordeon */
details.bb-single-reviews { padding: 0; }
.bb-single-reviews > summary .bb-single-reviews__sum { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; }
.bb-single-reviews__count { font-family: var(--bb-balgin); font-weight: 700; font-size: .72em; text-transform: none; opacity: .6; }
.bb-single-reviews__stars { font-family: var(--bb-balgin); font-size: .8em; letter-spacing: 2px; color: var(--bb-orange); }
.bb-single-reviews__body { padding: 0 26px 26px; }
.bb-single-reviews__body .woocommerce-Reviews-title { display: none; }
.bb-single-reviews__body .woocommerce-noreviews { margin-top: 0; }
.bb-single-reviews[open] > summary { padding-bottom: 14px; }

/* ------------------------------------------------------------------ Verkaufsstellen */
.bb-stores-page { position: relative; z-index: 46; padding-bottom: 110px; }
.bb-stores-page > .container { margin-top: -30px; }
.bb-store-search { position: relative; width: 100%; max-width: 520px; margin-top: 28px; }
.bb-store-search input {
	width: 100%;
	box-sizing: border-box;
	border: 4px solid var(--bb-dunkelblau);
	border-radius: 7px;
	padding: 10px 70px 8px 14px;
	box-shadow: 5px 5px 0 var(--bb-dunkelblau);
	outline: none;
	background: var(--bb-white);
	font-family: var(--bb-argone);
	text-transform: uppercase;
	font-size: 22px;
	color: var(--bb-dunkelblau);
}
.bb-store-search input::placeholder { color: var(--bb-dunkelblau); opacity: .6; }
.bb-store-search__icon {
	position: absolute;
	right: 16px;
	top: 50%;
	width: 40px;
	height: 26px;
	transform: translateY(-50%);
	background: url("./svg/arrow-right.svg") center / contain no-repeat;
	pointer-events: none;
}
.bb-map {
	position: relative;
	height: 420px;
	margin-bottom: 36px;
	border-radius: var(--bb-radius);
	overflow: hidden;
	background: var(--bb-hellblau);
	box-shadow: var(--bb-card-shadow);
}
.bb-map__placeholder {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 16px;
	padding: 24px;
	text-align: center;
	font-family: var(--bb-balgin);
	font-weight: 700;
	color: var(--bb-black);
	background:
		radial-gradient(circle at 70% 30%, var(--bb-blau) 0 70px, transparent 71px),
		var(--bb-hellblau);
}
.bb-map__placeholder p { max-width: 460px; margin: 0; }
.bb-map.is-loaded { z-index: 1; }
.bb-pin span {
	display: block;
	width: 30px;
	height: 30px;
	border-radius: 50% 50% 50% 0;
	transform: rotate(-45deg);
	background: var(--bb-g-blue);
	border: 3px solid var(--bb-white);
	box-shadow: var(--bb-shadow);
}
.bb-store-b2b {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 12px;
	padding: 26px;
	border-radius: var(--bb-radius);
	background: var(--bb-g-violet);
	box-shadow: var(--bb-card-shadow);
	font-family: var(--bb-balgin);
	color: var(--bb-white);
}
.bb-store-b2b h2 {
	margin: 0;
	font-family: var(--bb-argone);
	text-transform: uppercase;
	font-size: 40px;
	line-height: 1;
	color: var(--bb-white);
	text-shadow: var(--bb-ts) var(--bb-ts) 0 var(--bb-dunkelblau);
}
.bb-store-b2b p { margin: 0; font-size: 16px; line-height: 1.6; color: var(--bb-white); }
.bb-store-b2b .bb-btn { margin-top: auto; }
.bb-store-empty { font-family: var(--bb-balgin); font-weight: 700; font-size: 18px; text-align: center; margin: 30px 0; color: var(--bb-black); }
.bb-page-content { margin-top: 60px; font-family: var(--bb-balgin); color: var(--bb-black); max-width: 860px; }

/* ------------------------------------------------------------------ About */
.bb-about { position: relative; z-index: 46; }
/* Kein weisser Streifen unter der Kopfzeile: Hintergrund hinter der Welle ist schon violett. */
body.page-template-page-about { background: var(--bb-hellviolett); }
.bb-about .bb-sec--hellviolett { padding-top: 20px; padding-bottom: 90px; }
.bb-split--about { align-items: start; }
.bb-split--about .bb-split__media { position: sticky; top: 30px; }
.bb-split--about .bb-photo { aspect-ratio: 4 / 4.6; }
.bb-about__content { color: var(--bb-black); font-size: 18px; line-height: 1.6; }
.bb-about__content h2,
.bb-about__content h3 {
	font-family: var(--bb-argone);
	text-transform: uppercase;
	font-weight: 400;
	font-size: 38px;
	line-height: 1.05;
	color: var(--bb-white);
	text-shadow: var(--bb-ts) var(--bb-ts) 0 var(--bb-purple);
	margin: 26px 0 8px;
}
.bb-about__content > :first-child { margin-top: 0; }
.bb-about__content--cols > .wp-block-columns { gap: 64px; align-items: flex-start; margin: 0; }
.bb-about__content--cols > .wp-block-columns > .wp-block-column:first-child { flex: 1 1 56%; }
.bb-about__content--cols > .wp-block-columns > .wp-block-column:last-child { flex: 1 1 44%; position: sticky; top: 30px; }
.bb-about__content--cols .wp-block-column > :first-child { margin-top: 0; }
.bb-about__content .wp-block-image { margin: 0; }
.bb-about__content .wp-block-image img {
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 4.6;
	object-fit: cover;
	border-radius: 40px;
	box-shadow: var(--bb-card-shadow);
}
.bb-about__content .wp-block-buttons { gap: 14px; margin-top: 28px; }
.bb-about__content .wp-block-button__link,
.bb-about__content .wp-block-button__link:visited {
	display: inline-flex;
	align-items: center;
	min-height: 46px;
	padding: 0 22px;
	border: 0;
	border-radius: 10px;
	font-family: var(--bb-balgin);
	font-weight: 700;
	font-size: 17px;
	line-height: 1;
	text-transform: none;
	color: var(--bb-white);
	text-decoration: none;
	background: var(--bb-g-blue);
	box-shadow: var(--bb-shadow);
	transition: transform .15s ease, box-shadow .15s ease;
}
.bb-about__content .wp-block-button:nth-child(2) .wp-block-button__link { background: var(--bb-g-purple); }
.bb-about__content .wp-block-button__link:hover,
.bb-about__content .wp-block-button__link:focus-visible { color: var(--bb-white); transform: translateY(-2px); box-shadow: 0 10px 18px rgba(0, 0, 0, 0.22); }
.bb-about__content p,
.bb-about__content li { color: var(--bb-black); }
.bb-about__content a { color: var(--bb-black); text-decoration: underline; }
.bb-facts {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 28px;
	margin-top: 80px;
}
.bb-fact {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 26px 22px;
	border-radius: var(--bb-radius);
	box-shadow: var(--bb-card-shadow);
	color: var(--bb-white);
}
.bb-fact__num { font-family: var(--bb-argone); text-transform: uppercase; font-size: 54px; line-height: 1; }
.bb-fact__label { font-family: var(--bb-argone); text-transform: uppercase; font-size: 18px; line-height: 1.2; }
.bb-fact--pink { background: var(--bb-g-pink); }
.bb-fact--pink .bb-fact__num { text-shadow: var(--bb-ts) var(--bb-ts) 0 var(--bb-purple); }
.bb-fact--blue { background: var(--bb-g-blue); }
.bb-fact--blue .bb-fact__num { text-shadow: var(--bb-ts) var(--bb-ts) 0 var(--bb-pink); }
.bb-fact--orange { background: var(--bb-g-orange); }
.bb-fact--orange .bb-fact__num { text-shadow: var(--bb-ts) var(--bb-ts) 0 var(--bb-dunkelblau); }
.bb-fact--orange .bb-fact__label { color: var(--bb-black); }
.bb-fact--violet { background: var(--bb-g-violet); }
.bb-fact--violet .bb-fact__num { text-shadow: var(--bb-ts) var(--bb-ts) 0 var(--bb-dunkelblau); }
.bb-about__legal { margin-top: 40px !important; font-family: var(--bb-balgin); font-size: 14px; text-align: center; color: var(--bb-black); }

/* ------------------------------------------------------------------ Altersabfrage */
#agegate-overlay {
	background: rgba(64, 64, 64, 0.45);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
	padding: 16px;
}
#agegate-overlay #agegate-modal {
	width: 620px;
	max-width: 100%;
	box-sizing: border-box;
	gap: 16px;
	padding: 44px 48px 40px;
	border-radius: 24px;
	/* derselbe Gelb-Hellblau-Verlauf wie die Kopfzeile */
	background: linear-gradient(#F7D991 0, #9FEDFF 78%, #D3F5FD 100%);
	box-shadow: 12px 8px 26px rgba(0, 0, 0, 0.25);
	font-family: var(--bb-balgin);
	color: var(--bb-black);
}
#agegate-overlay .agegate-logo img { width: 210px; height: auto; display: block; }
#agegate-overlay #agegate-title {
	margin: 4px 0 0;
	font-family: var(--bb-argone);
	text-transform: uppercase;
	font-size: 58px;
	line-height: 1;
	color: var(--bb-white);
	text-shadow: var(--bb-ts) var(--bb-ts) 0 var(--bb-dunkelblau);
}
#agegate-overlay #agegate-modal p { margin: 0; font-size: 17px; line-height: 1.6; }
#agegate-overlay #agegate-actions { display: flex; gap: 14px; flex-wrap: wrap; justify-content: center; margin-top: 6px; }
#agegate-overlay .agegate-btn,
#agegate-overlay .agegate-btn.agegate-yes,
#agegate-overlay .agegate-btn.agegate-no {
	min-height: 52px;
	margin: 0;
	padding: 0 24px;
	border: 0;
	border-radius: 10px;
	font-family: var(--bb-balgin);
	font-weight: 700;
	font-size: 18px;
	text-transform: none;
	color: var(--bb-white);
	box-shadow: var(--bb-shadow);
	cursor: pointer;
	transition: transform .15s ease;
}
#agegate-overlay .agegate-btn.agegate-yes { background: var(--bb-g-blue); }
#agegate-overlay .agegate-btn.agegate-no { background: var(--bb-white); color: var(--bb-black); }
#agegate-overlay .agegate-btn:hover { transform: translateY(-2px); }
#agegate-overlay #agegate-modal .agegate-note { font-size: 13px; line-height: 1.5; }

/* ------------------------------------------------------------------ Responsive */
@media (max-width: 1199.98px) {
	.woocommerce ul.products.bb-grid,
	ul.products.bb-grid,
	.bb-product .related ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
	.bb-grid-promo { grid-column: span 3; }
	.bb-hero__title { font-size: 68px; }
	.bb-featured__title { font-size: 64px; }
}

@media (max-width: 991.98px) {
	.woocommerce ul.products.bb-grid,
	ul.products.bb-grid,
	.bb-product .related ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
	.bb-grid-promo { grid-column: span 2; }
	.bb-split,
	.bb-split--stores,
	.bb-product__top,
	.bb-single-details { grid-template-columns: 1fr; gap: 36px; }
	.bb-split--about .bb-split__media { position: static; }
	.bb-blog-grid,
	.bb-store-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.bb-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.bb-h2 { font-size: 46px; }
	.bb-h2--sm { font-size: 38px; }
	.bb-product h1.product_title { font-size: 60px; }
}

@media (max-width: 767.98px) {
	.bb-about__content--cols > .wp-block-columns { gap: 32px; }
	.bb-about__content--cols > .wp-block-columns > .wp-block-column:last-child { position: static; }
	.bb-about__content .wp-block-image img { border-radius: 28px; }
	.bb-about__content h2,
	.bb-about__content h3 { font-size: 30px; }
	.bb-warnbar { font-size: 12px; padding: 8px 12px; }
	.bb-header.has-hero { padding-bottom: 90px; }
	.bb-header.has-hero::after,
	.page-id-12 .bb-header.has-hero::after { height: 100%; }
	.bb-hero { padding-top: 30px; }
	.bb-hero__title { font-size: 44px; text-shadow: var(--bb-ts) var(--bb-ts) 0 var(--bb-dunkelblau); }
	.page-template-page-about .bb-hero__title { font-size: 64px; }
	.bb-hero__sub { font-size: 16px; }
	.bb-eyebrow { font-size: 13px; }
	.bb-shop > .container { margin-top: -30px; }
	.bb-tabs {
		flex-wrap: nowrap;
		justify-content: flex-start;
		overflow-x: auto;
		scrollbar-width: none;
		padding: 6px 16px 14px;
		margin: 0 -16px 20px;
	}
	.bb-tabs::-webkit-scrollbar { display: none; }
	.bb-tab,
	a.bb-tab,
	button.bb-tab { font-size: 18px; flex-shrink: 0; }
	.woocommerce ul.products.bb-grid,
	ul.products.bb-grid,
	.bb-product .related ul.products { gap: 14px; }
	.bb-pcard__img { min-height: 0; }
	.bb-pcard__body { padding: 10px; }
	.bb-pcard__title,
	.archive-products .bb-pcard__title { font-size: 24px; text-shadow: var(--bb-ts) var(--bb-ts) 0 var(--bb-title-shadow, var(--bb-pink)); }
	.bb-pcard__sub { font-size: 12px; margin-bottom: 10px; }
	.bb-pcard__foot { flex-direction: column; align-items: stretch; text-align: center; }
	.bb-pcard__price { font-size: 14px; }
	.bb-pcard__foot .bb-btn { width: 100%; }
	.bb-promo { grid-template-columns: 1fr; padding: 22px; }
	.bb-promo__title { font-size: 32px; }
	.bb-promo .bb-lab { display: none; }
	.bb-wave svg { height: 40px; }
	.bb-sec { padding: 20px 0 64px; }
	.bb-sec p { font-size: 16px; }
	.bb-h2,
	.bb-h2--sm { font-size: 38px; text-shadow: var(--bb-ts) var(--bb-ts) 0 var(--bb-dunkelblau); }
	.bb-h2--pink { text-shadow: var(--bb-ts) var(--bb-ts) 0 var(--bb-pink); }
	.bb-h2--blue { text-shadow: var(--bb-ts) var(--bb-ts) 0 var(--bb-dunkelblau); }
	.bb-h2--purple { text-shadow: var(--bb-ts) var(--bb-ts) 0 var(--bb-purple); }
	.bb-photo,
	.bb-split__media img { border-radius: 28px; }
	.bb-featured__title { font-size: 56px; text-shadow: var(--bb-ts) var(--bb-ts) 0 var(--bb-title-shadow, var(--bb-pink)); }
	.bb-featured__sub { font-size: 21px; }
	.bb-blog-grid,
	.bb-store-grid--2,
	.bb-store-grid--3 { grid-template-columns: 1fr; }
	.bb-section-head { flex-direction: column; align-items: flex-start; }
	.bb-faq-item summary { font-size: 17px; padding: 16px 18px; }
	.bb-faq-item p { margin: -4px 18px 16px; font-size: 15px; }
	.bb-faq-item p:has(+ .bb-faq-links) { margin-bottom: 12px; }
	.bb-faq-links { gap: 8px; margin: 0 18px 18px; }
	.bb-faq-links .bb-btn { max-width: 100%; white-space: normal; text-align: left; line-height: 1.25; padding-top: 8px; padding-bottom: 8px; }
	.bb-product h1.product_title { font-size: 50px; }
	.bb-product .product-subtitle { font-size: 24px; }
	.bb-labbox { flex-direction: column; align-items: stretch; }
	.bb-labbox .bb-lab { width: auto; }
	.bb-specs th { font-size: 15px; }
	.bb-facts { gap: 14px; margin-top: 40px; }
	.bb-fact__num { font-size: 36px; }
	.bb-map { height: 320px; }
	.bb-store-search input { font-size: 18px; }
	.bb-store-b2b h2 { font-size: 32px; }
	#agegate-overlay #agegate-modal { padding: 32px 22px 26px; }
	#agegate-overlay #agegate-title { font-size: 40px; text-shadow: var(--bb-ts) var(--bb-ts) 0 var(--bb-dunkelblau); }
	#agegate-overlay .agegate-logo img { width: 160px; }
}

@media (prefers-reduced-motion: reduce) {
	.bb-btn,
	.bb-tab,
	.bb-pcard,
	.bb-blog,
	.bb-size,
	.bb-toast { transition: none; }
}

/* ==================================================================
 * Kopfzeile und Menü (inc/v2-menu.php)
 * Ebenen: Inhalt < Leiste beim Scrollen 940 < Handy-Leiste 945 < Menü 950 < Cookie-Abfrage 990 < Altersabfrage 999
 * ================================================================== */
.bb-ico { display: block; flex-shrink: 0; fill: currentColor; }
.bb-hb,
a.bb-hb,
button.bb-hb {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	min-height: 52px;
	padding: 2px 14px 0;
	box-sizing: border-box;
	border: 0;
	border-radius: 10px;
	font-family: var(--bb-argone);
	font-weight: 400;
	text-transform: uppercase;
	font-size: 26px;
	line-height: 1;
	color: var(--bb-white);
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	box-shadow: var(--bb-shadow);
	transition: transform .15s ease, box-shadow .15s ease;
}
.bb-hb:visited,
.bb-hb:hover,
.bb-hb:focus-visible { color: var(--bb-white); text-decoration: none; }
.bb-hb:hover,
.bb-hb:focus-visible { transform: translateY(-2px); box-shadow: 0 10px 18px rgba(0, 0, 0, 0.22); }
.bb-hb:focus-visible { outline: 3px solid var(--bb-black); outline-offset: 3px; }
.bb-hb:active { transform: translateY(2px); box-shadow: 0 3px 6px rgba(0, 0, 0, 0.2); }
.bb-hb .bb-ico { margin-top: -3px; }

/* Burger: zwei Striche. Überfahren: die Striche tauschen ihre Länge.
   Öffnen: sie drehen sich zum X (Schliessen-Knopf im Menü), beim Schliessen zurück. */
.bb-burger { --w: 24px; --s: 15px; position: relative; display: block; flex-shrink: 0; width: var(--w); height: 12px; margin-top: -3px; }
.bb-burger i { position: absolute; left: 0; height: 3px; border-radius: 2px; background: currentColor; transition: width .3s var(--bb-ease), transform .35s var(--bb-ease); }
.bb-burger i:first-child { top: 0; width: var(--w); }
.bb-burger i:last-child { top: 9px; width: var(--s); }
.bb-hb--menu:hover .bb-burger i:first-child,
.bb-hb--menu:focus-visible .bb-burger i:first-child { width: var(--s); }
.bb-hb--menu:hover .bb-burger i:last-child,
.bb-hb--menu:focus-visible .bb-burger i:last-child { width: var(--w); }
.bb-hb--menu[aria-expanded="true"] .bb-burger i:first-child,
.bb-hb--menu[aria-expanded="true"] .bb-burger i:last-child,
.bb-burger.is-x i { width: var(--w); }
.bb-hb--menu[aria-expanded="true"] .bb-burger i:first-child,
.bb-burger.is-x i:first-child { transform: translateY(4.5px) rotate(45deg); }
.bb-hb--menu[aria-expanded="true"] .bb-burger i:last-child,
.bb-burger.is-x i:last-child { transform: translateY(-4.5px) rotate(-45deg); }
.bb-burger.is-x { --w: 20px; --s: 13px; }
html.bb-mm-open .bb-burger.is-x i:first-child { animation: bbBurgerX1 .45s var(--bb-ease) .08s both; }
html.bb-mm-open .bb-burger.is-x i:last-child { animation: bbBurgerX2 .45s var(--bb-ease) .08s both; }
@keyframes bbBurgerX1 {
	from { width: var(--w); transform: none; }
	to { width: var(--w); transform: translateY(4.5px) rotate(45deg); }
}
@keyframes bbBurgerX2 {
	from { width: var(--s); transform: none; }
	to { width: var(--w); transform: translateY(-4.5px) rotate(-45deg); }
}
.bb-hb--menu { background: var(--bb-g-violet); }
.bb-hb--cart { background: var(--bb-g-blue); }
.bb-hb.bb-hb--close,
.bb-hb.bb-hb--close:visited,
.bb-hb.bb-hb--close:hover,
.bb-hb.bb-hb--close:focus-visible { background: var(--bb-white); color: var(--bb-black); }
.bb-count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 26px;
	height: 26px;
	padding: 3px 6px 0;
	box-sizing: border-box;
	border-radius: 13px;
	font-variant-numeric: tabular-nums;
	background: var(--bb-white);
	color: var(--bb-dunkelblau);
	font-family: var(--bb-balgin);
	font-weight: 700;
	font-size: 15px;
	line-height: 1;
	margin-top: -3px;
}
.bb-count[hidden] { display: none; }

/* Kopfzeile oben */
.bb-head-row {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 96px;
}
.bb-head-row .bb-hb { position: relative; z-index: 51; }
.bb-head-row .bb-brand,
.bb-sticky__row .bb-brand,
.bb-mm__top .bb-brand {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	z-index: 50;
	line-height: 0;
}
.bb-head-row .custom-logo-link img { width: 325px; height: auto; }

/* Leiste beim Scrollen (ab Tablet): dieselbe Welle wie oben, nur kleiner */
.bb-sticky {
	position: fixed;
	left: 0;
	right: 0;
	top: var(--wp-admin--admin-bar--height, 0px);
	z-index: 940;
	/* Logo mittig im sichtbaren Teil: Welle endet in der Mitte bei ca. 89 % der Höhe */
	padding-bottom: 16px;
	background: url("./svg/header-background-gradient.svg") center bottom / 100% 100% no-repeat;
	filter: drop-shadow(0 8px 12px rgba(0, 0, 0, 0.12));
	pointer-events: none;
	transform: translateY(-110%);
	visibility: hidden;
	transition: transform .25s ease, visibility 0s linear .25s;
}
.page-template-page-about .bb-sticky { background-image: url("./svg/header-background-gradient-about.svg"); }
.bb-sticky .bb-hb,
.bb-sticky .bb-brand a { pointer-events: auto; }
.bb-sticky.is-visible { transform: none; visibility: visible; transition: transform .25s ease; }
.bb-sticky__row { position: relative; display: flex; align-items: center; justify-content: space-between; height: 130px; }
.bb-sticky .custom-logo-link img { width: 280px; height: auto; }
.bb-sticky .bb-hb { min-height: 44px; font-size: 21px; padding: 2px 12px 0; gap: 10px; }
#faq { scroll-margin-top: 100px; }

/* Handy-Leiste unten */
.bb-mdock { display: none; }

/* Menü */
.bb-mm {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	top: var(--wp-admin--admin-bar--height, 0px);
	z-index: 950;
	overflow-y: auto;
	overscroll-behavior: contain;
	background: linear-gradient(#FAD88C, #BCF2FF);
	color: var(--bb-black);
	font-family: var(--bb-balgin);
	opacity: 0;
	transition: opacity .25s ease;
}
.bb-mm[hidden] { display: none; }
html.bb-mm-open { overflow: hidden; }
html.bb-mm-open .bb-mm { opacity: 1; }
.bb-mm a { text-decoration: none; }
.bb-mm__inner { display: flex; flex-direction: column; min-height: calc(100% - 41px); padding-top: 44px; padding-bottom: 28px; box-sizing: border-box; }
.bb-mm__top { position: relative; display: flex; align-items: center; justify-content: space-between; min-height: 64px; }
.bb-mm .bb-mm__top .custom-logo-link img { width: 250px; height: auto; }
.bb-mm__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
	grid-template-areas: "nav aside" "meta aside";
	grid-template-rows: auto 1fr;
	column-gap: 72px;
	align-items: start;
	margin-top: 46px;
}
.bb-mm__nav { grid-area: nav; }
.bb-mm__aside { grid-area: aside; display: flex; flex-direction: column; gap: 22px; }
.bb-mm__meta { grid-area: meta; display: flex; flex-wrap: wrap; gap: 10px; margin-top: 26px; }
.bb-mnav { list-style: none; margin: 0; padding: 0; border-top: 2px solid rgba(255, 255, 255, 0.8); }
.bb-mnav li { margin: 0; border-bottom: 2px solid rgba(255, 255, 255, 0.8); }
.bb-mnav a {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: 28px;
	padding: 16px 4px 12px;
	color: var(--bb-black);
}
.bb-mnav a:focus-visible { outline: 3px solid var(--bb-black); outline-offset: 2px; border-radius: 6px; }
.bb-mnav__t {
	font-family: var(--bb-argone);
	font-weight: 400;
	text-transform: uppercase;
	font-size: 84px;
	line-height: .92;
	color: var(--bb-white);
	text-shadow: var(--bb-ts) var(--bb-ts) 0 var(--bb-sh, var(--bb-pink));
	transition: transform .2s ease;
}
.bb-mnav__d { font-weight: 700; font-size: 17px; line-height: 1.35; padding-top: 6px; color: var(--bb-black); }
.bb-mnav__a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	border-radius: 50%;
	background: var(--bb-white);
	font-weight: 700;
	font-size: 22px;
	color: var(--bb-black);
	box-shadow: 0 6px 12px rgba(0, 0, 0, 0.12);
	opacity: 0;
	transform: translateX(-10px);
	transition: opacity .2s ease, transform .2s ease;
}
.bb-mnav a:hover .bb-mnav__t,
.bb-mnav a:focus-visible .bb-mnav__t,
.bb-mnav a.is-current .bb-mnav__t { transform: translateX(10px); }
.bb-mnav a:hover .bb-mnav__a,
.bb-mnav a:focus-visible .bb-mnav__a,
.bb-mnav a.is-current .bb-mnav__a { opacity: 1; transform: none; }
.bb-mnav a.is-current .bb-mnav__d::before {
	content: "";
	display: inline-block;
	width: 9px;
	height: 9px;
	margin-right: 9px;
	vertical-align: 1px;
	border-radius: 50%;
	background: var(--bb-pink);
}
.bb-chip,
.bb-chip:visited {
	display: inline-flex;
	align-items: center;
	min-height: 38px;
	padding: 0 15px;
	border-radius: 10px;
	background: var(--bb-white);
	color: var(--bb-black);
	font-weight: 700;
	font-size: 15px;
	line-height: 1;
	box-shadow: 0 6px 12px rgba(0, 0, 0, 0.10);
	transition: transform .15s ease;
}
.bb-chip:hover,
.bb-chip:focus-visible { color: var(--bb-black); transform: translateY(-2px); }
.bb-mm__cats { padding: 22px; }
.bb-mm__cats-head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin-bottom: 16px; }
.bb-mm__h { font-family: var(--bb-argone); text-transform: uppercase; font-size: 28px; line-height: 1; }
.bb-mm__cats-head a { font-weight: 700; font-size: 15px; color: var(--bb-black); }
.bb-mcats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.bb-mcat {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 4px;
	height: 136px;
	padding: 16px 18px;
	box-sizing: border-box;
	border-radius: 14px;
	overflow: hidden;
	box-shadow: 0 6px 12px rgba(0, 0, 0, 0.12);
	transition: transform .2s ease;
}
.bb-mcat:hover,
.bb-mcat:focus-visible { transform: translateY(-4px); }
.bb-mcat--sky { background: var(--bb-g-sky); }
.bb-mcat--purple { background: var(--bb-g-purple); }
.bb-mcat--pink { background: var(--bb-g-pink); }
.bb-mcat--blue { background: var(--bb-g-blue); }
.bb-mcat__name {
	position: relative;
	z-index: 1;
	font-family: var(--bb-argone);
	text-transform: uppercase;
	font-size: 30px;
	line-height: 1;
	color: var(--bb-white);
	text-shadow: var(--bb-ts) var(--bb-ts) 0 var(--bb-sh, var(--bb-pink));
}
.bb-mcat__count { position: relative; z-index: 1; font-weight: 700; font-size: 14px; color: var(--bb-white); }
/* Indoor (heller Hintergrund): weisse Schrift mit dunkelblauem Schatten, damit sie lesbar bleibt */
.bb-mcat--sky .bb-mcat__count { text-shadow: var(--bb-ts) var(--bb-ts) 0 var(--bb-dunkelblau); }
.bb-mm img.bb-mcat__img { position: absolute; right: -12px; bottom: -22px; width: auto; height: 128px; max-width: none; }
.bb-mfocus { display: flex; align-items: center; gap: 16px; padding: 14px 18px 14px 14px; color: var(--bb-black); }
.bb-mfocus:hover { color: var(--bb-black); }
.bb-mfocus__img { display: flex; align-items: center; justify-content: center; flex-shrink: 0; width: 92px; height: 92px; border-radius: 12px; overflow: hidden; }
.bb-mfocus__img img { width: 86px; height: auto; }
.bb-mfocus__body { display: flex; flex-direction: column; gap: 5px; flex-grow: 1; min-width: 0; }
.bb-mfocus__eyebrow { display: inline-flex; align-items: center; gap: 8px; font-family: var(--bb-argone); text-transform: uppercase; font-size: 13px; line-height: 1.2; }
.bb-mfocus__eyebrow i { width: 9px; height: 9px; border-radius: 50%; background: var(--bb-pink); }
.bb-mfocus__name { font-family: var(--bb-argone); text-transform: uppercase; font-size: 30px; line-height: 1; }
.bb-mfocus__meta { font-weight: 700; font-size: 15px; }
.bb-mm__legal { display: flex; flex-wrap: wrap; gap: 10px; margin-top: auto; padding-top: 40px; font-size: 13px; font-weight: 700; }
/* Rechtliches: weisse Schrift auf blauem Verlauf */
.bb-mm .bb-mm__legal a,
.bb-mm .bb-mm__legal a:visited {
	display: inline-flex;
	align-items: center;
	min-height: 32px;
	padding: 0 12px;
	border-radius: 8px;
	background: var(--bb-g-blue);
	box-shadow: var(--bb-shadow);
	color: var(--bb-white);
	transition: transform .15s ease;
}
.bb-mm .bb-mm__legal a:hover,
.bb-mm .bb-mm__legal a:focus-visible { color: var(--bb-white); transform: translateY(-2px); }
.bb-mm__dock { display: none; }

/* Einblenden */
.bb-mm .bb-mnav li,
.bb-mm .bb-mm__aside,
.bb-mm .bb-mm__meta {
	opacity: 0;
	transform: translateY(18px);
	transition: opacity .35s ease, transform .45s var(--bb-ease);
}
html.bb-mm-open .bb-mm .bb-mnav li,
html.bb-mm-open .bb-mm .bb-mm__aside,
html.bb-mm-open .bb-mm .bb-mm__meta { opacity: 1; transform: none; }
.bb-mm .bb-mnav li:nth-child(2) { transition-delay: .05s; }
.bb-mm .bb-mnav li:nth-child(3) { transition-delay: .10s; }
.bb-mm .bb-mnav li:nth-child(4) { transition-delay: .15s; }
.bb-mm .bb-mnav li:nth-child(5) { transition-delay: .20s; }
.bb-mm .bb-mm__aside { transition-delay: .12s; }
.bb-mm .bb-mm__meta { transition-delay: .22s; }

@media (max-width: 1399.98px) {
	.bb-mfocus .bb-btn { display: none; }
	.bb-mfocus__name { font-size: 26px; }
	.bb-mfocus__meta { white-space: nowrap; }
}
@media (max-width: 1199.98px) {
	.bb-mnav__t { font-size: 66px; }
	.bb-mm__grid { column-gap: 44px; }
	.bb-mcat { height: 118px; }
	.bb-mcat__name { font-size: 24px; }
	.bb-mm img.bb-mcat__img { height: 104px; }
}
@media (max-width: 991.98px) {
	.bb-mm__grid { grid-template-columns: minmax(0, 1fr); grid-template-areas: "nav" "aside" "meta"; grid-template-rows: auto; row-gap: 28px; }
	.bb-mm__meta { margin-top: 0; }
	.bb-mcats { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.bb-head-row .custom-logo-link img { width: 260px; }
	.bb-hb { font-size: 22px; min-height: 46px; }
}
@media (max-width: 767.98px) {
	.bb-head-row { justify-content: center; min-height: 0; }
	.bb-head-row .bb-hb { display: none; }
	.bb-head-row .bb-brand { position: static; transform: none; }
	.bb-sticky { display: none; }
	.bb-mdock {
		position: fixed;
		left: 0;
		right: 0;
		bottom: calc(14px + env(safe-area-inset-bottom, 0px));
		z-index: 945;
		display: flex;
		justify-content: center;
		gap: 10px;
		pointer-events: none;
	}
	.bb-mdock .bb-hb,
	.bb-mm__dock .bb-hb { pointer-events: auto; min-height: 46px; font-size: 20px; padding: 2px 13px 0; gap: 10px; }
	.bb-count { min-width: 22px; height: 22px; padding-top: 2px; font-size: 13px; }
	footer .post-footer .site-info { padding-bottom: 86px; }

	.bb-mm__inner { padding-top: 18px; padding-bottom: 96px; min-height: 0; }
	.bb-mm__top { justify-content: center; min-height: 0; }
	.bb-mm__top .bb-hb { display: none; }
	/* Logo im Menü so breit wie der Inhalt */
	.bb-mm__top .bb-brand { position: static; transform: none; width: 100%; }
	.bb-mm__top .bb-brand .custom-logo-link { display: block; }
	.bb-mm .bb-mm__top .custom-logo-link img { display: block; width: 100%; max-width: 420px; height: auto; margin: 0 auto; }
	.bb-mm__grid { margin-top: 14px; row-gap: 18px; }
	.bb-mnav a { grid-template-columns: minmax(0, 1fr) auto; gap: 4px 12px; padding: 12px 2px 10px; }
	.bb-mnav__t { grid-column: 1; font-size: 44px; text-shadow: var(--bb-ts) var(--bb-ts) 0 var(--bb-sh, var(--bb-pink)); }
	.bb-mnav__d { grid-column: 1; font-size: 13px; padding-top: 0; }
	.bb-mnav__a { grid-column: 2; grid-row: 1 / span 2; width: 40px; height: 40px; font-size: 18px; opacity: 1; transform: none; }
	.bb-mnav a:hover .bb-mnav__t,
	.bb-mnav a:focus-visible .bb-mnav__t,
	.bb-mnav a.is-current .bb-mnav__t { transform: none; }
	.bb-mm__cats { padding: 0; background: none; box-shadow: none; }
	.bb-mm__cats-head { display: none; }
	.bb-mcats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.bb-mcat { height: 78px; padding: 12px 14px; }
	.bb-mcat__name { font-size: 21px; }
	.bb-mm img.bb-mcat__img { height: 80px; right: -10px; bottom: -16px; }
	.bb-mfocus { display: none; }
	.bb-mm__meta { gap: 8px; }
	.bb-chip { min-height: 34px; padding: 0 12px; font-size: 13px; }
	.bb-mm__legal { justify-content: center; padding-top: 20px; }
	.bb-mm__dock {
		position: fixed;
		left: 0;
		right: 0;
		bottom: calc(14px + env(safe-area-inset-bottom, 0px));
		z-index: 2;
		display: flex;
		justify-content: center;
		gap: 10px;
	}
}
@media (prefers-reduced-motion: reduce) {
	.bb-mm,
	.bb-mm *,
	.bb-sticky,
	.bb-hb,
	.bb-burger i { transition: none !important; animation: none !important; }
}

/* ==================================================================
 * Blog, Beiträge und Ratgeber (inc/v2-blog.php)
 * ================================================================== */
.bb-hero--article .bb-hero__title { font-size: 62px; max-width: 980px; text-shadow: var(--bb-ts) var(--bb-ts) 0 var(--bb-dunkelblau); }
.bb-hero--article .bb-hero__sub { max-width: 720px; }
.bb-blogpage,
.bb-post { position: relative; z-index: 46; padding-bottom: 100px; }
.bb-blogpage > .container { margin-top: -40px; }
.bb-post > .container { margin-top: 50px; }
.bb-blogpage .bb-tabs { justify-content: center; margin-bottom: 44px; }
.bb-blog-grid--page { row-gap: 40px; }

/* Blogseite: Karten in Gelb, Bild mit Rand, Titel in Argone, runder Pfeil unten rechts */
.bb-blogpage .bb-blog,
.bb-blogpage .bb-blog:visited,
.bb-blogpage .bb-blog:hover { background: var(--bb-gelb); box-shadow: var(--bb-card-shadow); }
.bb-blogpage .bb-blog:hover { box-shadow: 16px 14px 32px rgba(0, 0, 0, 0.16); }
.bb-blogpage .bb-blog__img { margin: 12px 12px 0; border-radius: 10px; }
.bb-blogpage .bb-blog__body { position: relative; gap: 12px; padding: 18px 20px 20px; }
.bb-blogpage .bb-blog__title {
	font-family: var(--bb-argone);
	font-weight: 400;
	text-transform: uppercase;
	font-size: 23px;
	line-height: 1.08;
	color: var(--bb-dunkelblau);
}
.bb-blogpage .bb-blog__text { color: var(--bb-black); }
.bb-blogpage .bb-blog__meta {
	align-self: stretch;
	display: flex;
	align-items: center;
	min-height: 38px;
	margin-top: auto;
	padding: 12px 48px 0 0;
	border-top: 2px solid rgba(64, 64, 64, 0.12);
	opacity: 1;
	color: rgba(64, 64, 64, 0.75);
}
.bb-blogpage .bb-blog__body::after {
	content: '→';
	position: absolute;
	right: 20px;
	bottom: 20px;
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: var(--bb-dunkelblau);
	color: var(--bb-white);
	font-weight: 700;
	font-size: 18px;
	line-height: 1;
	transition: transform .2s var(--bb-ease);
}
.bb-blogpage .bb-blog:hover .bb-blog__body::after { transform: translateX(4px); }
.bb-blogpage .nav-links { display: flex; justify-content: center; gap: 12px; margin-top: 40px; font-weight: 700; }
.bb-guide-teaser {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
	margin-top: 70px;
	padding: 34px 40px;
	border-radius: var(--bb-radius);
	background: var(--bb-g-violet);
	box-shadow: var(--bb-card-shadow);
	color: var(--bb-white);
}
.bb-guide-teaser__title {
	margin: 0 0 8px;
	font-family: var(--bb-argone);
	text-transform: uppercase;
	font-size: 40px;
	line-height: 1;
	color: var(--bb-white);
	text-shadow: var(--bb-ts) var(--bb-ts) 0 var(--bb-dunkelblau);
}
.bb-guide-teaser p { margin: 0; max-width: 640px; font-size: 17px; line-height: 1.6; color: var(--bb-white); }
.bb-guide-teaser .bb-btn { flex-shrink: 0; }

.bb-crumbs { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 18px; font-size: 14px; font-weight: 700; color: var(--bb-black); }
.bb-crumbs a { color: var(--bb-black); text-decoration: underline; text-underline-offset: 3px; }
.bb-post__layout { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 40px; align-items: start; }
.bb-post__aside { position: sticky; top: 140px; display: flex; flex-direction: column; gap: 20px; }
.bb-article { overflow: hidden; padding-bottom: 44px; }
.bb-article__img { margin: 0; }
.bb-article__img img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 8; object-fit: cover; }
.bb-article__meta { margin: 0; padding: 22px 48px 0; font-size: 14px; font-weight: 700; opacity: .75; }
.bb-article__content { padding: 8px 48px 0; font-family: var(--bb-balgin); font-size: 18px; line-height: 1.7; color: var(--bb-black); }
.bb-article__content > :first-child { margin-top: 12px; }
.bb-article__content p,
.bb-article__content li { color: var(--bb-black); }
.bb-article__content h2 {
	margin: 46px 0 14px;
	font-family: var(--bb-argone);
	font-weight: 400;
	text-transform: uppercase;
	font-size: 36px;
	line-height: 1.05;
	color: var(--bb-white);
	text-shadow: var(--bb-ts) var(--bb-ts) 0 var(--bb-dunkelblau);
	scroll-margin-top: 130px;
}
.bb-article__content h3 { margin: 30px 0 8px; font-family: var(--bb-balgin); font-weight: 700; font-size: 21px; line-height: 1.3; color: var(--bb-black); }
.bb-article__content a { color: var(--bb-dunkelblau); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.bb-article__content ul,
.bb-article__content ol { padding-left: 1.3em; }
.bb-article__content li { margin: 6px 0; }
.bb-article__content strong { font-weight: 700; }
.bb-article__content .wp-block-image { margin: 30px 0; }
.bb-article__content .wp-block-image img { display: block; width: 100%; height: auto; border-radius: 24px; box-shadow: var(--bb-card-shadow); }
.bb-article__content .wp-block-image figcaption { margin: 12px 0 0; font-size: 14px; font-weight: 700; text-align: center; opacity: .75; }
.bb-article__content .bb-flyer { max-width: 420px; margin-left: auto; margin-right: auto; }
.bb-article__content .wp-block-table { margin: 24px 0; overflow-x: auto; }
.bb-article__content table { width: 100%; border-collapse: collapse; font-size: 16px; line-height: 1.5; }
.bb-article__content th,
.bb-article__content td { padding: 11px 12px; border: 0; border-bottom: 2px solid var(--bb-hellorange); text-align: left; vertical-align: top; }
.bb-article__content th { font-family: var(--bb-argone); font-weight: 400; text-transform: uppercase; font-size: 16px; }
.bb-article__content .bb-tldr {
	margin: 18px 0 34px;
	padding: 24px 28px;
	border-radius: var(--bb-radius);
	background: linear-gradient(var(--bb-hellgelb), var(--bb-gelb));
}
.bb-article__content .bb-tldr > :first-child { margin-top: 0; }
.bb-article__content .bb-tldr > :last-child { margin-bottom: 0; }
.bb-article__content .bb-tldr h2,
.bb-article__content .bb-tldr p.bb-tldr__title {
	margin: 0 0 10px;
	font-family: var(--bb-argone);
	text-transform: uppercase;
	font-size: 24px;
	line-height: 1.1;
	color: var(--bb-black);
	text-shadow: none;
}
.bb-article__content .bb-note {
	margin: 26px 0;
	padding: 20px 24px;
	border-radius: var(--bb-radius);
	background: var(--bb-hellblau);
	font-size: 16px;
}
.bb-article__content .bb-note > :first-child { margin-top: 0; }
.bb-article__content .bb-note > :last-child { margin-bottom: 0; }
.bb-article__content .wp-block-details {
	margin: 12px 0;
	border-radius: 14px;
	background: var(--bb-white);
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08);
	border: 2px solid var(--bb-hellblau);
}
.bb-article__content .wp-block-details summary {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	padding: 16px 20px;
	font-weight: 700;
	font-size: 18px;
	line-height: 1.35;
	cursor: pointer;
	list-style: none;
}
.bb-article__content .wp-block-details summary::-webkit-details-marker { display: none; }
.bb-article__content .wp-block-details summary::after { content: "+"; font-family: var(--bb-argone); font-size: 26px; color: var(--bb-purple); flex-shrink: 0; }
.bb-article__content .wp-block-details[open] summary::after { content: "–"; }
.bb-article__content .wp-block-details > :not(summary) { margin: 0 20px 16px; font-size: 16px; }
.bb-article__content .bb-sources { margin-top: 36px; padding-top: 16px; border-top: 2px solid var(--bb-hellorange); font-size: 14px; line-height: 1.6; }
.bb-article__content .bb-sources ul { margin: 6px 0 0; }

.bb-toc { padding: 22px 24px; }
.bb-toc__h { display: block; margin-bottom: 10px; font-family: var(--bb-argone); text-transform: uppercase; font-size: 22px; line-height: 1; }
.bb-toc ol { margin: 0; padding-left: 1.2em; }
.bb-toc li { margin: 7px 0; font-size: 15px; line-height: 1.4; font-weight: 700; }
.bb-toc a { color: var(--bb-black); text-decoration: none; }
.bb-toc a:hover,
.bb-toc a:focus-visible { color: var(--bb-dunkelblau); text-decoration: underline; }
.bb-toc-m { display: none; }
.bb-side-cta {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
	padding: 24px;
	border-radius: var(--bb-radius);
	background: var(--bb-g-blue);
	box-shadow: var(--bb-card-shadow);
	color: var(--bb-white);
}
.bb-side-cta__title { font-family: var(--bb-argone); text-transform: uppercase; font-size: 26px; line-height: 1.05; color: var(--bb-white); }
.bb-side-cta p { margin: 0; font-size: 15px; line-height: 1.5; color: var(--bb-white); }
.bb-side-cta .bb-btn { margin-top: 6px; }
.bb-side-cta__link,
.bb-side-cta__link:visited { font-weight: 700; font-size: 14px; color: var(--bb-white); text-decoration: underline; text-underline-offset: 3px; }
.bb-side-cta__link:hover { color: var(--bb-white); }
.bb-side-guide { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; padding: 22px 24px; color: var(--bb-black); text-decoration: none; transition: transform .2s ease; }
.bb-side-guide:hover { color: var(--bb-black); transform: translateY(-3px); }
.bb-side-guide__title { font-weight: 700; font-size: 18px; line-height: 1.35; }
.bb-side-guide__more { font-weight: 700; font-size: 14px; color: var(--bb-dunkelblau); }
.bb-post__more { margin-top: 80px; }
.bb-post__more .bb-h2 { margin-bottom: 30px; color: var(--bb-black); text-shadow: none; }

@media (max-width: 1199.98px) {
	.bb-post__layout { grid-template-columns: minmax(0, 1fr) 290px; gap: 28px; }
	.bb-hero--article .bb-hero__title { font-size: 52px; }
}
@media (max-width: 991.98px) {
	.bb-post__layout { grid-template-columns: minmax(0, 1fr); }
	.bb-post__aside { position: static; }
	.bb-toc { display: none; }
	.bb-toc-m { display: block; margin: 18px 48px 0; padding: 14px 18px; border-radius: 14px; background: var(--bb-hellblau); }
	.bb-toc-m summary { font-family: var(--bb-argone); text-transform: uppercase; font-size: 20px; cursor: pointer; }
	.bb-toc-m ol { margin: 10px 0 0; padding-left: 1.2em; }
	.bb-toc-m li { margin: 6px 0; font-weight: 700; font-size: 15px; }
	.bb-toc-m a { color: var(--bb-black); }
	.bb-guide-teaser { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 767.98px) {
	.bb-hero--article .bb-hero__title { font-size: 36px; text-shadow: var(--bb-ts) var(--bb-ts) 0 var(--bb-dunkelblau); }
	.bb-article__meta { padding: 18px 20px 0; }
	.bb-article__content { padding: 6px 20px 0; font-size: 16px; }
	.bb-article__content h2 { font-size: 28px; text-shadow: var(--bb-ts) var(--bb-ts) 0 var(--bb-dunkelblau); margin-top: 36px; }
	.bb-article__content .bb-tldr { padding: 20px; }
	.bb-toc-m { margin: 16px 20px 0; }
	.bb-guide-teaser { padding: 24px; }
	.bb-guide-teaser__title { font-size: 30px; }
	.bb-blogpage .bb-tabs { justify-content: flex-start; overflow-x: auto; flex-wrap: nowrap; padding-bottom: 6px; }
}

/* ==================================================================
 * Ratgeber: eigene Gestaltung (Faktenkacheln, Inhaltsverzeichnis links,
 * nummerierte Kapitel, Glossar als Karten)
 * ================================================================== */
.page-template-page-ratgeber .bb-header::after { background-image: url("./svg/header-background-gradient-about.svg"); }
.page-template-page-ratgeber .bb-hero__title { text-shadow: var(--bb-ts) var(--bb-ts) 0 var(--bb-purple); }
.bb-guide-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; margin: 0 0 40px; }
.bb-guide-fact {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 24px 22px;
	border-radius: var(--bb-radius);
	box-shadow: var(--bb-card-shadow);
	color: var(--bb-white);
}
.bb-guide-fact b { font-family: var(--bb-argone); font-weight: 400; font-size: 50px; line-height: 1; text-transform: uppercase; }
.bb-guide-fact span { font-family: var(--bb-argone); text-transform: uppercase; font-size: 16px; line-height: 1.2; }
.bb-guide-fact--blue { background: var(--bb-g-blue); }
.bb-guide-fact--blue b { text-shadow: var(--bb-ts) var(--bb-ts) 0 var(--bb-purple); }
.bb-guide-fact--violet { background: var(--bb-g-violet); }
.bb-guide-fact--violet b { text-shadow: var(--bb-ts) var(--bb-ts) 0 var(--bb-dunkelblau); }
.bb-guide-fact--orange { background: var(--bb-g-orange); color: var(--bb-black); }
.bb-guide-fact--orange b { color: var(--bb-white); text-shadow: var(--bb-ts) var(--bb-ts) 0 var(--bb-dunkelblau); }
.bb-guide-fact--sky { background: var(--bb-g-sky); color: var(--bb-black); }
.bb-guide-fact--sky b { color: var(--bb-white); text-shadow: var(--bb-ts) var(--bb-ts) 0 var(--bb-dunkelblau); }

.bb-post--guide .bb-post__layout { grid-template-columns: 300px minmax(0, 1fr); }
.bb-post--guide .bb-post__aside { order: -1; }
.bb-post--guide .bb-toc { background: var(--bb-g-blue); color: var(--bb-white); }
.bb-post--guide .bb-toc__h { color: var(--bb-white); }
.bb-post--guide .bb-toc ol { list-style: decimal-leading-zero; }
.bb-post--guide .bb-toc li { color: var(--bb-white); }
.bb-post--guide .bb-toc a { color: var(--bb-white); }
.bb-post--guide .bb-toc a:hover,
.bb-post--guide .bb-toc a:focus-visible { color: var(--bb-gelb); }
.bb-post--guide .bb-side-cta { background: var(--bb-g-violet); }
/* Beiträge, Ratgeber und Rechtstexte: Text auf hellem Verlauf (hellgelb → hellblau) */
.bb-post .bb-article { background: linear-gradient(var(--bb-hellgelb), var(--bb-hellblau)); }
.bb-post--guide .bb-article { padding-top: 6px; }
.bb-post .bb-article__content .wp-block-details { border-color: var(--bb-white); }
.bb-post .bb-article__content .bb-note { background: var(--bb-white); }
.bb-post--guide .bb-article__content { counter-reset: bbsec; }
.bb-post--guide .bb-article__content > h2 {
	counter-increment: bbsec;
	display: flex;
	align-items: center;
	gap: 16px;
	margin-top: 40px;
	padding-top: 34px;
	border-top: 2px dashed var(--bb-white);
	text-shadow: var(--bb-ts) var(--bb-ts) 0 var(--bb-purple);
}
.bb-post--guide .bb-article__content > h2::before {
	content: counter(bbsec, decimal-leading-zero);
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	border-radius: 12px;
	background: var(--bb-g-blue);
	box-shadow: var(--bb-shadow);
	font-size: 22px;
	text-shadow: none;
}
.bb-post .bb-article__content .bb-tldr { background: var(--bb-white); }
.bb-post .bb-article__content .bb-tldr li::marker { color: var(--bb-dunkelblau); }
.bb-article__content .bb-glossary table,
.bb-article__content .bb-glossary tbody { display: block; }
.bb-article__content .bb-glossary thead { display: none; }
.bb-article__content .bb-glossary tbody { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.bb-article__content .bb-glossary tr { display: flex; flex-direction: column; gap: 4px; padding: 16px 18px; border-radius: 14px; background: linear-gradient(var(--bb-hellgelb), var(--bb-gelb)); }
.bb-article__content .bb-glossary td { display: block; padding: 0; border: 0; font-size: 15px; }
.bb-article__content .bb-glossary td:first-child { font-family: var(--bb-argone); text-transform: uppercase; font-size: 20px; line-height: 1.1; }
.bb-article__content .bb-factsheet td:first-child { width: 34%; font-family: var(--bb-argone); text-transform: uppercase; font-size: 16px; }
.bb-article__content .bb-factsheet thead { display: none; }

@media (max-width: 1199.98px) {
	.bb-post--guide .bb-post__layout { grid-template-columns: 260px minmax(0, 1fr); }
	.bb-guide-fact b { font-size: 40px; }
}
@media (max-width: 991.98px) {
	.bb-guide-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.bb-post--guide .bb-post__layout { grid-template-columns: minmax(0, 1fr); }
	.bb-post--guide .bb-post__aside { order: 0; }
}
@media (max-width: 767.98px) {
	.bb-post > .container { margin-top: 30px; }
	.bb-guide-facts { gap: 12px; }
	.bb-guide-fact { padding: 16px; }
	.bb-guide-fact b { font-size: 32px; }
	.bb-guide-fact span { font-size: 13px; }
	.bb-post--guide .bb-article__content > h2::before { width: 40px; height: 40px; font-size: 17px; }
	.bb-article__content .bb-glossary tbody { grid-template-columns: minmax(0, 1fr); }
}

/* ==================================================================
 * Warenkorb, Kasse und Mein Konto (inc/v2-shop-pages.php)
 * ================================================================== */
.bb-hero--shop .bb-hero__title { font-size: 72px; }
/* Das alte Theme setzt h1 in Warenkorb und Kasse auf einen orangen Kasten: hier ohne. */
.woocommerce-cart .bb-hero h1.bb-hero__title,
.woocommerce-checkout .bb-hero h1.bb-hero__title { display: block; padding: 0; border-radius: 0; background: none; }
.bb-shoppage { position: relative; z-index: 46; padding-bottom: 100px; }
.woocommerce-cart .site-main.bb-shoppage,
.woocommerce-checkout .site-main.bb-shoppage { margin-top: 0; }
.bb-shoppage > .container { margin-top: -40px; }
.bb-shoppage__content > .wp-block-woocommerce-cart,
.bb-shoppage__content > .wp-block-woocommerce-checkout { margin: 0; max-width: none; }

/* Schritte */
.bb-steps { list-style: none; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 12px; margin: 0 0 26px; padding: 0; }
.bb-steps li { display: flex; align-items: center; gap: 10px; font-family: var(--bb-balgin); font-weight: 700; font-size: 15px; color: var(--bb-black); }
.bb-steps li + li::before { content: ""; width: 44px; height: 2px; border-radius: 1px; background: var(--bb-black); opacity: .2; }
.bb-steps a { display: inline-flex; align-items: center; gap: 10px; color: var(--bb-black); text-decoration: none; }
.bb-steps__n {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: var(--bb-white);
	box-shadow: var(--bb-shadow);
	font-family: var(--bb-argone);
	font-size: 16px;
	line-height: 1;
}
.bb-steps .is-active .bb-steps__n { background: var(--bb-g-blue); color: var(--bb-white); }
.bb-steps .is-done .bb-steps__n { background: var(--bb-g-sky); color: var(--bb-white); }
.bb-steps .is-todo { opacity: .55; }

/* Gratisversand */
.bb-freeship { max-width: 640px; margin: 0 auto 30px; padding: 16px 22px 18px; border-radius: var(--bb-radius); background: var(--bb-white); box-shadow: var(--bb-card-shadow); text-align: center; }
.bb-freeship[hidden] { display: none; }
.bb-freeship__text { margin: 0; font-family: var(--bb-balgin); font-size: 16px; color: var(--bb-black); }
.bb-freeship__bar { height: 10px; margin-top: 10px; border-radius: 5px; background: var(--bb-hellgelb); overflow: hidden; }
.bb-freeship__bar span { display: block; height: 100%; border-radius: 5px; background: linear-gradient(90deg, #A09CD5, #4C16F2); transition: width .4s ease; }

/* Karten für Inhalt und Zusammenfassung (Block-Warenkorb und Block-Kasse) */
.bb-shoppage .wc-block-components-sidebar-layout { align-items: flex-start; margin-bottom: 0; }
.bb-shoppage .wc-block-components-main,
.bb-shoppage .wc-block-components-sidebar {
	box-sizing: border-box;
	padding: 26px 28px;
	border-radius: var(--bb-radius);
	background: var(--bb-white);
	box-shadow: var(--bb-card-shadow);
	color: var(--bb-black);
	font-family: var(--bb-balgin);
}
@media (min-width: 992px) {
	.bb-shoppage .wc-block-components-sidebar-layout { flex-wrap: nowrap; gap: 30px; }
	.bb-shoppage .wc-block-components-sidebar-layout .wc-block-components-main { width: auto; flex: 1 1 auto; min-width: 0; }
	.bb-shoppage .wc-block-components-sidebar-layout .wc-block-components-sidebar { width: 380px; flex: 0 0 380px; position: sticky; top: 130px; }
}
@media (max-width: 991.98px) {
	.bb-shoppage .wc-block-components-sidebar-layout { flex-direction: column; }
	.bb-shoppage .wc-block-components-sidebar-layout .wc-block-components-main,
	.bb-shoppage .wc-block-components-sidebar-layout .wc-block-components-sidebar { width: 100%; }
	.bb-shoppage .wc-block-components-sidebar-layout .wc-block-components-sidebar { margin-top: 20px; }
}

/* Artikel im Warenkorb */
.bb-shoppage .wc-block-cart-items { margin: 0; }
.bb-shoppage .wc-block-cart-items__header { font-family: var(--bb-argone); font-size: 15px; letter-spacing: 0; }
.bb-shoppage .wc-block-cart-items__row { border-top: 2px solid var(--bb-hellorange); }
.bb-shoppage .wc-block-cart-item__image img { border-radius: 12px; background: var(--bb-hellgelb); }
/* Das alte Theme färbt Produktnamen je Produkt ein (Inline-CSS mit !important): hier neutral. */
.bb-shoppage a.wc-block-components-product-name[href] { padding: 0 !important; border-radius: 0 !important; background: none !important; color: var(--bb-black) !important; }
.woocommerce-cart .bb-shoppage .wc-block-components-product-name,
.bb-shoppage .wc-block-components-product-name {
	padding: 0;
	border-radius: 0;
	background: none;
	color: var(--bb-black);
	font-family: var(--bb-balgin);
	font-weight: 700;
	font-size: 18px;
	line-height: 1.3;
	text-decoration: none;
}
.bb-shoppage .wc-block-components-product-name:hover { color: var(--bb-dunkelblau); }
.bb-shoppage .wc-block-components-product-metadata { font-size: 14px; }
.bb-shoppage .wc-block-components-quantity-selector { border-radius: 10px; }
.bb-shoppage .wc-block-components-quantity-selector::after { border: 2px solid var(--bb-hellblau); border-radius: 10px; opacity: 1; }
.bb-shoppage .wc-block-components-quantity-selector__button { font-weight: 700; color: var(--bb-dunkelblau); }
.bb-shoppage .wc-block-cart-item__remove-link { font-size: 13px !important; color: var(--bb-black) !important; text-decoration: underline !important; opacity: .7; }
.bb-shoppage .wc-block-cart-item__remove-link:hover { opacity: 1; }
.bb-shoppage .wc-block-cart__sidebar .wc-block-cart__totals-title,
.bb-shoppage .wc-block-components-checkout-order-summary__title-text,
.bb-shoppage .wc-block-components-title { font-family: var(--bb-argone); text-transform: uppercase; font-size: 24px; font-weight: 400; color: var(--bb-black); }
.bb-shoppage .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.bb-shoppage .wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font-family: var(--bb-argone); font-weight: 400; font-size: 26px; text-transform: uppercase; }
.bb-shoppage .wp-block-woocommerce-cart-cross-sells-block h2 {
	font-family: var(--bb-argone);
	font-weight: 400;
	text-transform: uppercase;
	font-size: 30px !important;
	color: var(--bb-white);
	text-shadow: var(--bb-ts) var(--bb-ts) 0 var(--bb-dunkelblau);
}

/* Hauptbuttons: Zur Kasse, Bestellung aufgeben */
.woocommerce-cart .bb-shoppage .wc-block-cart__submit-container a,
.bb-shoppage .wc-block-cart__submit-button,
.woocommerce-checkout .bb-shoppage .wc-block-checkout__actions button,
.bb-shoppage .wc-block-components-checkout-place-order-button {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 58px;
	border: 0;
	border-radius: 10px;
	background: var(--bb-g-blue);
	color: var(--bb-white);
	font-family: var(--bb-balgin);
	font-weight: 700;
	font-size: 19px;
	text-decoration: none;
	box-shadow: var(--bb-shadow);
	transition: transform .15s ease, box-shadow .15s ease;
}
.bb-shoppage .wc-block-cart__submit-button:hover,
.bb-shoppage .wc-block-components-checkout-place-order-button:hover { color: var(--bb-white); transform: translateY(-2px); box-shadow: 0 10px 18px rgba(0, 0, 0, 0.22); }
.woocommerce-checkout .bb-shoppage .wc-block-checkout__actions a { color: var(--bb-dunkelblau); font-weight: 700; }

/* Eingabefelder */
.bb-shoppage .wc-block-components-text-input input,
.bb-shoppage .wc-block-components-combobox .wc-block-components-combobox-control input,
.bb-shoppage .wc-blocks-components-select .wc-blocks-components-select__select,
.bb-shoppage .wc-block-components-textarea { border: 2px solid var(--bb-hellblau) !important; border-radius: 10px !important; }
.bb-shoppage .wc-block-components-text-input input:focus,
.bb-shoppage .wc-block-components-textarea:focus { border-color: var(--bb-dunkelblau) !important; box-shadow: none !important; outline: 0; }
.bb-shoppage .wc-block-components-checkbox__label a { color: var(--bb-dunkelblau) !important; font-weight: 700; }

/* Leerer Warenkorb */
.bb-shoppage .wc-block-cart__empty-cart__title { font-family: var(--bb-argone); font-weight: 400; text-transform: uppercase; font-size: 36px; color: var(--bb-white); text-shadow: var(--bb-ts) var(--bb-ts) 0 var(--bb-dunkelblau); }
.bb-shoppage .wp-block-woocommerce-empty-cart-block > h2:not(.wc-block-cart__empty-cart__title) { font-family: var(--bb-argone); font-weight: 400; text-transform: uppercase; font-size: 26px; }

/* Mein Konto: Seitenleiste (Profil + Navigation) links, Inhalt rechts */
.bb-shoppage--account .bb-shoppage__content > .woocommerce:has(.bb-acc-side) { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 30px; align-items: start; }
/* WooCommerce-Clearfix würde sonst eine leere Rasterzelle belegen */
.bb-shoppage--account .bb-shoppage__content > .woocommerce::before,
.bb-shoppage--account .bb-shoppage__content > .woocommerce::after { display: none; }
.bb-shoppage--account .bb-acc-side { grid-column: 1; grid-row: 1; position: sticky; top: 130px; padding: 18px; border-radius: var(--bb-radius); background: var(--bb-white); box-shadow: var(--bb-card-shadow); font-family: var(--bb-balgin); }
.bb-shoppage--account .woocommerce-MyAccount-content { grid-column: 2; grid-row: 1; float: none; width: auto; min-width: 0; padding: 32px 36px; border-radius: var(--bb-radius); background: var(--bb-white); box-shadow: var(--bb-card-shadow); font-family: var(--bb-balgin); color: var(--bb-black); }
.bb-shoppage--account .woocommerce-MyAccount-navigation { float: none; width: auto; }
.bb-acc-profile { display: flex; align-items: center; gap: 12px; padding: 4px 4px 16px; margin-bottom: 10px; border-bottom: 2px dashed var(--bb-hellblau); }
.bb-acc-profile__avatar { flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; padding-top: 3px; box-sizing: border-box; border-radius: 14px; background: var(--bb-g-violet); box-shadow: var(--bb-shadow); font-family: var(--bb-argone); font-size: 24px; color: var(--bb-white); }
.bb-acc-profile__txt { display: flex; flex-direction: column; min-width: 0; }
.bb-acc-profile__name { font-weight: 700; font-size: 16px; color: var(--bb-black); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bb-acc-profile__mail { font-size: 13px; color: var(--bb-black); opacity: .7; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bb-shoppage--account .woocommerce-MyAccount-navigation ul { display: flex; flex-direction: column; gap: 4px; list-style: none; margin: 0; padding: 0; }
.bb-shoppage--account .woocommerce-MyAccount-navigation li { margin: 0; }
.bb-shoppage--account .woocommerce-MyAccount-navigation li a { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 10px; font-family: var(--bb-balgin); font-weight: 700; font-size: 16px; color: var(--bb-black); text-decoration: none; transition: background .15s ease; }
.bb-shoppage--account .woocommerce-MyAccount-navigation li a::before { content: ""; flex-shrink: 0; width: 18px; height: 18px; background: currentColor; -webkit-mask-position: center; mask-position: center; -webkit-mask-size: contain; mask-size: contain; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; }
.bb-shoppage--account .woocommerce-MyAccount-navigation-link--dashboard a::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Crect x='2' y='2' width='7' height='7' rx='2'/%3E%3Crect x='11' y='2' width='7' height='7' rx='2'/%3E%3Crect x='2' y='11' width='7' height='7' rx='2'/%3E%3Crect x='11' y='11' width='7' height='7' rx='2'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Crect x='2' y='2' width='7' height='7' rx='2'/%3E%3Crect x='11' y='2' width='7' height='7' rx='2'/%3E%3Crect x='2' y='11' width='7' height='7' rx='2'/%3E%3Crect x='11' y='11' width='7' height='7' rx='2'/%3E%3C/svg%3E"); }
.bb-shoppage--account .woocommerce-MyAccount-navigation-link--orders a::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M3.5 7h13l-1.1 10.4A1.8 1.8 0 0 1 13.6 19H6.4a1.8 1.8 0 0 1-1.8-1.6Z'/%3E%3Cpath d='M7 8.5V5.5a3 3 0 0 1 6 0v3' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M3.5 7h13l-1.1 10.4A1.8 1.8 0 0 1 13.6 19H6.4a1.8 1.8 0 0 1-1.8-1.6Z'/%3E%3Cpath d='M7 8.5V5.5a3 3 0 0 1 6 0v3' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E"); }
.bb-shoppage--account .woocommerce-MyAccount-navigation-link--edit-address a::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10 1.5A6.5 6.5 0 0 0 3.5 8c0 4.6 6.5 10.5 6.5 10.5S16.5 12.6 16.5 8A6.5 6.5 0 0 0 10 1.5Zm0 9a2.5 2.5 0 1 1 0-5 2.5 2.5 0 0 1 0 5Z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10 1.5A6.5 6.5 0 0 0 3.5 8c0 4.6 6.5 10.5 6.5 10.5S16.5 12.6 16.5 8A6.5 6.5 0 0 0 10 1.5Zm0 9a2.5 2.5 0 1 1 0-5 2.5 2.5 0 0 1 0 5Z'/%3E%3C/svg%3E"); }
.bb-shoppage--account .woocommerce-MyAccount-navigation-link--edit-account a::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ccircle cx='10' cy='6' r='4'/%3E%3Cpath d='M2 18.5c0-4 3.6-6.5 8-6.5s8 2.5 8 6.5Z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ccircle cx='10' cy='6' r='4'/%3E%3Cpath d='M2 18.5c0-4 3.6-6.5 8-6.5s8 2.5 8 6.5Z'/%3E%3C/svg%3E"); }
.bb-shoppage--account .woocommerce-MyAccount-navigation-link--customer-logout a::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M8.5 3H4.5a1.5 1.5 0 0 0-1.5 1.5v11A1.5 1.5 0 0 0 4.5 17h4' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'/%3E%3Cpath d='M13 6l4 4-4 4M17 10H8' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M8.5 3H4.5a1.5 1.5 0 0 0-1.5 1.5v11A1.5 1.5 0 0 0 4.5 17h4' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'/%3E%3Cpath d='M13 6l4 4-4 4M17 10H8' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.bb-shoppage--account .woocommerce-MyAccount-navigation li:not(.is-active) a:hover { background: var(--bb-hellgelb); color: var(--bb-black); }
.bb-shoppage--account .woocommerce-MyAccount-navigation li.is-active a { background: var(--bb-g-blue); color: var(--bb-white); box-shadow: var(--bb-shadow); }
.bb-shoppage--account .woocommerce-MyAccount-navigation-link--customer-logout { margin-top: 8px; padding-top: 8px; border-top: 2px dashed var(--bb-hellblau); }
.bb-shoppage--account .woocommerce-MyAccount-navigation-link--customer-logout a { opacity: .75; }

/* Übersicht */
.bb-acc-head { margin-bottom: 24px; }
.bb-acc-head .bb-acc-head__t { margin: 0 0 6px; font-family: var(--bb-argone); font-weight: 400; text-transform: uppercase; font-size: 40px; line-height: 1; color: var(--bb-black); text-shadow: none; }
.bb-acc-head__d { margin: 0; font-size: 16px; color: var(--bb-black); }
.bb-acc-info { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-bottom: 16px; }
.bb-acc-card { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; padding: 20px 22px; border-radius: 14px; color: var(--bb-black); text-decoration: none; }
.bb-acc-card--order { background: var(--bb-hellblau); transition: transform .2s ease; }
.bb-acc-card--order:hover { transform: translateY(-3px); color: var(--bb-black); }
.bb-acc-card--age { background: var(--bb-hellorange); }
.bb-acc-card--age.is-ok { background: var(--bb-hellgelb); }
.bb-acc-card__label { font-family: var(--bb-argone); text-transform: uppercase; font-size: 14px; line-height: 1; color: var(--bb-black); opacity: .75; }
.bb-acc-card__main { font-weight: 700; font-size: 20px; line-height: 1.25; color: var(--bb-black); }
.bb-acc-card__row { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.bb-acc-card__total { font-weight: 700; font-size: 15px; color: var(--bb-black); }
.bb-acc-card__text { font-size: 14px; line-height: 1.5; color: var(--bb-black); }
.bb-acc-card__more { margin-top: auto; padding-top: 6px; font-weight: 700; font-size: 14px; color: var(--bb-dunkelblau); }
.bb-acc-tiles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.bb-acc-tile { position: relative; display: flex; flex-direction: column; gap: 8px; min-height: 140px; padding: 20px 20px 44px; box-sizing: border-box; border-radius: 14px; box-shadow: var(--bb-shadow); color: var(--bb-white); text-decoration: none; transition: transform .2s ease; }
.bb-acc-tile:hover { color: var(--bb-white); transform: translateY(-3px); }
.bb-acc-tile__t { font-family: var(--bb-argone); text-transform: uppercase; font-size: 24px; line-height: 1; }
.bb-acc-tile__d { font-size: 14px; font-weight: 700; line-height: 1.35; }
.bb-acc-tile__a { position: absolute; left: 20px; bottom: 16px; font-weight: 700; font-size: 18px; transition: transform .15s ease; }
.bb-acc-tile:hover .bb-acc-tile__a { transform: translateX(4px); }
.bb-acc-tile--blue { background: var(--bb-g-blue); }
.bb-acc-tile--violet { background: var(--bb-g-violet); }
.bb-acc-tile--sky { background: var(--bb-g-sky); color: var(--bb-black); }
.bb-acc-tile--sky:hover { color: var(--bb-black); }
.bb-acc-tile--orange { background: var(--bb-g-orange); color: var(--bb-black); }
.bb-acc-tile--orange:hover { color: var(--bb-black); }

/* Status als farbige Marke (Übersicht und Bestellliste) */
.bb-status,
.bb-shoppage--account .woocommerce-orders-table__cell-order-status { white-space: nowrap; }
.bb-status,
.bb-shoppage--account .woocommerce-orders-table__cell-order-status > * { display: inline-block; }
.bb-status { padding: 4px 10px 3px; border-radius: 6px; background: var(--bb-white); font-weight: 700; font-size: 13px; line-height: 1.3; color: var(--bb-black); }
.bb-status--processing,
.bb-status--completed { background: var(--bb-blau); }
.bb-status--on-hold,
.bb-status--pending { background: var(--bb-orange); }
.bb-status--failed,
.bb-status--cancelled { background: var(--bb-hellpink); }
.bb-status--refunded { background: var(--bb-hellviolett); }

/* Bestellungen */
.bb-shoppage--account table.shop_table { width: 100%; margin: 0; border: 0; border-collapse: collapse; font-size: 15px; }
.bb-shoppage--account table.shop_table th,
.bb-shoppage--account table.shop_table td { padding: 14px 10px; border: 0; border-bottom: 2px solid var(--bb-hellorange); text-align: left; vertical-align: middle; color: var(--bb-black); }
.bb-shoppage--account table.shop_table thead th { font-family: var(--bb-argone); font-weight: 400; text-transform: uppercase; font-size: 15px; }
.bb-shoppage--account .woocommerce-orders-table__cell-order-number a { font-weight: 700; color: var(--bb-dunkelblau); }
.bb-shoppage--account .woocommerce-orders-table__row td.woocommerce-orders-table__cell-order-status { font-weight: 700; }
.bb-shoppage--account .woocommerce-orders-table__row--status-processing .woocommerce-orders-table__cell-order-status,
.bb-shoppage--account .woocommerce-orders-table__row--status-completed .woocommerce-orders-table__cell-order-status { color: var(--bb-dunkelblau); }
.bb-shoppage--account .woocommerce-orders-table__row--status-failed .woocommerce-orders-table__cell-order-status,
.bb-shoppage--account .woocommerce-orders-table__row--status-cancelled .woocommerce-orders-table__cell-order-status { color: var(--bb-pink); }
.bb-shoppage--account .woocommerce-orders-table__cell-order-actions { white-space: nowrap; }
.bb-shoppage--account .woocommerce-orders-table__cell-order-actions .button { margin: 3px 6px 3px 0; min-height: 34px; padding: 0 12px; font-size: 14px; }
.bb-shoppage--account .woocommerce-orders-table__cell-order-actions .button.cancel { background: var(--bb-white); color: var(--bb-black); box-shadow: inset 0 0 0 2px var(--bb-hellblau); }
.bb-shoppage--account .woocommerce-orders-table__cell-order-actions .button.pay { background: var(--bb-g-violet); }

/* Knöpfe, Formulare und Adressen */
.bb-shoppage--account .woocommerce-button,
.bb-shoppage--account .button { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 18px; border: 0; border-radius: 10px; background: var(--bb-g-blue); color: var(--bb-white); font-family: var(--bb-balgin); font-weight: 700; font-size: 15px; text-decoration: none; box-shadow: var(--bb-shadow); cursor: pointer; }
.bb-shoppage--account .button:hover { color: var(--bb-white); transform: translateY(-2px); }
.bb-shoppage--account .woocommerce-MyAccount-content form .form-row { margin: 0 0 16px; padding: 0; }
.bb-shoppage--account .woocommerce-MyAccount-content label { display: block; margin-bottom: 6px; font-weight: 700; font-size: 15px; color: var(--bb-black); }
.bb-shoppage--account .woocommerce-MyAccount-content .input-text,
.bb-shoppage--account .woocommerce-MyAccount-content select { width: 100%; box-sizing: border-box; min-height: 50px; padding: 10px 14px; border: 2px solid var(--bb-hellblau); border-radius: 10px; background: var(--bb-white); font-family: var(--bb-balgin); font-size: 16px; color: var(--bb-black); }
.bb-shoppage--account .woocommerce-MyAccount-content .input-text:focus,
.bb-shoppage--account .woocommerce-MyAccount-content select:focus { border-color: var(--bb-dunkelblau); outline: 0; }
.bb-shoppage--account .woocommerce-MyAccount-content span em { display: block; margin-top: 6px; font-size: 13px; font-style: normal; opacity: .75; }
.bb-shoppage--account .woocommerce-MyAccount-content fieldset { margin: 26px 0 10px; padding: 22px 22px 6px; border: 2px dashed var(--bb-hellblau); border-radius: 14px; }
.bb-shoppage--account .woocommerce-MyAccount-content legend { padding: 0 8px; font-family: var(--bb-argone); text-transform: uppercase; font-size: 20px; color: var(--bb-black); }
.bb-shoppage--account .woocommerce-MyAccount-content .password-input { display: block; position: relative; }
.bb-shoppage--account .woocommerce-MyAccount-content .show-password-input { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); }
.bb-shoppage--account .woocommerce-MyAccount-content > p:first-of-type { margin-top: 0; }
.bb-shoppage--account .woocommerce-Addresses { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 18px; }
.bb-shoppage--account .woocommerce-Addresses::before,
.bb-shoppage--account .woocommerce-Addresses::after { display: none; }
.bb-shoppage--account .woocommerce-Address { float: none; width: auto; max-width: none; margin: 0; padding: 22px; border-radius: 14px; background: var(--bb-hellgelb); }
.bb-shoppage--account .woocommerce-Address-title { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; margin-bottom: 12px; }
.bb-shoppage--account .woocommerce-Address-title h2 { margin: 0; font-family: var(--bb-argone); font-weight: 400; text-transform: uppercase; font-size: 22px; line-height: 1; color: var(--bb-black); text-shadow: none; }
.bb-shoppage--account .woocommerce-Address-title a.edit { float: none; display: inline-flex; align-items: center; min-height: 32px; padding: 0 12px; border-radius: 8px; background: var(--bb-g-blue); color: var(--bb-white); font-weight: 700; font-size: 13px; text-decoration: none; box-shadow: var(--bb-shadow); }
.bb-shoppage--account .woocommerce-Address address { font-style: normal; font-size: 15px; line-height: 1.6; color: var(--bb-black); }
.bb-shoppage--account .woocommerce-MyAccount-content h2,
.bb-shoppage--account .woocommerce-MyAccount-content h3 { font-family: var(--bb-argone); font-weight: 400; text-transform: uppercase; color: var(--bb-black); text-shadow: none; }

/* Anmelden (nicht angemeldet) */
.bb-login { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 30px; align-items: stretch; max-width: 980px; margin: 0 auto; }
.bb-login > h2 { display: none; }
.bb-login .woocommerce-form-login {
	margin: 0;
	padding: 30px 32px;
	border: 0;
	border-radius: var(--bb-radius);
	background: var(--bb-white);
	box-shadow: var(--bb-card-shadow);
	font-family: var(--bb-balgin);
	color: var(--bb-black);
}
.bb-login .woocommerce-form-login::before {
	content: "Anmelden";
	display: block;
	margin-bottom: 18px;
	font-family: var(--bb-argone);
	text-transform: uppercase;
	font-size: 30px;
	line-height: 1;
	color: var(--bb-black);
}
.bb-login label { display: block; margin-bottom: 6px; font-weight: 700; font-size: 15px; }
.bb-login .input-text { width: 100%; box-sizing: border-box; min-height: 50px; padding: 10px 14px; border: 2px solid var(--bb-hellblau); border-radius: 10px; font-family: var(--bb-balgin); font-size: 16px; }
.bb-login .input-text:focus { border-color: var(--bb-dunkelblau); outline: 0; }
.bb-login .password-input { display: block; position: relative; }
.bb-login .show-password-input { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); }
.bb-login .woocommerce-form-login__rememberme { display: inline-flex; align-items: center; gap: 8px; font-weight: 400; margin: 6px 0 14px; }
.bb-login .woocommerce-form-login__submit { display: flex; width: 100%; justify-content: center; align-items: center; min-height: 54px; border: 0; border-radius: 10px; background: var(--bb-g-blue); color: var(--bb-white); font-family: var(--bb-balgin); font-weight: 700; font-size: 18px; box-shadow: var(--bb-shadow); cursor: pointer; }
.bb-login .woocommerce-form-login__submit:hover { transform: translateY(-2px); }
.bb-login .lost_password { margin: 14px 0 0; text-align: center; }
.bb-login .lost_password a { color: var(--bb-dunkelblau); font-weight: 700; }
.bb-login__aside { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; padding: 30px 32px; border-radius: var(--bb-radius); background: var(--bb-g-violet); box-shadow: var(--bb-card-shadow); color: var(--bb-white); font-family: var(--bb-balgin); }
.bb-login__title { margin: 0; font-family: var(--bb-argone); font-weight: 400; text-transform: uppercase; font-size: 30px; line-height: 1; color: var(--bb-white); text-shadow: var(--bb-ts) var(--bb-ts) 0 var(--bb-dunkelblau); }
.bb-login__aside p { margin: 0; font-size: 16px; line-height: 1.6; color: var(--bb-white); }
.bb-login__list { margin: 8px 0 0; padding-left: 1.2em; font-size: 15px; line-height: 1.7; }
.bb-login__list a { color: var(--bb-white); text-decoration: underline; }

@media (max-width: 1199.98px) {
	.bb-acc-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 991.98px) {
	.bb-hero--shop .bb-hero__title { font-size: 54px; }
	.bb-shoppage--account .bb-shoppage__content > .woocommerce { grid-template-columns: minmax(0, 1fr); gap: 18px; }
	.bb-shoppage--account .bb-acc-side,
	.bb-shoppage--account .woocommerce-MyAccount-content { grid-column: 1; grid-row: auto; }
	.bb-shoppage--account .bb-acc-side { position: static; padding: 14px; }
	.bb-acc-profile { padding: 2px 2px 12px; }
	/* Navigation als Reiter, die man seitlich wischen kann */
	.bb-shoppage--account .woocommerce-MyAccount-navigation ul { flex-direction: row; gap: 8px; overflow-x: auto; scrollbar-width: none; padding-bottom: 2px; }
	.bb-shoppage--account .woocommerce-MyAccount-navigation ul::-webkit-scrollbar { display: none; }
	.bb-shoppage--account .woocommerce-MyAccount-navigation li a { white-space: nowrap; padding: 10px 14px; background: var(--bb-hellgelb); font-size: 15px; }
	.bb-shoppage--account .woocommerce-MyAccount-navigation-link--customer-logout { margin: 0; padding: 0; border: 0; }
	.bb-acc-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.bb-login { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 767.98px) {
	.bb-hero--shop .bb-hero__title { font-size: 40px; }
	.bb-steps li + li::before { width: 18px; }
	.bb-steps__l { font-size: 13px; }
	.bb-shoppage .wc-block-components-main,
	.bb-shoppage .wc-block-components-sidebar { padding: 18px; }
	.bb-shoppage--account .woocommerce-MyAccount-content,
	.bb-login .woocommerce-form-login,
	.bb-login__aside { padding: 22px; }
	.bb-acc-head .bb-acc-head__t { font-size: 30px; }
	.bb-acc-info,
	.bb-shoppage--account .woocommerce-Addresses { grid-template-columns: minmax(0, 1fr); }
	.bb-acc-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
	.bb-acc-tile { min-height: 120px; padding: 16px 16px 40px; }
	.bb-acc-tile__t { font-size: 20px; }
	.bb-acc-tile__d { font-size: 13px; }
	/* Bestellliste als Karten */
	.bb-shoppage--account table.shop_table_responsive thead { display: none; }
	.bb-shoppage--account table.shop_table_responsive tr { display: block; margin-bottom: 12px; padding: 6px 14px; border-radius: 14px; background: var(--bb-hellgelb); }
	.bb-shoppage--account table.shop_table_responsive td { display: flex; justify-content: space-between; gap: 12px; padding: 8px 0; border-bottom: 1px dashed var(--bb-hellorange); text-align: right; }
	.bb-shoppage--account table.shop_table_responsive td:last-child { border-bottom: 0; }
	.bb-shoppage--account table.shop_table_responsive td::before { content: attr(data-title); font-weight: 700; text-align: left; float: none; }
}

/* ==================================================================
 * Impressum (page-impressum.php)
 * ================================================================== */
.bb-impressum { position: relative; z-index: 46; padding-bottom: 100px; }
.bb-impressum > .container { margin-top: 40px; }
.bb-impressum__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; font-family: var(--bb-balgin); color: var(--bb-black); }
.bb-impressum__grid > .bb-imp-card { position: relative; margin: 0; padding: 32px 34px; border-radius: var(--bb-radius); box-shadow: var(--bb-card-shadow); overflow: hidden; }
.bb-imp-card > * { margin-top: 0; }
.bb-imp-card p { margin: 0 0 10px; font-size: 17px; line-height: 1.6; color: inherit; }
.bb-imp-card a { color: inherit; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.bb-imp-card h2 {
	margin: 0 0 14px;
	font-family: var(--bb-argone);
	font-weight: 400;
	text-transform: uppercase;
	font-size: 40px;
	line-height: 1;
	color: var(--bb-white);
	text-shadow: var(--bb-ts) var(--bb-ts) 0 var(--bb-dunkelblau);
}
.bb-imp-card .bb-imp-label {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 12px;
	padding: 5px 11px 3px;
	border-radius: 8px;
	background: var(--bb-white);
	box-shadow: 0 6px 12px rgba(0, 0, 0, 0.10);
	font-family: var(--bb-argone);
	text-transform: uppercase;
	font-size: 14px;
	line-height: 1.2;
	color: var(--bb-black);
}
.bb-imp-card--company,
.bb-imp-card--contact { background: var(--bb-white); }
.bb-imp-card--company .bb-imp-label,
.bb-imp-card--contact .bb-imp-label { background: var(--bb-hellgelb); box-shadow: none; }
.bb-imp-card--company h2,
.bb-imp-card--contact h2 { font-size: 34px; }
.bb-imp-card--freshman,
.bb-imp-card--pizza,
.bb-imp-card--notes { grid-column: 1 / -1; }

/* The Freshman Studio: typografisch, mit Laufschrift wie auf freshman.ch */
.bb-imp-card--freshman { padding-top: 0 !important; background: var(--bb-g-blue); color: var(--bb-white); }
.bb-imp-card--freshman h2 { font-size: 64px; text-shadow: var(--bb-ts) var(--bb-ts) 0 var(--bb-purple); }
.bb-imp-card--freshman p { max-width: 720px; }
.bb-imp-card .bb-imp-ticker {
	display: flex;
	max-width: none;
	margin: 0 -34px 28px;
	padding: 12px 0 10px;
	overflow: hidden;
	white-space: nowrap;
	background: var(--bb-black);
	font-family: var(--bb-argone);
	text-transform: uppercase;
	font-size: 22px;
	line-height: 1;
	color: var(--bb-white);
}
.bb-imp-ticker span { flex-shrink: 0; padding-right: 0; animation: bbTicker 28s linear infinite; }
@keyframes bbTicker { from { transform: translateX(0); } to { transform: translateX(-100%); } }

/* Pizza Buddies: kurz und knackig wie auf pizzabuddies.ch */
.bb-imp-card--pizza { background: var(--bb-g-orange); color: var(--bb-black); }
.bb-imp-card--pizza h2 { font-size: 64px; }
.bb-imp-card--pizza p { max-width: 760px; }
.bb-imp-card .bb-imp-chips { display: flex; flex-wrap: wrap; gap: 10px; margin: 6px 0 18px; padding: 0; list-style: none; }
.bb-imp-chips li { padding: 7px 13px 6px; border-radius: 10px; background: var(--bb-white); box-shadow: 0 6px 12px rgba(0, 0, 0, 0.10); font-weight: 700; font-size: 15px; }

.bb-imp-card--notes { background: linear-gradient(var(--bb-hellgelb), var(--bb-gelb)); }
.bb-imp-card--notes p { font-size: 15px; }
.bb-imp-card--notes .bb-imp-label { box-shadow: none; }

/* Buttons in den Karten */
.bb-imp-card .wp-block-buttons { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 18px; }
.bb-imp-card .bb-imp-btn .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	min-height: 46px;
	padding: 0 20px;
	border: 0;
	border-radius: 10px;
	font-family: var(--bb-balgin);
	font-weight: 700;
	font-size: 16px;
	line-height: 1;
	text-transform: none;
	letter-spacing: 0;
	text-decoration: none;
	box-shadow: var(--bb-shadow);
	transition: transform .15s ease;
}
.bb-imp-card .bb-imp-btn .wp-block-button__link:hover { transform: translateY(-2px); }
.bb-imp-btn--blue .wp-block-button__link { background: var(--bb-g-blue); color: var(--bb-white); }
.bb-imp-btn--white .wp-block-button__link { background: var(--bb-white); color: var(--bb-black); }
.bb-imp-btn--ghost .wp-block-button__link { background: transparent; color: var(--bb-white); box-shadow: inset 0 0 0 2px var(--bb-white); }

@media (max-width: 991.98px) {
	.bb-impressum__grid { grid-template-columns: minmax(0, 1fr); }
	.bb-imp-card--freshman h2,
	.bb-imp-card--pizza h2 { font-size: 46px; }
}
@media (max-width: 767.98px) {
	.bb-impressum > .container { margin-top: 24px; }
	.bb-impressum__grid > .bb-imp-card { padding: 24px 22px; }
	.bb-imp-card .bb-imp-ticker { margin: 0 -22px 22px; font-size: 18px; }
	.bb-imp-card--freshman h2,
	.bb-imp-card--pizza h2 { font-size: 36px; text-shadow: var(--bb-ts) var(--bb-ts) 0 var(--bb-dunkelblau); }
}
@media (prefers-reduced-motion: reduce) {
	.bb-imp-ticker span { animation: none; }
}

/* ==================================================================
 * Besuchte Links: Das alte Theme färbt a:visited und a:hover weiss
 * (style.css). Die neuen Karten-Links behalten ihre eigene Farbe.
 * ================================================================== */
.bb-mfocus:visited,
.bb-mfocus:active,
.bb-side-guide:visited,
.bb-acc-card:visited,
.bb-mm__cats-head a:visited,
.bb-mm__cats-head a:hover,
.bb-crumbs a:visited,
.bb-crumbs a:hover,
.bb-steps a:visited,
.bb-steps a:hover,
.bb-toc a:visited { color: var(--bb-black); }
.bb-mfocus__eyebrow,
.bb-mfocus__name,
.bb-mfocus__meta,
.bb-side-guide__title,
.bb-acc-card__label,
.bb-acc-card__main,
.bb-acc-card__text,
.bb-acc-card__total { color: var(--bb-black); }
.bb-shoppage--account .woocommerce-MyAccount-navigation li:not(.is-active) a:hover { color: var(--bb-black); }
.bb-shoppage--account .woocommerce-MyAccount-navigation li.is-active a:hover { color: var(--bb-white); }
.bb-shoppage--account .woocommerce-Address-title a.edit:visited,
.bb-shoppage--account .button:visited { color: var(--bb-white); }
.bb-post--guide .bb-toc a:visited { color: var(--bb-white); }
.bb-article__content a:visited,
.bb-article__content a:hover { color: var(--bb-dunkelblau); }
.bb-acc-tile--blue:visited,
.bb-acc-tile--violet:visited { color: var(--bb-white); }
.bb-acc-tile--sky:visited,
.bb-acc-tile--orange:visited { color: var(--bb-black); }
.bb-login .lost_password a:visited,
.bb-login .lost_password a:hover,
.woocommerce-checkout .bb-shoppage .wc-block-checkout__actions a:visited { color: var(--bb-dunkelblau); }
.bb-shoppage--account .woocommerce-MyAccount-navigation li a:visited { color: var(--bb-black); }
.bb-legal-card__links a:visited { color: var(--bb-dunkelblau); }
.bb-shoppage--account .woocommerce-MyAccount-navigation li.is-active a:visited { color: var(--bb-white); }

/* ==================================================================
 * Rechtstexte: AGB und Datenschutzerklärung (page-rechtliches.php)
 * Aufbau wie der Ratgeber: Inhaltsverzeichnis links, nummerierte Abschnitte.
 * ================================================================== */
.bb-post--legal .bb-article__content { font-size: 17px; }
.bb-post--legal .bb-article__content > h2 { font-size: 30px; }
.bb-post--legal .bb-toc ol { font-size: 14px; }
.bb-legal-card { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; padding: 24px 26px; }
.bb-legal-card__h { font-family: var(--bb-argone); text-transform: uppercase; font-size: 26px; line-height: 1; color: var(--bb-black); }
.bb-legal-card p { margin: 0; font-size: 15px; line-height: 1.5; color: var(--bb-black); }
.bb-legal-card__links { display: flex; flex-direction: column; gap: 6px; margin: 4px 0 0; padding: 0; list-style: none; font-weight: 700; font-size: 15px; }
.bb-legal-card__links a,
.bb-legal-card__links a:hover { color: var(--bb-dunkelblau); text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 767.98px) {
	.bb-post--legal .bb-article__content { font-size: 16px; }
	.bb-post--legal .bb-article__content > h2 { font-size: 24px; }
}

/* ==================================================================
 * Alterskontrolle im Warenkorb und an der Kasse (Plugin bb-kontakte, class-bb-age.php)
 * ================================================================== */
.bb-age { margin: 0 0 30px; padding: 24px 28px; border-radius: var(--bb-radius); background: var(--bb-white); box-shadow: var(--bb-card-shadow); font-family: var(--bb-balgin); color: var(--bb-black); scroll-margin-top: 130px; }
.bb-age__head { display: flex; align-items: center; gap: 18px; }
.bb-age__badge { flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; width: 60px; height: 60px; padding-top: 3px; box-sizing: border-box; border-radius: 14px; background: var(--bb-g-blue); box-shadow: var(--bb-shadow); font-family: var(--bb-argone); font-size: 24px; line-height: 1; color: var(--bb-white); }
.bb-age.is-done .bb-age__badge { background: var(--bb-g-sky); color: var(--bb-dunkelblau); font-size: 28px; }
.bb-age .bb-age__title { margin: 0 0 4px; font-family: var(--bb-argone); font-weight: 400; text-transform: uppercase; font-size: 28px; line-height: 1; color: var(--bb-black); text-shadow: none; }
.bb-age__lead { margin: 0; font-size: 15px; line-height: 1.5; color: var(--bb-black); }
.bb-age__change { flex-shrink: 0; margin-left: auto; padding: 6px 4px; border: 0; background: none; font-family: var(--bb-balgin); font-weight: 700; font-size: 15px; color: var(--bb-dunkelblau); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.bb-age__form { margin-top: 20px; padding-top: 20px; border-top: 2px dashed var(--bb-hellblau); }
.bb-age__fields { display: grid; grid-template-columns: minmax(0, 240px) minmax(0, 1fr); gap: 16px; }
.bb-age__field { display: flex; flex-direction: column; gap: 6px; margin: 0; }
.bb-age__label { font-weight: 700; font-size: 14px; color: var(--bb-black); }
.bb-age input[type="date"],
.bb-age input[type="file"] { width: 100%; min-height: 50px; box-sizing: border-box; padding: 10px 14px; border: 2px solid var(--bb-hellblau); border-radius: 10px; background: var(--bb-white); font-family: var(--bb-balgin); font-size: 16px; color: var(--bb-black); }
.bb-age input[type="file"] { padding: 8px 10px; font-size: 14px; }
.bb-age input[type="file"]::file-selector-button { margin-right: 12px; padding: 8px 14px; border: 0; border-radius: 8px; background: var(--bb-g-blue); font-family: var(--bb-balgin); font-weight: 700; color: var(--bb-white); cursor: pointer; }
.bb-age input:focus { border-color: var(--bb-dunkelblau); outline: 0; }
.bb-age__hint { margin: 10px 0 0; font-size: 13px; line-height: 1.5; opacity: .85; }
.bb-age__check { display: flex; align-items: flex-start; gap: 10px; margin: 16px 0 0; font-size: 15px; line-height: 1.45; cursor: pointer; }
.bb-age__check input { flex-shrink: 0; width: 20px; height: 20px; margin: 1px 0 0; accent-color: var(--bb-dunkelblau); }
.bb-age__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; margin-top: 18px; }
.bb-age__actions .bb-btn[disabled] { opacity: .6; cursor: wait; }
.bb-age__msg { margin: 0; font-weight: 700; font-size: 15px; color: var(--bb-pink); }
.bb-age__msg.is-ok { color: var(--bb-dunkelblau); }
.bb-age__privacy { margin: 14px 0 0; font-size: 13px; line-height: 1.5; opacity: .85; }
.bb-age__privacy a,
.bb-age__privacy a:visited,
.bb-age__privacy a:hover { color: var(--bb-dunkelblau); text-decoration: underline; }
.bb-age-back { margin: -10px 0 0; }
.bb-age-note { display: flex; align-items: center; justify-content: center; gap: 10px; max-width: 640px; margin: -14px auto 30px; font-family: var(--bb-balgin); font-weight: 700; font-size: 14px; line-height: 1.45; color: var(--bb-black); text-align: left; }
.bb-age-note__badge { flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; padding-top: 2px; box-sizing: border-box; border-radius: 10px; background: var(--bb-g-blue); font-family: var(--bb-argone); font-weight: 400; font-size: 15px; color: var(--bb-white); }
@media (max-width: 767.98px) {
	.bb-age { padding: 20px 18px; }
	.bb-age__head { align-items: flex-start; gap: 14px; }
	.bb-age__badge { width: 48px; height: 48px; font-size: 19px; border-radius: 12px; }
	.bb-age .bb-age__title { font-size: 23px; }
	.bb-age__fields { grid-template-columns: minmax(0, 1fr); }
	.bb-age__actions .bb-btn { width: 100%; }
}

/* ==================================================================
 * Welle unter der Kopfzeile auf Tablet und Handy
 * Das Wellenbild wird sonst auf die hohe Kopfzeile gestreckt und kippt zur Schräge.
 * Hier: derselbe Verlauf über die ganze Höhe, die Welle (gleiche Form wie am Desktop)
 * nur als Maske am unteren Rand mit fester Höhe.
 * ================================================================== */
@media (max-width: 991.98px) {
	.bb-header::after,
	.page-id-12 .bb-header::after,
	.page-template-page-about .bb-header::after,
	.page-template-page-ratgeber .bb-header::after {
		--bb-wave-h: 64px;
		background: linear-gradient(#F7D991 0, #9FEDFF calc(100% - var(--bb-wave-h) * .6), #D3F5FD 100%);
		-webkit-mask: linear-gradient(#000 0 0) top / 100% calc(100% - var(--bb-wave-h) + 1px) no-repeat, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 150 1920 106.5' preserveAspectRatio='none'%3E%3Cpath transform='translate%28-405 -1365.5%29' d='M862.538,1622c-75.267,0-185.029-3.039-280.5-17.512-21.524-3.263-41.55-7-59.521-11.122a465.747,465.747,0,0,1-50.83-14.431c-15.553-5.5-28.982-11.574-39.915-18.044a123.376,123.376,0,0,1-15.169-10.473A80.313,80.313,0,0,1,405,1538.926V1365.5H2325v217.987l-.02.005c-.637.147-6.533,1.494-17.231,3.4-10.46,1.864-27.86,4.678-51.351,7.494-26.4,3.164-54.942,5.686-84.842,7.494-37.374,2.26-76.982,3.407-117.726,3.408-50.883,0-104.312-1.791-158.8-5.324-48.432-3.141-100.369-5.516-154.37-7.06-50.606-1.447-103.547-2.181-157.354-2.181-45.958,0-92.838.535-139.339,1.59-44.232,1-88.192,2.479-130.657,4.383-81.212,3.642-155.259,8.769-214.135,14.825-30,3.086-66.5,5.674-105.546,7.485C950.8,1620.993,906.69,1622,862.538,1622Z'/%3E%3C/svg%3E") bottom / 100% var(--bb-wave-h) no-repeat;
		mask: linear-gradient(#000 0 0) top / 100% calc(100% - var(--bb-wave-h) + 1px) no-repeat, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 150 1920 106.5' preserveAspectRatio='none'%3E%3Cpath transform='translate%28-405 -1365.5%29' d='M862.538,1622c-75.267,0-185.029-3.039-280.5-17.512-21.524-3.263-41.55-7-59.521-11.122a465.747,465.747,0,0,1-50.83-14.431c-15.553-5.5-28.982-11.574-39.915-18.044a123.376,123.376,0,0,1-15.169-10.473A80.313,80.313,0,0,1,405,1538.926V1365.5H2325v217.987l-.02.005c-.637.147-6.533,1.494-17.231,3.4-10.46,1.864-27.86,4.678-51.351,7.494-26.4,3.164-54.942,5.686-84.842,7.494-37.374,2.26-76.982,3.407-117.726,3.408-50.883,0-104.312-1.791-158.8-5.324-48.432-3.141-100.369-5.516-154.37-7.06-50.606-1.447-103.547-2.181-157.354-2.181-45.958,0-92.838.535-139.339,1.59-44.232,1-88.192,2.479-130.657,4.383-81.212,3.642-155.259,8.769-214.135,14.825-30,3.086-66.5,5.674-105.546,7.485C950.8,1620.993,906.69,1622,862.538,1622Z'/%3E%3C/svg%3E") bottom / 100% var(--bb-wave-h) no-repeat;
	}
	.page-id-12 .bb-header::after,
	.page-template-page-about .bb-header::after,
	.page-template-page-ratgeber .bb-header::after { background: linear-gradient(#F7BD91 0, #9FEDFF calc(100% - var(--bb-wave-h) * .6), #D3F5FD 100%); }
}
@media (max-width: 575.98px) {
	.bb-header::after,
	.page-id-12 .bb-header::after,
	.page-template-page-about .bb-header::after,
	.page-template-page-ratgeber .bb-header::after { --bb-wave-h: 48px; }
}

/* ==================================================================
 * Seite nicht gefunden (404.php)
 * ================================================================== */
.bb-404 { position: relative; z-index: 46; padding-bottom: 100px; }
.bb-404 > .container { margin-top: -40px; }
.bb-404__card { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 40px; padding: 40px 48px; background: linear-gradient(var(--bb-hellgelb), var(--bb-hellblau)); font-family: var(--bb-balgin); }
.bb-404__num { font-family: var(--bb-argone); font-size: 170px; line-height: .85; color: var(--bb-white); text-shadow: var(--bb-ts) var(--bb-ts) 0 var(--bb-dunkelblau); transform: rotate(-4deg); }
.bb-404 .bb-404__title { margin: 0 0 10px; font-family: var(--bb-argone); font-weight: 400; text-transform: uppercase; font-size: 40px; line-height: 1; color: var(--bb-black); text-shadow: none; }
.bb-404__text p { margin: 0 0 20px; max-width: 520px; font-size: 17px; line-height: 1.6; color: var(--bb-black); }
.bb-404__search { display: flex; gap: 10px; max-width: 520px; margin-bottom: 16px; }
.bb-404__search input[type="search"] { flex: 1; min-width: 0; min-height: 50px; box-sizing: border-box; padding: 10px 14px; border: 2px solid var(--bb-white); border-radius: 10px; background: var(--bb-white); font-family: var(--bb-balgin); font-size: 16px; color: var(--bb-black); }
.bb-404__search input[type="search"]:focus { border-color: var(--bb-dunkelblau); outline: 0; }
.bb-404__search .bb-btn { min-height: 50px; }
.bb-404__tiles { margin-top: 28px; }
@media (max-width: 767.98px) {
	.bb-404 > .container { margin-top: -20px; }
	.bb-404__card { grid-template-columns: minmax(0, 1fr); gap: 18px; padding: 28px 22px; text-align: left; }
	.bb-404__num { font-size: 110px; text-shadow: var(--bb-ts) var(--bb-ts) 0 var(--bb-dunkelblau); }
	.bb-404 .bb-404__title { font-size: 30px; }
}

/* Lange Wörter im Titel (z. B. «Geschäftsbedingungen») auf dem Handy trennen statt überlaufen */
.bb-hero__title { overflow-wrap: anywhere; -webkit-hyphens: auto; hyphens: auto; }
/* Listen im Artikel: kein zusätzlicher Einzug aus dem alten Theme */
.bb-article__content ul,
.bb-article__content ol { margin-left: 0; margin-right: 0; }
@media (max-width: 575.98px) {
	.page-template-page-rechtliches .bb-hero__title { font-size: 30px; }
}

/* ==================================================================
 * Mobile-Feinschliff (Prüfung bei 320–414 px)
 * ================================================================== */

/* Ausverkauft-Marke oben auf der Produktkarte */
.bb-pcard__tag { position: absolute; top: 12px; left: 12px; z-index: 2; padding: 5px 10px 3px; border-radius: 8px; background: var(--bb-g-blue); box-shadow: var(--bb-shadow); font-family: var(--bb-argone); font-size: 14px; line-height: 1; text-transform: uppercase; color: var(--bb-white); pointer-events: none; }

/* Produkttitel passen sich der Kartenbreite an (kein Überlaufen in schmalen Karten) */
.bb-pcard { container-type: inline-size; }
.bb-pcard .bb-pcard__title,
.archive-products .bb-pcard .bb-pcard__title,
.related.products .bb-pcard h2.bb-pcard__title { font-size: clamp(15px, calc((100cqi - 24px) / 5.2), 40px); overflow-wrap: anywhere; }

/* Raster dürfen schmaler werden als ihr längstes Wort */
.bb-product__summary,
.bb-product__top > *,
.bb-split > *,
.bb-shoppage--account .bb-acc-side,
.bb-shoppage--account .woocommerce-MyAccount-content { min-width: 0; }
/* Aus PDFs kopierter Text in Produkttexten bricht sonst nicht um */
.bb-product .woocommerce-product-details__short-description *,
.bb-product .woocommerce-Tabs-panel *,
.bb-single-details * { white-space: normal !important; }
.bb-product .woocommerce-product-details__short-description,
.bb-article__content,
.bb-imp-card,
.bb-crumbs { overflow-wrap: break-word; }
.bb-article__content p,
.bb-article__content li { -webkit-hyphens: auto; hyphens: auto; }
.bb-crumbs { display: flex; flex-wrap: wrap; gap: 4px 8px; }
.bb-hero > * { max-width: 100%; }
.bb-eyebrow { white-space: normal; }

@media (max-width: 991.98px) {
	.bb-split,
	.bb-split--stores,
	.bb-product__top,
	.bb-single-details { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 767.98px) {
	/* Kategorie-Reiter umbrechen statt seitlich abgeschnitten */
	.bb-tabs,
	.bb-blogpage .bb-tabs { flex-wrap: wrap; justify-content: center; overflow: visible; gap: 8px; padding: 0; margin: 0 0 24px; }
	.bb-tab,
	a.bb-tab,
	button.bb-tab { flex-shrink: 1; padding: 3px 10px 0; font-size: 17px; }
	.bb-pcard__tag { top: 8px; left: 8px; padding: 4px 7px 2px; font-size: 11px; }
	/* Bestellungen: Knöpfe umbrechen */
	.bb-shoppage--account table.shop_table_responsive,
	.bb-shoppage--account table.shop_table_responsive tbody { display: block; width: 100%; }
	.bb-shoppage--account table.shop_table_responsive td.woocommerce-orders-table__cell-order-actions { flex-wrap: wrap; justify-content: flex-end; white-space: normal; }
	.bb-shoppage--account table.shop_table_responsive td.woocommerce-orders-table__cell-order-status { white-space: normal; }
	.bb-store-search,
	.bb-store-search input { max-width: 100%; box-sizing: border-box; }
}
@media (max-width: 767.98px) {
	/* Kaufen-Zeile: Grössen über dem Warenkorb-Knopf, Knopf darf schmaler werden */
	.bb-product .bb-buy-row form.variations_form { flex-direction: column; align-items: stretch; }
	.bb-product .single_variation_wrap { width: 100%; min-width: 0; }
	.woocommerce .bb-product .single_add_to_cart_button.button,
	.bb-product .single_add_to_cart_button { min-width: 0; padding: 0 14px !important; font-size: 16px !important; white-space: normal; line-height: 1.2; }
}
@media (max-width: 480px) {
	/* Kacheln (Konto, 404) untereinander, damit lange Wörter wie «Verkaufsstellen» Platz haben */
	.bb-acc-tiles { grid-template-columns: minmax(0, 1fr); gap: 10px; }
	.bb-acc-tile { min-height: 0; padding: 16px 48px 16px 18px; }
	.bb-acc-tile__a { left: auto; right: 18px; top: 50%; bottom: auto; transform: translateY(-50%); }
	.bb-acc-tile:hover .bb-acc-tile__a { transform: translate(4px, -50%); }
}

/* Startseite: Untertitel im Hero schmaler */
.home .bb-hero__sub { max-width: 440px; }
@media (max-width: 575.98px) {
	.home .bb-hero__sub { max-width: 300px; }
}

/* ==================================================================
 * Logo-Animation
 * Beim Laden: Logo springt rein (leicht gedreht, federnd).
 * Beim Überfahren: kurzes Wackeln. In der Leiste beim Scrollen und im Menü: kurzer Pop.
 * ================================================================== */
@keyframes bbLogoIn {
	0% { opacity: 0; transform: translateY(-14px) scale(.6) rotate(-10deg); }
	55% { opacity: 1; transform: translateY(4px) scale(1.08) rotate(3deg); }
	75% { transform: translateY(-2px) scale(.97) rotate(-1.5deg); }
	100% { opacity: 1; transform: none; }
}
@keyframes bbLogoWobble {
	0%, 100% { transform: rotate(0) scale(1); }
	20% { transform: rotate(-4deg) scale(1.05); }
	40% { transform: rotate(3deg) scale(1.05); }
	60% { transform: rotate(-2deg) scale(1.03); }
	80% { transform: rotate(1deg) scale(1.01); }
}
@keyframes bbLogoPop {
	0% { transform: scale(.85); }
	60% { transform: scale(1.06); }
	100% { transform: none; }
}
.bb-head-row .custom-logo-link img { transform-origin: 50% 60%; animation: bbLogoIn .9s var(--bb-ease) .1s both; }
.bb-head-row .custom-logo-link:hover img,
.bb-sticky .custom-logo-link:hover img,
.bb-mm__top .custom-logo-link:hover img { animation: bbLogoWobble .6s ease both; }
.bb-sticky.is-visible .custom-logo-link img { animation: bbLogoPop .45s var(--bb-ease) .05s both; }
html.bb-mm-open .bb-mm__top .custom-logo-link img { animation: bbLogoPop .5s var(--bb-ease) .1s both; }
@media (prefers-reduced-motion: reduce) {
	.bb-head-row .custom-logo-link img,
	.bb-sticky .custom-logo-link img,
	.bb-mm__top .custom-logo-link img { animation: none !important; }
}

/* Footer-Spruch «Thanks for supporting your local Buddies!»: kompaktere Zeilen */
footer .pre-footer h3,
footer .pre-footer .wp-block-heading { line-height: .86 !important; }

/* ==================================================================
 * Sanfte Animationen (js/v2.js: initReveal)
 * Nur opacity und transform, keine Bibliothek, keine zusätzlichen Dateien.
 * ================================================================== */
html.bb-reveal :is(.bb-pcard-li, .bb-blog, .bb-store, .bb-faq-item, .bb-acc-tile, .bb-fact, .bb-guide-fact, .bb-imp-card, .bb-section-head, .bb-split__text, .bb-split__media, .bb-sec .bb-h2, .bb-guide-teaser, .bb-404__card, .bb-acc-card, .bb-post__more .bb-h2, .bb-legal-card, .bb-side-cta, .bb-side-guide, .bb-toc):not(.is-in) {
	opacity: 0;
	transform: translateY(26px);
}
html.bb-reveal :is(.bb-pcard-li, .bb-blog, .bb-store, .bb-faq-item, .bb-acc-tile, .bb-fact, .bb-guide-fact, .bb-imp-card, .bb-section-head, .bb-split__text, .bb-split__media, .bb-sec .bb-h2, .bb-guide-teaser, .bb-404__card, .bb-acc-card, .bb-post__more .bb-h2, .bb-legal-card, .bb-side-cta, .bb-side-guide, .bb-toc).is-in {
	transition: opacity .6s ease var(--bb-d, 0ms), transform .7s var(--bb-ease) var(--bb-d, 0ms);
}
html.bb-reveal .bb-split__media:not(.is-in) { transform: translateY(26px) scale(.97); }

/* Kleine Details */
.bb-pcard__img img { transition: transform .5s var(--bb-ease); }
.bb-pcard:hover .bb-pcard__img img { transform: scale(1.04) rotate(-1deg); }
.bb-blog__img { overflow: hidden; }
.bb-blog__img img { transition: transform .6s var(--bb-ease); }
.bb-blog:hover .bb-blog__img img { transform: scale(1.05); }
.bb-faq-item summary::after { transition: transform .3s var(--bb-ease); }
.bb-faq-item[open] summary::after { transform: rotate(180deg); }
.bb-btn .bb-arr { transition: transform .2s var(--bb-ease); }
.bb-eyebrow i { animation: bbPulse 2.4s ease-in-out infinite; }
@keyframes bbPulse { 0%, 100% { transform: scale(1); opacity: 1; } 50% { transform: scale(1.35); opacity: .7; } }
@media (prefers-reduced-motion: reduce) {
	.bb-eyebrow i { animation: none; }
}


/* ==================================================================
 * Leerer Warenkorb (template-parts/v2/empty-cart.php)
 * Im Stil der Startseite: farbige Bänder mit Wellen, «Hier ist noch Platz» mit den drei Sorten,
 * darunter dieselben Produktkarten wie im Shop.
 * ================================================================== */
/* Ohne weisse Flächen: Unter der Welle der Kopfzeile scheint die Seitenfarbe durch, darum ist sie hier hellblau
   wie der Anfang des ersten Bandes. Das letzte Band geht in den Footer über (Footer-Hintergrund = Farbe am Ende). */
body:has(.bb-shoppage--empty) { background-color: #FFD5A3; } /* wird im Template auf die Anfangsfarbe des Bandes gesetzt */
.bb-shoppage--empty { padding-bottom: 0; }
.bb-shoppage--empty + .site-footer { background-color: #FEF687; }
.bb-shoppage--empty:has(.bb-empty--short) + .site-footer { background-color: #FFA998; }
.bb-empty { overflow-x: clip; }
.bb-empty__title { margin-top: 12px; text-shadow: var(--bb-ts) var(--bb-ts) 0 var(--bb-title-shadow, var(--bb-dunkelblau)); }
.bb-empty__sec--hero { color: var(--bb-black); }
.bb-empty__split p { max-width: 520px; }
.bb-empty__cats { margin: 18px 0 0; flex-wrap: wrap; gap: 8px; overflow: visible; padding: 0; }
.bb-empty__trio { position: relative; width: 100%; max-width: 600px; aspect-ratio: 1.45; justify-self: center; }
.bb-empty .bb-empty__trio .bb-empty__trio-item { position: absolute; bottom: 0; display: block; width: 50%; transform: rotate(var(--r, 0deg)); transition: transform .3s var(--bb-ease); }
.bb-empty .bb-empty__trio .bb-empty__trio-item:hover { transform: translateY(-8px) rotate(var(--r, 0deg)) scale(1.03); }
.bb-empty .bb-empty__trio .bb-empty__trio-item--1 { left: -4%; bottom: 6%; --r: -9deg; z-index: 1; }
.bb-empty .bb-empty__trio .bb-empty__trio-item--2 { left: 20%; width: 60%; bottom: -4%; z-index: 2; }
.bb-empty .bb-empty__trio .bb-empty__trio-item--3 { right: -4%; bottom: 6%; --r: 9deg; z-index: 1; }
.bb-empty .bb-empty__trio img.bb-empty__trio-img { display: block; width: 100%; height: auto; aspect-ratio: auto; max-width: none; object-fit: contain; border-radius: 0; box-shadow: none; filter: drop-shadow(12px 18px 18px rgba(0, 0, 0, 0.18)); animation: bbBob 4.2s ease-in-out infinite; }
.bb-empty .bb-empty__trio-item--2 img.bb-empty__trio-img { animation-delay: .7s; }
.bb-empty .bb-empty__trio-item--3 img.bb-empty__trio-img { animation-delay: 1.4s; }
.bb-empty ul.products.bb-grid.bb-empty__picks { margin: 0; padding: 0; }
@media (min-width: 992px) {
	.bb-empty ul.products.bb-grid.bb-empty__picks { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.bb-empty ul.products.bb-grid.bb-empty__picks::before,
.bb-empty ul.products.bb-grid.bb-empty__picks::after { content: none; display: none; }
.bb-empty__stamps { max-width: 760px; margin: 36px auto 0; }
.bb-empty__stamps .bb-stamps-hint { margin: 0; background: var(--bb-white); box-shadow: var(--bb-card-shadow); }
@keyframes bbBob {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(-10px); }
}
@media (prefers-reduced-motion: reduce) {
	.bb-empty .bb-empty__trio img.bb-empty__trio-img { animation: none; }
}
@media (max-width: 991.98px) {
	.bb-empty__trio { order: -1; max-width: 460px; }
}
@media (max-width: 767.98px) {
	.bb-empty__trio { max-width: 340px; }
	.bb-empty .bb-empty__trio .bb-empty__trio-item--1 { left: 0; }
	.bb-empty .bb-empty__trio .bb-empty__trio-item--3 { right: 0; }
	.bb-empty__split .bb-split__text { align-items: center; text-align: center; }
	.bb-empty__cats { justify-content: center; }
	.bb-empty__split .bb-btn { width: 100%; justify-content: center; }
}

/* ==================================================================
 * Leichte Körnung über der ganzen Seite (wie freshman.ch, schwächer).
 * Eigenes Rauschen als SVG, keine Zusatzdatei. Klicks gehen durch.
 * Desktop: bewegt sich leicht wie Filmkorn. Handy: steht still (spart Akku).
 * ================================================================== */
body::after {
	content: "";
	position: fixed;
	inset: 0;
	z-index: 2147483000;
	pointer-events: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
	background-size: 180px 180px;
	opacity: .035;
}
@media (min-width: 992px) and (hover: hover) and (prefers-reduced-motion: no-preference) {
	body::after {
		inset: -10%;
		animation: bbGrain 1.2s steps(6) infinite;
	}
}
@keyframes bbGrain {
	0%, 100% { transform: translate(0, 0); }
	17% { transform: translate(-3%, -4%); }
	33% { transform: translate(-6%, 2%); }
	50% { transform: translate(3%, -6%); }
	67% { transform: translate(-2%, 6%); }
	83% { transform: translate(5%, 3%); }
}
@media print {
	body::after { display: none; }
}


/* ==================================================================
 * Meldungen: «in den Warenkorb gelegt», Hinweise, Fehler
 * Klassische WooCommerce-Meldungen und die Meldungen in Warenkorb/Kasse (Blocks).
 * ================================================================== */
.woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-notices-wrapper { position: relative; z-index: 47; }
.single-product .woocommerce-notices-wrapper { max-width: 1140px; margin: 0 auto; padding: 0 12px; }
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-error,
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 16px;
	min-height: 64px;
	margin: 18px 0 24px !important;
	padding: 14px 16px 14px 66px !important;
	border: 0 !important;
	border-radius: var(--bb-radius) !important;
	background: var(--bb-white) !important;
	box-shadow: var(--bb-card-shadow) !important;
	font-family: var(--bb-balgin);
	font-weight: 700;
	font-size: 15px;
	line-height: 1.45;
	color: var(--bb-black) !important;
	list-style: none;
	animation: bbNoticeIn .5s var(--bb-ease) both;
}
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
	content: "✓" !important;
	position: absolute !important;
	left: 16px !important;
	top: 50% !important;
	transform: translateY(-50%);
	display: grid !important;
	place-items: center;
	width: 36px;
	height: 36px;
	margin: 0 !important;
	border-radius: 50%;
	background: var(--bb-g-sky);
	font-family: var(--bb-argone) !important;
	font-size: 19px;
	line-height: 1;
	color: var(--bb-white) !important;
	text-shadow: 1px 1px 0 var(--bb-dunkelblau);
}
.woocommerce-info::before { content: "i" !important; background: var(--bb-g-orange); }
.woocommerce-error::before { content: "!" !important; background: var(--bb-g-pink); top: 32px !important; }
.woocommerce-error { flex-direction: column; align-items: flex-start; }
.woocommerce-error li { margin: 0; padding: 0; }
.woocommerce-message a:not(.button),
.woocommerce-info a:not(.button),
.woocommerce-error a:not(.button) { color: var(--bb-dunkelblau); text-decoration: underline; text-underline-offset: 3px; }
.bb-notice__text { flex: 1 1 220px; }
.woocommerce-message .button,
.woocommerce-info .button,
.woocommerce-error .button,
.woocommerce .woocommerce-message a.button,
.woocommerce .woocommerce-info a.button,
.wc-block-components-notice-banner .wc-forward {
	order: 2;
	float: none !important;
	display: inline-flex !important;
	align-items: center;
	gap: 8px;
	margin: 0 0 0 auto !important;
	padding: 10px 16px 8px !important;
	border: 0 !important;
	border-radius: 10px !important;
	background: var(--bb-g-pink) !important;
	box-shadow: var(--bb-shadow);
	font-family: var(--bb-argone) !important;
	font-weight: 400 !important;
	font-size: 16px !important;
	line-height: 1 !important;
	text-transform: uppercase;
	text-decoration: none !important;
	color: var(--bb-white) !important;
	white-space: nowrap;
	transition: transform .2s var(--bb-ease);
}
.woocommerce-message .button::after,
.woocommerce .woocommerce-message a.button::after,
.wc-block-components-notice-banner .wc-forward::after { content: "→"; font-family: var(--bb-balgin); font-weight: 700; }
.woocommerce-message .button:hover,
.wc-block-components-notice-banner .wc-forward:hover { transform: translateY(-2px); }

/* Meldungen in Warenkorb und Kasse (Blocks) */
.wc-block-components-notice-banner {
	align-items: center !important;
	gap: 12px !important;
	margin: 0 0 18px !important;
	padding: 14px 16px !important;
	border: 0 !important;
	border-radius: var(--bb-radius) !important;
	background: var(--bb-white) !important;
	box-shadow: var(--bb-card-shadow) !important;
	color: var(--bb-black) !important;
	animation: bbNoticeIn .5s var(--bb-ease) both;
}
.wc-block-components-notice-banner > svg {
	flex-shrink: 0;
	width: 36px !important;
	height: 36px !important;
	padding: 7px;
	border-radius: 50% !important;
	background: var(--bb-g-sky) !important;
	fill: var(--bb-white) !important;
}
.wc-block-components-notice-banner.is-error > svg { background: var(--bb-g-pink) !important; }
.wc-block-components-notice-banner.is-info > svg,
.wc-block-components-notice-banner.is-warning > svg { background: var(--bb-g-orange) !important; }
.wc-block-components-notice-banner__content {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 14px;
	font-family: var(--bb-balgin);
	font-weight: 700;
	font-size: 15px;
	line-height: 1.45;
	color: var(--bb-black) !important;
}
.wc-block-components-notice-banner__content a:not(.wc-forward) { color: var(--bb-dunkelblau); }

@keyframes bbNoticeIn {
	from { opacity: 0; transform: translateY(-8px); }
	to { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
	.woocommerce-message,
	.woocommerce-info,
	.woocommerce-error,
	.wc-block-components-notice-banner { animation: none; }
}
@media (max-width: 575.98px) {
	.woocommerce-message .button,
	.woocommerce .woocommerce-message a.button,
	.wc-block-components-notice-banner .wc-forward { margin: 2px 0 0 !important; width: 100%; justify-content: center; }
}


/* ==================================================================
 * 404: «Diese Seite ist im Grinder gelandet» (404.php)
 * Die 0 ist der Bud-Buddies-Grinder: dreht hin und her, Krümel fallen raus.
 * ================================================================== */
.bb-lost { position: relative; overflow: hidden; padding: 30px 40px 40px; text-align: center; background: linear-gradient(var(--bb-hellgelb), var(--bb-hellblau)); font-family: var(--bb-balgin); }
.bb-lost__stage { position: relative; display: flex; align-items: center; justify-content: center; gap: 4px; height: 210px; margin: 0 auto 4px; }
.bb-lost__digit { position: relative; z-index: 1; font-family: var(--bb-argone); font-size: 190px; line-height: .8; color: var(--bb-white); text-shadow: var(--bb-ts) var(--bb-ts) 0 var(--bb-dunkelblau); }
.bb-lost__digit:first-child { transform: rotate(-7deg); }
.bb-lost__digit:nth-child(3) { transform: rotate(6deg); }
.bb-lost__grinder {
	position: relative;
	z-index: 2;
	display: grid;
	place-items: center;
	width: 184px;
	height: 184px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
	animation: bbTwist 2.6s ease-in-out infinite;
}
.bb-lost__grinder:focus-visible { outline: 3px solid var(--bb-dunkelblau); outline-offset: 6px; }
.bb-lost__img { width: 100%; height: auto; pointer-events: none; filter: drop-shadow(8px 12px 14px rgba(0, 0, 0, 0.2)); }
.bb-lost__disc { width: 150px; height: 150px; border-radius: 50%; background: var(--bb-g-pink); box-shadow: inset 0 0 0 18px rgba(255, 255, 255, 0.35); }
.bb-lost__grinder.is-spin { animation: bbTwistFast .9s cubic-bezier(.3, 1.3, .5, 1); }
.bb-lost__crumbs { position: absolute; left: 50%; top: 64%; z-index: 3; width: 130px; height: 0; transform: translateX(-50%); pointer-events: none; }
.bb-lost__crumbs i,
.bb-lost__burst { position: absolute; top: 0; width: 9px; height: 9px; border-radius: 3px; background: var(--c, var(--bb-orange)); }
.bb-lost__crumbs i { left: var(--x, 50%); opacity: 0; animation: bbCrumb 2.6s ease-in infinite; animation-delay: var(--d, 0s); }
.bb-lost__crumbs i:nth-child(1) { --x: 18%; --c: var(--bb-pink); --d: .1s; }
.bb-lost__crumbs i:nth-child(2) { --x: 42%; --c: var(--bb-orange); --d: .5s; width: 7px; height: 7px; }
.bb-lost__crumbs i:nth-child(3) { --x: 64%; --c: var(--bb-purple); --d: .9s; }
.bb-lost__crumbs i:nth-child(4) { --x: 80%; --c: var(--bb-blau); --d: 1.4s; width: 7px; height: 7px; }
.bb-lost__crumbs i:nth-child(5) { --x: 30%; --c: var(--bb-gelb); --d: 1.8s; }
.bb-lost__crumbs i:nth-child(6) { --x: 56%; --c: var(--bb-pink); --d: 2.2s; width: 6px; height: 6px; }
.bb-lost__burst { left: 50%; animation: bbBurst 1s cubic-bezier(.2, .7, .4, 1) forwards; }
.bb-lost__title { margin: 10px auto 0; max-width: 680px; font-family: var(--bb-argone); font-weight: 400; text-transform: uppercase; font-size: 44px; line-height: 1; color: var(--bb-white); text-shadow: var(--bb-ts) var(--bb-ts) 0 var(--bb-dunkelblau); }
.bb-lost__text { max-width: 560px; margin: 14px auto 0; font-size: 17px; line-height: 1.6; color: var(--bb-black); }
.bb-lost__say { min-height: 1.4em; margin: 10px auto 0; font-family: var(--bb-argone); text-transform: uppercase; font-size: 20px; line-height: 1.2; color: var(--bb-pink); }
.bb-lost__say:empty { min-height: 0; margin: 0; }
.bb-lost__search { margin: 18px auto 14px; }
.bb-lost__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
@keyframes bbTwist {
	0%, 100% { transform: rotate(-16deg); }
	50% { transform: rotate(16deg); }
}
@keyframes bbTwistFast {
	from { transform: rotate(-16deg) scale(1); }
	50% { transform: rotate(340deg) scale(1.08); }
	to { transform: rotate(704deg) scale(1); }
}
@keyframes bbCrumb {
	0% { opacity: 0; transform: translateY(0) rotate(0deg); }
	12% { opacity: 1; }
	100% { opacity: 0; transform: translateY(96px) rotate(220deg); }
}
@keyframes bbBurst {
	0% { opacity: 1; transform: translate(0, 0) rotate(0deg); }
	100% { opacity: 0; transform: translate(var(--dx, 40px), var(--dy, 80px)) rotate(var(--r, 180deg)); }
}
@media (prefers-reduced-motion: reduce) {
	.bb-lost__grinder,
	.bb-lost__grinder.is-spin,
	.bb-lost__crumbs i { animation: none; }
	.bb-lost__crumbs i { opacity: 0; }
}
@media (max-width: 767.98px) {
	.bb-lost { padding: 22px 16px 26px; }
	.bb-lost__stage { height: 136px; }
	.bb-lost__digit { font-size: 116px; text-shadow: var(--bb-ts) var(--bb-ts) 0 var(--bb-dunkelblau); }
	.bb-lost__grinder { width: 116px; height: 116px; }
	.bb-lost__disc { width: 96px; height: 96px; box-shadow: inset 0 0 0 12px rgba(255, 255, 255, 0.35); }
	.bb-lost__crumbs { width: 90px; }
	.bb-lost__title { font-size: 30px; text-shadow: var(--bb-ts) var(--bb-ts) 0 var(--bb-dunkelblau); }
	.bb-lost__text { font-size: 16px; }
	.bb-lost__say { font-size: 17px; }
	.bb-lost__search { flex-direction: column; }
	.bb-lost__search .bb-btn { justify-content: center; }
	.bb-lost__actions .bb-btn { flex: 1 1 140px; justify-content: center; }
}

/* ==================================================================
 * Stempelkarte (Plugin bb-kontakte: class-bb-stamps.php)
 * Konto: Bereich «Stempelkarte» und Kachel in der Übersicht, Hinweis in Warenkorb, Kasse und Danke-Seite.
 * ================================================================== */
@keyframes bbStampIn {
	0% { opacity: 0; transform: scale(1.6) rotate(calc(var(--r, 0deg) - 20deg)); }
	60% { opacity: 1; transform: scale(.92) rotate(var(--r, 0deg)); }
	100% { opacity: 1; transform: scale(1) rotate(var(--r, 0deg)); }
}
@keyframes bbStampNext {
	0%, 100% { transform: scale(1); }
	50% { transform: scale(1.06); }
}
.bb-stamps__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: 0; padding: 0; list-style: none; }
.bb-stamp { position: relative; display: grid; place-items: center; aspect-ratio: 1; margin: 0; border: 3px dashed var(--bb-hellviolett); border-radius: 50%; background: rgba(255, 255, 255, 0.7); }
.bb-stamp__n { font-family: var(--bb-argone); font-size: 26px; line-height: 1; color: var(--bb-hellviolett); }
.bb-stamp.is-next { border-color: var(--bb-purple); }
.bb-stamp.is-next .bb-stamp__n { color: var(--bb-purple); }
.bb-stamp.is-gift { border-color: var(--bb-orange); background: var(--bb-hellgelb); }
.bb-stamp__gift { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 0 4px; font-family: var(--bb-argone); line-height: .82; text-align: center; text-transform: uppercase; color: var(--bb-white); text-shadow: var(--bb-ts) var(--bb-ts) 0 var(--bb-pink); }
.bb-stamp__cur { font-size: 16px; }
.bb-stamp__amt { font-size: 38px; }
.bb-stamp__gift.is-long .bb-stamp__amt { font-size: 26px; }
@media (max-width: 767.98px) {
	.bb-stamp__cur,
	.bb-stamp__ink--gift .bb-stamp__cur { font-size: 15px; }
	.bb-stamp__amt,
	.bb-stamp__ink--gift .bb-stamp__amt { font-size: 36px; }
}
.bb-stamp.is-on { border-color: transparent; background: transparent; }
.bb-stamp__ink { position: absolute; inset: -3px; display: grid; place-items: center; border-radius: 50%; background: var(--bb-g-pink); box-shadow: inset 0 0 0 5px rgba(255, 255, 255, 0.35), 0 6px 12px rgba(0, 0, 0, 0.14); transform: rotate(var(--r, 0deg)); animation: bbStampIn .5s var(--bb-ease) both; animation-delay: calc(var(--i, 1) * 90ms); }
.bb-stamp__ink::before { content: ""; position: absolute; inset: 9%; border: 2px dashed rgba(255, 255, 255, 0.75); border-radius: 50%; }
.bb-stamp__ink span { font-family: var(--bb-argone); font-size: 28px; line-height: 1; color: var(--bb-white); text-shadow: var(--bb-ts) var(--bb-ts) 0 var(--bb-dunkelblau); }
/* Stempel: Kreis in der Farbe der Packung, darauf das Pack (Mango Haze, Strawberry Cake, Fruit Punch) */
.bb-stamp .bb-stamp__ink::before { display: none; }
.bb-stamp .bb-stamp__ink { box-shadow: 0 5px 10px rgba(0, 0, 0, 0.14); }
.bb-stamp.is-mango .bb-stamp__ink { background: var(--bb-g-orange); }
.bb-stamp.is-strawberry .bb-stamp__ink { background: var(--bb-g-pink); }
.bb-stamp.is-fruitpunch .bb-stamp__ink { background: var(--bb-g-sky); }
.bb-stamp .bb-stamp__ink img.bb-stamp__pack { position: absolute; left: 50%; top: 50%; width: auto; height: 112%; max-width: none; margin: 0; transform: translate(-50%, -50%); filter: drop-shadow(0 4px 5px rgba(0, 0, 0, 0.25)); pointer-events: none; }
.bb-stamps-hint__badge,
.bb-stamps-pdp__badge { padding: 0; }
.bb-stamps-hint__badge,
.bb-stamps-pdp__badge { position: relative; }
.bb-stamps-hint__badge img.bb-stamps-badge__pack,
.bb-stamps-pdp__badge img.bb-stamps-badge__pack { position: absolute; left: 50%; top: 50%; width: auto; height: 116%; max-width: none; margin: 0; transform: translate(-50%, -50%); filter: drop-shadow(0 2px 3px rgba(0, 0, 0, 0.25)); }
.bb-stamps-pdp__badge { background: var(--bb-g-pink); }

/* Grosse Karte im Konto */
.bb-stamps--card { max-width: 560px; margin: 0 0 28px; padding: 22px 24px 20px; border-radius: 20px; background: linear-gradient(140deg, var(--bb-hellgelb), var(--bb-hellorange)); box-shadow: var(--bb-card-shadow); }
.bb-stamps__top { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 18px; }
.bb-stamps__brand { font-family: var(--bb-argone); text-transform: uppercase; font-size: 26px; line-height: 1; color: var(--bb-white); text-shadow: var(--bb-ts) var(--bb-ts) 0 var(--bb-pink); }
.bb-stamps__count { padding: 6px 12px 4px; border-radius: 999px; background: var(--bb-white); font-family: var(--bb-argone); font-size: 18px; line-height: 1; color: var(--bb-dunkelblau); box-shadow: var(--bb-shadow); }
.bb-stamps__text { margin: 18px 0 0; font-weight: 700; font-size: 16px; color: var(--bb-black); }
.bb-stamps-how { display: grid; gap: 10px; max-width: 560px; margin: 0 0 32px; padding: 0; list-style: none; }
.bb-stamps-how li { display: flex; align-items: center; gap: 12px; margin: 0; font-size: 15px; line-height: 1.45; color: var(--bb-black); }
.bb-stamps-how li span { flex-shrink: 0; display: grid; place-items: center; width: 30px; height: 30px; padding-top: 3px; box-sizing: border-box; border-radius: 50%; background: var(--bb-g-blue); font-family: var(--bb-argone); font-size: 16px; color: var(--bb-white); }
.bb-stamps-codes__t { margin: 0 0 12px; font-family: var(--bb-argone); font-weight: 400; text-transform: uppercase; font-size: 24px; line-height: 1; color: var(--bb-black); }
.bb-stamps-codes { display: grid; gap: 10px; max-width: 560px; margin: 0 0 10px; padding: 0; list-style: none; }
.bb-stamps-code { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; margin: 0; padding: 14px 16px; border: 2px dashed var(--bb-dunkelblau); border-radius: 14px; background: var(--bb-white); }
.bb-stamps-code__amount { font-family: var(--bb-argone); font-size: 22px; line-height: 1; color: var(--bb-pink); }
.bb-stamps-code__code { padding: 0; background: none; font-family: var(--bb-balgin); font-weight: 700; font-size: 18px; letter-spacing: .08em; color: var(--bb-dunkelblau); }
.bb-stamps-code__state { font-size: 13px; color: var(--bb-black); opacity: .7; }
.bb-stamps-code__copy { margin-left: auto; }
.bb-stamps-code.is-used,
.bb-stamps-code.is-expired { border-color: var(--bb-hellviolett); opacity: .6; }
.bb-stamps-code.is-used .bb-stamps-code__code,
.bb-stamps-code.is-expired .bb-stamps-code__code { text-decoration: line-through; }
.bb-stamps-codes__note,
.bb-stamps-codes__empty { max-width: 560px; margin: 0 0 24px; font-size: 14px; color: var(--bb-black); }
.bb-stampcard__cta { margin: 8px 0 0; }

/* Kleine Karte: Konto-Übersicht und Hinweise */
.bb-stamps--mini .bb-stamps__grid,
.bb-stamps-hint .bb-stamps__grid,
.bb-acc-card--stamps .bb-stamps__grid { display: flex; flex-wrap: wrap; gap: 6px; }
.bb-stamps-hint .bb-stamp,
.bb-acc-card--stamps .bb-stamp { width: 30px; border-width: 2px; }
.bb-stamps-hint .bb-stamp__n,
.bb-acc-card--stamps .bb-stamp__n { font-size: 13px; }
.bb-stamps-hint .bb-stamp__ink,
.bb-acc-card--stamps .bb-stamp__ink { inset: -2px; box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.35); }
.bb-stamps-hint .bb-stamp__ink::before,
.bb-acc-card--stamps .bb-stamp__ink::before { display: none; }
.bb-stamps-hint .bb-stamp__ink span,
.bb-acc-card--stamps .bb-stamp__ink span { font-size: 12px; }
.bb-stamp.is-next { animation: bbStampNext 1.6s ease-in-out infinite; }
.bb-acc-card--stamps { grid-column: 1 / -1; background: linear-gradient(140deg, var(--bb-hellgelb), var(--bb-hellorange)); transition: transform .2s ease; }
.bb-acc-card--stamps:hover { transform: translateY(-3px); color: var(--bb-black); }
.bb-acc-card--stamps .bb-stamps__grid { margin: 4px 0 2px; }

.bb-stamps-hint { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; margin: 0 0 22px; padding: 14px 18px; border-radius: 14px; background: var(--bb-hellgelb); box-shadow: 0 6px 14px rgba(0, 0, 0, 0.06); }
.bb-stamps-hint p { flex: 1 1 260px; margin: 0; font-size: 15px; line-height: 1.5; color: var(--bb-black); }
.bb-stamps-hint p a { font-weight: 700; color: var(--bb-dunkelblau); white-space: nowrap; }
.bb-stamps-hint__card { display: block; text-decoration: none; }
.bb-stamps-hint__badge { flex-shrink: 0; display: grid; place-items: center; width: 44px; height: 44px; padding-top: 3px; box-sizing: border-box; border-radius: 50%; background: var(--bb-g-pink); box-shadow: inset 0 0 0 3px rgba(255, 255, 255, 0.35); font-family: var(--bb-argone); font-size: 17px; color: var(--bb-white); text-shadow: var(--bb-ts) var(--bb-ts) 0 var(--bb-dunkelblau); transform: rotate(-10deg); }

/* Werbung auf der Startseite (unter dem Produktraster) */
.bb-stamp-promo { position: relative; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 40px; align-items: center; margin: 56px 0 0; padding: 40px 44px; border-radius: var(--bb-radius); background: var(--bb-g-pink); box-shadow: var(--bb-card-shadow); color: var(--bb-white); }
.bb-stamp-promo__text { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; }
.bb-stamp-promo__eyebrow { display: inline-flex; align-items: center; gap: 8px; padding: 7px 14px 5px; border-radius: 999px; background: var(--bb-white); box-shadow: var(--bb-shadow); font-family: var(--bb-argone); text-transform: uppercase; font-size: 15px; line-height: 1; color: var(--bb-black); }
.bb-stamp-promo__eyebrow::before { content: ""; width: 9px; height: 9px; margin-top: -2px; border-radius: 50%; background: var(--bb-pink); }
.bb-stamp-promo__title { margin: 0; font-family: var(--bb-argone); font-weight: 400; text-transform: uppercase; font-size: 52px; line-height: .92; color: var(--bb-white); text-shadow: var(--bb-ts) var(--bb-ts) 0 var(--bb-dunkelblau); }
.bb-stamp-promo p { max-width: 470px; margin: 0; font-family: var(--bb-balgin); font-size: 17px; line-height: 1.6; color: var(--bb-white); }
.bb-stamp-promo .bb-stamp-promo__card { justify-self: center; width: 100%; max-width: 420px; margin: 0; transform: rotate(3deg); }
.bb-stamp-promo .bb-stamp-promo__card .bb-stamps__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }

/* Startseite: Die Packs fliegen nacheinander auf die Karte, beim 6. springt der Gutschein auf (v2.js initStampPromo) */
.bb-stamp:not(.is-on) > .bb-stamp__ink { display: none; }
.bb-stamp.is-on > .bb-stamp__n,
.bb-stamp.is-on > .bb-stamp__gift { visibility: hidden; }
.bb-stamp .bb-stamp__ink--gift { background: var(--bb-g-blue); }
.bb-stamp__ink--gift .bb-stamp__gift,
.bb-stamp__ink--gift .bb-stamp__gift span { line-height: .82; }
.bb-stamp__ink--gift .bb-stamp__cur { font-size: 16px; }
.bb-stamp__ink--gift .bb-stamp__amt { font-size: 38px; }
@keyframes bbPackPop {
	0% { opacity: 0; transform: rotate(calc(var(--r, 0deg) - 25deg)) scale(.2); }
	55% { opacity: 1; transform: rotate(var(--r, 0deg)) scale(1.1); }
	78% { transform: rotate(var(--r, 0deg)) scale(.96); }
	100% { opacity: 1; transform: rotate(var(--r, 0deg)) scale(1); }
}
@keyframes bbPackDrop {
	0% { opacity: 0; transform: translate(-50%, -190%) rotate(-30deg) scale(1.2); }
	50% { opacity: 1; transform: translate(-50%, -44%) rotate(6deg) scale(.94); }
	72% { transform: translate(-50%, -54%) rotate(-3deg) scale(1.03); }
	100% { opacity: 1; transform: translate(-50%, -50%); }
}
@keyframes bbSlotHit {
	0%, 100% { transform: none; }
	40% { transform: scale(.9); }
}
@keyframes bbGiftWiggle {
	0%, 100% { transform: none; }
	25% { transform: rotate(-8deg) scale(1.06); }
	50% { transform: rotate(7deg) scale(1.08); }
	75% { transform: rotate(-4deg) scale(1.04); }
}
@keyframes bbCountBump {
	0%, 100% { transform: none; }
	40% { transform: scale(1.18); }
}
.bb-stamp-promo__card.is-anim .bb-stamp__ink { animation: none; }
.bb-stamp-promo__card.is-anim .bb-stamp.is-pop { animation: bbSlotHit .4s ease .18s; }
.bb-stamp-promo__card.is-anim .bb-stamp.is-pop .bb-stamp__ink { animation: bbPackPop .5s ease-out both; }
.bb-stamp-promo__card.is-anim .bb-stamp.is-pop img.bb-stamp__pack { animation: bbPackDrop .6s cubic-bezier(.3, .7, .4, 1) .06s both; }
.bb-stamp-promo__card.is-anim .bb-stamp.is-wiggle { animation: bbGiftWiggle .55s ease; }
.bb-stamp-promo__card.is-anim.is-clear .bb-stamp .bb-stamp__ink { opacity: 0; transform: rotate(var(--r, 0deg)) scale(.5); transition: opacity .35s ease, transform .35s ease; animation: none; }
.bb-stamp-promo__card .bb-stamps__count { display: inline-block; }
.bb-stamp-promo__card .bb-stamps__count.is-bump { animation: bbCountBump .35s ease; }
@keyframes bbPackFade {
	from { opacity: 0; }
	to { opacity: 1; }
}
.bb-stamp-promo__card.is-anim.is-calm .bb-stamp.is-pop,
.bb-stamp-promo__card.is-anim.is-calm .bb-stamp.is-wiggle { animation: none; }
.bb-stamp-promo__card.is-anim.is-calm .bb-stamp.is-pop .bb-stamp__ink { animation: bbPackFade .5s ease both; }
.bb-stamp-promo__card.is-anim.is-calm .bb-stamp.is-pop img.bb-stamp__pack { animation: none; }

/* Produktseite: «+1 Stempel» */
.bb-stamps-pdp { display: inline-flex; align-items: center; gap: 10px; margin: 14px 0 0; padding: 7px 16px 7px 7px; border-radius: 999px; background: var(--bb-hellgelb); box-shadow: 0 4px 10px rgba(0, 0, 0, 0.06); font-family: var(--bb-balgin); font-weight: 700; font-size: 14px; line-height: 1.35; color: var(--bb-black); text-decoration: none; transition: transform .15s ease; }
.bb-stamps-pdp:hover,
.bb-stamps-pdp:visited { color: var(--bb-black); }
.bb-stamps-pdp:hover { transform: translateY(-1px); }
/* Die Kaufen-Zeile läuft von unten nach oben (column-reverse): order -1 setzt den Hinweis unter den Knopf */
.bb-product .bb-buy-row > .bb-stamps-pdp { order: -1; margin-top: 8px; }
.bb-stamps-pdp__badge { flex-shrink: 0; display: grid; place-items: center; width: 32px; height: 32px; padding-top: 2px; box-sizing: border-box; border-radius: 50%; background: var(--bb-g-pink); box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.35); font-family: var(--bb-argone); font-weight: 400; font-size: 13px; color: var(--bb-white); text-shadow: var(--bb-ts) var(--bb-ts) 0 var(--bb-dunkelblau); transform: rotate(-10deg); }

.bb-shoppage--account .woocommerce-MyAccount-navigation-link--stempelkarte a::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ccircle cx='10' cy='10' r='7.5' fill='none' stroke='black' stroke-width='2' stroke-dasharray='2.6 2'/%3E%3Ccircle cx='10' cy='10' r='4'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ccircle cx='10' cy='10' r='7.5' fill='none' stroke='black' stroke-width='2' stroke-dasharray='2.6 2'/%3E%3Ccircle cx='10' cy='10' r='4'/%3E%3C/svg%3E"); }

@media (min-width: 768px) {
	.bb-stamps--card .bb-stamps__grid { grid-template-columns: repeat(auto-fill, minmax(70px, 1fr)); }
}
@media (max-width: 991.98px) {
	.bb-stamp-promo { grid-template-columns: minmax(0, 1fr); gap: 28px; padding: 32px 28px; }
	.bb-stamp-promo .bb-stamp-promo__card { max-width: 380px; transform: rotate(2deg); }
}
@media (max-width: 767.98px) {
	.bb-stamps--card { padding: 18px 16px 16px; }
	.bb-stamp-promo { margin-top: 40px; padding: 26px 20px 30px; }
	.bb-stamp-promo__title { font-size: 38px; }
	.bb-stamp-promo p { font-size: 16px; }
	.bb-stamps__grid { gap: 12px; }
	.bb-stamp__ink span { font-size: 24px; }
	.bb-stamps-code__copy { margin-left: 0; }
}
@media (prefers-reduced-motion: reduce) {
	.bb-stamp__ink,
	.bb-stamp.is-next { animation: none; }
}

/* ==================================================================
 * Mein Konto (November 2026): Login und Konto erstellen, Alterskontrolle im Konto
 * ================================================================== */
/* Login und Registrieren nebeneinander (WooCommerce: #customer_login mit zwei Spalten) */
.bb-login:has(#customer_login) { grid-template-columns: minmax(0, 1fr); max-width: 1040px; }
.bb-login #customer_login { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 30px; align-items: stretch; margin: 0; }
.bb-login #customer_login::before,
.bb-login #customer_login::after { display: none; }
.bb-login #customer_login > .u-column1,
.bb-login #customer_login > .u-column2 { display: flex; flex-direction: column; float: none; width: auto; max-width: none; margin: 0; padding: 0; }
.bb-login #customer_login > div > h2 { display: none; }
.bb-login #customer_login form { flex: 1 1 auto; }
.bb-login .woocommerce-form-register { margin: 0; padding: 30px 32px; border: 0; border-radius: var(--bb-radius); background: var(--bb-g-violet); box-shadow: var(--bb-card-shadow); font-family: var(--bb-balgin); color: var(--bb-white); }
.bb-login .woocommerce-form-register::before { content: "Neu hier? Konto erstellen"; display: block; margin-bottom: 16px; font-family: var(--bb-argone); text-transform: uppercase; font-size: 30px; line-height: .95; color: var(--bb-white); text-shadow: var(--bb-ts) var(--bb-ts) 0 var(--bb-dunkelblau); }
.bb-login .woocommerce-form-register label,
.bb-login .woocommerce-form-register p,
.bb-login .woocommerce-form-register .woocommerce-privacy-policy-text p { color: var(--bb-white); }
.bb-login .woocommerce-form-register .input-text { border-color: var(--bb-white); }
.bb-login .woocommerce-form-register .woocommerce-privacy-policy-text p { margin: 12px 0 0; font-size: 13px; line-height: 1.5; opacity: .9; }
.bb-login .woocommerce-form-register .woocommerce-privacy-policy-text a { color: var(--bb-white); text-decoration: underline; }
.bb-login .woocommerce-form-register > p:not(.form-row):not(.bb-register__guest) { margin: 10px 0 0; font-size: 14px; line-height: 1.5; }
.bb-login .woocommerce-form-register__submit { display: flex; width: 100%; justify-content: center; align-items: center; min-height: 54px; margin-top: 16px; border: 0; border-radius: 10px; background: var(--bb-white); color: var(--bb-dunkelblau); font-family: var(--bb-balgin); font-weight: 700; font-size: 18px; box-shadow: var(--bb-shadow); cursor: pointer; transition: transform .15s ease; }
.bb-login .woocommerce-form-register__submit:hover { transform: translateY(-2px); color: var(--bb-dunkelblau); }
.bb-register__intro { display: flex; flex-direction: column; gap: 12px; margin: 0 0 18px; padding: 0 0 18px; border-bottom: 2px dashed rgba(255, 255, 255, 0.5); }
.bb-register__card .bb-stamps__grid { display: flex; flex-wrap: wrap; gap: 6px; }
.bb-register__card .bb-stamp { width: 34px; border-width: 2px; border-color: rgba(255, 255, 255, 0.8); background: rgba(255, 255, 255, 0.25); }
.bb-register__card .bb-stamp__n { font-size: 14px; color: var(--bb-white); }
.bb-register__card .bb-stamp__ink { inset: -2px; box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.35); }
.bb-register__card .bb-stamp__ink::before { display: none; }
.bb-register__card .bb-stamp__ink span { font-size: 13px; }
.bb-register__lead { margin: 0; font-weight: 700; font-size: 16px; line-height: 1.5; color: var(--bb-white); }
.bb-register__perks { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
.bb-register__perks li { margin: 0; padding: 5px 11px 4px; border-radius: 999px; background: rgba(255, 255, 255, 0.22); font-weight: 700; font-size: 13px; color: var(--bb-white); }
.bb-register__guest { margin: 14px 0 0; font-size: 14px; text-align: center; color: var(--bb-white); }
.bb-register__guest a,
.bb-register__guest a:visited,
.bb-register__guest a:hover { font-weight: 700; color: var(--bb-white); text-decoration: underline; }
.bb-login__facts { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 22px; margin: 4px 0 0; padding: 0; list-style: none; font-family: var(--bb-balgin); font-weight: 700; font-size: 14px; color: var(--bb-black); }
.bb-login__facts li { display: inline-flex; align-items: center; gap: 8px; margin: 0; }
.bb-login__facts li::before { content: "✓"; display: grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; background: var(--bb-g-blue); font-size: 11px; color: var(--bb-white); }
.bb-login__facts a { color: var(--bb-dunkelblau); }

/* WooCommerce setzt Rahmen und Abstände auf form.login/form.register: hier überschreiben */
.bb-login form.woocommerce-form-login,
.bb-login form.woocommerce-form-register { margin: 0; border: 0; padding: 34px 36px; }
.bb-register__card .bb-stamp { width: 40px; }

/* Felder im Webdesign-Stil: weich gefüllt, runde Ecken, klarer Fokus */
.bb-login form .form-row { margin: 0 0 16px; padding: 0; }
.bb-login form .form-row label { display: block; margin: 0 0 7px; font-family: var(--bb-balgin); font-weight: 700; font-size: 14px; line-height: 1.3; }
.bb-login form .form-row .required { color: var(--bb-pink); border: 0; text-decoration: none; }
.bb-login form .form-row .input-text,
.bb-login form .form-row input[type="email"],
.bb-login form .form-row input[type="password"] { width: 100%; height: 54px; min-height: 54px; box-sizing: border-box; padding: 0 16px; border: 2px solid transparent; border-radius: 14px; background: rgba(201, 245, 255, 0.45); box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.05); font-family: var(--bb-balgin); font-size: 16px; color: var(--bb-black); transition: border-color .15s ease, box-shadow .15s ease, background .15s ease; }
.bb-login form .form-row .input-text:hover { background: rgba(201, 245, 255, 0.75); }
.bb-login form .form-row .input-text:focus { border-color: var(--bb-dunkelblau); background: var(--bb-white); box-shadow: 0 0 0 4px rgba(76, 22, 242, 0.14); outline: 0; }
.bb-login form .form-row .input-text::placeholder { color: rgba(64, 64, 64, 0.45); }
.bb-login form.woocommerce-form-register .form-row .input-text { background: rgba(255, 255, 255, 0.92); }
.bb-login form.woocommerce-form-register .form-row .input-text:hover { background: var(--bb-white); }
.bb-login form.woocommerce-form-register .form-row .input-text:focus { border-color: var(--bb-white); background: var(--bb-white); box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.35); }
.bb-login .password-input { display: block; position: relative; }
.bb-login .password-input .input-text { padding-right: 48px; }
.bb-login .show-password-input { right: 14px; width: 24px; height: 24px; opacity: .55; }
.bb-login .show-password-input:hover { opacity: 1; }
.bb-login .woocommerce-form-login__rememberme { display: inline-flex; align-items: center; gap: 10px; margin: 2px 0 18px; font-weight: 700; font-size: 14px; cursor: pointer; }
.bb-login .woocommerce-form-login__rememberme input { width: 20px; height: 20px; margin: 0; accent-color: var(--bb-dunkelblau); }
.bb-login .woocommerce-form-login__submit,
.bb-login .woocommerce-form-register__submit { min-height: 56px; border-radius: 14px; font-size: 18px; letter-spacing: .01em; }
/* WooCommerce färbt button.button grau: Knöpfe im Stil der Seite erzwingen */
.woocommerce .bb-login form button.woocommerce-form-login__submit.button,
.bb-login form button.woocommerce-form-login__submit { display: flex; width: 100%; justify-content: center; align-items: center; padding: 0 20px; border: 0; background: var(--bb-g-blue); color: var(--bb-white); font-family: var(--bb-balgin); font-weight: 700; box-shadow: var(--bb-shadow); }
.woocommerce .bb-login form button.woocommerce-form-register__submit.button,
.bb-login form button.woocommerce-form-register__submit { display: flex; width: 100%; justify-content: center; align-items: center; padding: 0 20px; border: 0; background: var(--bb-white); color: var(--bb-dunkelblau); font-family: var(--bb-balgin); font-weight: 700; box-shadow: var(--bb-shadow); }
.woocommerce .bb-login form button.woocommerce-form-login__submit.button:hover { background: var(--bb-g-blue); color: var(--bb-white); transform: translateY(-2px); }
.woocommerce .bb-login form button.woocommerce-form-register__submit.button:hover { background: var(--bb-white); color: var(--bb-dunkelblau); transform: translateY(-2px); }
.bb-login .woocommerce-form-login__submit::after,
.bb-login .woocommerce-form-register__submit::after { content: "→"; margin-left: 10px; transition: transform .15s ease; }
.bb-login .woocommerce-form-login__submit:hover::after,
.bb-login .woocommerce-form-register__submit:hover::after { transform: translateX(3px); }
.bb-login .lost_password a { text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 767.98px) {
	.bb-login form.woocommerce-form-login,
	.bb-login form.woocommerce-form-register { padding: 24px 20px; }
}

/* Mein Konto: Knöpfe und Felder wie im Rest der Seite (WooCommerce-Standard überschreiben) */
.bb-shoppage--account .woocommerce a.button,
.bb-shoppage--account .woocommerce button.button,
.bb-shoppage--account .woocommerce input.button,
.bb-shoppage--account .woocommerce .woocommerce-button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 0 22px; border: 0; border-radius: 14px; background: var(--bb-g-blue); color: var(--bb-white); font-family: var(--bb-balgin); font-weight: 700; font-size: 16px; line-height: 1; text-decoration: none; box-shadow: var(--bb-shadow); cursor: pointer; transition: transform .15s ease, box-shadow .15s ease; }
.bb-shoppage--account .woocommerce a.button:hover,
.bb-shoppage--account .woocommerce button.button:hover,
.bb-shoppage--account .woocommerce .woocommerce-button:hover { background: var(--bb-g-blue); color: var(--bb-white); transform: translateY(-2px); box-shadow: 0 10px 18px rgba(0, 0, 0, 0.22); }
.bb-shoppage--account .woocommerce button.button[name="save_address"],
.bb-shoppage--account .woocommerce button.button[name="save_account_details"] { min-height: 54px; padding: 0 28px; font-size: 17px; }
.bb-shoppage--account .woocommerce .woocommerce-orders-table__cell-order-actions .button { min-height: 38px; margin: 3px 6px 3px 0; padding: 0 14px; border-radius: 10px; font-size: 14px; }
.bb-shoppage--account .woocommerce .woocommerce-orders-table__cell-order-actions .button.cancel { background: var(--bb-white); color: var(--bb-black); box-shadow: inset 0 0 0 2px var(--bb-hellblau); }
.bb-shoppage--account .woocommerce .woocommerce-orders-table__cell-order-actions .button.pay { background: var(--bb-g-violet); }
.bb-shoppage--account .woocommerce-MyAccount-content .input-text,
.bb-shoppage--account .woocommerce-MyAccount-content form .form-row .input-text,
.bb-shoppage--account .woocommerce-MyAccount-content form .form-row input[type="password"],
.bb-shoppage--account .woocommerce-MyAccount-content select,
.bb-shoppage--account .woocommerce-MyAccount-content textarea,
.bb-shoppage--account .woocommerce-MyAccount-content .select2-container .select2-selection--single { min-height: 54px; padding: 0 16px; border: 2px solid transparent; border-radius: 14px; background: rgba(201, 245, 255, 0.45); box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.05); font-size: 16px; transition: border-color .15s ease, box-shadow .15s ease, background .15s ease; }
.bb-shoppage--account .woocommerce-MyAccount-content textarea { padding: 14px 16px; }
.bb-shoppage--account .woocommerce-MyAccount-content .select2-container .select2-selection--single { display: flex; align-items: center; height: 54px; }
.bb-shoppage--account .woocommerce-MyAccount-content .select2-container .select2-selection--single .select2-selection__arrow { top: 50%; transform: translateY(-50%); right: 10px; }
.bb-shoppage--account .woocommerce-MyAccount-content .input-text:hover,
.bb-shoppage--account .woocommerce-MyAccount-content form .form-row .input-text:hover,
.bb-shoppage--account .woocommerce-MyAccount-content select:hover { background: rgba(201, 245, 255, 0.75); }
.bb-shoppage--account .woocommerce-MyAccount-content form .form-row .input-text:focus,
.bb-shoppage--account .woocommerce-MyAccount-content .input-text:focus,
.bb-shoppage--account .woocommerce-MyAccount-content select:focus,
.bb-shoppage--account .woocommerce-MyAccount-content textarea:focus { border-color: var(--bb-dunkelblau); background: var(--bb-white); box-shadow: 0 0 0 4px rgba(76, 22, 242, 0.14); outline: 0; }
.bb-shoppage--account .woocommerce-MyAccount-content label { font-size: 14px; }
.bb-shoppage--account .woocommerce-MyAccount-content .required,
.bb-shoppage--account .woocommerce-MyAccount-content form .form-row .required { color: var(--bb-pink); border: 0; text-decoration: none; }

/* Alterskontrolle im Konto */
.bb-age--account { margin: 0; box-shadow: none; padding: 22px 0 0; border-top: 2px dashed var(--bb-hellblau); border-radius: 0; }
.bb-age__save { margin: 12px 0 0; padding: 10px 14px; border-radius: 10px; background: var(--bb-hellgelb); font-weight: 700; font-size: 14px; line-height: 1.45; color: var(--bb-black); }
a.bb-acc-card--age { transition: transform .2s ease; }
a.bb-acc-card--age:hover { transform: translateY(-3px); color: var(--bb-black); }
.bb-shoppage--account .woocommerce-MyAccount-navigation-link--alterskontrolle a::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Crect x='1.5' y='4' width='17' height='12' rx='2.5' fill='none' stroke='black' stroke-width='2'/%3E%3Ccircle cx='7' cy='9.3' r='2'/%3E%3Cpath d='M4 13.6c.6-1.6 1.7-2.3 3-2.3s2.4.7 3 2.3Z'/%3E%3Crect x='11.5' y='8' width='4.5' height='1.8' rx='.9'/%3E%3Crect x='11.5' y='11' width='3.2' height='1.8' rx='.9'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Crect x='1.5' y='4' width='17' height='12' rx='2.5' fill='none' stroke='black' stroke-width='2'/%3E%3Ccircle cx='7' cy='9.3' r='2'/%3E%3Cpath d='M4 13.6c.6-1.6 1.7-2.3 3-2.3s2.4.7 3 2.3Z'/%3E%3Crect x='11.5' y='8' width='4.5' height='1.8' rx='.9'/%3E%3Crect x='11.5' y='11' width='3.2' height='1.8' rx='.9'/%3E%3C/svg%3E"); }

@media (max-width: 991.98px) {
	.bb-login #customer_login { grid-template-columns: minmax(0, 1fr); gap: 20px; }
}
@media (max-width: 767.98px) {
	.bb-login .woocommerce-form-register { padding: 22px; }
	.bb-login .woocommerce-form-register::before { font-size: 26px; }
	.bb-login__facts { justify-content: flex-start; flex-direction: column; gap: 8px; }
}

/* ==================================================================
 * Mobile-Feinschliff (Oktober 2026)
 * Welle schliesst die Kopfzeile ab, Inhalt beginnt erst danach mit weissem Abstand,
 * weniger Rand, Shop-Karten über die ganze Breite, Brotkrumen weiss mit Schatten,
 * Textschatten im Verhältnis zur Schriftgrösse (siehe --bb-ts).
 * ================================================================== */
@media (max-width: 991.98px) {
	.bb-header,
	.page-id-12 .bb-header { position: relative; }
	.bb-header::after,
	.page-id-12 .bb-header::after,
	.bb-header.has-hero::after,
	.page-id-12 .bb-header.has-hero::after { top: 0 !important; bottom: 0 !important; height: auto !important; margin-bottom: 0 !important; }
	.bb-header.has-hero { padding-bottom: 84px; }
	.bb-shop > .container,
	.bb-blogpage > .container,
	.bb-stores-page > .container,
	.bb-shoppage > .container,
	.bb-404 > .container,
	.bb-post > .container,
	.bb-impressum > .container { margin-top: 18px; }
}
@media (max-width: 767.98px) {
	.bb-header,
	.page-id-12 .bb-header { z-index: auto; }

	/* Weniger Rand links und rechts */
	.container { max-width: 100%; padding-left: 16px; padding-right: 16px; }

	/* Shop-Karten über die ganze Breite */
	.woocommerce ul.products.bb-grid,
	ul.products.bb-grid,
	.bb-product .related ul.products { grid-template-columns: minmax(0, 1fr); gap: 18px; }
	.bb-grid-promo { grid-column: 1 / -1; }
	.bb-pcard__sub { font-size: 14px; margin-bottom: 12px; }
	.bb-pcard__price { font-size: 18px; }
	.bb-pcard .bb-btn { font-size: 17px; padding-top: 12px; padding-bottom: 10px; }

	/* Verkaufsstellen: weniger Weissraum unten */
	.bb-stores-page { padding-bottom: 36px; }

	/* Brotkrumen: weiss, Schatten in der Farbe des Seitentitels */
	.bb-crumbs {
		--bb-crumb-shadow: var(--bb-dunkelblau);
		gap: 4px 8px;
		font-family: var(--bb-argone);
		font-weight: 400;
		text-transform: uppercase;
		font-size: 15px;
		line-height: 1.25;
		letter-spacing: .02em;
		color: var(--bb-white);
		text-shadow: var(--bb-ts) var(--bb-ts) 0 var(--bb-crumb-shadow);
	}
	.bb-crumbs a,
	.bb-crumbs a:visited,
	.bb-crumbs a:hover { color: var(--bb-white); text-decoration-color: var(--bb-crumb-shadow); text-decoration-thickness: 2px; }
	.page-template-page-ratgeber .bb-crumbs { --bb-crumb-shadow: var(--bb-purple); }
	.bb-product .bb-crumbs { --bb-crumb-shadow: var(--bb-title-shadow, var(--bb-dunkelblau)); }

	/* Benutzerfreundlich: Felder mit 16px (kein Zoom beim Tippen auf dem iPhone) */
	input[type="text"],
	input[type="email"],
	input[type="tel"],
	input[type="password"],
	input[type="search"],
	input[type="number"],
	input[type="date"],
	select,
	textarea { font-size: 16px !important; }

	/* Textschatten auf dem Handy etwas kräftiger im Verhältnis zur Schrift */
	:root { --bb-ts: clamp(2.5px, .12em, 8px); }
}

/* ==================================================================
 * Mobile UX (November 2026)
 * Grössere Produktkarten-Typo, Knöpfe in Inhaltsbreite, kompaktere Titel,
 * spürbares Feedback beim Tippen und ruhigere, schnellere Einblendungen.
 * ================================================================== */
@media (max-width: 767.98px) {
	/* Produktkarte: Titel, Untertitel und Preis gross und mittig gestapelt */
	.bb-pcard__body { padding: 16px 18px 22px; }
	.bb-pcard .bb-pcard__title,
	.archive-products .bb-pcard .bb-pcard__title,
	.related.products .bb-pcard h2.bb-pcard__title {
		margin-bottom: 12px;
		font-size: clamp(30px, calc((100cqi - 40px) / 6.6), 48px);
		line-height: .86;
	}
	/* Untertitel: oben und unten optisch gleich viel Luft (Titelschatten mitgerechnet) */
	.bb-pcard__sub { margin: 0 0 11px; font-size: 17px; line-height: 1.05; opacity: .8; }
	.bb-pcard__foot { flex-direction: column; align-items: center; justify-content: flex-start; gap: 14px; text-align: center; }
	.bb-pcard__price { font-size: 27px; line-height: .9; }
	.bb-pcard__price del { font-size: .7em; opacity: .7; }
	.bb-pcard__price ins { text-decoration: none; }

	/* Knöpfe: grösser, aber nur so breit wie der Text */
	.bb-pcard .bb-pcard__foot .bb-btn,
	.woocommerce ul.products li.product .bb-pcard__foot a.bb-btn,
	.woocommerce ul.products li.product .bb-pcard__foot .bb-btn.button {
		width: auto;
		min-width: 190px;
		max-width: 100%;
		min-height: 52px;
		padding: 0 26px;
		border-radius: 12px;
		justify-content: center;
		font-size: 19px;
	}
	.bb-pcard .added_to_cart { font-size: 15px; }

	/* «Ausverkauft» gut lesbar */
	.bb-pcard__tag { top: 14px; left: 14px; padding: 8px 13px 6px; border-radius: 10px; font-size: 18px; }

	/* Titel kompakter */
	.bb-h2 { line-height: .9; }
	.bb-hero__title,
	.bb-featured__title,
	.bb-product h1.product_title { line-height: .88; }
	.bb-promo__title,
	.bb-guide-teaser__title,
	.bb-store-b2b h2,
	.bb-imp-card h2,
	.bb-product .related.products > h2,
	.bb-empty__title,
	.bb-lost__title,
	.bb-404 .bb-404__title,
	#agegate-overlay #agegate-title { line-height: .92; }
	.bb-article__content h2,
	.bb-about__content h2,
	.bb-about__content h3,
	.bb-side-cta__title { line-height: .96; }
	.bb-blogpage .bb-blog__title { font-size: 27px; line-height: 1; }
	.bb-blog__title { font-size: 23px; line-height: 1.25; }

	/* Einblendungen: kürzerer Weg, ohne Staffelung (alles ist eine Spalte) */
	html.bb-reveal :is(.bb-pcard-li, .bb-blog, .bb-store, .bb-faq-item, .bb-acc-tile, .bb-fact, .bb-guide-fact, .bb-imp-card, .bb-section-head, .bb-split__text, .bb-split__media, .bb-sec .bb-h2, .bb-guide-teaser, .bb-404__card, .bb-acc-card, .bb-post__more .bb-h2, .bb-legal-card, .bb-side-cta, .bb-side-guide, .bb-toc):not(.is-in) { transform: translateY(14px); }
	html.bb-reveal .bb-split__media:not(.is-in) { transform: translateY(14px); }
	html.bb-reveal :is(.bb-pcard-li, .bb-blog, .bb-store, .bb-faq-item, .bb-acc-tile, .bb-fact, .bb-guide-fact, .bb-imp-card, .bb-section-head, .bb-split__text, .bb-split__media, .bb-sec .bb-h2, .bb-guide-teaser, .bb-404__card, .bb-acc-card, .bb-post__more .bb-h2, .bb-legal-card, .bb-side-cta, .bb-side-guide, .bb-toc).is-in { transition: opacity .4s ease, transform .5s var(--bb-ease); }

	/* Leichtere Schatten auf kleinen Bildschirmen */
	.bb-pcard { box-shadow: 0 10px 24px rgba(0, 0, 0, 0.12); }

	/* Startseite: mehr Luft zwischen den Produkten und «Hey, wir sind Bud Buddies» */
	.bb-shop > .container + .bb-wave { margin-top: 64px; }

	/* Einheitliche Schriftgrössen: Seitentitel 44, Abschnittstitel 48, Titel in Karten und Texten 30 */
	.bb-hero__title,
	.bb-hero--shop .bb-hero__title { font-size: 44px; }
	.bb-h2,
	.bb-h2--sm,
	.bb-post__more .bb-h2,
	.bb-product .related.products > h2 { font-size: 48px; line-height: .9; }
	.bb-promo__title,
	.bb-store-b2b h2,
	.bb-imp-card h2,
	.bb-imp-card--contact h2,
	.bb-imp-card--freshman h2,
	.bb-imp-card--pizza h2,
	.bb-about__content h2,
	.bb-about__content h3,
	.bb-article__content h2,
	.bb-guide-teaser__title,
	.bb-login__title,
	.bb-acc-head .bb-acc-head__t,
	.bb-empty__title,
	.bb-lost__title,
	.bb-404 .bb-404__title { font-size: 30px; line-height: .92; }
}

/* Brotkrumen (Produkt, Blogbeiträge, Ratgeber): ohne Unterstreichung, auf Handy und Tablet zentriert */
.bb-crumbs a,
.bb-crumbs a:visited,
.bb-crumbs a:hover { text-decoration: none; }
@media (max-width: 991.98px) {
	.bb-crumbs { justify-content: center; text-align: center; }
}

/* Touch: kein grauer Tipp-Blitz, kein Doppeltipp-Zoom, sichtbares Drücken statt Hover */
@media (max-width: 991.98px) {
	html { -webkit-tap-highlight-color: transparent; }
	a,
	button,
	.bb-btn,
	.bb-tab,
	input[type="submit"],
	label { touch-action: manipulation; }
}
@media (hover: none) {
	.bb-pcard:hover { transform: none; box-shadow: var(--bb-card-shadow); }
	.bb-pcard:hover .bb-pcard__img img,
	.bb-blog:hover .bb-blog__img img { transform: none; }
	.bb-btn:hover,
	.bb-tab:hover { transform: none; }
	.bb-btn:hover .bb-arr { transform: none; }
}
@media (hover: none) and (max-width: 767.98px) {
	.bb-pcard:hover { box-shadow: 0 10px 24px rgba(0, 0, 0, 0.12); }
}
@media (hover: none) and (prefers-reduced-motion: no-preference) {
	.bb-pcard,
	.bb-blog,
	.bb-store,
	.bb-acc-tile,
	.bb-acc-card,
	.bb-tab { transition: transform .18s var(--bb-ease), box-shadow .18s ease; }
	.bb-pcard:active,
	.bb-blog:active,
	.bb-store:active,
	.bb-acc-tile:active,
	.bb-acc-card:active { transform: scale(.985); }
	.bb-btn:active,
	.bb-tab:active { transform: scale(.95); box-shadow: 0 3px 8px rgba(0, 0, 0, 0.18); }
}

/* Logo: im Kopf und im geöffneten Menü gleich gross */
.bb-mm .bb-mm__top .custom-logo-link img { width: 325px; max-width: 100%; }
@media (max-width: 991.98px) {
	.bb-mm .bb-mm__top .custom-logo-link img { width: 260px; }
}
@media (max-width: 767.98px) {
	.bb-head-row .custom-logo-link img,
	.bb-mm .bb-mm__top .custom-logo-link img { width: 320px; max-width: 100%; }
	/* Logo im Menü auf derselben Höhe wie im Kopf: beim Öffnen springt nichts */
	.bb-mm__inner { padding-top: 26px; }

	/* Rezensionen-Akkordeon */
	.bb-single-reviews__body { padding: 0 18px 20px; }

	/* Menü: Kategorie-Kacheln über die ganze Breite */
	.bb-mcats { grid-template-columns: minmax(0, 1fr); gap: 10px; }
	.bb-mcat { height: 84px; justify-content: center; padding: 12px 18px; }
	.bb-mcat__name { font-size: 28px; }
	.bb-mcat__count { font-size: 15px; }
	.bb-mm img.bb-mcat__img { height: 104px; right: -4px; bottom: -22px; }
}
