.wm-erfolge-page { max-width: 1240px; margin: 0 auto; padding: 0 20px 64px; color: #182638; }
.wm-erfolge-page [hidden] { display: none !important; }
.wm-erfolge-intro { max-width: 900px; margin-bottom: 32px; }
.wm-erfolge-kicker { color: #005b91; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.wm-erfolge-page h1 { color: #005b91; font-size: clamp(2rem, 5vw, 3.5rem); line-height: 1.12; margin: 16px 0 24px; overflow-wrap: break-word; }
.wm-erfolge-page p { line-height: 1.65; }
.wm-erfolge-stand, .wm-erfolge-source { color: #536276; font-size: .9rem; }
.wm-erfolge-subtitle { font-size: 1.15rem; margin: 0 0 12px; }
.wm-erfolge-totals { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin: 0 0 32px; }
.wm-total { border: 1px solid #dce6ef; border-top: 5px solid var(--medal); border-radius: 14px; padding: 20px 24px; background: #fff; }
.wm-total dt { font-weight: 700; color: #536276; }
.wm-total dd { margin: 6px 0 0; font-size: clamp(1.8rem, 4vw, 2.8rem); font-weight: 800; line-height: 1.1; }
.wm-gold { --medal: #c9a127; --medal-bg: #fff6d9; }
.wm-silber { --medal: #94a3b8; --medal-bg: #edf1f5; }
.wm-bronze { --medal: #bc7c46; --medal-bg: #fbebdf; }
.wm-erfolge-card { padding: clamp(18px, 3vw, 32px); background: #fff; border: 1px solid #dce6ef; border-radius: 20px; box-shadow: 0 16px 40px rgba(15,23,42,.06); }
.wm-erfolge-card h2 { color: #005b91; margin: 0 0 24px; }
.wm-filters { display: grid; grid-template-columns: 1.2fr 1.2fr .7fr 1fr 1.4fr; gap: 16px; align-items: end; }
.wm-filters label { display: flex; flex-direction: column; gap: 8px; min-width: 0; font-weight: 700; font-size: .9rem; }
.wm-filters select, .wm-filters input { box-sizing: border-box; width: 100%; min-width: 0; min-height: 46px; padding: 10px 12px; border: 1px solid #becfdd; border-radius: 8px; font: inherit; color: #182638; background: #fff; }
.wm-erfolge-page button { min-height: 44px; border: 1px solid #005b91; border-radius: 8px; padding: 10px 16px; font: inherit; font-weight: 700; color: #005b91; background: #fff; cursor: pointer; }
.wm-reset { grid-column: 1 / -1; justify-self: start; }
.wm-erfolge-page button:hover:not(:disabled) { background: #eaf4fa; }
.wm-erfolge-page button:disabled { opacity: .45; cursor: default; }
.wm-erfolge-page :focus-visible { outline: 3px solid #005b91; outline-offset: 3px; }
.wm-result-count { color: #536276; font-size: .9rem; margin: 24px 0 12px; }
.wm-table-wrap { overflow-x: auto; border: 1px solid #dce6ef; border-radius: 10px; }
.wm-table { width: 100%; border-collapse: collapse; text-align: left; font-size: .95rem; }
.wm-table thead { background: #005b91; color: white; }
.wm-table th, .wm-table td { padding: 14px 16px; border-bottom: 1px solid #e2eaf1; vertical-align: middle; }
.wm-table tbody th { font-weight: 700; }
.wm-table tbody tr:nth-child(even) { background: #f7fafc; }
.wm-table tbody tr:hover { background: #edf5fa; }
.wm-medal { display: inline-block; padding: 5px 12px; border-left: 4px solid var(--medal); border-radius: 6px; color: #273446; background: var(--medal-bg); font-weight: 700; white-space: nowrap; }
.wm-pagination { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; justify-content: center; margin-top: 24px; }
.wm-erfolge-message { padding: 24px; background: #f0f6fa; border-radius: 10px; }
.wm-erfolge-source { margin-top: 24px; }
.wm-erfolge-source a { color: #005b91; text-underline-offset: 3px; }
.wm-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@media (max-width: 1050px) { .wm-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) {
 .wm-erfolge-page { padding: 0 12px 40px; }
 .wm-erfolge-totals { gap: 8px; }
 .wm-total { padding: 14px 10px; }
 .wm-filters { grid-template-columns: 1fr; }
 .wm-table { min-width: 610px; }
 .wm-table th, .wm-table td { padding: 12px; }
}

/* Gemeinsamer Unterseiten-Hero mit vorhandenem Skibob-Motiv. */
.wm-erfolge-hero { position: relative; width: 100vw; left: 50%; margin-left: -50vw; min-height: clamp(360px,46vw,510px); display: flex; align-items: center; overflow: hidden; margin-bottom: 38px; border-bottom: 1px solid #e2e8f0; background: linear-gradient(90deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.88) 30%,rgba(255,255,255,.42) 52%,rgba(255,255,255,.08) 76%),url('/bilder/css/header_hero_1200.webp') center center/cover no-repeat; }
.wm-erfolge-hero-inner { width: 100%; max-width: 1180px; margin: 0 auto; padding: clamp(54px,7vw,88px) 20px; box-sizing: border-box; }
.wm-erfolge-hero h1 { max-width: 850px; font-family: 'Oswald',sans-serif; font-size: clamp(2.4rem,5.6vw,4.8rem); text-transform: uppercase; margin: 0 0 18px; color: #005691; }
.wm-erfolge-hero .wm-erfolge-kicker { color: #e30613; font-family: 'Oswald',sans-serif; letter-spacing: .12em; margin: 0 0 12px; }
.wm-erfolge-hero p { max-width: 650px; color: #003f6b; font-size: clamp(1rem,1.45vw,1.12rem); font-weight: 500; }
.wm-erfolge-divider { width: 78px; height: 5px; background: #e30613; border-radius: 999px; margin: 0 0 20px; }
.wm-title-keep { display: inline-block; }
.wm-erfolge-hero .wm-erfolge-stand { font-size: .9rem; }
.wm-export-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 24px; }
.wm-export-link { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 16px; box-sizing: border-box; border: 2px solid #005b91; border-radius: 8px; color: #005b91; background: white; text-decoration: none; font-weight: 700; }
.wm-export-link[data-wm-export="pdf"] { color: #be0611; border-color: #e30613; }
.wm-export-link:hover { background: #edf5fa; }
.wm-export-actions span { color: #536276; font-size: .85rem; }
@media(max-width:800px) { .wm-erfolge-hero { min-height: 390px; background: linear-gradient(90deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.88) 48%,rgba(255,255,255,.32) 100%),url('/bilder/css/header_hero_960.webp') 58% center/cover no-repeat; } }

.wm-view-tabs { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 28px; }
.wm-view-tabs button[aria-selected="true"] { background: #005b91; color: #fff; }
.wm-erfolge-page .wm-view-tabs button[aria-selected="true"]:hover { background: #003f6b; color: #fff; }
.wm-stat-section { margin-bottom: 28px; }
.wm-stat-explanation, .wm-stat-note { color: #536276; font-size: .9rem; }
.wm-stat-controls { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.wm-stat-controls label { font-weight: 700; }
.wm-stat-controls select { min-height: 46px; padding: 10px 14px; border: 1px solid #becfdd; border-radius: 8px; background: #fff; color: #182638; font: inherit; }
.wm-stat-more { margin-top: 18px; }
.wm-nation-name { display: flex; align-items: center; gap: 10px; min-width: 0; }
.wm-nation-name > span { min-width: 0; overflow-wrap: anywhere; }
.wm-nation-flag { flex: 0 0 30px; width: 30px; height: 20px; object-fit: contain; box-shadow: 0 0 0 1px #c5d0db; border-radius: 2px; }
.wm-stat-table .wm-austria { background: #eaf4fa; }
.wm-stat-table .wm-austria th { border-left: 4px solid #005b91; }
.wm-stat-table td:not(:first-child) { font-variant-numeric: tabular-nums; }
/* Auf kleinen Bildschirmen wird jede Tabellenzeile zu einem vollständigen Eintrag. */
@media(max-width:650px) {
    .wm-view-tabs { display: grid; grid-template-columns: 1fr; }
    .wm-view-tabs button { width: 100%; }
    .wm-table-wrap { overflow: visible; border: 0; border-radius: 0; }
    .wm-table { display: block; min-width: 0; width: 100%; border-collapse: separate; }
    .wm-table thead { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
    .wm-table tbody { display: block; }
    .wm-table tbody tr { display: block; margin-bottom: 14px; padding: 10px 14px; border: 1px solid #dce6ef; border-radius: 12px; background: #fff; }
    .wm-table tbody th, .wm-table tbody td { display: grid; grid-template-columns: minmax(76px,.7fr) minmax(0,1.3fr); align-items: start; gap: 12px; padding: 8px 0; border: 0; overflow-wrap: anywhere; text-align: left; }
    .wm-table tbody [data-label]::before { content: attr(data-label); color: #536276; font-size: .85rem; font-weight: 500; }
    .wm-table .wm-medal { justify-self: start; }
    .wm-stat-table .wm-austria th { border: 0; }
    .wm-stat-table tr.wm-austria { border-left: 4px solid #005b91; }
    .wm-stat-controls { display: grid; grid-template-columns: 1fr; }
    .wm-stat-controls select { width: 100%; min-width: 0; }
}
