/* BVH Design 2: Spendenseite. Nur Ergaenzungen zu den Bausteinen v2-bereich, v2-kopfzeile, v2-boxen, v2-halb. */

/* ---------- Kopf im Markendunkelgruen ---------- */
.v2-sp-kopf{position:relative;overflow:hidden;padding-top:calc(var(--v2-kopf,92px) + 56px)!important;}
.v2-sp-kopf__signet{position:absolute;right:-4%;top:50%;width:min(56vw,760px);height:auto;transform:translateY(-50%);fill:none;stroke:rgba(255,255,255,.05);stroke-width:7;stroke-linecap:round;pointer-events:none;}
.v2-sp-kopf__raster{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:64px;align-items:center;}
.v2-sp-kopf .v2-pfad{margin:0 0 24px;color:rgba(255,255,255,.8);}
.v2-sp-kopf .v2-pfad a{color:rgba(255,255,255,.8);}
html body.bvh-v2 .v2-sp-titel{margin:0 0 24px;color:#fff;font-size:60px;font-weight:700;line-height:1.08;letter-spacing:-.5px;}
.v2-sp-lead{max-width:620px;margin:0 0 32px;color:rgba(255,255,255,.86);font-size:20px;line-height:1.6;}
.v2-sp-kopf .v2-aktionen{margin:0;color:rgba(255,255,255,.8);}

/* Zahlungswege: Karten nach Designregel, 10 px Radius */
.v2-sp-wege{display:grid;gap:20px;}
.v2-sp-karte{padding:32px;border-radius:10px;background:#fff;color:var(--v2-tinte);}
.v2-sp-paypal{background:var(--v2-grau);}
.v2-sp-karte__zeile{display:flex;align-items:center;gap:10px;margin:0 0 16px;color:var(--v2-blau);font-size:14px;font-weight:700;letter-spacing:1px;text-transform:uppercase;}
.v2-sp-iban{margin:0 0 20px;color:var(--v2-tinte);font-size:32px;font-weight:700;line-height:1.25;letter-spacing:.5px;font-variant-numeric:tabular-nums;}
.v2-sp-iban__gruppe{white-space:nowrap;}
.v2-sp-konto__daten{display:grid;grid-template-columns:auto 1fr;gap:6px 24px;margin:0 0 24px;font-size:16px;line-height:1.5;}
.v2-sp-konto__daten div{display:contents;}
.v2-sp-konto__daten dt{color:var(--v2-label);}
.v2-sp-konto__daten dd{margin:0;font-weight:600;}
.v2-sp-konto__knoepfe{display:flex;flex-wrap:wrap;align-items:center;gap:12px 28px;}
.v2-sp-konto__seite[hidden]{display:none;}
.v2-sp-konto__seite{animation:v2-sp-blende .35s ease;}
@keyframes v2-sp-blende{from{opacity:0}to{opacity:1}}
html body.bvh-v2 .v2-sp-karte .bvh-btn--primary:hover{background:var(--v2-tinte);border-color:var(--v2-tinte);color:#fff;}
.v2-sp-textknopf{display:inline-flex;align-items:center;gap:8px;padding:0;border:0;background:none;color:var(--v2-blau);font:inherit;font-size:16px;font-weight:500;cursor:pointer;}
.v2-sp-textknopf:hover span{text-decoration:underline;text-underline-offset:4px;}
.v2-sp-textknopf:focus-visible{outline:2px solid var(--v2-blau);outline-offset:3px;border-radius:2px;}

/* Kopieren: Symbol wechselt zum Haken */
.v2-sp-kopieren{position:relative;display:inline-flex;align-items:center;gap:10px;}
.v2-sp-kopieren__ic{display:inline-flex;transition:transform .3s ease,opacity .2s;}
.v2-sp-kopieren__ic--b{position:absolute;opacity:0;transform:scale(.5);}
.v2-sp-kopieren.is-kopiert .v2-sp-kopieren__ic--a{opacity:0;transform:scale(.5);}
.v2-sp-kopieren.is-kopiert .v2-sp-kopieren__ic--b{opacity:1;transform:none;}

.v2-sp-qr{display:grid;grid-template-columns:150px minmax(0,1fr);gap:24px;align-items:start;}
.v2-sp-qr__bild{padding:8px;border:1px solid var(--v2-linie);border-radius:10px;background:#fff;color:var(--v2-nacht);line-height:0;}
.v2-sp-qr__bild svg{display:block;width:100%;height:auto;}
.v2-sp-qr__text{margin:0 0 16px;color:var(--v2-leise);font-size:16px;line-height:1.55;}

.v2-sp-paypal__text{margin:0 0 20px;color:var(--v2-leise);font-size:16px;line-height:1.55;}
.v2-sp-paypal__knopf{display:inline-flex;align-items:center;gap:10px;}
.v2-sp-paypal__adresse{margin:12px 0 0;color:var(--v2-label);font-size:14px;}

/* ---------- Kennzahlen ---------- */
.v2-sp-zahlen__liste{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:25px;margin:0 0 32px;padding:0;list-style:none;}
.v2-sp-zahlen__liste li{display:flex;flex-direction:column;gap:10px;padding:28px;border-radius:10px;background:var(--v2-grau);}
.v2-sp-zahlen__liste li::before{content:none!important;}
.v2-sp-zahlen__liste strong{color:var(--v2-tinte);font-size:40px;font-weight:700;line-height:1.1;font-variant-numeric:tabular-nums;}
.v2-sp-zahlen__liste li > span{color:var(--v2-leise);font-size:16px;line-height:1.5;}
.v2-sp-fuss{max-width:760px;margin:0;color:var(--v2-leise);font-size:16px;line-height:1.6;}

/* ---------- Schritte ---------- */
.v2-sp-schritte{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:25px;margin:0;padding:0;list-style:none;}
.v2-sp-schritt{display:flex;flex-direction:column;gap:10px;padding:28px;border-radius:10px;background:#fff;box-shadow:var(--v2-karte-weich);}
.v2-sp-schritt::before{content:none!important;}
.v2-sp-schritt__nr{color:var(--v2-blau);font-size:14px;font-weight:700;letter-spacing:1px;}
html body.bvh-v2 .v2-sp-schritt h3{margin:0;color:var(--v2-tinte);font-size:20px;font-weight:700;line-height:1.3;}
.v2-sp-schritt p{margin:0;color:var(--v2-leise);font-size:16px;line-height:1.55;}
.v2-sp-schritt a{color:var(--v2-tinte);text-decoration:underline;text-decoration-color:rgba(0,25,255,.35);text-underline-offset:3px;}

.v2-sp-boxen{grid-template-columns:repeat(3,minmax(0,1fr));}

/* ---------- Spendenwunsch ---------- */
.v2-sp-wunsch__raster{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:64px;align-items:start;}
.v2-sp-wunsch__kopf p{color:var(--v2-text);font-size:18px;line-height:1.6;}
.v2-sp-vorbehalt{padding:20px 24px;border-radius:10px;background:#fff;}
.v2-sp-vorbehalt strong{color:var(--v2-blau);}
.v2-sp-klein{color:var(--v2-label)!important;font-size:15px!important;}
.v2-sp-formular{padding:40px;border-radius:10px;background:#fff;box-shadow:var(--v2-karte);}
.v2-sp-form{display:grid;gap:28px;}
.v2-sp-form[hidden],.v2-sp-danke[hidden],.v2-sp-feld[hidden]{display:none!important;}
.v2-sp-gruppe{min-width:0;margin:0;padding:0;border:0;}
.v2-sp-gruppe legend,.v2-sp-feld > label{display:block;margin:0 0 12px;padding:0;color:var(--v2-tinte);font-size:17px;font-weight:700;line-height:1.3;}
.v2-sp-gruppe legend em,.v2-sp-feld > label em{margin-left:6px;color:var(--v2-label);font-size:14px;font-style:normal;font-weight:400;}
.v2-sp-chips{display:flex;flex-wrap:wrap;gap:10px;}
.v2-sp-chips--zweck{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));}
.v2-sp-chip{position:relative;cursor:pointer;}
.v2-sp-chip input{position:absolute;opacity:0;pointer-events:none;}
.v2-sp-chip > span{display:flex;align-items:center;gap:12px;height:100%;padding:14px 16px;border:1px solid var(--v2-linie);border-radius:10px;background:#fff;color:var(--v2-tinte);font-size:16px;line-height:1.3;transition:border-color .2s,background-color .2s,box-shadow .2s;}
.v2-sp-chip > span b{font-weight:500;}
.v2-sp-chip > span .v2-ic{flex:none;color:var(--v2-label);transition:color .2s;}
.v2-sp-chip:hover > span{border-color:#A9B6B6;}
.v2-sp-chip input:checked + span{border-color:var(--v2-blau);background:#F3F5FF;box-shadow:inset 0 0 0 1px var(--v2-blau);}
.v2-sp-chip input:checked + span .v2-ic{color:var(--v2-blau);}
.v2-sp-chip input:focus-visible + span{outline:2px solid var(--v2-blau);outline-offset:2px;}
.v2-sp-chip--betrag > span{justify-content:center;min-width:80px;padding:12px 20px;border-radius:148px;font-weight:600;font-variant-numeric:tabular-nums;}
.v2-sp-feld{position:relative;}
.v2-sp-feld--nach{margin-top:14px;}
.v2-sp-feld--nach > label{font-size:15px;}
.v2-sp-form :is(input[type=text],input[type=email],input[type=number],textarea){width:100%;padding:14px 16px;border:1px solid var(--v2-linie);border-radius:10px;background:#fff;color:var(--v2-tinte);font:inherit;font-size:17px;line-height:1.4;transition:border-color .2s,box-shadow .2s;}
.v2-sp-form textarea{min-height:120px;resize:vertical;}
.v2-sp-form :is(input,textarea):focus{outline:none;border-color:var(--v2-blau);box-shadow:0 0 0 3px rgba(0,25,255,.12);}
.v2-sp-form :is(input,textarea).is-fehler{border-color:#B3261E;box-shadow:0 0 0 3px rgba(179,38,30,.12);}
.v2-sp-zaehler{display:block;margin-top:6px;color:var(--v2-label);font-size:13px;text-align:right;font-variant-numeric:tabular-nums;}
.v2-sp-zwei{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.v2-sp-schalter{position:relative;display:inline-grid;grid-template-columns:1fr 1fr;padding:4px;border-radius:148px;background:var(--v2-grau);}
.v2-sp-schalter__marke{position:absolute;top:4px;bottom:4px;left:4px;width:calc(50% - 4px);border-radius:148px;background:var(--v2-nacht);transform:translateX(calc(var(--sp-s,0) * 100%));transition:transform .35s cubic-bezier(.33,1,.68,1);}
.v2-sp-schalter label{position:relative;z-index:1;cursor:pointer;}
.v2-sp-schalter input{position:absolute;opacity:0;pointer-events:none;}
.v2-sp-schalter span{display:block;padding:11px 26px;color:var(--v2-tinte);font-size:16px;font-weight:600;text-align:center;transition:color .3s;}
.v2-sp-schalter input:checked + span{color:#fff;}
.v2-sp-schalter input:focus-visible + span{outline:2px solid var(--v2-blau);outline-offset:2px;border-radius:148px;}
.v2-sp-falle{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden;}
.v2-sp-pruef{position:relative;display:grid;grid-template-columns:24px minmax(0,1fr);gap:14px;align-items:start;padding:18px 20px;border-radius:10px;background:var(--v2-grau);cursor:pointer;}
.v2-sp-pruef input{position:absolute;opacity:0;pointer-events:none;}
.v2-sp-pruef__box{display:grid;place-items:center;width:24px;height:24px;border:2px solid #8E9C9C;border-radius:6px;background:#fff;transition:background-color .2s,border-color .2s;}
.v2-sp-pruef__box svg{width:16px;height:16px;fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;}
.v2-sp-pruef__box path{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset .25s ease;}
.v2-sp-pruef input:checked + .v2-sp-pruef__box{background:var(--v2-blau);border-color:var(--v2-blau);}
.v2-sp-pruef input:checked + .v2-sp-pruef__box path{stroke-dashoffset:0;}
.v2-sp-pruef input:focus-visible + .v2-sp-pruef__box{outline:2px solid var(--v2-blau);outline-offset:3px;}
.v2-sp-pruef.is-fehler .v2-sp-pruef__box{border-color:#B3261E;}
.v2-sp-pruef__text{color:var(--v2-tinte);font-size:15px;line-height:1.55;}
.v2-sp-datenschutz{margin:-12px 0 0;color:var(--v2-label);font-size:14px;line-height:1.55;}
.v2-sp-datenschutz a{color:var(--v2-tinte);text-decoration:underline;}
.v2-sp-fehler{margin:0;padding:14px 16px;border-radius:10px;background:#FCEDEC;color:#8E2219;font-size:15px;line-height:1.5;}
.v2-sp-senden{position:relative;justify-self:start;}
.v2-sp-senden__lade{position:absolute;left:50%;top:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;opacity:0;animation:v2-sp-dreh .8s linear infinite;}
@keyframes v2-sp-dreh{to{transform:rotate(360deg)}}
.v2-sp-senden.is-laedt .v2-sp-senden__lade{opacity:1;}
.v2-sp-senden.is-laedt .v2-sp-senden__text{opacity:0;}

.v2-sp-danke{text-align:center;animation:v2-sp-blende .4s ease;}
.v2-sp-danke:focus{outline:none;}
.v2-sp-danke__haken{display:block;width:72px;height:72px;margin:0 auto 18px;fill:none;stroke:var(--v2-blau);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;}
.v2-sp-danke__haken circle{stroke-dasharray:1;stroke-dashoffset:1;animation:v2-sp-strich .6s .1s ease-out forwards;}
.v2-sp-danke__haken path{stroke-width:3.5;stroke-dasharray:1;stroke-dashoffset:1;animation:v2-sp-strich .35s .6s ease-out forwards;}
@keyframes v2-sp-strich{to{stroke-dashoffset:0}}
html body.bvh-v2 .v2-sp-danke h3{margin:0 0 12px;color:var(--v2-tinte);font-size:28px;font-weight:700;line-height:1.2;}
.v2-sp-danke p{max-width:520px;margin:0 auto 18px;color:var(--v2-leise);font-size:17px;line-height:1.6;}
.v2-sp-kennung{display:inline-flex;align-items:center;gap:14px;margin:0 0 24px;padding:14px 22px;border:1px dashed var(--v2-blau);border-radius:10px;background:#F3F5FF;color:var(--v2-blau);font:inherit;font-size:24px;font-weight:700;letter-spacing:.5px;cursor:pointer;transition:background-color .2s,border-color .2s,color .2s;}
.v2-sp-kennung.is-kopiert{border-color:#0E7C66;background:#E8F5F0;color:#0E7C66;}
.v2-sp-danke__wege{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin:0 0 12px;}

/* ---------- Kontakt ---------- */
.v2-sp-fragen{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:end;}
.v2-sp-fragen p{margin:0;color:var(--v2-text);font-size:18px;line-height:1.6;}
.v2-sp-fragen__liste{display:grid;gap:18px;margin:0;padding:0;list-style:none;}
.v2-sp-fragen__liste li::before{content:none!important;}

/* ---------- Schmale Fenster ---------- */
@media (max-width:1100px){
  .v2-sp-kopf__raster,.v2-sp-wunsch__raster,.v2-sp-fragen{grid-template-columns:minmax(0,1fr);gap:40px;}
  .v2-sp-zahlen__liste,.v2-sp-schritte{grid-template-columns:repeat(2,minmax(0,1fr));}
  .v2-sp-boxen{grid-template-columns:minmax(0,1fr);}
}
@media (max-width:767px){
  .v2-sp-kopf{padding-top:calc(var(--v2-kopf,68px) + 32px)!important;}
  html body.bvh-v2 .v2-sp-titel{font-size:38px;}
  .v2-sp-lead{font-size:18px;}
  .v2-sp-karte,.v2-sp-formular{padding:24px 20px;}
  .v2-sp-iban{font-size:26px;}
  .v2-sp-qr{grid-template-columns:minmax(0,1fr);}
  .v2-sp-qr__bild{max-width:180px;}
  .v2-sp-zahlen__liste,.v2-sp-schritte,.v2-sp-chips--zweck,.v2-sp-zwei{grid-template-columns:minmax(0,1fr);}
  .v2-sp-senden{width:100%;justify-content:center;}
}
@media (prefers-reduced-motion:reduce){
  .v2-sp *,.v2-sp *::before,.v2-sp *::after{animation:none!important;transition:none!important;}
  .v2-sp-danke__haken :is(circle,path){stroke-dashoffset:0;}
}

/* ---------- Druck ---------- */
@media print{
  .v2-sp-kopf{padding:0!important;background:none!important;color:#111!important;}
  .v2-sp-kopf *{color:#111!important;}
  .v2-sp-kopf__signet,.v2-sp-konto__knoepfe,.v2-sp-paypal__knopf,.v2-sp-formular,[data-sp-seite="qr"]{display:none!important;}
  .v2-sp-kopf__raster,.v2-sp-wunsch__raster,.v2-sp-fragen,.v2-sp-zahlen__liste,.v2-sp-schritte,.v2-sp-boxen{display:block!important;}
  .v2-sp-karte,.v2-sp-zahlen__liste li,.v2-sp-schritt{margin:0 0 3mm!important;padding:3mm 4mm!important;border:.5pt solid #bbb!important;box-shadow:none!important;break-inside:avoid;}
  html body.bvh-v2 .v2-sp-titel{font-size:22pt!important;}
  .v2-sp-iban{font-size:16pt!important;}
  .v2-bereich--nacht{background:none!important;color:#111!important;}
  .v2-bereich--nacht *{color:#111!important;}
}

/* Karten im dunklen Kopf: Textfarben gegen die hellen Vorgaben des Bereichs absichern */
html body.bvh-v2 .v2-sp-karte .v2-sp-karte__zeile{color:var(--v2-blau)!important;}
html body.bvh-v2 .v2-sp-karte :is(.v2-sp-iban,.v2-sp-iban span,dd){color:var(--v2-tinte)!important;}
html body.bvh-v2 .v2-sp-karte dt{color:var(--v2-label)!important;}
html body.bvh-v2 .v2-sp-karte :is(.v2-sp-paypal__text,.v2-sp-qr__text){color:var(--v2-leise)!important;}
html body.bvh-v2 .v2-sp-karte .v2-sp-paypal__adresse{color:var(--v2-label)!important;}
html body.bvh-v2 .v2-sp-karte .v2-sp-textknopf{color:var(--v2-blau)!important;}
.v2-sp-kopf__raster > *,.v2-sp-karte{min-width:0;}
@media (max-width:767px){
  .v2-sp-konto__daten{grid-template-columns:minmax(0,1fr);gap:2px;}
  .v2-sp-konto__daten dd{margin-bottom:8px;}
  .v2-sp-iban{font-size:24px;}
}
