.standorte_section{
    max-width:1100px;
    margin:0 auto;
    padding:0 20px;
}
.standorte_headline{
    text-align:center;
    margin-bottom:40px;
}
.standorte_headline h2{
    font-size:1.8rem;
    font-weight:400;
    color:var(--primaryTextColor);
    margin:0;
}
.standorte_cards{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));
    gap:20px;
    margin-bottom:30px;
}
.standort_card{
    display:flex;
    align-items:center;
    gap:16px;
    background:#fff;
    border:1px solid #e0ddd8;
    border-radius:10px;
    padding:24px 28px;
    transition:background-color .3s, box-shadow .3s;
    cursor:pointer;
}
.standort_card:hover{
    background-color:var(--BG_2, #e9e6d7);
    box-shadow:0 4px 20px rgba(0,0,0,.08);
}
.standort_icon{
    flex-shrink:0;
    width:44px;
    height:44px;
    background-color:var(--BG_2, #f0ede8);
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--primaryTextColor);
}
.standort_icon svg{
    width:22px;
    height:22px;
}
.standort_info{
    flex:1;
    min-width:0;
}
.standort_strasse{
    font-size:1.1rem;
    font-weight:600;
    color:var(--primaryTextColor);
    line-height:1.4;
}
.standort_ort{
    font-size:.95rem;
    color:var(--secondaryTextColor, #888);
    line-height:1.4;
}
.standort_route{
    flex-shrink:0;
    font-size:.9rem;
    color:var(--primaryTextColor);
    text-decoration:none;
    border:1px solid var(--primaryTextColor);
    border-radius:20px;
    padding:8px 18px;
    white-space:nowrap;
    transition:all .3s;
    display:inline-flex;
    align-items:center;
    gap:4px;
}
.standort_route:hover{
    background-color:var(--primaryTextColor);
    color:#fff;
}
.standort_route span{
    font-size:1.2em;
    line-height:1;
}
.standorte_map{
    border-radius:12px;
    overflow:hidden;
    border:1px solid #e0ddd8;
}
.standorte_map_container{
    width:100%;
    height:400px;
}
.standorte_map_container .leaflet-marker-icon{
    transition:width .25s ease, height .25s ease, margin-left .25s ease, margin-top .25s ease;
}
@media screen and (max-width:700px){
    .standorte_headline h2{
        font-size:1.4rem;
    }
    .standorte_cards{
        grid-template-columns:1fr;
    }
    .standort_card{
        flex-wrap:wrap;
        padding:20px;
        gap:12px;
    }
    .standort_route{
        width:100%;
        justify-content:center;
        margin-top:4px;
    }
    .standorte_map_container{
        height:280px;
    }
}
