/* ==========================================================================
   Altbau-Ausbau - Komponenten
   Alles, was sich nicht in theme.json abbilden laesst. Bewusst kurz gehalten.
   Farben und Abstaende kommen ausschliesslich aus den theme.json-Variablen.
   ========================================================================== */

/* --- Block-Stile: Hinweisboxen -------------------------------------------- */
.wp-block-group.is-style-aa-hinweis-gruen,
.wp-block-group.is-style-aa-hinweis-gold,
.wp-block-group.is-style-aa-hinweis-rot,
.wp-block-group.is-style-aa-karte {
	background: var(--wp--preset--color--flaeche);
	border: 1px solid var(--wp--preset--color--linie);
	border-radius: 4px;
	padding: var(--wp--preset--spacing--30);
}
.wp-block-group.is-style-aa-hinweis-gruen { border-left: 4px solid var(--wp--preset--color--gruen); }
.wp-block-group.is-style-aa-hinweis-gold  { border-left: 4px solid var(--wp--preset--color--gold); }
.wp-block-group.is-style-aa-hinweis-rot   { border-left: 4px solid var(--wp--preset--color--signal-rot); }
.wp-block-group.is-style-aa-karte         { box-shadow: var(--wp--preset--shadow--karte); }

/* --- Block-Stile: Text ---------------------------------------------------- */
.wp-block-paragraph.is-style-aa-vorspann {
	font-size: var(--wp--preset--font-size--gross);
	color: var(--wp--preset--color--text-2);
	max-width: 62ch;
}
.wp-block-paragraph.is-style-aa-daten {
	font-family: var(--wp--preset--font-family--mono);
	font-size: var(--wp--preset--font-size--kleiner);
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--text-3);
}
.wp-block-list.is-style-aa-haken { list-style: none; padding-left: 0; }
.wp-block-list.is-style-aa-haken li { padding-left: 1.6em; position: relative; }
.wp-block-list.is-style-aa-haken li::before {
	content: "\2713"; position: absolute; left: 0;
	color: var(--wp--preset--color--gruen); font-weight: 700;
}

/* --- Block-Stil: Datentabelle --------------------------------------------- */
.wp-block-table.is-style-aa-tabelle table { border-collapse: collapse; }
.wp-block-table.is-style-aa-tabelle th,
.wp-block-table.is-style-aa-tabelle td {
	border: none;
	border-bottom: 1px solid var(--wp--preset--color--linie-hell);
	padding: .7rem .9rem;
	text-align: left;
	vertical-align: top;
}
.wp-block-table.is-style-aa-tabelle thead th {
	font-family: var(--wp--preset--font-family--mono);
	font-size: .68rem; letter-spacing: .1em; text-transform: uppercase;
	color: var(--wp--preset--color--text-3);
	background: var(--wp--preset--color--flaeche-2);
	border-bottom: 1px solid var(--wp--preset--color--linie);
	white-space: nowrap;
}
.wp-block-table.is-style-aa-tabelle tbody tr:last-child td { border-bottom: none; }
.wp-block-table.is-style-aa-tabelle { overflow-x: auto; }

/* Zahlenspalten ausrichten: Klasse "zahl" im Editor an die Zelle geben */
.wp-block-table td.zahl, .wp-block-table th.zahl {
	font-family: var(--wp--preset--font-family--mono);
	font-variant-numeric: tabular-nums;
	white-space: nowrap; text-align: right;
}

/* --- Kopf- und Fussbereich ------------------------------------------------ */
.aa-kopf { position: sticky; top: 0; z-index: 60; background: var(--wp--preset--color--flaeche); border-bottom: 1px solid var(--wp--preset--color--linie); }
.aa-wortmarke { font-family: var(--wp--preset--font-family--display); font-weight: 800; font-size: 1.15rem; letter-spacing: -.025em; line-height: 1; color: var(--wp--preset--color--gruen); text-decoration: none; }
.aa-wortmarke em { font-style: normal; color: var(--wp--preset--color--gold); }
.aa-claim { font-family: var(--wp--preset--font-family--display); font-weight: 600; font-size: .625rem; color: var(--wp--preset--color--text-3); display: block; margin-top: 2px; }
.aa-utility { background: var(--wp--preset--color--band); color: #9BBFAC; font-family: var(--wp--preset--font-family--mono); font-size: .72rem; }
.aa-utility a { color: #E7F0EA; }
.wp-block-navigation .wp-block-navigation-item__content {
	font-family: var(--wp--preset--font-family--display); font-weight: 700; font-size: .9rem; text-decoration: none;
}
.wp-block-navigation .current-menu-item > .wp-block-navigation-item__content { box-shadow: inset 0 -3px 0 var(--wp--preset--color--gold); }

/* --- Kennzahlenleiste unter der Ueberschrift ------------------------------ */
.aa-kennzahlen { display: flex; flex-wrap: wrap; border: 1px solid var(--wp--preset--color--linie); border-radius: 4px; background: var(--wp--preset--color--flaeche); overflow: hidden; }
.aa-kennzahlen > div { flex: 1 1 150px; padding: .7rem 1rem; border-right: 1px solid var(--wp--preset--color--linie); }
.aa-kennzahlen > div:last-child { border-right: none; }
.aa-kennzahlen dt { font-family: var(--wp--preset--font-family--mono); font-size: .625rem; letter-spacing: .11em; text-transform: uppercase; color: var(--wp--preset--color--text-3); margin: 0; }
.aa-kennzahlen dd { font-family: var(--wp--preset--font-family--display); font-weight: 800; font-size: .95rem; color: var(--wp--preset--color--gruen); margin: 2px 0 0; font-variant-numeric: tabular-nums; }

/* --- Register (Gewerkeliste) ---------------------------------------------- */
.aa-register { border: 1px solid var(--wp--preset--color--linie); border-radius: 4px; background: var(--wp--preset--color--flaeche); overflow: hidden; }
.aa-register a { display: grid; grid-template-columns: 1fr auto; gap: .25rem 1rem; padding: .95rem 1.2rem; border-bottom: 1px solid var(--wp--preset--color--linie-hell); text-decoration: none; color: inherit; }
.aa-register a:last-child { border-bottom: none; }
.aa-register a:hover { background: var(--wp--preset--color--flaeche-2); }
.aa-register .nm { font-family: var(--wp--preset--font-family--display); font-weight: 800; font-size: 1.02rem; }
.aa-register a:hover .nm { color: var(--wp--preset--color--gruen); }
.aa-register .pr { font-family: var(--wp--preset--font-family--mono); font-size: .75rem; color: var(--wp--preset--color--text-2); text-align: right; font-variant-numeric: tabular-nums; }
.aa-register .ds { grid-column: 1 / -1; font-size: .9rem; color: var(--wp--preset--color--text-2); line-height: 1.45; }
@media (max-width: 560px) { .aa-register a { grid-template-columns: 1fr; } .aa-register .pr { text-align: left; } }

/* --- Rechner und Diagramme ------------------------------------------------ */
.aa-tool { border: 1px solid var(--wp--preset--color--linie); border-radius: 4px; background: var(--wp--preset--color--flaeche); overflow: hidden; margin-block: var(--wp--preset--spacing--30); }
.aa-tool__kopf { background: var(--wp--preset--color--gruen); color: #fff; padding: .8rem 1.2rem; display: flex; justify-content: space-between; gap: .9rem; align-items: baseline; flex-wrap: wrap; }
.aa-tool__kopf b { font-family: var(--wp--preset--font-family--display); font-weight: 800; font-size: 1rem; }
.aa-tool__kopf span { font-family: var(--wp--preset--font-family--mono); font-size: .66rem; letter-spacing: .1em; text-transform: uppercase; color: var(--wp--preset--color--gold); }
.aa-tool__leib { padding: 1.3rem 1.2rem; display: flex; flex-direction: column; gap: 1.2rem; }
.aa-feld { display: flex; flex-direction: column; gap: .45rem; }
.aa-feld > label, .aa-feld > .lb { font-family: var(--wp--preset--font-family--display); font-weight: 700; font-size: .9rem; }
.aa-feld .hinweis { font-family: var(--wp--preset--font-family--mono); font-size: .72rem; color: var(--wp--preset--color--text-3); line-height: 1.5; }
.aa-tool input[type=number], .aa-tool input[type=text], .aa-tool select {
	font-family: var(--wp--preset--font-family--mono); font-size: .9rem; padding: .65rem .75rem;
	border: 1px solid var(--wp--preset--color--linie); border-radius: 3px;
	background: var(--wp--preset--color--flaeche-2); color: var(--wp--preset--color--text); width: 100%;
}
.aa-tool input:focus, .aa-tool select:focus { border-color: var(--wp--preset--color--gruen); outline: 3px solid var(--wp--preset--color--gold); outline-offset: 1px; }
.aa-optionen { display: flex; flex-wrap: wrap; gap: .45rem; }
.aa-option { position: relative; }
.aa-option input { position: absolute; opacity: 0; inset: 0; cursor: pointer; }
.aa-option span { display: block; font-family: var(--wp--preset--font-family--display); font-weight: 700; font-size: .84rem; padding: .55rem .8rem; border: 1px solid var(--wp--preset--color--linie); border-radius: 3px; background: var(--wp--preset--color--flaeche-2); cursor: pointer; }
.aa-option input:checked + span { border-color: var(--wp--preset--color--gruen); background: var(--wp--preset--color--gruen-hell); color: var(--wp--preset--color--gruen); }
.aa-option input:focus-visible + span { outline: 3px solid var(--wp--preset--color--gold); outline-offset: 2px; }
.aa-haken-liste { display: flex; flex-direction: column; gap: 1px; background: var(--wp--preset--color--linie); border: 1px solid var(--wp--preset--color--linie); border-radius: 3px; overflow: hidden; }
.aa-haken-liste label { display: grid; grid-template-columns: auto 1fr auto; gap: .75rem; align-items: center; background: var(--wp--preset--color--flaeche); padding: .7rem .9rem; cursor: pointer; font-size: .95rem; }
.aa-haken-liste label:hover { background: var(--wp--preset--color--flaeche-2); }
.aa-haken-liste input { accent-color: var(--wp--preset--color--gruen); width: 17px; height: 17px; }
.aa-haken-liste .pr { font-family: var(--wp--preset--font-family--mono); font-size: .72rem; color: var(--wp--preset--color--text-3); font-variant-numeric: tabular-nums; }
.aa-ergebnis { border-top: 3px solid var(--wp--preset--color--gold); background: var(--wp--preset--color--flaeche-2); padding: 1.3rem 1.2rem; }
.aa-ergebnis .titel { font-family: var(--wp--preset--font-family--mono); font-size: .66rem; letter-spacing: .1em; text-transform: uppercase; color: var(--wp--preset--color--text-3); margin-bottom: .3rem; }
.aa-ergebnis .zahl { font-family: var(--wp--preset--font-family--display); font-weight: 800; font-size: clamp(1.6rem, 4vw, 2.3rem); line-height: 1.05; letter-spacing: -.02em; color: var(--wp--preset--color--gruen); font-variant-numeric: tabular-nums; }
.aa-zeilen { display: flex; flex-direction: column; margin-top: 1rem; border-top: 1px solid var(--wp--preset--color--linie); }
.aa-zeilen > div { display: flex; justify-content: space-between; gap: 1rem; padding: .55rem 0; border-bottom: 1px solid var(--wp--preset--color--linie-hell); font-size: .9rem; }
.aa-zeilen > div b { font-family: var(--wp--preset--font-family--mono); font-weight: 500; font-variant-numeric: tabular-nums; }
.aa-zeilen > div.summe { border-bottom: none; border-top: 2px solid var(--wp--preset--color--gruen); font-weight: 600; padding-top: .7rem; }
.aa-stapel { display: flex; height: 34px; border-radius: 3px; overflow: hidden; border: 1px solid var(--wp--preset--color--linie); margin-top: .9rem; }
.aa-stapel i { display: block; position: relative; }
.aa-stapel i span { position: absolute; inset: 0; display: grid; place-items: center; font-family: var(--wp--preset--font-family--mono); font-size: .66rem; font-weight: 600; color: #fff; }
.aa-legende { display: flex; flex-wrap: wrap; gap: .45rem 1.1rem; margin-top: .8rem; font-family: var(--wp--preset--font-family--mono); font-size: .72rem; color: var(--wp--preset--color--text-2); }
.aa-legende span { display: flex; align-items: center; gap: .38rem; }
.aa-legende i { width: 11px; height: 11px; border-radius: 2px; display: block; }
.aa-fussnote { font-family: var(--wp--preset--font-family--mono); font-size: .7rem; line-height: 1.6; color: var(--wp--preset--color--text-3); margin-top: .9rem; }
.aa-marke { display: inline-block; font-family: var(--wp--preset--font-family--mono); font-size: .64rem; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; padding: 2px 6px; border: 1px solid; border-radius: 2px; white-space: nowrap; vertical-align: middle; }
.aa-marke.gut { color: var(--wp--preset--color--gruen); border-color: var(--wp--preset--color--gruen); background: var(--wp--preset--color--gruen-hell); }
.aa-marke.mittel { color: var(--wp--preset--color--gold-dunkel); border-color: var(--wp--preset--color--gold-dunkel); background: var(--wp--preset--color--gold-hell); }
.aa-marke.kritisch { color: var(--wp--preset--color--signal-rot); border-color: var(--wp--preset--color--signal-rot); background: #F7E0DB; }
.aa-diagramm { margin-top: 1rem; }
.aa-diagramm svg { width: 100%; height: auto; display: block; }

/* --- Barrierefreiheit ------------------------------------------------------ */
:where(a, button, input, select, textarea, summary):focus-visible {
	outline: 3px solid var(--wp--preset--color--gold); outline-offset: 2px;
}
@media (prefers-reduced-motion: reduce) { * { animation: none !important; transition: none !important; } }


/* =============================================================
   === Layout 1.3.0 ============================================
   Seitenaufbau, Kopfbereich, Magazin, Logo
   ============================================================= */

/* --- Brotkrumen ---------------------------------------------------------- */
.aa-crumbs { font-family: var(--wp--preset--font-family--mono); font-size: .72rem; letter-spacing: .05em; color: var(--wp--preset--color--text-3); margin-bottom: 1rem; }
.aa-crumbs a { color: var(--wp--preset--color--text-3); text-decoration: none; }
.aa-crumbs a:hover { color: var(--wp--preset--color--gruen); }

/* --- Kopfbereich bleibt stehen ------------------------------------------- */
.aa-kopf { position: sticky; top: 0; z-index: 60; border-bottom: 1px solid var(--wp--preset--color--linie); }
body.admin-bar .aa-kopf { top: 32px; }
@media (max-width: 782px) { body.admin-bar .aa-kopf { top: 46px; } }

/* --- Logo ---------------------------------------------------------------- */
.aa-logo img, .wp-block-site-logo img { display: block; height: auto; }
.wp-block-site-logo { line-height: 0; }
.aa-logo--invers { display: inline-block; margin-bottom: 1.8rem; }
.aa-logo--invers img { width: 200px; }
@media (max-width: 781px) { .wp-block-site-logo img { width: 150px !important; } }

/* --- Textspalte + mitlaufende Angebotsspalte ----------------------------- */
.aa-layout { align-items: flex-start; }
main > .wp-block-post-title, main > h1.wp-block-heading { max-width: 22ch; margin: 0 auto 1.1rem var(--aa-links) !important; }
.aa-layout .aa-kennzahlen > div { flex-basis: 120px; }
.aa-rail { position: sticky; top: 92px; display: flex; flex-direction: column; gap: 1.1rem; }
.aa-rail h2 { font-size: 1.28rem; line-height: 1.22; letter-spacing: -.01em; margin: 0; }
.aa-rail p { font-size: .88rem; line-height: 1.55; margin: 0; }
.aa-rail .wp-block-buttons { margin: .15rem 0 0; }
.aa-rail .wp-block-button__link { display: block; width: 100%; text-align: center; font-size: .92rem; padding: .72rem 1rem; }
.aa-cta-kasten { border: 1px solid var(--wp--preset--color--gruen); border-radius: 4px; overflow: hidden; padding: 1.1rem 1.2rem; background: var(--wp--preset--color--flaeche); display: flex; flex-direction: column; gap: .7rem; }
.aa-rail-box { border: 1px solid var(--wp--preset--color--linie); border-radius: 4px; padding: 1rem 1.2rem; background: var(--wp--preset--color--flaeche); }
.aa-rail-box h2 { margin-bottom: .6rem; }
.aa-rail-liste { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .45rem; }
.aa-rail-liste a { font-size: .88rem; color: var(--wp--preset--color--gruen); text-decoration: none; border-bottom: 1px solid var(--wp--preset--color--linie-hell); }
.aa-rail-liste a:hover { border-bottom-color: var(--wp--preset--color--gruen); }
.aa-schritte { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: .6rem; }
.aa-schritte li { display: grid; grid-template-columns: 24px 1fr; gap: .7rem; align-items: start; font-size: .9rem; color: var(--wp--preset--color--text-2); }
.aa-schritte b { font-family: var(--wp--preset--font-family--mono); font-size: .72rem; color: var(--wp--preset--color--gruen-dunkel); background: var(--wp--preset--color--gold); width: 22px; height: 22px; display: grid; place-items: center; border-radius: 50%; }
@media (min-width: 782px) { .aa-rail { max-height: calc(100vh - 110px); overflow-y: auto; scrollbar-width: thin; } }
@media (max-width: 781px) { .aa-rail { position: static; max-height: none; overflow: visible; } }

/* --- Fliesstext linksbuendig (WordPress setzt auto !important) ------------ */
.entry-content > *:not(.alignwide):not(.alignfull):not(.aligncenter):not(.has-text-align-center):not(.has-text-align-right) { margin-left: var(--aa-links) !important; margin-right: auto !important; }
.entry-content > p.is-style-aa-vorspann { max-width: 62ch; }
.page-template-page-breit .entry-content > p,
.page-template-page-breit .entry-content > ul,
.page-template-page-breit .entry-content > ol { max-width: 68ch; margin-left: var(--aa-links) !important; margin-right: auto !important; }

/* --- Zweispaltiger Hero der Titelseite ----------------------------------- */
.aa-hero { align-items: center; }
.aa-hero h1 { max-width: 16ch; }
.aa-hero .is-style-aa-vorspann { max-width: 46ch; }
.aa-hero .aa-viz { margin: 0; }
.aa-hero .aa-viz svg { width: 100%; height: auto; }
@media (max-width: 781px) { .aa-hero { gap: 1.6rem; } }

/* --- Abschnitte ---------------------------------------------------------- */
.aa-abschnitt > h2 { margin: .55rem 0 1rem; }
.aa-abschnitt > .is-style-aa-daten + h2 { margin-top: .35rem; }
.aa-abschnitt > h2 + p { margin-bottom: 1.4rem; }
.aa-abschnitt > p:not(.is-style-aa-daten) { max-width: 62ch; margin-left: var(--aa-links) !important; margin-right: auto !important; color: var(--wp--preset--color--text-2); }

/* --- Magazin: Beitragsliste ---------------------------------------------- */
.aa-artikel { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--wp--preset--color--linie); }
.aa-artikel > li { display: grid; grid-template-columns: 132px 1fr; gap: 1.1rem; padding: 1.05rem 0; border-bottom: 1px solid var(--wp--preset--color--linie); align-items: start; }
.aa-artikel__meta { display: flex; flex-direction: column; gap: 3px; padding-top: 4px; min-width: 0; }
.aa-artikel__meta .wp-block-post-terms { overflow-wrap: break-word; hyphens: auto; -webkit-hyphens: auto; line-height: 1.35; }
.aa-artikel__meta .wp-block-post-terms a { color: var(--wp--preset--color--gruen); text-decoration: none; white-space: normal !important; }
.aa-artikel__meta .wp-block-post-date, .aa-artikel__meta .wp-block-post-terms { font-family: var(--wp--preset--font-family--mono); font-size: .7rem; color: var(--wp--preset--color--text-3); margin: 0; }
.aa-artikel__meta .wp-block-post-terms a { color: var(--wp--preset--color--gruen); text-decoration: none; }
.aa-artikel__text .wp-block-post-title { font-family: var(--wp--preset--font-family--display); font-weight: 800; font-size: 1.1rem; line-height: 1.25; margin: 0; }
.aa-artikel__text .wp-block-post-title a { text-decoration: none; color: inherit; }
.aa-artikel__text .wp-block-post-title a:hover { color: var(--wp--preset--color--gruen); }
.aa-artikel__text .wp-block-post-excerpt { margin: .35rem 0 0; }
.aa-artikel__text .wp-block-post-excerpt__excerpt { font-size: .92rem; color: var(--wp--preset--color--text-2); line-height: 1.55; }
.aa-artikel__text .wp-block-post-excerpt__more-link { display: none; }
.aa-blaettern { margin-top: 1.6rem; font-family: var(--wp--preset--font-family--mono); font-size: .8rem; }
.aa-blaettern a { color: var(--wp--preset--color--gruen); text-decoration: none; }
.aa-blaettern a:hover { text-decoration: underline; }
.aa-blaettern .wp-block-query-pagination-numbers { display: flex; gap: .5rem; }
@media (max-width: 620px) { .aa-artikel > li { grid-template-columns: 1fr; gap: .3rem; } .aa-artikel__meta { flex-direction: row; gap: .8rem; padding-top: 0; } }

/* --- Karten (Werkzeuge, Themen) ------------------------------------------ */
.aa-karten { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 1.1rem; }
.aa-karte { background: var(--wp--preset--color--flaeche); border: 1px solid var(--wp--preset--color--linie); border-radius: 4px; padding: 1.25rem; display: flex; flex-direction: column; gap: .6rem; text-decoration: none; color: inherit; }
.aa-karte:hover { border-color: var(--wp--preset--color--gruen); }
.aa-karte b { font-family: var(--wp--preset--font-family--display); font-weight: 800; font-size: 1.05rem; }
.aa-karte span { font-size: .9rem; color: var(--wp--preset--color--text-2); line-height: 1.5; }
.aa-karte em { font-family: var(--wp--preset--font-family--mono); font-size: .74rem; font-style: normal; color: var(--wp--preset--color--gruen); margin-top: auto; }

/* --- Vertrauenszeile im Hero --------------------------------------------- */
.aa-vertrauen { display: flex; flex-wrap: wrap; gap: .45rem 1.3rem; margin: 0; padding: 0; list-style: none; font-family: var(--wp--preset--font-family--mono); font-size: .75rem; color: var(--wp--preset--color--text-2); }
.aa-vertrauen li::before { content: "\2713"; color: var(--wp--preset--color--gruen); font-weight: 700; margin-right: .4rem; }

/* --- Angebotsband -------------------------------------------------------- */
.aa-band .wp-block-button__link { text-align: center; }
.aa-band .aa-knopf-band .wp-block-button__link { color: var(--wp--preset--color--flaeche); border-color: var(--wp--preset--color--gruen-mittel); background: transparent; }
.aa-band .aa-knopf-band .wp-block-button__link:hover { border-color: var(--wp--preset--color--gold); color: var(--wp--preset--color--gold); }
.aa-band p:not(.is-style-aa-daten) { color: #9BBFAC; max-width: 52ch; }
.aa-band h2 { margin-top: .6rem; }


/* =============================================================
   === Gravity Forms ===========================================
   Angleichung an die Gestaltung des Entwurfs
   ============================================================= */

.gform_wrapper.gravity-theme {
	border: 1px solid var(--wp--preset--color--linie);
	border-radius: 4px;
	background: var(--wp--preset--color--flaeche);
	overflow: hidden;
	max-width: 680px;
	margin: var(--wp--preset--spacing--30) 0;
}
.gform_wrapper.gravity-theme .gform_fields { grid-row-gap: 1.4rem; }
.gform_wrapper.gravity-theme .gform_page_fields { padding: 1.5rem 1.4rem .4rem; }
.gform_wrapper.gravity-theme form { margin: 0; }

/* Schrittleiste */
.gform_wrapper.gravity-theme .gf_page_steps {
	display: flex; flex-wrap: wrap; gap: .1rem 1.1rem;
	margin: 0; padding: .9rem 1.4rem;
	background: var(--wp--preset--color--flaeche-2);
	border-bottom: 1px solid var(--wp--preset--color--linie);
}
.gform_wrapper.gravity-theme .gf_step {
	display: flex; align-items: center; gap: .45rem;
	margin: 0; padding: .2rem 0; opacity: 1; font-weight: 400;
}
.gform_wrapper.gravity-theme .gf_step_number {
	font-family: var(--wp--preset--font-family--mono); font-size: .68rem; font-weight: 600;
	width: 21px; height: 21px; flex: 0 0 21px; border-radius: 50%;
	display: grid; place-items: center;
	background: var(--wp--preset--color--linie); color: var(--wp--preset--color--text-3);
	border: none;
}
.gform_wrapper.gravity-theme .gf_step_number::before { display: none; }
.gform_wrapper.gravity-theme .gf_step_label {
	font-family: var(--wp--preset--font-family--display); font-weight: 700; font-size: .8rem;
	color: var(--wp--preset--color--text-3);
}
.gform_wrapper.gravity-theme .gf_step_active .gf_step_number { background: var(--wp--preset--color--gold); color: var(--wp--preset--color--gruen-dunkel); }
.gform_wrapper.gravity-theme .gf_step_active .gf_step_label { color: var(--wp--preset--color--gruen); }
.gform_wrapper.gravity-theme .gf_step_completed .gf_step_number { background: var(--wp--preset--color--gruen); color: #fff; }

/* Fragen und Beschriftungen */
.gform_wrapper.gravity-theme .gfield_label,
.gform_wrapper.gravity-theme legend.gfield_label {
	font-family: var(--wp--preset--font-family--display); font-weight: 800;
	font-size: 1.16rem; line-height: 1.28; color: var(--wp--preset--color--text);
	margin-bottom: .7rem; padding: 0;
}
.gform_wrapper.gravity-theme .gfield_description {
	font-family: var(--wp--preset--font-family--mono); font-size: .72rem;
	color: var(--wp--preset--color--text-3); line-height: 1.5; padding: 0 0 .6rem;
}
.gform_wrapper.gravity-theme .gfield_required { color: var(--wp--preset--color--gold-dunkel); }
.gform_wrapper.gravity-theme .gfield_required_text { font-family: var(--wp--preset--font-family--mono); font-size: .68rem; font-style: normal; }

/* Auswahlfelder als Schaltflaechen */
.gform_wrapper.gravity-theme .gfield_radio,
.gform_wrapper.gravity-theme .gfield_checkbox {
	display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: .55rem;
}
.gform_wrapper.gravity-theme .gchoice { position: relative; margin: 0; }
.gform_wrapper.gravity-theme .gchoice input[type="radio"],
.gform_wrapper.gravity-theme .gchoice input[type="checkbox"] {
	position: absolute; opacity: 0; inset: 0; width: 100%; height: 100%; margin: 0; cursor: pointer;
}
.gform_wrapper.gravity-theme .gchoice label {
	display: block; margin: 0;
	font-family: var(--wp--preset--font-family--display); font-weight: 700; font-size: .88rem;
	line-height: 1.3; padding: .8rem .85rem;
	border: 1px solid var(--wp--preset--color--linie); border-radius: 3px;
	background: var(--wp--preset--color--flaeche-2); cursor: pointer;
	max-width: none;
}
.gform_wrapper.gravity-theme .gchoice label:hover { border-color: var(--wp--preset--color--gruen); color: var(--wp--preset--color--gruen); background: var(--wp--preset--color--flaeche); }
.gform_wrapper.gravity-theme .gchoice input:checked + label {
	border-color: var(--wp--preset--color--gruen);
	background: var(--wp--preset--color--gruen-hell);
	color: var(--wp--preset--color--gruen);
	box-shadow: inset 0 0 0 1px var(--wp--preset--color--gruen);
}
.gform_wrapper.gravity-theme .gchoice input:focus-visible + label { outline: 3px solid var(--wp--preset--color--gold); outline-offset: 2px; }

/* Einverstaendnis als Zeile, nicht als Kachel */
.gform_wrapper.gravity-theme .gfield--type-consent .ginput_container_consent { display: grid; grid-template-columns: auto 1fr; gap: .7rem; align-items: start; }
.gform_wrapper.gravity-theme .gfield--type-consent input[type="checkbox"] { position: static; opacity: 1; width: 17px; height: 17px; accent-color: var(--wp--preset--color--gruen); margin-top: .15rem; }
.gform_wrapper.gravity-theme .gfield_consent_label { font-family: var(--wp--preset--font-family--body); font-weight: 400; font-size: .86rem; line-height: 1.55; color: var(--wp--preset--color--text-2); padding: 0; border: none; background: none; }
.gform_wrapper.gravity-theme .gfield--type-consent .gfield_label { font-size: .95rem; }

/* Eingabefelder */
.gform_wrapper.gravity-theme input[type="text"],
.gform_wrapper.gravity-theme input[type="email"],
.gform_wrapper.gravity-theme input[type="tel"],
.gform_wrapper.gravity-theme input[type="number"],
.gform_wrapper.gravity-theme select,
.gform_wrapper.gravity-theme textarea {
	font-family: var(--wp--preset--font-family--mono); font-size: .88rem;
	padding: .7rem .75rem;
	border: 1px solid var(--wp--preset--color--linie); border-radius: 3px;
	background: var(--wp--preset--color--flaeche-2); color: var(--wp--preset--color--text);
	width: 100%;
}
.gform_wrapper.gravity-theme input:focus,
.gform_wrapper.gravity-theme select:focus,
.gform_wrapper.gravity-theme textarea:focus {
	border-color: var(--wp--preset--color--gruen); background: var(--wp--preset--color--flaeche); outline: none;
}
.gform_wrapper.gravity-theme .ginput_counter { font-family: var(--wp--preset--font-family--mono); font-size: .68rem; color: var(--wp--preset--color--text-3); }

/* Dateiupload */
.gform_wrapper.gravity-theme .gform_drop_area { border: 1px dashed var(--wp--preset--color--linie); border-radius: 3px; background: var(--wp--preset--color--flaeche-2); padding: 1.1rem; }
.gform_wrapper.gravity-theme .gform_drop_instructions { font-family: var(--wp--preset--font-family--mono); font-size: .74rem; color: var(--wp--preset--color--text-3); }
.gform_wrapper.gravity-theme .gform_fileupload_rules { font-family: var(--wp--preset--font-family--mono); font-size: .68rem; color: var(--wp--preset--color--text-3); }

/* Fusszeile mit den Schaltflaechen */
.gform_wrapper.gravity-theme .gform_page_footer,
.gform_wrapper.gravity-theme .gform_footer {
	display: flex; justify-content: space-between; align-items: center; gap: .8rem; flex-wrap: wrap;
	margin: 0; padding: 1.1rem 1.4rem 1.3rem;
	border-top: 1px solid var(--wp--preset--color--linie);
	background: var(--wp--preset--color--flaeche-2);
}
.gform_wrapper.gravity-theme .gform_page_footer input[type="submit"],
.gform_wrapper.gravity-theme .gform_page_footer input[type="button"],
.gform_wrapper.gravity-theme .gform_footer input[type="submit"],
.gform_wrapper.gravity-theme .gform-theme-button {
	font-family: var(--wp--preset--font-family--display); font-weight: 800; font-size: .92rem;
	padding: .78rem 1.35rem; border-radius: 3px; border: none; cursor: pointer;
	background: var(--wp--preset--color--gold); color: var(--wp--preset--color--gruen-dunkel);
	width: auto; margin: 0;
}
.gform_wrapper.gravity-theme .gform_page_footer input[type="submit"]:hover,
.gform_wrapper.gravity-theme .gform_footer input[type="submit"]:hover,
.gform_wrapper.gravity-theme .gform_next_button:hover { background: var(--wp--preset--color--gold-dunkel); color: #fff; }
.gform_wrapper.gravity-theme .gform_previous_button,
.gform_wrapper.gravity-theme .gform-theme-button--secondary {
	background: transparent !important; color: var(--wp--preset--color--text-3) !important;
	font-family: var(--wp--preset--font-family--mono) !important; font-weight: 400 !important; font-size: .78rem !important;
	text-decoration: underline; padding: .5rem .2rem !important; order: -1;
}
.gform_wrapper.gravity-theme .gform_previous_button:hover { color: var(--wp--preset--color--gruen) !important; }

/* Fehler und Bestaetigung */
.gform_wrapper.gravity-theme .gfield_error .gfield_label { color: var(--wp--preset--color--signal-rot); }
.gform_wrapper.gravity-theme .validation_message {
	font-family: var(--wp--preset--font-family--mono); font-size: .74rem;
	color: var(--wp--preset--color--signal-rot); background: none; border: none;
	border-left: 3px solid var(--wp--preset--color--signal-rot); padding: .3rem .6rem; margin-top: .5rem;
}
.gform_wrapper.gravity-theme .gform_validation_errors {
	border: 1px solid var(--wp--preset--color--signal-rot); border-radius: 3px;
	background: #F7E0DB; box-shadow: none; margin: 1.2rem 1.4rem 0; padding: .9rem 1.1rem;
}
.gform_confirmation_message {
	border: 1px solid var(--wp--preset--color--gruen); border-top: 3px solid var(--wp--preset--color--gold);
	border-radius: 4px; background: var(--wp--preset--color--flaeche);
	padding: 1.8rem 1.5rem; max-width: 680px;
}

@media (max-width: 600px) {
	.gform_wrapper.gravity-theme .gf_page_steps { gap: .1rem .7rem; }
	.gform_wrapper.gravity-theme .gf_step_label { display: none; }
	.gform_wrapper.gravity-theme .gfield_radio,
	.gform_wrapper.gravity-theme .gfield_checkbox { grid-template-columns: 1fr; }
}

/* Direkte Kinder von main ebenfalls linksbuendig (hoehere Spezifitaet noetig,
   WordPress setzt in constrained-Layouts margin auto !important) */
.wp-site-blocks main > *:not(.alignwide):not(.alignfull):not(.aligncenter) { margin-left: var(--aa-links) !important; margin-right: auto !important; }
.wp-site-blocks main > p.is-style-aa-vorspann { max-width: 62ch; }


/* =============================================================
   === Aus den globalen Stilen uebernommen ======================
   Diagramme, Hotspots, Navigationsknopf. Standen bis 1.3.0 in den
   zusaetzlichen CSS-Regeln der Website-Stile; jetzt hier, damit es
   nur eine Quelle gibt.
   ============================================================= */
.wp-block-navigation .cta-sm > a.wp-block-navigation-item__content{background:var(--wp--preset--color--gold);color:var(--wp--preset--color--gruen-dunkel);padding:.55rem .9rem;border-radius:3px;font-weight:800;box-shadow:none}.wp-block-navigation .cta-sm > a.wp-block-navigation-item__content:hover{background:var(--wp--preset--color--gold-dunkel);color:#fff}.wp-block-post-title{margin-bottom:.6rem}.entry-content > h2{margin-top:2.6rem}.entry-content > h3{margin-top:1.8rem}.aa-register + p{margin-top:.9rem}.wp-block-columns .is-style-aa-karte{height:100%}@media (max-width:781px){.aa-kennzahlen > div{flex-basis:50%;border-right:none;border-bottom:1px solid var(--wp--preset--color--linie)}}.aa-viz{background:var(--wp--preset--color--flaeche);border:1px solid var(--wp--preset--color--linie);border-radius:4px;padding:20px 20px 16px;margin-block:var(--wp--preset--spacing--30)}.aa-viz__kopf{display:flex;justify-content:space-between;gap:14px;align-items:baseline;flex-wrap:wrap;margin-bottom:16px}.aa-viz__titel{font-family:var(--wp--preset--font-family--display);font-weight:800;font-size:.98rem}.aa-viz__sub{font-family:var(--wp--preset--font-family--mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--wp--preset--color--text-3)}.aa-spanne{display:grid;gap:4px;margin-bottom:11px}.aa-spanne__zeile{display:flex;justify-content:space-between;gap:12px;font-size:.88rem;color:var(--wp--preset--color--text-2)}.aa-spanne__zeile b{font-family:var(--wp--preset--font-family--mono);font-size:.76rem;color:var(--wp--preset--color--text);font-variant-numeric:tabular-nums;font-weight:500}.aa-spur{position:relative;height:13px;background:var(--wp--preset--color--flaeche-2);border:1px solid var(--wp--preset--color--linie-hell);border-radius:2px}.aa-spur i{position:absolute;top:0;bottom:0;background:var(--wp--preset--color--gruen);border-radius:2px;display:block}.aa-spur i.gold{background:var(--wp--preset--color--gold)}.aa-achse{display:flex;justify-content:space-between;font-family:var(--wp--preset--font-family--mono);font-size:.66rem;color:var(--wp--preset--color--text-3);margin-top:8px;padding-top:7px;border-top:1px solid var(--wp--preset--color--linie-hell)}.aa-viz svg{width:100%;height:auto;display:block}.aa-hotspot{cursor:pointer}.aa-hotspot .hit{fill:transparent}.aa-hotspot:hover .punkt,.aa-hotspot:focus .punkt{fill:var(--wp--preset--color--gold)}.aa-hotspot:hover .lab,.aa-hotspot:focus .lab{fill:var(--wp--preset--color--gruen);font-weight:700}.aa-bildtext{font-family:var(--wp--preset--font-family--mono);font-size:.7rem;color:var(--wp--preset--color--text-3);margin-top:9px;line-height:1.55}

/* --- Partnerseite -------------------------------------------------------- */
.aa-vertrauen--hell { color: #9BBFAC; margin: .3rem 0 1.1rem; }
.aa-vertrauen--hell li::before { color: var(--wp--preset--color--gold); }
.aa-band .is-style-aa-vorspann { color: #C3D8CC; }
.aa-partner-fakten { border: 1px solid var(--wp--preset--color--band-rule, #0B4D36); border-radius: 4px; background: rgba(255,255,255,.04); }
.aa-partner-fakten dl { margin: 0; display: flex; flex-direction: column; }
.aa-partner-fakten dl > div { display: flex; justify-content: space-between; gap: 1rem; padding: .8rem 1.15rem; border-bottom: 1px solid rgba(255,255,255,.09); }
.aa-partner-fakten dl > div:last-child { border-bottom: none; }
.aa-partner-fakten dt { font-family: var(--wp--preset--font-family--mono); font-size: .7rem; letter-spacing: .1em; text-transform: uppercase; color: #9BBFAC; margin: 0; }
.aa-partner-fakten dd { font-family: var(--wp--preset--font-family--display); font-weight: 800; font-size: .92rem; color: var(--wp--preset--color--gold); margin: 0; text-align: right; }
.aa-anker { display: block; height: 0; scroll-margin-top: 110px; }
.aa-karten--drei { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
.aa-karten--drei .aa-karte em { order: -1; margin: 0 0 .1rem; font-size: .8rem; color: var(--wp--preset--color--gold-dunkel); }

.aa-band .is-style-aa-daten, .aa-partner-hero .is-style-aa-daten { color: var(--wp--preset--color--gold) !important; }
.aa-band .is-style-aa-haken li, .aa-band li { color: #C3D8CC; }

/* Beschriftungen in SVG-Diagrammen */
.aa-viz svg a { text-decoration: none; }
.aa-viz svg text { font-family: var(--wp--preset--font-family--display); }
.aa-viz svg text.mono { font-family: var(--wp--preset--font-family--mono); }
.aa-zeitstrahl svg { max-width: 720px; margin: 0 auto; }


/* =============================================================
   === Fussbereich 1.3.0 =======================================
   ============================================================= */
.aa-fuss { color: #D7E4DB; }
.aa-fuss-kopf { display: grid; grid-template-columns: 260px 1fr; gap: 2.4rem; align-items: start; padding-bottom: 2.4rem; border-bottom: 1px solid rgba(255,255,255,.12); }
.aa-fuss-logo { display: block; }
.aa-fuss-logo img { width: 230px; height: auto; display: block; }
.aa-fuss-kopf p { font-size: .92rem; line-height: 1.6; color: #9BBFAC; max-width: 52ch; margin: .2rem 0 0; }

.aa-fuss-raster { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 2rem; padding: 2.2rem 0 2rem; }
.aa-fuss-raster h2 {
	font-family: var(--wp--preset--font-family--mono); font-size: .68rem; font-weight: 600;
	letter-spacing: .14em; text-transform: uppercase;
	color: var(--wp--preset--color--gold) !important; margin: 0 0 .85rem;
}
.aa-fuss-raster ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .55rem; }
.aa-fuss-raster a { color: #D7E4DB; text-decoration: none; font-size: .9rem; }
.aa-fuss-raster a:hover { color: var(--wp--preset--color--gold); text-decoration: underline; text-underline-offset: 3px; }

.aa-fuss-basis {
	display: flex; justify-content: space-between; flex-wrap: wrap; gap: 1rem;
	padding-top: 1.3rem; border-top: 1px solid rgba(255,255,255,.12);
	font-family: var(--wp--preset--font-family--mono); font-size: .72rem; color: #8FAF9E;
}
.aa-fuss-basis a { color: #8FAF9E; text-decoration: none; }
.aa-fuss-basis a:hover { color: var(--wp--preset--color--gold); }

@media (max-width: 720px) {
	.aa-fuss-kopf { grid-template-columns: 1fr; gap: 1.2rem; }
	.aa-fuss-logo img { width: 190px; }
}

/* Kopfbereich: Logo und Navigation auf einer Linie */
.aa-kopf .wp-block-site-logo img { width: 280px; }
.aa-kopf > .wp-block-group > .wp-block-group { align-items: center; min-height: 40px; }
@media (max-width: 1080px) { .aa-kopf .wp-block-site-logo img { width: 230px; } }
@media (max-width: 781px) { .aa-kopf .wp-block-site-logo img { width: 200px !important; } }


/* =============================================================
   === Altbeitraege aus dem vorherigen Theme ===================
   Die Beitraege liegen in einem zweispaltigen Aufbau: Artikel in
   der schmalen Spalte, Inhaltsverzeichnis daneben. In unserer
   700-px-Textspalte bleiben davon 356 px uebrig. Deshalb hier
   untereinander, Inhaltsverzeichnis zuerst.
   ============================================================= */
.aa-artikel__meta { align-items: flex-start; }

.single .entry-content > .wp-block-columns { flex-wrap: wrap !important; gap: 1.4rem 0; }
.single .entry-content > .wp-block-columns > .wp-block-column { flex-basis: 100% !important; }
.single .entry-content > .wp-block-columns > .wp-block-column:nth-child(2) { order: -1; }

.simpletoc {
	border: 1px solid var(--wp--preset--color--linie);
	border-left: 3px solid var(--wp--preset--color--gold);
	border-radius: 4px;
	background: var(--wp--preset--color--flaeche-2);
	padding: 1.1rem 1.3rem;
	margin-block: var(--wp--preset--spacing--30);
}
.simpletoc::before {
	content: "Inhalt";
	display: block;
	font-family: var(--wp--preset--font-family--mono);
	font-size: .66rem; letter-spacing: .12em; text-transform: uppercase;
	color: var(--wp--preset--color--text-3); margin-bottom: .7rem;
}
.simpletoc-list { list-style: none; margin: 0; padding: 0; }
.simpletoc-list > li { break-inside: avoid; margin-bottom: .5rem; }
.simpletoc-list ul { list-style: none; margin: .35rem 0 .2rem .2rem; padding-left: .9rem; border-left: 1px solid var(--wp--preset--color--linie); }
.simpletoc-list ul li { margin-bottom: .3rem; }
@media (min-width: 620px) { .simpletoc-list { columns: 2; column-gap: 1.8rem; } }

.simpletoc-list a { color: var(--wp--preset--color--gruen); text-decoration: none; font-size: .92rem; line-height: 1.4; }
.simpletoc-list a:hover { text-decoration: underline; text-underline-offset: 3px; }
.simpletoc-list ul a { font-size: .86rem; color: var(--wp--preset--color--text-2); }

/* Ueberschrift des alten Inhaltskastens */
.single .entry-content .wp-block-column > p.has-background:first-child {
	font-family: var(--wp--preset--font-family--display); font-weight: 800; font-size: 1.05rem;
	background: none !important; color: var(--wp--preset--color--text) !important;
	padding: 0 !important; margin-bottom: .2rem;
}

/* Bilder aus Altbeitraegen laufen nicht mehr im Text mit.
   Umflossene Bilder liessen den Text zwischen eingerueckt und
   buendig springen - in einer 700-px-Spalte unruhig und schlecht
   lesbar. Jetzt stehen sie als eigene Zeile ueber die volle Breite. */
.single .entry-content .alignleft,
.single .entry-content .alignright,
.single .entry-content figure.alignleft,
.single .entry-content figure.alignright {
	float: none !important;
	max-width: 100% !important;
	margin-left: var(--aa-links) !important;
	margin-right: 0 !important;
	margin-block: var(--wp--preset--spacing--30) !important;
}
.single .entry-content figure img { width: 100%; height: auto; }
.single .entry-content figure.wp-block-image img { border-radius: 4px; }
.single .entry-content .wp-block-cover { border-radius: 4px; min-height: 240px; }
@media (max-width: 620px) {
	.single .entry-content .alignleft,
	.single .entry-content .alignright { max-width: 100%; float: none; margin-left: 0; margin-right: 0; }
}

/* --- Register mit Gewerke-Sinnbildern ------------------------------------ */
.aa-register--icons a { grid-template-columns: 44px 1fr auto; gap: .3rem 1rem; align-items: center; }
.aa-register--icons .ic { grid-row: span 2; align-self: start; margin-top: 2px; color: var(--wp--preset--color--gruen); display: block; }
.aa-register--icons .ic svg { display: block; }
.aa-register--icons .nm { grid-column: 2; }
.aa-register--icons .pr { grid-row: 1; grid-column: 3; }
.aa-register--icons .ds { grid-column: 2 / 4; }
.aa-register--icons a:hover .ic { color: var(--wp--preset--color--gold-dunkel); }
@media (max-width: 600px) {
	.aa-register--icons a { grid-template-columns: 34px 1fr; }
	.aa-register--icons .pr { grid-row: auto; grid-column: 2; text-align: left; }
	.aa-register--icons .ds { grid-column: 2; }
}

/* --- Hinweiskaesten in der Seitenspalte ---------------------------------- */
.aa-infokasten {
	border: 1px solid var(--wp--preset--color--linie);
	border-radius: 4px;
	background: var(--wp--preset--color--flaeche);
	padding: 1.1rem 1.25rem;
}
.aa-infokasten--gruen { border-left: 3px solid var(--wp--preset--color--gruen); }
.aa-infokasten h2 {
	font-family: var(--wp--preset--font-family--display); font-weight: 800;
	font-size: 1.02rem; line-height: 1.25; margin: 0 0 .5rem;
}
.aa-infokasten p { font-size: .88rem; line-height: 1.6; color: var(--wp--preset--color--text-2); margin: 0; }
.aa-anfrage .gform_wrapper.gravity-theme { max-width: none; margin-top: 0; }


/* =============================================================
   === Formular: Feinschliff ===================================
   Schrittleiste als Fortschrittsbalken wie im Entwurf,
   Antwortflaechen breiter, Silbentrennung statt harter Umbrueche.
   ============================================================= */

.gform_wrapper.gravity-theme .gf_page_steps {
	display: flex; flex-wrap: nowrap; gap: 3px;
	padding: 1.15rem 1.4rem .55rem;
	background: var(--wp--preset--color--flaeche);
	border-bottom: 1px solid var(--wp--preset--color--linie);
}
.gform_wrapper.gravity-theme .gf_step {
	flex: 1 1 0; min-width: 0;
	display: flex; flex-direction: column; gap: .45rem;
	margin: 0; padding: 0; opacity: 1;
}
.gform_wrapper.gravity-theme .gf_step::before {
	content: ""; display: block; height: 4px; border-radius: 1px;
	background: var(--wp--preset--color--linie);
}
.gform_wrapper.gravity-theme .gf_step_completed::before,
.gform_wrapper.gravity-theme .gf_step_active::before { background: var(--wp--preset--color--gold); }
.gform_wrapper.gravity-theme .gf_step_number { display: none; }
.gform_wrapper.gravity-theme .gf_step_label {
	font-family: var(--wp--preset--font-family--mono);
	font-size: .6rem; letter-spacing: .07em; text-transform: uppercase;
	color: var(--wp--preset--color--text-3);
	overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.gform_wrapper.gravity-theme .gf_step_active .gf_step_label { color: var(--wp--preset--color--gruen); font-weight: 600; }
.gform_wrapper.gravity-theme .gf_step_completed .gf_step_label { color: var(--wp--preset--color--text-2); }

/* Antwortflaechen */
.gform_wrapper.gravity-theme .gfield_radio,
.gform_wrapper.gravity-theme .gfield_checkbox { grid-template-columns: repeat(auto-fit, minmax(168px, 1fr)); gap: .5rem; }
.gform_wrapper.gravity-theme .gchoice label {
	hyphens: auto; -webkit-hyphens: auto; overflow-wrap: break-word;
	min-height: 100%; display: flex; align-items: center;
}

/* Pflichtfeld-Hinweis entschaerfen */
.gform_wrapper.gravity-theme .gfield_required_text { display: none; }
.gform_wrapper.gravity-theme .gfield_required { color: var(--wp--preset--color--text-3); font-weight: 400; }

/* Frage etwas groesser, Abstand darunter */
.gform_wrapper.gravity-theme .gfield_label,
.gform_wrapper.gravity-theme legend.gfield_label { font-size: 1.24rem; margin-bottom: .85rem; }
.gform_wrapper.gravity-theme .gform_page_fields { padding: 1.6rem 1.4rem .6rem; }

@media (max-width: 600px) {
	.gform_wrapper.gravity-theme .gf_step_label { display: none; }
	.gform_wrapper.gravity-theme .gf_page_steps { padding-bottom: .9rem; }
}


/* === Schrittanzeige: nur der Fortschrittsbalken, wie im Entwurf ========== */
.gform_wrapper.gravity-theme .gf_page_steps { padding: 1.15rem 1.4rem 1.15rem; flex-wrap: nowrap; }
.gform_wrapper.gravity-theme .gf_step_label,
.gform_wrapper.gravity-theme .gf_step_number { display: none !important; }
.gform_wrapper.gravity-theme .gf_step { gap: 0; }

.gform_wrapper.gravity-theme .gfield_required_text,
.gform_wrapper.gravity-theme span.gfield_required.gfield_required_text { display: none !important; }

/* --- Sinnbild ueber der Gewerke-Ueberschrift ----------------------------- */
.aa-gewerk-sinnbild { display: block; color: var(--wp--preset--color--gruen); margin-bottom: .75rem; }
.aa-gewerk-sinnbild svg { display: block; }


/* =============================================================
   === Einheitliches Textmass ==================================
   Regel: In einem Abschnitt haben Ueberschrift und Fliesstext
   dieselbe Breite. Nur Daten-Bausteine (Register, Tabellen,
   Kennzahlen, Diagramme, Karten, Formulare) laufen ueber die
   volle Breite. Damit gibt es keine Spruenge mitten im Text.

   Wichtig: kein "ch" verwenden - die Einheit haengt an der
   Schriftgroesse des Elements, eine 32-px-Ueberschrift waere bei
   68ch fast doppelt so breit wie der Fliesstext darunter.
   ============================================================= */
:root {
	--aa-mass: 630px;
	--aa-mass-schmal: 580px;
	--aa-breite: 1200px;
	/* Linker Rand eines Elements, damit es an der linken Kante des
	   zentrierten 1200-px-Bereichs sitzt - und nicht am Bildschirmrand.
	   In schmaleren Behaeltern (z. B. der 700-px-Textspalte) ergibt die
	   Rechnung 0, dort aendert sich also nichts. */
	--aa-links: max(0px, calc((100% - var(--aa-breite)) / 2));
}

/* 1. Schmale Textspalte (Vorlage "Seite"): keine zusaetzlichen Deckel */
/* Zweispaltige Seiten: Titel auf die Breite der Textspalte, damit
   Ueberschrift und Text dieselbe linke und rechte Kante haben. */
body:not(.page-template-page-breit):not(.page-template-page-landing) .wp-site-blocks main > .wp-block-post-title,
body:not(.page-template-page-breit):not(.page-template-page-landing) .wp-site-blocks main > h1.wp-block-heading { max-width: 700px !important; }
.entry-content > p.is-style-aa-vorspann { max-width: none; }

/* 2. Breite Seiten: ein Mass fuer Ueberschrift und Text */
.page-template-page-breit main > .wp-block-post-title,
.page-template-page-breit main > h1.wp-block-heading,
.page-template-page-breit main > p,
.page-template-page-breit .entry-content > h2,
.page-template-page-breit .entry-content > h3,
.page-template-page-breit .entry-content > h4,
.page-template-page-breit .entry-content > p,
.page-template-page-breit .entry-content > ul,
.page-template-page-breit .entry-content > ol,
.page-template-page-breit .entry-content > blockquote { max-width: var(--aa-mass); }

/* 3. Abschnitte auf Titel- und Landingpages */
.aa-abschnitt > h1,
.aa-abschnitt > h2,
.aa-abschnitt > h3,
.aa-abschnitt > p:not(.is-style-aa-daten) { max-width: var(--aa-mass-schmal); }

/* 4. Landingpage-Vorlage */
.page-template-page-landing .entry-content > h2,
.page-template-page-landing .entry-content > h3,
.page-template-page-landing .entry-content > p,
.page-template-page-landing .entry-content > ul,
.page-template-page-landing .entry-content > ol { max-width: var(--aa-mass); }

/* 5. Was bewusst breit bleibt */
.aa-register, .aa-kennzahlen, .aa-viz, .aa-karten, .aa-tool,
.wp-block-table,
.aa-abschnitt > .aa-register, .aa-abschnitt > .aa-viz,
.aa-abschnitt > .aa-karten, .aa-abschnitt > .aa-kennzahlen { max-width: var(--aa-breite) !important; }


/* =============================================================
   === Formular: Raster und Beschriftungen =====================
   Kurze Felder stehen paarweise nebeneinander, lange Felder ueber
   die volle Breite. Die Frage eines Auswahlfeldes ist die
   Ueberschrift des Schrittes und deshalb gross; die Beschriftung
   eines Eingabefeldes bleibt klein.
   ============================================================= */

.gform_wrapper.gravity-theme { max-width: 680px; }
.aa-anfrage .gform_wrapper.gravity-theme { max-width: none; }

/* Kurze Felder paarweise */
@media (min-width: 560px) {
	.gform_wrapper.gravity-theme .gfield--type-text,
	.gform_wrapper.gravity-theme .gfield--type-email,
	.gform_wrapper.gravity-theme .gfield--type-phone,
	.gform_wrapper.gravity-theme .gfield--type-number,
	.gform_wrapper.gravity-theme .gfield--type-date { grid-column: span 6 !important; }
	.gform_wrapper.gravity-theme .gfield--type-textarea,
	.gform_wrapper.gravity-theme .gfield--type-radio,
	.gform_wrapper.gravity-theme .gfield--type-checkbox,
	.gform_wrapper.gravity-theme .gfield--type-consent,
	.gform_wrapper.gravity-theme .gfield--type-fileupload,
	.gform_wrapper.gravity-theme .gfield--type-select { grid-column: 1 / -1 !important; }
}

/* Beschriftung: gross nur bei Auswahlfragen */
.gform_wrapper.gravity-theme .gfield_label,
.gform_wrapper.gravity-theme legend.gfield_label {
	font-family: var(--wp--preset--font-family--display); font-weight: 700;
	font-size: .92rem; line-height: 1.35; margin-bottom: .45rem;
}
.gform_wrapper.gravity-theme .gfield--type-radio > .gfield_label,
.gform_wrapper.gravity-theme .gfield--type-checkbox > .gfield_label,
.gform_wrapper.gravity-theme .gfield--type-radio > legend.gfield_label,
.gform_wrapper.gravity-theme .gfield--type-checkbox > legend.gfield_label {
	font-weight: 800; font-size: 1.24rem; line-height: 1.28; margin-bottom: .85rem;
}

/* Zeichenzaehler nur dort, wo er hilft */
.gform_wrapper.gravity-theme .gfield--type-text .ginput_counter,
.gform_wrapper.gravity-theme .gfield--type-phone .ginput_counter { display: none; }

/* Platzhalter dezent */
.gform_wrapper.gravity-theme ::placeholder { color: var(--wp--preset--color--text-3); opacity: 1; }

/* Abstaende im Formularkoerper */
.gform_wrapper.gravity-theme .gform_body { padding: 1.6rem 1.4rem .4rem; }
.gform_wrapper.gravity-theme .gform_page_fields { padding: 1.6rem 1.4rem .6rem; }
.gform_wrapper.gravity-theme .gform_body .gform_page_fields { padding: 0; }
.gform_wrapper.gravity-theme .gform_fields { grid-row-gap: 1.25rem; }

/* Formular linksbuendig statt zentriert */
.gform_wrapper.gravity-theme { margin-left: var(--aa-links) !important; margin-right: auto !important; }


/* === Formular: gleiche Kachelhoehen und Akzentkante ====================== */
.gform_wrapper.gravity-theme .gchoice { display: flex; }
.gform_wrapper.gravity-theme .gchoice label { flex: 1 1 auto; min-height: 0; }
.gform_wrapper.gravity-theme .gfield_radio,
.gform_wrapper.gravity-theme .gfield_checkbox { align-items: stretch; }

/* Einzelformulare bekommen oben eine Akzentkante wie die Rechnerkaesten */
.gform_wrapper.gravity-theme { border-top: 3px solid var(--wp--preset--color--gruen); }
.aa-anfrage .gform_wrapper.gravity-theme { border-top-width: 1px; border-top-color: var(--wp--preset--color--linie); }

/* Einwilligung optisch vom Rest abheben */
.gform_wrapper.gravity-theme .gfield--type-consent {
	background: var(--wp--preset--color--flaeche-2);
	border: 1px solid var(--wp--preset--color--linie);
	border-radius: 3px; padding: .9rem 1rem;
}
.gform_wrapper.gravity-theme .gfield--type-consent .gfield_label { margin-bottom: .5rem; }


/* =============================================================
   === Formular: Fusszeile und Schaltflaechen ==================
   Gravity Forms gibt je nach Feldtyp mal <input type=submit>,
   mal <button> aus. Beide muessen gleich aussehen.
   ============================================================= */

.gform_wrapper.gravity-theme .gform_footer,
.gform_wrapper.gravity-theme .gform-footer,
.gform_wrapper.gravity-theme .gform_page_footer {
	display: flex !important;
	justify-content: space-between; align-items: center;
	gap: .8rem; flex-wrap: wrap;
	margin: 1.2rem 0 0 !important;
	padding: 1.1rem 1.4rem 1.25rem !important;
	border-top: 1px solid var(--wp--preset--color--linie);
	background: var(--wp--preset--color--flaeche-2);
}

.gform_wrapper.gravity-theme .gform_button,
.gform_wrapper.gravity-theme .gform_next_button,
.gform_wrapper.gravity-theme button.gform_button,
.gform_wrapper.gravity-theme input.gform_button,
.gform_wrapper.gravity-theme .gform_footer input[type="submit"],
.gform_wrapper.gravity-theme .gform_page_footer input[type="submit"],
.gform_wrapper.gravity-theme .gform-theme-button--primary {
	font-family: var(--wp--preset--font-family--display) !important;
	font-weight: 800 !important;
	font-size: .95rem !important;
	line-height: 1.2 !important;
	padding: .82rem 1.5rem !important;
	border: none !important;
	border-radius: 3px !important;
	background: var(--wp--preset--color--gold) !important;
	color: var(--wp--preset--color--gruen-dunkel) !important;
	width: auto !important;
	margin: 0 !important;
	cursor: pointer;
	text-transform: none;
	box-shadow: none;
}
.gform_wrapper.gravity-theme .gform_button:hover,
.gform_wrapper.gravity-theme .gform_next_button:hover,
.gform_wrapper.gravity-theme .gform_footer input[type="submit"]:hover,
.gform_wrapper.gravity-theme .gform_page_footer input[type="submit"]:hover {
	background: var(--wp--preset--color--gold-dunkel) !important;
	color: #fff !important;
}
.gform_wrapper.gravity-theme .gform_button:focus-visible,
.gform_wrapper.gravity-theme .gform_next_button:focus-visible {
	outline: 3px solid var(--wp--preset--color--gruen); outline-offset: 2px;
}

/* Zurueck-Schaltflaeche bleibt zurueckhaltend */
.gform_wrapper.gravity-theme .gform_previous_button,
.gform_wrapper.gravity-theme button.gform_previous_button,
.gform_wrapper.gravity-theme .gform-theme-button--secondary {
	background: transparent !important;
	color: var(--wp--preset--color--text-3) !important;
	font-family: var(--wp--preset--font-family--mono) !important;
	font-weight: 400 !important; font-size: .78rem !important;
	padding: .5rem .2rem !important; border: none !important;
	text-decoration: underline; order: -1; box-shadow: none;
}
.gform_wrapper.gravity-theme .gform_previous_button:hover { color: var(--wp--preset--color--gruen) !important; }

/* Ladeanzeige beim Absenden */
.gform_wrapper.gravity-theme .gform_ajax_spinner { margin-left: .7rem; }

/* Hinweiskaesten sind Fliesstext, keine Datenbausteine */
.page-template-page-breit .is-style-aa-hinweis-gruen > *,
.page-template-page-breit .is-style-aa-hinweis-gold > *,
.page-template-page-breit .is-style-aa-hinweis-rot > *,
.page-template-page-landing .is-style-aa-hinweis-gruen > *,
.page-template-page-landing .is-style-aa-hinweis-gold > *,
.page-template-page-landing .is-style-aa-hinweis-rot > * { max-width: var(--aa-mass); }

/* Im Angebotsband fuellen Ueberschrift und Text dieselbe Spalte */
.aa-band p:not(.is-style-aa-daten) { max-width: none; }

/* Die Angebotsspalte laeuft ueber die ganze Artikelhoehe mit.
   Ohne stretch ist ihre Spalte nur so hoch wie ihr Inhalt und
   sticky hat keinen Weg - die rechte Seite bliebe leer. */
.aa-layout > .wp-block-column:last-child { align-self: stretch; }


/* === Zweispaltiges Raster wie im Entwurf ================================= */
/* Textspalte flexibel, Seitenspalte fest - so fuellt das Raster die vollen
   1200 px und der Inhalt sitzt mittig auf der Seite. Der Fliesstext selbst
   bleibt auf Lesebreite begrenzt. */
.aa-layout > .wp-block-column:first-child { flex-basis: 0 !important; flex-grow: 1 !important; min-width: 0; }
.aa-layout > .wp-block-column:first-child .entry-content,
.aa-layout > .wp-block-column:first-child > .wp-block-query { max-width: 700px; }
.aa-layout .wp-block-post-content > * { max-width: 700px; }

/* Spaltenraster halten sich an die Seitenbreite */
.wp-block-columns { max-width: var(--aa-breite); }


/* =============================================================
   === Kastenmodell und Abschnittsraender ======================
   ============================================================= */

/* Rahmen und Innenabstand zaehlen zur Breite. Ohne das wurden
   Diagramm- und Registerkaesten um Rahmen plus Padding breiter als
   der 1200-px-Bereich und ragten links und rechts heraus. */
*, *::before, *::after { box-sizing: border-box; }

/* Auch Ueberschriften und alles andere in einem Abschnitt sitzen an
   der linken Kante des zentrierten Bereichs, nicht in dessen Mitte. */
.aa-abschnitt > * { margin-left: var(--aa-links) !important; margin-right: auto !important; }
.aa-abschnitt > .aa-viz,
.aa-abschnitt > .aa-register,
.aa-abschnitt > .aa-karten,
.aa-abschnitt > .aa-kennzahlen,
.aa-abschnitt > .wp-block-columns { margin-left: var(--aa-links) !important; }

/* Sinnbild in der Auswahlflaeche */
.gform_wrapper.gravity-theme .gchoice label:has(.aa-wahl-sinnbild) {
	display: flex; flex-direction: column; align-items: flex-start; gap: .55rem;
	padding: .95rem .9rem;
}
.aa-wahl-sinnbild { display: block; color: var(--wp--preset--color--gruen); }
.aa-wahl-sinnbild svg { display: block; }
.gform_wrapper.gravity-theme .gchoice input:checked + label .aa-wahl-sinnbild { color: var(--wp--preset--color--gruen); }

/* Hinweis auf das Alter eines Beitrags */
.aa-altbeitrag {
	border: 1px solid var(--wp--preset--color--linie);
	border-left: 3px solid var(--wp--preset--color--gold);
	border-radius: 4px;
	background: var(--wp--preset--color--flaeche-2);
	padding: .85rem 1.1rem;
	margin-block: 0 var(--wp--preset--spacing--30);
}
.aa-altbeitrag p { margin: 0; font-size: .88rem; line-height: 1.55; color: var(--wp--preset--color--text-2); }
.aa-altbeitrag strong { color: var(--wp--preset--color--text); }
.aa-altbeitrag a { color: var(--wp--preset--color--gruen); }
/* Interne Verweise im Fliesstext sichtbar machen */
.single .entry-content p a { color: var(--wp--preset--color--gruen); text-decoration-color: color-mix(in srgb, currentColor 35%, transparent); text-underline-offset: 3px; }
.single .entry-content p a:hover { text-decoration-color: currentColor; }

/* Bestaetigung nach dem Absenden */
.aa-bestaetigung {
	border: 1px solid var(--wp--preset--color--gruen);
	border-top: 3px solid var(--wp--preset--color--gold);
	border-radius: 4px;
	background: var(--wp--preset--color--flaeche);
	padding: 2.4rem 2rem 2.2rem;
	max-width: 680px;
	text-align: center;
}
.aa-bestaetigung svg { color: var(--wp--preset--color--gruen); margin: 0 auto .9rem; display: block; }
.aa-bestaetigung h2 { font-family: var(--wp--preset--font-family--display); font-weight: 800; font-size: 1.5rem; margin: 0 0 .8rem; }
.aa-bestaetigung p { max-width: 46ch; margin: 0 auto .9rem; color: var(--wp--preset--color--text-2); font-size: .95rem; line-height: 1.6; }
.aa-bestaetigung__klein { font-family: var(--wp--preset--font-family--mono); font-size: .76rem !important; line-height: 1.6; color: var(--wp--preset--color--text-3) !important; }
.aa-bestaetigung__knopf { margin-top: 1.4rem !important; }
.aa-bestaetigung__knopf a { display: inline-block; text-decoration: none; }

/* Datentabellen im Beitrag: Rahmen aussen, waagerechte Linien innen,
   auf schmalen Bildschirmen seitlich scrollbar statt gequetscht. */
.aa-tabelle-rahmen {
	border: 1px solid var(--wp--preset--color--linie);
	border-radius: 4px;
	background: var(--wp--preset--color--flaeche);
	overflow-x: auto;
	margin-block: var(--wp--preset--spacing--30);
}
.aa-tabelle-rahmen table { border-collapse: collapse; width: 100%; min-width: 520px; margin: 0; border: none; }
.aa-tabelle-rahmen th,
.aa-tabelle-rahmen td { text-align: left; padding: .7rem .95rem; border: none; border-bottom: 1px solid var(--wp--preset--color--linie-hell); vertical-align: top; font-size: .92rem; line-height: 1.55; }
.aa-tabelle-rahmen thead th {
	font-family: var(--wp--preset--font-family--mono); font-size: .66rem; letter-spacing: .1em;
	text-transform: uppercase; color: var(--wp--preset--color--text-3);
	background: var(--wp--preset--color--flaeche-2);
	border-bottom: 1px solid var(--wp--preset--color--linie); white-space: nowrap;
}
.aa-tabelle-rahmen tbody tr:last-child td { border-bottom: none; }
.aa-tabelle-rahmen td.n { font-family: var(--wp--preset--font-family--mono); font-variant-numeric: tabular-nums; white-space: nowrap; }


/* --- Ausschreibungen ------------------------------------------------------
   Der Anriss ist oeffentlich und indexierbar. Alles, was einen Bauherrn
   erkennbar macht, steht bewusst nicht darin - siehe aa_ausschreibung_anriss().
   -------------------------------------------------------------------------- */
.aa-ausschreibungen { display: grid; gap: 1.1rem; margin-block: var(--wp--preset--spacing--30); }
.aa-ausschreibung { border: 1px solid var(--wp--preset--color--linie); border-radius: 4px; background: var(--wp--preset--color--flaeche); padding: 1.15rem 1.3rem 1.25rem; }
.aa-ausschreibung + .aa-ausschreibung__fuss { margin-top: -1.25rem; }
.aa-ausschreibung__kopf { display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap; font-family: var(--wp--preset--font-family--mono); font-size: .7rem; letter-spacing: .1em; text-transform: uppercase; color: var(--wp--preset--color--text-3); margin-bottom: .55rem; }
.aa-ausschreibung__kopf .frist { color: var(--wp--preset--color--gold-dunkel, #B08800); font-weight: 600; }
.aa-ausschreibung__titel { font-family: var(--wp--preset--font-family--display); font-weight: 800; font-size: 1.18rem; line-height: 1.28; margin: 0 0 .6rem; }
.aa-ausschreibung__titel a { text-decoration: none; color: inherit; }
.aa-ausschreibung__titel a:hover { color: var(--wp--preset--color--gruen); }
.aa-marken { display: flex; flex-wrap: wrap; gap: .35rem; margin-bottom: .8rem; }
.aa-marke { font-family: var(--wp--preset--font-family--mono); font-size: .68rem; letter-spacing: .04em; padding: .22rem .5rem; border: 1px solid var(--wp--preset--color--linie); border-radius: 2px; color: var(--wp--preset--color--text-2); background: var(--wp--preset--color--flaeche-2); }
.aa-ausschreibung__daten { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: .55rem 1.2rem; margin: 0 0 .85rem; }
.aa-ausschreibung__daten dt { font-family: var(--wp--preset--font-family--mono); font-size: .66rem; letter-spacing: .08em; text-transform: uppercase; color: var(--wp--preset--color--text-3); margin-bottom: .12rem; }
.aa-ausschreibung__daten dd { margin: 0; font-size: .93rem; font-weight: 600; }
.aa-ausschreibung__punkte { margin: 0; padding-left: 1.05rem; }
.aa-ausschreibung__punkte li { font-size: .93rem; line-height: 1.5; margin-bottom: .25rem; }
.aa-ausschreibung__punkte li::marker { color: var(--wp--preset--color--gold); }

.aa-ausschreibung__fuss { border: 1px solid var(--wp--preset--color--linie); border-top: 0; border-radius: 0 0 4px 4px; background: var(--wp--preset--color--flaeche-2); padding: .85rem 1.3rem; display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; }
.aa-knopf { display: inline-block; background: var(--wp--preset--color--gruen); color: #fff; text-decoration: none; font-family: var(--wp--preset--font-family--display); font-weight: 700; font-size: .88rem; padding: .62rem 1.05rem; border-radius: 3px; }
.aa-knopf:hover { background: var(--wp--preset--color--gruen-dunkel, #013322); color: #fff; }
.aa-verdeckt { flex: 1 1 210px; font-size: .82rem; line-height: 1.45; color: var(--wp--preset--color--text-3); }
.aa-leer { border: 1px dashed var(--wp--preset--color--linie); border-radius: 4px; padding: 1.4rem 1.3rem; color: var(--wp--preset--color--text-2); }

.aa-schranke { border-top: 2px solid var(--wp--preset--color--gruen); margin-top: var(--wp--preset--spacing--40); padding-top: 1.4rem; }
.aa-schranke h2 { margin-top: 0; }
.aa-kleingedruckt { font-size: .8rem; line-height: 1.55; color: var(--wp--preset--color--text-3); margin-top: 1.2rem; }
.aa-hinweis-geschlossen { border-left: 3px solid var(--wp--preset--color--gold); padding: .2rem 0 .2rem 1.1rem; }

/* Auf der Einzelseite steht der Anriss ohne Fusszeile - dort traegt die
   Karte selbst die volle Rundung. */
.single-aa_ausschreibung .aa-ausschreibung { border-radius: 4px; }

/* --- Heizkoerper-Check ------------------------------------------------ */
.aa-hk-schritt { display: flex; align-items: center; gap: .6rem; font-family: var(--wp--preset--font-family--display); font-size: 1rem; }
.aa-hk-nr { display: grid; place-items: center; width: 1.7rem; height: 1.7rem; border-radius: 50%; background: var(--wp--preset--color--gruen); color: #fff; font-family: var(--wp--preset--font-family--mono); font-size: .8rem; font-weight: 600; flex: none; }
.aa-hk-raster { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 1rem; }
.aa-hk-hinweis { font-size: .9rem; color: var(--wp--preset--color--text-2); margin: 0; max-width: 72ch; line-height: 1.55; }
.aa-raeume { display: flex; flex-direction: column; gap: .7rem; }
.aa-raum { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(112px, 100%), 1fr)); gap: .7rem; align-items: end; padding: .9rem; border: 1px solid var(--wp--preset--color--linie); border-radius: 3px; background: var(--wp--preset--color--flaeche-2); }
.aa-raum .aa-feld > .lb { font-size: .76rem; }
.aa-tool .aa-raum input, .aa-tool .aa-raum select { background: var(--wp--preset--color--flaeche); padding: .55rem .6rem; font-size: .85rem; }
.aa-raum__weg { justify-self: start; font-family: var(--wp--preset--font-family--mono); font-size: .72rem; background: none; border: 0; color: var(--wp--preset--color--text-3); text-decoration: underline; cursor: pointer; padding: .6rem 0; }
.aa-hk-knopf { display: inline-flex; align-items: center; justify-content: center; font-family: var(--wp--preset--font-family--display); font-weight: 800; font-size: .88rem; padding: .7rem 1rem; border: 2px solid var(--wp--preset--color--gruen); border-radius: 3px; background: transparent; color: var(--wp--preset--color--gruen); cursor: pointer; text-decoration: none; align-self: flex-start; }
.aa-hk-knopf:hover { background: var(--wp--preset--color--gruen-hell); color: var(--wp--preset--color--gruen); }
.aa-hk-knopf--voll { background: var(--wp--preset--color--gruen); color: #fff; }
.aa-hk-knopf--voll:hover { background: var(--wp--preset--color--gruen-dunkel); color: #fff; }
.aa-hk-knopf:focus-visible, .aa-raum__weg:focus-visible, .aa-hk-mehr summary:focus-visible { outline: 3px solid var(--wp--preset--color--gold); outline-offset: 2px; }
.aa-hk-mehr summary { cursor: pointer; font-family: var(--wp--preset--font-family--mono); font-size: .76rem; color: var(--wp--preset--color--text-2); }
.aa-hk-mehr[open] summary { margin-bottom: .9rem; }
.aa-hk-satz { margin: .9rem 0 0; font-size: .95rem; line-height: 1.55; }
.aa-hk-rahmen { overflow-x: auto; margin-top: 1rem; }
.aa-hk-tabelle { width: 100%; min-width: 520px; border-collapse: collapse; font-size: .88rem; }
.aa-hk-tabelle th { text-align: left; font-family: var(--wp--preset--font-family--mono); font-size: .64rem; letter-spacing: .08em; text-transform: uppercase; color: var(--wp--preset--color--text-3); font-weight: 500; padding: .45rem .6rem .45rem 0; border-bottom: 1px solid var(--wp--preset--color--text); vertical-align: bottom; }
.aa-hk-tabelle td { padding: .55rem .6rem .55rem 0; border-bottom: 1px solid var(--wp--preset--color--linie-hell); vertical-align: top; }
.aa-hk-tabelle td.z { font-family: var(--wp--preset--font-family--mono); font-variant-numeric: tabular-nums; white-space: nowrap; }
.aa-hk-tabelle tr.kritisch td:last-child { color: var(--wp--preset--color--signal-rot); font-weight: 600; }
.aa-hk-zwischen { font-family: var(--wp--preset--font-family--display); font-size: .95rem; margin: 1.5rem 0 .2rem; }
.aa-hk-plan { margin: .6rem 0 0; padding-left: 1.2rem; font-size: .92rem; display: grid; gap: .35rem; }
.aa-hk-knoepfe { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1.2rem; }
@media print {
	body.aa-druck * { visibility: hidden; }
	body.aa-druck .aa-druckbar, body.aa-druck .aa-druckbar * { visibility: visible; }
	body.aa-druck .aa-druckbar { position: absolute; left: 0; top: 0; width: 100%; }
	body.aa-druck .aa-hk-knoepfe, body.aa-druck [data-neu], body.aa-druck [data-weg], body.aa-druck .aa-hk-mehr { display: none; }
}

/* --- Fassaden-Planer und gemeinsame Rechner-Regeln ------------------- */
.aa-tool [hidden] { display: none !important; }
.aa-nur-druck { display: none; }
.aa-hk-tabelle tr.summe td { border-top: 2px solid var(--wp--preset--color--gruen); border-bottom: none; font-weight: 600; }
.aa-fp-lv td:nth-child(2) { min-width: 13rem; }
.aa-ergebnis .zahl .aa-marke { font-size: .7rem; letter-spacing: .04em; color: var(--wp--preset--color--text-2); }
@media print {
	body.aa-druck th.aa-nur-druck, body.aa-druck td.aa-nur-druck { display: table-cell; min-width: 5.5rem; border-left: 1px solid #999; }
	body.aa-druck .aa-hk-tabelle { min-width: 0; font-size: 9pt; }
	body.aa-druck .aa-tool__leib { display: none; }
}

/* --- Einsatzgebiet-Karte ---------------------------------------------- */
.aa-eg-karte { margin: 0; }
.aa-eg-karte svg { width: 100%; height: auto; display: block; max-height: 620px; cursor: crosshair; touch-action: manipulation; }
.aa-eg-land { fill: var(--wp--preset--color--flaeche-2); stroke: var(--wp--preset--color--text-3); stroke-width: 1.2; stroke-linejoin: round; }
.aa-eg-land.bundesweit { fill: var(--wp--preset--color--gold); fill-opacity: .3; stroke: var(--wp--preset--color--gold-dunkel); stroke-width: 2; }
.aa-eg-bsp { fill: var(--wp--preset--color--gruen); fill-opacity: .1; stroke: var(--wp--preset--color--gruen); stroke-opacity: .55; stroke-width: 1; stroke-dasharray: 3 3; }
.aa-eg-stadt { fill: var(--wp--preset--color--text-3); }
.aa-eg-stadt--bsp { fill: var(--wp--preset--color--gruen); }
.aa-eg-text { font-family: var(--wp--preset--font-family--mono); font-size: 10px; fill: var(--wp--preset--color--text-2); pointer-events: none; }
.aa-eg-text--bsp { fill: var(--wp--preset--color--gruen); }
.aa-eg-ihr { fill: var(--wp--preset--color--gold); fill-opacity: .3; stroke: var(--wp--preset--color--gold-dunkel); stroke-width: 2; pointer-events: none; }
.aa-eg-punkt { fill: var(--wp--preset--color--gold-dunkel); stroke: #fff; stroke-width: 2; pointer-events: none; }
.aa-eg-label { font-family: var(--wp--preset--font-family--display); font-weight: 800; font-size: 14px; fill: var(--wp--preset--color--text); paint-order: stroke; stroke: var(--wp--preset--color--flaeche); stroke-width: 4px; stroke-linejoin: round; pointer-events: none; }

/* --- Einsatzgebiet: Karte und Bedienung nebeneinander ----------------- */
.aa-band .aa-tool { color: var(--wp--preset--color--text); }
.aa-eg { margin-block: var(--wp--preset--spacing--40) 0; }
.aa-eg-raster { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); }
.aa-eg-raster .aa-eg-karte { padding: 1.2rem; border-right: 1px solid var(--wp--preset--color--linie); display: flex; align-items: center; justify-content: center; }
.aa-eg-raster .aa-eg-karte svg { max-height: 640px; }
.aa-eg-seite { display: flex; flex-direction: column; min-width: 0; }
.aa-eg-seite .aa-hk-raster { grid-template-columns: 1fr; }
.aa-eg-seite .aa-ergebnis { flex: 1; }
@media (max-width: 781px) {
	.aa-eg-raster { grid-template-columns: 1fr; }
	.aa-eg-raster .aa-eg-karte { border-right: none; border-bottom: 1px solid var(--wp--preset--color--linie); padding: .6rem; }
}

/* --- Partnerseite: Beispielanfrage, Konditionen, Ablauf, Fragen ------- */
.aa-beispielanfrage { background: var(--wp--preset--color--flaeche); color: var(--wp--preset--color--text); border-radius: 6px; box-shadow: 0 18px 44px rgba(0, 0, 0, .3); overflow: hidden; max-width: 470px; margin-left: auto; }
.aa-ba__kopf { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: .65rem 1.2rem; background: var(--wp--preset--color--gold); }
.aa-ba__marke { font-family: var(--wp--preset--font-family--mono); font-size: .7rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--wp--preset--color--gruen-dunkel); }
.aa-ba__beispiel { font-family: var(--wp--preset--font-family--mono); font-size: .62rem; letter-spacing: .08em; text-transform: uppercase; color: var(--wp--preset--color--gruen-dunkel); border: 1px solid currentColor; border-radius: 2px; padding: 1px 6px; }
.aa-ba__koerper { padding: 1.15rem 1.25rem 1.2rem; }
.aa-ba__titel { font-family: var(--wp--preset--font-family--display); font-weight: 800; font-size: 1.25rem; line-height: 1.2; }
.aa-ba__ort { font-family: var(--wp--preset--font-family--mono); font-size: .74rem; color: var(--wp--preset--color--text-3); margin: .3rem 0 .95rem; }
.aa-ba__daten { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem 1.1rem; margin: 0; }
.aa-ba__daten div { border-top: 1px solid var(--wp--preset--color--linie-hell); padding-top: .45rem; }
.aa-ba__daten dt { font-family: var(--wp--preset--font-family--mono); font-size: .6rem; letter-spacing: .09em; text-transform: uppercase; color: var(--wp--preset--color--text-3); margin: 0; }
.aa-ba__daten dd { margin: .12rem 0 0; font-size: .9rem; font-weight: 600; line-height: 1.3; }
.aa-band .aa-beispielanfrage .aa-ba__text { margin: 1rem 0 0; padding-left: .8rem; border-left: 3px solid var(--wp--preset--color--gold); font-size: .9rem; font-style: italic; line-height: 1.5; color: var(--wp--preset--color--text-2); max-width: none; }
.aa-ba__fuss { display: flex; justify-content: space-between; gap: 1rem; padding: .7rem 1.25rem; border-top: 1px solid var(--wp--preset--color--linie); background: var(--wp--preset--color--flaeche-2); font-family: var(--wp--preset--font-family--mono); font-size: .72rem; color: var(--wp--preset--color--text-2); }
.aa-partner-leiste { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); margin: var(--wp--preset--spacing--40) 0 0; border: 1px solid rgba(255, 255, 255, .14); border-radius: 4px; }
.aa-partner-leiste > div { padding: .85rem 1.05rem; border-right: 1px solid rgba(255, 255, 255, .1); }
.aa-partner-leiste > div:last-child { border-right: none; }
.aa-partner-leiste dt { font-family: var(--wp--preset--font-family--mono); font-size: .62rem; letter-spacing: .1em; text-transform: uppercase; color: #9BBFAC; margin: 0; }
.aa-partner-leiste dd { margin: .22rem 0 0; font-family: var(--wp--preset--font-family--display); font-weight: 800; font-size: 1rem; color: var(--wp--preset--color--gold); }
.aa-ablauf { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.1rem; list-style: none; padding: 0; margin: 1.3rem 0 0; counter-reset: ablauf; }
.aa-ablauf li { background: var(--wp--preset--color--flaeche); border: 1px solid var(--wp--preset--color--linie); border-radius: 4px; padding: 1.3rem 1.25rem 1.25rem; }
.aa-ablauf li::before { counter-increment: ablauf; content: counter(ablauf); display: grid; place-items: center; width: 2.1rem; height: 2.1rem; border-radius: 50%; background: var(--wp--preset--color--gruen); color: #fff; font-family: var(--wp--preset--font-family--mono); font-weight: 600; margin-bottom: .85rem; }
.aa-ablauf b { display: block; font-family: var(--wp--preset--font-family--display); font-weight: 800; font-size: 1.05rem; margin-bottom: .35rem; }
.aa-ablauf span { font-size: .92rem; line-height: 1.5; color: var(--wp--preset--color--text-2); }
.aa-partner-gebiet .aa-eg-raster .aa-eg-karte svg { max-height: 560px; }
.aa-faq { border-bottom: 1px solid var(--wp--preset--color--linie); padding: .95rem 0; max-width: 820px; }
.aa-faq summary { cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: 1rem; font-family: var(--wp--preset--font-family--display); font-weight: 800; font-size: 1.02rem; }
.aa-faq summary::-webkit-details-marker { display: none; }
.aa-faq summary::after { content: "+"; font-family: var(--wp--preset--font-family--mono); color: var(--wp--preset--color--gruen); font-size: 1.1rem; line-height: 1; }
.aa-faq[open] summary::after { content: "\2013"; }
.aa-faq summary:focus-visible { outline: 3px solid var(--wp--preset--color--gold); outline-offset: 3px; }
.aa-faq p { margin: .6rem 0 0; color: var(--wp--preset--color--text-2); max-width: 70ch; }
.aa-partner-aufnahme .aa-schritte { margin-top: .9rem; }
.aa-partner-aufnahme h3 { margin-top: 1.6rem; }
@media (max-width: 900px) {
	.aa-partner-leiste { grid-template-columns: 1fr 1fr; }
	.aa-partner-leiste > div { border-bottom: 1px solid rgba(255, 255, 255, .1); }
	.aa-beispielanfrage { margin: 1.5rem auto 0; }
}
@media (max-width: 781px) { .aa-ablauf { grid-template-columns: 1fr; } }

/* Partnerseite Feinschliff: Vorteile 3+3, Leiste mobil, Formular-Spalte mitlaufend */
@media (min-width:782px){
  .aa-partner-vorteile .aa-karten{grid-template-columns:repeat(3,minmax(0,1fr))}
  .aa-partner-aufnahme .wp-block-column:first-child{align-self:flex-start;position:sticky;top:calc(var(--wp-admin--admin-bar--height,0px) + 1.5rem)}
}
@media (max-width:900px){
  .aa-partner-leiste > div:last-child{grid-column:1 / -1;border-bottom:0}
}


/* --- Dachboden-Planer ------------------------------------------------ */
.aa-db-schnitt { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 1.2rem; align-items: start; margin-top: 1.2rem; }
.aa-db-schnitt figure { margin: 0; }
.aa-db-schnitt svg { display: block; width: 100%; height: auto; background: var(--wp--preset--color--flaeche); border: 1px solid var(--wp--preset--color--linie); border-radius: 3px; }
.aa-db-schnitt figcaption { margin-top: .4rem; }
.aa-db-schnitt .daemm { fill: #F3E6BC; }
.aa-db-schnitt .alt { fill: #E6DFCB; }
.aa-db-schnitt .zz { fill: none; stroke: var(--wp--preset--color--gold-dunkel); stroke-width: 1.1; }
.aa-db-schnitt .holz { fill: #D9B98A; stroke: #8C6A3E; stroke-width: .8; }
.aa-db-schnitt .platte { fill: #C9A26A; stroke: #8C6A3E; stroke-width: .8; }
.aa-db-schnitt .schuett { fill: #E4D9C6; }
.aa-db-schnitt .korn { fill: #9C8C70; }
.aa-db-schnitt .beton { fill: #D5D8D1; stroke: var(--wp--preset--color--text-3); stroke-width: .8; }
.aa-db-schnitt .putz { fill: #EFEDE7; stroke: var(--wp--preset--color--linie); stroke-width: .8; }
.aa-db-schnitt .bremse { stroke: var(--wp--preset--color--gruen); stroke-width: 3; stroke-dasharray: 9 4; }
.aa-db-schnitt .ll { fill: none; stroke: var(--wp--preset--color--text-3); stroke-width: .8; }
.aa-db-schnitt .nr circle { fill: var(--wp--preset--color--gruen); }
.aa-db-schnitt .nr text { fill: #fff; font-family: var(--wp--preset--font-family--mono); font-size: 10px; font-weight: 700; text-anchor: middle; }
.aa-db-schnitt .raum { fill: var(--wp--preset--color--text-3); font-family: var(--wp--preset--font-family--mono); font-size: 10.5px; letter-spacing: .08em; text-transform: uppercase; }
.aa-db-schnitt .mass { fill: var(--wp--preset--color--text); font-family: var(--wp--preset--font-family--mono); font-size: 12px; font-weight: 700; }
.aa-db-schnitt .masslinie { fill: none; stroke: var(--wp--preset--color--text); stroke-width: 1; }
.aa-db-legende { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; border-top: 1px solid var(--wp--preset--color--linie); font-size: .86rem; line-height: 1.4; }
.aa-db-legende li { display: grid; grid-template-columns: 1.35rem minmax(0, 1fr) auto; gap: .55rem; align-items: baseline; padding: .45rem 0; border-bottom: 1px solid var(--wp--preset--color--linie-hell); }
.aa-db-legende .nr { display: inline-grid; place-items: center; width: 1.25rem; height: 1.25rem; border-radius: 50%; background: var(--wp--preset--color--gruen); color: #fff; font-family: var(--wp--preset--font-family--mono); font-size: .64rem; font-weight: 700; }
.aa-db-legende b { font-family: var(--wp--preset--font-family--mono); font-weight: 500; font-size: .76rem; white-space: nowrap; color: var(--wp--preset--color--text-2); }
.aa-db-ampel { margin-top: 1.1rem; padding: .85rem 1rem; border-left: 4px solid var(--wp--preset--color--linie); background: var(--wp--preset--color--flaeche); }
.aa-db-ampel.gut { border-left-color: var(--wp--preset--color--gruen); }
.aa-db-ampel.mittel { border-left-color: var(--wp--preset--color--gold); }
.aa-db-ampel.kritisch { border-left-color: var(--wp--preset--color--signal-rot); }
.aa-db-ampel b { display: block; font-family: var(--wp--preset--font-family--display); }
.aa-db-ampel p { margin: .35rem 0 0; font-size: .92rem; line-height: 1.55; }
.aa-db-pruef { margin: .6rem 0 0; padding-left: 1.2rem; display: flex; flex-direction: column; gap: .45rem; font-size: .92rem; line-height: 1.5; }
.aa-db-liste td:first-child, .aa-db-kosten td:first-child { min-width: 11rem; }
@media (max-width: 700px) { .aa-db-schnitt { grid-template-columns: 1fr; } }

/* --- Einsatzgebiet: Ortssuche und Umkreis ---------------------------- */
.aa-eg-suche { position: relative; }
.aa-eg-liste { position: absolute; z-index: 20; left: 0; right: 0; top: calc(100% - 1.4rem); margin: 0; padding: .25rem 0; list-style: none; max-height: 16rem; overflow-y: auto; background: #fff; border: 1px solid var(--wp--preset--color--gruen); border-radius: 3px; box-shadow: 0 8px 24px rgba(1, 51, 34, .14); }
.aa-eg-liste li { display: flex; justify-content: space-between; align-items: baseline; gap: .8rem; padding: .5rem .75rem; cursor: pointer; font-size: .9rem; }
.aa-eg-liste li b { font-family: var(--wp--preset--font-family--display); font-weight: 700; }
.aa-eg-liste li span { font-family: var(--wp--preset--font-family--mono); font-size: .7rem; color: var(--wp--preset--color--text-3); white-space: nowrap; }
.aa-eg-liste li[aria-selected="true"], .aa-eg-liste li:hover { background: var(--wp--preset--color--gruen-hell); }
.aa-eg-liste li.leer { cursor: default; color: var(--wp--preset--color--text-3); font-size: .85rem; }
.aa-eg-umkreis { margin-top: 0; border-top: none; }
.aa-eg-umkreis > div b { text-align: right; }


/* --- Dach-Planer ------------------------------------------------------ */
.aa-dp-varianten tbody tr { cursor: pointer; }
.aa-dp-varianten tbody tr:hover td { background: var(--wp--preset--color--flaeche); }
.aa-dp-varianten tbody tr.gewaehlt td { background: var(--wp--preset--color--gruen-hell); }
.aa-dp-varianten tbody tr.gewaehlt td:first-child { box-shadow: inset 3px 0 0 var(--wp--preset--color--gruen); }
.aa-dp-varianten td:first-child { min-width: 12rem; padding-left: .6rem; }
.aa-dp-varianten td b { display: block; font-family: var(--wp--preset--font-family--display); }
.aa-dp-varianten td small, .aa-dp-posten small { display: block; color: var(--wp--preset--color--text-3); font-size: .74rem; font-family: var(--wp--preset--font-family--mono); }
.aa-dp-posten small.aa-dp-sowieso { display: inline; }
.aa-dp-varianten .aa-marke { margin-top: .3rem; }
.aa-dp-wahl { font: inherit; font-size: .76rem; padding: .25rem .55rem; border: 1px solid var(--wp--preset--color--gruen); background: transparent; color: var(--wp--preset--color--gruen); border-radius: 2px; cursor: pointer; white-space: nowrap; }
.aa-dp-wahl:focus-visible { outline: 3px solid var(--wp--preset--color--gold); outline-offset: 1px; }
.aa-dp-varianten tr.gewaehlt .aa-dp-wahl { background: var(--wp--preset--color--gruen); color: #fff; }
.aa-db-schnitt .ziegel { fill: #B8694A; stroke: #7C3F2A; stroke-width: .8; }
.aa-db-schnitt .luft { fill: #FFFFFF; }
.aa-db-schnitt .bahn { stroke: var(--wp--preset--color--text-2); stroke-width: 2.2; }
.aa-db-schnitt .bahn.offen { stroke-dasharray: 3 3; }
.aa-db-schnitt .mass.warn { fill: var(--wp--preset--color--signal-rot); }
.aa-db-schnitt .masslinie.warn { stroke: var(--wp--preset--color--signal-rot); }


/* --- Ausschreibungen: Uebersicht mit Filter --------------------------- */
.aa-as [hidden] { display: none !important; }
.aa-as { margin-block: var(--wp--preset--spacing--30) var(--wp--preset--spacing--50); }
.aa-as-zahlen { margin-bottom: 1.6rem; }
.aa-as-raster { display: grid; grid-template-columns: 17rem minmax(0, 1fr); gap: 1.8rem; align-items: start; }
.aa-as-filter { position: sticky; top: calc(var(--wp-admin--admin-bar--height, 0px) + 1rem); max-height: calc(100vh - var(--wp-admin--admin-bar--height, 0px) - 2rem); overflow-y: auto; border: 1px solid var(--wp--preset--color--linie); border-radius: 4px; background: var(--wp--preset--color--flaeche); padding: 1rem 1.1rem 1.2rem; display: flex; flex-direction: column; gap: 1.05rem; }
.aa-as-filter__kopf { display: flex; align-items: baseline; gap: .7rem; }
.aa-as-filter__kopf b { font-family: var(--wp--preset--font-family--display); font-size: 1.05rem; margin-right: auto; }
.aa-as-feld { display: flex; flex-direction: column; gap: .35rem; }
.aa-as-feld label, .aa-as-gruppe legend { font-family: var(--wp--preset--font-family--mono); font-size: .66rem; letter-spacing: .1em; text-transform: uppercase; color: var(--wp--preset--color--text-3); }
.aa-as input[type=search], .aa-as input[type=text], .aa-as select { width: 100%; box-sizing: border-box; font: inherit; font-size: .92rem; padding: .55rem .65rem; border: 1px solid var(--wp--preset--color--linie); border-radius: 3px; background: #fff; color: var(--wp--preset--color--text); }
.aa-as input:focus, .aa-as select:focus { outline: 3px solid var(--wp--preset--color--gold); outline-offset: 1px; border-color: var(--wp--preset--color--gruen); }
.aa-as a:focus-visible, .aa-as button:focus-visible { outline: 3px solid var(--wp--preset--color--gold); outline-offset: 2px; }
.aa-as .aa-eg-liste { top: 100%; }
.aa-as-gruppe { border: 0; margin: 0; padding: 0; min-width: 0; }
.aa-as-gruppe legend { padding: 0; margin-bottom: .3rem; }
.aa-as-box { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: .55rem; align-items: center; padding: .26rem 0; font-size: .9rem; line-height: 1.3; cursor: pointer; }
.aa-as-box input { accent-color: var(--wp--preset--color--gruen); width: 1rem; height: 1rem; margin: 0; }
.aa-as-box .n { font-family: var(--wp--preset--font-family--mono); font-size: .72rem; color: var(--wp--preset--color--text-3); font-variant-numeric: tabular-nums; }
.aa-as-box.ist-leer { color: var(--wp--preset--color--text-3); }
.aa-as-mehr summary { cursor: pointer; font-size: .84rem; color: var(--wp--preset--color--gruen); padding: .3rem 0; }
.aa-as-link { background: none; border: 0; padding: 0; font: inherit; font-size: .84rem; color: var(--wp--preset--color--gruen); text-decoration: underline; text-underline-offset: 2px; cursor: pointer; }
.aa-as-schliessen { display: none; background: none; border: 0; font-size: 1.5rem; line-height: 1; padding: 0 .2rem; cursor: pointer; color: var(--wp--preset--color--text-2); }
.aa-as-leiste { display: flex; justify-content: space-between; align-items: center; gap: .8rem 1.2rem; flex-wrap: wrap; padding-bottom: .75rem; border-bottom: 2px solid var(--wp--preset--color--text); margin-bottom: .9rem; }
.aa-as-anzahl { margin: 0; font-size: .95rem; }
.aa-as-anzahl b { font-family: var(--wp--preset--font-family--display); font-size: 1.45rem; font-weight: 800; margin-right: .15rem; }
.aa-as-anzahl span { color: var(--wp--preset--color--text-3); }
.aa-as-werkzeuge { display: flex; align-items: center; gap: .7rem 1.2rem; flex-wrap: wrap; }
.aa-as-sort { display: flex; align-items: center; gap: .5rem; font-size: .84rem; color: var(--wp--preset--color--text-2); }
.aa-as-sort select { width: auto; padding: .4rem .55rem; }
.aa-as-filterknopf { display: none; font: inherit; font-weight: 700; font-size: .88rem; padding: .45rem .9rem; border: 2px solid var(--wp--preset--color--gruen); border-radius: 3px; background: transparent; color: var(--wp--preset--color--gruen); cursor: pointer; }
.aa-as-chips { display: flex; flex-wrap: wrap; gap: .45rem .6rem; align-items: center; margin-bottom: 1rem; }
.aa-as-chip { display: inline-flex; gap: .45rem; align-items: center; font: inherit; font-size: .82rem; padding: .28rem .7rem; border-radius: 999px; border: 1px solid var(--wp--preset--color--gruen); background: var(--wp--preset--color--gruen-hell); color: var(--wp--preset--color--gruen-dunkel); cursor: pointer; }
.aa-as-chip:hover { background: #fff; }
.aa-as-liste { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .9rem; }
.aa-as-karte { margin: 0; }
.aa-as-karte article { display: grid; grid-template-columns: minmax(0, 1fr) 13.5rem; border: 1px solid var(--wp--preset--color--linie); border-radius: 4px; background: var(--wp--preset--color--flaeche); overflow: hidden; transition: border-color .15s ease; }
.aa-as-karte article:hover { border-color: var(--wp--preset--color--gruen); }
.aa-as-karte.ist-zu article { opacity: .7; }
.aa-as-karte__haupt { padding: 1.05rem 1.25rem 1.15rem; min-width: 0; }
.aa-as-karte__meta { display: flex; flex-wrap: wrap; gap: .3rem .85rem; align-items: center; font-family: var(--wp--preset--font-family--mono); font-size: .68rem; letter-spacing: .06em; text-transform: uppercase; color: var(--wp--preset--color--text-3); margin-bottom: .45rem; }
.aa-as-karte__meta .nr { color: var(--wp--preset--color--text-2); font-weight: 600; }
.aa-as-marke { display: inline-block; padding: .12rem .45rem; border-radius: 2px; font-weight: 700; }
.aa-as-marke.neu { background: var(--wp--preset--color--gold); color: var(--wp--preset--color--gruen-dunkel); }
.aa-as-marke.bald { border: 1px solid var(--wp--preset--color--signal-rot); color: var(--wp--preset--color--signal-rot); }
.aa-as-marke.zu { background: var(--wp--preset--color--flaeche-2); color: var(--wp--preset--color--text-3); }
.aa-as-karte__titel { font-family: var(--wp--preset--font-family--display); font-weight: 800; font-size: 1.22rem; line-height: 1.25; margin: 0 0 .3rem; }
.aa-as-karte__titel a { color: inherit; text-decoration: none; }
.aa-as-karte__titel a:hover { color: var(--wp--preset--color--gruen); text-decoration: underline; text-underline-offset: 3px; }
.aa-as-karte__ort { margin: 0 0 .65rem; font-size: .9rem; color: var(--wp--preset--color--text-2); }
.aa-as-entfernung { color: var(--wp--preset--color--gruen); font-weight: 600; }
.aa-as-karte .aa-marken { margin-bottom: .65rem; }
.aa-as-karte__text { margin: 0 0 .7rem; font-size: .92rem; line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.aa-as-karte__fakten { display: flex; flex-wrap: wrap; gap: .25rem 1.4rem; margin: 0; font-size: .86rem; }
.aa-as-karte__fakten div { display: flex; gap: .4rem; }
.aa-as-karte__fakten dt { color: var(--wp--preset--color--text-3); }
.aa-as-karte__fakten dd { margin: 0; font-weight: 600; }
.aa-as-karte__seite { border-left: 1px solid var(--wp--preset--color--linie); background: var(--wp--preset--color--flaeche-2); padding: 1.05rem 1.1rem; display: flex; flex-direction: column; gap: .85rem; }
.aa-as-wert > span { display: block; font-family: var(--wp--preset--font-family--mono); font-size: .64rem; letter-spacing: .1em; text-transform: uppercase; color: var(--wp--preset--color--text-3); margin-bottom: .1rem; }
.aa-as-wert b { font-family: var(--wp--preset--font-family--display); font-weight: 800; font-size: 1.06rem; font-variant-numeric: tabular-nums; }
.aa-as-wert small { display: block; font-size: .8rem; color: var(--wp--preset--color--text-2); }
.aa-as-karte.ist-bald .aa-as-wert small { color: var(--wp--preset--color--signal-rot); font-weight: 700; }
.aa-as-balken { display: block; height: 4px; border-radius: 2px; background: var(--wp--preset--color--linie); margin-top: .4rem; overflow: hidden; }
.aa-as-balken i { display: block; height: 100%; background: var(--wp--preset--color--gold); }
.aa-as-karte.ist-bald .aa-as-balken i { background: var(--wp--preset--color--signal-rot); }
.aa-as-knopf { display: block; text-align: center; font-family: var(--wp--preset--font-family--display); font-weight: 800; font-size: .88rem; padding: .62rem .85rem; border: 2px solid var(--wp--preset--color--gruen); border-radius: 3px; background: var(--wp--preset--color--gruen); color: #fff; text-decoration: none; cursor: pointer; }
.aa-as-knopf:hover { background: var(--wp--preset--color--gruen-dunkel); border-color: var(--wp--preset--color--gruen-dunkel); color: #fff; }
.aa-as-knopf--rahmen { background: transparent; color: var(--wp--preset--color--gruen); }
.aa-as-karte__seite .aa-as-knopf { margin-top: auto; }
.aa-as-merken { font: inherit; font-size: .8rem; padding: .35rem .6rem; border: 1px solid var(--wp--preset--color--linie); border-radius: 3px; background: #fff; color: var(--wp--preset--color--text-2); cursor: pointer; }
.aa-as-merken[aria-pressed="true"] { border-color: var(--wp--preset--color--gold-dunkel); background: var(--wp--preset--color--gold-hell); color: var(--wp--preset--color--gruen-dunkel); font-weight: 700; }
.aa-as-zu { font-size: .85rem; color: var(--wp--preset--color--text-3); margin-top: auto; }
.aa-as-leer { border: 1px dashed var(--wp--preset--color--linie); border-radius: 4px; padding: 1.2rem 1.3rem; margin-top: .9rem; }
.aa-as-leer p { margin: 0 0 .35rem; }
.aa-as-hinweis { margin-top: 1.2rem; border: 1px solid var(--wp--preset--color--linie); border-left: 4px solid var(--wp--preset--color--gold); border-radius: 4px; background: var(--wp--preset--color--flaeche); padding: 1rem 1.2rem; display: flex; flex-wrap: wrap; gap: .8rem 1.4rem; align-items: center; justify-content: space-between; }
.aa-as-hinweis p { margin: 0; flex: 1 1 22rem; font-size: .93rem; line-height: 1.5; }
.aa-as-anzeigen { display: none; }
@media (max-width: 900px) {
	.aa-as-raster { grid-template-columns: 1fr; gap: 0; }
	.aa-as-filter { display: none; position: static; max-height: none; overflow: visible; margin-bottom: 1rem; }
	.aa-as.ist-filter-offen .aa-as-filter { display: flex; }
	.aa-as-filterknopf, .aa-as-schliessen, .aa-as-anzeigen { display: inline-block; }
	.aa-as-anzeigen { display: block; width: 100%; }
	.aa-as-raster > .aa-as-filter { order: 2; }
	.aa-as-raster > .aa-as-ergebnis { order: 1; }
	.aa-as-ergebnis { display: flex; flex-direction: column; }
	.aa-as.ist-filter-offen .aa-as-raster > .aa-as-filter { order: 0; }
}
@media (max-width: 640px) {
	.aa-as-karte article { grid-template-columns: 1fr; }
	.aa-as-karte__seite { border-left: 0; border-top: 1px solid var(--wp--preset--color--linie); display: grid; grid-template-columns: 1fr 1fr; gap: .8rem 1rem; }
	.aa-as-karte__seite .aa-as-knopf, .aa-as-karte__seite .aa-as-merken, .aa-as-karte__seite .aa-as-zu { grid-column: 1 / -1; }
	.aa-as-werkzeuge { width: 100%; justify-content: space-between; }
}


/* --- Ausschreibungen: Suchauftrag per E-Mail ------------------------- */
.aa-as-agentknopf { font: inherit; font-weight: 700; font-size: .86rem; padding: .45rem .85rem; border: 2px solid var(--wp--preset--color--gold-dunkel); border-radius: 3px; background: var(--wp--preset--color--gold-hell); color: var(--wp--preset--color--gruen-dunkel); cursor: pointer; }
.aa-as-agentknopf:hover, .aa-as-agentknopf[aria-expanded="true"] { background: var(--wp--preset--color--gold); }
.aa-as-agent { position: relative; border: 1px solid var(--wp--preset--color--linie); border-top: 4px solid var(--wp--preset--color--gold); border-radius: 4px; background: var(--wp--preset--color--flaeche); padding: 1rem 1.2rem 1.1rem; margin-bottom: 1rem; display: flex; flex-direction: column; gap: .65rem; }
.aa-as-agent__kopf { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.aa-as-agent__kopf b { font-family: var(--wp--preset--font-family--display); font-size: 1.05rem; }
.aa-as .aa-as-agent .aa-as-schliessen { display: inline-block; }
.aa-as-agent p { margin: 0; }
.aa-as-agent__text { font-size: .92rem; }
.aa-as-agent__suche { font-weight: 700; padding: .5rem .75rem; background: var(--wp--preset--color--flaeche-2); border-left: 3px solid var(--wp--preset--color--gold); font-size: .92rem; }
.aa-as-agent__suche small { display: block; font-weight: 400; color: var(--wp--preset--color--text-3); font-size: .8rem; margin-top: .2rem; }
.aa-as-agent__zeile { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .35rem .6rem; align-items: center; }
.aa-as-agent__label { grid-column: 1 / -1; font-family: var(--wp--preset--font-family--mono); font-size: .66rem; letter-spacing: .1em; text-transform: uppercase; color: var(--wp--preset--color--text-3); }
.aa-as input[type=email] { width: 100%; box-sizing: border-box; font: inherit; font-size: .95rem; padding: .6rem .7rem; border: 1px solid var(--wp--preset--color--linie); border-radius: 3px; background: #fff; color: var(--wp--preset--color--text); }
.aa-as-agent__zeile .aa-as-knopf { white-space: nowrap; }
.aa-as-agent__ok { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .55rem; align-items: start; font-size: .82rem; line-height: 1.45; color: var(--wp--preset--color--text-2); cursor: pointer; }
.aa-as-agent__ok input { accent-color: var(--wp--preset--color--gruen); width: 1rem; height: 1rem; margin: .15rem 0 0; }
.aa-as-honig { position: absolute !important; left: -9999px; top: auto; width: 1px; height: 1px; overflow: hidden; }
.aa-as-agent__meldung { font-size: .9rem; font-weight: 600; }
.aa-as-agent__meldung:empty { display: none; }
.aa-as-agent__meldung.ist-gut { color: var(--wp--preset--color--gruen); }
.aa-as-agent__meldung.ist-fehler { color: var(--wp--preset--color--signal-rot); }
.aa-as-meldung { border: 1px solid var(--wp--preset--color--linie); border-left: 4px solid var(--wp--preset--color--gold); border-radius: 4px; background: var(--wp--preset--color--flaeche); padding: .9rem 1.1rem; margin-bottom: 1.2rem; display: flex; flex-wrap: wrap; gap: .7rem 1.2rem; align-items: center; justify-content: space-between; }
.aa-as-meldung.ist-gut { border-left-color: var(--wp--preset--color--gruen); }
.aa-as-meldung.ist-warnung { border-left-color: var(--wp--preset--color--signal-rot); }
.aa-as-meldung p { margin: 0; flex: 1 1 20rem; }
.aa-as-hinweis .aa-as-knopf { display: inline-block; }
.aa-as-hinweis__knoepfe { display: flex; flex-wrap: wrap; gap: .6rem; }
@media (max-width: 640px) { .aa-as-agent__zeile { grid-template-columns: 1fr; } }


/* --- Ausschreibungen: Kasten fuer Gewerke- und Partnerseite ------------ */
.aa-as-kasten { margin-block: var(--wp--preset--spacing--50); border: 1px solid var(--wp--preset--color--linie); border-top: 4px solid var(--wp--preset--color--gold); border-radius: 4px; background: var(--wp--preset--color--flaeche); padding: 1.3rem 1.4rem 1.2rem; }
.aa-as-kasten__kopf { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: .8rem 1.5rem; margin-bottom: 1rem; }
.aa-as-kasten__marke { margin: 0 0 .25rem; font-family: var(--wp--preset--font-family--mono); font-size: .66rem; letter-spacing: .1em; text-transform: uppercase; color: var(--wp--preset--color--gold-dunkel); }
.aa-as-kasten__titel { margin: 0; font-family: var(--wp--preset--font-family--display); font-weight: 800; font-size: clamp(1.2rem, 2.4vw, 1.5rem); line-height: 1.2; }
.aa-as-kasten__zahl { margin: .3rem 0 0; font-size: .88rem; color: var(--wp--preset--color--text-2); }
.aa-as-kasten__liste { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(15rem, 100%), 1fr)); gap: .8rem; }
.aa-as-kasten__eintrag { margin: 0; }
.aa-as-kasten__eintrag a { display: flex; flex-direction: column; gap: .3rem; height: 100%; box-sizing: border-box; padding: .9rem 1rem; border: 1px solid var(--wp--preset--color--linie); border-radius: 3px; background: #fff; color: var(--wp--preset--color--text); text-decoration: none; transition: border-color .15s ease; }
.aa-as-kasten__eintrag a:hover { border-color: var(--wp--preset--color--gruen); }
.aa-as-kasten__eintrag a:focus-visible, .aa-as-kasten__fuss a:focus-visible, .aa-as-kasten .aa-as-knopf:focus-visible { outline: 3px solid var(--wp--preset--color--gold); outline-offset: 2px; }
.aa-as-kasten__nr { font-family: var(--wp--preset--font-family--mono); font-size: .66rem; letter-spacing: .05em; text-transform: uppercase; color: var(--wp--preset--color--text-3); }
.aa-as-kasten__eintrag b { font-family: var(--wp--preset--font-family--display); font-size: 1.02rem; line-height: 1.3; }
.aa-as-kasten__ort { font-size: .84rem; color: var(--wp--preset--color--text-2); }
.aa-as-kasten__werte { display: flex; flex-wrap: wrap; gap: .2rem .9rem; margin-top: auto; padding-top: .35rem; font-size: .82rem; font-weight: 600; }
.aa-as-kasten__eintrag.ist-bald .aa-as-kasten__werte span:last-child { color: var(--wp--preset--color--signal-rot); }
.aa-as-kasten__fuss { margin: 1rem 0 0; font-size: .88rem; color: var(--wp--preset--color--text-2); }
.aa-as-kasten__fuss a { color: var(--wp--preset--color--gruen); font-weight: 700; }
.aa-partner-ausschreibungen .aa-as-kasten { margin-block: var(--wp--preset--spacing--50) 0; }
.aa-partner-ausschreibungen:not(:has(.aa-as-kasten)) { display: none; }

/* --- Sanierungsrechner: Hinweis auf eine Ausschreibung ----------------- */
.aa-sr-ausschreibung { margin-top: 1.2rem; padding: 1rem 1.1rem; border: 1px solid var(--wp--preset--color--linie); border-left: 4px solid var(--wp--preset--color--gold); border-radius: 4px; background: var(--wp--preset--color--flaeche); display: flex; flex-direction: column; gap: .55rem; align-items: flex-start; }
.aa-sr-ausschreibung b { font-family: var(--wp--preset--font-family--display); font-size: 1.02rem; }
.aa-sr-ausschreibung p { margin: 0; font-size: .92rem; line-height: 1.5; }
.aa-sr-ausschreibung .aa-as-knopf { display: inline-block; }


/* --- Anfrage: Hinweis auf eine Ausschreibung ------------------------- */
.aa-anfrage-hinweis { margin: 1.2rem 0 .6rem; padding: .95rem 1.1rem; border: 1px solid var(--wp--preset--color--linie); border-left: 4px solid var(--wp--preset--color--gold); border-radius: 4px; background: var(--wp--preset--color--flaeche); display: flex; flex-direction: column; gap: .45rem; }
.aa-anfrage-hinweis b { font-family: var(--wp--preset--font-family--display); font-size: 1rem; }
.aa-anfrage-hinweis p { margin: 0; font-size: .9rem; line-height: 1.5; }
.aa-anfrage-hinweis__knoepfe { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1.1rem; margin-top: .2rem; }
.aa-anfrage-hinweis .aa-as-knopf { display: inline-block; }
.aa-vorlage-hinweis { margin: 0 0 1rem; padding: .7rem .9rem; border-left: 4px solid var(--wp--preset--color--gruen); background: var(--wp--preset--color--gruen-hell); font-size: .9rem; line-height: 1.5; }

/* --- Partnerseite: Vorteil Ausschreibungen ------------------------------ */
.aa-partner-vorteile .aa-karte--ausschreibung { grid-column: 1 / -1; border-left: 4px solid var(--wp--preset--color--gold); }
.aa-partner-vorteile .aa-karte--ausschreibung p { max-width: 62rem; }


/* --- Innendaemmung-Planer -------------------------------------------- */
.aa-id-raeume { display: flex; flex-direction: column; gap: .6rem; }
.aa-id-raum { position: relative; display: grid; grid-template-columns: minmax(7rem, 1.3fr) repeat(5, minmax(4.2rem, 1fr)) max-content; gap: .5rem .7rem; align-items: end; padding: .7rem 2.4rem .7rem .8rem; border: 1px solid var(--wp--preset--color--linie); border-radius: 3px; background: var(--wp--preset--color--flaeche-2); }
.aa-id-raum .aa-feld > .lb { font-size: .72rem; line-height: 1.2; overflow-wrap: normal; word-break: normal; hyphens: manual; }
.aa-tool .aa-id-raum input[type=number], .aa-tool .aa-id-raum input[type=text] { background: var(--wp--preset--color--flaeche); padding: .5rem .55rem; font-size: .88rem; }
.aa-id-nische { display: flex; gap: .4rem; align-items: center; font-size: .8rem; padding-bottom: .55rem; cursor: pointer; white-space: nowrap; }
.aa-id-nische input { accent-color: var(--wp--preset--color--gruen); width: 1rem; height: 1rem; }
.aa-id-weg { position: absolute; top: .35rem; right: .45rem; background: none; border: 0; font-size: 1.3rem; line-height: 1; color: var(--wp--preset--color--text-3); cursor: pointer; }
.aa-id-weg:hover { color: var(--wp--preset--color--signal-rot); }
.aa-id-weg:focus-visible { outline: 3px solid var(--wp--preset--color--gold); outline-offset: 1px; }
.aa-id-gruende { margin: .45rem 0 0; padding-left: 1.1rem; display: flex; flex-direction: column; gap: .35rem; }
.aa-id-gruende li { font-size: .9rem; line-height: 1.5; }
.aa-id-gruende li.st2::marker { color: var(--wp--preset--color--signal-rot); }
.aa-id-gruende li.st1::marker { color: var(--wp--preset--color--gold-dunkel); }
.aa-id-gruende li.st0::marker { color: var(--wp--preset--color--gruen); }
.aa-id-tabelle td:first-child { min-width: 8rem; }
.aa-db-schnitt .mauer { fill: #E6CBB9; stroke: #9A6B55; stroke-width: .8; }
.aa-db-schnitt .glas { fill: #D6E7EE; stroke: #6F8F9C; stroke-width: .8; }
.aa-db-schnitt .punkt { fill: var(--wp--preset--color--text-2); }
@media (max-width: 1100px) { .aa-id-raum { grid-template-columns: repeat(3, minmax(0, 1fr)); } .aa-id-raum .aa-id-name { grid-column: 1 / -1; } .aa-id-nische { padding-bottom: 0; align-self: center; } }
@media (max-width: 480px) { .aa-id-raum { grid-template-columns: repeat(2, minmax(0, 1fr)); } .aa-id-nische { grid-column: 1 / -1; } }


/* --- Heizungs-Vergleich ---------------------------------------------- */
.aa-hv .k0 { --hv: var(--wp--preset--color--gruen); }
.aa-hv .k1 { --hv: var(--wp--preset--color--gold-dunkel); }
.aa-hv .k2 { --hv: #5E8CA0; }
.aa-hv .k3 { --hv: var(--wp--preset--color--signal-rot); }
.aa-hv .k4 { --hv: #7A7F78; }
.aa-hv .k5 { --hv: #9A6B55; }
.aa-hv .k6 { --hv: #8FB08A; }
.aa-hv-szenario { display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; margin: 1rem 0 .7rem; }
.aa-hv-szenario-lb { font-size: .82rem; margin-right: .3rem; }
.aa-hv-szenario label { position: relative; cursor: pointer; }
.aa-hv-szenario input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.aa-hv-szenario label > span { display: inline-block; padding: .3rem .85rem; font-size: .82rem; border: 1px solid var(--wp--preset--color--linie); border-radius: 999px; background: var(--wp--preset--color--flaeche); }
.aa-hv-szenario input:checked + span { background: var(--wp--preset--color--gruen); border-color: var(--wp--preset--color--gruen); color: #fff; }
.aa-hv-szenario input:focus-visible + span { outline: 3px solid var(--wp--preset--color--gold); outline-offset: 1px; }
.aa-hv-tabelle tr[data-hv] { cursor: pointer; }
.aa-hv-tabelle tr[data-hv]:hover td, .aa-hv-tabelle tr.gewaehlt td { background: var(--wp--preset--color--flaeche-2); }
.aa-hv-tabelle tr.gewaehlt td:first-child { box-shadow: inset 3px 0 0 var(--wp--preset--color--gruen); }
.aa-hv-tabelle tr[data-hv]:focus-visible { outline: 3px solid var(--wp--preset--color--gold); outline-offset: -3px; }
.aa-hv-tabelle td:first-child { min-width: 13rem; }
.aa-hv-tabelle .aa-marke { margin-left: .45rem; vertical-align: middle; }
.aa-hv-farbe { display: inline-block; width: .7rem; height: .7rem; border-radius: 50%; margin-right: .45rem; background: var(--hv); vertical-align: -.05rem; }
.aa-hv-nicht { font-size: .85rem; color: var(--wp--preset--color--text-2); margin: .5rem 0 0; }
.aa-hv-kurven { margin: 1.2rem 0 .4rem; }
.aa-hv-kurven svg { display: block; width: 100%; height: auto; }
.aa-hv-kurven .gitter { stroke: var(--wp--preset--color--linie); stroke-width: 1; }
.aa-hv-kurven .achse { fill: var(--wp--preset--color--text-3); font-size: 11px; font-family: var(--wp--preset--font-family--mono); }
.aa-hv-kurven .kurve { fill: none; stroke: var(--hv); stroke-width: 2.5; stroke-linejoin: round; stroke-linecap: round; }
.aa-hv-kurven .ende { fill: var(--hv); }
.aa-hv-legende { list-style: none; display: flex; flex-wrap: wrap; gap: .3rem 1.1rem; margin: 0 0 1rem; padding: 0; font-size: .85rem; }
.aa-hv-detail { margin-top: 1.2rem; }


/* --- Kellerdecken-Planer --------------------------------------------- */
.aa-db-schnitt .stahl { fill: #6F767A; }
.aa-db-schnitt .schuettung { fill: #DCD3BF; stroke: #A89F88; stroke-width: .6; }
.aa-db-schnitt .hohlraum { fill: var(--wp--preset--color--flaeche); stroke: #8C8C8C; stroke-width: .6; }
.aa-db-schnitt .rohr { fill: #B87333; }
.aa-db-schnitt .rohrdaemm { fill: #E9E3D2; stroke: #9A9A9A; stroke-width: .8; }


/* --- Feuchte-Diagnose und Lueftungs-Check ---------------------------- */
.aa-fd-rang { list-style: none; margin: 1rem 0 1.4rem; padding: 0; display: flex; flex-direction: column; gap: .5rem; }
.aa-fd-rang li { display: grid; grid-template-columns: minmax(9rem, 14rem) 1fr auto auto; gap: .5rem .8rem; align-items: center; font-size: .9rem; }
.aa-fd-rang .bal { display: block; height: .7rem; background: var(--wp--preset--color--flaeche-2); border-radius: 999px; overflow: hidden; }
.aa-fd-rang .bal i { display: block; height: 100%; background: var(--hv, var(--wp--preset--color--gruen)); }
.aa-fd-rang .st { font-size: .78rem; color: var(--wp--preset--color--text-2); min-width: 8.5rem; text-align: right; }
.aa-fd-rang .k0 { --hv: var(--wp--preset--color--gruen); }
.aa-fd-rang .k1 { --hv: var(--wp--preset--color--gold-dunkel); }
.aa-fd-rang .k2 { --hv: #5E8CA0; }
.aa-fd-rang .k3 { --hv: #7A7F78; }
.aa-fd-block { margin-top: 1.4rem; }
.aa-fd-pruefen { border-left: 3px solid var(--wp--preset--color--gold); padding: .2rem 0 .2rem .9rem; margin: .8rem 0 1rem; }
.aa-fd-pruefen b { display: block; font-size: .85rem; margin-bottom: .3rem; }
.aa-fd-pruefen ol { margin: 0; padding-left: 1.1rem; display: flex; flex-direction: column; gap: .35rem; font-size: .9rem; }
.aa-fd-erklaerung { display: block; font-size: .82rem; color: var(--wp--preset--color--text-2); margin-top: .2rem; }
.aa-fd-menge { display: block; font-size: .78rem; color: var(--wp--preset--color--text-3); }
.aa-kl-vergleich { display: flex; flex-direction: column; gap: .5rem; margin: 1rem 0 1.2rem; }
.aa-kl-zeile { display: grid; grid-template-columns: 7rem 1fr auto; gap: .8rem; align-items: center; font-size: .9rem; }
.aa-kl-zeile .bal { display: block; height: .8rem; background: var(--wp--preset--color--flaeche-2); border-radius: 999px; overflow: hidden; }
.aa-kl-zeile .bal i { display: block; height: 100%; }
.aa-kl-zeile .aussen i { background: #5E8CA0; }
.aa-kl-zeile .innen i { background: var(--wp--preset--color--gruen); }
@media (max-width: 600px) {
	.aa-fd-rang li { grid-template-columns: 1fr auto; }
	.aa-fd-rang .bal { grid-column: 1 / -1; order: 3; }
	.aa-fd-rang .st { text-align: left; order: 4; grid-column: 1 / -1; }
	.aa-kl-zeile { grid-template-columns: 6rem 1fr; }
	.aa-kl-zeile b { grid-column: 2; text-align: right; }
}


/* --- Fussboden-Planer ------------------------------------------------ */
.aa-fb-stapel { margin: 1.2rem 0 1rem; }
.aa-fb-stapel svg { display: block; width: 100%; max-width: 560px; height: auto; }
.aa-fb-stapel rect { stroke: #8C8C8C; stroke-width: .6; }
.aa-fb-stapel .beton { fill: #C9C7C2; }
.aa-fb-stapel .holz { fill: #D8B98C; }
.aa-fb-stapel .schuettung { fill: #DCD3BF; }
.aa-fb-stapel .daemm { fill: #F2E3A8; }
.aa-fb-stapel .bahn { fill: #9FB3BD; }
.aa-fb-stapel .putz { fill: #E7E2D6; }
.aa-fb-stapel .estrich { fill: #D6D2C8; }
.aa-fb-stapel .belag { fill: #B98F5E; }
.aa-fb-stapel .ll { stroke: var(--wp--preset--color--linie); fill: none; }
.aa-fb-stapel .fb-schicht { fill: var(--wp--preset--color--text); font-size: 11px; }
.aa-fb-stapel .fb-mm { fill: var(--wp--preset--color--text-3); font-family: var(--wp--preset--font-family--mono); }
.aa-fb-stapel .masslinie { stroke: var(--wp--preset--color--text); fill: none; stroke-width: 1; }
.aa-fb-stapel .mass { fill: var(--wp--preset--color--text); font-family: var(--wp--preset--font-family--mono); font-size: 11px; font-weight: 700; }
.aa-fb-stapel .mass.warn { fill: var(--wp--preset--color--signal-rot); }
.aa-fb-tabelle tr[data-fb] { cursor: pointer; }
.aa-fb-tabelle tr[data-fb]:hover td, .aa-fb-tabelle tr.gewaehlt td { background: var(--wp--preset--color--flaeche-2); }
.aa-fb-tabelle tr.gewaehlt td:first-child { box-shadow: inset 3px 0 0 var(--wp--preset--color--gruen); }
.aa-fb-tabelle tr[data-fb]:focus-visible { outline: 3px solid var(--wp--preset--color--gold); outline-offset: -3px; }
.aa-fb-tabelle tr.aa-fb-aus td { color: var(--wp--preset--color--text-3); }
.aa-fb-tabelle td:first-child { min-width: 11rem; }
.aa-fb-tabelle .aa-marke { margin-left: .4rem; }


/* --- Flaechenheizungs-Check ------------------------------------------ */
.aa-fh-raeume { display: flex; flex-direction: column; gap: .5rem; }
.aa-fh-raum { position: relative; display: grid; grid-template-columns: minmax(8rem, 1.4fr) minmax(9rem, 1.4fr) minmax(5rem, .8fr); gap: .5rem .7rem; align-items: end; padding: .6rem 2.4rem .6rem .8rem; border: 1px solid var(--wp--preset--color--linie); border-radius: 3px; background: var(--wp--preset--color--flaeche-2); }
.aa-fh-raum .aa-feld > .lb { font-size: .72rem; }
.aa-tool .aa-fh-raum input, .aa-tool .aa-fh-raum select { background: var(--wp--preset--color--flaeche); padding: .5rem .55rem; font-size: .88rem; }
.aa-fh-balken { margin: 1rem 0 .6rem; }
.aa-fh-balken svg { display: block; width: 100%; height: auto; }
.aa-fh-balken .gitter { stroke: var(--wp--preset--color--linie); stroke-width: 1; }
.aa-fh-balken .achse { fill: var(--wp--preset--color--text-3); font-size: 11px; font-family: var(--wp--preset--font-family--mono); }
.aa-fh-balken .raum-nm { fill: var(--wp--preset--color--text); font-size: 12px; }
.aa-fh-balken .bedarf.passt { fill: var(--wp--preset--color--gruen); }
.aa-fh-balken .bedarf.knapp { fill: var(--wp--preset--color--gold-dunkel); }
.aa-fh-balken .grenze { stroke: var(--wp--preset--color--signal-rot); stroke-width: 2.5; }
.aa-fh-balken .wert { fill: #fff; font-size: 11px; font-weight: 700; font-family: var(--wp--preset--font-family--mono); }
.aa-fh-tabelle td:first-child { min-width: 7rem; }
.aa-fh-tabelle small { color: var(--wp--preset--color--text-3); }
@media (max-width: 600px) { .aa-fh-raum { grid-template-columns: 1fr 1fr; } .aa-fh-raum .aa-fh-name { grid-column: 1 / -1; } }
