/* BFV GA – Dokumentenberater Theme färbt button blau und setzt Ecken, deshalb all:unset mit Präfix .bfvw (Hülle im Formular und um das Handy-Fenster, das direkt am body hängt). */
.bfvw .bfvb{--ba:#1d4e81;--bh:#eef3f9;--bl:#d9e3ee;--bm:#5b6b7c;--bt:#1b2a3a;margin:0 0 16px;border:1px solid var(--bl);border-radius:16px;background:linear-gradient(135deg,#f6f9fd 0%,#fff 60%);box-shadow:0 1px 2px rgba(29,78,129,.05);font-family:Poppins,sans-serif;color:var(--bt);transition:box-shadow .25s,border-color .25s}
.bfvw .bfvb.is-offen{border-color:#b9cce0;box-shadow:0 10px 30px -14px rgba(29,78,129,.28)}
.bfvw .bfvb.is-fertig{background:#f1f8f3;border-color:#cfe6d5;--ba:#2f8f5b;--bh:#dff0e4}
.bfvw *{box-sizing:border-box}
.bfvw .bfvb{scroll-margin:90px 0 96px}

.bfvw .bfvb button.bfvb-kopf{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:12px;width:100%;padding:11px 14px;border-radius:16px;cursor:pointer;font-family:Poppins,sans-serif;font-size:15px;line-height:1.35;color:var(--bt)}
.bfvw .bfvb-kopf__i{flex:0 0 34px;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--bh);color:var(--ba)}
.bfvw .bfvb-kopf__i svg{width:19px;height:19px}
.bfvw .bfvb-kopf__t{flex:1 1 auto;min-width:0;display:flex;flex-wrap:wrap;column-gap:6px}
.bfvw .bfvb-kopf__t b{font-weight:500}
.bfvw .bfvb-kopf__t span{font-weight:600;color:#1f6b4d} /* Grün wie „Ihre Daten sind sicher“ (User 05.11.2026) */
.bfvw .bfvb.is-fertig .bfvb-kopf__t b{font-weight:600}
.bfvw .bfvb.is-fertig .bfvb-kopf__t span{font-weight:400;color:var(--bm)}
.bfvw .bfvb-kopf__p{flex:0 0 22px;width:22px;height:22px;color:var(--ba);transition:transform .25s}
.bfvw .bfvb-kopf__p svg{display:block;width:100%;height:100%}
.bfvw .bfvb.is-offen .bfvb-kopf__p{transform:rotate(180deg)}
.bfvw .bfvb-kopf__a{flex:0 0 auto;font-size:14px;font-weight:600;color:var(--ba);text-decoration:underline;text-underline-offset:3px}

.bfvw .bfvb-huelle{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s cubic-bezier(.2,.8,.2,1)}
.bfvw .bfvb.is-offen .bfvb-huelle{grid-template-rows:1fr}
.bfvw .bfvb-innen{min-height:0;overflow:hidden;visibility:hidden;transition:visibility .3s}
.bfvw .bfvb.is-offen .bfvb-innen{visibility:visible}
.bfvw .bfvb-blatt{padding:2px 14px 14px;animation:bfvbRein .28s cubic-bezier(.2,.8,.2,1) both}
@keyframes bfvbRein{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

.bfvw .bfvb-frage{margin:6px 0 10px;font-size:15.5px;font-weight:600;line-height:1.35;color:var(--bt)}
.bfvw .bfvb-ziele{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.bfvw .bfvb button.bfvb-z{all:unset;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;gap:7px;min-width:0;min-height:84px;padding:11px 12px;border:1px solid var(--bl);border-radius:12px;background:#fff;font-family:Poppins,sans-serif;font-size:14px;font-weight:500;line-height:1.3;color:var(--bt);transition:border-color .18s,background .18s,transform .18s,box-shadow .18s}
.bfvw .bfvb button.bfvb-z:hover{border-color:var(--ba);transform:translateY(-1px);box-shadow:0 6px 16px -10px rgba(29,78,129,.5)}
.bfvw .bfvb button.bfvb-z.is-an{border-color:var(--ba);background:var(--bh)}
.bfvw .bfvb button.bfvb-z.is-leise{background:transparent;border-style:dashed;color:var(--bm)}
.bfvw .bfvb-z__i{width:22px;height:22px;color:var(--ba)}
.bfvw .bfvb-z.is-leise .bfvb-z__i{color:var(--bm)}
.bfvw .bfvb-z__i svg{display:block;width:100%;height:100%}
.bfvw .bfvb-z__t{overflow-wrap:anywhere;hyphens:auto}

.bfvw .bfvb-empf-kopf{display:flex;flex-direction:column;align-items:flex-start;gap:2px}
.bfvw .bfvb button.bfvb-zurueck{all:unset;cursor:pointer;margin-top:2px;font-family:Poppins,sans-serif;font-size:13.5px;font-weight:500;color:var(--ba)}
.bfvw .bfvb-empf-kopf .bfvb-frage{margin-top:0}
.bfvw .bfvb .bfvb-liste{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.bfvw .bfvb .bfvb-liste li{margin:0;padding:0;list-style:none}
.bfvw .bfvb .bfvb-liste li::before,.bfvw .bfvb .bfvb-liste li::marker{content:none}
.bfvw .bfvb button.bfvb-zeile{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:flex-start;gap:11px;width:100%;padding:10px 12px;border:1px solid var(--bl);border-radius:12px;background:#fff;font-family:Poppins,sans-serif;font-size:14.5px;line-height:1.4;color:var(--bt);transition:border-color .18s,background .18s}
.bfvw .bfvb button.bfvb-zeile:hover{border-color:var(--ba)}
.bfvw .bfvb button.bfvb-zeile.is-an{border-color:#a9c2dc;background:#f6f9fd}
.bfvw .bfvb button.bfvb-zeile.is-fest{cursor:default;opacity:.72}
.bfvw .bfvb-zeile__h{flex:0 0 22px;width:22px;height:22px;margin-top:1px;padding:4px;border:1.5px solid #b7c5d4;border-radius:50%;background:#fff;color:transparent;transition:background .15s,border-color .15s}
.bfvw .bfvb-zeile__h svg{display:block;width:100%;height:100%}
.bfvw .bfvb-zeile.is-an .bfvb-zeile__h{background:var(--ba);border-color:var(--ba);color:#fff}
.bfvw .bfvb-zeile__x{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}
.bfvw .bfvb-zeile__o{display:flex;flex-wrap:wrap;align-items:center;gap:3px 8px}
.bfvw .bfvb-zeile__o b{font-weight:600}
.bfvw .bfvb-marke{padding:1px 8px;border-radius:999px;background:var(--bh);color:var(--ba);font-size:11.5px;font-weight:600;line-height:1.6}
.bfvw .bfvb-marke.is-optional{background:#f0f2f5;color:var(--bm);font-weight:500}
.bfvw .bfvb-zeile__w{font-size:13.5px;color:var(--bm);overflow-wrap:anywhere}
.bfvw .bfvb-zeile__p{flex:0 0 auto;font-size:13.5px;font-weight:600;color:var(--bt);white-space:nowrap}
.bfvw .bfvb-zeile.is-fest .bfvb-zeile__p{font-weight:400;color:var(--bm)}

.bfvw .bfvb-fuss{display:flex;align-items:center;justify-content:flex-end;gap:14px;margin-top:12px}
.bfvw .bfvb-stand{font-size:14px;font-weight:600;color:var(--ba)}
.bfvw .bfvb button.bfvb-los{all:unset;box-sizing:border-box;cursor:pointer;padding:11px 20px;border-radius:11px;background:var(--ba);color:#fff;font-family:Poppins,sans-serif;font-size:15px;font-weight:600;text-align:center;transition:background .18s,transform .18s}
.bfvw .bfvb button.bfvb-los:hover{background:#163e68;transform:translateY(-1px)}
.bfvw .bfvb button.bfvb-los[disabled]{opacity:.45;cursor:not-allowed;transform:none}
.bfvw .bfvb-klein{margin:10px 0 0;font-size:10px;line-height:1.45;color:var(--bm)}

.bfvw .bfvb button:focus-visible{outline:2px solid #1d4e81;outline-offset:2px}
.bfvjg .bfvjg-k.bfvb-neu{animation:bfvbNeu 1.1s ease-out}
@keyframes bfvbNeu{0%{box-shadow:0 0 0 0 rgba(29,78,129,.45)}100%{box-shadow:0 0 0 12px rgba(29,78,129,0)}}

@media (max-width:767px){
 .bfvw .bfvb-kopf__p{transform:rotate(-90deg)}
 /* Handy: Vorhaben untereinander über die volle Breite, Begründung unter der Kopfzeile über die volle Kartenbreite (User 05.11.2026) */
 .bfvw .bfvb-ziele{grid-template-columns:minmax(0,1fr)}
 .bfvw .bfvb button.bfvb-z,.bfvw .bfvb button.bfvb-z.is-leise{flex-direction:row;align-items:center;gap:12px;min-height:52px;padding:11px 14px;font-size:15px}
 .bfvw .bfvb-z__i{flex:0 0 22px}
 .bfvw .bfvb button.bfvb-zeile{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:6px 10px;align-items:start}
 .bfvw .bfvb-zeile__x{display:contents}
 .bfvw .bfvb-zeile__h{grid-column:1;grid-row:1}
 .bfvw .bfvb-zeile__o{grid-column:2;grid-row:1}
 .bfvw .bfvb-zeile__p{grid-column:3;grid-row:1}
 .bfvw .bfvb-zeile__w{grid-column:1/-1;grid-row:2}
 .bfvw .bfvb button.bfvb-kopf{font-size:14.5px;padding:10px 12px;gap:10px}
 .bfvw .bfvb-blatt{padding:2px 12px 12px}
 .bfvw .bfvb-fuss{flex-direction:column;align-items:stretch;gap:8px}
 .bfvw .bfvb-stand{text-align:center}
 .bfvw .bfvb button.bfvb-los{width:100%}
}
/* Handy: Fenster kommt von links über die volle Breite, wie das Lesezeichen „Ihre Daten sind sicher“ gespiegelt (User 05.11.2026) */
.bfvb-lade{display:none}
@media (max-width:767px){
 .bfvw.bfvb-lade{display:block;position:fixed;inset:0;z-index:100000;height:100vh;height:100dvh;background:#fff;transform:translateX(-100%);visibility:hidden;transition:transform .3s cubic-bezier(.2,.8,.2,1),visibility .3s;font-family:Poppins,sans-serif}
 .bfvw.bfvb-lade.is-offen{transform:none;visibility:visible}
 .bfvw .bfvb.bfvb-lade__i{display:flex;flex-direction:column;height:100%;margin:0;border:0;border-radius:0;background:#fff;box-shadow:none}
 .bfvw .bfvb-lade__kopf{flex:0 0 auto;display:flex;align-items:center;gap:8px;min-height:60px;padding:10px 12px;border-bottom:1px solid var(--bl)}
 .bfvw .bfvb button.bfvb-lade__zu{all:unset;box-sizing:border-box;flex:0 0 40px;width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:var(--bh);color:var(--ba);cursor:pointer;-webkit-tap-highlight-color:transparent}
 .bfvw .bfvb-lade__zu svg{width:20px;height:20px}
 .bfvw .bfvb p.bfvb-lade__t{margin:0;font:600 17px/1.3 Poppins,sans-serif;color:var(--bt)}
 .bfvw .bfvb-lade__k{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
 .bfvw .bfvb-lade__k .bfvb-innen{display:flex;min-height:100%;overflow:visible;visibility:visible}
 .bfvw .bfvb-lade__k .bfvb-blatt{flex:1 1 auto;min-width:0;padding:14px 16px 16px}
 .bfvw .bfvb-lade__k .bfvb-frage{margin:0 0 12px;font-size:19px;line-height:1.3}
 .bfvw .bfvb-lade__k .bfvb-frage__v{display:block;margin-bottom:2px;font-size:13.5px;font-weight:500;color:var(--bm)}
 .bfvw .bfvb-lade__k .bfvb-empf-kopf{gap:10px}
 .bfvw .bfvb-lade__k .bfvb-empf{display:flex;flex-direction:column}
 .bfvw .bfvb-lade__k .bfvb-klein{order:3;margin:12px 0}
 .bfvw .bfvb-lade__k .bfvb-fuss{order:4;position:sticky;bottom:0;z-index:1;margin:auto -16px -16px;padding:10px 16px calc(12px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--bl)}
}
@media (prefers-reduced-motion:reduce){.bfvw .bfvb *,.bfvw .bfvb{animation:none!important;transition:none!important}.bfvjg .bfvjg-k.bfvb-neu{animation:none}}

/* Übersichtliche Zeilen (User 06.11.2026, E25) */
.bfvw .bfvb .bfvb-liste li.bfvb-gruppe{margin:10px 0 0;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ba)}
.bfvw .bfvb .bfvb-liste li.bfvb-gruppe:first-child{margin-top:0}
.bfvw .bfvb .bfvb-liste li.bfvb-gruppe.is-optional{color:var(--bm)}
.bfvw .bfvb .bfvb-liste li.bfvb-eintrag{position:relative}
.bfvw .bfvb button.bfvb-zeile{align-items:center;padding-right:44px}
.bfvw .bfvb-zeile__x b{overflow-wrap:normal;hyphens:manual}
.bfvw .bfvb button.bfvb-info{all:unset;box-sizing:border-box;position:absolute;top:8px;right:8px;width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:var(--bh);color:var(--ba);font-family:Georgia,serif;font-size:15px;font-style:italic;font-weight:700;line-height:1;cursor:pointer}
.bfvw .bfvb button.bfvb-info.is-an{background:var(--ba);color:#fff}
.bfvw .bfvb button.bfvb-info:focus-visible{outline:2px solid var(--ba);outline-offset:2px}
.bfvw .bfvb .bfvb-eintrag .bfvb-zeile__w{margin:6px 12px 6px 45px;line-height:1.4}
.bfvw .bfvb .bfvb-eintrag .bfvb-zeile__w[hidden]{display:none}
