/*
 * Designsystem: einheitliche Buttons und Boxen (Karten).
 * Wird nach a11y.css, forms.css und hero.css geladen.
 */

:root {
	/* Immer helle Darstellung, auch wenn das Gerät im Dunkelmodus ist
	   (verhindert auch das automatische Abdunkeln mancher Handy-Browser). */
	color-scheme: only light;
	--ds-radius-lg: 20px;
	--ds-radius-md: 14px;
	--ds-surface: #fff;
	--ds-tint: #fff5f2;              /* warmer Hauch der Markenfarbe */
	--ds-card-border: #f0e3de;
	--ds-shadow: 0 12px 40px rgba(20, 30, 40, 0.08);
	--ds-shadow-hover: 0 18px 50px rgba(20, 30, 40, 0.14);
	--ds-btn-shadow: 0 6px 18px rgba(216, 63, 36, 0.28);
	--ds-btn-h: 52px;
}

/* ========================================================================== */
/* Buttons: überall dieselbe Pille                                             */
/* ========================================================================== */

.wp-block-button .wp-block-button__link,
.entry-content .wpcf7-submit,
.entry-content .listmonk-form input[type="submit"],
.wassergew-submit,
.ds-btn {
	appearance: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 1rem;
	box-sizing: border-box;
	min-height: var(--ds-btn-h);
	padding: 1.2rem 2.8rem;
	border: 2px solid var(--ds-orange-strong, #d83f24);
	border-radius: 999px;
	background: var(--ds-orange-strong, #d83f24);
	color: #fff;
	font-family: inherit;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: normal;
	text-transform: none;
	text-decoration: none;
	box-shadow: var(--ds-btn-shadow);
	cursor: pointer;
	transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
}

.wp-block-button .wp-block-button__link:hover,
.entry-content .wpcf7-submit:hover,
.entry-content .listmonk-form input[type="submit"]:hover,
.wassergew-submit:hover,
.ds-btn:hover {
	background: var(--ds-orange-dark, #b5301a);
	border-color: var(--ds-orange-dark, #b5301a);
	color: #fff;
	transform: translateY(-1px);
	box-shadow: 0 10px 22px rgba(216, 63, 36, 0.32);
	text-decoration: none;
}

.wp-block-button .wp-block-button__link:focus-visible,
.wassergew-submit:focus-visible,
.ds-btn:focus-visible {
	outline: 3px solid var(--ds-orange-strong, #d83f24);
	outline-offset: 3px;
}

/* Link-Buttons bekommen einen Pfeil, wie der Button in der Bühne */
.wp-block-button .wp-block-button__link::after {
	content: "→";
	display: inline-block;
	position: static;
	width: auto;
	height: auto;
	background: none;
	transition: transform 0.15s ease;
}

.wp-block-button .wp-block-button__link:hover::after {
	transform: translateX(4px);
}

/* Umriss-Variante (Editor: Stil „Kontur“) */
.wp-block-button.is-style-outline .wp-block-button__link {
	background: transparent;
	color: var(--ds-orange-strong, #d83f24);
	box-shadow: none;
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
	background: var(--ds-orange-strong, #d83f24);
	color: #fff;
}

/* Auf orangen Flächen: weißer Button */
.big-buttons .wp-block-button__link,
.has-background[style*="#d83f24"] .wp-block-button__link,
.swiper-header a.sh-cta {
	background: #fff;
	border-color: #fff;
	color: var(--ds-orange-strong, #d83f24);
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
}

/* Regionsauswahl in der orangen Titelleiste: ebenfalls weiß */
.header-single .wassergew-submit {
	background: #fff !important;
	border-color: #fff;
	color: var(--ds-orange-strong, #d83f24) !important;
	box-shadow: none;
}

/* Bühnen-Button an die gemeinsamen Maße angleichen */
.swiper-header a.sh-cta {
	min-height: var(--ds-btn-h);
	padding: 1.2rem 2.8rem;
	font-size: 1.8rem;
	line-height: 1.2;
	box-sizing: border-box;
	border: 2px solid #fff;
}

/* Kleine Text-Buttons bleiben Text-Buttons */
.hinweis-schliessen {
	box-shadow: none !important;
}

/* ========================================================================== */
/* Boxen: einheitliche Karten                                                  */
/* ========================================================================== */

/* Hervorgehobene Boxen (Spendenaufruf, Kasten, Projektspalten) */
.entry-content .orange-border,
.entry-content .kasten,
.entry-content .listmonk-form {
	padding: clamp(2.4rem, 4vw, 4rem);
	border: 0 !important;
	border-radius: var(--ds-radius-lg);
	background: linear-gradient(135deg, var(--ds-tint) 0%, var(--ds-surface) 70%);
	box-shadow: var(--ds-shadow), inset 0 0 0 2px rgba(216, 63, 36, 0.22);
}

.entry-content .orange-border h2,
.entry-content .kasten h2,
.entry-content .kasten h3 {
	color: var(--ds-orange-strong, #d83f24);
}

/* Partner, weiße Projektspalten: helle Karten */
.entry-content .kooperationspartner,
.wp-block-columns.border-column .wp-block-column {
	padding: clamp(2rem, 3vw, 3.2rem);
	border: 1px solid var(--ds-card-border) !important;
	border-radius: var(--ds-radius-lg);
	background: var(--ds-surface);
	box-shadow: var(--ds-shadow);
}

/* Beitrags-Karten (Aktuelles, Presse, Spendenaktionen) */
.post-element {
	border: 1px solid var(--ds-card-border) !important;
	border-radius: var(--ds-radius-lg);
	background: var(--ds-surface);
	box-shadow: var(--ds-shadow);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
	position: relative;
}

.post-element + .post-element {
	margin-top: 2.4rem;
}

.post-element:hover {
	transform: translateY(-3px);
	box-shadow: var(--ds-shadow-hover);
}

.post-element .post-element-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s ease;
}

.post-element:hover .post-element-image img {
	transform: scale(1.04);
}

.post-element .post-element-image {
	overflow: hidden;
}

.post-element .post-element-content {
	padding: 2.4rem 2.8rem;
}

/* Große Kacheln auf der Startseite */
.big-buttons .wp-block-column {
	border-radius: var(--ds-radius-lg) !important;
	background: linear-gradient(160deg, #e2492d 0%, var(--ds-orange-strong, #d83f24) 55%, #c4361e 100%) !important;
	box-shadow: 0 14px 34px rgba(216, 63, 36, 0.28) !important;
	padding: 3rem 2rem !important;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.big-buttons .wp-block-column:hover {
	transform: translateY(-4px);
	box-shadow: 0 20px 44px rgba(216, 63, 36, 0.34) !important;
}

.big-buttons .wp-block-column img {
	transition: transform 0.25s ease;
}

.big-buttons .wp-block-column:hover img {
	transform: scale(1.08);
}

/* Farbflächen aus dem Editor (Hintergrundfarbe gesetzt): runden und Luft geben */
.entry-content .wp-block-group.has-background,
.entry-content .wp-block-columns.has-background,
.entry-content .wp-block-column.has-background {
	border-radius: var(--ds-radius-lg);
	padding: clamp(2rem, 3vw, 3.2rem);
}

/* Spalten mit Hintergrund per Inline-Stil (z. B. Zahlen-Kacheln) */
.entry-content .wp-block-column[style*="background-color"] {
	border-radius: var(--ds-radius-lg);
	padding: clamp(2rem, 3vw, 3.2rem) !important;
	box-shadow: 0 10px 28px rgba(216, 63, 36, 0.22);
}

/* Hinweis-Kästen Wassergewöhnung */
.wassergew-hint {
	border-radius: var(--ds-radius-lg);
	padding: clamp(2rem, 3vw, 3.2rem);
	background: linear-gradient(135deg, #ffe3dc 0%, var(--ds-tint) 100%);
}

/* Hinweisfenster auf der Spendenseite */
#hinweis_quittung {
	border: 0 !important;
	border-radius: var(--ds-radius-lg) !important;
	box-shadow: 0 30px 80px rgba(20, 30, 40, 0.3), inset 0 0 0 2px rgba(216, 63, 36, 0.22) !important;
	padding: 3.2rem !important;
	max-width: min(64rem, 92vw);
	width: 100%;
	box-sizing: border-box;
}

/* Tabellen */
.entry-content .wp-block-table table {
	border-collapse: separate;
	border-spacing: 0;
	border: 1px solid var(--ds-card-border);
	border-radius: var(--ds-radius-md);
	overflow: hidden;
}

.entry-content .wp-block-table th,
.entry-content .wp-block-table td {
	border: 0;
	border-bottom: 1px solid var(--ds-card-border);
	padding: 1.2rem 1.6rem;
}

.entry-content .wp-block-table tr:last-child td {
	border-bottom: 0;
}

.entry-content .wp-block-table thead th,
.entry-content .wp-block-table tr:first-child td {
	background: var(--ds-tint);
	font-weight: 700;
}

/* Abgerundete Bilder und Videos im Inhalt wirken einheitlicher */
.entry-content .wp-block-image img,
.entry-content .wp-block-video video {
	border-radius: var(--ds-radius-md);
}

.entry-content .wp-block-image.is-style-rounded img,
.big-buttons .wp-block-image img,
.entry-content .wp-block-image img[src$=".svg"] {
	border-radius: 0;
}

/* Bewegung reduzieren: keine Hover-Sprünge */
@media (prefers-reduced-motion: reduce) {
	.post-element:hover,
	.big-buttons .wp-block-column:hover,
	.wp-block-button .wp-block-button__link:hover,
	.ds-btn:hover {
		transform: none;
	}
}

/* Untertitel in allen Videos gut lesbar */
video::cue {
	font-family: "Source Sans 3", sans-serif;
	font-size: 2rem;
	line-height: 1.35;
	color: #fff;
	background: rgba(0, 0, 0, 0.78);
}
