* {
    box-sizing: border-box
}

body {
    margin: 0;
    background: #e7e7e7;
    color: #303030;
    font: 16px Arial, Helvetica, sans-serif
}

header {
    background: #fff;
    border-bottom: 5px solid #b91e27
}

.wrap {
    max-width: 1060px;
    margin: auto;
    padding: 0 22px
}

.brand {
    padding: 26px 0
}

.brand strong {
    font-size: 42px;
    color: #b91e27;
    letter-spacing: 1px
}

.brand span {
    display: block;
    font-size: 21px;
    color: #333
}

nav {
    background: #292929
}

nav .wrap {
    display: flex;
    flex-wrap: wrap
}

nav a {
    padding: 15px 13px;
    color: white;
    text-decoration: none
}

nav a:hover,
nav a[aria-current=page] {
    background: #b91e27
}

main {
    background: white;
    max-width: 1060px;
    margin: 20px auto;
    padding: 34px 28px;
    min-height: 420px
}

h1 {
    font-size: 27px;
    color: #a51e26
}

h2 {
    font-size: 21px
}

.lead {
    font-size: 21px
}

.button {
    display: inline-block;
    background: #b91e27;
    color: white;
    padding: 13px 19px;
    margin: 7px 9px 7px 0;
    text-decoration: none;
    border-radius: 3px
}

.notice {
    padding: 14px 18px;
    background: #fff7df;
    border-left: 4px solid #c68a20
}

.days {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 12px
}

.days a {
    display: block;
    padding: 18px;
    border: 1px solid #ddd;
    text-decoration: none;
    color: #333
}

footer {
    padding: 25px;
    text-align: center;
    color: #666
}

@media(max-width:600px) {
    .brand strong {
        font-size: 34px
    }

    nav a {
        padding: 12px 9px
    }

    main {
        margin: 10px;
        padding: 22px 16px
    }
}


/* Sponsoren: einheitliche, responsive Logo-Felder */
.sponsoren {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 25px;
    align-items: center;
}

.sponsoren a {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    height: 180px;
    text-decoration: none;
}

.sponsoren a img {
    display: block;
    max-width: 100%;
    max-height: 150px;
    width: auto;
    height: auto;
    object-fit: contain;
}


/* Facebook und YouTube rechts im Kopfbereich */
.brand {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}
.brand-info { min-width: 0; }
.social-links { display: flex; align-items: center; gap: 12px; flex-shrink: 0; }
.social-links a { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; color: #292929; text-decoration: none; }
.social-links a:hover, .social-links a:focus-visible { color: #b91e27; }
.social-links svg { width: 29px; height: 29px; fill: currentColor; }
@media (max-width: 600px) {
    .brand { flex-wrap: wrap; }
}
