/* Wiederverwendbare Inhaltskomponenten des V2-Themes. */
.theme-feature-card {
	display: flex;
	height: 100%;
	flex-direction: column;
	align-items: center;
	padding: clamp(1rem, 3vw, 1.75rem);
	border: 1px solid var(--theme-color-line);
	border-radius: var(--theme-radius);
	background: var(--theme-color-surface);
	box-shadow: 0 .5rem 1.5rem rgb(16 35 62 / 7%);
	text-align: center;
}

.theme-feature-card__image {
	width: min(100%, 8rem);
	height: 7rem;
	object-fit: contain;
}

.theme-section.usp-block,
.theme-section--usp {
	padding-block: clamp(4.5rem, 7vw, 6.5rem);
	background: #fff;
}

.theme-section.usp-block .theme-row {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 3.375rem;
}

.theme-section.usp-block .theme-row + .theme-row {
	margin-top: 3.375rem;
}

.theme-section.usp-block .theme-column { grid-column: auto; }

:is(body.home, .theme-page--sectioned) .theme-section.headline-teaser {
	position: relative;
	min-height: 37.5rem;
	overflow: visible;
	--theme-hero-overlay: radial-gradient(ellipse at left, rgb(255 255 255 / 86%) 42%, rgb(255 255 255 / 38%) 59%, rgb(255 255 255 / 8%) 78%);
	background-image: var(--theme-section-image, url("/media/WellBlue-Wasseraufbereitung-Wasserfilter-Frau-trinkt.jpg"));
	background-position: var(--theme-section-image-position, center);
	background-size: cover !important;
	align-content: start;
	padding-top: var(--theme-hero-offset);
	padding-bottom: 4rem;
	padding-inline: 0;
	box-sizing: border-box;
}

:is(body.home, .theme-page--sectioned) .theme-section .theme-row {
	width: 100%;
}

:is(body.home, .theme-page--sectioned) .theme-section--category-intro {
	padding-top: clamp(3.5rem, 6vw, 5rem);
	padding-bottom: clamp(3rem, 5vw, 4.5rem);
	text-align: center;
	background: #fff;
}

:is(body.home, .theme-page--sectioned) .theme-section--category-intro h2 {
	max-width: min(100%, 60rem);
	margin: 0 auto .65rem;
	color: var(--theme-color-blue-dark);
	font-family: var(--theme-font-family-heading, "Nunito Bold", sans-serif);
	font-size: clamp(1.75rem, 2.5vw, 2.25rem);
	font-weight: 700;
	line-height: 1.3;
}

:is(body.home, .theme-page--sectioned) .theme-section--category-intro p {
	max-width: min(100%, 30rem);
	margin-inline: auto;
	margin-block: 0;
	color: var(--theme-color-muted);
	font-size: clamp(1.125rem, 1.4vw, 1.25rem);
	line-height: 1.5;
	/* Kurzer, zentrierter Teasertext mit ausgeglichenen Zeilenlängen. */
	text-wrap: balance;
}

:is(body.home, .theme-page--sectioned) .theme-section.headline-teaser h1 {
	width: 100%;
	max-width: 52rem;
	margin: 0 0 .625rem;
}

@media (min-width: 48rem) {
	/* Die Startseiten-Überschrift nutzt auf Desktop die verfügbare Hero-Breite. */
	body.home .theme-section.headline-teaser h1 {
		width: 100%;
		max-width: 52rem;
	}
}

:is(body.home, .theme-page--sectioned) .theme-section.headline-teaser p {
	max-width: 46rem;
	margin: 0;
}

:is(body.home, .theme-page--sectioned) .theme-section.headline-teaser::after {
	position: absolute;
	right: 0;
	left: 0;
	height: clamp(3.5rem, 7vw, 6rem);
	background-position: center;
	background-repeat: no-repeat;
	background-size: 100% 100%;
	content: "";
}

:is(body.home, .theme-page--sectioned) .theme-section.headline-teaser::after {
	bottom: -1px;
	background-image: url("data:image/svg+xml,%3Csvg width='100%25' height='100%25' viewBox='0 0 1280 140' preserveAspectRatio='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23fff'%3E%3Cpath d='M725.29 101.2C325.22 122.48 0 0 0 0v140h1280V0s-154.64 79.92-554.71 101.2z' fill-opacity='.3'/%3E%3Cpath d='M556.45 119.74C953.41 140 1280 14 1280 14v126H0V0s159.5 99.48 556.45 119.74z' fill-opacity='.5'/%3E%3Cpath d='M640 140c353.46 0 640-140 640-139v140H0V0s286.54 140 640 140z'/%3E%3C/g%3E%3C/svg%3E");
}

:is(body.home, .theme-page--sectioned) .theme-section--product-categories {
	position: relative;
	overflow: visible;
	padding-top: clamp(2rem, 4vw, 3.5rem);
	padding-bottom: clamp(6.5rem, 10vw, 8.5rem);
	color: #fff;
	background: linear-gradient(180deg, #75b7e0, #288cbf 38%, #0876ad);
}

:is(body.home, .theme-page--sectioned) .theme-section--product-categories::before {
	position: absolute;
	top: -1px;
	right: 0;
	left: 0;
	height: clamp(3.5rem, 7vw, 6rem);
	background-image: url("data:image/svg+xml,%3Csvg width='100%25' height='100%25' viewBox='0 0 1280 140' preserveAspectRatio='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23fff'%3E%3Cpath d='M0 51.76c36.21-2.25 77.57-3.58 126.42-3.58 320 0 320 57 640 57 271.15 0 312.58-40.91 513.58-53.4V0H0z' fill-opacity='.3'/%3E%3Cpath d='M0 24.31c43.46-5.69 94.56-9.25 158.42-9.25 320 0 320 89.24 640 89.24 256.13 0 307.28-57.16 481.58-80V0H0z' fill-opacity='.5'/%3E%3Cpath d='M0 0v3.4C28.2 1.6 59.4.59 94.42.59c320 0 320 84.3 640 84.3 285 0 316.17-66.85 545.58-81.49V0z'/%3E%3C/g%3E%3C/svg%3E");
	background-position: center top;
	background-repeat: no-repeat;
	background-size: 100% 100%;
	z-index: 1;
	pointer-events: none;
	content: "";
}

:is(body.home, .theme-page--sectioned) .theme-section--product-categories::after {
	position: absolute;
	right: 0;
	bottom: -1px;
	left: 0;
	height: clamp(3.5rem, 7vw, 6rem);
	background-image: url("data:image/svg+xml,%3Csvg width='100%25' height='100%25' viewBox='0 0 1280 140' preserveAspectRatio='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23fff'%3E%3Cpath d='M725.29 101.2C325.22 122.48 0 0 0 0v140h1280V0s-154.64 79.92-554.71 101.2z' fill-opacity='.3'/%3E%3Cpath d='M556.45 119.74C953.41 140 1280 14 1280 14v126H0V0s159.5 99.48 556.45 119.74z' fill-opacity='.5'/%3E%3Cpath d='M640 140c353.46 0 640-140 640-139v140H0V0s286.54 140 640 140z'/%3E%3C/g%3E%3C/svg%3E");
	background-position: center bottom;
	background-repeat: no-repeat;
	background-size: 100% 100%;
	z-index: 1;
	pointer-events: none;
	content: "";
}

:is(body.home, .theme-page--sectioned) .theme-section--product-categories .theme-row {
	position: relative;
	z-index: 2;
	width: min(100%, var(--theme-container-size-default));
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(2rem, 5.5vw, 3.75rem);
	margin-top: clamp(-5rem, -7.5vw, -6.5rem);
	margin-inline: auto;
}

.theme-section--product-categories .theme-column,
:is(body.home, .theme-page--sectioned) .theme-section--product-categories .theme-column {
	grid-column: auto;
	min-width: 0;
}

:is(body.home, .theme-page--sectioned) .theme-section--product-categories .theme-feature-card {
	position: relative;
	display: flex;
	height: 100%;
	flex-direction: column;
	align-items: center;
	padding: 0;
	border: 0;
	border-radius: 0;
	color: #fff;
	background: transparent;
	box-shadow: none;
	cursor: pointer;
	text-align: center;
}

:is(body.home, .theme-page--sectioned) .theme-section--product-categories .theme-feature-card__content,
:is(body.home, .theme-page--sectioned) .theme-section--product-categories a {
	color: #fff;
}

:is(body.home, .theme-page--sectioned) .theme-section--product-categories .theme-feature-card__title a {
	color: #fff;
	text-decoration: none;
}

:is(body.home, .theme-page--sectioned) .theme-section--product-categories .theme-feature-card__title a:hover,
:is(body.home, .theme-page--sectioned) .theme-section--product-categories .theme-feature-card__title a:focus-visible {
	color: #fff;
	text-decoration: none;
}

:is(body.home, .theme-page--sectioned) .theme-section--product-categories .theme-feature-card__image {
	width: min(100%, 25rem);
	max-width: 25rem;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: contain;
	margin-inline: auto;
	margin-bottom: 1.5rem;
	filter: drop-shadow(0 14px 28px rgba(0, 30, 60, 0.16));
}

:is(body.home, .theme-page--sectioned) .theme-section--product-categories .theme-feature-card__title {
	margin: 0 0 .625rem;
	color: #fff;
	font-family: var(--theme-font-family-heading, "Nunito Bold", sans-serif);
	font-size: clamp(1.4rem, 2vw, 1.5625rem);
	font-weight: 700;
	line-height: 1.5;
}

:is(body.home, .theme-page--sectioned) .theme-section--product-categories .theme-feature-card__content {
	color: #fff;
	font-family: var(--theme-font-family-base, "Nunito Regular", sans-serif);
	font-size: clamp(1.125rem, 1.4vw, 1.25rem);
	line-height: 1.5;
	margin: 0;
}

body.page .theme-page--sectioned .theme-section--product-categories .theme-feature-card__title,
body.page .theme-page--sectioned .theme-section--product-categories .theme-feature-card__content,
body.page .theme-page--sectioned .theme-section--product-categories .theme-feature-card__content p {
	color: #fff;
}

/* Branchen-Landingpages überlagern das Hero-Bild wie die Live-Referenz mit einem starken Weiß-Verlauf. */
.theme-page.theme-page--business .theme-section.headline-teaser,
.theme-page.theme-page--healthcare .theme-section.headline-teaser {
	--theme-hero-overlay: radial-gradient(at 0% 50%, rgb(255 255 255 / 76%) 47%, rgb(255 255 255 / 67%) 58%);
}

body.page .theme-page--sectioned .entry-content .theme-section.headline-teaser h1 {
	width: 100%;
	max-width: 52rem;
	margin: 0 0 .625rem;
	/* Gleiche Schriftgröße wie der Hero in base.css; die Regel schützt die Größe nur vor der generischen Inhalts-Typografie. */
	font-size: 2.1875rem;
	line-height: 1.3;
}

body.page .theme-page--sectioned .entry-content .theme-section.headline-teaser p {
	width: 100%;
	max-width: 46rem;
	margin: 0;
	font-size: 1.25rem;
	line-height: 1.5;
}

.theme-page--sectioned .theme-section--landing-intro {
	padding: 3.375rem 0 0;
}

.theme-page--sectioned .theme-section--landing-intro .theme-row,
.theme-page--sectioned .theme-section--category-intro .theme-row,
.theme-page--sectioned .theme-section--product-categories .theme-row,
.theme-page--sectioned .theme-section--sustainability .theme-row,
.theme-page--sectioned .theme-section--usp .theme-row {
	padding-block: 1.6875rem;
}

body.page .theme-page--sectioned .entry-content :is(.theme-section--landing-intro, .theme-section--category-intro) h2 {
	max-width: min(100%, 60rem);
	margin: 0 auto;
	padding-bottom: .625rem;
	color: var(--theme-color-blue-dark);
	font-size: 1.875rem;
	line-height: 1.35;
}

body.page .theme-page--sectioned .entry-content :is(.theme-section--landing-intro, .theme-section--category-intro) p {
	max-width: min(100%, 30rem);
	margin: 0 auto;
	color: #666;
	font-size: 1.25rem;
	line-height: 1.5;
	/* Kurzer, zentrierter Teasertext mit ausgeglichenen Zeilenlängen. */
	text-wrap: balance;
}

@media (min-width: 48.0625rem) {
	/* Die Unternehmensseite folgt auf Desktop der vollständigen Inhaltsbreite. */
	body.page .theme-page.theme-page--business .entry-content :is(.theme-section--landing-intro, .theme-section--category-intro) :is(h2, p) {
		max-width: none;
	}
}

section.theme-section.theme-section--promotion {
	position: relative;
	display: grid;
	overflow: hidden;
	min-height: 36.65rem;
	align-items: start;
	padding: 0 0 12.5rem;
	background-image: url("https://www.wellblue.com/media/Pappstrohhalme-und-Papierstrohhalme.jpg");
	background-position: center;
}

section.theme-section.theme-section--promotion::before,
section.theme-section.theme-section--promotion::after {
	position: absolute;
	right: 0;
	left: 0;
	z-index: 1;
	background-position: center;
	background-repeat: no-repeat;
	background-size: 100% 100%;
	pointer-events: none;
	content: "";
}

section.theme-section.theme-section--promotion::before {
	top: 0;
	height: 6.375rem;
	background-image: url("data:image/svg+xml,%3Csvg width='100%25' height='100%25' viewBox='0 0 1280 140' preserveAspectRatio='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23fff'%3E%3Cpath d='M0 51.76c36.21-2.25 77.57-3.58 126.42-3.58 320 0 320 57 640 57 271.15 0 312.58-40.91 513.58-53.4V0H0z' fill-opacity='.3'/%3E%3Cpath d='M0 24.31c43.46-5.69 94.56-9.25 158.42-9.25 320 0 320 89.24 640 89.24 256.13 0 307.28-57.16 481.58-80V0H0z' fill-opacity='.5'/%3E%3Cpath d='M0 0v3.4C28.2 1.6 59.4.59 94.42.59c320 0 320 84.3 640 84.3 285 0 316.17-66.85 545.58-81.49V0z'/%3E%3C/g%3E%3C/svg%3E");
}

section.theme-section.theme-section--promotion::before {
	/* Die einfache Kurve übernimmt die ruhige Referenzform. */
	background-image: url("data:image/svg+xml,%3Csvg width='100%25' height='100%25' viewBox='0 0 1280 140' preserveAspectRatio='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M640 140C286.54 140 0 0 0 0h1280S993.46 140 640 140z' fill='%23fff'/%3E%3C/svg%3E");
}

section.theme-section.theme-section--promotion::after {
	bottom: 0;
	height: 6.25rem;
	background-image: url("data:image/svg+xml,%3Csvg width='100%25' height='100%25' viewBox='0 0 1280 140' preserveAspectRatio='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23fff'%3E%3Cpath d='M725.29 101.2C325.22 122.48 0 0 0 0v140h1280V0s-154.64 79.92-554.71 101.2z' fill-opacity='.3'/%3E%3Cpath d='M556.45 119.74C953.41 140 1280 14 1280 14v126H0V0s159.5 99.48 556.45 119.74z' fill-opacity='.5'/%3E%3Cpath d='M640 140c353.46 0 640-140 640-139v140H0V0s286.54 140 640 140z'/%3E%3C/g%3E%3C/svg%3E");
}

section.theme-section.theme-section--promotion > .theme-section__inner {
	position: relative;
	z-index: 2;
}

section.theme-section.theme-section--promotion .theme-cta {
	width: 100%;
	max-width: none;
	padding: 2.5rem 3.75rem;
	margin-top: 0;
	border-radius: 1.125rem;
	background: var(--theme-color-blue-dark);
	box-shadow: 0 .5rem 1.25rem rgb(0 57 115 / 18%);
}

section.theme-section.theme-section--promotion .theme-cta h2 {
	padding-bottom: .625rem;
	margin: 0;
	color: #fff;
	font-size: 1.875rem;
	line-height: 1.5;
}

section.theme-section.theme-section--promotion .theme-cta__content p {
	margin: 0;
	color: #fff;
	font-size: 1.25rem;
	line-height: 1.5;
}

section.theme-section.theme-section--promotion .theme-cta .wp-element-button {
	width: auto;
	min-height: 3.4rem;
	margin-top: 1.25rem;
	padding: .9rem 1.75rem;
	border: 1px solid #fff;
	border-radius: var(--theme-radius-s);
	color: var(--theme-color-blue-dark);
	background: #fff;
	box-shadow: 0 3px 8px rgb(0 34 68 / 24%);
	font-family: "Nunito Bold", Helvetica, Arial, sans-serif;
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1.2;
	transition: color var(--theme-transition), background var(--theme-transition), border-color var(--theme-transition), box-shadow var(--theme-transition), transform var(--theme-transition);
}

section.theme-section.theme-section--promotion .theme-cta .wp-element-button:hover {
	border-color: #edf7fb;
	color: var(--theme-color-blue-dark);
	background: #edf7fb;
	box-shadow: 0 5px 12px rgb(0 34 68 / 30%);
	transform: translateY(-1px);
}

section.theme-section.theme-section--promotion .theme-cta .theme-cta__legal {
	margin: 1rem 0 0;
	color: #fff;
	font-family: "Nunito Bold", Helvetica, Arial, sans-serif;
	font-size: .75rem;
	font-weight: 700;
	line-height: 1.5;
}

/* Der Aktionskarten-Untertitel läuft wie auf der Unternehmensseite ohne Zwangsumbruch. */
body.page .theme-page--sectioned .entry-content section.theme-section--promotion-intro p {
	max-width: none;
}

/* Die Wellengrafik liegt ausschließlich in der Inhaltskarte; Abschnittshintergründe aus migrierten Inhalten bleiben wirkungslos. */
:is(.theme-section--sustainability, .theme-section--usp) {
	background-image: none !important;
	background-size: auto !important;
}

.theme-page--business .theme-section--sustainability,
.theme-page--business .theme-section--usp,
.theme-page--healthcare .theme-section--usp {
	padding-block: .3125rem 3.375rem;
	background-color: #fff;
	background-image: none;
}

.theme-page--sectioned :is(.theme-section--sustainability, .theme-section--usp) .theme-feature-card {
	display: block;
	height: auto;
	padding: 2.5rem;
	margin-top: 2.625rem;
	border: 0;
	border-radius: .375rem;
	overflow: hidden;
	background: #fff url("https://www.wellblue.com/media/WellBlue-Welle-Hintergrund.jpg") center / cover no-repeat;
	/* Der kompakte Standardschatten bleibt innerhalb des folgenden Wellenübergangs. */
	box-shadow: var(--theme-shadow);
}

.theme-page--sectioned :is(.theme-section--sustainability, .theme-section--usp) .theme-feature-card::before {
	content: "";
	display: block;
	height: 6.25rem;
	margin-bottom: 1.875rem;
	background-color: currentColor;
	color: var(--theme-color-blue-dark);
	font-size: 6.25rem;
	line-height: 1;
	text-align: center;
	-webkit-mask: var(--theme-icon-seedling) center top / auto 100% no-repeat;
	mask: var(--theme-icon-seedling) center top / auto 100% no-repeat;
}

.theme-page--sectioned .theme-section--usp .theme-feature-card::before {
	-webkit-mask-image: var(--theme-icon-droplet);
	mask-image: var(--theme-icon-droplet);
}

.theme-page--sectioned :is(.theme-section--sustainability, .theme-section--usp) .theme-feature-card__content {
	width: min(100%, 56.9375rem);
	margin-inline: auto;
	color: #666;
	text-align: center;
}

body.page .theme-page--sectioned :is(.theme-section--sustainability, .theme-section--usp) .theme-feature-card__content h4 {
	padding-bottom: .625rem;
	margin: 0;
	color: var(--theme-color-blue-dark);
	font-size: 1.3125rem;
	line-height: 1.5;
}

body.page .theme-page--sectioned :is(.theme-section--sustainability, .theme-section--usp) .theme-feature-card__content p {
	padding-bottom: 1.25rem;
	margin: 0;
	color: #666;
	font-size: 1.25rem;
	line-height: 1.5;
}

/* Migrierte Inhalte binden Kartenbilder als figure > img ohne Klasse ein; Template-Parts nutzen die __image-Klasse. */
body.page .theme-page--business .theme-section--product-categories .theme-feature-card__image,
body.page .theme-page--healthcare .theme-section--product-categories .theme-feature-card__image,
body.page .theme-page--business .theme-section--product-categories .theme-feature-card figure img,
body.page .theme-page--healthcare .theme-section--product-categories .theme-feature-card figure img {
	display: block;
	width: 16.4375rem;
	height: 25rem;
	max-width: 100%;
	margin: 0 auto 1.875rem;
	aspect-ratio: 263 / 400;
	object-fit: cover;
	border-radius: .375rem;
}

body.page .theme-page--sectioned .theme-section--product-categories {
	padding-bottom: 12.5rem;
}

body.page .theme-page--sectioned .theme-section--product-categories .theme-row {
	padding-bottom: 1.6875rem;
}

body.page .theme-page--sectioned .entry-content .theme-section--product-categories .theme-feature-card__title {
	padding-bottom: .625rem;
	margin: 0;
	color: #fff;
	font-size: 1.5625rem;
	line-height: 1.5;
}

body.page .theme-page--sectioned .entry-content .theme-section--product-categories .theme-feature-card__content p {
	margin: 0;
	color: #fff;
	font-size: 1.25rem;
	line-height: 1.5;
}

body.page .theme-page--sectioned :is(.theme-section--sustainability, .theme-section--usp) .theme-feature-card__content > :last-child {
	padding-bottom: 0;
}

/* Wiederkehrende Landingpage-Abschnitte ohne an Divi gebundene Einzelstile. */
.theme-page--sectioned .theme-section.usp-block.theme-section--background {
	background-color: #edf7fb;
	background-image: var(--theme-section-image);
	background-position: var(--theme-section-image-position, center);
}

@media (max-width: 768px) {
	:is(body.home, .theme-page--sectioned) .theme-section--product-categories .theme-row {
		grid-template-columns: 1fr;
		gap: 3rem;
		padding-top: 1.875rem;
	}

	:is(body.home, .theme-page--sectioned) .theme-section.headline-teaser {
		min-height: 26.25rem;
		padding-top: var(--theme-hero-offset);
		--theme-hero-overlay: linear-gradient(to right, rgb(255 255 255 / 92%) 0%, rgb(255 255 255 / 76%) 50%, rgb(255 255 255 / 22%) 100%);
		background-position: 50% center;
	}

	/* Der Inhalt bleibt in einem ruhigen Bereich des Bildmotivs und folgt der sichtbaren Logokante. */
	:is(body.home, .theme-page--sectioned) .theme-section.headline-teaser > .theme-section__inner {
		width: min(88%, 34rem);
		margin-right: auto;
		margin-left: 11%;
	}

	/* Das Servicesiegel wandert auf kleinen Bildschirmen unter den Text und ragt wie in der Live-Referenz über die Welle. */
	:is(body.home, .theme-page--sectioned) .theme-section.headline-teaser .theme-category-hero__badge {
		right: 1.5rem;
		bottom: -3.25rem;
	}

	:is(body.home, .theme-page--sectioned) .theme-section.headline-teaser :is(h1, p) {
		max-width: 100%;
	}

	:is(body.home, .theme-page--sectioned) .theme-section.headline-teaser h1 {
		/* Einheitliche Mobile-Größe aller Hero-Überschriften, identisch zur Kategorie-Hero-Regel in base.css. */
		font-size: 1.8125rem;
	}

	:is(body.home, .theme-page--sectioned) .theme-section.headline-teaser p {
		font-size: 1.125rem;
		line-height: 1.55;
	}

	body.page .theme-page--sectioned .entry-content .theme-section.headline-teaser :is(h1, p) {
		width: 100%;
	}

	body.page .theme-page--sectioned .entry-content .theme-section.headline-teaser h1 {
		font-size: 1.8125rem;
	}

	body.page .theme-page--sectioned .entry-content .theme-section.headline-teaser p {
		font-size: 1.125rem;
		line-height: 1.55;
	}

	section.theme-section.theme-section--promotion .theme-cta {
		padding: 1.75rem 1.25rem;
	}

	section.theme-section.theme-section--promotion .theme-cta h2 {
		font-size: 1.55rem;
		line-height: 1.35;
	}

	section.theme-section.theme-section--promotion .theme-cta__content p {
		font-size: 1.0625rem;
	}

	section.theme-section.theme-section--promotion .theme-cta .wp-element-button {
		font-size: 1.125rem;
	}
}

@media (max-width: 47.9375rem) {
	/* Auf Smartphones folgt die Hero-Kante exakt dem Header-Container. */
	:is(body.home, .theme-page--sectioned) .theme-section.headline-teaser > .theme-section__inner {
		margin-left: 1rem;
	}
}

.theme-section.usp-block .theme-column {
	height: 100%;
	min-width: 0;
}

.theme-section.usp-block .theme-feature-card {
	display: grid;
	grid-template-rows: 9.5625rem auto 1fr;
	justify-items: center;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
}

.theme-section.usp-block .theme-feature-card > .wp-block-image,
.theme-section.usp-block .theme-feature-card__image {
	width: 9.5625rem;
	height: 100%;
	max-height: none;
	margin: 0;
	align-self: stretch;
}

.theme-section.usp-block .theme-feature-card > .wp-block-image img,
.theme-section.usp-block .theme-feature-card__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center bottom;
}

.theme-section.usp-block .theme-feature-card__title {
	align-self: start;
	margin: 1rem 0 0;
	color: var(--theme-color-blue-dark);
	font-family: "Nunito Bold", Helvetica, Arial, sans-serif;
	font-size: 1.3125rem;
	font-weight: 700;
	line-height: 1.5;
}

.theme-section.usp-block .theme-feature-card__content {
	margin-top: .625rem;
	color: #666;
	font-size: 1.25rem;
	line-height: 1.5;
}

.theme-feature-card__title {
	margin: var(--theme-space-m) 0 var(--theme-space-xs);
	font-size: clamp(1.05rem, 2vw, 1.3rem);
	line-height: 1.3;
}

.theme-feature-card__title a {
	color: inherit;
	text-decoration: none;
}

.theme-feature-card__content {
	color: var(--theme-color-muted);
}

.theme-feature-card__content > :first-child,
.theme-cta__content > :first-child {
	margin-top: 0;
}

.theme-feature-card__content > :last-child,
.theme-cta__content > :last-child {
	margin-bottom: 0;
}

/* Der FAQ-Bereich folgt dem bewährten Wechsel aus weißer Einleitung und blauem Wellen-Inhaltsbereich mit lebendigem Wasser-Hintergrund. */
.theme-section--faq-intro,
body.home .theme-section--faq-intro {
	padding-block: var(--theme-section-transition-space) clamp(2.5rem, 4vw, 3.5rem);
	background: #fff;
	text-align: center;
}

.theme-section--faq-intro h2,
body.home .theme-section--faq-intro h2 {
	max-width: 100%;
	margin: 0 auto .65rem;
	color: var(--theme-color-blue-dark);
	font-family: var(--theme-font-family-heading, "Nunito Bold", sans-serif);
	font-size: clamp(1.75rem, 3vw, 2.25rem);
	font-weight: 700;
	line-height: 1.25;
}

.theme-section--faq-intro p,
.theme-section--faq-intro h2 + p,
body.home .theme-section--faq-intro p {
	max-width: min(100%, 58rem);
	margin: 0 auto;
	color: #666;
	font-family: var(--theme-font-family-base, "Nunito Regular", sans-serif);
	font-size: clamp(1.05rem, 1.8vw, 1.25rem);
	font-weight: 500;
	line-height: 1.5;
	/* Kurzer, zentrierter Teasertext mit ausgeglichenen Zeilenlängen. */
	text-wrap: balance;
}

/* Bei aufeinanderfolgenden Produkt- und FAQ-Sektionen trennt allein das FAQ-Intro die Inhaltsgruppen. */
.theme-section--product-list.theme-section--before-faq-intro {
	padding-bottom: 0 !important;
}

.theme-section--product-list.theme-section--before-faq-intro .theme-product-filter,
.theme-section--product-list.theme-section--before-faq-intro .theme-product-grid {
	margin-bottom: 0 !important;
}

.theme-section--product-list.theme-section--before-faq-intro .theme-product-grid {
	padding-bottom: 0 !important;
}

/* Der Übergang von FAQ zu den Vorteilen nutzt denselben Rhythmus wie Produktliste zu FAQ. */
.theme-section--faq + :is(.theme-section--usp, .theme-section.usp-block) {
	padding-top: var(--theme-section-transition-space) !important;
}

.theme-section--faq,
body.home .theme-section--faq {
	position: relative;
	overflow: hidden;
	padding-block: clamp(7rem, 11vw, 9.5rem);
	background-color: #0c6a9e;
	background-image: linear-gradient(180deg, rgba(8, 118, 173, 0.3) 0%, rgba(0, 57, 115, 0.45) 50%, rgba(0, 36, 74, 0.6) 100%), url("../media/water-bg-1.webp");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}

.theme-section--faq::before,
.theme-section--faq::after,
body.home .theme-section--faq::before,
body.home .theme-section--faq::after {
	position: absolute;
	right: 0;
	left: 0;
	height: clamp(3.5rem, 7vw, 6rem);
	background-position: center;
	background-repeat: no-repeat;
	background-size: 100% 100%;
	content: "";
}

.theme-section--faq::before,
body.home .theme-section--faq::before {
	top: -1px;
	background-image: url("data:image/svg+xml,%3Csvg width='100%25' height='100%25' viewBox='0 0 1280 140' preserveAspectRatio='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23fff'%3E%3Cpath d='M0 51.76c36.21-2.25 77.57-3.58 126.42-3.58 320 0 320 57 640 57 271.15 0 312.58-40.91 513.58-53.4V0H0z' fill-opacity='.3'/%3E%3Cpath d='M0 24.31c43.46-5.69 94.56-9.25 158.42-9.25 320 0 320 89.24 640 89.24 256.13 0 307.28-57.16 481.58-80V0H0z' fill-opacity='.5'/%3E%3Cpath d='M0 0v3.4C28.2 1.6 59.4.59 94.42.59c320 0 320 84.3 640 84.3 285 0 316.17-66.85 545.58-81.49V0z'/%3E%3C/g%3E%3C/svg%3E");
}

.theme-section--faq::after,
body.home .theme-section--faq::after {
	bottom: -1px;
	background-image: url("data:image/svg+xml,%3Csvg width='100%25' height='100%25' viewBox='0 0 1280 140' preserveAspectRatio='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23fff'%3E%3Cpath d='M725.29 101.2C325.22 122.48 0 0 0 0v140h1280V0s-154.64 79.92-554.71 101.2z' fill-opacity='.3'/%3E%3Cpath d='M556.45 119.74C953.41 140 1280 14 1280 14v126H0V0s159.5 99.48 556.45 119.74z' fill-opacity='.5'/%3E%3Cpath d='M640 140c353.46 0 640-140 640-139v140H0V0s286.54 140 640 140z'/%3E%3C/g%3E%3C/svg%3E");
}

.theme-section--faq .theme-row,
.theme-section--faq .theme-section__inner,
body.home .theme-section--faq .theme-row {
	position: relative;
	z-index: 1;
}

/* Redaktionelle Kategorie-Karten folgen dem Wellenabschluss der Unternehmensseite. */
.theme-section--category-info {
	padding-block: .3125rem 3.375rem;
	background: #fff;
}

.theme-section--category-info .theme-feature-card {
	display: block;
	height: auto;
	padding: 2.5rem;
	margin-top: 2.625rem;
	border: 0;
	border-radius: .375rem;
	overflow: hidden;
	background: #fff url("https://www.wellblue.com/media/WellBlue-Welle-Hintergrund.jpg") center / cover no-repeat;
	box-shadow: var(--theme-shadow);
}

.theme-section--category-info .theme-feature-card::before {
	content: "";
	display: block;
	height: 6.25rem;
	margin-bottom: 1.875rem;
	background-color: currentColor;
	color: var(--theme-color-blue-dark);
	line-height: 1;
	text-align: center;
	-webkit-mask: var(--theme-icon-droplet) center top / auto 100% no-repeat;
	mask: var(--theme-icon-droplet) center top / auto 100% no-repeat;
}

.theme-section--category-info .theme-feature-card__content {
	width: min(100%, 56.9375rem);
	margin-inline: auto;
	color: #666;
	text-align: center;
}

.theme-section--category-info .theme-feature-card__content h2 {
	margin: 0;
	padding-bottom: .625rem;
	color: var(--theme-color-blue-dark);
	font-size: 1.625rem;
	line-height: 1.4;
}

.theme-section--category-info .theme-feature-card__content h3 {
	margin: 1.25rem 0 0;
	padding-bottom: .5rem;
	color: var(--theme-color-blue-dark);
	font-size: 1.375rem;
	line-height: 1.4;
}

.theme-section--category-info .theme-feature-card__content p {
	padding-bottom: 1.25rem;
	margin: 0;
	color: #666;
	font-size: 1.25rem;
	line-height: 1.5;
}

.theme-section--category-info .theme-feature-card__content > :last-child {
	padding-bottom: 0;
}

@media (max-width: 47.9375rem) {
	.theme-section--faq-intro,
	body.home .theme-section--faq-intro {
		padding-block: var(--theme-section-transition-space) 2rem;
	}

	.theme-section--faq,
	body.home .theme-section--faq {
		padding-block: 5.5rem 6rem;
	}
}

/* Kundenbewertungen erhalten ein harmonisches blaues Wasser-Hintergrunddesign. */
.theme-reviews {
	position: relative;
	overflow: hidden;
	padding-block: clamp(7rem, 11vw, 9.5rem);
	background-color: #003366;
	background-image: linear-gradient(180deg, rgba(8, 118, 173, 0.3) 0%, rgba(0, 57, 115, 0.48) 50%, rgba(0, 24, 52, 0.65) 100%), url("../media/water-bg-2.webp");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}

.theme-reviews::before,
.theme-reviews::after {
	position: absolute;
	right: 0;
	left: 0;
	height: clamp(3.5rem, 7vw, 6rem);
	background-position: center;
	background-repeat: no-repeat;
	background-size: 100% 100%;
	content: "";
}

.theme-reviews::before {
	top: -1px;
	background-image: url("data:image/svg+xml,%3Csvg width='100%25' height='100%25' viewBox='0 0 1280 140' preserveAspectRatio='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23fff'%3E%3Cpath d='M0 51.76c36.21-2.25 77.57-3.58 126.42-3.58 320 0 320 57 640 57 271.15 0 312.58-40.91 513.58-53.4V0H0z' fill-opacity='.3'/%3E%3Cpath d='M0 24.31c43.46-5.69 94.56-9.25 158.42-9.25 320 0 320 89.24 640 89.24 256.13 0 307.28-57.16 481.58-80V0H0z' fill-opacity='.5'/%3E%3Cpath d='M0 0v3.4C28.2 1.6 59.4.59 94.42.59c320 0 320 84.3 640 84.3 285 0 316.17-66.85 545.58-81.49V0z'/%3E%3C/g%3E%3C/svg%3E");
}

.theme-reviews::after {
	bottom: -1px;
	background-image: url("data:image/svg+xml,%3Csvg width='100%25' height='100%25' viewBox='0 0 1280 140' preserveAspectRatio='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23fff'%3E%3Cpath d='M725.29 101.2C325.22 122.48 0 0 0 0v140h1280V0s-154.64 79.92-554.71 101.2z' fill-opacity='.3'/%3E%3Cpath d='M556.45 119.74C953.41 140 1280 14 1280 14v126H0V0s159.5 99.48 556.45 119.74z' fill-opacity='.5'/%3E%3Cpath d='M640 140c353.46 0 640-140 640-139v140H0V0s286.54 140 640 140z'/%3E%3C/g%3E%3C/svg%3E");
}

.theme-reviews__inner {
	position: relative;
	z-index: 1;
}

.theme-reviews__header {
	margin-bottom: 2.25rem;
	text-align: center;
}

.theme-reviews__header h2 {
	margin: 0;
	color: #fff;
	font-family: "Nunito Bold", Helvetica, Arial, sans-serif;
	font-size: clamp(1.8rem, 3vw, 2.6rem);
	font-weight: 700;
	text-shadow: 0 2px 8px rgba(0, 20, 40, 0.4);
}

.theme-reviews__header p {
	margin: .75rem 0 0;
	color: rgba(255, 255, 255, 0.95);
	font-family: "Nunito Regular", Helvetica, Arial, sans-serif;
	font-size: clamp(1.05rem, 1.8vw, 1.25rem);
	font-weight: 500;
}

.theme-contact-section {
	padding-block: clamp(5rem, 8vw, 7.5rem);
	background: #fff;
}

.theme-cta,
.discount-message-box,
.theme-promotion {
	padding: clamp(1.25rem, 4vw, 2rem);
	border-radius: var(--theme-radius);
	color: #fff;
	background: var(--theme-color-ink);
	box-shadow: var(--theme-shadow);
	text-align: center;
}

.theme-cta :where(h2, p),
.discount-message-box :where(h2, h3, p),
.theme-promotion :where(h2, h3, p) {
	color: inherit;
}

.theme-cta .wp-element-button,
.discount-message-box a,
.theme-promotion a {
	display: inline-flex;
	justify-content: center;
	margin-top: var(--theme-space-m);
}

/* Blockbasierte Buttons innen zentrieren, der CTA ist text-align: center. */
.theme-cta .wp-block-buttons {
	justify-content: center;
}

.theme-divider {
	width: 100%;
	margin-block: var(--theme-space-xl);
	border: 0;
	border-top: 1px solid var(--theme-color-line);
}

.theme-payment-methods {
	display: grid;
	gap: var(--theme-space-xs);
	padding-block: var(--theme-space-s);
	border-top: 1px solid var(--theme-color-line);
}

.theme-payment-methods .product-payment-icons {
	display: flex;
	flex-wrap: wrap;
	gap: var(--theme-space-xs);
}

.theme-payment-methods .product-payment-icons img {
	width: auto;
	height: 1.5rem;
}

/* Gutschein-Hinweis: "mit Gutscheincode" bleibt als Einheit zusammen und läuft
   im normalen Textfluss mit. Auf breiten Ansichten beginnt der Zusatz dadurch
   in einer eigenen Zeile, statt "mit" allein am Zeilenende zurückzulassen;
   auf schmalen Ansichten bleibt "mit" bei "Aktionszeitraum" stehen. */
.theme-coupon-code-hint {
	display: inline;
}

.theme-coupon-code-connective {
	white-space: nowrap;
}



/* Technische Informationen Tabelle - Unumstößlich über alle Breakpoints */
.woocommerce div.product .woocommerce-Tabs-panel table.shop_attributes,
body.site-layout .woocommerce table.shop_attributes,
table.shop_attributes,
table.woocommerce-product-attributes {
	display: table !important;
	width: 100% !important;
	border-collapse: collapse !important;
	border: none !important;
	border-top: 1px dotted #d0d5dd !important;
	border-bottom: 1px dotted #d0d5dd !important;
	margin: 1rem 0 !important;
	font-size: 1.05rem !important;
}

body.site-layout .woocommerce table.shop_attributes tbody,
.woocommerce div.product .woocommerce-Tabs-panel table.shop_attributes tbody {
	display: table-row-group !important;
}

body.site-layout .woocommerce table.shop_attributes tr,
.woocommerce-page table.shop_attributes tr,
.woocommerce div.product .woocommerce-Tabs-panel table.shop_attributes tr,
table.shop_attributes tr,
table.woocommerce-product-attributes tr {
	display: table-row !important;
}

body.site-layout .woocommerce table.shop_attributes tr th,
body.site-layout .woocommerce-page table.shop_attributes tr th,
.woocommerce table.shop_attributes tr th,
.woocommerce-page table.shop_attributes tr th,
.woocommerce div.product .woocommerce-Tabs-panel table.shop_attributes tr th,
body.site-layout .woocommerce table.shop_attributes th,
.woocommerce-page table.shop_attributes th,
.woocommerce div.product .woocommerce-Tabs-panel table.shop_attributes th,
table.shop_attributes th,
table.woocommerce-product-attributes th {
	display: table-cell !important;
	width: 44% !important;
	min-width: 13.5rem !important;
	padding: .8rem 1.25rem !important;
	border: none !important;
	border-bottom: 1px dotted #e5e5e5 !important;
	background-color: transparent !important;
	color: #555555 !important;
	font-family: "Nunito Bold", Helvetica, Arial, sans-serif !important;
	font-size: 1.05rem !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;
	text-align: left !important;
	vertical-align: middle !important;
}

body.site-layout .woocommerce table.shop_attributes tr td,
body.site-layout .woocommerce-page table.shop_attributes tr td,
.woocommerce table.shop_attributes tr td,
.woocommerce-page table.shop_attributes tr td,
.woocommerce div.product .woocommerce-Tabs-panel table.shop_attributes tr td,
body.site-layout .woocommerce table.shop_attributes td,
.woocommerce-page table.shop_attributes td,
.woocommerce div.product .woocommerce-Tabs-panel table.shop_attributes td,
table.shop_attributes td,
table.woocommerce-product-attributes td {
	display: table-cell !important;
	width: 56% !important;
	padding: .8rem 1.25rem .8rem 2.5rem !important;
	border: none !important;
	border-bottom: 1px dotted #e5e5e5 !important;
	background-color: transparent !important;
	color: #555555 !important;
	font-family: "Nunito Regular", Helvetica, Arial, sans-serif !important;
	font-size: 1.05rem !important;
	font-style: italic !important;
	line-height: 1.4 !important;
	text-align: left !important;
	vertical-align: middle !important;
}

table.shop_attributes p,
table.woocommerce-product-attributes p {
	margin: 0 !important;
	font-size: inherit !important;
	line-height: inherit !important;
	font-style: italic !important;
}

table.shop_attributes tr:nth-child(even),
table.woocommerce-product-attributes tr:nth-child(even) {
	background-color: #f9f9f9 !important;
}

table.shop_attributes tr:nth-child(odd),
table.woocommerce-product-attributes tr:nth-child(odd) {
	background-color: #ffffff !important;
}

table.shop_attributes tr:last-child th,
table.shop_attributes tr:last-child td,
table.woocommerce-product-attributes tr:last-child th,
table.woocommerce-product-attributes tr:last-child td {
	border-bottom: none !important;
}

@media (max-width: 48rem) {
	.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel,
	.woocommerce div.product .woocommerce-tabs .panel {
		border-radius: 8px !important;
		border-top: 1px solid rgb(0 57 115 / 6%) !important;
		padding: 1.25rem .75rem !important;
	}

	body.site-layout .woocommerce table.shop_attributes tr th,
	body.site-layout .woocommerce-page table.shop_attributes tr th,
	.woocommerce table.shop_attributes tr th,
	.woocommerce-page table.shop_attributes tr th,
	.woocommerce div.product .woocommerce-Tabs-panel table.shop_attributes tr th,
	body.site-layout .woocommerce table.shop_attributes th,
	.woocommerce-page table.shop_attributes th,
	.woocommerce div.product .woocommerce-Tabs-panel table.shop_attributes th,
	table.shop_attributes th,
	table.woocommerce-product-attributes th {
		display: table-cell !important;
		width: 45% !important;
		min-width: 0 !important;
		font-size: .95rem !important;
		padding: .65rem .4rem !important;
	}

	body.site-layout .woocommerce table.shop_attributes tr td,
	body.site-layout .woocommerce-page table.shop_attributes tr td,
	.woocommerce table.shop_attributes tr td,
	.woocommerce-page table.shop_attributes tr td,
	.woocommerce div.product .woocommerce-Tabs-panel table.shop_attributes tr td,
	body.site-layout .woocommerce table.shop_attributes td,
	.woocommerce-page table.shop_attributes td,
	.woocommerce div.product .woocommerce-Tabs-panel table.shop_attributes td,
	table.shop_attributes td,
	table.woocommerce-product-attributes td {
		display: table-cell !important;
		width: 55% !important;
		font-size: .95rem !important;
		padding: .65rem .4rem .65rem 1.25rem !important;
	}
}

/* ==========================================================================
   WooCommerce Warenkorb & Kasse (Checkout) Modernisierung
   ========================================================================== */

/* Notices & Toggles: Entfernen der WooCommerce-Default Glyphen/Pseudo-Elemente */
body.site-layout .theme-main :is(.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-form-login-toggle, .woocommerce-form-coupon-toggle, .woocommerce-form-login-toggle .woocommerce-info, .woocommerce-form-coupon-toggle .woocommerce-info)::before,
body.site-layout .theme-main :is(.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-form-login-toggle, .woocommerce-form-coupon-toggle, .woocommerce-form-login-toggle .woocommerce-info, .woocommerce-form-coupon-toggle .woocommerce-info)::after {
	content: none !important;
	display: none !important;
}

/* Erfolgsmeldung im Warenkorb */
body.site-layout .theme-main .woocommerce-message {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	flex-wrap: wrap !important;
	gap: .75rem 1.25rem !important;
	padding: 1rem 1.35rem !important;
	border: none !important;
	border-radius: var(--theme-radius-s) !important;
	background: var(--theme-color-blue) !important;
	color: #ffffff !important;
	box-shadow: 0 4px 14px rgb(0 57 115 / 15%) !important;
	margin: 0 0 1.5rem !important;
	font-family: "Nunito Regular", Helvetica, Arial, sans-serif !important;
	font-size: 1.05rem !important;
	line-height: 1.5 !important;
}

body.site-layout .theme-main .woocommerce-message a.button,
body.site-layout .theme-main .woocommerce-message a.button.wc-forward {
	margin-left: auto !important;
	min-height: 2.35rem !important;
	padding: .45rem 1.15rem !important;
	border: 1px solid #ffffff !important;
	border-radius: var(--theme-radius-s) !important;
	background: #ffffff !important;
	color: var(--theme-color-blue) !important;
	font-family: "Nunito Bold", Helvetica, Arial, sans-serif !important;
	font-size: .95rem !important;
	font-weight: 700 !important;
	text-decoration: none !important;
	box-shadow: 0 2px 5px rgb(0 0 0 / 10%) !important;
	transform: none !important;
}

body.site-layout .theme-main .woocommerce-message a.button:hover,
body.site-layout .theme-main .woocommerce-message a.button.wc-forward:hover {
	background: #eef5fa !important;
	color: #002244 !important;
	transform: translateY(-1px) !important;
}

/* Info-Meldungen & Toggles auf Kasse / Warenkorb */
body.site-layout .theme-main :is(.woocommerce-info, .woocommerce-form-login-toggle .woocommerce-info, .woocommerce-form-coupon-toggle .woocommerce-info) {
	display: flex !important;
	align-items: center !important;
	flex-wrap: wrap !important;
	gap: .5rem 1rem !important;
	padding: .85rem 1.25rem !important;
	border: 1px solid var(--theme-notice-border) !important;
	border-left: .25rem solid var(--theme-color-blue) !important;
	border-radius: var(--theme-radius-s) !important;
	background: var(--theme-notice-background) !important;
	color: var(--theme-notice-color) !important;
	box-shadow: var(--theme-notice-shadow) !important;
	margin: 0 0 1rem !important;
	font-family: "Nunito Regular", Helvetica, Arial, sans-serif !important;
	font-size: .95rem !important;
	line-height: 1.5 !important;
	overflow: hidden !important;
}

/* Zahlungshinweis unter den Bestellaktionen: eigener Abstand zur Aktionszeile. */
body.site-layout .theme-main .woocommerce-order-details .woocommerce-order-details.mollie-instructions {
	margin: 1.5rem 0 0 !important;
}

/* Auf der Bestellbestätigung steht der Hinweis als eigenständiger Block im Grid. */
body.site-layout .theme-main .woocommerce-order > .woocommerce-order-details.mollie-instructions {
	margin: 0 !important;
}

body.site-layout .order-withdrawal-request p.woocommerce-info.notice {
	display: block !important;
}

body.site-layout .theme-main :is(.woocommerce-form-coupon-toggle, form.checkout_coupon) {
	display: none !important;
}

body.site-layout .theme-main .woocommerce-form-login-toggle {
	margin-bottom: .5rem !important;
}

body.site-layout .theme-main .woocommerce-form-login-toggle .woocommerce-info {
	margin: 0 !important;
}

body.site-layout .theme-main :is(.woocommerce-info, .woocommerce-form-login-toggle .woocommerce-info, .woocommerce-form-coupon-toggle .woocommerce-info) a {
	color: var(--theme-color-ink) !important;
	font-family: "Nunito Bold", Helvetica, Arial, sans-serif !important;
	font-weight: 700 !important;
	text-decoration: underline !important;
	text-underline-offset: 2px !important;
}

body.site-layout .theme-main :is(.woocommerce-info, .woocommerce-form-login-toggle .woocommerce-info, .woocommerce-form-coupon-toggle .woocommerce-info) a:hover {
	color: #0075ad !important;
}

/* Fehlermeldungen */
body.site-layout .theme-main .woocommerce-error {
	padding: .85rem 1.25rem !important;
	border: 1px solid #fecaca !important;
	border-left: .25rem solid var(--theme-color-danger) !important;
	border-radius: var(--theme-radius-s) !important;
	background: #fff5f5 !important;
	color: #991b1b !important;
	box-shadow: 0 .5rem 1.25rem rgb(180 35 24 / 5%) !important;
	margin: 0 0 1.5rem !important;
	list-style: none !important;
	font-family: "Nunito Regular", Helvetica, Arial, sans-serif !important;
	font-size: .95rem !important;
	line-height: 1.5 !important;
	overflow: hidden !important;
}

/* Montagehinweis */
body.site-layout .theme-main .installation-service-notice {
	display: block !important;
	margin-top: 1rem !important;
	margin-bottom: 0 !important;
	padding: .85rem 1.15rem !important;
	border: 1px solid var(--theme-notice-border) !important;
	border-left: .25rem solid var(--theme-color-blue) !important;
	border-radius: var(--theme-radius-s) !important;
	background: var(--theme-notice-background) !important;
	color: var(--theme-notice-color) !important;
	font-family: "Nunito Regular", Helvetica, Arial, sans-serif !important;
	font-size: .9rem !important;
	line-height: 1.5 !important;
	box-shadow: var(--theme-notice-shadow) !important;
	overflow: hidden !important;
}

/* Mengenfeld: kompakter Zähler, bewusst außerhalb des einheitlichen Feld-Designs */
body.site-layout .theme-main form :is(input.qty, .quantity .qty) {
	width: 4.25rem;
	min-width: 4.25rem;
	max-width: 4.25rem;
	height: 3.25rem;
	min-height: 3.25rem;
	padding: 0 .25rem;
	border-color: var(--theme-field-border);
	background: var(--theme-field-background);
	box-shadow: var(--theme-field-shadow);
	font-family: "Nunito Bold", Helvetica, Arial, sans-serif;
	font-size: 1.15rem;
	font-weight: 700;
	line-height: 1;
	text-align: center;
}

