/* c_Projektanfrage: Schritt-für-Schritt-Ablauf auf der Anfrage-Seite (greift nur, wenn .c-pa-form vorhanden ist) */
.c-pa-aktiv .c-pa-einleitung{display:none}
.c-pa-form.cpa-an{display:block !important;max-width:none !important}
.c-pa-form.cpa-an>.e-con:not(.cpa-app),.c-pa-form.cpa-an>.e-form-submit-button-base,.c-pa-form.cpa-an>button{display:none !important}
.c-pa-form.cpa-an .message-success,.c-pa-form.cpa-an .message-error{display:none !important}
.c-pa-form.cpa-an.cpa-fehler .message-error{display:block !important;margin-top:16px;color:#d2202c;font-weight:600}
.cpa-app{display:block;width:100%;min-width:0;font:400 16px/1.5 Inter,system-ui,sans-serif;color:#25272a}
.cpa-app *{box-sizing:border-box}
.cpa-app h2,.cpa-karte h3,.cpa-titel{font-family:"Barlow Condensed",sans-serif;font-weight:700;text-transform:uppercase;line-height:1;margin:0;text-wrap:balance}

/* Schrittleiste (Kopfzeile und mobil über der Frage) */
.cpa-phasen{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;width:100%}
.cpa-phasen button.cpa-ph{all:unset;box-sizing:border-box;display:flex;flex-direction:column;gap:9px;min-width:0;background:none;border:0;padding:0}
.cpa-phasen button.cpa-ph:hover,.cpa-phasen button.cpa-ph:focus{background:none;color:inherit;border:0}
.cpa-phasen button.cpa-ph:focus-visible{outline:2px solid #d2202c;outline-offset:3px}
.cpa-ph i{display:block;height:4px;background:#d5d8dc;transition:transform .3s,background .3s}
.cpa-ph span{font:700 12px/1 "Barlow Condensed",sans-serif;letter-spacing:.05em;text-transform:uppercase;color:#6b7078;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cpa-ph.fertig{cursor:pointer}.cpa-ph.fertig i{background:#d2202c}.cpa-ph.fertig span{color:#25272a}
.cpa-ph.fertig:hover span{color:#d2202c}
.cpa-ph.jetzt i{background:#d2202c;transform:scaleY(2.2)}.cpa-ph.jetzt span{color:#25272a}
.cpa-app>.cpa-phasen{display:none;margin-bottom:28px}
@media(max-width:1024px){.cpa-app>.cpa-phasen{display:grid}}
@media(max-width:767px){.cpa-app>.cpa-phasen{gap:4px}.cpa-app>.cpa-phasen .cpa-ph span{display:none}}

/* Frage */
.cpa-schritt{display:none}
.cpa-schritt.an{display:block;animation:cpa-rein .4s cubic-bezier(.2,.7,.2,1)}
@keyframes cpa-rein{from{opacity:0;transform:translateY(14px)}}
@media(prefers-reduced-motion:reduce){.cpa-schritt.an{animation:none}}
.cpa-einl{margin:0 0 22px;padding:12px 16px;background:#fff;border-left:3px solid #d2202c;font-size:15px;color:#5a5f66;max-width:640px}
.cpa-nr{font:700 15px/1 "Barlow Condensed",sans-serif;letter-spacing:.16em;text-transform:uppercase;display:flex;align-items:center;gap:10px;margin:0 0 12px;color:#5a5f66}
.cpa-nr::before{content:"";width:12px;height:12px;background:#d2202c}
.cpa-app h2{font-size:clamp(2.2rem,4.4vw,3.6rem);color:#25272a}
.cpa-hilfe{margin:12px 0 0;color:#5a5f66;font-size:16px;max-width:60ch}
.cpa-antw{margin-top:28px}

/* Kacheln */
.cpa-kacheln{display:grid;gap:10px}
.cpa-sp3{grid-template-columns:repeat(3,minmax(0,1fr))}
.cpa-sp4{grid-template-columns:repeat(4,minmax(0,1fr))}
.cpa-sp5{grid-template-columns:repeat(5,minmax(0,1fr))}
.cpa-app button.cpa-kachel{all:unset;box-sizing:border-box;cursor:pointer;position:relative;background:#fff;border:1px solid #d9dbde;display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:20px 18px 18px;min-width:0;color:#25272a;transition:border-color .2s,box-shadow .2s,transform .2s}
.cpa-kachel svg{width:34px;height:34px;color:#d2202c;flex:none}
.cpa-kachel b{font:700 1.3rem/1.02 "Barlow Condensed",sans-serif;text-transform:uppercase;letter-spacing:.01em;max-width:100%;overflow-wrap:break-word}
.cpa-kachel small{display:block;font-size:13px;color:#5a5f66;margin-top:-8px;line-height:1.35}
.cpa-haken{position:absolute;top:10px;right:10px;width:22px;height:22px;background:#d2202c;display:none;place-items:center}
.cpa-haken::after{content:"";width:10px;height:5px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:translateY(-1px) rotate(-45deg)}
.cpa-app button.cpa-kachel:hover{border-color:#25272a;transform:translateY(-2px);box-shadow:0 8px 22px rgba(28,30,33,.08)}
.cpa-app button.cpa-kachel:focus-visible{outline:2px solid #d2202c;outline-offset:2px}
.cpa-app button.cpa-kachel.an{border-color:#d2202c;box-shadow:inset 0 0 0 1px #d2202c,0 8px 22px rgba(210,32,44,.12)}
.cpa-kachel.an .cpa-haken{display:grid}
.cpa-app button.cpa-kachel.zeile{grid-column:1/-1;flex-direction:row;align-items:center;padding:14px 18px}
.cpa-kachel.zeile svg{width:26px;height:26px}
.cpa-kachel.zeile small{margin:0 0 0 6px}
.cpa-kacheln.cpa-weg button.cpa-kachel.zeile{grid-column:auto}
.cpa-kacheln.cpa-weg b{font-size:1.05rem}

/* übernommene Formularfelder */
.cpa-felder{display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:780px}
.cpa-felder>.e-con{width:auto !important;min-width:0}
.cpa-felder .cpa-breit{grid-column:1/-1}
.cpa-gross input{font-size:clamp(1.3rem,2.4vw,1.8rem) !important;font-weight:600 !important;height:auto !important;padding:16px 18px !important}
.cpa-app .e-con.cpa-feld{display:flex !important}
.cpa-unter{font:700 1.2rem/1 "Barlow Condensed",sans-serif;text-transform:uppercase;letter-spacing:.03em;margin:26px 0 10px;color:#25272a}
.cpa-tipps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0 0;max-width:780px}
.cpa-tipp{display:flex;gap:10px;align-items:center;font-size:13.5px;color:#5a5f66;background:#fff;border:1px solid #e1e3e6;padding:10px 12px}
.cpa-tipp b{color:#25272a;display:block;font-size:14px}
.cpa-tipp svg{width:22px;height:22px;flex:none;color:#d2202c}
.cpa-upload{max-width:780px}
.cpa-upload .c-lab,.cpa-beschr .c-lab{display:none}
.cpa-ds{max-width:780px;margin-top:22px}

/* Navigation */
.cpa-nav{display:flex;align-items:center;gap:18px;margin-top:30px;flex-wrap:wrap}
.cpa-app button.cpa-knopf,.cpa-app .cpa-nav .c-form-submit{all:unset;box-sizing:border-box;cursor:pointer;background:#d2202c;color:#fff;font-weight:600;font-size:16px;line-height:1.2;padding:15px 26px;display:inline-flex !important;gap:10px;align-items:center;transition:background .2s,opacity .2s}
.cpa-app button.cpa-knopf:hover,.cpa-app .cpa-nav .c-form-submit:hover{background:#b51a25}
.cpa-app button.cpa-knopf.aus,.cpa-app .cpa-nav .c-form-submit.aus{opacity:.35}
.cpa-app button.cpa-zurueck{all:unset;cursor:pointer;color:#5a5f66;font-size:15px}
.cpa-app button.cpa-zurueck:hover{color:#25272a}
.cpa-fehlt{font-size:14px;color:#6b7078}
.cpa-fehlt.rot{color:#d2202c;font-weight:600}
/* bei Fragen mit Einzelauswahl geht es per Klick weiter – der Hinweis erscheint nur, wenn er gebraucht wird */
.cpa-schritt[data-s="0"] .cpa-fehlt:not(.rot),.cpa-schritt[data-s="2"] .cpa-fehlt:not(.rot),.cpa-schritt[data-s="5"] .cpa-fehlt:not(.rot){display:none}

/* Ihre Anfrage (rechts) */
.cpa-karte{background:#fff;box-shadow:0 18px 50px rgba(28,30,33,.12);border-top:4px solid #d2202c;font:400 14px/1.45 Inter,system-ui,sans-serif;color:#25272a;position:relative}
.cpa-karte *{box-sizing:border-box}
.cpa-k-kopf{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid #e1e3e6}
.cpa-karte h3{font-size:1.15rem;letter-spacing:.06em;color:#25272a}
.cpa-k-kopf small{font-size:12.5px;color:#6b7078}
.cpa-karte button{all:unset;box-sizing:border-box}
.cpa-karte button:hover,.cpa-karte button:focus{color:inherit;border:0}
.cpa-karte button.cpa-k-projekt{cursor:default;display:flex;gap:14px;align-items:center;padding:16px 18px 6px;width:100%}
.cpa-karte button.cpa-k-projekt.klick{cursor:pointer}
.cpa-k-ico{width:48px;height:48px;flex:none;background:#f3f4f5;display:grid;place-items:center}
.cpa-k-ico svg{width:26px;height:26px;color:#d2202c}
.cpa-k-projekt.voll .cpa-k-ico{background:#d2202c}.cpa-k-projekt.voll .cpa-k-ico svg{color:#fff}
.cpa-titel{display:block;font-size:1.7rem;line-height:.98}
.cpa-titel.leer{color:#9aa0a6}
.cpa-k-unter{display:block;color:#5a5f66;font-size:13.5px;margin-top:3px}
.cpa-k-lph{display:grid;grid-template-columns:repeat(9,1fr);gap:4px;margin:12px 18px 6px}
.cpa-k-lph i{height:5px;background:#e5e7ea;transition:background .3s}
.cpa-k-lph i.an{background:#d2202c}
.cpa-k-lphtext{font-size:12.5px;color:#5a5f66;margin:0 18px 10px}
.cpa-k-zeilen{border-top:1px solid #e1e3e6;padding-bottom:6px}
.cpa-karte button.cpa-k-z{cursor:default;display:grid;grid-template-columns:92px 1fr auto;gap:10px;align-items:baseline;padding:9px 18px;border-bottom:1px solid #e1e3e6;font-size:13.5px;width:100%}
.cpa-k-z .a{color:#6b7078;font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;font-weight:600}
.cpa-k-z .w{font-weight:500;min-width:0;overflow-wrap:anywhere}
.cpa-k-z .w.leer{color:#8a8f96;font-weight:400}
.cpa-k-z .e{font-size:12px;color:#d2202c;font-weight:600;opacity:0}
.cpa-karte button.cpa-k-z.klick{cursor:pointer}.cpa-k-z.klick .e{opacity:1}
.cpa-karte button.cpa-k-z.klick:hover{background:#fdf6f6}
.cpa-karte button.cpa-k-z.jetzt{background:#fdf1f2;box-shadow:inset 3px 0 0 #d2202c}
.cpa-k-fuss{padding:12px 18px 16px;margin:0;font-size:13px;color:#5a5f66;display:flex;gap:10px;align-items:center}
.cpa-k-fuss svg{width:18px;height:18px;color:#d2202c;flex:none}
.cpa-karte button.cpa-k-mini{display:none}

/* Danke */
.cpa-danke h2{font-size:clamp(2.6rem,5vw,4.2rem)}
.cpa-schritte{list-style:none;padding:0;margin:28px 0 0;max-width:560px}
.cpa-schritte li{display:grid;grid-template-columns:56px 1fr;gap:14px;padding:16px 0;border-top:1px solid #e1e3e6}
.cpa-schritte b{font:700 2rem/1 "Barlow Condensed",sans-serif;color:#d2202c}
.cpa-schritte strong{display:block;font-size:17px}
.cpa-schritte span{color:#5a5f66;font-size:15px}

@media(max-width:1024px){
 .c-pa-karte.cpa-an{position:fixed !important;left:12px;right:12px;bottom:12px;top:auto !important;z-index:900;width:auto !important;max-height:80svh;overflow:auto}
 .cpa-karte:not(.offen) .cpa-k-kopf,.cpa-karte:not(.offen) .cpa-k-lph,.cpa-karte:not(.offen) .cpa-k-lphtext,.cpa-karte:not(.offen) .cpa-k-zeilen,.cpa-karte:not(.offen) .cpa-k-fuss{display:none}
 .cpa-karte:not(.offen) button.cpa-k-projekt{padding:10px 110px 10px 12px}
 .cpa-karte:not(.offen) .cpa-titel{font-size:1.2rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .cpa-karte:not(.offen) .cpa-k-unter{display:none}
 .cpa-karte:not(.offen) .cpa-k-ico{width:40px;height:40px}
 .cpa-karte button.cpa-k-mini{display:block;cursor:pointer;position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:13px;font-weight:600;color:#d2202c}
 .cpa-karte.offen button.cpa-k-mini{top:18px;transform:none}
 .cpa-sp5{grid-template-columns:repeat(3,minmax(0,1fr))}
 .c-pa-karte.cpa-gesendet{position:relative !important;left:auto;right:auto;bottom:auto}
}
@media(max-width:767px){
 .cpa-sp3,.cpa-sp4,.cpa-sp5{grid-template-columns:1fr 1fr}
 .cpa-sp3>button.cpa-kachel:last-child:nth-child(odd),.cpa-sp5>button.cpa-kachel:last-child:nth-child(odd){grid-column:1/-1}
 .cpa-kacheln.cpa-weg{grid-template-columns:1fr}
 .cpa-app button.cpa-kachel{padding:16px 14px 14px;gap:10px}.cpa-kachel svg{width:28px;height:28px}.cpa-kachel b{font-size:1.1rem;hyphens:auto;-webkit-hyphens:auto;overflow-wrap:anywhere}
 .cpa-felder,.cpa-tipps{grid-template-columns:1fr}
 .cpa-app h2{font-size:2.2rem}
}

/* Kopfzeile: Schrittleiste mit Strichen, rote Schrittnummer */
.c-pa-kopfphasen .cpa-phasen{counter-reset:cpa;gap:8px;max-width:820px;margin:0 auto}
.c-pa-kopfphasen .cpa-phasen button.cpa-ph{counter-increment:cpa;gap:10px}
.c-pa-kopfphasen .cpa-ph i{height:3px;border-radius:2px}
.c-pa-kopfphasen .cpa-ph.jetzt i{transform:scaleY(2)}
.c-pa-kopfphasen .cpa-ph span{font-size:0;letter-spacing:.08em}
.c-pa-kopfphasen .cpa-ph span::before{content:"0" counter(cpa);font:700 12.5px/1 "Barlow Condensed",sans-serif;letter-spacing:.08em;color:#9aa0a6;margin-right:6px}
.c-pa-kopfphasen .cpa-ph span::after{content:attr(data-t);font:700 12.5px/1 "Barlow Condensed",sans-serif;letter-spacing:.08em;text-transform:uppercase}
.c-pa-kopfphasen .cpa-ph.fertig span::before,.c-pa-kopfphasen .cpa-ph.jetzt span::before{color:#d2202c}
/* Hinweis-Kasten am Anfang weglassen */
.cpa-einl{display:none !important}

/* Entwurf B: rote Leiste mit den Schritten untereinander */
.cpa-app>.cpa-phasen{display:none !important}
.c-pa-form .cpa-app>.cpa-phasen{display:none !important}
.cpa-vs{list-style:none;margin:0;padding:0}
.cpa-vs li{position:relative;margin:0;padding:0 0 16px}
.cpa-vs li::after{content:"";position:absolute;left:14px;top:30px;bottom:0;width:2px;background:rgba(255,255,255,.22)}
.cpa-vs li:last-child::after{display:none}
.cpa-vs li:has(.f)::after{background:rgba(255,255,255,.75)}
.c-pa-schritte button.cpa-v{all:unset;box-sizing:border-box;display:grid;grid-template-columns:30px 1fr auto;gap:14px;align-items:start;width:100%;color:#fff;cursor:default}
.c-pa-schritte button.cpa-v:hover,.c-pa-schritte button.cpa-v:focus{background:none;color:#fff;border:0}
.c-pa-schritte button.cpa-v:focus-visible{outline:2px solid #fff;outline-offset:3px}
.cpa-v .p{position:relative;z-index:1;width:30px;height:30px;display:grid;place-items:center;border:2px solid rgba(255,255,255,.45);background:#9e101a;font:700 13px/1 Inter,system-ui,sans-serif;color:rgba(255,255,255,.75)}
.cpa-v .t b{display:block;font:700 1.05rem/1.2 "Barlow Condensed",sans-serif;letter-spacing:.06em;text-transform:uppercase;padding-top:5px;color:rgba(255,255,255,.62)}
.cpa-v .t small{display:block;margin-top:3px;font-size:13px;line-height:1.35;color:rgba(255,255,255,.78)}
.cpa-v .e{font-size:12px;font-weight:600;color:rgba(255,255,255,.75);padding-top:7px;text-decoration:underline}
.cpa-v.f .p{background:#fff;border-color:#fff;color:#9e101a}
.cpa-v.f .t b{color:#fff}
.c-pa-schritte button.cpa-v.f{cursor:pointer}
.c-pa-schritte button.cpa-v.f:hover .t b{text-decoration:underline}
.cpa-v.j .p{border-color:#fff;color:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.2)}
.cpa-v.j .t b{color:#fff}
@media(max-width:1024px){
 .c-pa-schritte.cpa-an{position:static !important;width:auto !important;max-height:none;overflow:visible}
 .cpa-vs{display:flex;gap:6px}
 .cpa-vs li{flex:1;padding:0}
 .cpa-vs li::after{display:none}
 .c-pa-schritte button.cpa-v{display:block}
 .cpa-v .p{width:100%;height:6px;border:0;font-size:0;background:rgba(255,255,255,.28);box-shadow:none}
 .cpa-v.f .p,.cpa-v.j .p{background:#fff;box-shadow:none}
 .cpa-v .t,.cpa-v .e{display:none}
}

/* Fortschritt als eigener Kasten, abgesetzt von Überschrift und Einleitung */
.c-pa-schritte.cpa-an{margin-top:34px;padding:22px 22px 8px !important;background:rgba(0,0,0,.16);border-top:3px solid #fff}
.c-pa-kopftel{margin-top:28px !important}
.cpa-vs-kopf{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:4px 12px;margin:0 0 20px}
.cpa-vs-kopf span{font:700 12.5px/1 "Barlow Condensed",sans-serif;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.7)}
.cpa-vs-kopf b{font:600 13px/1 Inter,system-ui,sans-serif;color:#fff;font-variant-numeric:tabular-nums}
.cpa-vs-kopf i{grid-column:1/-1;display:block;height:3px;margin-top:10px;background:linear-gradient(#fff,#fff) 0 0/var(--w,0%) 100% no-repeat,rgba(255,255,255,.2);transition:background-size .4s}
@media(max-width:1024px){
 .c-pa-schritte.cpa-an{margin-top:22px;padding:14px !important}
 .c-pa-kopftel{margin-top:18px !important}
 .cpa-vs-kopf{margin-bottom:12px}
 .cpa-vs-kopf i{display:none}
}

/* „Für wen“: Titel in einer Zeile; Kontakt: zweite Feldreihe */
.cpa-schritt[data-s="5"] .cpa-kachel b{white-space:nowrap}
.cpa-felder2{margin-top:18px}
/* Kopfzeile über der roten Leiste: weißes Logo auf Rot, Menü-Striche dunkel über dem hellen Raster (bis gescrollt) */
@media(min-width:1025px){html:not(.c-gescrollt) body .elementor .c-kopfleiste .c-burger-strich{background-color:#25272a !important}}

/* Eine Bildschirmseite: rote Spalte und Frage stehen beide mittig auf Höhe des Bildschirms (Desktop) */
@media(min-width:1025px){
body .elementor .c-pa-inhalt.c-pa-inhalt.c-pa-inhalt{min-height:100svh;align-items:stretch;background:none !important;grid-template-columns:400px minmax(0,1fr) !important}
body .elementor .c-pa-leiste.c-pa-leiste.c-pa-leiste{position:relative !important;top:auto !important;align-self:stretch !important;min-height:100svh !important;justify-content:center !important;padding:118px 44px 44px !important;overflow:hidden;background:linear-gradient(160deg,#c81e2b 0%,#a3141f 45%,#6f0a12 100%) !important}
body .elementor .c-pa-leiste.c-pa-leiste.c-pa-leiste::after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px) 0 0/40px 40px,linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px) 0 0/40px 40px;-webkit-mask:linear-gradient(180deg,transparent 0%,#000 75%);mask:linear-gradient(180deg,transparent 0%,#000 75%);pointer-events:none}
body .elementor .c-pa-leiste>*{position:relative;z-index:1}
body .elementor .c-pa-leiste .c-pa-hero-h1{font-size:2.7rem !important}
body .elementor .c-pa-leiste .c-pa-hero-lead{margin:10px 0 0 !important;font-size:14.5px !important}
body .elementor .c-pa-leiste .c-pa-kopftel{margin-top:22px !important;padding-top:18px !important}
body .elementor .c-pa-inhalt>.c-pa-haupt.c-pa-haupt.c-pa-haupt{min-height:100svh;justify-content:center !important;padding:118px clamp(24px,5vw,80px) 44px !important}
.c-pa-schritte.cpa-an{margin-top:24px !important;padding:16px 18px 6px !important}
.cpa-vs-kopf{margin-bottom:14px !important}
.cpa-vs li{padding-bottom:9px}
.cpa-vs li::after{top:28px;left:12px}
.cpa-v .p{width:26px;height:26px;font-size:12px}
.c-pa-schritte button.cpa-v{grid-template-columns:26px 1fr auto;gap:12px}
.cpa-v .t b{padding-top:4px;font-size:1rem}
}
/* Fortschritts-Kasten leicht gläsern; aktueller Schritt als helles Band statt Leuchtrahmen */
.c-pa-schritte.cpa-an{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-top:3px solid #fff}
.c-pa-schritte .cpa-v.j .p{box-shadow:none;background:#fff;color:#a3141f;border-color:#fff}
@media(min-width:1025px){
.c-pa-schritte li:has(.cpa-v.j){margin:0 -12px 9px;padding:5px 12px;background:linear-gradient(90deg,rgba(255,255,255,.16),rgba(255,255,255,0))}
.c-pa-schritte li:has(.cpa-v.j)::after{display:none}
}
.cpa-lph{display:inline-block;margin-top:6px;font-size:11.5px;font-weight:600;letter-spacing:.04em;color:#a3141f}
.cpa-felder .cpa-plz{grid-column:span 1}
.cpa-felder.cpa-ortfelder{grid-template-columns:200px minmax(0,1fr)}
@media(max-width:767px){.cpa-felder.cpa-ortfelder{grid-template-columns:1fr}}
