/* ELTERNVEREIN â€“ bereinigte Fassung */
.elternverein, .elternverein-eingabe {
  width: 100%; max-width: 1100px; margin: 0 auto; padding: 0 0 70px;
  box-sizing: border-box; font-family: "Open Sans", Arial, Helvetica, sans-serif; color: #333;
}
.elternverein *, .elternverein-eingabe * { box-sizing: border-box; }
.elternverein-hero { margin: 55px 0 65px; padding: 0; background: none; }
.elternverein-hero-inhalt, .elternverein-ueberschrift { max-width: none; }
.elternverein-kicker, .elternverein-ueberschrift > span { display: none; }
.elternverein-hero h1, .elternverein-ueberschrift h2,
.elternverein-eingabe > .elternverein-bereich > .elternverein-ueberschrift h2 {
  margin: 0 0 12px; font: 600 27px/1.3 "Open Sans", Arial, sans-serif; color: #2868ad;
}
.elternverein-hero p, .elternverein-ueberschrift p {
  margin: 0; font: 400 16px/1.6 "Open Sans", Arial, sans-serif; color: #444;
}
.elternverein-bereich { margin-bottom: 65px; }
.elternverein-ueberschrift { margin-bottom: 28px; }

/* Vorstand */
.elternverein-vorstand { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 18px; align-items: start; }
.elternverein-person { min-width: 0; padding: 24px 22px; background: #fff; border-radius: 14px; box-shadow: 0 3px 15px rgba(0,0,0,.08); }
.elternverein-funktion { display: block; margin: 0 0 7px; color: #2868ad; font: 600 13px/1.4 "Open Sans",Arial,sans-serif; letter-spacing: 0; text-transform: none; }
.elternverein-person h3 { margin: 5px 0 8px; color: #333; font: 600 18px/1.35 "Open Sans",Arial,sans-serif; }
.elternverein-person a, .elternverein-person-email { display: block; color: #2868ad; font: 400 13px/1.45 "Open Sans",Arial,sans-serif; overflow-wrap: anywhere; text-decoration: none; }
.elternverein-person a:hover { text-decoration: underline; }

/* Bank und Beitrag */
.elternverein-info-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 25px; align-items: stretch; }
.elternverein-info-karte { min-width: 0; padding: 32px; background: #eef7ff; border-radius: 14px; }
.elternverein-info-icon { display: flex; align-items: center; justify-content: center; width: 46px; height: 46px; margin: 0 0 18px; border-radius: 50%; background: #2868ad; color: #fff; font: 600 21px/1 "Open Sans",Arial,sans-serif; }
.elternverein-info-karte h2 { margin: 0 0 22px; color: #2868ad; font: 600 25px/1.3 "Open Sans",Arial,sans-serif; }
.elternverein-bankdaten > p { display: grid; grid-template-columns: 135px minmax(0,1fr); column-gap: 12px; align-items: start; margin: 0; padding: 10px 0; border-bottom: 1px solid #d4e2ed; font: 400 15px/1.5 "Open Sans",Arial,sans-serif; }
.elternverein-bankdaten > p > strong { color: #333; font-weight: 600; }
.elternverein-bankdaten > p > span { min-width: 0; overflow-wrap: anywhere; }
.elternverein-bankdaten > p > span * { margin: 0; font-family: inherit; }
.elternverein-qr { display: flex; align-items: center; gap: 20px; margin-top: 24px; }
.elternverein-qr img { display: block; width: 125px; height: 125px; padding: 6px; object-fit: contain; background: #fff; border-radius: 8px; }
.elternverein-qr span { max-width: 170px; color: #555; font: 400 14px/1.5 "Open Sans",Arial,sans-serif; }
.elternverein-beitrag > p { margin: 0; font: 400 15px/1.6 "Open Sans",Arial,sans-serif; }
.elternverein-beitraege { margin: 0px 0; }
.elternverein-betrag { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 3px 0; border-bottom: 1px solid #d4e2ed; font: 400 15px/1.5 "Open Sans",Arial,sans-serif; }
.elternverein-betrag > span { font-weight: 600; }
.elternverein-betrag > strong { flex-shrink: 0; color: #2868ad; font: 600 22px/1.2 "Open Sans",Arial,sans-serif; }
.elternverein-hinweis { margin-top: 22px !important; padding: 15px 17px; background: #fff; border-radius: 9px; font: 400 14px/1.55 "Open Sans",Arial,sans-serif !important; }

/* Klassen */
.elternverein-klassen { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.elternverein-klasse { min-width: 0; padding: 23px; background: #fff; border-radius: 14px; box-shadow: 0 3px 15px rgba(0,0,0,.08); }
.elternverein-klasse h3 { display: inline-flex; align-items: center; justify-content: center; min-width: 52px; height: 40px; margin: 0 0 16px; padding: 0 12px; background: #2868ad; border-radius: 8px; color: #fff; font: 600 19px/1 "Open Sans",Arial,sans-serif; text-transform: uppercase; }
.elternverein-klasse p { margin: 0; padding: 11px 0; border-top: 1px solid #edf1f4; font: 400 14px/1.45 "Open Sans",Arial,sans-serif; }
.elternverein-klasse p:first-of-type { border-top: 0; }
.elternverein-klasse strong { display: block; margin-bottom: 4px; color: #333; font: 600 15px/1.45 "Open Sans",Arial,sans-serif; }
.elternverein-klasse a { display: block; color: #2868ad; font: 400 13px/1.4 "Open Sans",Arial,sans-serif; text-decoration: none; overflow-wrap: anywhere; }
.elternverein-klasse a:hover { text-decoration: underline; }

@media (max-width: 999px) {
  .elternverein, .elternverein-eingabe { width: calc(100% - 32px); padding-bottom: 45px; }
  .elternverein-hero { margin: 35px 0 48px; }
  .elternverein-hero h1, .elternverein-ueberschrift h2 { font-size: 24px; }
  .elternverein-bereich { margin-bottom: 50px; }
  .elternverein-vorstand { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .elternverein-klassen { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .elternverein-info-grid { grid-template-columns: 1fr; }
  .elternverein-info-karte { padding: 25px 20px; }
  .elternverein-info-karte h2 { font-size: 23px; }
}
@media (max-width: 600px) {
  .elternverein-vorstand, .elternverein-klassen { grid-template-columns: 1fr; gap: 15px; }
  .elternverein-person, .elternverein-klasse { padding: 21px 19px; }
  .elternverein-bankdaten > p { grid-template-columns: 120px minmax(0,1fr); column-gap: 10px; }
  .elternverein-qr { gap: 15px; }
  .elternverein-qr img { flex-shrink: 0; width: 105px; height: 105px; }
}
@media (max-width: 380px) { .elternverein-qr { flex-direction: column; align-items: flex-start; } }

/* Bankverbindung – Beschriftung und Wert nebeneinander */

.elternverein-eingabe .elternverein-bankzeile {
	display: grid;
    grid-template-columns: 165px minmax(0, 1fr);
    column-gap: 16px;
    align-items: start;
    padding: 11px 0;
    border-bottom: 1px solid #d4e2ed;
}

.elternverein .elternverein-bankzeile strong {
    font-size: 15px;
    font-weight: 600;
    line-height: 1.5;
}

.elternverein .elternverein-bankwert {
    min-width: 0;
    font-size: 15px;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.elternverein-eingabe .elternverein-bankwert p {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.5;
}

@media (max-width: 999px) {
    .elternverein .elternverein-bankzeile {
        grid-template-columns: 120px minmax(0, 1fr);
        column-gap: 10px;
    }
}
.elternverein-eingabe .elternverein-info-kicker {
    color: #2868ad;
    font-family: "Open Sans", Arial, sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.4;
    margin-bottom: 6px;
}
/* Vorstandskarten einheitlich hoch */
.elternverein-vorstand {
    align-items: stretch;
}

.elternverein-vorstand .elternverein-person {
    height: 150px;
}
/* Überschrift Klassenelternvertreter:innen */
.elternverein-klassen h2 {
    color: #2868ad;
}
/* Lange Überschrift auf dem Handy anpassen */
@media (max-width: 999px) {
  .elternverein .elternverein-ueberschrift h2,
  .elternverein-eingabe .elternverein-ueberschrift h2 {
    font-size: 22px !important;
    line-height: 1.35;
    overflow-wrap: anywhere;
    hyphens: auto;
  }
}
@media (max-width: 999px) {
  .elternverein .elternverein-ueberschrift h2 {
    font-size: 22px !important;
    overflow-wrap: anywhere !important;
    white-space: normal !important;
  }
}
@media (max-width: 999px) {
  .klasseneltern-titel {
    font-size: 22px !important;
    line-height: 1.4 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }
}
@media (max-width: 999px) {
  .elternverein-klassen-titel {
    font-size: 20px !important;
    white-space: normal !important;
  }
}