/**
 * EA Solar – Theme-Styles.
 * Farben, Schriften und Abstände kommen aus theme.json; hier liegen Komponenten und Abschnitte.
 */

:root {
	--ea-schatten-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
	--ea-schatten-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
	--ea-schatten-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
	--ea-schatten-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
	--ea-schatten-2xl: 0 25px 50px -12px rgb(0 0 0 / 0.25);
	--ea-gruen: linear-gradient(to right, #22c55e, #16a34a);
	--ea-header-hoehe: 6rem;
	/* Container-Breiten wie Tailwind „container“ (Inhalt = Container − 2rem Rand). */
	--ea-container: 100%;
	--ea-inhalt: 100%;
	--ea-i-phone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E");
	--ea-i-mail: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='16' x='2' y='4' rx='2'/%3E%3Cpath d='m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7'/%3E%3C/svg%3E");
	--ea-i-map-pin: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
	--ea-i-check-circle: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 11.08V12a10 10 0 1 1-5.93-9.14'/%3E%3Cpath d='m9 11 3 3L22 4'/%3E%3C/svg%3E");
	--ea-i-arrow-right: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E");
	--ea-i-send: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m22 2-7 20-4-9-9-4Z'/%3E%3Cpath d='M22 2 11 13'/%3E%3C/svg%3E");
}

@media (min-width: 640px) { :root { --ea-container: 640px; --ea-inhalt: 608px; } }
@media (min-width: 768px) { :root { --ea-container: 768px; --ea-inhalt: 736px; } }
@media (min-width: 1024px) { :root { --ea-container: 1024px; --ea-inhalt: 992px; } }
@media (min-width: 1280px) { :root { --ea-container: 1280px; --ea-inhalt: 1248px; } }
@media (min-width: 1536px) { :root { --ea-container: 1536px; --ea-inhalt: 1504px; } }

/* ---------- Basis ---------- */
html { scroll-behavior: smooth; scroll-padding-top: var(--ea-header-hoehe); }
.wp-site-blocks > * { margin-block-start: 0; }
:where(.wp-site-blocks) a:where(:not(.wp-element-button)) { text-decoration: none; }
::selection { background: #bbf7d0; color: #14532d; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 2px solid #16a34a; outline-offset: 2px; }
img { max-width: 100%; height: auto; }
.ea-main .wp-block-post-content > .ea-abschnitt { margin-block: 0; }

/* Textbausteine */
.ea-text-verlauf { background: linear-gradient(to right, #16a34a, #2563eb); -webkit-background-clip: text; background-clip: text; color: transparent; }
.ea-klein { font-size: 0.875rem; line-height: 1.625; }
.ea-hervorhebung { color: #16a34a; font-weight: 600; font-size: 0.875rem; line-height: 1.25rem; }
.ea-farbe-text-gruen { color: #16a34a; }
.ea-farbe-text-blau { color: #2563eb; }
.ea-farbe-text-amber { color: #d97706; }
.ea-schatten-sm { box-shadow: var(--ea-schatten-sm); }

/* Icons vor Text (Absätze, Listenpunkte) */
.ea-i-phone, .ea-i-mail, .ea-i-pin, .ea-i-check-circle { display: flex; align-items: flex-start; gap: 0.5rem; }
.ea-i-phone::before, .ea-i-mail::before, .ea-i-pin::before, .ea-i-check-circle::before {
	content: ""; flex-shrink: 0; width: 1rem; height: 1rem; margin-top: 0.25em; background: currentColor;
	-webkit-mask: var(--ea-i) center / contain no-repeat; mask: var(--ea-i) center / contain no-repeat;
}
.ea-i-phone { --ea-i: var(--ea-i-phone); }
.ea-i-mail { --ea-i: var(--ea-i-mail); }
.ea-i-pin { --ea-i: var(--ea-i-map-pin); }
.ea-i-check-circle { --ea-i: var(--ea-i-check-circle); }
.ea-icon-grau::before { color: #6b7280; }

/* ---------- Buttons ---------- */
.wp-block-button__link { vertical-align: top; transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.3s, color 0.3s, border-color 0.3s; }
.wp-block-button:not([class*="is-style-"]) .wp-block-button__link:hover { transform: translateY(-4px); box-shadow: var(--ea-schatten-xl); }
.ea-btn-gross .wp-block-button__link { font-size: 1.125rem; line-height: 1.75rem; padding: 1rem 2rem; }
.ea-btn-pfeil .wp-block-button__link { display: inline-flex; align-items: center; gap: 0.5rem; }
.ea-btn-pfeil .wp-block-button__link::after { content: ""; width: 1.25rem; height: 1.25rem; background: currentColor; -webkit-mask: var(--ea-i-arrow-right) center / contain no-repeat; mask: var(--ea-i-arrow-right) center / contain no-repeat; }
.wp-block-button.is-style-rahmen .wp-block-button__link { background: transparent; color: #374151; border: 2px solid #d1d5db; padding-block: calc(1rem - 2px); }
.wp-block-button.is-style-rahmen .wp-block-button__link:hover { border-color: #22c55e; color: #16a34a; }
.wp-block-button.is-style-dunkel .wp-block-button__link { position: relative; z-index: 0; overflow: hidden; background: #111827; color: #fff; font-size: 0.875rem; line-height: 1.25rem; font-weight: 500; letter-spacing: 0.025em; padding: 0.75rem 2rem; }
.wp-block-button.is-style-dunkel .wp-block-button__link::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--ea-gruen); opacity: 0; transition: opacity 0.3s; }
.wp-block-button.is-style-dunkel .wp-block-button__link:hover { transform: scale(1.05); box-shadow: var(--ea-schatten-xl); }
.wp-block-button.is-style-dunkel .wp-block-button__link:hover::before { opacity: 1; }
.wp-block-button.is-style-weiss .wp-block-button__link { background: #fff; color: #16a34a; font-weight: 700; font-size: 1.125rem; line-height: 1.75rem; padding: 1.25rem 2.5rem; }
.wp-block-button.is-style-weiss .wp-block-button__link:hover { color: #16a34a; transform: translateY(-0.5rem) scale(1.1); box-shadow: var(--ea-schatten-xl); }
.ea-btn-wippen .wp-block-button__link { animation: ea-wippen 2s ease-in-out infinite; }

/* ---------- Block-Stile ---------- */
.is-style-karte { background: #fff; padding: 2rem; border-radius: 1rem; box-shadow: var(--ea-schatten-lg); border: 1px solid #f3f4f6; }
.is-style-karte-flach { background: #fff; padding: 1.5rem; border-radius: 0.75rem; box-shadow: var(--ea-schatten-sm); transition: box-shadow 0.3s; }
.is-style-karte-flach:hover { box-shadow: var(--ea-schatten-lg); }
.is-style-karte-grau { background: #f9fafb; padding: 1.5rem; border-radius: 0.75rem; }
.is-style-box-verlauf { background: linear-gradient(to right, #f0fdf4, #eff6ff); padding: 2rem; border-radius: 1rem; }
.is-style-box-gruen { background: var(--ea-gruen); color: #dcfce7; padding: 2rem; border-radius: 0.75rem; }
.is-style-box-gruen :is(h1, h2, h3, h4, h5, h6) { color: #fff; }
.is-style-punkte { list-style: none; padding: 0; margin: 0; display: grid; gap: 0.5rem; }
.is-style-punkte li { position: relative; padding-left: 1rem; }
.is-style-punkte li::before { content: ""; position: absolute; left: 0; top: 0.6em; width: 0.5rem; height: 0.5rem; border-radius: 9999px; background: #22c55e; }
.ea-punkte-blau li::before { background: #3b82f6; }
.ea-punkte-amber li::before { background: #f59e0b; }
.is-style-haekchen { list-style: none; padding: 0; display: grid; gap: 0.75rem; }
.is-style-haekchen li { display: flex; gap: 0.5rem; }
.is-style-haekchen li::before { content: ""; flex-shrink: 0; width: 1.25rem; height: 1.25rem; margin-top: 0.15em; background: #16a34a; -webkit-mask: var(--ea-i-check-circle) center / contain no-repeat; mask: var(--ea-i-check-circle) center / contain no-repeat; }
.is-style-abgerundet img { border-radius: 1rem; box-shadow: var(--ea-schatten-lg); }

/* ---------- Kopfbereich ---------- */
.ea-site-header { z-index: 50; padding: 1rem 0; }
body:not(.editor-styles-wrapper) .ea-site-header { position: fixed; top: 0; left: 0; right: 0; }
.admin-bar .ea-site-header { top: 32px !important; }
@media (max-width: 782px) { .admin-bar .ea-site-header { top: 46px !important; } }
.ea-header { max-width: var(--ea-container); margin-inline: auto; padding-inline: 1.5rem; box-sizing: border-box; }
.ea-header__bar { position: relative; isolation: isolate; gap: 1rem; padding: 1rem 2rem; border-radius: 9999px; border: 1px solid rgb(255 255 255 / 0.2); box-shadow: var(--ea-schatten-lg); transition: box-shadow 0.5s; }
.ea-header__bar::before { content: ""; position: absolute; inset: 0; z-index: -1; border-radius: inherit; background: rgb(255 255 255 / 0.3); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); }
.is-gescrollt .ea-header__bar { box-shadow: var(--ea-schatten-2xl); }
.ea-header__logo img { height: 3rem !important; width: auto !important; transition: transform 0.3s; }
.ea-header__logo a:hover img { transform: scale(1.05); }
.ea-header__nav { gap: 2rem; color: #1f2937; }
.ea-header__nav .wp-block-navigation__container { gap: 2rem; }
.ea-header__nav .wp-block-navigation-item__content { position: relative; color: #1f2937; font-size: 0.875rem; line-height: 1.25rem; font-weight: 500; letter-spacing: 0.025em; transition: color 0.3s; }
.ea-header__nav .wp-block-navigation-item__content:hover { color: #16a34a; }
.ea-header__nav .wp-block-navigation__container .wp-block-navigation-item__content::after { content: ""; position: absolute; left: 0; bottom: -0.25rem; width: 0; height: 2px; border-radius: 9999px; background: var(--ea-gruen); transition: width 0.3s; }
.ea-header__nav .wp-block-navigation__container .wp-block-navigation-item__content:hover::after { width: 100%; }
.ea-header__aktionen { gap: 1rem; }
.ea-header__telefon { margin: 0; font-size: 0.875rem; line-height: 1.25rem; font-weight: 500; align-items: center; color: #1f2937; white-space: nowrap; }
.ea-header__telefon::before { margin-top: 0; }
.ea-header__telefon a { color: #1f2937; transition: color 0.3s; }
.ea-header__telefon:hover, .ea-header__telefon a:hover { color: #16a34a; }
.ea-header__cta { margin: 0; }
@media (max-width: 1023px) {
	.ea-header { padding-inline: 1rem; }
	.ea-header__bar { padding: 0.5rem 1rem 0.5rem 1.5rem; border-radius: 1.5rem; }
	.ea-header__aktionen { display: none !important; }
	.ea-header__nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.ea-header__nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
}
.ea-header__nav .wp-block-navigation__responsive-container-open, .ea-header__nav .wp-block-navigation__responsive-container-close { color: #1f2937; padding: 0.5rem; }
.ea-header__nav .wp-block-navigation__responsive-container.is-menu-open { padding: 6rem 2rem 2rem; background: #fff; }
.ea-header__nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 0.5rem; }
.ea-header__nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: 1.125rem; line-height: 1.75rem; padding: 0.5rem 0; }

/* ---------- Abschnitte allgemein ---------- */
.ea-abschnitt { padding-block: 5rem; }
.ea-kopf { margin-bottom: 4rem; text-align: center; }
.ea-kopf > * { margin-block: 0; }
.ea-kopf > * + * { margin-top: 1rem; }
.ea-kopf__titel { font-size: 1.875rem; line-height: 2.25rem; }
.ea-lead { max-width: 48rem; margin-inline: auto !important; font-size: 1.25rem; line-height: 1.75rem; }
.ea-raster { align-items: stretch; }
.ea-raster > * { margin: 0; }

/* ---------- Hero ---------- */
.ea-hero { padding-top: 9rem; padding-bottom: 6rem; }
.ea-hero__raster { gap: 3rem; margin: 0; }
.ea-hero__text > * { margin-block: 0; }
.ea-badge { display: inline-flex !important; width: fit-content; gap: 0.5rem; padding: 0.5rem 1rem; border-radius: 9999px; background: #dcfce7; color: #166534; font-size: 0.875rem; line-height: 1.25rem; font-weight: 500; }
.ea-badge .wp-block-ea-solar-icon { color: #16a34a; }
.ea-badge p { margin: 0; }
.ea-hero__titel { margin-top: 0.25rem !important; font-size: 2.25rem; line-height: 1.25; }
.ea-hero__lead { margin-top: 0.5rem !important; max-width: 42rem; font-size: 1.25rem; line-height: 1.625; }
.ea-hero__lead strong { color: #16a34a; }
.ea-hero__buttons { margin-top: 2.75rem !important; gap: 1rem; }
.ea-hero__merkmale { margin-top: 2.25rem !important; gap: 1.5rem; }
.ea-merkmal { gap: 0.5rem; }
.ea-merkmal p { margin: 0; color: #374151; font-weight: 500; }
.ea-hero__medien { position: relative; isolation: isolate; }
.ea-hero__bildkarte { position: relative; background: #fff; border-radius: 1rem; padding: 2rem; box-shadow: var(--ea-schatten-2xl); }
.ea-hero__bildkarte::before { content: ""; position: absolute; inset: 0; z-index: -1; border-radius: 1rem; background: linear-gradient(to right, #4ade80, #3b82f6); transform: rotate(3deg); opacity: 0.2; }
.ea-hero__bildkarte > * { margin: 0; }
.ea-hero__bild img { display: block; width: 100%; height: 20rem; object-fit: cover; border-radius: 0.75rem; }
.ea-plakette { position: absolute; text-align: center; border-radius: 0.75rem; box-shadow: var(--ea-schatten-lg); }
.ea-plakette > * { margin: 0 !important; }
.ea-plakette--oben { top: -1.5rem; left: -1.5rem; padding: 1rem; background: var(--ea-gruen); color: #fff; }
.ea-plakette--oben .ea-plakette__wert { font-size: 1.125rem; line-height: 1.75rem; font-weight: 700; }
.ea-plakette--oben .ea-plakette__label { font-size: 0.75rem; line-height: 1rem; }
.ea-plakette--unten { bottom: -1.5rem; right: -1.5rem; padding: 1.5rem; background: #fff; }
.ea-plakette--unten .ea-plakette__wert { font-size: 1.5rem; line-height: 2rem; font-weight: 700; color: #16a34a; }
.ea-plakette--unten .ea-plakette__label { font-size: 0.875rem; line-height: 1.25rem; }
@media (max-width: 781px) {
	.ea-hero { padding-top: 7rem; }
	.ea-hero__bildkarte { padding: 1rem; }
	.ea-plakette--oben { top: -1rem; left: -0.5rem; }
	.ea-plakette--unten { bottom: -1rem; right: -0.5rem; padding: 1rem; }
}

/* ---------- Über uns ---------- */
.ea-warum { padding-top: 2.5rem; }
.ea-zwischentitel { font-size: 1.5rem; line-height: 2rem; margin-bottom: 3rem !important; }
.ea-vorteile-raster { margin-bottom: 3rem !important; }
.ea-vorteil { text-align: center; transition: transform 0.3s, box-shadow 0.3s; }
.ea-vorteil:hover { transform: translateY(-0.5rem); box-shadow: var(--ea-schatten-xl); }
.ea-vorteil > * { margin-block: 0; }
.ea-vorteil__icon { display: flex; margin: 0 auto 1.5rem !important; }
.ea-zahl { font-size: 1.875rem; line-height: 2.25rem; font-weight: 700; margin-bottom: 0.5rem !important; -webkit-background-clip: text; background-clip: text; color: transparent; }
.ea-zahl--gruen-smaragd { background-image: linear-gradient(to right, #22c55e, #059669); }
.ea-zahl--blau { background-image: linear-gradient(to right, #3b82f6, #2563eb); }
.ea-zahl--gruen { background-image: var(--ea-gruen); }
.ea-vorteil__titel { font-size: 1.25rem; line-height: 1.75rem; font-weight: 700; margin-bottom: 0.25rem !important; }
.ea-unterzeile { color: #16a34a; font-size: 0.875rem; line-height: 1.25rem; font-weight: 500; margin-bottom: 1rem !important; }
.ea-vorteil__text { line-height: 1.625; }
.ea-checks { margin-bottom: 5rem !important; }
.ea-checks.ea-checks { row-gap: 1rem; }
.ea-check { gap: 0.75rem; }
.ea-check .wp-block-ea-solar-icon { margin-top: 0.15rem; }
.ea-check h5 { margin: 0 0 0.25rem; color: #111827; }
.ea-check p { margin: 0; }
.ea-partner { gap: 4rem; margin-bottom: 4rem !important; }
.ea-partner__bild { margin: 0; }
.ea-partner__bild img { width: 100%; height: 24rem; object-fit: cover; }
.ea-partner__titel { font-size: 1.5rem; line-height: 2rem; }
.ea-partner p:not([class*="ea-stat"]) { line-height: 1.625; }
.ea-stats { gap: 1.5rem; padding-top: 1rem; }
.ea-stat { text-align: center; }
.ea-stat > * { margin: 0; }
.ea-stat__wert { font-size: 1.5rem; line-height: 2rem; font-weight: 700; }
.ea-stat__label { font-size: 0.875rem; line-height: 1.25rem; }
.ea-merkmalkarte { border: 1px solid #f3f4f6; }
.ea-merkmalkarte > * { margin-block: 0; }
.ea-merkmalkarte .wp-block-ea-solar-icon { margin-bottom: 1rem; }
.ea-merkmalkarte__titel { font-size: 1.125rem; line-height: 1.75rem; margin-bottom: 0.5rem !important; }
.ea-merkmalkarte .ea-klein { margin-bottom: 0.75rem !important; }

/* ---------- Leistungen ---------- */
.ea-leistungen-raster { margin-bottom: 4rem !important; }
.ea-leistung { padding: 0; overflow: hidden; border-radius: 1rem; transition: box-shadow 0.3s; }
.ea-leistung:hover { box-shadow: var(--ea-schatten-lg); }
.ea-leistung > * { margin: 0; }
.ea-leistung__bild { height: 12rem; overflow: hidden; margin: 0; }
.ea-leistung__bild img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s; }
.ea-leistung__bild img:hover { transform: scale(1.05); }
.ea-leistung__inhalt { padding: 2rem; }
.ea-leistung__inhalt > * { margin-block: 0; }
.ea-leistung__kopf { gap: 0.75rem; margin-bottom: 1rem !important; }
.ea-leistung__titel { font-size: 1.25rem; line-height: 1.75rem; margin: 0; }
.ea-leistung__text { line-height: 1.625; margin-bottom: 1.5rem !important; }
.ea-leistung__liste li { font-size: 0.875rem; line-height: 1.25rem; color: #374151; }
.ea-zusatz { gap: 1rem; padding: 2rem; border-radius: 0.75rem; }
.ea-zusatz__titel { font-size: 1.125rem; line-height: 1.75rem; margin: 0 0 0.25rem; }
.ea-zusatz p { margin: 0; }

/* ---------- Prozess ---------- */
.ea-prozess { overflow: hidden; }
.ea-prozess .ea-kopf { margin-bottom: 5rem; }
.ea-prozess__symbol { display: flex; margin: 0 auto 1.5rem !important; box-shadow: var(--ea-schatten-lg); animation: ea-huepfen 1s infinite; }
.ea-prozess__symbol svg { animation: ea-drehen 8s linear infinite; }
.ea-prozess .ea-kopf__titel { font-size: 2.25rem; line-height: 2.5rem; margin-top: 0 !important; }
.ea-prozess .ea-lead { margin-top: 1.5rem !important; }
.ea-zeitleiste { position: relative; max-width: 80rem; margin-inline: auto; }
.ea-zeitleiste > * { margin-block: 0; }
.ea-schritt { position: relative; margin-bottom: 8rem !important; --ea-von: #4ade80; --ea-bis: #16a34a; }
.ea-schritt:last-child { margin-bottom: 0 !important; }
.ea-schritt.ea-farbe-blau { --ea-von: #60a5fa; --ea-bis: #2563eb; }
.ea-schritt.ea-farbe-lila { --ea-von: #c084fc; --ea-bis: #9333ea; }
.ea-schritt.ea-farbe-orange { --ea-von: #fb923c; --ea-bis: #ea580c; }
.ea-schritt__raster { gap: 4rem; margin: 0; }
.ea-schritt__animation { display: flex; justify-content: center; }
.ea-schritt__inhalt > * { margin-block: 0; }
.ea-schritt__kopf { gap: 1rem; margin-bottom: 2rem !important; }
.ea-schritt__icon { box-shadow: var(--ea-schatten-lg); transition: transform 0.3s, box-shadow 0.3s; }
.ea-schritt__icon:hover { transform: scale(1.1) rotate(12deg); box-shadow: var(--ea-schatten-xl); }
.ea-schritt__titel { margin: 0; color: #16a34a; font-size: 1.875rem; line-height: 1.25; }
.ea-schritt__text { font-size: 1.125rem; line-height: 1.625; }
@media (max-width: 1023px) {
	.ea-schritt__raster.wp-block-columns { flex-direction: column; gap: 2rem; }
	.ea-schritt__raster > .wp-block-column { flex-basis: 100% !important; width: 100%; }
	.ea-schritt { margin-bottom: 5rem !important; }
}
@media (min-width: 1024px) {
	.ea-zeitleiste::before { content: ""; position: absolute; left: 50%; top: 0; bottom: 0; width: 4px; transform: translateX(-50%); background: linear-gradient(to bottom, #bbf7d0, #86efac, #bbf7d0); }
	.ea-zeitleiste::after { content: ""; position: absolute; left: 50%; top: 0; width: 4px; height: 8rem; margin-left: -2px; background: linear-gradient(to bottom, #22c55e, transparent); animation: ea-fliessen 3s ease-in-out infinite; }
	.ea-schritt::before { content: ""; position: absolute; left: 50%; top: 4rem; z-index: 2; width: 1.5rem; height: 1.5rem; transform: translateX(-50%); border: 4px solid #fff; border-radius: 9999px; box-sizing: border-box; background: linear-gradient(to right, var(--ea-von), var(--ea-bis)); box-shadow: var(--ea-schatten-xl); animation: ea-glimmen 2s ease-in-out infinite; }
	.ea-schritt--umgekehrt .ea-schritt__raster { flex-direction: row-reverse; }
}
.ea-cta { position: relative; overflow: hidden; max-width: 64rem; margin: 6rem auto 0 !important; padding: 3rem; border-radius: 1.5rem; text-align: center; box-shadow: var(--ea-schatten-2xl); transition: transform 0.5s, box-shadow 0.5s; }
.ea-cta:hover { transform: scale(1.02); }
.ea-cta::before, .ea-cta::after { content: ""; position: absolute; border: 2px solid #fff; border-radius: 9999px; opacity: 0.1; pointer-events: none; }
.ea-cta::before { top: 1rem; left: 1rem; width: 4rem; height: 4rem; animation: ea-drehen 8s linear infinite; }
.ea-cta::after { bottom: 2rem; right: 4rem; width: 5rem; height: 5rem; animation: ea-drehen 6s linear infinite reverse; }
.ea-cta > * { position: relative; margin-block: 0; }
.ea-cta__titel { font-size: 1.875rem; line-height: 2.25rem; margin-bottom: 1.5rem !important; }
.ea-cta__text { max-width: 48rem; margin: 0 auto 2rem !important; font-size: 1.125rem; line-height: 1.625; color: #dcfce7; }
@media (max-width: 781px) { .ea-cta { padding: 2rem 1.5rem; } }

/* ---------- Projekte ---------- */
.ea-projekte .wp-block-ea-solar-projekt-slider { margin-bottom: 4rem; }
.ea-cta-hell { max-width: 56rem; margin-inline: auto !important; text-align: center; }
.ea-cta-hell > * { margin-block: 0; }
.ea-cta-hell__titel { font-size: 1.5rem; line-height: 2rem; margin-bottom: 1rem !important; }
.ea-cta-hell__text { max-width: 42rem; margin: 0 auto 1.5rem !important; }

/* ---------- Vorteile ---------- */
.ea-vorteile__raster { gap: 4rem; margin-bottom: 4rem !important; }
.ea-stapel { display: grid; gap: 1.5rem; }
.ea-stapel > * { margin: 0; }
.ea-nutzen { gap: 1rem; padding: 1.5rem; }
.ea-nutzen__titel { font-size: 1.125rem; line-height: 1.75rem; margin: 0 0 0.5rem; }
.ea-nutzen__text { margin: 0; line-height: 1.625; }
.ea-kennzahlen { padding: 2rem; border: 0; }
.ea-kennzahl { text-align: center; }
.ea-kennzahl > * { margin-block: 0; }
.ea-kennzahl .wp-block-ea-solar-icon { display: flex; margin: 0 auto 1rem; }
.ea-kennzahl__wert { font-size: 1.5rem; line-height: 2rem; font-weight: 700; color: #111827; margin-bottom: 0.5rem !important; }

/* ---------- Kontakt ---------- */
.ea-kontakt__raster { gap: 4rem; align-items: flex-start !important; }
.ea-kontakt__raster > .wp-block-column { align-self: flex-start !important; }
.ea-kontakt__spalte-info > * { margin-block: 0; }
.ea-kontakt__titel { font-size: 1.5rem; line-height: 2rem; margin: 0 0 1.5rem !important; }
.ea-kontakt__formular { scroll-margin-top: calc(var(--ea-header-hoehe) + 1rem); }
.ea-kontakt__formular > * { margin-block: 0; }
.ea-kontaktliste { display: grid; gap: 1.5rem; }
.ea-kontaktliste > * { margin: 0; }
.ea-kontaktpunkt { gap: 1rem; }
.ea-kontaktpunkt .wp-block-ea-solar-icon { transition: transform 0.3s; }
.ea-kontaktpunkt:hover .wp-block-ea-solar-icon { transform: scale(1.1); }
.ea-kontaktpunkt__titel { font-size: 1rem; line-height: 1.5rem; margin: 0 0 0.25rem; }
.ea-kontaktpunkt__text { margin: 0; }
.ea-kontaktpunkt__text a { color: #4b5563; transition: color 0.3s; }
.ea-kontaktpunkt__text a:hover { color: #16a34a; }
.ea-warum-karte { padding: 2rem; margin-top: 2rem !important; }
.ea-warum-karte > * { margin-block: 0; }
.ea-warum-karte h4 { font-size: 1.125rem; line-height: 1.75rem; margin-bottom: 1rem; }
.ea-liste-dunkel { gap: 0.75rem; }
.ea-liste-dunkel li { color: #374151; }
.ea-antwort { padding: 2rem; margin-top: 2rem !important; transition: box-shadow 0.3s; }
.ea-antwort:hover { box-shadow: var(--ea-schatten-xl); }
.ea-antwort > * { margin-block: 0; }
.ea-antwort h4 { font-size: 1.125rem; line-height: 1.75rem; margin-bottom: 1rem; }
.ea-antwort p { margin-bottom: 1rem; }
.ea-antwort p:last-child { margin-bottom: 0; align-items: center; }
.ea-antwort .ea-i-check-circle::before { width: 1.25rem; height: 1.25rem; margin-top: 0; color: #bbf7d0; }

/* Contact Form 7 */
.ea-formular { display: grid; gap: 1.5rem; }
.ea-formular p { margin: 0; }
.ea-formular__reihe { display: grid; gap: 1.5rem; }
@media (min-width: 768px) { .ea-formular__reihe { grid-template-columns: 1fr 1fr; } }
.ea-formular label { display: block; margin-bottom: 0.5rem; font-size: 0.875rem; line-height: 1.25rem; font-weight: 500; color: #374151; }
.ea-formular .wpcf7-form-control-wrap { display: block; }
.ea-formular :is(input[type="text"], input[type="email"], input[type="tel"], select, textarea) { width: 100%; box-sizing: border-box; padding: 0.75rem 1rem; border: 1px solid #d1d5db; border-radius: 0.5rem; background: #fff; color: #111827; font: inherit; transition: border-color 0.3s, box-shadow 0.3s; }
.ea-formular :is(input, select, textarea):focus { outline: none; border-color: transparent; box-shadow: 0 0 0 2px #22c55e; }
.ea-formular ::placeholder { color: #9ca3af; }
.ea-formular textarea { resize: none; height: auto; }
.ea-formular .wpcf7-not-valid { border-color: #dc2626; }
.ea-formular .wpcf7-not-valid-tip { margin-top: 0.25rem; color: #dc2626; font-size: 0.875rem; line-height: 1.25rem; }
.ea-formular__senden { position: relative; }
.ea-formular__button { display: flex; align-items: center; justify-content: center; gap: 0.5rem; width: 100%; padding: 1rem 2rem; border: 0; border-radius: 0.5rem; background: var(--ea-gruen); color: #fff; font: inherit; font-size: 1.125rem; line-height: 1.75rem; font-weight: 600; cursor: pointer; transition: transform 0.3s, box-shadow 0.3s, opacity 0.3s; }
.ea-formular__button::before { content: ""; width: 1.25rem; height: 1.25rem; background: currentColor; -webkit-mask: var(--ea-i-send) center / contain no-repeat; mask: var(--ea-i-send) center / contain no-repeat; }
.ea-formular__button:hover { transform: translateY(-2px); box-shadow: var(--ea-schatten-lg); }
.ea-formular__button:disabled { opacity: 0.5; cursor: not-allowed; transform: none; }
.ea-formular__senden .wpcf7-spinner { position: absolute; right: 1rem; top: 50%; margin: -12px 0 0; background-color: rgb(255 255 255 / 0.6); }
.ea-formular__hinweis { font-size: 0.75rem; line-height: 1rem; color: #6b7280; }
.ea-formular__hinweis a { color: #16a34a; text-decoration: underline; }
.ea-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.wpcf7 form .wpcf7-response-output { margin: 1.5rem 0 0; padding: 1rem; border-width: 2px; border-radius: 0.5rem; font-size: 0.875rem; line-height: 1.25rem; }
.wpcf7 form.sent .wpcf7-response-output { border-color: #22c55e; background: #f0fdf4; color: #166534; }
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output { border-color: #f59e0b; background: #fffbeb; color: #92400e; }
.wpcf7 form.failed .wpcf7-response-output, .wpcf7 form.aborted .wpcf7-response-output, .wpcf7 form.spam .wpcf7-response-output { border-color: #dc2626; background: #fef2f2; color: #991b1b; }

/* ---------- Fußbereich ---------- */
.ea-site-footer { overflow: hidden; background: #111827; color: #d1d5db; }
.ea-footer { padding-top: 4rem; }
.ea-footer > * { margin-block: 0; }
.ea-footer__oben { padding-bottom: 4rem; }
.ea-footer h4 { margin: 0 0 1.5rem; color: #fff; font-size: 1.125rem; line-height: 1.75rem; font-weight: 600; }
.ea-footer p { margin: 0; line-height: 1.625; }
.ea-footer__marke > * { margin-block: 0; }
.ea-footer .ea-footer__marke > * + * { margin-top: 1.5rem; }
.ea-footer__logo img { height: 4rem !important; width: auto !important; filter: brightness(0) invert(1); transition: transform 0.3s; }
.ea-footer__logo a:hover img { transform: scale(1.05); }
.ea-social.wp-block-social-links { gap: 1rem; }
.ea-social.wp-block-social-links .wp-social-link { background: #1f2937 !important; color: #fff !important; border-radius: 0.5rem; transition: transform 0.3s, background-color 0.3s; }
.ea-social.wp-block-social-links .wp-social-link:hover { background: #16a34a !important; transform: translateY(-4px) scale(1.1); }
.ea-social.wp-block-social-links .wp-social-link a { padding: 0.75rem; }
.ea-social.wp-block-social-links .wp-social-link svg { width: 1.25rem; height: 1.25rem; }
.ea-footer__liste { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.75rem; }
.ea-footer__liste li { color: #d1d5db; transition: color 0.3s; }
.ea-footer__liste a { display: inline-block; color: #d1d5db; transition: color 0.3s, transform 0.3s; }
.ea-footer__liste a:hover { color: #4ade80; transform: translateX(0.5rem); }
.ea-footer__kontakt { gap: 1rem; }
.ea-footer__kontakt li { gap: 0.75rem; }
.ea-footer__kontakt li::before { width: 1.25rem; height: 1.25rem; margin-top: 0.15rem; color: #4ade80; }
.ea-footer__kontakt a:hover { transform: none; }
.ea-footer__unten { position: relative; gap: 1rem; padding-block: 2rem; }
.ea-footer__unten::before { content: ""; position: absolute; top: 0; left: 50%; width: 100vw; transform: translateX(-50%); border-top: 1px solid #1f2937; }
.ea-footer__unten p { color: #9ca3af; font-size: 0.875rem; line-height: 1.25rem; }
.ea-footer__recht { display: flex; gap: 1.5rem; }
.ea-footer__recht a { color: #9ca3af; transition: color 0.3s, transform 0.3s; }
.ea-footer__recht a:hover { color: #4ade80; }

/* ---------- Seiten (Impressum, Datenschutz, …) ---------- */
.ea-seite { min-height: 60vh; padding-top: 9rem; padding-bottom: 4rem; background: #f9fafb; }
.ea-seite__karte { max-width: 56rem !important; margin-inline: auto !important; padding: 2rem; background: #fff; border-radius: 1rem; box-shadow: var(--ea-schatten-lg); }
@media (min-width: 1024px) { .ea-seite__karte { padding: 3rem; } }
.ea-seite__titel { font-size: 1.875rem; line-height: 2.25rem; margin-bottom: 1rem; }
.ea-seite .wp-block-post-content > * + * { margin-top: 2rem; }
.ea-untertitel { margin-top: 0 !important; margin-bottom: 3rem !important; }
.ea-seite p { color: #374151; }
.ea-box > * { margin-block: 0; }
.ea-box > * + * { margin-top: 1rem; }
.ea-box--ohne { padding: 0; }
.ea-box--linie { padding: 2rem 0 0; border-top: 1px solid #e5e7eb; border-radius: 0; }
.ea-box--linie h4 { margin-top: 1rem; font-size: 1rem; line-height: 1.5rem; }
.ea-box--rot .ea-box__kopf .wp-block-ea-solar-icon { color: #dc2626; }
.ea-box--abstand { margin-top: 3rem !important; }
.ea-box.has-background { padding: 1.5rem; border-radius: 0.75rem; }
.ea-box__kopf { gap: 0.75rem; }
.ea-box__titel { margin: 0; font-size: 1.125rem; line-height: 1.75rem; }
h2.ea-box__titel { font-size: 1.25rem; line-height: 1.75rem; }
.ea-box__gross { font-size: 1.125rem; line-height: 1.75rem; font-weight: 600; }
.ea-box__weiss { padding: 1rem; background: #fff; border-radius: 0.5rem; }
.ea-box__weiss p { margin: 0; }
.ea-box__lila { padding: 1rem; background: #faf5ff; border-radius: 0.5rem; }
.ea-rechtsgrundlage { font-size: 0.875rem; line-height: 1.25rem; font-weight: 500; color: #4b5563 !important; }
.ea-seite .is-style-punkte { gap: 0.75rem; }
.ea-seite .is-style-punkte li { color: #374151; }
.ea-hinweis-gruen { margin-top: 2rem !important; padding: 1rem; border: 1px solid #bbf7d0; border-radius: 0.5rem; background: #f0fdf4; color: #166534 !important; font-size: 0.875rem; line-height: 1.25rem; }

/* ---------- Animationen ---------- */
@keyframes ea-wippen { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-5px); } }
@keyframes ea-drehen { from { transform: rotate(0); } to { transform: rotate(360deg); } }
@keyframes ea-huepfen { 0%, 100% { transform: translateY(-25%); animation-timing-function: cubic-bezier(0.8, 0, 1, 1); } 50% { transform: none; animation-timing-function: cubic-bezier(0, 0, 0.2, 1); } }
@keyframes ea-fliessen { 0% { transform: translateY(-100%); opacity: 0; } 50% { opacity: 1; } 100% { transform: translateY(400%); opacity: 0; } }
@keyframes ea-glimmen { 0%, 100% { box-shadow: 0 0 5px rgba(34, 197, 94, 0.5); } 50% { box-shadow: 0 0 20px rgba(34, 197, 94, 0.8); } }
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
}

/* ---------- Mobile Feinheiten ---------- */
h1, h2, h3, h4 { -webkit-hyphens: auto; hyphens: auto; hyphenate-limit-chars: 10 4 4; }
@media (max-width: 639px) {
	.ea-hero__buttons { flex-direction: column; align-items: stretch !important; }
	.ea-hero__buttons .wp-block-button, .ea-hero__buttons .wp-block-button__link { width: 100%; justify-content: center; text-align: center; }
	.ea-footer__unten { flex-direction: column; align-items: center !important; text-align: center; }
}

/* ---------- Typografie wie Tailwind (Schriftgröße mit fester Zeilenhöhe, Umschaltung bei 1024 px) ---------- */
.ea-check .ea-klein, .ea-zusatz .ea-klein { line-height: 1.25rem; }
.ea-header__nav .wp-block-navigation-item__content.wp-block-navigation-item__content { color: #1f2937; }
.ea-header__nav .wp-block-navigation-item__content.wp-block-navigation-item__content:hover { color: #16a34a; }
@media (min-width: 1024px) {
	.ea-kopf__titel, .ea-cta__titel, .ea-seite__titel { font-size: 2.25rem; line-height: 2.5rem; }
	.ea-hero__titel, .ea-prozess .ea-kopf__titel { font-size: 3.75rem; line-height: 1; }
	.ea-schritt__titel { font-size: 2.25rem; line-height: 2.5rem; }
	.ea-zwischentitel { font-size: 1.875rem; line-height: 2.25rem; }
}
