/*
 * Sponsoren
 * - kompakte Sektion auf der Startseite
 * - vollständige Seite „Sponsoren & Partner“
 * Seitliche, mitscrollende Sponsorenspalten werden nicht mehr verwendet.
 */

.sponsor-rail{
    display:none !important;
}

/* Startseite: kompakte Sponsorensektion zwischen Slider und Footer */
.homepage-sponsors-section{
    flex:0 0 auto;
    padding:12px 0 14px;
    background:#f6f7fa;
    border-top:1px solid var(--line);
}

.homepage-sponsors-container{
    width:min(1180px,calc(100% - 32px));
}

.homepage-sponsors-heading{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    margin-bottom:9px;
}

.homepage-sponsors-heading h2{
    margin:0;
    color:var(--blue);
    font-size:.94rem;
    line-height:1.2;
}

.homepage-sponsors-heading a{
    color:var(--blue);
    font-size:.76rem;
    font-weight:800;
    white-space:nowrap;
}

.homepage-sponsors-grid{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:12px;
}

.homepage-sponsor-card{
    min-width:0;
    height:82px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:9px 13px;
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:12px;
    background:#fff;
    color:var(--blue);
    box-shadow:0 5px 16px rgba(20,29,63,.055);
    transition:
        transform .18s ease,
        border-color .18s ease,
        box-shadow .18s ease;
}

a.homepage-sponsor-card:hover{
    transform:translateY(-2px);
    border-color:rgba(37,50,103,.3);
    box-shadow:0 8px 22px rgba(20,29,63,.1);
    text-decoration:none;
}

.homepage-sponsor-card.is-main{
    border-color:rgba(233,167,29,.58);
}

.homepage-sponsor-card img{
    width:100%;
    height:100%;
    object-fit:contain;
    object-position:center;
}

.homepage-sponsor-card strong{
    font-size:.88rem;
    line-height:1.2;
    text-align:center;
}

/* Öffentliche Sponsorenseite */
.sponsors-page-section{
    padding-top:42px;
}

.sponsors-page-intro{
    max-width:850px;
    margin:0 auto 30px;
    color:var(--muted);
    text-align:center;
}

.sponsors-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:22px;
}

.sponsor-card{
    display:flex;
    flex-direction:column;
    min-height:300px;
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:18px;
    background:#fff;
    box-shadow:0 8px 25px rgba(20,29,63,.06);
}

.sponsor-card-logo{
    height:145px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:22px;
    background:#f7f8fb;
    border-bottom:1px solid var(--line);
}

.sponsor-card-logo img{
    width:100%;
    height:100%;
    object-fit:contain;
}

.sponsor-card-logo-placeholder{
    color:var(--blue);
    font-size:1.15rem;
    font-weight:900;
    text-align:center;
}

.sponsor-card-body{
    display:flex;
    flex:1;
    flex-direction:column;
    padding:20px 22px 22px;
}

.sponsor-card-category{
    color:var(--gold);
    font-size:.72rem;
    font-weight:900;
    letter-spacing:.09em;
    text-transform:uppercase;
}

.sponsor-card h2{
    margin:.25rem 0 .55rem;
    color:var(--blue);
    font-size:1.25rem;
    line-height:1.2;
}

.sponsor-card p{
    margin:0 0 18px;
    color:var(--muted);
}

.sponsor-card .button{
    margin-top:auto;
    align-self:flex-start;
    padding:9px 14px;
    font-size:.88rem;
}

.sponsor-card.is-main{
    border-color:rgba(233,167,29,.65);
    box-shadow:0 12px 34px rgba(233,167,29,.13);
}

.sponsors-empty{
    text-align:center;
}

@media(max-width:1000px){
    .homepage-sponsors-grid{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
}

@media(max-width:900px){
    .sponsors-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:650px){
    .homepage-sponsors-section{
        padding:13px 0 15px;
    }

    .homepage-sponsors-heading{
        align-items:flex-start;
        margin-bottom:10px;
    }

    .homepage-sponsors-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:9px;
    }

    .homepage-sponsor-card{
        height:74px;
        padding:8px 10px;
    }

    .sponsors-page-section{
        padding-top:28px;
    }

    .sponsors-grid{
        grid-template-columns:1fr;
    }

    .sponsor-card{
        min-height:0;
    }
}
