body {
    background-color: #f4f2f3;
    color: #2e2c2f;
    font-family: 'merriweatherregular', Times, serif;
    margin: 0;
    padding: 0;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

/* Inhalt dehnt sich, Footer bleibt unten */
main.mitglieder-main {
    flex: 1 0 auto;
    width: 100%;
    padding-top: 0;
    padding-bottom: 0;
}

/* Hero/Intro */
.mitglieder-hero {
    background: #ece0d6;
    padding: 60px 20px 40px 20px;
    text-align: center;
}

.mitglieder-hero h1 {
    font-size: 2.4rem;
    margin-bottom: 8px;
    color: #1e4940;
    font-family: 'open_sansbold', Times, serif;
}

.mitglieder-hero p {
    color: #2e2c2f;
    font-size: 1.15rem;
}

/* Mitgliederliste */
.mitglieder-liste-section {
    padding: 20px 10px 60px 10px;
    max-width: 1200px;
    margin: 0 auto;
    width: 100%;
    background: transparent;
}

.mitglieder-liste-section h2 {
    margin-bottom: 18px;
    color: #1e4940;
    font-family: 'open_sansbold', Times, serif;
    font-size: 1.3rem;
}

/* Drei-Spalten-Liste Desktop */
.mitglieder-liste {
    columns: 3 260px;
    column-gap: 40px;
    max-width: 1000px;
    margin: 0 auto;
    font-size: 1.08rem;
    padding-left: 40px;
    padding-right: 40px;
    counter-reset: member;
    list-style-position: inside;
}

.mitglieder-liste li {
    margin-bottom: 10px;
    color: #2e2c2f;
    font-family: 'merriweatherregular', Times, serif;
    break-inside: avoid;
}

/* =========================
   Responsive Anpassungen
   ========================= */

/* Tablet: Liste zentriert, 2 Spalten */
@media (max-width: 900px) {
    .mitglieder-liste-section,
    .mitglieder-liste {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }
    .mitglieder-liste {
        columns: 2 180px;
        width: 100%;
        max-width: 600px;
        margin-left: auto;
        margin-right: auto;
        padding-left: 10px;
        padding-right: 10px;
    }
}

/* Handy: Liste einspaltig, alles zentriert */
@media (max-width: 600px) {
    .mitglieder-hero {
        padding: 36px 10px 28px 10px;
    }
    .mitglieder-liste {
        columns: 1 100px;
        width: 100%;
        max-width: 370px;
        margin-left: auto;
        margin-right: auto;
        padding: 0;
        font-size: 1rem;
    }
}


/* Grundlegendes Mitglieder css*/
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'merriweatherregular', sans-serif;
    line-height: 1.6;
    background-color: #f4f2f3;
    color: #2e2c2f;
}

/* Header */
.mitglieder_header {
    background-color: #1e4940;
    color: #f4f2f3;
    text-align: center;
    padding: 2rem 1rem;
}

.mitglieder_header-title {
    margin-bottom: 0.5rem;
}

.mitglieder_header-subtitle {
    font-size: 1.1rem;
}

/* Main */
.mitglieder_main {
    max-width: 800px;
    margin: 2rem auto;
    padding: 0 1rem;
}

/* Sections */
.mitglieder_about,
.mitglieder_contact,
.mitglieder_membership {
    background-color: #f4f2f3;
    padding: 1.5rem;
    margin-bottom: 1.5rem;
    border-radius: 8px;
}

.mitglieder_section-title {
    margin-bottom: 1rem;
    color: #1e4940;
}

.mitglieder_text {
    margin-bottom: 0.75rem;
}

.mitglieder_link {
    color: #1e4940;
    text-decoration: none;
}

.mitglieder_link:hover {
    text-decoration: underline;
}

/* Download Button */
.mitglieder_download-btn {
    display: inline-block;
    padding: 0.75rem 1.5rem;
    background-color: #1e4940;
    color: #f4f2f3;
    text-decoration: none;
    border-radius: 5px;
    margin-top: 1rem;
    transition: background-color 0.3s;
}

.mitglieder_download-btn:hover {
    background-color: #1e4940;
}


/* Responsive Styles für kleine Bildschirme */
@media (max-width: 600px) {
    .mitglieder_header-title {
        font-size: 1.5rem;
    }

    .mitglieder_header-subtitle {
        font-size: 1rem;
    }

    .mitglieder_section-title {
        font-size: 1.25rem;
    }

    .mitglieder_text {
        font-size: 0.95rem;
    }

    .mitglieder_download-btn {
        width: 100%;
        text-align: center;
        padding: 0.75rem;
        font-size: 1rem;
    }

    .mitglieder_main {
        padding: 0 0.5rem;
    }

    .mitglieder_about,
    .mitglieder_contact,
    .mitglieder_membership {
        padding: 1rem;
    }
}