/* ==========================================================================
   Balance & Spirit – Theme-Styles
   Farben, Schriften und Abstände kommen aus theme.json (--wp--preset--…).
   Ruhig gehalten: eine dunkle Fläche oben (See), sonst Leinen und Salbei.
   ========================================================================== */

:root {
	color-scheme: light only; /* kein automatischer Dark Mode */
	--bs-see: var(--wp--preset--color--see);
	--bs-see-tief: var(--wp--preset--color--see-tief);
	--bs-leinen: var(--wp--preset--color--leinen);
	--bs-papier: var(--wp--preset--color--papier);
	--bs-salbei: var(--wp--preset--color--salbei);
	--bs-schilf: var(--wp--preset--color--schilf);
	--bs-honig: var(--wp--preset--color--honig);
	--bs-text-mittel: var(--wp--preset--color--text-mittel);
	--bs-text-leise: var(--wp--preset--color--text-leise);
	--bs-linie: var(--wp--preset--color--linie);
	--bs-hell-auf-see: #D4DDD8;
	--bs-font-display: var(--wp--preset--font-family--cormorant);
	--bs-font-text: var(--wp--preset--font-family--work-sans);
	--bs-font-hand: var(--wp--preset--font-family--caveat);
	--bs-abschnitt: var(--wp--preset--spacing--60);
}

body {
	--bs-rand: var(--wp--style--root--padding-left, 24px);
}

/* ---------- Grundlagen ---------- */

html,
body {
	color-scheme: light only;
}

body {
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

::selection {
	background: var(--bs-salbei);
	color: var(--bs-see);
}

a {
	text-underline-offset: 0.18em;
	text-decoration-thickness: 1px;
}

:where(a, button, input, select, textarea, summary):focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 3px;
	border-radius: 2px;
}

.bs-skip-link {
	position: absolute;
	left: 16px;
	top: -100px;
	z-index: 1001;
	padding: 12px 18px;
	background: var(--bs-leinen);
	color: var(--bs-see);
	font-weight: 600;
	border-radius: 999px;
}

.bs-skip-link:focus {
	top: 16px;
}

.bs-main {
	padding-bottom: 0;
}

img {
	height: auto;
}

/* ---------- Kleine Überschriften und Beschriftungen ---------- */

.bs-eyebrow,
.is-style-eyebrow {
	margin: 0 0 14px;
	font-family: var(--bs-font-text);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.16em;
	line-height: 1.4;
	text-transform: uppercase;
	color: var(--bs-honig);
}

.bs-eyebrow a {
	color: inherit;
	text-decoration: none;
}

.bs-label {
	display: block;
	margin: 0 0 6px;
	font-family: var(--bs-font-text);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.14em;
	line-height: 1.4;
	text-transform: uppercase;
	color: var(--bs-text-leise);
}

.is-style-handschrift {
	font-family: var(--bs-font-hand);
	font-size: 1.6em;
	line-height: 1.2;
	color: var(--bs-schilf);
}

.bs-leise {
	font-size: 15px;
	line-height: 1.65;
	color: var(--bs-text-leise);
}

h1,
h2,
h3 {
	text-wrap: balance;
}

h1 em,
h2 em {
	font-style: italic;
}

/* ---------- Kopfbereich ---------- */

.bs-header {
	padding-top: 26px;
	padding-bottom: 26px;
}

.bs-header__inner {
	gap: 32px;
	align-items: center;
}

.bs-marke {
	gap: 4px;
}

.bs-marke__name {
	margin: 0;
	font-family: var(--bs-font-display);
	font-size: 34px;
	font-style: italic;
	font-weight: 500;
	line-height: 1;
}

.bs-marke__name a {
	color: var(--bs-leinen);
	text-decoration: none;
}

.bs-marke__zusatz {
	margin: 0;
	font-size: 12px;
	letter-spacing: 0.18em;
	line-height: 1.3;
	text-transform: uppercase;
	color: var(--bs-hell-auf-see);
}

.bs-nav {
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 0.06em;
}

.bs-nav .wp-block-navigation__container {
	gap: 36px;
}

.bs-nav .wp-block-navigation-item__content {
	padding: 10px 0;
	text-decoration: none;
	border-bottom: 1px solid transparent;
}

.bs-nav .wp-block-navigation-item__content:hover,
.bs-nav .current-menu-item > .wp-block-navigation-item__content {
	border-bottom-color: currentColor;
}

/* Knopf „Menü“ auf dem Handy */
.bs-nav .wp-block-navigation__responsive-container-open {
	display: none;
	align-items: center;
	gap: 8px;
	height: 48px;
	padding: 0 14px 0 16px;
	border: 1px solid currentColor;
	border-radius: 999px;
	color: var(--bs-leinen);
}

.bs-nav .wp-block-navigation__responsive-container-open::before {
	content: "Menü";
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.bs-nav .wp-block-navigation__responsive-container.is-menu-open {
	padding: 24px 20px 40px;
	background: var(--bs-see) !important;
	color: var(--bs-leinen) !important;
}

.bs-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	padding-top: 72px;
	align-items: flex-start;
}

.bs-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
	gap: 8px;
	align-items: flex-start;
}

.bs-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	font-family: var(--bs-font-display);
	font-size: 34px;
	font-weight: 400;
	letter-spacing: 0;
	padding: 6px 0;
}

.bs-nav .wp-block-navigation__responsive-container-close {
	top: 24px;
	right: 20px;
	width: 48px;
	height: 48px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid currentColor;
	border-radius: 50%;
}

@media (max-width: 599px) {
	.bs-nav .wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: flex;
	}
}

@media (max-width: 1080px) {
	.bs-nav .wp-block-navigation__container {
		gap: 24px;
	}

	.bs-marke__name {
		font-size: 28px;
	}

	.bs-marke__zusatz {
		font-size: 10px;
		letter-spacing: 0.14em;
	}
}

@media (max-width: 599px) {
	.bs-header {
		padding-top: 14px;
		padding-bottom: 14px;
	}

	.bs-marke__name {
		font-size: 26px;
	}
}

/* ---------- Startbild (Titelbild-Block, Stil „See“) ---------- */

.wp-block-cover.is-style-see {
	background-color: var(--bs-see);
	color: var(--bs-leinen);
	padding-top: clamp(56px, 9vw, 112px);
	padding-bottom: clamp(72px, 10vw, 128px);
	padding-left: var(--bs-rand);
	padding-right: var(--bs-rand);
	overflow: hidden;
}

.wp-block-cover.is-style-see::after {
	content: "";
	position: absolute;
	right: max(-160px, -12vw);
	top: 50%;
	width: min(720px, 90vw);
	aspect-ratio: 1;
	transform: translateY(-38%);
	background: url("../images/wasserringe.svg") center / contain no-repeat;
	pointer-events: none;
	z-index: 1;
}

.wp-block-cover.is-style-see .wp-block-cover__inner-container {
	z-index: 2;
	max-width: var(--wp--style--global--wide-size);
	margin-left: auto;
	margin-right: auto;
}

.wp-block-cover.is-style-see h1,
.wp-block-cover.is-style-see h2 {
	color: var(--bs-leinen);
	line-height: 1.02;
	margin-top: 0;
}

.wp-block-cover.is-style-see .bs-eyebrow {
	color: var(--bs-hell-auf-see);
	font-weight: 500;
	letter-spacing: 0.18em;
}

.bs-hero__text {
	color: #DDE4DF;
	line-height: 1.7;
	max-width: 540px;
}

@media (max-width: 781px) {
	.wp-block-cover.bs-hero {
		min-height: 560px !important;
		align-items: flex-end;
	}
}

/* ---------- Leiste unter dem Startbild ---------- */

.bs-leiste {
	border-bottom: 1px solid var(--bs-linie);
	padding-left: var(--bs-rand);
	padding-right: var(--bs-rand);
}

.wp-block-post-content > .bs-leiste.alignfull {
	margin-top: 0;
}

.bs-leiste__inner {
	max-width: var(--wp--style--global--wide-size);
	margin: 0 auto;
	min-height: 128px;
	display: flex;
	align-items: center;
	gap: 24px 64px;
	font-size: 17px;
	line-height: 1.5;
}

.bs-leiste__item {
	display: flex;
	flex-direction: column;
}

.bs-leiste__item .bs-label {
	margin-bottom: 4px;
}

.bs-leiste__button {
	order: 9;
	margin-left: auto;
	flex-shrink: 0;
	padding: 17px 30px;
	border-radius: 999px;
	background: var(--bs-see);
	color: var(--bs-leinen);
	font-weight: 500;
	text-decoration: none;
	white-space: nowrap;
}

.bs-leiste__button:hover {
	background: var(--bs-see-tief);
	color: var(--bs-leinen);
}

@media (max-width: 900px) {
	.bs-leiste__inner {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		padding: 24px 0 32px;
		gap: 20px 16px;
		font-size: 15px;
	}

	.bs-leiste__button {
		order: -1;
		grid-column: 1 / -1;
		margin: 0;
		text-align: center;
	}

	.bs-leiste__item--adresse {
		display: none;
	}
}

/* ---------- Abschnitte ---------- */

.bs-abschnitt {
	padding-top: var(--bs-abschnitt);
	padding-bottom: var(--bs-abschnitt);
}

.wp-block-post-content > .bs-abschnitt,
.bs-main > .bs-abschnitt {
	margin-top: 0;
	margin-bottom: 0;
}

.bs-abschnitt--linie {
	border-top: 1px solid var(--bs-linie);
}

.bs-abschnitt h2 {
	margin-top: 0;
}

.bs-kopf {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-end;
	gap: 16px 64px;
	margin-bottom: clamp(40px, 5vw, 64px);
}

.bs-kopf > * {
	margin: 0;
}

.bs-kopf h2 {
	margin: 0;
}

.bs-kopf__text {
	max-width: 440px;
	font-size: 17px;
	line-height: 1.65;
	color: var(--bs-text-mittel);
}

.bs-kopf__link {
	font-weight: 500;
}

/* ---------- Heilpflanzen ---------- */

.bs-pflanzen {
	display: grid;
	grid-template-columns: repeat(8, minmax(0, 1fr));
	gap: 40px 16px;
}

.bs-pflanzen > * {
	margin: 0 !important;
}

.bs-pflanze__link {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	padding: 8px 4px;
	text-align: center;
	text-decoration: none;
	color: var(--bs-see);
	border-radius: 8px;
}

.bs-pflanze .bs-icon {
	color: var(--bs-schilf);
	transition: transform 0.3s ease;
}

.bs-pflanze__link:hover .bs-icon {
	transform: translateY(-3px);
}

.bs-pflanze__name {
	font-family: var(--bs-font-hand);
	font-size: 26px;
	line-height: 1;
}

.bs-pflanze__link:hover .bs-pflanze__name {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 4px;
}

.bs-pflanze__latin {
	font-size: 12px;
	font-style: italic;
	line-height: 1.3;
	color: var(--bs-text-leise);
}

@media (max-width: 1000px) {
	.bs-pflanzen {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 32px 8px;
	}
}

@media (max-width: 480px) {
	.bs-pflanze .bs-icon {
		width: 44px;
		height: 44px;
	}

	.bs-pflanzen {
		gap: 28px 4px;
	}

	.bs-pflanze__name {
		font-size: 18px;
		letter-spacing: -0.01em;
	}

	.bs-pflanze__latin {
		display: none;
	}
}

/* ---------- Zweispaltige Abschnitte ---------- */

.bs-zweispaltig {
	display: grid;
	grid-template-columns: minmax(0, 4fr) minmax(0, 7fr);
	gap: 48px clamp(48px, 8vw, 120px);
	align-items: start;
}

.bs-zweispaltig > * {
	margin: 0 !important;
}

.bs-zweispaltig--gleich {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.bs-zweispaltig__intro > * {
	margin-top: 0;
}

@media (max-width: 900px) {
	.bs-zweispaltig,
	.bs-zweispaltig--gleich {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* ---------- Behandlungen ---------- */

.bs-behandlungen {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 44px 56px;
}

.bs-behandlungen > * {
	margin: 0 !important;
}

.bs-behandlung__inner {
	display: flex;
	gap: 20px;
	align-items: flex-start;
	color: var(--bs-see);
	text-decoration: none;
}

.bs-behandlung__icon {
	flex-shrink: 0;
	color: var(--bs-see);
	padding-top: 2px;
}

.bs-behandlung__body {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.bs-behandlung__titel {
	font-family: var(--bs-font-display);
	font-size: 28px;
	line-height: 1.1;
}

a.bs-behandlung__inner:hover .bs-behandlung__titel {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 4px;
}

.bs-behandlung__text {
	font-size: 16px;
	line-height: 1.55;
	color: var(--bs-text-mittel);
}

@media (max-width: 700px) {
	.bs-behandlungen {
		grid-template-columns: minmax(0, 1fr);
		gap: 0;
	}

	.bs-behandlung__inner {
		padding: 18px 0;
		border-bottom: 1px solid var(--bs-linie);
	}

	.bs-behandlung__titel {
		font-size: 24px;
	}
}

/* ---------- Jahreskreis: Zeile ---------- */

.bs-jahreskreis--zeile {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

.bs-jahreskreis__link {
	display: flex;
	align-items: center;
	gap: 28px;
	padding: 36px 48px;
	border-radius: 8px;
	background: var(--bs-salbei);
	color: var(--bs-see);
	text-decoration: none;
}

.bs-jahreskreis__symbol {
	flex-shrink: 0;
}

.bs-jahreskreis__body {
	display: flex;
	flex-direction: column;
	gap: 4px;
	flex-grow: 1;
}

.bs-jahreskreis__eyebrow {
	margin: 0;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--bs-text-leise);
}

.bs-jahreskreis__titel {
	font-family: var(--bs-font-display);
	font-size: clamp(24px, 2.4vw, 32px);
	line-height: 1.15;
}

.bs-jahreskreis__element {
	font-size: 15px;
	color: var(--bs-text-mittel);
}

.bs-jahreskreis__mehr {
	flex-shrink: 0;
	font-weight: 500;
	color: var(--bs-honig);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.18em;
}

.bs-jahreskreis__link:hover .bs-jahreskreis__mehr {
	color: var(--bs-see);
}

@media (max-width: 700px) {
	.bs-jahreskreis__link {
		flex-wrap: wrap;
		gap: 16px;
		padding: 24px;
	}

	.bs-jahreskreis__symbol {
		width: 44px;
		height: 44px;
	}

	.bs-jahreskreis__body {
		flex-basis: calc(100% - 64px);
	}
}

/* ---------- Jahreskreis: Rad ---------- */

.bs-rad {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
	gap: 32px clamp(40px, 6vw, 96px);
	align-items: center;
	margin-top: 0 !important;
	padding: clamp(32px, 4vw, 56px) 0 clamp(40px, 5vw, 72px);
	border-top: 1px solid var(--bs-linie);
	border-bottom: 1px solid var(--bs-linie);
}

.bs-rad__svg {
	display: block;
	width: 100%;
	max-width: 480px;
	height: auto;
	margin: 0 auto;
	overflow: visible;
}

.bs-rad__fest {
	font-family: var(--bs-font-display);
	font-size: 25px;
	fill: var(--bs-see);
}

.bs-rad__fest.is-aktiv {
	font-style: italic;
	fill: var(--bs-honig);
}

.bs-rad svg a {
	text-decoration: none;
}

.bs-rad a:hover .bs-rad__fest,
.bs-rad a:focus .bs-rad__fest {
	fill: var(--bs-honig);
	text-decoration: underline;
}

.bs-rad a:focus-visible {
	outline: 2px solid var(--bs-see);
}

.bs-rad__mitte {
	font-family: var(--bs-font-text);
	font-size: 11px;
	letter-spacing: 0.16em;
	fill: var(--bs-text-leise);
}

.bs-rad__text > * {
	margin: 0 0 14px;
}

.bs-rad__titel {
	font-family: var(--bs-font-display);
	font-size: var(--wp--preset--font-size--titel);
	line-height: 1.05;
}

.bs-rad__element {
	font-size: 18px;
	line-height: 1.65;
	color: var(--bs-text-mittel);
	max-width: 520px;
}

.bs-rad__mehr {
	font-weight: 500;
}

@media (max-width: 800px) {
	.bs-rad {
		grid-template-columns: minmax(0, 1fr);
	}

	.bs-rad__bild {
		order: 2;
	}
}

/* ---------- Über mich ---------- */

.bs-ueber {
	display: grid;
	grid-template-columns: minmax(0, 480px) minmax(0, 1fr);
	gap: 48px clamp(48px, 8vw, 112px);
	align-items: center;
}

.bs-ueber > * {
	margin: 0 !important;
}

.bs-ueber__text > :first-child {
	margin-top: 0;
}

@media (max-width: 900px) {
	.bs-ueber {
		grid-template-columns: minmax(0, 1fr);
	}

	.bs-ueber .wp-block-image {
		max-width: 420px;
	}
}

/* Bildstil „Bogen“ */
.wp-block-image.is-style-bogen img {
	width: 100%;
	aspect-ratio: 6 / 7;
	object-fit: cover;
	border-radius: 999px 999px 8px 8px / 420px 420px 8px 8px;
}

/* ---------- Beitragskarten ---------- */

.bs-karten .wp-block-post-template {
	gap: 56px 40px;
	margin: 0;
	padding: 0;
}

.bs-karten .wp-block-post-template > li {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.bs-karten .wp-block-post-template > li > * {
	margin: 0;
}

.bs-karten .wp-block-post-featured-image {
	margin: 0 0 4px;
	overflow: hidden;
	border-radius: 6px;
	background: var(--bs-salbei);
}

.bs-karten .wp-block-post-featured-image img {
	border-radius: 6px;
	transition: transform 0.5s ease;
}

.bs-karten .wp-block-post-featured-image a:hover img {
	transform: scale(1.03);
}

.bs-bild-platzhalter a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	color: var(--bs-schilf);
}

.bs-kategorie {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.12em;
	line-height: 1.4;
	text-transform: uppercase;
	color: var(--bs-text-leise);
}

.bs-kategorie a {
	color: inherit;
	text-decoration: none;
}

.bs-kategorie a:hover {
	color: var(--bs-see);
	text-decoration: underline;
}

.bs-karte__titel {
	font-size: clamp(24px, 2.2vw, 30px);
	line-height: 1.15;
}

.bs-karte__titel a {
	color: var(--bs-see);
	text-decoration: none;
}

.bs-karte__titel a:hover {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 4px;
}

.bs-karte__datum {
	font-size: 14px;
	color: var(--bs-text-leise);
}

@media (max-width: 900px) {
	.bs-karten .wp-block-post-template.is-layout-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 600px) {
	.bs-karten .wp-block-post-template.is-layout-grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 44px;
	}
}

/* Seitennavigation */
.bs-seiten {
	margin-top: 64px;
	gap: 8px;
	font-size: 16px;
}

.bs-seiten a,
.bs-seiten .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 48px;
	height: 48px;
	padding: 0 16px;
	border: 1px solid var(--bs-linie);
	border-radius: 999px;
	color: var(--bs-see);
	text-decoration: none;
}

.bs-seiten .wp-block-query-pagination-numbers {
	display: flex;
	gap: 8px;
}

.bs-seiten .page-numbers.current {
	background: var(--bs-see);
	border-color: var(--bs-see);
	color: var(--bs-leinen);
}

.bs-seiten .page-numbers.dots {
	border: none;
	min-width: 24px;
	padding: 0;
}

.bs-seiten a:hover {
	border-color: var(--bs-see);
}

/* ---------- Blog-Übersicht ---------- */

.bs-blogkopf {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-end;
	gap: 32px 64px;
	padding-top: clamp(56px, 8vw, 112px);
	padding-bottom: clamp(40px, 5vw, 64px);
	margin-bottom: 0 !important;
}

.bs-blogkopf h1 {
	margin: 0 0 16px;
	font-size: var(--wp--preset--font-size--aufmacher);
	line-height: 1;
}

.bs-blogkopf .bs-kopf__text {
	margin: 0;
	max-width: 620px;
}

.bs-themen {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 20px;
	padding: 32px 0;
	margin-top: 0 !important;
}

.bs-themen .bs-label {
	margin: 0;
}

.bs-main--blog .bs-karten--liste {
	margin-top: 24px;
	padding-bottom: var(--bs-abschnitt);
}

/* Kategorien als Schlagworte */
.wp-block-categories.is-style-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.wp-block-categories.is-style-chips li {
	margin: 0;
}

.wp-block-categories.is-style-chips a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0 18px;
	border: 1px solid #A89F8B;
	border-radius: 999px;
	color: var(--bs-see);
	font-size: 15px;
	text-decoration: none;
}

.wp-block-categories.is-style-chips a:hover,
.wp-block-categories.is-style-chips .current-cat > a {
	background: var(--bs-see);
	border-color: var(--bs-see);
	color: var(--bs-leinen);
}

/* Suche */
.bs-suche {
	width: 100%;
	max-width: 400px;
	margin: 0 !important;
}

.bs-suche .wp-block-search__label {
	font-size: 14px;
	font-weight: 500;
	color: var(--bs-text-mittel);
	margin-bottom: 8px;
}

.bs-suche .wp-block-search__inside-wrapper {
	min-height: 52px;
	padding: 4px 4px 4px 20px;
	border: 1px solid #A89F8B;
	border-radius: 999px;
	background: var(--bs-papier);
}

.bs-suche .wp-block-search__input {
	border: none;
	background: transparent;
	font-family: inherit;
	font-size: 16px;
	color: var(--bs-see);
	padding: 0;
}

.bs-suche .wp-block-search__input:focus {
	outline: none;
}

.bs-suche .wp-block-search__inside-wrapper:focus-within {
	outline: 2px solid var(--bs-see);
	outline-offset: 2px;
}

.bs-suche .wp-block-search__button {
	margin: 0;
	width: 44px;
	height: 44px;
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: var(--bs-see);
	color: var(--bs-leinen);
}

.bs-suche .wp-block-search__button svg {
	fill: currentColor;
	min-width: 22px;
	min-height: 22px;
}

/* ---------- Seiten und Beiträge ---------- */

.bs-main--seite,
.bs-main--beitrag {
	padding-bottom: var(--bs-abschnitt);
}

.bs-seitentitel {
	margin-top: clamp(56px, 8vw, 104px) !important;
	margin-bottom: 32px;
}

.bs-seitenbild {
	margin-bottom: 40px;
}

.bs-artikel {
	padding-top: clamp(48px, 7vw, 96px);
}

.bs-artikel__kopf {
	text-align: center;
	margin-bottom: clamp(32px, 4vw, 56px);
}

.bs-artikel__kopf > * {
	margin: 0 auto;
}

.bs-artikel__kopf .bs-kategorie {
	margin-bottom: 18px;
}

.bs-artikel__kopf h1 {
	font-size: clamp(40px, 5.2vw, 64px);
	line-height: 1.06;
}

.bs-artikel__datum {
	margin-top: 18px !important;
	font-size: 15px;
	color: var(--bs-text-leise);
}

.bs-artikel__bild {
	margin-bottom: clamp(40px, 5vw, 64px);
}

.bs-artikel__bild img {
	border-radius: 6px;
	max-height: 640px;
	object-fit: cover;
}

/* Fließtext in Beiträgen und Seiten */
.bs-inhalt {
	font-size: 19px;
	line-height: 1.75;
}

.bs-inhalt > * + * {
	margin-top: 1.1em;
}

.bs-inhalt :is(h2, h3, h4, h5, h6):where(:not(.pt *)) {
	margin-top: 1.8em;
	margin-bottom: 0.4em;
}

.bs-klassisch :is(h2, h3) {
	clear: both;
}

.bs-inhalt :is(h2, h3, h4, h5, h6):where(:not(.pt *)) + * {
	margin-top: 0;
}

.bs-inhalt ul:where(:not(.pt *)),
.bs-inhalt ol:where(:not(.pt *)) {
	padding-left: 1.3em;
}

.bs-inhalt li + li:where(:not(.pt *)) {
	margin-top: 0.4em;
}

.bs-inhalt li:where(:not(.pt *))::marker {
	color: var(--bs-schilf);
}

.bs-inhalt img:where(:not(.pt *)) {
	border-radius: 6px;
}

.bs-inhalt figure:where(:not(.pt *)) {
	margin-top: 1.8em;
	margin-bottom: 1.8em;
}

.bs-inhalt figcaption:where(:not(.pt *)),
.bs-inhalt .wp-caption-text {
	margin-top: 10px;
	font-size: 15px;
	line-height: 1.5;
	text-align: center;
	color: var(--bs-text-leise);
}

.bs-inhalt blockquote:where(:not(.pt *)) {
	margin-left: 0;
	margin-right: 0;
	padding: 0 0 0 28px;
	border-left: 2px solid var(--bs-schilf);
}

.bs-inhalt hr:where(:not(.pt *)),
.bs-inhalt .wp-block-separator {
	border: none;
	border-top: 1px solid var(--bs-linie);
	margin: 2.4em auto;
}

/* Tabellen, z. B. Rezepte und Mischungen */
.bs-inhalt .wp-block-table table,
.bs-inhalt table:where(:not(.pt *)) {
	width: 100%;
	border-collapse: collapse;
	font-size: 16px;
	line-height: 1.5;
}

.bs-inhalt th:where(:not(.pt *)),
.bs-inhalt td:where(:not(.pt *)) {
	padding: 12px 14px;
	border: none;
	border-bottom: 1px solid var(--bs-linie);
	text-align: left;
	vertical-align: top;
}

.bs-inhalt thead th:where(:not(.pt *)) {
	border-bottom: 2px solid var(--bs-see);
	font-weight: 600;
}

.bs-inhalt .wp-block-table {
	overflow-x: auto;
}

/* Ältere Inhalte aus dem klassischen Editor und dem alten Theme */
.wp-block-post-content.bs-klassisch {
	box-sizing: content-box;
	max-width: var(--wp--style--global--content-size);
	padding-left: var(--bs-rand);
	padding-right: var(--bs-rand);
	margin-left: auto !important;
	margin-right: auto !important;
}

.wp-block-post-content.bs-klassisch > :not(.alignleft):not(.alignright) {
	max-width: none;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.bs-inhalt .alignleft {
	float: left;
	margin: 0.4em 1.6em 1em 0 !important;
	max-width: 50%;
}

.bs-inhalt .alignright {
	float: right;
	margin: 0.4em 0 1em 1.6em !important;
	max-width: 50%;
}

.bs-inhalt img.aligncenter,
.bs-inhalt .wp-caption.aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.bs-inhalt::after {
	content: "";
	display: table;
	clear: both;
}

.bs-inhalt .wp-caption {
	max-width: 100%;
}

.bs-inhalt .gallery {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
}

.bs-inhalt .gallery-item {
	margin: 0;
}

.bs-inhalt :is(.one-half, .one-third, .two-thirds, .one-fourth) {
	float: left;
	margin-left: 4%;
}

.bs-inhalt .one-half {
	width: 48%;
}

.bs-inhalt .one-third {
	width: 30.66%;
}

.bs-inhalt .two-thirds {
	width: 65.33%;
}

.bs-inhalt .one-fourth {
	width: 22%;
}

.bs-inhalt :is(.one-half, .one-third, .two-thirds, .one-fourth).first {
	clear: both;
	margin-left: 0;
}

@media (max-width: 600px) {
	.bs-inhalt {
		font-size: 18px;
	}

	.bs-inhalt .alignleft,
	.bs-inhalt .alignright,
	.bs-inhalt :is(.one-half, .one-third, .two-thirds, .one-fourth) {
		float: none;
		width: auto;
		max-width: 100%;
		margin: 1.2em 0;
	}

	.bs-inhalt .gallery {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* Hinweis-Kasten */
.wp-block-group.is-style-hinweis {
	padding: 24px 28px;
	border-radius: 8px;
	background: var(--bs-salbei);
	font-size: 16px;
	line-height: 1.6;
	color: var(--bs-text-mittel);
}

.wp-block-group.is-style-hinweis > * {
	margin: 0;
}

.wp-block-group.is-style-hinweis > * + * {
	margin-top: 0.8em;
}

.bs-artikel__hinweis {
	margin-top: clamp(40px, 5vw, 56px) !important;
}

.bs-autorin {
	margin-top: 32px !important;
	padding-top: 28px;
	border-top: 1px solid var(--bs-linie);
	font-size: 16px;
	line-height: 1.6;
	color: var(--bs-text-mittel);
}

.bs-autorin > * {
	margin: 0;
}

.bs-autorin__name {
	font-family: var(--bs-font-display);
	font-size: 24px;
	color: var(--bs-see);
	margin-bottom: 4px;
}

.bs-weitere h2 {
	margin-bottom: 40px;
	font-size: clamp(32px, 3.6vw, 44px);
}

.bs-main--beitrag .bs-weitere {
	margin-top: clamp(56px, 7vw, 96px);
	padding-bottom: 0;
}

/* Kommentare (nur sichtbar, wenn es welche gibt oder sie offen sind) */
.bs-kommentare {
	margin-top: 56px;
}

.bs-kommentare .wp-block-comment-template {
	padding: 0;
	list-style: none;
}

.bs-kommentare .wp-block-comment-template li {
	padding: 20px 0;
	border-top: 1px solid var(--bs-linie);
}

.bs-kommentare .wp-block-comment-author-name {
	font-weight: 600;
}

.bs-kommentare .wp-block-comment-date {
	font-size: 14px;
	color: var(--bs-text-leise);
}

.bs-kommentare :is(input[type="text"], input[type="email"], input[type="url"], textarea) {
	width: 100%;
	padding: 12px 14px;
	border: 1px solid #A89F8B;
	border-radius: 6px;
	background: var(--bs-papier);
	font: inherit;
	color: var(--bs-see);
}

/* ---------- Kontakt ---------- */

.bs-kontakt {
	padding-top: clamp(64px, 8vw, 112px);
	padding-bottom: clamp(64px, 8vw, 112px);
	margin-top: 0 !important;
}

.bs-kontakt h2 {
	margin-top: 0;
}

.bs-daten {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 32px 40px;
	margin: 0;
	font-size: 17px;
	line-height: 1.6;
}

.bs-daten dd {
	margin: 0;
}

.bs-daten__hinweis {
	display: inline-block;
	margin-top: 6px;
	font-size: 15px;
	color: var(--bs-text-mittel);
}

@media (max-width: 600px) {
	.bs-daten {
		grid-template-columns: minmax(0, 1fr);
		gap: 22px;
	}
}

.bs-knoepfe {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 32px;
}

.bs-knopf {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 54px;
	padding: 0 30px;
	border: 1px solid var(--bs-see);
	border-radius: 999px;
	background: var(--bs-see);
	color: var(--bs-leinen);
	font-size: 17px;
	font-weight: 500;
	text-decoration: none;
}

.bs-knopf:hover {
	background: var(--bs-see-tief);
	color: var(--bs-leinen);
}

.bs-knopf--umriss {
	background: transparent;
	color: var(--bs-see);
}

.bs-knopf--umriss:hover {
	background: var(--bs-see);
	color: var(--bs-leinen);
}

@media (max-width: 600px) {
	.bs-knopf {
		width: 100%;
	}
}

/* Buttons im Stil „Umriss“ */
.wp-block-button.is-style-umriss .wp-block-button__link {
	background: transparent;
	color: var(--bs-see);
	box-shadow: inset 0 0 0 1px var(--bs-see);
}

.wp-block-button.is-style-umriss .wp-block-button__link:hover {
	background: var(--bs-see);
	color: var(--bs-leinen);
}

/* ---------- Fußbereich ---------- */

.bs-footer {
	padding-top: clamp(56px, 7vw, 80px);
	padding-bottom: 40px;
	color: var(--bs-hell-auf-see);
}

.bs-footer a {
	color: var(--bs-leinen);
}

.bs-footer a:hover {
	color: #FFFFFF;
}

.bs-footer__oben {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-end;
	gap: 40px 64px;
}

.bs-footer__oben > * {
	margin: 0 !important;
}

.bs-footer__unten {
	margin-top: 40px !important;
	padding-top: 24px;
	border-top: 1px solid #2D4F57;
	font-size: 14px;
	color: #A9B8B3;
}

.bs-footer__unten p {
	margin: 0;
}

.bs-rechtliches {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 28px;
	font-size: 16px;
}

.bs-rechtliches a {
	padding: 10px 0;
}

/* Newsletter (MailPoet) */
.bs-newsletter {
	max-width: 580px;
}

.bs-newsletter__titel {
	margin: 0 0 8px;
	font-family: var(--bs-font-display);
	font-size: 30px;
	line-height: 1.15;
	color: var(--bs-leinen);
}

.bs-newsletter__text {
	margin: 0 0 16px;
	font-size: 15px;
	line-height: 1.55;
}

.bs-newsletter--hinweis {
	padding: 16px 20px;
	border: 1px dashed #56736E;
	border-radius: 8px;
	font-size: 14px;
}

.bs-newsletter .mailpoet_form {
	padding: 0 !important;
}

.bs-newsletter :is(.mailpoet_text, .mailpoet_email, input[type="email"], input[type="text"]) {
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
	min-height: 52px;
	padding: 0 18px !important;
	border: 1px solid #4B6268 !important;
	border-radius: 999px !important;
	background: var(--bs-see-tief) !important;
	color: var(--bs-leinen) !important;
	font-family: inherit !important;
	font-size: 16px !important;
}

.bs-newsletter :is(.mailpoet_submit, input[type="submit"]) {
	min-height: 52px;
	padding: 0 26px !important;
	border: none !important;
	border-radius: 999px !important;
	background: var(--bs-leinen) !important;
	color: var(--bs-see) !important;
	font-family: inherit !important;
	font-size: 16px !important;
	font-weight: 500 !important;
	cursor: pointer;
}

.bs-newsletter :is(label, .mailpoet_form_paragraph) {
	color: var(--bs-hell-auf-see);
}

/* ---------- Video-Platzhalter (vor der Zustimmung) ---------- */

.bs-video {
	position: relative;
	display: flex;
	width: 100%;
	aspect-ratio: 16 / 9;
	border-radius: 8px;
	background: var(--bs-see);
	color: var(--bs-leinen);
}

.bs-video:not(.is-loaded) {
	aspect-ratio: auto;
	min-height: 360px;
}

.bs-video__inner {
	flex-grow: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 24px;
	text-align: center;
}

.bs-video__inner p {
	margin: 0;
	max-width: 460px;
}

.bs-video__title {
	font-family: var(--bs-font-display);
	font-size: 26px;
	line-height: 1.2;
}

.bs-video__text {
	font-size: 14px;
	line-height: 1.5;
	color: var(--bs-hell-auf-see);
}

.bs-video__text a {
	color: var(--bs-leinen);
}

.bs-video__load {
	margin-top: 8px;
	min-height: 48px;
	padding: 0 26px;
	border: none;
	border-radius: 999px;
	background: var(--bs-leinen);
	color: var(--bs-see);
	font-family: inherit;
	font-size: 16px;
	font-weight: 500;
	cursor: pointer;
}

.bs-video__icon {
	flex-shrink: 0;
}

.bs-video iframe {
	border-radius: 8px;
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

.wp-block-embed__wrapper:has(.bs-video)::before {
	display: none;
}

@media (max-width: 600px) {
	.bs-video:not(.is-loaded) {
		min-height: 0;
	}

	.bs-video__inner {
		padding: 32px 20px;
	}

	.bs-video__icon {
		width: 40px;
		height: 40px;
	}

	.bs-video__title {
		font-size: 22px;
	}
}

/* ---------- Cookie-Hinweis ---------- */

.bs-consent {
	position: fixed;
	left: 32px;
	bottom: 32px;
	z-index: 1000;
	width: 540px;
	max-width: calc(100vw - 32px);
}

.bs-consent[hidden] {
	display: none;
}

.bs-consent__card {
	box-sizing: border-box;
	max-height: calc(100vh - 64px);
	overflow-y: auto;
	padding: 28px;
	border-radius: 16px;
	background: var(--bs-papier);
	border-top: 4px solid var(--bs-schilf);
	box-shadow: 0 24px 60px rgba(22, 41, 46, 0.3);
	font-family: var(--bs-font-text);
	color: var(--bs-see);
}

.bs-consent__main,
.bs-consent__settings {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.bs-consent__main[hidden],
.bs-consent__settings[hidden] {
	display: none;
}

.bs-consent__title {
	margin: 0;
	font-family: var(--bs-font-display);
	font-weight: 500;
	font-size: 28px;
	line-height: 1.1;
	color: var(--bs-see);
}

.bs-consent__title:focus {
	outline: none;
}

.bs-consent__text {
	margin: 0;
	font-size: 15px;
	line-height: 1.55;
	color: var(--bs-text-mittel);
}

.bs-consent__buttons {
	display: flex;
	gap: 12px;
}

.bs-consent__buttons--stack {
	flex-direction: column;
	gap: 10px;
}

.bs-consent__btn {
	flex: 1 1 0;
	min-width: 0;
	min-height: 50px;
	padding: 0 14px;
	border: 1px solid var(--bs-see);
	border-radius: 999px;
	background: var(--bs-see);
	color: var(--bs-leinen);
	font-family: inherit;
	font-weight: 500;
	font-size: 16px;
	cursor: pointer;
}

.bs-consent__btn:hover {
	background: var(--bs-see-tief);
	border-color: var(--bs-see-tief);
}

.bs-consent__links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 20px;
	font-size: 15px;
}

.bs-consent__links a {
	color: var(--bs-text-mittel);
	padding: 8px 0;
}

.bs-consent__textbtn {
	padding: 8px 0;
	border: none;
	background: none;
	color: var(--bs-see);
	font-family: inherit;
	font-weight: 600;
	font-size: 15px;
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
}

.bs-consent__options {
	display: flex;
	flex-direction: column;
}

.bs-consent__option {
	display: flex;
	gap: 14px;
	align-items: flex-start;
	padding: 14px 0;
	border-top: 1px solid var(--bs-linie);
	cursor: pointer;
}

.bs-consent__option input {
	flex-shrink: 0;
	width: 22px;
	height: 22px;
	margin: 2px 0 0;
	accent-color: var(--bs-see);
}

.bs-consent__option span {
	display: flex;
	flex-direction: column;
	gap: 4px;
	font-size: 14px;
	line-height: 1.5;
	color: var(--bs-text-mittel);
}

.bs-consent__option strong {
	font-size: 16px;
	color: var(--bs-see);
}

@media (max-width: 781px) {
	.bs-consent {
		left: 0;
		right: 0;
		bottom: 0;
		width: auto;
		max-width: none;
	}

	.bs-consent__card {
		max-height: 85vh;
		padding: 24px 20px 28px;
		border-radius: 20px 20px 0 0;
	}

	.bs-consent__buttons {
		flex-direction: column;
		gap: 10px;
	}

	.bs-consent__btn {
		flex: none;
		width: 100%;
		min-height: 52px;
	}
}

/* ---------- Weniger Bewegung ---------- */

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}
}

/* Kein Abstand zwischen Kopf, Inhalt und Fuß */
.wp-site-blocks > * {
	margin-block-start: 0;
	margin-block-end: 0;
}

/* ==========================================================================
   Unterseiten
   ========================================================================== */

/* ---------- Seitenkopf ---------- */

.bs-seitenkopf {
	padding-top: clamp(48px, 7vw, 96px);
	margin-bottom: clamp(32px, 4vw, 56px);
}

.bs-seitenkopf > * {
	margin-top: 0;
	margin-bottom: 0;
}

.bs-seitenkopf .bs-seitentitel,
.bs-profilkopf .bs-seitentitel {
	margin: 18px 0 0 !important;
	font-size: var(--wp--preset--font-size--titel);
	line-height: 1.05;
}

.bs-seitenkopf__intro {
	margin-top: 22px !important;
	font-size: var(--wp--preset--font-size--gross);
	line-height: 1.65;
	color: var(--bs-text-mittel);
}

.bs-seitenkopf__intro p {
	margin: 0;
}

.bs-seitenbild {
	margin-bottom: clamp(40px, 5vw, 64px);
}

.bs-seitenbild img {
	border-radius: 6px;
	max-height: 560px;
	object-fit: cover;
}

/* Brotkrumen */
.bs-brotkrumen ol {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 0;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 14px;
	color: var(--bs-text-leise);
}

.bs-brotkrumen li + li::before {
	content: "›";
	margin: 0 10px;
	color: var(--bs-text-leise);
}

.bs-brotkrumen a {
	color: var(--bs-text-leise);
	text-decoration: none;
}

.bs-brotkrumen a:hover {
	color: var(--bs-see);
	text-decoration: underline;
}

.bs-brotkrumen [aria-current] {
	color: var(--bs-see);
}

.bs-brotkrumen--editor {
	font-size: 14px;
	color: var(--bs-text-leise);
}

/* ---------- Seitentyp „Über mich“ ---------- */

.bs-profilkopf {
	display: grid;
	grid-template-columns: minmax(0, 440px) minmax(0, 1fr);
	gap: 40px clamp(48px, 7vw, 104px);
	align-items: center;
	padding-top: clamp(48px, 7vw, 96px);
	padding-bottom: clamp(40px, 5vw, 72px);
}

.bs-profilkopf > * {
	margin: 0 !important;
}

.bs-profilkopf:not(:has(.bs-profilkopf__bild)) {
	grid-template-columns: minmax(0, 1fr);
	max-width: var(--wp--style--global--content-size);
}

.bs-profilkopf__bild img {
	border-radius: 999px 999px 8px 8px / 380px 380px 8px 8px;
}

.bs-profilkopf__text > * {
	margin-top: 0;
}

@media (max-width: 800px) {
	.bs-profilkopf {
		grid-template-columns: minmax(0, 1fr);
	}

	.bs-profilkopf__bild {
		max-width: 360px;
	}
}

/* ---------- Seitentyp „Praxis & Termine“ ---------- */

.bs-service {
	display: grid;
	grid-template-columns: minmax(0, 7fr) minmax(0, 4fr);
	gap: 48px clamp(40px, 6vw, 96px);
	align-items: start;
	padding-bottom: var(--bs-abschnitt);
}

.bs-service > * {
	margin: 0 !important;
}

.bs-service__inhalt > :first-child {
	margin-top: 0;
}

.bs-service__karte {
	position: sticky;
	top: calc(var(--bs-kopf-sticky) + 24px);
	padding: 32px;
	border-radius: 8px;
}

.bs-service__karte .bs-daten {
	grid-template-columns: minmax(0, 1fr);
	gap: 20px;
	font-size: 16px;
}

.bs-service__titel {
	margin: 0 0 20px;
	font-family: var(--bs-font-display);
	font-size: 28px;
	line-height: 1.1;
}

.bs-service__karte .bs-knoepfe {
	flex-direction: column;
	margin-top: 24px;
}

.bs-service__karte .bs-knopf {
	width: 100%;
}

@media (max-width: 900px) {
	.bs-service {
		grid-template-columns: minmax(0, 1fr);
	}

	.bs-service__karte {
		position: static;
	}
}

/* ---------- Seitentyp „Rechtliches“ ---------- */

.bs-inhalt--schlicht {
	font-size: 17px;
	padding-bottom: var(--bs-abschnitt);
}

.bs-inhalt--schlicht :is(h2, h3) {
	font-size: 26px;
}

/* ---------- Kontakt-Aufruf am Seitenende ---------- */

.bs-aufruf {
	padding-top: clamp(64px, 8vw, 104px);
	padding-bottom: clamp(64px, 8vw, 104px);
}

.bs-aufruf h2 {
	margin-top: 0;
}

.bs-aufruf .bs-knoepfe {
	margin-top: 28px;
}

.bs-daten--kurz {
	grid-template-columns: minmax(0, 1fr);
	align-self: center;
}

/* ---------- Überschriften und Text auf Unterseiten ---------- */

.bs-inhalt h2:where(:not(.pt *)) {
	font-size: clamp(30px, 3.4vw, 40px);
	line-height: 1.12;
}

.bs-inhalt h3:where(:not(.pt *)) {
	font-size: clamp(24px, 2.4vw, 30px);
	font-weight: 500;
}

.bs-inhalt > .alignwide {
	margin-top: 2.4em;
	margin-bottom: 2.4em;
}

/* Leitsatz (Zitat groß und mittig) */
.wp-block-quote.is-style-leitsatz {
	margin: 2em auto;
	padding: 0;
	border: none;
	text-align: center;
	font-size: clamp(26px, 3vw, 36px);
	line-height: 1.3;
	color: var(--bs-see);
}

.wp-block-quote.is-style-leitsatz p {
	margin: 0;
}

.wp-block-quote.is-style-leitsatz cite {
	display: block;
	margin-top: 16px;
	font-family: var(--bs-font-text);
	font-size: 14px;
	font-style: normal;
	letter-spacing: 0.04em;
	color: var(--bs-text-leise);
}

.wp-block-quote.is-style-leitsatz::before {
	content: "";
	display: block;
	width: 48px;
	height: 1px;
	margin: 0 auto 28px;
	background: var(--bs-schilf);
}

/* Zeitleiste: Jahr fett am Zeilenanfang */
.wp-block-list.is-style-zeitleiste {
	list-style: none;
	padding: 0;
	border-top: 1px solid var(--bs-linie);
}

.wp-block-list.is-style-zeitleiste li {
	display: grid;
	grid-template-columns: 120px minmax(0, 1fr);
	gap: 4px 24px;
	margin: 0;
	padding: 14px 0;
	border-bottom: 1px solid var(--bs-linie);
	font-size: 17px;
	line-height: 1.55;
}

.wp-block-list.is-style-zeitleiste li > strong:first-child {
	font-family: var(--bs-font-display);
	font-size: 21px;
	font-weight: 500;
	line-height: 1.3;
	color: var(--bs-schilf);
}

@media (max-width: 600px) {
	.wp-block-list.is-style-zeitleiste li {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* Liste in zwei Spalten */
.wp-block-list.is-style-zweispaltig {
	columns: 2;
	column-gap: 48px;
}

.wp-block-list.is-style-zweispaltig li {
	break-inside: avoid;
}

@media (max-width: 600px) {
	.wp-block-list.is-style-zweispaltig {
		columns: 1;
	}
}

/* Schritte mit großen Zahlen */
.wp-block-list.is-style-schritte {
	list-style: none;
	padding: 0;
	counter-reset: schritt;
}

.wp-block-list.is-style-schritte li {
	position: relative;
	margin: 0;
	padding: 18px 0 18px 64px;
	border-top: 1px solid var(--bs-linie);
	counter-increment: schritt;
}

.wp-block-list.is-style-schritte li::before {
	content: counter(schritt);
	position: absolute;
	left: 0;
	top: 8px;
	font-family: var(--bs-font-display);
	font-size: 40px;
	line-height: 1;
	color: var(--bs-schilf);
}

/* Karte, z. B. für Kurse und Workshops */
.wp-block-group.is-style-karte {
	padding: clamp(24px, 3vw, 36px);
	border: 1px solid var(--bs-linie);
	border-radius: 8px;
	background: var(--bs-papier);
}

.wp-block-group.is-style-karte > * {
	margin-top: 0;
	margin-bottom: 0;
}

.wp-block-group.is-style-karte > * + * {
	margin-top: 14px;
}

.wp-block-group.is-style-karte h3 {
	margin-top: 6px;
	font-size: clamp(24px, 2.4vw, 30px);
}

.bs-kurs__meta {
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.04em;
	color: var(--bs-schilf);
}

.bs-kurs__status {
	display: inline-block;
	padding: 4px 12px;
	border-radius: 999px;
	background: var(--bs-salbei);
	font-size: 13px;
	font-weight: 600;
	color: var(--bs-see);
}

.bs-karten-liste {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
}

.bs-karten-liste > * {
	margin: 0 !important;
}

@media (max-width: 800px) {
	.bs-karten-liste {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* Bild und Text nebeneinander */
.bs-inhalt .wp-block-media-text {
	gap: 0;
}

.bs-inhalt .wp-block-media-text__media img {
	border-radius: 6px;
}

.bs-inhalt .wp-block-media-text .wp-block-media-text__content {
	padding: 0 0 0 clamp(24px, 4vw, 56px);
}

.bs-inhalt .wp-block-media-text.has-media-on-the-right .wp-block-media-text__content {
	padding: 0 clamp(24px, 4vw, 56px) 0 0;
}

.bs-inhalt .wp-block-media-text__content > :first-child {
	margin-top: 0;
}

@media (max-width: 600px) {
	.bs-inhalt .wp-block-media-text .wp-block-media-text__content,
	.bs-inhalt .wp-block-media-text.has-media-on-the-right .wp-block-media-text__content {
		padding: 20px 0 0;
	}
}

/* Passende Beiträge */
.bs-beitraege {
	margin-top: clamp(56px, 7vw, 96px) !important;
	padding-top: clamp(40px, 5vw, 64px);
	border-top: 1px solid var(--bs-linie);
}

.bs-beitraege__kopf {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: baseline;
	gap: 12px 32px;
	margin-bottom: 32px;
}

.bs-beitraege__titel {
	margin: 0 !important;
	font-size: clamp(30px, 3.4vw, 40px);
}

.bs-beitraege__mehr {
	font-size: 16px;
	font-weight: 500;
}

.bs-beitraege__liste {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 40px 32px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.bs-beitraege__karte {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin: 0 !important;
}

.bs-beitraege__bild {
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	border-radius: 6px;
	background: var(--bs-salbei);
	color: var(--bs-schilf);
}

.bs-beitraege__bild img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 6px;
}

.bs-beitraege__link {
	font-family: var(--bs-font-display);
	font-size: 25px;
	line-height: 1.2;
	color: var(--bs-see);
	text-decoration: none;
}

.bs-beitraege__link:hover {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 4px;
}

.bs-beitraege__datum {
	font-size: 14px;
	color: var(--bs-text-leise);
}

@media (max-width: 800px) {
	.bs-beitraege__liste {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* ---------- Untermenüs im Kopfbereich ---------- */

.bs-nav .wp-block-navigation-submenu__toggle {
	padding: 10px 0;
	color: inherit;
	font: inherit;
	letter-spacing: inherit;
}

.bs-nav .wp-block-navigation__submenu-icon {
	margin-left: 6px;
}

.bs-nav .wp-block-navigation__submenu-container {
	min-width: 260px !important;
	padding: 10px 0 !important;
	border: none !important;
	border-radius: 8px;
	background: var(--bs-leinen) !important;
	color: var(--bs-see) !important;
	box-shadow: 0 18px 40px rgba(22, 41, 46, 0.22);
	letter-spacing: 0;
}

.bs-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	display: block;
	padding: 10px 22px !important;
	border: none;
	color: var(--bs-see);
	font-weight: 500;
}

@media (hover: hover) {
	.bs-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
		background: var(--bs-salbei);
		text-decoration: none;
	}
}

/* Handy-Menü: Untermenüs offen und eingerückt */
.bs-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
	min-width: 0 !important;
	padding: 0 0 12px 18px !important;
	background: transparent !important;
	color: var(--bs-leinen) !important;
	box-shadow: none;
}

.bs-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: 6px 0 !important;
	font-family: var(--bs-font-text);
	font-size: 17px;
	color: var(--bs-hell-auf-see);
}

.bs-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu__toggle {
	font-family: var(--bs-font-display);
	font-size: 34px;
	letter-spacing: 0;
	padding: 6px 0;
}

.bs-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	overflow-y: auto;
}

.bs-karten-liste--drei {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 900px) {
	.bs-karten-liste--drei {
		grid-template-columns: minmax(0, 1fr);
	}
}

.bs-inhalt .is-style-karte .wp-block-list {
	margin: 0;
	font-size: 16px;
}

.bs-pflanzen--4 {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	max-width: 720px;
	margin-left: auto !important;
	margin-right: auto !important;
}

.bs-inhalt > .bs-pflanzen {
	margin-top: 2em;
	margin-bottom: 2em;
}

.bs-inhalt > .bs-behandlungen--seite {
	margin-top: 1em;
	margin-bottom: clamp(56px, 7vw, 96px);
	padding-bottom: clamp(40px, 5vw, 64px);
	border-bottom: 1px solid var(--bs-linie);
}

.bs-inhalt > .wp-block-media-text.alignwide {
	margin-top: clamp(48px, 6vw, 80px);
	margin-bottom: clamp(48px, 6vw, 80px);
	grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
}

.bs-inhalt > .wp-block-media-text.alignwide.has-media-on-the-right {
	grid-template-columns: minmax(0, 6fr) minmax(0, 5fr);
}

.bs-inhalt .wp-block-media-text__media img {
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

@media (max-width: 600px) {
	.bs-inhalt > .wp-block-media-text.alignwide,
	.bs-inhalt > .wp-block-media-text.alignwide.has-media-on-the-right {
		grid-template-columns: minmax(0, 1fr);
	}
}

.bs-seitenkopf.alignwide > * {
	max-width: var(--wp--style--global--content-size);
}

/* Handy-Menü linksbündig, auch in den Untermenüs */
.bs-nav .wp-block-navigation__responsive-container.is-menu-open {
	--navigation-layout-justification-setting: flex-start;
	--navigation-layout-justify: flex-start;
	--navigation-layout-align: flex-start;
}

.bs-nav .is-menu-open :is(.wp-block-navigation__responsive-container-content, .wp-block-navigation__container, .wp-block-navigation-item, .wp-block-navigation__submenu-container) {
	align-items: flex-start !important;
	text-align: left !important;
}

/* ---------- Termin anfragen (Plugin „Praxis-Termine“) ---------- */

/* Knopf in Kopf und Fuß: hell auf See-Blau */
.bs-termin-knopf {
	margin: 0;
}

.bs-header__termin .bs-knopf,
.bs-footer__termin .bs-knopf {
	min-height: 46px;
	padding: 0 22px;
	border-color: var(--bs-leinen);
	background: var(--bs-leinen);
	color: var(--bs-see);
	font-size: 15px;
	white-space: nowrap;
}

.bs-header__termin .bs-knopf:hover,
.bs-footer__termin .bs-knopf:hover {
	background: var(--bs-salbei);
	border-color: var(--bs-salbei);
	color: var(--bs-see);
}

.bs-header__termin {
	flex-shrink: 0;
}

/* Im Menü nur auf dem Handy, dort fehlt der Knopf im Kopf */
.bs-nav .bs-nav__termin {
	display: none;
}

@media (max-width: 599px) {
	.bs-header__termin {
		display: none;
	}

	.bs-nav .wp-block-navigation__responsive-container.is-menu-open .bs-nav__termin {
		display: block;
	}
}

.bs-footer__unten {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px 32px;
}

/* Seite mit dem Kalender: ruhig, viel Luft */
.bs-main--termin {
	padding-top: clamp(32px, 4vw, 48px);
	padding-bottom: clamp(64px, 9vw, 120px);
}

/* Auf der Kalender-Seite selbst keine Knöpfe zu ihr */
.page-template-page-termin :is(.bs-header__termin, .bs-footer__termin, .bs-nav__termin) {
	display: none !important;
}

.bs-seitenkopf--termin {
	margin-bottom: 28px;
}

.bs-inhalt--termin {
	font-size: 18px;
	line-height: 1.7;
}

.bs-inhalt--termin .bs-termin__hinweis {
	box-sizing: border-box;
	padding: 16px 20px;
	border-left: 3px solid var(--bs-schilf);
	border-radius: 0 6px 6px 0;
	background: var(--bs-salbei);
	font-size: 16px;
	line-height: 1.6;
}

.bs-inhalt--termin > .wp-block-shortcode,
.bs-inhalt--termin > .pt {
	margin-top: 44px;
}

@media (max-width: 599px) {
	.bs-main--termin {
		--wp--style--root--padding-left: 20px;
		--wp--style--root--padding-right: 20px;
	}
}

/* ==========================================================================
   Kurse und Workshops
   ========================================================================== */

.bs-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
}

.bs-chip {
	display: inline-flex;
	align-items: center;
	min-height: 30px;
	padding: 2px 12px;
	border-radius: 999px;
	background: var(--bs-salbei);
	color: var(--bs-see);
	font-family: var(--bs-font-text);
	font-size: 13px;
	font-weight: 600;
	line-height: 1.3;
}

.bs-chip--frei {
	background: #F1E3C6;
	color: #5E3F0E;
}

.bs-chip--voll {
	background: #EFE9E7;
	color: var(--bs-text-leise);
}

.bs-chip--leise {
	background: transparent;
	border: 1px solid var(--bs-linie);
	color: var(--bs-text-mittel);
}

.bs-mehr {
	font-weight: 500;
	color: var(--bs-honig);
}

.bs-angebote {
	display: flex;
	flex-direction: column;
	gap: 28px;
}

.bs-angebote__kopf {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 12px 48px;
}

.bs-angebote__kopf .bs-eyebrow {
	margin-bottom: 8px;
}

.bs-angebote__titel {
	margin: 0;
	font-size: clamp(34px, 3.6vw, 48px);
}

.bs-angebote__intro {
	max-width: 460px;
	margin: 0;
	font-size: 16px;
	line-height: 1.6;
	color: var(--bs-text-mittel);
}

.bs-angebote__leer {
	margin: 0;
	padding: 24px 28px;
	border: 1px dashed var(--bs-linie);
	border-radius: 10px;
	color: var(--bs-text-mittel);
}

.bs-angebot-bild {
	overflow: hidden;
	background: var(--bs-salbei);
}

.bs-angebot-bild img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.bs-angebot-bild--leer {
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--bs-schilf);
}

/* Nächster Workshop groß */
.bs-workshop-gross {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
	overflow: hidden;
	border: 1px solid var(--bs-linie);
	border-radius: 10px;
	background: var(--bs-papier);
}

.bs-workshop-gross__bild {
	min-height: 360px;
}

.bs-workshop-gross__text {
	display: flex;
	flex-direction: column;
	gap: 16px;
	padding: clamp(28px, 3.4vw, 48px);
}

.bs-workshop-gross__titel {
	margin: 0;
	font-size: clamp(30px, 3vw, 42px);
	line-height: 1.05;
}

.bs-workshop-gross__titel a,
.bs-workshop-zeile__titel a,
.bs-kurskarte__titel a {
	color: inherit;
	text-decoration: none;
}

.bs-workshop-gross__titel a::after,
.bs-workshop-zeile__titel a::after {
	content: "";
	position: absolute;
	inset: 0;
}

.bs-workshop-gross,
.bs-workshop-zeile {
	position: relative;
}

.bs-workshop-gross:hover .bs-workshop-gross__titel,
.bs-workshop-zeile:hover .bs-workshop-zeile__titel,
.bs-kurskarte__titel a:hover {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.12em;
}

.bs-workshop-gross__auszug {
	margin: 0;
	font-size: 17px;
	line-height: 1.6;
	color: var(--bs-text-mittel);
}

.bs-fakten-zeile {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 32px;
	margin: 8px 0 0;
	font-size: 15px;
}

.bs-fakten-zeile dd,
.bs-fakten__liste dd {
	margin: 0;
}

.bs-fakten-zeile .bs-label {
	margin-bottom: 2px;
}

/* Weitere Workshops als Zeile */
.bs-workshop-zeile {
	display: grid;
	grid-template-columns: 110px minmax(0, 1fr) auto;
	gap: 32px;
	align-items: center;
	padding: 24px 28px;
	border: 1px solid var(--bs-linie);
	border-radius: 10px;
}

.bs-datum {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 92px;
	padding: 8px;
	border-radius: 8px;
	background: var(--bs-see);
	color: var(--bs-leinen);
	text-align: center;
}

.bs-datum__tag {
	font-family: var(--bs-font-display);
	font-size: 40px;
	line-height: 1;
}

.bs-datum__monat {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.1em;
	line-height: 1.35;
	text-transform: uppercase;
	color: var(--bs-hell-auf-see);
}

.bs-workshop-zeile__titel {
	margin: 0 0 6px;
	font-size: clamp(24px, 2.2vw, 30px);
	line-height: 1.12;
}

.bs-workshop-zeile__meta {
	margin: 0;
	font-size: 15px;
	color: var(--bs-text-mittel);
}

/* Wochenplan */
.bs-woche {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	overflow: hidden;
	border-radius: 10px;
	background: var(--bs-papier);
}

.bs-woche__tag {
	display: flex;
	flex-direction: column;
	gap: 10px;
	min-height: 180px;
	padding: 18px 16px 20px;
}

.bs-woche__tag + .bs-woche__tag {
	border-left: 1px solid var(--bs-linie);
}

.bs-woche__name {
	margin: 0 0 4px;
}

.bs-woche__kurs {
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 10px 12px;
	border-radius: 6px;
	background: var(--bs-salbei);
	color: var(--bs-see);
	font-size: 15px;
	line-height: 1.35;
	text-decoration: none;
}

.bs-woche__kurs:hover {
	background: #D5DFD3;
	color: var(--bs-see);
}

.bs-woche__kurs.is-voll {
	background: #EFE9E7;
	color: var(--bs-text-mittel);
}

.bs-woche__zeit {
	font-weight: 600;
	font-variant-numeric: tabular-nums;
}

.bs-woche__info {
	font-size: 13px;
	color: var(--bs-text-mittel);
}

.bs-kurskarten {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.bs-kurskarte {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin: 0;
	padding: 26px;
	border-radius: 10px;
	background: var(--bs-papier);
}

.bs-kurskarte__titel {
	margin: 0;
	font-size: 28px;
	line-height: 1.1;
}

.bs-kurskarte__wann {
	margin: 0;
	font-size: 14px;
	font-weight: 600;
	color: var(--bs-schilf);
}

.bs-kurskarte__auszug {
	margin: 0;
	font-size: 15px;
	line-height: 1.55;
	color: var(--bs-text-mittel);
}

.bs-kurskarte__fuss {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin: auto 0 0;
	padding-top: 8px;
}

.bs-kurskarte__fuss .bs-label {
	margin: 0;
}

/* Auf Anfrage */
.bs-anfrage {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: clamp(32px, 6vw, 80px);
	align-items: center;
}

.bs-anfrage--rechts .bs-anfrage__bild {
	order: 2;
}

.bs-anfrage__bild {
	aspect-ratio: 4 / 5;
	max-height: 460px;
	border-radius: 999px 999px 8px 8px;
}

.bs-anfrage__text {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.bs-anfrage__text .bs-eyebrow {
	margin: 0;
}

.bs-anfrage__titel {
	margin: 0;
	font-size: clamp(34px, 3.6vw, 48px);
	line-height: 1.05;
}

.bs-anfrage__auszug {
	margin: 0;
	font-size: 18px;
	line-height: 1.65;
}

.bs-anfrage__fuss {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px 20px;
}

/* Rückblick */
.bs-rueckblick {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.bs-rueckblick__karte {
	margin: 0;
}

.bs-rueckblick__karte a {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 10px;
	color: var(--bs-see);
	text-decoration: none;
}

.bs-rueckblick__bild {
	aspect-ratio: 4 / 5;
	border-radius: 8px;
}

.bs-rueckblick__fotos {
	position: absolute;
	top: 12px;
	left: 12px;
	padding: 3px 10px;
	border-radius: 4px;
	background: var(--bs-leinen);
	font-size: 12px;
	font-weight: 600;
}

.bs-rueckblick__karte .bs-label {
	margin: 0;
}

.bs-rueckblick__titel {
	font-family: var(--bs-font-display);
	font-size: 26px;
	line-height: 1.15;
}

.bs-rueckblick__karte a:hover .bs-rueckblick__titel {
	text-decoration: underline;
	text-decoration-thickness: 1px;
}

/* Weitere */
.bs-weitere-angebote {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.bs-weitere-angebote li {
	margin: 0;
}

.bs-weitere-angebote a {
	display: flex;
	flex-direction: column;
	gap: 6px;
	height: 100%;
	box-sizing: border-box;
	padding: 22px 24px;
	border: 1px solid var(--bs-linie);
	border-radius: 10px;
	color: var(--bs-see);
	text-decoration: none;
}

.bs-weitere-angebote a:hover {
	border-color: var(--bs-see);
}

.bs-weitere-angebote .bs-label {
	margin: 0;
}

.bs-weitere-angebote__titel {
	font-family: var(--bs-font-display);
	font-size: 26px;
	line-height: 1.15;
}

/* Seite eines Angebots */
.bs-main--angebot {
	padding-top: clamp(24px, 3vw, 40px);
}

.bs-angebot {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 380px;
	gap: clamp(40px, 5vw, 72px);
	align-items: start;
	padding-bottom: clamp(56px, 7vw, 96px);
}

.bs-angebot__haupt {
	display: flex;
	flex-direction: column;
	gap: 22px;
	min-width: 0;
}

.bs-angebot__haupt > * {
	margin: 0;
}

.bs-angebot__titel {
	font-size: clamp(44px, 5.4vw, 76px);
	line-height: 1;
}

.bs-angebot__intro p {
	margin: 0;
	font-size: clamp(18px, 1.6vw, 21px);
	line-height: 1.6;
	color: var(--bs-text-mittel);
}

.bs-angebot__bild img {
	display: block;
	width: 100%;
	max-height: 480px;
	object-fit: cover;
	border-radius: 10px;
}

.bs-angebot__inhalt {
	margin-top: 16px !important;
}

.bs-angebot__seite {
	position: sticky;
	top: calc(var(--bs-kopf-sticky) + 24px);
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.bs-fakten {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 28px 30px;
	border: 1px solid var(--bs-linie);
	border-radius: 12px;
	background: var(--bs-papier);
}

.bs-fakten .bs-eyebrow {
	margin: 0 0 4px;
}

.bs-fakten__liste {
	margin: 0 0 16px;
}

.bs-fakten__liste > div {
	padding: 14px 0;
	border-bottom: 1px solid var(--bs-linie);
	font-size: 16px;
	line-height: 1.5;
}

.bs-fakten__liste > div:last-child {
	border-bottom: 0;
}

.bs-fakten__liste .bs-label {
	margin-bottom: 2px;
}

.bs-fakten__wann dd {
	font-family: var(--bs-font-display);
	font-size: 26px;
	line-height: 1.15;
}

.bs-plaetze {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	margin: 4px 0 6px;
}

.bs-plaetze i {
	width: 14px;
	height: 14px;
	box-sizing: border-box;
	border: 1px solid var(--bs-see);
	border-radius: 50%;
}

.bs-plaetze i.is-belegt {
	background: var(--bs-see);
}

.bs-fakten .bs-knopf {
	width: 100%;
}

.bs-fakten__hinweis {
	margin: 0 0 12px;
	color: var(--bs-text-mittel);
}

.bs-fakten__ics {
	margin-top: 10px;
	font-size: 14px;
	text-align: center;
}

.bs-hinweise {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.bs-hinweise__kasten {
	padding: 22px 26px;
	border: 1px solid var(--bs-linie);
	border-radius: 10px;
}

.bs-hinweise__kasten p {
	margin: 0;
	font-size: 16px;
	line-height: 1.65;
}

.bs-hinweise__kasten .bs-label {
	margin-bottom: 8px;
	font-size: 12px;
}

/* Anmeldung */
.bs-anmeldung {
	padding: clamp(56px, 7vw, 88px) var(--bs-rand);
	background: var(--bs-see);
	color: var(--bs-leinen);
}

.bs-anmeldung__inner {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: clamp(32px, 5vw, 72px);
	align-items: center;
	max-width: var(--wp--style--global--wide-size);
	margin: 0 auto;
}

.bs-anmeldung .bs-eyebrow {
	color: #E2C48E;
}

.bs-anmeldung__titel {
	margin: 0 0 14px;
	color: var(--bs-leinen);
	font-size: clamp(36px, 4vw, 52px);
}

.bs-anmeldung__text p:last-child {
	margin: 0;
	color: var(--bs-hell-auf-see);
	font-size: 17px;
	line-height: 1.65;
}

.bs-anmeldung__wege {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.bs-anmeldung__wege li {
	margin: 0;
}

.bs-anmeldung__wege a {
	display: flex;
	flex-direction: column;
	gap: 6px;
	height: 100%;
	box-sizing: border-box;
	padding: 24px;
	border-radius: 10px;
	background: var(--bs-leinen);
	color: var(--bs-see);
	text-decoration: none;
}

.bs-anmeldung__wege a:hover {
	background: var(--bs-salbei);
}

.bs-anmeldung__wege .bs-label {
	margin: 0;
}

.bs-anmeldung__weg {
	font-family: var(--bs-font-display);
	font-size: 26px;
	line-height: 1.15;
}

.bs-anmeldung__info {
	font-size: 14px;
	color: var(--bs-text-mittel);
}

.bs-main--angebot > .bs-angebote--weitere {
	padding-top: clamp(56px, 7vw, 88px);
	padding-bottom: clamp(56px, 7vw, 96px);
}

/* Liste als Kacheln (Blockstil) */
.wp-block-list.is-style-kacheln {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
	gap: 14px;
	padding: 0;
	list-style: none;
}

.bs-inhalt .wp-block-list.is-style-kacheln li + li {
	margin-top: 0;
}

.wp-block-list.is-style-kacheln li {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin: 0;
	padding: 22px 24px;
	border-radius: 10px;
	background: var(--bs-salbei);
	font-size: 16px;
	line-height: 1.55;
	color: var(--bs-text-mittel);
}

.wp-block-list.is-style-kacheln li > strong:first-child {
	font-family: var(--bs-font-display);
	font-size: 26px;
	font-weight: 400;
	line-height: 1.15;
	color: var(--bs-see);
}

.wp-block-list.is-style-kacheln li::marker {
	content: none;
}

/* Handy und Tablet */
@media (max-width: 1080px) {
	.bs-angebot {
		grid-template-columns: minmax(0, 1fr);
	}

	.bs-angebot__seite {
		position: static;
	}

	.bs-rueckblick {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.bs-kurskarten,
	.bs-weitere-angebote {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 781px) {
	.bs-workshop-gross,
	.bs-anfrage,
	.bs-anmeldung__inner {
		grid-template-columns: minmax(0, 1fr);
	}

	.bs-workshop-gross__bild {
		min-height: 0;
		aspect-ratio: 3 / 2;
	}

	.bs-anfrage--rechts .bs-anfrage__bild {
		order: 0;
	}

	.bs-anfrage__bild {
		max-width: 360px;
		width: 100%;
		max-height: 340px;
	}

	.bs-workshop-zeile {
		grid-template-columns: 80px minmax(0, 1fr);
		gap: 18px;
		padding: 18px;
	}

	.bs-workshop-zeile > .bs-chip {
		grid-column: 2;
		justify-self: start;
	}

	.bs-datum {
		min-height: 76px;
	}

	.bs-datum__tag {
		font-size: 32px;
	}

	.bs-woche {
		grid-template-columns: minmax(0, 1fr);
	}

	.bs-woche__tag {
		min-height: 0;
		padding: 14px 16px;
	}

	.bs-woche__tag + .bs-woche__tag {
		border-left: 0;
		border-top: 1px solid var(--bs-linie);
	}

	.bs-woche__tag--leer {
		display: none;
	}

	.bs-kurskarten,
	.bs-weitere-angebote {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 480px) {
	.bs-rueckblick {
		gap: 16px;
	}

	.bs-rueckblick__titel {
		font-size: 21px;
	}
}

/* ==========================================================================
   Bausteine der neu gestalteten Seiten
   ========================================================================== */

.bs-seitenhero {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: clamp(32px, 6vw, 80px);
	align-items: end;
	padding-top: clamp(32px, 5vw, 64px);
	padding-bottom: clamp(40px, 5vw, 64px);
}

.bs-seitenhero--zweispaltig {
	grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
}

.bs-seitenhero__text {
	display: flex;
	flex-direction: column;
	gap: 18px;
	max-width: 820px;
}

.bs-seitenhero__text > * {
	margin: 0 !important;
}

.bs-seitenhero__text .bs-brotkrumen {
	margin-bottom: 8px !important;
}

.bs-seitenhero__titel {
	font-size: clamp(44px, 6vw, 80px);
	line-height: 1;
}

.bs-seitenhero__intro {
	max-width: 640px;
	font-size: clamp(18px, 1.6vw, 20px);
	line-height: 1.65;
	color: var(--bs-text-mittel);
}

.bs-seitenhero .wp-block-buttons {
	margin-top: 10px !important;
}

.bs-seitenhero__rechts > * {
	margin: 0;
}

.bs-seitenhero__rechts .wp-block-image img {
	display: block;
	width: 100%;
	object-fit: cover;
}

.bs-band {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

.bs-band + .bs-band {
	border-top: 1px solid rgba(29, 59, 66, 0.08);
}

.wp-block-post-content > .bs-abschnitt + .bs-abschnitt:not(.bs-band) {
	padding-top: 0;
}

.bs-band + .bs-abschnitt:not(.bs-band) {
	padding-top: var(--bs-abschnitt) !important;
}

.bs-abschnitt--schmal {
	max-width: var(--wp--style--global--content-size) !important;
}

.bs-abschnitt--schmal > * + * {
	margin-top: 20px;
}

.bs-abschnittkopf {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px 48px;
	margin-bottom: 32px;
}

.bs-abschnittkopf__text > * {
	margin: 0;
}

.bs-abschnittkopf__text .is-style-eyebrow {
	margin-bottom: 10px;
}

.bs-abschnittkopf h2,
.bs-fragen__kopf h2 {
	font-size: clamp(34px, 3.6vw, 48px);
}

.bs-abschnittkopf > p {
	max-width: 460px;
	margin: 0;
	color: var(--bs-text-mittel);
}

/* Häufige Fragen */
.bs-fragen {
	display: grid;
	grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
	gap: clamp(24px, 5vw, 56px);
}

.bs-fragen__kopf h2 {
	margin: 0;
	line-height: 1.05;
}

.bs-fragen__liste {
	border-bottom: 1px solid var(--bs-linie);
}

.bs-fragen__liste > * {
	margin: 0 !important;
}

.bs-fragen .wp-block-details {
	border-top: 1px solid var(--bs-linie);
}

.bs-fragen .wp-block-details summary {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 24px;
	padding: 22px 0;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.4;
	list-style: none;
	cursor: pointer;
}

.bs-fragen .wp-block-details summary::-webkit-details-marker {
	display: none;
}

.bs-fragen .wp-block-details summary::after {
	content: "+";
	flex-shrink: 0;
	font-family: var(--bs-font-display);
	font-size: 30px;
	font-weight: 400;
	line-height: 1;
}

.bs-fragen .wp-block-details[open] summary::after {
	content: "–";
}

.bs-fragen .wp-block-details > p {
	margin: -6px 0 22px;
	max-width: 680px;
	font-size: 17px;
	line-height: 1.7;
	color: var(--bs-text-mittel);
}

@media (max-width: 781px) {
	.bs-seitenhero--zweispaltig,
	.bs-fragen {
		grid-template-columns: minmax(0, 1fr);
	}

	.bs-seitenhero {
		align-items: start;
	}
}

.bs-band > .bs-abschnitt {
	padding-top: 0;
	padding-bottom: 0;
}

.wp-block-post-content > .bs-seitenhero {
	padding-bottom: 0;
}

.bs-angebot__inhalt .wp-block-list.is-style-kacheln {
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
}

/* ==========================================================================
   Sprechzeiten
   ========================================================================== */

.bs-heute {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 28px 30px;
	border: 1px solid var(--bs-linie);
	border-radius: 12px;
	background: var(--bs-papier);
}

.bs-heute p {
	margin: 0;
}

.bs-heute__status {
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 17px;
	font-weight: 600;
	line-height: 1.4;
}

.bs-heute__status i {
	flex-shrink: 0;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: var(--bs-text-leise);
}

.bs-heute.is-offen .bs-heute__status i {
	background: var(--bs-schilf);
	box-shadow: 0 0 0 5px var(--bs-salbei);
}

.bs-heute__telefon {
	font-size: 16px;
	color: var(--bs-text-mittel);
}

.bs-heute__telefon:empty {
	display: none;
}

.bs-heute__knoepfe {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 8px;
}

.bs-heute__knoepfe .bs-knopf {
	min-height: 48px;
	padding: 0 22px;
	font-size: 16px;
}

.bs-urlaub {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 6px 16px;
	margin: 0;
	padding: 18px 24px;
	border-radius: 10px;
	background: #F1E3C6;
	color: #5E3F0E;
	font-size: 16px;
}

.bs-urlaub .bs-label {
	margin: 0;
	color: #5E3F0E;
}

.bs-woche-plan {
	display: grid;
	grid-template-columns: minmax(0, 8fr) minmax(0, 4fr);
	gap: clamp(24px, 4vw, 48px);
	align-items: start;
}

.bs-woche-plan__karte {
	padding: clamp(24px, 3vw, 40px);
	border-radius: 12px;
	background: var(--bs-papier);
}

.bs-woche-plan__kopf {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-end;
	gap: 12px 24px;
	margin-bottom: 20px;
}

.bs-woche-plan__titel {
	margin: 0;
	font-size: clamp(30px, 3vw, 40px);
}

.bs-woche-plan__legende {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 18px;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 13px;
	color: var(--bs-text-mittel);
}

.bs-woche-plan__legende li {
	display: flex;
	align-items: center;
	gap: 6px;
	margin: 0;
}

.bs-woche-plan__legende i {
	width: 14px;
	height: 14px;
	box-sizing: border-box;
	border-radius: 3px;
}

.bs-woche-plan i.is-praxis,
.bs-woche-plan b.is-praxis {
	background: var(--bs-see);
	color: var(--bs-leinen);
}

.bs-woche-plan i.is-anmeldung,
.bs-woche-plan b.is-anmeldung {
	border: 1px dashed var(--bs-schilf);
	background: var(--bs-salbei);
	color: var(--bs-schilf);
}

.bs-woche-plan__legende i.is-telefon {
	height: 4px;
	border-radius: 2px;
	background: #B98A3E;
}

.bs-woche-plan__skala,
.bs-woche-plan__tag {
	display: grid;
	grid-template-columns: 130px minmax(0, 1fr);
	align-items: center;
}

.bs-woche-plan__skala {
	padding-bottom: 6px;
	font-size: 12px;
	color: var(--bs-text-leise);
}

.bs-woche-plan__skala > div {
	position: relative;
	height: 16px;
}

.bs-woche-plan__skala > div span {
	position: absolute;
	top: 0;
	transform: translateX(-50%);
	white-space: nowrap;
}

.bs-woche-plan__skala > div span:first-child {
	transform: none;
}

.bs-woche-plan__skala > div span:last-child {
	transform: translateX(-100%);
}

.bs-woche-plan__tage {
	margin: 0;
	border-bottom: 1px solid var(--bs-linie);
}

.bs-woche-plan__tag {
	min-height: 66px;
	border-top: 1px solid var(--bs-linie);
}

.bs-woche-plan__tag dt {
	font-weight: 600;
}

.bs-woche-plan__tag.is-heute dt::after {
	content: "heute";
	margin-left: 8px;
	padding: 1px 8px;
	border-radius: 999px;
	background: var(--bs-salbei);
	font-size: 12px;
	font-weight: 600;
	color: var(--bs-schilf);
}

.bs-woche-plan__tag dd {
	margin: 0;
}

.bs-woche-plan__balken {
	position: relative;
	height: 30px;
	margin-bottom: 8px;
}

.bs-woche-plan__balken b {
	position: absolute;
	top: 0;
	display: flex;
	align-items: center;
	box-sizing: border-box;
	height: 28px;
	padding: 0 10px;
	overflow: hidden;
	border-radius: 6px;
	font-size: 13px;
	font-weight: 500;
	white-space: nowrap;
}

.bs-woche-plan__balken i.is-telefon {
	position: absolute;
	bottom: -8px;
	height: 4px;
	border-radius: 2px;
	background: #B98A3E;
}

/* Textfassung: für Screenreader immer, sichtbar nur auf dem Handy */
.bs-woche-plan__text {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	margin: 0;
}

.bs-woche-plan__hinweis {
	margin: 20px 0 0;
	font-size: 15px;
	line-height: 1.6;
	color: var(--bs-text-mittel);
}

.bs-woche-plan__seite {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.bs-kontaktkarte {
	margin: 0;
	padding: 24px 28px;
	border: 1px solid var(--bs-linie);
	border-radius: 12px;
}

.bs-kontaktkarte p {
	margin: 0;
}

.bs-kontaktkarte__gross {
	margin: 4px 0 8px !important;
	font-family: var(--bs-font-display);
	font-size: 32px;
	line-height: 1.1;
}

.bs-kontaktkarte__gross a {
	color: var(--bs-see);
	text-decoration: none;
}

.bs-kontaktkarte__mail {
	margin: 4px 0 8px !important;
	font-size: 17px;
	overflow-wrap: anywhere;
}

.bs-kontaktkarte__text {
	font-size: 15px;
	line-height: 1.6;
	color: var(--bs-text-mittel);
}

.bs-kontaktkarte--hinweis {
	border: 0;
	background: var(--bs-salbei);
	font-size: 15px;
	line-height: 1.6;
	color: var(--bs-text-mittel);
}

/* Liste: Schritte als Karten */
.wp-block-list.is-style-schrittkarten {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
	gap: 20px;
	padding: 0;
	list-style: none;
	counter-reset: schritt;
}

.wp-block-list.is-style-schrittkarten li {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin: 0;
	padding: 28px;
	border-radius: 10px;
	background: var(--bs-papier);
	font-size: 15px;
	line-height: 1.55;
	color: var(--bs-text-mittel);
	counter-increment: schritt;
}

.wp-block-list.is-style-schrittkarten li::before {
	content: counter(schritt);
	font-family: var(--bs-font-display);
	font-size: 48px;
	line-height: 1;
	color: var(--bs-honig);
}

.wp-block-list.is-style-schrittkarten li > strong:first-child {
	font-family: var(--bs-font-display);
	font-size: 26px;
	font-weight: 400;
	line-height: 1.15;
	color: var(--bs-see);
}

/* Liste: Auf einen Blick */
.wp-block-list.is-style-fakten {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	margin: 0;
	padding: 0;
	list-style: none;
	border-top: 1px solid var(--bs-linie);
	border-bottom: 1px solid var(--bs-linie);
}

.wp-block-list.is-style-fakten li {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin: 0;
	padding: 26px 24px;
	font-size: 17px;
	line-height: 1.5;
}

.wp-block-list.is-style-fakten li + li {
	border-left: 1px solid var(--bs-linie);
}

.wp-block-list.is-style-fakten li:first-child {
	padding-left: 0;
}

.wp-block-list.is-style-fakten li > strong:first-child {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--bs-text-leise);
}

@media (max-width: 1080px) {
	.bs-woche-plan {
		grid-template-columns: minmax(0, 1fr);
	}

	.bs-woche-plan__seite {
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	}
}

@media (max-width: 781px) {
	.bs-woche-plan__skala,
	.bs-woche-plan__balken,
	.bs-woche-plan__legende {
		display: none;
	}

	.bs-woche-plan__tag {
		grid-template-columns: minmax(0, 1fr);
		gap: 4px;
		padding: 14px 0;
	}

	.bs-woche-plan__text {
		position: static;
		width: auto;
		height: auto;
		overflow: visible;
		clip: auto;
		white-space: normal;
		font-size: 15px;
		line-height: 1.5;
		color: var(--bs-text-mittel);
	}

	.bs-woche-plan__text strong {
		color: var(--bs-see);
	}

	.wp-block-list.is-style-fakten li + li {
		border-left: 0;
		border-top: 1px solid var(--bs-linie);
	}

	.wp-block-list.is-style-fakten li {
		padding: 18px 0;
	}
}

.bs-anfahrt > * {
	margin: 0 0 16px;
}

.bs-anfahrt__adresse {
	font-size: 19px;
	line-height: 1.6;
}

.bs-anfahrt .bs-leise {
	max-width: 420px;
	font-size: 14px;
}

.bs-spalten-info {
	gap: clamp(32px, 6vw, 80px) !important;
}

.bs-spalten-info .wp-block-column > * {
	margin-top: 0;
	margin-bottom: 18px;
}

.bs-spalten-info h2 {
	font-size: clamp(32px, 3.2vw, 44px);
}

.bs-spalten-info .is-style-kacheln {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.bs-spalten-info .is-style-kacheln li {
	padding: 18px 20px;
	font-size: 15px;
}

.bs-spalten-info .is-style-kacheln li > strong:first-child {
	font-family: var(--bs-font-text);
	font-size: 15px;
	font-weight: 600;
}

.bs-abschnitt--oben-knapp {
	padding-top: clamp(24px, 3vw, 40px) !important;
}

.wp-block-post-content > .bs-urlaub {
	margin-top: 8px;
}

@media (max-width: 480px) {
	.bs-spalten-info .is-style-kacheln {
		grid-template-columns: minmax(0, 1fr);
	}
}

.bs-band.bs-abschnitt {
	padding-top: clamp(56px, 7vw, 96px);
	padding-bottom: clamp(56px, 7vw, 96px);
}

.wp-block-post-content > .bs-urlaub {
	margin-top: 28px;
}

/* ==========================================================================
   Behandlungsseite
   ========================================================================== */

.bs-seitenhero--bild {
	align-items: center;
	grid-template-columns: minmax(0, 7fr) minmax(0, 4fr);
}

.bs-seitenhero--bild .bs-seitenhero__rechts .wp-block-image {
	max-width: 440px;
	margin-left: auto;
}

.bs-fakten-leiste {
	margin-top: clamp(24px, 3vw, 40px) !important;
}

.bs-spalten-leitsatz {
	align-items: center !important;
	gap: clamp(32px, 6vw, 80px) !important;
}

.bs-spalten-leitsatz .wp-block-quote.is-style-leitsatz {
	margin: 0;
	text-align: left;
}

.bs-spalten-leitsatz .wp-block-column > p {
	font-size: 18px;
	line-height: 1.75;
}

.bs-spalten-leitsatz .wp-block-column > p + p {
	margin-top: 1em;
}

.bs-band__inhalt > * + * {
	margin-top: 0;
}

.wp-block-post-content > .bs-abschnitt .wp-block-group.is-style-hinweis {
	margin-top: 28px;
}

.bs-spalten-karten {
	gap: 24px !important;
}

.bs-spalten-karten > .wp-block-column {
	display: flex;
}

.bs-kraeuterkarte {
	box-sizing: border-box;
	width: 100%;
	padding: clamp(28px, 3.4vw, 44px);
	border: 1px solid var(--bs-linie);
	border-radius: 12px;
	background: var(--bs-papier);
}

.bs-kraeuterkarte > * {
	margin-top: 0;
	margin-bottom: 16px;
}

.bs-kraeuterkarte > :last-child {
	margin-bottom: 0;
}

.bs-kraeuterkarte h3 {
	font-size: clamp(30px, 3vw, 38px);
}

.bs-kraeuterkarte > p {
	font-size: 16px;
	line-height: 1.65;
}

.bs-kraeuterkarte--see {
	border-color: var(--bs-see);
	background: var(--bs-see);
	color: var(--bs-leinen);
}

.bs-kraeuterkarte--see h3 {
	color: var(--bs-leinen);
}

.bs-kraeuterkarte--see .is-style-eyebrow {
	color: #E2C48E;
}

.bs-kraeuterkarte--see > p {
	color: var(--bs-hell-auf-see);
}

.wp-block-list.is-style-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	padding: 0;
	list-style: none;
}

.bs-inhalt .wp-block-list.is-style-chips li + li,
.wp-block-list.is-style-chips li {
	margin: 0;
}

.wp-block-list.is-style-chips li {
	padding: 6px 14px;
	border: 1px solid var(--bs-linie);
	border-radius: 999px;
	font-size: 14px;
	line-height: 1.35;
}

.bs-kraeuterkarte--see .wp-block-list.is-style-chips li {
	border-color: #4B6268;
}

.bs-pflanzen--klein {
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 16px 8px !important;
	margin: 8px 0 20px !important;
}

.bs-spalten-rhythmus {
	gap: clamp(32px, 6vw, 80px) !important;
}

.bs-spalten-rhythmus h2 {
	margin: 0;
	font-size: clamp(32px, 3.4vw, 46px);
	line-height: 1.08;
}

.bs-spalten-rhythmus .wp-block-column > * {
	margin-top: 0;
}

.bs-spalten-rhythmus .wp-block-column p {
	font-size: 17px;
	line-height: 1.7;
}

.bs-spalten-rhythmus .wp-block-column > p + p {
	margin-top: 1em;
}

.bs-darreichung .wp-block-list.is-style-kacheln {
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr));
}

.bs-pflanzen--klein .bs-pflanze__name {
	font-size: 20px;
	line-height: 1.1;
}

.wp-block-post-content > .bs-beitraege {
	padding-bottom: var(--bs-abschnitt);
}

.bs-aufruf-see__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 24px 48px;
}

.bs-aufruf-see__text > * {
	margin: 0;
}

.bs-aufruf-see__text h2 {
	margin-bottom: 8px;
	color: var(--bs-leinen);
	font-size: clamp(34px, 3.6vw, 46px);
}

.bs-aufruf-see__text p {
	color: var(--bs-hell-auf-see);
	font-size: 17px;
}

.bs-aufruf-see .wp-block-button:not(.is-style-umriss) .wp-block-button__link {
	background: var(--bs-leinen);
	color: var(--bs-see);
}

.bs-aufruf-see .wp-block-button.is-style-umriss .wp-block-button__link {
	box-shadow: inset 0 0 0 1px var(--bs-leinen);
	color: var(--bs-leinen);
}

.bs-aufruf-see .wp-block-button .wp-block-button__link:hover {
	background: var(--bs-salbei);
	color: var(--bs-see);
}

@media (max-width: 781px) {
	.bs-seitenhero--bild {
		grid-template-columns: minmax(0, 1fr);
	}

	.bs-seitenhero--bild .bs-seitenhero__rechts {
		order: -1;
	}

	.bs-seitenhero--bild .bs-seitenhero__rechts .wp-block-image {
		max-width: 260px;
		margin: 0;
	}
}

.bs-spalten-leitsatz .wp-block-quote.is-style-leitsatz::before {
	margin-left: 0;
}

@media (max-width: 480px) {
	.bs-pflanzen--klein {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

.wp-block-list:is(.is-style-kacheln, .is-style-schrittkarten, .is-style-fakten) li > strong:first-child {
	display: block;
}

/* ==========================================================================
   Themenseiten (Kategorien der Säulen)
   ========================================================================== */

.bs-themenkopf {
	display: flex;
	flex-direction: column;
	gap: clamp(32px, 4vw, 48px);
	padding-top: clamp(32px, 5vw, 64px);
}

.bs-themenkopf__haupt {
	display: grid;
	grid-template-columns: minmax(0, 8fr) minmax(0, 4fr);
	gap: clamp(32px, 6vw, 80px);
	align-items: center;
}

.bs-themenkopf__text {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.bs-themenkopf__text > * {
	margin: 0;
}

.bs-themenkopf__titel {
	font-size: clamp(44px, 6vw, 80px);
	line-height: 1;
}

.bs-themenkopf__intro {
	max-width: 700px;
	font-size: clamp(18px, 1.6vw, 20px);
	line-height: 1.65;
	color: var(--bs-text-mittel);
}

.bs-themenkopf__knoepfe {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px 28px;
	margin-top: 6px !important;
}

.bs-themenkopf__bild {
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 1;
	max-width: 340px;
	width: 100%;
	margin-left: auto;
	border-radius: 50%;
	background: var(--bs-salbei);
	color: var(--bs-schilf);
}

.bs-themenkopf__bild .bs-icon {
	width: 46%;
	height: auto;
}

.bs-themenkopf__fakten {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	margin: 0;
	border-top: 1px solid var(--bs-linie);
	border-bottom: 1px solid var(--bs-linie);
}

.bs-themenkopf__fakten > div {
	padding: 22px 24px;
	font-size: 16px;
	line-height: 1.5;
}

.bs-themenkopf__fakten > div:first-child {
	padding-left: 0;
}

.bs-themenkopf__fakten > div + div {
	border-left: 1px solid var(--bs-linie);
}

.bs-themenkopf__fakten dd {
	margin: 0;
}

.bs-themenkopf__h2 {
	margin: 0;
	font-size: clamp(30px, 3.2vw, 42px);
}

.bs-themenkopf__kurse {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.bs-themenkopf__beitraege {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px 32px;
	padding-top: clamp(16px, 2vw, 24px);
}

.bs-themen-chips {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
}

.bs-themen-chips .bs-label {
	margin: 0 6px 0 0;
}

.bs-themen-chips a {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	padding: 0 16px;
	border: 1px solid #A89F8B;
	border-radius: 999px;
	color: var(--bs-see);
	font-size: 14px;
	text-decoration: none;
}

.bs-themen-chips a:hover {
	background: var(--bs-see);
	border-color: var(--bs-see);
	color: var(--bs-leinen);
}

.bs-themenkopf--schlicht h1 {
	margin: 0;
	font-size: var(--wp--preset--font-size--aufmacher);
	line-height: 1;
}

/* Erster Beitrag groß */
.bs-karten--thema .bs-karte__auszug {
	margin: 0;
	font-size: 15px;
	line-height: 1.55;
	color: var(--bs-text-mittel);
}

@media (min-width: 782px) {
	.bs-karten--thema .wp-block-post-template.is-layout-grid:has(> li:nth-child(3)) > li:first-child {
		grid-column: span 2;
		grid-row: span 2;
	}

	.bs-karten--thema .wp-block-post-template.is-layout-grid:has(> li:nth-child(3)) > li:first-child .bs-karte__titel {
		font-size: clamp(30px, 3vw, 40px);
	}

	.bs-karten--thema .wp-block-post-template.is-layout-grid:has(> li:nth-child(3)) > li:first-child .bs-karte__auszug {
		font-size: 17px;
	}
}

@media (max-width: 781px) {
	.bs-themenkopf__haupt {
		grid-template-columns: minmax(0, 1fr);
	}

	.bs-themenkopf__bild {
		display: none;
	}

	.bs-themenkopf__fakten > div,
	.bs-themenkopf__fakten > div:first-child {
		padding: 16px 0;
	}

	.bs-themenkopf__fakten > div + div {
		border-left: 0;
		border-top: 1px solid var(--bs-linie);
	}
}

.bs-fakten__termine ul {
	margin: 4px 0 0;
	padding: 0;
	list-style: none;
}

.bs-fakten__termine li {
	margin: 0;
	padding: 2px 0;
}

/* ---------- Säulen-Übersicht ---------- */
.bs-saeulen {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(24px, 3vw, 40px);
}

.bs-saeulen > * {
	margin: 0 !important;
}

.bs-saeule {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.bs-saeule > * {
	margin: 0 !important;
}

.bs-saeule__bild img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	border-radius: 10px;
}

.bs-saeule h3 {
	margin-top: 8px !important;
	font-size: clamp(30px, 3vw, 40px);
}

.bs-saeule h3 a {
	color: inherit;
	text-decoration: none;
}

.bs-saeule h3 a::after {
	content: "";
	position: absolute;
	inset: 0;
}

.bs-saeule:hover h3 a {
	text-decoration: underline;
	text-decoration-thickness: 1px;
}

.bs-saeule > p {
	max-width: 560px;
	font-size: 17px;
	line-height: 1.65;
	color: var(--bs-text-mittel);
}

.bs-saeule__mehr a {
	font-weight: 500;
}

@media (max-width: 781px) {
	.bs-saeulen {
		grid-template-columns: minmax(0, 1fr);
	}
}

.bs-spalten-rhythmus .wp-block-column > * + * {
	margin-top: 16px;
}

.bs-spalten-leitsatz .wp-block-column > p.is-style-handschrift {
	font-size: 30px;
	line-height: 1.2;
}

.bs-spalten-werdegang .wp-block-image {
	margin-top: 28px !important;
}

.bs-kacheln-weiss .wp-block-list.is-style-kacheln li {
	background: var(--bs-papier);
}

.bs-band.has-papier-background-color .bs-kacheln-weiss .wp-block-list.is-style-kacheln li {
	background: var(--bs-leinen);
}

.wp-block-list.is-style-kacheln li > strong:first-child {
	hyphens: auto;
	overflow-wrap: break-word;
}

/* ==========================================================================
   Blogbeiträge: automatische Gliederung
   ========================================================================== */

.bs-inhalt p.bs-lead {
	font-size: clamp(20px, 1.8vw, 23px);
	line-height: 1.6;
	color: var(--bs-see);
}

.bs-inhalt h2.bs-zwischentitel {
	scroll-margin-top: 8px;
}

.bs-inhaltsverzeichnis {
	margin: 2em 0 !important;
	padding: 22px 26px;
	border-left: 3px solid var(--bs-schilf);
	border-radius: 0 10px 10px 0;
	background: var(--bs-papier);
}

.bs-inhaltsverzeichnis .bs-label {
	margin: 0 0 8px;
}

.bs-inhalt .bs-inhaltsverzeichnis ol {
	margin: 0;
	padding-left: 1.2em;
	font-size: 17px;
	line-height: 1.5;
}

.bs-inhalt .bs-inhaltsverzeichnis li + li {
	margin-top: 4px;
}

.bs-inhaltsverzeichnis a {
	color: var(--bs-see);
	text-decoration-color: var(--bs-linie);
}

.bs-inhaltsverzeichnis a:hover {
	text-decoration-color: currentColor;
}

.bs-inhalt p.bs-gruss {
	margin-top: 1.6em;
	font-size: 30px;
}

.bs-bildreihe {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin-top: 1.8em !important;
	margin-bottom: 1.8em !important;
}

.bs-bildreihe--3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.bs-bildreihe > * {
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	float: none !important;
}

.bs-bildreihe img {
	display: block;
	width: 100% !important;
	height: 100%;
	aspect-ratio: 1;
	object-fit: cover;
	border-radius: 6px;
}

.bs-bildreihe figcaption {
	font-size: 13px;
}

.bs-lesezeit {
	white-space: nowrap;
}

.bs-beitrag-thema {
	box-sizing: border-box;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	gap: 20px;
	align-items: center;
	max-width: var(--wp--style--global--content-size);
	margin: 48px auto 0 !important;
	padding: 24px 28px;
	border: 1px solid var(--bs-linie);
	border-radius: 12px;
	background: var(--bs-papier);
}

.bs-beitrag-thema__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 72px;
	height: 72px;
	border-radius: 50%;
	background: var(--bs-salbei);
	color: var(--bs-schilf);
}

.bs-beitrag-thema__text p {
	margin: 0;
	font-size: 15px;
	line-height: 1.55;
	color: var(--bs-text-mittel);
}

.bs-beitrag-thema__text .bs-label {
	margin-bottom: 2px;
}

.bs-beitrag-thema__text p.bs-beitrag-thema__titel {
	margin-bottom: 4px;
	font-family: var(--bs-font-display);
	font-size: 28px;
	line-height: 1.15;
}

.bs-beitrag-thema__titel a {
	color: var(--bs-see);
	text-decoration: none;
}

.bs-beitrag-thema__titel a:hover {
	text-decoration: underline;
	text-decoration-thickness: 1px;
}

@media (max-width: 600px) {
	.bs-beitrag-thema {
		grid-template-columns: minmax(0, 1fr);
		margin-left: var(--bs-rand) !important;
		margin-right: var(--bs-rand) !important;
	}

	.bs-beitrag-thema__icon {
		display: none;
	}

	.bs-bildreihe--3 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* ==========================================================================
   Startseite (überarbeitet)
   ========================================================================== */

.bs-saeulen--vier {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(20px, 2.4vw, 32px);
}

.bs-saeulen--vier .bs-saeule__bild img {
	aspect-ratio: 4 / 5;
}

.bs-saeulen--vier .bs-saeule h3 {
	font-size: clamp(26px, 2.4vw, 32px);
}

.bs-saeulen--vier .bs-saeule > p {
	font-size: 15px;
	line-height: 1.6;
}

.bs-weitere-links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 22px;
	margin-top: 36px !important;
	padding-top: 24px;
	border-top: 1px solid var(--bs-linie);
	font-size: 16px;
}

.bs-weitere-links .bs-label {
	display: inline;
	margin: 0 6px 0 0;
}

.bs-abschnittkopf .bs-kopf__link {
	margin: 0;
}

.bs-start-angebote > .bs-angebote + .bs-angebote {
	margin-top: clamp(48px, 6vw, 72px) !important;
}

.bs-start-angebote .bs-woche {
	background: var(--bs-papier);
}

.bs-angebote__fuss {
	margin: 0;
}

.bs-ueber .wp-block-quote.is-style-leitsatz {
	margin: 0 0 20px;
	text-align: left;
	font-size: clamp(24px, 2.4vw, 30px);
}

.bs-ueber .wp-block-quote.is-style-leitsatz::before {
	margin-left: 0;
}

.bs-ueber__text > * + * {
	margin-top: 16px;
}

.bs-natur .bs-natur__pflanzen {
	margin-top: clamp(48px, 6vw, 72px) !important;
}

.bs-natur .bs-jahreskreis {
	background: var(--bs-leinen);
}

/* Leiste: heute geöffnet */
.bs-leiste__heute .bs-heute__status {
	display: flex;
	align-items: center;
	gap: 8px;
}

.bs-leiste__heute .bs-heute__status i {
	flex-shrink: 0;
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: var(--bs-text-leise);
}

.bs-leiste__heute.is-offen .bs-heute__status i {
	background: var(--bs-schilf);
	box-shadow: 0 0 0 4px var(--bs-salbei);
}

.bs-leiste__mehr {
	font-size: 13px;
}

@media (max-width: 1080px) {
	.bs-saeulen--vier {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 600px) {
	.bs-saeulen--vier {
		gap: 24px 14px;
	}

	.bs-saeulen--vier .bs-saeule h3 {
		font-size: 23px;
	}

	.bs-saeulen--vier .bs-saeule > p:not(.bs-saeule__mehr) {
		display: none;
	}

	.bs-leiste .bs-leiste__heute {
		grid-column: 1 / -1;
	}

	.bs-leiste__heute .bs-heute__status i {
		align-self: flex-start;
		margin-top: 7px;
	}
}

/* ---------- Rechtstexte: Steckbrief, Tabellen, Inhaltsverzeichnis ---------- */
.bs-inhalt .wp-block-list.bs-steckbrief {
	display: grid;
	gap: 0;
	margin: 1.4em 0;
	padding: 6px 22px;
	list-style: none;
	border: 1px solid var(--bs-linie);
	border-radius: 10px;
	box-sizing: border-box;
}

.bs-inhalt .bs-steckbrief li {
	display: grid;
	grid-template-columns: 150px minmax(0, 1fr);
	gap: 4px 18px;
	margin: 0;
	padding: 12px 0;
	font-size: 0.94em;
	line-height: 1.55;
}

.bs-inhalt .bs-steckbrief li + li {
	border-top: 1px solid var(--bs-linie);
}

.bs-inhalt .bs-steckbrief li > strong:first-child {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--bs-text-leise);
	padding-top: 3px;
}

.bs-inhalt .wp-block-table.bs-recht-tabelle {
	margin: 1.4em 0;
	overflow-x: auto;
}

.bs-inhalt .bs-recht-tabelle table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.92em;
	line-height: 1.5;
}

.bs-inhalt .bs-recht-tabelle th,
.bs-inhalt .bs-recht-tabelle td {
	padding: 11px 14px 11px 0;
	border: 0;
	border-bottom: 1px solid var(--bs-linie);
	text-align: left;
	vertical-align: top;
	overflow-wrap: break-word;
}

.bs-inhalt .bs-recht-tabelle th {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--bs-text-leise);
}

.bs-inhalt .bs-recht-tabelle thead {
	border-bottom: 0;
}

.bs-inhalt--schlicht h2.wp-block-heading[id] {
	scroll-margin-top: 8px;
}

@media (max-width: 640px) {
	.bs-inhalt .bs-steckbrief li {
		grid-template-columns: minmax(0, 1fr);
	}

	.bs-inhalt .wp-block-list.bs-steckbrief {
		padding: 4px 16px;
	}

	.bs-inhalt .bs-recht-tabelle table,
	.bs-inhalt .bs-recht-tabelle thead,
	.bs-inhalt .bs-recht-tabelle tbody,
	.bs-inhalt .bs-recht-tabelle tr,
	.bs-inhalt .bs-recht-tabelle td {
		display: block;
	}

	.bs-inhalt .bs-recht-tabelle thead {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0 0 0 0);
	}

	.bs-inhalt .bs-recht-tabelle tr {
		padding: 10px 0;
		border-bottom: 1px solid var(--bs-linie);
	}

	.bs-inhalt .bs-recht-tabelle td {
		padding: 2px 0;
		border: 0;
	}

	.bs-inhalt .bs-recht-tabelle td:first-child {
		font-weight: 600;
	}
}

.bs-inhalt .bs-recht-tabelle code {
	font-size: 0.86em;
	word-break: break-all;
}


/* Fotoreihe (eigene Praxisfotos) */
.wp-block-gallery.bs-fotoreihe {
	gap: 16px;
	margin-top: clamp(40px, 6vw, 72px);
	margin-bottom: clamp(40px, 6vw, 72px);
}

.wp-block-gallery.bs-fotoreihe.has-nested-images figure.wp-block-image {
	aspect-ratio: 4 / 5;
	border-radius: 14px;
	overflow: hidden;
}

.wp-block-gallery.bs-fotoreihe.has-nested-images figure.wp-block-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

@media (max-width: 640px) {
	.wp-block-gallery.bs-fotoreihe.has-nested-images figure.wp-block-image:not(#individual-image) {
		width: calc(50% - 8px);
	}

	.wp-block-gallery.bs-fotoreihe.has-nested-images figure.wp-block-image:first-child:nth-last-child(3) {
		width: 100%;
		aspect-ratio: 4 / 3;
	}
}

/* Platzhalterbild mit KI-Hinweis */
.bs-hat-symbolbild {
	position: relative;
}

.bs-symbolbild {
	position: absolute;
	right: 10px;
	bottom: 10px;
	padding: 3px 9px;
	border-radius: 999px;
	background: rgba(20, 45, 52, 0.72);
	color: #fff;
	font-size: 11px;
	letter-spacing: 0.04em;
	line-height: 1.5;
	pointer-events: none;
}

/* Newsletter als Karte unter Blogbeiträgen */
.bs-newsletter.bs-newsletter--karte {
	max-width: none;
	margin-top: clamp(40px, 6vw, 64px);
	padding: clamp(24px, 4vw, 40px);
	border-radius: 16px;
	background: var(--bs-see);
	color: var(--bs-leinen);
	box-sizing: border-box;
}

.bs-newsletter--karte .bs-newsletter__form {
	max-width: 560px;
}

.bs-newsletter--karte .bs-newsletter__text {
	color: var(--bs-hell-auf-see);
}

/* Abo-Seiten von MailPoet */
.bs-mailpoet-karte {
	max-width: 640px;
	margin: clamp(48px, 8vw, 96px) auto;
	padding: clamp(28px, 5vw, 48px);
	border: 1px solid var(--bs-linie);
	border-radius: 16px;
	background: var(--bs-papier);
	text-align: center;
	box-sizing: border-box;
}

.bs-mailpoet-karte .bs-mailpoet-karte__titel {
	margin: 8px 0 20px;
	font-size: clamp(34px, 5vw, 48px);
	line-height: 1.1;
}

.bs-mailpoet-karte__inhalt :where(p) {
	font-size: 18px;
	line-height: 1.6;
}

.bs-mailpoet-karte__inhalt form {
	text-align: left;
}

.bs-mailpoet-karte__zurueck {
	margin-top: 28px;
	font-size: 15px;
}

.bs-main--mailpoet {
	padding-top: clamp(48px, 8vw, 96px);
	padding-bottom: clamp(48px, 8vw, 96px);
}

/* ---------- Handy-Menü: ruhiger, klar gegliedert ---------- */
.bs-nav .is-menu-open {
	-webkit-tap-highlight-color: transparent;
}

.bs-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	padding-top: 56px;
}

.bs-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
	width: 100%;
	gap: 0;
}

/* Gruppen durch feine Linien trennen */
.bs-nav .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item {
	width: 100%;
	padding: 14px 0 10px;
	border-top: 1px solid rgba(243, 238, 228, 0.16);
}

.bs-nav .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item:first-child {
	border-top: 0;
}

/* Hauptpunkte etwas kleiner, damit weniger gescrollt werden muss */
.bs-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content,
.bs-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu__toggle {
	font-size: 28px;
	line-height: 1.2;
	padding: 4px 0;
	color: var(--bs-leinen);
}

/* Unterpunkte: große Tippflächen, kein Kasten beim Antippen */
.bs-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
	width: 100%;
	padding: 4px 0 4px 2px !important;
}

.bs-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item {
	width: 100%;
}

.bs-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	display: flex !important;
	align-items: center;
	gap: 10px;
	min-height: 44px;
	padding: 4px 0 !important;
	border: 0;
	background: transparent !important;
	color: var(--bs-hell-auf-see) !important;
	font-size: 17px;
	font-weight: 400;
}

.bs-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:is(:hover, :focus, :active) {
	background: transparent !important;
	color: var(--bs-leinen) !important;
	text-decoration: none;
	border-bottom-color: transparent;
}

.bs-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:focus-visible {
	outline: 2px solid var(--bs-leinen);
	outline-offset: 4px;
	border-radius: 4px;
}

/* Aktuelle Seite: kleiner Punkt davor */
.bs-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .current-menu-item > .wp-block-navigation-item__content {
	color: var(--bs-leinen) !important;
	font-weight: 500;
}

.bs-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .current-menu-item > .wp-block-navigation-item__content::before {
	content: "";
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--bs-leinen);
	flex: none;
}

/* ---------- Logo (1.5.18) ---------- */

.bs-marke__name--logo {
	font-size: 0;
	line-height: 0;
}

.bs-marke__name--logo a {
	display: block;
}

.bs-marke__name--logo img,
.bs-marke__name--logo svg {
	display: block;
	width: auto;
	height: 52px;
	overflow: visible;
}

@media (max-width: 1080px) {
	.bs-marke__name--logo img,
	.bs-marke__name--logo svg {
		height: 46px;
	}
}

@media (max-width: 599px) {
	.bs-marke__name--logo img,
	.bs-marke__name--logo svg {
		height: 40px;
	}
}

/* Startbild der Startseite: Kräuterkreis statt Wasserringe */
.wp-block-cover.bs-hero::after {
	background-image: url("../images/logo/kreis-dunkel.svg");
	right: max(var(--bs-rand), calc((100% - var(--wp--style--global--wide-size)) / 2));
	width: clamp(280px, 30vw, 440px);
	transform: translateY(-50%);
}

@media (max-width: 1100px) {
	.wp-block-cover.bs-hero::after {
		width: clamp(220px, 26vw, 300px);
		opacity: 0.9;
	}

	.wp-block-cover.bs-hero .wp-block-cover__inner-container {
		padding-right: 30vw;
		box-sizing: border-box;
	}
}

@media (max-width: 781px) {
	/* Auf dem Handy kein Kreis im Startbild: Das Logo steht schon im Kopf. */
	.wp-block-cover.bs-hero::after {
		content: none;
	}

	.wp-block-cover.bs-hero {
		min-height: 0 !important;
	}

	.wp-block-cover.bs-hero .wp-block-cover__inner-container {
		padding-right: 0;
	}
}

/* Fußbereich */
.bs-footer__logo {
	display: block;
	flex: none;
}

.bs-footer__logo img {
	display: block;
	width: 150px;
	height: auto;
}

@media (max-width: 599px) {
	.bs-footer__logo img {
		width: 130px;
	}
}

/* ---------- Mitlaufender Kopfbereich (1.5.20) ---------- */

:root {
	--bs-kopf-sticky: 64px; /* Höhe des verkleinerten Kopfes beim Scrollen */
}

html {
	scroll-padding-top: calc(var(--bs-kopf-sticky) + 16px);
}

.wp-site-blocks > .wp-block-template-part:has(> .bs-header) {
	position: sticky;
	top: var(--wp-admin--admin-bar--height, 0px);
	z-index: 50;
}

.bs-header {
	transition: padding 0.25s ease, box-shadow 0.25s ease;
}

.bs-marke__name--logo img,
.bs-marke__name--logo svg {
	transition: height 0.25s ease;
}

.bs-kopf-klein .bs-header {
	padding-top: 6px;
	padding-bottom: 6px;
	box-shadow: 0 1px 0 rgba(0, 0, 0, 0.18), 0 6px 18px rgba(22, 41, 46, 0.18);
}

.bs-kopf-klein .bs-marke__name--logo img,
.bs-kopf-klein .bs-marke__name--logo svg {
	height: 42px;
}

@media (max-width: 599px) {
	:root {
		--bs-kopf-sticky: 56px;
	}

	/* Die Admin-Leiste scrollt auf dem Handy mit weg */
	.wp-site-blocks > .wp-block-template-part:has(> .bs-header) {
		top: 0;
	}

	.bs-kopf-klein .bs-header {
		padding-top: 8px;
		padding-bottom: 8px;
	}

	.bs-kopf-klein .bs-marke__name--logo img,
	.bs-kopf-klein .bs-marke__name--logo svg {
		height: 36px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.bs-header,
	.bs-marke__name--logo img,
	.bs-marke__name--logo svg {
		transition: none;
	}
}

/* ==========================================================================
   Animationen (1.6.0)
   Ruhig und einmalig. Ohne JavaScript ist alles sofort sichtbar,
   bei „Bewegung reduzieren“ bleibt alles still (siehe Ende des Abschnitts).
   ========================================================================== */

/* ---------- Logo im Startbild ---------- */

.wp-block-cover.bs-hero::after {
	content: none;
}

.bs-hero__logo {
	position: absolute;
	z-index: 1;
	top: 50%;
	right: max(var(--bs-rand), calc((100% - var(--wp--style--global--wide-size)) / 2));
	width: clamp(280px, 30vw, 440px);
	aspect-ratio: 1;
	transform: translateY(-50%);
	pointer-events: none;
}

.bs-hero__logo svg {
	display: block;
	width: 100%;
	height: 100%;
	overflow: visible;
}

@media (max-width: 1100px) {
	.bs-hero__logo {
		width: clamp(220px, 26vw, 300px);
	}
}

@media (max-width: 781px) {
	.bs-hero__logo {
		display: none;
	}
}

.bs-logo-kreis .bs-a-z,
.bs-logo-kreis .bs-a-k,
.bs-logo-kreis .bs-a-siegel,
.bs-logo-band .bs-a-z {
	transform-box: fill-box;
	transform-origin: center;
}

@keyframes bs-ring-zeichnen {
	from { stroke-dashoffset: 1; }
	to { stroke-dashoffset: 0; }
}

@keyframes bs-auftauchen {
	from { opacity: 0; transform: translateY(6px); }
	to { opacity: 1; transform: none; }
}

@keyframes bs-wachsen {
	from { opacity: 0; transform: scale(0.6); }
	to { opacity: 1; transform: none; }
}

@keyframes bs-stempel {
	0% { opacity: 0; transform: scale(1.35); }
	60% { opacity: 1; transform: scale(0.96); }
	100% { opacity: 1; transform: none; }
}

.bs-js:not(.bs-logo-still) .bs-logo-kreis .bs-a-ring {
	stroke-dasharray: 1;
	animation: bs-ring-zeichnen 1.3s cubic-bezier(0.4, 0, 0.2, 1) 0.2s both;
}

.bs-js:not(.bs-logo-still) .bs-logo-kreis .bs-a-z {
	animation: bs-auftauchen 0.6s ease-out both;
}

.bs-js:not(.bs-logo-still) .bs-logo-kreis .bs-a-z1 { animation-delay: 0.9s; }
.bs-js:not(.bs-logo-still) .bs-logo-kreis .bs-a-z2 { animation-delay: 1.08s; }
.bs-js:not(.bs-logo-still) .bs-logo-kreis .bs-a-z3 { animation-delay: 1.26s; }
.bs-js:not(.bs-logo-still) .bs-logo-kreis .bs-a-z4 { animation-delay: 1.44s; }
.bs-js:not(.bs-logo-still) .bs-logo-kreis .bs-a-z5 { animation-delay: 1.62s; }

.bs-js:not(.bs-logo-still) .bs-logo-kreis .bs-a-k {
	animation: bs-wachsen 0.7s cubic-bezier(0.2, 0.7, 0.2, 1) both;
}

.bs-js:not(.bs-logo-still) .bs-logo-kreis .bs-a-k1 { animation-delay: 1.15s; }
.bs-js:not(.bs-logo-still) .bs-logo-kreis .bs-a-k2 { animation-delay: 1.33s; }
.bs-js:not(.bs-logo-still) .bs-logo-kreis .bs-a-k3 { animation-delay: 1.51s; }
.bs-js:not(.bs-logo-still) .bs-logo-kreis .bs-a-k4 { animation-delay: 1.69s; }
.bs-js:not(.bs-logo-still) .bs-logo-kreis .bs-a-k5 { animation-delay: 1.87s; }

.bs-js:not(.bs-logo-still) .bs-logo-kreis .bs-a-siegel {
	animation: bs-stempel 0.55s cubic-bezier(0.2, 0.8, 0.3, 1) 2.15s both;
}

/* ---------- Elemente-Band im Kopf ---------- */

.bs-js:not(.bs-logo-still) .bs-logo-band .bs-a-z {
	animation: bs-auftauchen 0.5s ease-out both;
}

.bs-js:not(.bs-logo-still) .bs-logo-band .bs-a-z1 { animation-delay: 0.1s; }
.bs-js:not(.bs-logo-still) .bs-logo-band .bs-a-z2 { animation-delay: 0.2s; }
.bs-js:not(.bs-logo-still) .bs-logo-band .bs-a-z3 { animation-delay: 0.3s; }
.bs-js:not(.bs-logo-still) .bs-logo-band .bs-a-z4 { animation-delay: 0.4s; }
.bs-js:not(.bs-logo-still) .bs-logo-band .bs-a-z5 { animation-delay: 0.5s; }

.bs-js:not(.bs-logo-still) .bs-logo-band .bs-a-name {
	animation: bs-auftauchen 0.7s ease-out 0.15s both;
}

.bs-logo-band .bs-a-erde {
	transition: fill 0.35s ease, transform 0.35s ease, filter 0.35s ease;
}

.bs-marke__name--logo a:hover .bs-a-erde,
.bs-marke__name--logo a:focus-visible .bs-a-erde {
	fill: #F2D899;
	transform: translateY(-1px);
	filter: drop-shadow(0 0 3px rgba(201, 163, 92, 0.75));
}

/* ---------- Kräuter zeichnen sich ---------- */

.bs-js .bs-icon.bs-zeichnen .bs-strich {
	stroke-dasharray: 1;
	stroke-dashoffset: 1;
}

.bs-js .bs-icon.bs-zeichnen.is-gezeichnet .bs-strich {
	animation: bs-ring-zeichnen 1.6s cubic-bezier(0.45, 0, 0.2, 1) forwards;
	animation-delay: calc(var(--i, 0) * 120ms);
}

/* ---------- Abschnitte gleiten herein ---------- */

.bs-js .bs-einblenden {
	opacity: 0;
	transform: translateY(18px);
}

.bs-js .bs-einblenden.is-sichtbar {
	opacity: 1;
	transform: none;
	transition: opacity 0.8s ease-out, transform 0.9s cubic-bezier(0.2, 0.7, 0.2, 1);
	transition-delay: calc(var(--i, 0) * 90ms);
}

/* ---------- Atmende Wasserringe auf den Unterseiten ---------- */

@keyframes bs-atmen {
	from { transform: translateY(-38%) scale(1); opacity: 0.85; }
	to { transform: translateY(-38%) scale(1.05); opacity: 1; }
}

.wp-block-cover.is-style-see:not(.bs-hero)::after {
	animation: bs-atmen 9s ease-in-out infinite alternate;
}

/* ---------- Weiche Seitenwechsel ---------- */

@view-transition {
	navigation: auto;
}

.wp-site-blocks > .wp-block-template-part:has(> .bs-header) {
	view-transition-name: bs-kopf;
}

::view-transition-old(root),
::view-transition-new(root) {
	animation-duration: 0.35s;
}

/* ---------- Atemkreis (Block) ---------- */
/* Passt sich dem verfügbaren Platz an: breit nebeneinander, schmal untereinander (Container-Abfrage). */

.bs-atem {
	container-type: inline-size;
	border-radius: 12px;
	background: var(--bs-salbei, #E3E9E1);
}

.bs-atem__innen {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	grid-template-areas: "text buehne" "text ansage";
	gap: 16px 48px;
	align-items: center;
	padding: clamp(28px, 4vw, 48px);
}

.bs-atem__text { grid-area: text; }
.bs-atem__buehne { grid-area: buehne; }
.bs-atem__ansage { grid-area: ansage; }

.bs-atem__titel {
	margin-top: 0;
	font-size: clamp(28px, 3vw, 40px);
}

.bs-atem__text p {
	margin: 12px 0 0;
}

.bs-atem__takt {
	font-size: 14px;
	letter-spacing: 0.04em;
	color: var(--bs-text-mittel, #3E5358);
}

.bs-atem__knopf {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-top: 18px;
	padding: 6px 0;
	border: 0;
	background: none;
	color: var(--bs-see, #1D3B42);
	font: inherit;
	font-weight: 500;
	cursor: pointer;
}

.bs-atem__knopf-text {
	text-decoration: underline;
	text-underline-offset: 4px;
}

.bs-atem__symbol {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border: 1px solid currentColor;
	border-radius: 50%;
}

.bs-atem__symbol svg {
	width: 12px;
	height: 12px;
	fill: currentColor;
}

.bs-atem__knopf[aria-pressed="true"] .bs-atem__start,
.bs-atem__knopf[aria-pressed="false"] .bs-atem__stopp {
	display: none;
}

.bs-atem__buehne {
	cursor: pointer;
}

.bs-atem__buehne {
	position: relative;
	width: clamp(160px, 24vw, 260px);
	aspect-ratio: 1;
}

.bs-atem__ring,
.bs-atem__kreis {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	border-radius: 50%;
}

.bs-atem__ring {
	border: 1px dashed rgba(63, 90, 58, 0.45);
}

.bs-atem__kreis {
	background: radial-gradient(circle at 40% 35%, #F3EEE4 0%, #B9C9B4 45%, #3F5A3A 100%);
	box-shadow: 0 10px 40px rgba(63, 90, 58, 0.25);
	transform: scale(0.42);
	transition-property: transform, opacity;
	transition-timing-function: cubic-bezier(0.37, 0, 0.63, 1);
}

.bs-atem__ansage {
	margin: 0;
	text-align: center;
	font-family: var(--bs-font-display, "Cormorant Garamond", serif);
	font-size: 24px;
	font-style: italic;
	color: var(--bs-see, #1D3B42);
	min-height: 1.4em;
}

/* Schmal (z. B. als rechte Spalte im Seitenkopf oder auf dem Handy): Kreis oben, Text darunter */
@container (max-width: 620px) {
	.bs-atem__innen {
		grid-template-columns: minmax(0, 1fr);
		grid-template-areas: "buehne" "ansage" "text";
		justify-items: center;
		gap: 14px;
		text-align: center;
	}

	.bs-atem__buehne {
		width: min(220px, 70cqi);
	}

	.bs-atem__titel {
		font-size: clamp(26px, 8cqi, 34px);
	}

	.bs-atem__text {
		max-width: 420px;
	}

	/* Ansage nur während der Übung, sonst steht sie zwischen Kreis und Überschrift */
	.bs-atem:not(.is-aktiv) .bs-atem__ansage {
		display: none;
	}
}

/* Im Seitenkopf als rechte Spalte */
.bs-seitenhero > .bs-atem {
	align-self: center;
	margin: 0 !important;
}

/* ---------- Bewegung reduzieren: alles still ---------- */

@media (prefers-reduced-motion: reduce) {
	.bs-logo-kreis *,
	.bs-logo-band * {
		animation: none !important;
	}

	.bs-js .bs-icon.bs-zeichnen .bs-strich {
		stroke-dashoffset: 0;
		animation: none !important;
	}

	.bs-js .bs-einblenden {
		opacity: 1;
		transform: none;
		transition: none;
	}

	.wp-block-cover.is-style-see::after {
		animation: none;
	}

	@view-transition {
		navigation: none;
	}

	.bs-atem__kreis {
		transition-property: opacity;
	}
}

/* ==========================================================================
   Blog-Band (1.6.1): Beiträge sichtbar vom Seiteninhalt absetzen
   ========================================================================== */

.bs-blogband {
	position: relative;
	margin-top: clamp(64px, 8vw, 112px) !important;
	padding-top: clamp(48px, 6vw, 88px);
	padding-bottom: clamp(48px, 6vw, 88px);
	background: var(--bs-salbei);
	/* Hintergrund über die ganze Fensterbreite, ohne seitliches Scrollen */
	box-shadow: 0 0 0 100vmax var(--bs-salbei);
	clip-path: inset(0 -100vmax);
}

.bs-beitraege.bs-blogband {
	border-top: 0;
}

.wp-block-post-content > .bs-beitraege.bs-blogband {
	padding-bottom: clamp(48px, 6vw, 88px);
}

.bs-blogband__kopf {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px 32px;
	margin-bottom: clamp(24px, 3vw, 40px);
}

.bs-blogband__eyebrow {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 10px !important;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--bs-honig);
}

.bs-blogband__eyebrow .bs-icon {
	flex: none;
	color: var(--bs-schilf);
}

.bs-blogband__alle {
	display: inline-block;
	margin-top: 12px;
	font-size: 15px;
	font-weight: 500;
}

.bs-blogband .bs-themen-chips a {
	background: rgba(250, 247, 240, 0.6);
}

.bs-blogband .bs-themen-chips a:hover {
	background: var(--bs-see);
}

/* Auf Themenseiten: Liste direkt im Band, ohne eigenen Abstand */
.bs-blogband--thema > .wp-block-query {
	margin-top: 0 !important;
}

.bs-blogband .bs-beitraege__kopf {
	align-items: flex-end;
}

/* Steht das Band ganz unten, schließt es direkt an den Fußbereich an */
.bs-main:has(> .bs-blogband:last-child),
.bs-main:has(> .wp-block-post-content > .bs-blogband:last-child),
.bs-main:has(> .wp-block-post-content:last-child > .bs-blogband:last-child) {
	padding-bottom: 0 !important;
}

/* ==========================================================================
   Seitenkopf: automatische rechte Spalte (1.6.2)
   ========================================================================== */

.bs-seitenhero--auto {
	align-items: center;
}

.bs-seitenhero__deko {
	justify-self: end;
	align-self: center;
	color: var(--bs-schilf);
	opacity: 0.5;
}

.bs-seitenhero__deko .bs-icon {
	display: block;
	width: clamp(180px, 22vw, 300px);
	height: auto;
}

@media (max-width: 781px) {
	.bs-seitenhero__deko {
		display: none;
	}
}

/* Karte „Als Nächstes“ */
.bs-naechstes {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	max-width: 460px;
	justify-self: end;
	border: 1px solid var(--bs-linie);
	border-radius: 12px;
	background: var(--bs-papier);
	color: var(--bs-see);
	text-decoration: none;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.bs-naechstes:hover {
	transform: translateY(-3px);
	box-shadow: 0 14px 34px rgba(29, 59, 66, 0.12);
}

.bs-naechstes__bild {
	position: relative;
	display: block;
	aspect-ratio: 16 / 10;
	overflow: hidden;
}

.bs-naechstes__bild img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.bs-naechstes__text {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 22px 24px 24px;
}

.bs-naechstes__kicker {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--bs-honig);
}

.bs-naechstes__kicker .bs-chip {
	letter-spacing: 0.04em;
	text-transform: none;
}

.bs-naechstes__titel {
	font-family: var(--bs-font-display);
	font-size: clamp(24px, 2.2vw, 30px);
	line-height: 1.15;
}

.bs-naechstes__meta {
	font-size: 15px;
	color: var(--bs-text-mittel);
}

.bs-naechstes__mehr {
	margin-top: 6px;
	font-size: 15px;
	font-weight: 500;
	text-decoration: underline;
	text-underline-offset: 3px;
}

@media (max-width: 781px) {
	.bs-naechstes {
		justify-self: stretch;
		max-width: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.bs-naechstes {
		transition: none;
	}
}

/* ==========================================================================
   Jahreskreis lebt, Fünf Elemente, Organuhr (1.7.0)
   ========================================================================== */

@keyframes bs-hof {
	0% { transform: scale(1); opacity: 0.55; }
	70% { transform: scale(2.6); opacity: 0; }
	100% { transform: scale(2.6); opacity: 0; }
}

@keyframes bs-leuchten {
	from { filter: drop-shadow(0 0 0 rgba(201, 163, 92, 0)); }
	to { filter: drop-shadow(0 0 4px rgba(201, 163, 92, 0.8)); }
}

.bs-jk-hof {
	transform-box: fill-box;
	transform-origin: center;
	animation: bs-hof 3.2s ease-out infinite;
}

.bs-jk-zeichen {
	animation: bs-leuchten 3.2s ease-in-out infinite alternate;
}

.bs-js .bs-jk-bogen {
	stroke-dasharray: 1;
	stroke-dashoffset: 1;
}

.bs-js .bs-rad.is-sichtbar .bs-jk-bogen,
.bs-js .bs-jk-bogen.is-gezeichnet {
	animation: bs-ring-zeichnen 1.8s cubic-bezier(0.45, 0, 0.2, 1) 0.2s forwards;
}

/* Fünf Elemente */
.bs-elemente {
	display: grid;
	grid-template-columns: minmax(180px, 280px) minmax(0, 1fr);
	gap: clamp(24px, 4vw, 56px);
	align-items: center;
	margin-top: clamp(24px, 3vw, 40px);
	padding: clamp(24px, 3vw, 40px);
	border: 1px solid var(--bs-linie);
	border-radius: 12px;
	background: var(--bs-papier);
}

.bs-elemente__svg {
	display: block;
	width: 100%;
	height: auto;
	overflow: visible;
}

.bs-elemente__el {
	transform-box: fill-box;
	transform-origin: center;
	transition: transform 0.6s ease;
}

.bs-elemente__el.is-aktiv {
	animation: bs-leuchten 3s ease-in-out infinite alternate;
}

.bs-elemente__titel {
	margin: 4px 0 10px;
	font-family: var(--bs-font-display);
	font-size: clamp(26px, 2.6vw, 34px);
	line-height: 1.1;
}

.bs-elemente__zeile {
	margin: 0 0 8px;
	line-height: 1.6;
	color: var(--bs-text-mittel);
}

@media (max-width: 640px) {
	.bs-elemente {
		grid-template-columns: minmax(0, 1fr);
		justify-items: center;
		text-align: center;
	}

	.bs-elemente__bild {
		width: min(240px, 80%);
	}
}

/* Organuhr */
.bs-organuhr {
	display: grid;
	grid-template-columns: minmax(260px, 460px) minmax(0, 1fr);
	gap: clamp(28px, 5vw, 72px);
	align-items: center;
}

.bs-organuhr__uhr {
	position: relative;
}

.bs-organuhr__svg {
	display: block;
	width: 100%;
	height: auto;
	overflow: visible;
}

.bs-organuhr__seg {
	cursor: pointer;
	outline: none;
}

.bs-organuhr__seg path {
	fill: var(--farbe);
	fill-opacity: 0.13;
	stroke: var(--bs-leinen, #F3EEE4);
	stroke-width: 1;
	transition: fill-opacity 0.35s ease;
}

.bs-organuhr__seg text {
	font-family: var(--bs-font-body, "Work Sans", sans-serif);
	font-size: 9.5px;
	font-weight: 500;
	fill: var(--bs-see, #1D3B42);
	pointer-events: none;
	transition: fill 0.35s ease;
}

.bs-organuhr__seg:hover path,
.bs-organuhr__seg:focus-visible path {
	fill-opacity: 0.32;
}

.bs-organuhr__seg.is-jetzt path {
	fill-opacity: 0.55;
}

.bs-organuhr__seg.is-gewaehlt path {
	fill-opacity: 0.92;
}

.bs-organuhr__seg.is-gewaehlt text {
	fill: #F3EEE4;
}

.bs-organuhr__zeiger {
	transform-box: view-box;
	transform-origin: 150px 150px;
	transition: transform 1s ease;
}

.bs-organuhr__mitte {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 46%;
	transform: translate(-50%, -50%);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 2px;
	text-align: center;
	pointer-events: none;
}

.bs-organuhr__jetzt {
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--bs-honig);
}

.bs-organuhr__organ {
	font-family: var(--bs-font-display);
	font-size: clamp(20px, 2.6vw, 30px);
	line-height: 1.05;
}

.bs-organuhr__zeit {
	font-size: 14px;
	color: var(--bs-text-mittel);
}

.bs-organuhr__h2 {
	margin: 4px 0 14px;
}

.bs-organuhr__intro {
	line-height: 1.7;
	color: var(--bs-text-mittel);
}

.bs-organuhr__karte {
	margin-top: 22px;
	padding: 22px 24px;
	border-radius: 12px;
	background: var(--bs-salbei);
}

.bs-organuhr__karte p {
	margin: 0;
	line-height: 1.7;
}

.bs-organuhr__kartenkopf {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 12px;
	align-items: center;
	margin-bottom: 10px !important;
	font-family: var(--bs-font-display);
	font-size: 26px;
}

.bs-organuhr__chip {
	padding: 3px 10px;
	border-radius: 999px;
	background: rgba(250, 247, 240, 0.8);
	font-family: var(--bs-font-body, "Work Sans", sans-serif);
	font-size: 13px;
	letter-spacing: 0.02em;
}

.bs-organuhr__zurueck {
	margin-top: 12px;
	padding: 0;
	border: 0;
	background: none;
	font: inherit;
	font-size: 15px;
	font-weight: 500;
	text-decoration: underline;
	text-underline-offset: 3px;
	color: var(--bs-see);
	cursor: pointer;
}

.bs-organuhr__hinweis {
	margin-top: 14px;
	font-size: 13px;
	color: var(--bs-text-mittel);
}

.bs-organuhr__titel {
	margin: 4px 0 10px;
	font-family: var(--bs-font-display);
	font-size: clamp(24px, 2.4vw, 32px);
	line-height: 1.15;
}

.bs-organuhr__info {
	line-height: 1.7;
	color: var(--bs-text-mittel);
}

.bs-organuhr--kompakt {
	grid-template-columns: minmax(200px, 300px) minmax(0, 1fr);
	margin-top: clamp(24px, 3vw, 40px);
	padding: clamp(24px, 3vw, 40px);
	border: 1px solid var(--bs-linie);
	border-radius: 12px;
	background: var(--bs-papier);
}

.bs-organuhr--kompakt .bs-organuhr__seg text {
	font-size: 10.5px;
}

@media (max-width: 760px) {
	.bs-organuhr,
	.bs-organuhr--kompakt {
		grid-template-columns: minmax(0, 1fr);
	}

	.bs-organuhr__uhr {
		width: min(420px, 100%);
		margin: 0 auto;
	}
}

@media (prefers-reduced-motion: reduce) {
	.bs-jk-hof,
	.bs-jk-zeichen,
	.bs-elemente__el.is-aktiv {
		animation: none;
	}

	.bs-js .bs-jk-bogen {
		stroke-dashoffset: 0;
	}

	.bs-organuhr__zeiger,
	.bs-organuhr__seg path {
		transition: none;
	}
}

/* Organuhr: Ränder auf dem Handy, versteckter Zurück-Link */
.bs-organuhr__zurueck[hidden] {
	display: none;
}

@media (max-width: 781px) {
	.bs-organuhr--kompakt,
	.bs-elemente {
		padding-left: 20px;
		padding-right: 20px;
	}

	.bs-organuhr--kompakt,
	.bs-elemente {
		padding-top: 24px;
		padding-bottom: 24px;
	}

	.bs-organuhr__mitte .bs-organuhr__organ {
		font-size: 22px;
	}
}

/* ==========================================================================
   Übung zum Mitmachen und Meditationsuhr (1.8.0)
   ========================================================================== */

.bs-uebung,
.bs-meditation {
	container-type: inline-size;
	display: grid;
	grid-template-columns: minmax(220px, 420px) minmax(0, 1fr);
	gap: clamp(24px, 5vw, 64px);
	align-items: center;
	padding: clamp(24px, 4vw, 48px);
	border-radius: 12px;
	background: var(--bs-salbei);
}

.bs-uebung__buehne {
	position: relative;
	border-radius: 10px;
	background: var(--bs-papier);
}

.bs-uebung__figur {
	display: block;
	width: 100%;
	height: auto;
}

.bs-uebung__figur polyline,
.bs-uebung__figur circle {
	fill: none;
	stroke: var(--bs-schilf, #3F5A3A);
	stroke-width: 4;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.bs-uebung__hinten polyline {
	stroke-opacity: 0.4;
}

.bs-uebung__boden {
	stroke: var(--bs-linie, #D9D2C1);
	stroke-width: 1.5;
}

.bs-uebung__atem {
	position: absolute;
	left: 16px;
	right: 16px;
	bottom: 12px;
	height: 4px;
	border-radius: 2px;
	background: rgba(63, 90, 58, 0.15);
	overflow: hidden;
}

.bs-uebung__atem span {
	display: block;
	height: 100%;
	width: 0;
	background: var(--bs-gold, #C9A35C);
}

.bs-uebung__titel,
.bs-meditation__titel {
	margin: 4px 0 12px;
	font-size: clamp(28px, 3vw, 40px);
}

.bs-uebung__intro,
.bs-meditation__intro {
	line-height: 1.7;
	color: var(--bs-text-mittel);
}

.bs-uebung__karte {
	margin-top: 18px;
	padding: 18px 20px;
	border-radius: 10px;
	background: rgba(250, 247, 240, 0.75);
	min-height: 150px;
}

.bs-uebung__karte p {
	margin: 0;
}

.bs-uebung__schritt {
	font-size: 13px;
	letter-spacing: 0.06em;
	color: var(--bs-text-mittel);
}

.bs-uebung__schritt strong {
	font-weight: 500;
	color: var(--bs-honig);
}

.bs-uebung__name {
	margin: 6px 0 6px !important;
	font-family: var(--bs-font-display);
	font-size: 26px;
	line-height: 1.15;
}

.bs-uebung__anleitung {
	line-height: 1.6;
}

.bs-uebung__steuerung {
	display: flex;
	align-items: center;
	gap: 18px;
	margin-top: 8px;
}

.bs-uebung__steuerung .bs-atem__knopf {
	margin-top: 0;
}

.bs-uebung__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	padding: 0;
	border: 1px solid var(--bs-see);
	border-radius: 50%;
	background: none;
	color: var(--bs-see);
	cursor: pointer;
}

.bs-uebung__btn svg {
	width: 12px;
	height: 12px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.6;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.bs-uebung__punkte {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 16px 0 0;
	padding: 0;
	list-style: none;
}

.bs-uebung__punkte button {
	width: 10px;
	height: 10px;
	padding: 0;
	border: 1px solid var(--bs-schilf);
	border-radius: 50%;
	background: transparent;
	cursor: pointer;
}

.bs-uebung__punkte button[aria-current="step"] {
	background: var(--bs-schilf);
	transform: scale(1.25);
}

.bs-uebung__hinweis,
.bs-meditation__ton {
	margin-top: 14px;
	font-size: 13px;
	color: var(--bs-text-mittel);
}

/* Meditationsuhr */
.bs-meditation__buehne {
	position: relative;
	display: grid;
	place-items: center;
	width: min(360px, 100%);
	aspect-ratio: 1;
	margin: 0 auto;
}

.bs-meditation__ring {
	position: absolute;
	border-radius: 50%;
	border: 1px solid rgba(63, 90, 58, 0.35);
}

.bs-meditation__ring--1 { inset: 0; }
.bs-meditation__ring--2 { inset: 13%; border-color: rgba(63, 90, 58, 0.25); }
.bs-meditation__ring--3 {
	inset: 26%;
	border: 0;
	background: radial-gradient(circle at 40% 35%, #FAF7F0 0%, #CBD7C6 55%, #8FA587 100%);
	box-shadow: 0 10px 40px rgba(63, 90, 58, 0.22);
}

@keyframes bs-meditation-atmen {
	0%, 100% { transform: scale(0.86); }
	50% { transform: scale(1.06); }
}

.bs-meditation.is-aktiv .bs-meditation__ring {
	animation: bs-meditation-atmen 10s ease-in-out infinite;
}

.bs-meditation.is-aktiv .bs-meditation__ring--2 { animation-delay: -0.4s; }
.bs-meditation.is-aktiv .bs-meditation__ring--1 { animation-delay: -0.8s; }

.bs-meditation__zeit {
	position: relative;
	font-family: var(--bs-font-display);
	font-size: clamp(34px, 4vw, 48px);
	color: var(--bs-see);
	font-variant-numeric: tabular-nums;
}

.bs-meditation__dauer {
	display: flex;
	gap: 10px;
	margin-top: 18px;
}

.bs-meditation__dauer button {
	min-height: 40px;
	padding: 0 16px;
	border: 1px solid #A89F8B;
	border-radius: 999px;
	background: rgba(250, 247, 240, 0.6);
	color: var(--bs-see);
	font: inherit;
	font-size: 14px;
	cursor: pointer;
}

.bs-meditation__dauer button[aria-checked="true"] {
	border-color: var(--bs-see);
	background: var(--bs-see);
	color: var(--bs-leinen);
}

.bs-meditation__ansage {
	min-height: 1.4em;
	margin: 10px 0 0;
	font-family: var(--bs-font-display);
	font-size: 22px;
	font-style: italic;
}

/* Schmal: untereinander */
@container (max-width: 640px) {
	.bs-uebung,
	.bs-meditation {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 760px) {
	.bs-uebung,
	.bs-meditation {
		grid-template-columns: minmax(0, 1fr);
		padding: 22px 20px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.bs-meditation.is-aktiv .bs-meditation__ring {
		animation: none;
	}
}

.bs-uebung__figur [data-glied="rumpf"] {
	stroke-width: 7;
}

/* Vorderansicht (Qi Gong): beide Körperseiten gleich kräftig */
.bs-uebung--vorn .bs-uebung__hinten polyline {
	stroke-opacity: 1;
}

/* ==========================================================================
   Atemmuster, Seite „Zum Mitmachen“ (1.9.0)
   ========================================================================== */

.bs-atem__muster {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 18px;
}

.bs-atem__muster button {
	min-height: 36px;
	padding: 0 14px;
	border: 1px solid #A89F8B;
	border-radius: 999px;
	background: rgba(250, 247, 240, 0.6);
	color: var(--bs-see);
	font: inherit;
	font-size: 14px;
	cursor: pointer;
}

.bs-atem__muster button[aria-checked="true"] {
	border-color: var(--bs-see);
	background: var(--bs-see);
	color: var(--bs-leinen);
}

.bs-atem__info {
	margin-top: 12px !important;
	font-size: 15px;
	line-height: 1.6;
	color: var(--bs-text-mittel);
}

@container (max-width: 620px) {
	.bs-atem__muster {
		justify-content: center;
	}
}

/* Seite „Zum Mitmachen“ */
.bs-mitmachen__abschnitt {
	scroll-margin-top: calc(var(--bs-kopf-sticky, 64px) + 16px);
}

.bs-mitmachen__abschnitt + .bs-mitmachen__abschnitt {
	padding-top: 0;
}

/* Startseite: schmale Zeile */
.bs-mitmachen-zeile {
	margin-top: clamp(32px, 4vw, 56px) !important;
}

.bs-mitmachen-zeile a {
	display: flex;
	align-items: center;
	gap: 20px;
	padding: 20px 28px;
	border: 1px solid var(--bs-linie);
	border-radius: 12px;
	background: var(--bs-papier);
	color: var(--bs-see);
	text-decoration: none;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.bs-mitmachen-zeile a:hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 30px rgba(29, 59, 66, 0.1);
}

.bs-mitmachen-zeile__kreis {
	position: relative;
	flex: none;
	width: 52px;
	height: 52px;
	border-radius: 50%;
	border: 1px dashed rgba(63, 90, 58, 0.5);
}

.bs-mitmachen-zeile__kreis span {
	position: absolute;
	inset: 0;
	border-radius: 50%;
	background: radial-gradient(circle at 40% 35%, #F3EEE4 0%, #B9C9B4 45%, #3F5A3A 100%);
	transform: scale(0.5);
	animation: bs-zeile-atmen 8s ease-in-out infinite;
}

@keyframes bs-zeile-atmen {
	0%, 100% { transform: scale(0.45); }
	45% { transform: scale(0.95); }
}

.bs-mitmachen-zeile__text {
	display: flex;
	flex-direction: column;
	gap: 4px;
	flex: 1;
}

.bs-mitmachen-zeile__titel {
	font-family: var(--bs-font-display);
	font-size: clamp(20px, 2.2vw, 26px);
	line-height: 1.2;
}

.bs-mitmachen-zeile__mehr {
	font-size: 15px;
	font-weight: 500;
	text-decoration: underline;
	text-underline-offset: 3px;
	white-space: nowrap;
}

@media (max-width: 640px) {
	.bs-mitmachen-zeile a {
		flex-wrap: wrap;
		padding: 18px 20px;
	}

	.bs-mitmachen-zeile__mehr {
		flex-basis: 100%;
	}
}

.bs-mitmachen-hinweis {
	margin-top: 32px !important;
	padding: 16px 20px;
	border-left: 3px solid var(--bs-gold, #C9A35C);
	background: var(--bs-papier);
	font-weight: 500;
}

@media (prefers-reduced-motion: reduce) {
	.bs-mitmachen-zeile__kreis span {
		animation: none;
	}
}

/* Übung auf dem Handy: Figur, aktuelle Haltung und Steuerung passen gemeinsam auf den Bildschirm */
@media (max-width: 760px) {
	.bs-uebung {
		grid-template-columns: minmax(0, 1fr);
		grid-template-areas: "kopf" "buehne" "karte" "steuerung" "punkte" "hinweis";
		gap: 12px;
	}

	.bs-uebung__text {
		display: contents;
	}

	.bs-uebung__kopf { grid-area: kopf; }
	.bs-uebung__buehne { grid-area: buehne; }
	.bs-uebung__karte { grid-area: karte; }
	.bs-uebung__steuerung { grid-area: steuerung; }
	.bs-uebung__punkte { grid-area: punkte; }
	.bs-uebung__hinweis { grid-area: hinweis; }

	.bs-uebung__kopf .bs-uebung__intro {
		margin-bottom: 4px;
		font-size: 15px;
	}

	.bs-uebung__buehne {
		width: min(100%, 36vh);
		justify-self: center;
	}

	.bs-uebung__karte {
		margin-top: 0;
		padding: 12px 16px;
		min-height: 0;
	}

	.bs-uebung__name {
		font-size: 22px;
	}

	.bs-uebung__anleitung {
		font-size: 15px;
		line-height: 1.5;
	}

	.bs-uebung__steuerung {
		justify-content: center;
		margin-top: 0;
	}

	.bs-uebung__punkte {
		justify-content: center;
		margin-top: 0;
	}
}

/* ==========================================================================
   1.10.0 – Kräuterlexikon, Rezepte im Jahreskreis, Element-Test
   ========================================================================== */

.bs-sr {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

/* Farben der Jahreszeiten */
.bs-zeit--fruehling { --bs-zeit: #3F5A3A; --bs-zeit-hell: #E3E9E1; }
.bs-zeit--sommer { --bs-zeit: #9A4E2E; --bs-zeit-hell: #F3E3DA; }
.bs-zeit--spaetsommer { --bs-zeit: #7F5614; --bs-zeit-hell: #F2E8D3; }
.bs-zeit--herbst { --bs-zeit: #4F5F5E; --bs-zeit-hell: #E6EBEA; }
.bs-zeit--winter { --bs-zeit: #1D3B42; --bs-zeit-hell: #DBE5E7; }

/* ---------- Filterknöpfe ---------- */
.bs-filter {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0 0 clamp(24px, 3vw, 36px);
}

.bs-filter__knopf {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 9px 18px;
	border: 1px solid var(--bs-linie);
	border-radius: 999px;
	background: var(--bs-papier);
	color: var(--bs-see);
	font: 500 15px/1.2 var(--bs-font-text);
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.bs-filter__knopf span {
	font-size: 12px;
	min-width: 22px;
	padding: 2px 6px;
	border-radius: 999px;
	background: rgba(29, 59, 66, 0.08);
	text-align: center;
}

.bs-filter__knopf em {
	font-style: normal;
	font-size: 11px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--bs-honig);
}

.bs-filter__knopf:hover {
	border-color: var(--bs-see);
}

.bs-filter__knopf.is-aktiv {
	background: var(--bs-see);
	border-color: var(--bs-see);
	color: var(--bs-leinen);
}

.bs-filter__knopf.is-aktiv span {
	background: rgba(243, 238, 228, 0.18);
}

.bs-filter__knopf.is-aktiv em {
	color: #E3C891;
}

.bs-filter__knopf:focus-visible {
	outline: 2px solid var(--bs-honig);
	outline-offset: 2px;
}

/* ---------- Kopfzeile kleiner Abschnitte ---------- */
.bs-lexikon__kopf {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 6px 24px;
	margin-bottom: 24px;
}

.bs-lexikon__kopf .is-style-eyebrow {
	flex-basis: 100%;
	margin: 0;
}

.bs-lexikon__kopf h2 {
	margin: 0;
	flex: 1;
}

.bs-lexikon__alle {
	font-weight: 500;
	color: var(--bs-see);
}

/* ---------- Kräuterlexikon: Karten ---------- */
.bs-lexikon__karten,
.bs-rezepte__karten {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
	gap: clamp(14px, 2vw, 24px);
	margin: 0;
	padding: 0;
	list-style: none;
}

.bs-krautkarte,
.bs-rezeptkarte {
	display: flex;
}

.bs-krautkarte[hidden],
.bs-rezeptkarte[hidden] {
	display: none;
}

.bs-krautkarte a {
	display: flex;
	flex: 1;
	flex-direction: column;
	align-items: center;
	padding: 26px 18px 22px;
	border: 1px solid var(--bs-linie);
	border-radius: 14px;
	background: var(--bs-papier);
	color: var(--bs-see);
	text-align: center;
	text-decoration: none;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.bs-krautkarte a:hover {
	transform: translateY(-3px);
	box-shadow: 0 14px 34px rgba(29, 59, 66, 0.1);
}

.bs-krautkarte__bild {
	display: grid;
	place-items: center;
	width: 120px;
	height: 120px;
	margin-bottom: 12px;
	border-radius: 50%;
	background: var(--bs-salbei);
	color: var(--bs-schilf);
}

.bs-krautkarte__name {
	font-family: var(--bs-font-hand);
	font-size: 32px;
	line-height: 1;
}

.bs-krautkarte__latin {
	margin-top: 6px;
	font-family: var(--bs-font-display);
	font-style: italic;
	font-size: 17px;
	color: var(--bs-text-mittel);
}

.bs-krautkarte__zeit {
	margin-top: auto;
	padding-top: 14px;
	font-size: 13px;
	line-height: 1.4;
	color: var(--bs-text-leise);
}

.bs-krautkarte.is-saison .bs-krautkarte__zeit {
	color: var(--bs-schilf);
	font-weight: 500;
}

.bs-lexikon__regeln {
	margin-top: clamp(40px, 5vw, 64px);
	padding: clamp(24px, 3vw, 40px);
	border-radius: 16px;
	background: var(--bs-salbei);
	color: var(--bs-see);
}

.bs-lexikon__regeln h2 {
	margin: 0 0 16px;
	font-size: clamp(26px, 3vw, 34px);
}

.bs-lexikon__regeln ul {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px 32px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.bs-lexikon__regeln li strong {
	display: block;
	font-weight: 600;
}

.bs-lexikon__hinweis {
	max-width: 760px;
	margin: 0 0 clamp(40px, 5vw, 64px);
	padding: 16px 20px;
	border-left: 3px solid var(--bs-honig);
	background: var(--bs-papier);
	font-size: 15px;
	line-height: 1.6;
	color: var(--bs-text-mittel);
}

.bs-lexikon--weitere,
.bs-rezepte--weitere {
	margin-top: clamp(48px, 6vw, 80px) !important;
}

/* ---------- Einzelseiten Pflanze und Rezept ---------- */
.bs-kraut,
.bs-rezept {
	max-width: 900px;
	margin-inline: auto !important;
}

.bs-kraut__kopf,
.bs-rezept__kopf {
	margin-bottom: clamp(24px, 3vw, 36px);
}

.bs-kraut__kopf .is-style-eyebrow,
.bs-rezept__kopf .is-style-eyebrow {
	margin-top: 18px;
}

.bs-kraut__titel,
.bs-rezept__titel {
	margin-top: 6px;
}

.bs-kraut__intro,
.bs-rezept__intro {
	max-width: 680px;
	font-size: clamp(18px, 1.8vw, 21px);
	line-height: 1.55;
	color: var(--bs-text-mittel);
}

.bs-kraut__inhalt > h2,
.bs-rezept__inhalt > h2 {
	margin-top: clamp(32px, 4vw, 48px);
}

.bs-rezept__bild {
	margin-bottom: clamp(24px, 3vw, 36px);
	border-radius: 16px;
	overflow: hidden;
}

/* ---------- Steckbrief ---------- */
.bs-krautpass {
	display: grid;
	grid-template-columns: minmax(180px, 260px) minmax(0, 1fr);
	gap: clamp(20px, 3vw, 40px);
	align-items: center;
	margin-bottom: clamp(32px, 4vw, 48px);
	padding: clamp(20px, 3vw, 36px);
	border: 1px solid var(--bs-linie);
	border-radius: 18px;
	background: var(--bs-papier);
}

.bs-krautpass__bild {
	display: grid;
	place-items: center;
	aspect-ratio: 1;
	border-radius: 50%;
	background: var(--bs-salbei);
	color: var(--bs-schilf);
}

.bs-krautpass__bild .bs-icon {
	width: 72%;
	height: auto;
}

.bs-krautpass__latin {
	margin: 0 0 14px;
	font-family: var(--bs-font-display);
	font-style: italic;
	font-size: clamp(24px, 2.6vw, 30px);
	line-height: 1.1;
	color: var(--bs-see);
}

.bs-krautpass__liste {
	display: grid;
	gap: 10px;
	margin: 0;
}

.bs-krautpass__liste div {
	display: grid;
	grid-template-columns: 120px minmax(0, 1fr);
	gap: 12px;
	padding-bottom: 10px;
	border-bottom: 1px solid var(--bs-linie);
}

.bs-krautpass__liste dt {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--bs-honig);
	padding-top: 3px;
}

.bs-krautpass__liste dd {
	margin: 0;
	font-size: 16px;
	line-height: 1.45;
}

.bs-krautpass__band {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: 4px;
	margin: 18px 0 0;
	padding: 0;
	list-style: none;
}

.bs-krautpass__band li {
	display: grid;
	place-items: center;
	height: 30px;
	border-radius: 6px;
	background: rgba(29, 59, 66, 0.06);
	font-size: 12px;
	font-weight: 500;
	color: var(--bs-text-leise);
}

.bs-inhalt .bs-krautpass__band {
	padding: 0 !important;
	margin-left: 0 !important;
}

.bs-inhalt .bs-krautpass__band li {
	position: relative;
	margin: 0 !important;
	padding: 0 !important;
}

.bs-krautpass__band li::before,
.bs-krautpass__band li::marker,
.bs-et__tipps li::before,
.bs-lexikon__karten li::before,
.bs-rezepte__karten li::before {
	content: none !important;
}

.bs-krautpass__band li.is-an {
	background: var(--bs-schilf);
	color: var(--bs-leinen);
}

.bs-krautpass__band li.is-jetzt {
	box-shadow: 0 0 0 2px var(--bs-papier), 0 0 0 4px var(--bs-honig);
}

.bs-krautpass__jetzt {
	margin: 12px 0 0;
	font-size: 14px;
	font-weight: 500;
	color: var(--bs-schilf);
}

/* ---------- Rezepte: Karten ---------- */
.bs-rezepte__karten {
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
}

.bs-rezeptkarte a {
	display: flex;
	flex: 1;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid var(--bs-linie);
	border-radius: 14px;
	background: var(--bs-papier);
	color: var(--bs-see);
	text-decoration: none;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.bs-rezeptkarte a:hover {
	transform: translateY(-3px);
	box-shadow: 0 14px 34px rgba(29, 59, 66, 0.1);
}

.bs-rezeptkarte__bild img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.bs-rezeptkarte__platzhalter {
	position: relative;
	display: grid;
	place-items: center;
	aspect-ratio: 4 / 3;
	background: var(--bs-zeit-hell, var(--bs-salbei));
	color: var(--bs-zeit, var(--bs-schilf));
}

.bs-rezeptkarte__kreis {
	display: grid;
	place-items: center;
	width: 38%;
	aspect-ratio: 1;
	border-radius: 50%;
	background: var(--bs-papier);
	box-shadow: 0 0 0 10px rgba(255, 255, 255, 0.35);
	transition: transform 0.4s ease;
}

.bs-rezeptkarte a:hover .bs-rezeptkarte__kreis {
	transform: scale(1.06);
}

.bs-rezeptkarte__zeichen {
	width: 56%;
	height: auto;
	fill: currentColor;
}

.bs-rezeptkarte__text {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 18px 20px 22px;
}

.bs-rezeptkarte__meta {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--bs-honig);
}

.bs-rezeptkarte__titel {
	font-family: var(--bs-font-display);
	font-size: 25px;
	line-height: 1.15;
}

.bs-rezeptkarte__auszug {
	font-size: 15px;
	line-height: 1.5;
	color: var(--bs-text-mittel);
}

.bs-rezepte__test {
	margin-top: clamp(32px, 4vw, 48px);
	font-size: 16px;
	color: var(--bs-text-mittel);
}

.bs-rezepte__test a {
	font-weight: 500;
	color: var(--bs-see);
}

/* ---------- Rezept-Angaben ---------- */
.bs-rezeptinfo {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 22px;
	margin-bottom: clamp(24px, 3vw, 36px);
	padding: 14px 0;
	border-top: 1px solid var(--bs-linie);
	border-bottom: 1px solid var(--bs-linie);
	font-size: 15px;
	color: var(--bs-see);
}

.bs-rezeptinfo__zeit {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 6px 14px 6px 10px;
	border-radius: 999px;
	background: var(--bs-zeit-hell);
	color: var(--bs-zeit);
	font-weight: 600;
	text-decoration: none;
}

.bs-rezeptinfo__zeit svg {
	fill: currentColor;
}

.bs-rezeptinfo__wert {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.bs-rezeptinfo__zahl {
	display: inline-grid;
	place-items: center;
	width: 22px;
	height: 22px;
	border: 1.6px solid currentColor;
	border-radius: 50%;
	font-size: 12px;
	font-weight: 600;
}

.bs-rezeptinfo__drucken {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-left: auto;
	padding: 8px 14px;
	border: 1px solid var(--bs-linie);
	border-radius: 999px;
	background: transparent;
	color: var(--bs-see);
	font: 500 14px/1 var(--bs-font-text);
	cursor: pointer;
}

.bs-rezeptinfo__drucken:hover {
	border-color: var(--bs-see);
}

/* ---------- Ernährung: Zeile mit Rezepten und Test ---------- */
.bs-ernaehrung-zeile {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 16px;
	margin-top: clamp(24px, 3vw, 40px) !important;
}

.bs-ernaehrung-zeile__link {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 20px 26px;
	border: 1px solid var(--bs-linie);
	border-radius: 12px;
	background: var(--bs-papier);
	color: var(--bs-see);
	text-decoration: none;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.bs-ernaehrung-zeile__link:hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 30px rgba(29, 59, 66, 0.1);
}

.bs-ernaehrung-zeile__titel {
	font-family: var(--bs-font-display);
	font-size: clamp(20px, 2.2vw, 26px);
	line-height: 1.2;
}

/* ---------- Element-Test ---------- */
.bs-elementtest {
	--et-gold: #C9A35C;
	position: relative;
	padding: clamp(28px, 5vw, 64px);
	border-radius: 22px;
	background: radial-gradient(ellipse at 70% 30%, #24474F 0%, var(--bs-see) 60%, var(--bs-see-tief) 100%);
	color: var(--bs-leinen);
	overflow: hidden;
}

.bs-elementtest a {
	color: #E3C891;
}

.bs-elementtest [hidden] {
	display: none !important;
}

.bs-elementtest .bs-jahreskreis__eyebrow {
	color: var(--et-gold);
}

.bs-et__start {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.75fr);
	gap: clamp(24px, 4vw, 56px);
	align-items: center;
}

.bs-et__titel {
	margin: 8px 0 16px;
	font-family: var(--bs-font-display);
	font-weight: 500;
	font-size: clamp(36px, 4.4vw, 56px);
	line-height: 1.04;
	color: var(--bs-leinen);
}

.bs-et__titel em,
.bs-et__elname em {
	font-style: italic;
	color: var(--et-gold);
}

.bs-et__starttext > p {
	max-width: 560px;
	font-size: 17px;
	line-height: 1.6;
	color: var(--bs-hell-auf-see);
}

.bs-elementtest .wp-element-button {
	margin-top: 8px;
	padding: 14px 28px;
	border: 0;
	border-radius: 999px;
	background: var(--et-gold);
	color: var(--bs-see-tief);
	font: 600 16px/1 var(--bs-font-text);
	cursor: pointer;
	transition: transform 0.2s ease, background-color 0.2s ease;
}

.bs-elementtest .wp-element-button:hover {
	background: #D8B677;
	transform: translateY(-1px);
}

.bs-et__klein {
	margin-top: 14px;
	font-size: 13px !important;
	color: rgba(243, 238, 228, 0.6) !important;
}

.bs-et__kreis {
	display: block;
	width: 100%;
	max-width: 320px;
	margin-inline: auto;
	overflow: visible;
	color: var(--bs-leinen);
}

.bs-et__kreisel circle {
	fill: var(--bs-see-tief);
	stroke: rgba(243, 238, 228, 0.35);
}

.bs-et__kreisel path {
	fill: rgba(243, 238, 228, 0.6);
}

.bs-js .bs-et__kreisel {
	transform-box: fill-box;
	transform-origin: center;
	animation: bs-et-leuchten 10s ease-in-out infinite;
}

.bs-et__kreisel--1 { animation-delay: 2s !important; }
.bs-et__kreisel--2 { animation-delay: 4s !important; }
.bs-et__kreisel--3 { animation-delay: 6s !important; }
.bs-et__kreisel--4 { animation-delay: 8s !important; }

@keyframes bs-et-leuchten {
	0%, 24%, 100% { transform: scale(1); }
	8%, 16% { transform: scale(1.18); }
}

/* Frage */
.bs-et__frage {
	max-width: 760px;
	margin-inline: auto;
}

.bs-et__fortschritt {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-bottom: 22px;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--et-gold);
}

.bs-et__balken {
	flex: 1;
	height: 4px;
	border-radius: 4px;
	background: rgba(243, 238, 228, 0.15);
	overflow: hidden;
}

.bs-et__balken span {
	display: block;
	height: 100%;
	width: 0;
	background: var(--et-gold);
	transition: width 0.4s ease;
}

.bs-et__fragetext {
	margin: 0 0 24px;
	font-family: var(--bs-font-display);
	font-weight: 500;
	font-size: clamp(28px, 3.4vw, 40px);
	line-height: 1.1;
	color: var(--bs-leinen);
	outline: none;
}

.bs-et__antworten {
	display: grid;
	gap: 10px;
}

.bs-et__antwort {
	padding: 16px 20px;
	border: 1px solid rgba(243, 238, 228, 0.25);
	border-radius: 12px;
	background: rgba(243, 238, 228, 0.04);
	color: var(--bs-leinen);
	font: 400 17px/1.4 var(--bs-font-text);
	text-align: left;
	cursor: pointer;
	transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.bs-et__antwort:hover,
.bs-et__antwort:focus-visible {
	border-color: var(--et-gold);
	background: rgba(201, 163, 92, 0.12);
	outline: none;
	transform: translateX(3px);
}

.bs-et__zurueck,
.bs-et__neu {
	margin-top: 18px;
	padding: 8px 0;
	border: 0;
	background: none;
	color: rgba(243, 238, 228, 0.75);
	font: 500 15px/1 var(--bs-font-text);
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
}

/* Ergebnis */
.bs-et__elkopf {
	display: flex;
	align-items: center;
	gap: clamp(16px, 3vw, 28px);
	margin-bottom: 18px;
}

.bs-et__zeichen {
	display: grid;
	place-items: center;
	flex: none;
	width: clamp(96px, 12vw, 132px);
	height: clamp(96px, 12vw, 132px);
	border-radius: 50%;
	background: var(--bs-leinen);
}

.bs-et__zeichen svg {
	width: 62%;
	height: auto;
	fill: var(--bs-honig);
}

.bs-js .bs-et__ergebnis:not([hidden]) .bs-et__zeichen {
	animation: bs-et-auf 0.7s cubic-bezier(0.2, 0.8, 0.2, 1.2) both;
}

@keyframes bs-et-auf {
	from { transform: scale(0.6); opacity: 0; }
	to { transform: scale(1); opacity: 1; }
}

.bs-et__elname {
	margin: 4px 0 0;
	font-family: var(--bs-font-display);
	font-weight: 500;
	font-size: clamp(34px, 4.4vw, 54px);
	line-height: 1.02;
	color: var(--bs-leinen);
	outline: none;
}

.bs-et__elname em {
	display: block;
	font-size: 0.62em;
}

.bs-et__eltext {
	max-width: 720px;
	font-size: 18px;
	line-height: 1.6;
	color: var(--bs-hell-auf-see);
}

.bs-et__tipps {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
	margin: 24px 0 0;
	padding: 0;
	list-style: none;
}

.bs-et__tipps li {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 18px 20px;
	border-radius: 14px;
	background: rgba(243, 238, 228, 0.07);
	font-size: 15px;
	line-height: 1.55;
	color: var(--bs-hell-auf-see);
}

.bs-et__tipps strong {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--et-gold);
}

.bs-et__tipps a {
	font-weight: 500;
}

.bs-et__mix {
	display: grid;
	gap: 8px;
	max-width: 520px;
	margin-top: 28px;
}

.bs-et__mixzeile {
	display: grid;
	grid-template-columns: 70px minmax(0, 1fr) 48px;
	align-items: center;
	gap: 12px;
	font-size: 14px;
	color: rgba(243, 238, 228, 0.75);
}

.bs-et__mixbalken {
	height: 8px;
	border-radius: 8px;
	background: rgba(243, 238, 228, 0.12);
	overflow: hidden;
}

.bs-et__mixbalken span {
	display: block;
	height: 100%;
	width: 0;
	border-radius: 8px;
	background: rgba(243, 238, 228, 0.45);
	transition: width 0.8s ease 0.2s;
}

.bs-et__mixzeile.is-vorn {
	color: var(--bs-leinen);
	font-weight: 600;
}

.bs-et__mixzeile.is-vorn .bs-et__mixbalken span {
	background: var(--et-gold);
}

.bs-et__mixwert {
	text-align: right;
}

.bs-et__aktionen {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 24px;
	margin-top: 28px;
}

.bs-et__aktionen .bs-et__neu {
	margin-top: 8px;
}

.bs-et__kopiert {
	font-size: 14px;
	color: var(--et-gold);
}

.bs-et__hinweis {
	max-width: 640px;
	margin-top: 24px;
	padding-top: 18px;
	border-top: 1px solid rgba(243, 238, 228, 0.15);
	font-size: 14px;
	line-height: 1.6;
	color: rgba(243, 238, 228, 0.65);
}

@media (prefers-reduced-motion: reduce) {
	.bs-et__kreisel,
	.bs-et__zeichen {
		animation: none !important;
	}
	.bs-et__balken span,
	.bs-et__mixbalken span {
		transition: none;
	}
}

/* ---------- Mobil ---------- */
@media (max-width: 781px) {
	.bs-krautpass {
		grid-template-columns: minmax(0, 1fr);
	}
	.bs-krautpass__bild {
		width: min(200px, 60%);
		margin-inline: auto;
	}
	.bs-krautpass__liste div {
		grid-template-columns: 100px minmax(0, 1fr);
	}
	.bs-lexikon__regeln ul {
		grid-template-columns: minmax(0, 1fr);
	}
	.bs-et__start {
		grid-template-columns: minmax(0, 1fr);
	}
	.bs-et__startbild {
		order: -1;
	}
	.bs-et__kreis {
		max-width: 200px;
	}
	.bs-et__tipps {
		grid-template-columns: minmax(0, 1fr);
	}
	.bs-rezeptinfo__drucken {
		margin-left: 0;
	}
}

@media (max-width: 520px) {
	.bs-lexikon__karten {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.bs-krautkarte a {
		padding: 18px 10px 16px;
	}
	.bs-krautkarte__bild {
		width: 84px;
		height: 84px;
	}
	.bs-krautkarte__bild .bs-icon {
		width: 64px;
		height: 64px;
	}
	.bs-krautkarte__name {
		font-size: 26px;
	}
	.bs-krautpass__band li {
		height: 26px;
		font-size: 11px;
	}
	.bs-elementtest {
		margin-inline: calc(var(--bs-rand) * -0.5);
		border-radius: 16px;
	}
}

/* ---------- Rezept drucken ---------- */
@media print {
	body.single-bs_rezept .bs-header,
	body.single-bs_rezept footer,
	body.single-bs_rezept .wp-block-template-part:has(footer),
	body.single-bs_rezept .bs-brotkrumen,
	body.single-bs_rezept .bs-rezepte--weitere,
	body.single-bs_rezept .bs-rezeptinfo__drucken,
	body.single-bs_rezept .bs-blogband,
	body.single-bs_rezept .bs-newsletter {
		display: none !important;
	}
	body.single-bs_rezept {
		background: #fff !important;
		color: #000 !important;
	}
	body.single-bs_rezept .bs-rezept {
		max-width: none;
	}
	body.single-bs_rezept .bs-rezept__inhalt::after {
		content: "Rezept von spiritandbalance.de";
		display: block;
		margin-top: 24px;
		font-size: 11px;
		color: #666;
	}
}
