.fl-standorte {
    --fl-yellow: #ffed00;
    --fl-black: #111;
    --fl-grey: #f2f2f2;
    width: 100%;
    color: var(--fl-black);
}
.fl-standorte * { box-sizing: border-box; }

/* Tabs (Desktop). !important, damit Theme-/Elementor-Button-Styles (weiße Schrift) nicht durchschlagen */
.fl-st-tabs { display: flex; flex-wrap: wrap; background: var(--fl-grey); }
.fl-standorte .fl-st-tab {
    appearance: none; border: 0; border-bottom: 4px solid transparent; border-radius: 0;
    background: transparent !important; color: var(--fl-black) !important;
    font: inherit; font-weight: 700; font-size: 17px; text-transform: none; letter-spacing: normal;
    padding: 16px 28px; cursor: pointer; display: inline-flex; align-items: center; gap: 8px;
    box-shadow: none; transition: background .15s;
}
.fl-standorte .fl-st-tab:hover,
.fl-standorte .fl-st-tab:focus { background: #e4e4e4 !important; color: var(--fl-black) !important; }
.fl-standorte .fl-st-tab:focus-visible { outline: 3px solid var(--fl-black); outline-offset: -3px; }
.fl-standorte .fl-st-tab.is-active,
.fl-standorte .fl-st-tab.is-active:hover,
.fl-standorte .fl-st-tab.is-active:focus {
    background: #fff !important; color: var(--fl-black) !important; border-bottom-color: var(--fl-yellow);
}

.fl-standorte .fl-st-panel[hidden] { display: none !important; }

/* Akkordeon (Mobil / layout="accordion") */
.fl-standorte.is-accordion .fl-st-tabs { display: none; }
.fl-standorte.is-accordion .fl-st-panels > .fl-st-tab {
    width: 100%; justify-content: space-between; text-align: left;
    padding: 16px 18px; border-bottom: 1px solid #ddd;
    background: var(--fl-grey) !important;
}
.fl-standorte.is-accordion .fl-st-panels > .fl-st-tab::after {
    content: ''; width: 9px; height: 9px; margin-left: auto;
    border-right: 3px solid currentColor; border-bottom: 3px solid currentColor;
    transform: rotate(45deg); transition: transform .2s;
}
.fl-standorte.is-accordion .fl-st-panels > .fl-st-tab.is-active {
    background: var(--fl-yellow) !important; border-bottom-color: var(--fl-black);
}
.fl-standorte.is-accordion .fl-st-panels > .fl-st-tab.is-active::after { transform: rotate(-135deg); }

@media (max-width: 767px) {
    .fl-standorte .fl-st-tab { padding: 14px 16px; }
}
