/* FF Schulen – Finalteilnahmen */
.ffsf{--r:#ED1A3B;--b:#7C2629;--t:#54595F;--line:#E6E6E6;font-family:Roboto,Arial,sans-serif;color:var(--t)}
.ffsf-tabs{display:flex;gap:6px;overflow-x:auto;padding:2px 2px 10px;scrollbar-width:thin;border-bottom:2px solid var(--line);margin-bottom:18px}
.ffsf-tabs button{flex:0 0 auto;border:1px solid var(--line);background:#fff;color:var(--t);padding:8px 16px;border-radius:999px;font:600 15px Lato,Roboto,Arial,sans-serif;cursor:pointer;transition:background .15s,color .15s}
.ffsf-tabs button:hover{border-color:var(--r);color:var(--r)}
.ffsf-tabs button[aria-selected=true]{background:var(--r);border-color:var(--r);color:#fff}
.ffsf-tabs button:focus-visible{outline:2px solid var(--b);outline-offset:2px}
.ffsf.is-js .ffsf-panel[data-hidden]{display:none}
.ffsf-panel+.ffsf-panel{margin-top:28px}
.ffsf.is-js .ffsf-panel+.ffsf-panel{margin-top:0}
.ffsf-sum{margin:0 0 6px!important;font-size:15px}
.ffsf-sum strong{color:var(--b)}
.ffsf-wb{font:700 18px/1.3 Lato,Roboto,Arial,sans-serif!important;color:var(--b)!important;margin:18px 0 10px!important;text-transform:uppercase;letter-spacing:.03em}
.ffsf-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}
.ffsf-card{background:#fff;border:1px solid var(--line);border-radius:6px;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.04)}
.ffsf-head{display:flex;align-items:baseline;gap:8px;padding:10px 14px;background:var(--r);color:#fff}
.ffsf-u{font:800 20px/1 Lato,Roboto,Arial,sans-serif}
.ffsf-wk{font-size:13px;opacity:.9}
.ffsf-n{margin-left:auto;font-size:12px;background:rgba(255,255,255,.22);border-radius:999px;padding:2px 8px}
.ffsf-list{list-style:none!important;margin:0!important;padding:6px 0!important}
.ffsf-list li{display:flex;gap:10px;align-items:flex-start;padding:7px 14px;margin:0!important;font-size:14px;line-height:1.35}
.ffsf-list li+li{border-top:1px solid #f2f2f2}
.ffsf-name small{display:block;font-size:12px;color:#8a8f94}
.ffsf-p1,.ffsf-p2,.ffsf-p3{font-weight:600;color:#333}
.ffsf-medal{flex:0 0 22px;width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font:700 12px/1 Roboto,Arial,sans-serif;color:#fff;background:#D4A017;box-shadow:inset 0 -2px 0 rgba(0,0,0,.15)}
.ffsf-p2 .ffsf-medal,.ffsf-m2{background:#9EA4AA}
.ffsf-p3 .ffsf-medal,.ffsf-m3{background:#B4713D}
.ffsf-medal.ffsf-none{background:transparent;box-shadow:none;position:relative}
.ffsf-medal.ffsf-none::after{content:"";width:6px;height:6px;border-radius:50%;background:var(--line)}
.ffsf-legend{display:flex;align-items:center;gap:6px;font-size:13px;margin:16px 0 0!important}
@media (max-width:600px){.ffsf-tabs button{padding:7px 12px;font-size:14px}.ffsf-grid{grid-template-columns:1fr}}

/* Bestenliste, Siegertabelle */
.ffsf-tabs .ffsf-tab-best{border-color:#D4A017;color:#8a6a00}
.ffsf-tabs .ffsf-tab-best[aria-selected=true]{background:#D4A017;border-color:#D4A017;color:#fff}
.ffsf-tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:6px;background:#fff}
.ffsf-table{width:100%;border-collapse:collapse;margin:0!important;font-size:14px;line-height:1.4;color:#333}
.ffsf-table th{background:var(--r);color:#fff;text-align:left;padding:10px 14px;font:700 14px Lato,Roboto,Arial,sans-serif;border:0;white-space:nowrap}
.ffsf-table th .ffsf-u{font-size:17px}
.ffsf-table th .ffsf-wk{font-weight:400}
.ffsf-table td{padding:9px 14px;border:0;border-top:1px solid #f0f0f0;vertical-align:top;background:#fff}
.ffsf-table tbody tr:hover td{background:#fff8f9}
.ffsf-c{text-align:center!important;width:56px}
.ffsf-best th.ffsf-c .ffsf-medal{margin:0 auto}
.ffsf-best td.ffsf-has{font-weight:700;color:#333}
.ffsf-rang{width:44px;font-weight:700;color:var(--b)}
.ffsf-note{font-size:13px;margin:10px 0 0!important;color:#8a8f94}
.ffsf-y{font:700 15px Lato,Roboto,Arial,sans-serif;color:var(--b);white-space:nowrap;border-left:4px solid #ccc}
.ffsf-pill{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;color:#fff;background:#54595F;white-space:nowrap}
.ffsf-lf_be .ffsf-pill{background:var(--r)}.ffsf-lf_be .ffsf-y{border-left-color:var(--r)}
.ffsf-lf_bb .ffsf-pill{background:var(--b)}.ffsf-lf_bb .ffsf-y{border-left-color:var(--b)}
.ffsf-gem .ffsf-y{border-left-color:#54595F}
.ffsf-win{display:flex;gap:8px;align-items:flex-start}
.ffsf-win+.ffsf-win{margin-top:6px}
.ffsf-win .ffsf-medal{flex-basis:20px;width:20px;height:20px;font-size:11px}
.ffsf-dash{color:#bbb}
.ffsf-leer td{color:#aaa;font-style:italic;background:#fcfcfc}
@media (max-width:767px){
.ffsf-sieger .ffsf-tablewrap{border:0;background:none}
.ffsf-sieger thead{display:none}
.ffsf-sieger table,.ffsf-sieger tbody,.ffsf-sieger tr,.ffsf-sieger td{display:block;width:100%}
.ffsf-sieger tr{border:1px solid var(--line);border-radius:6px;margin-bottom:10px;overflow:hidden;background:#fff}
.ffsf-sieger td{border-top:1px solid #f2f2f2}
.ffsf-sieger td.ffsf-y{border-top:0;display:inline-block;width:auto;border-left:0}
.ffsf-sieger td.ffsf-y+td{display:inline-block;width:auto;border-top:0;padding-left:0}
.ffsf-sieger td[data-wk]::before{content:attr(data-wk);display:block;font:700 12px Lato,Roboto,Arial,sans-serif;color:var(--r);margin-bottom:3px}
.ffsf-best .ffsf-c{width:40px;padding:9px 6px}
}
/* Karte */
.ffsf-map{border-radius:6px;border:1px solid var(--line);z-index:0}
.ffsf-maplegend{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:13px;margin-top:8px}
.ffsf-maplegend span{display:inline-flex;align-items:center;gap:6px}
.ffsf-dot{display:inline-block;width:12px;height:12px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px rgba(0,0,0,.25)}
.ffsf-dot-be{background:var(--r)}.ffsf-dot-bb{background:var(--b)}.ffsf-dot-win{background:#D4A017}
.ffsf-yearctl select{font:600 14px Lato,Roboto,Arial,sans-serif;padding:6px 10px;border:1px solid var(--line);border-radius:5px;background:#fff;color:#333;box-shadow:0 1px 4px rgba(0,0,0,.15)}
.ffsf-pop{font:13px/1.45 Roboto,Arial,sans-serif;min-width:200px}
.ffsf-pop strong{display:block;font-size:14px;color:#333}
.ffsf-pop small{color:#8a8f94}
.ffsf-pop ul{margin:6px 0 0;padding:0;list-style:none}
.ffsf-pop li{margin:0;padding:2px 0;border-top:1px solid #f2f2f2}
.ffsf-pop b{color:var(--b)}
