/* Shared navigation and competition pages. */
/* Unclassified editorial text links use the same colour before and after visiting. */
:where(.belgium-page) a:where(:not([class])) { color: #24638e; font-weight: 700; text-underline-offset: 3px; }
:where(.belgium-page) a:where(:not([class])):hover { color: #173f64; }
[hidden] { display: none !important; }
.be-site-extras { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.be-reader-entry { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; padding: 16px 20px; background: #fff; border: 1px solid #dce3eb; border-left: 4px solid #b08032; }
.be-reader-entry p { margin: 5px 0 0; color: #58697c; font-size: 13px; }
.be-reader-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.be-reader-actions a, .be-reader-actions a:visited { padding: 10px 14px; border: 1px solid #becdd8; border-radius: 5px; color: #173f64; text-decoration: none; font-weight: 700; font-size: 13px; }
.be-reader-actions a:last-child { background: #f7efdd; border-color: #c4a769; color: #604c21; }
.be-site-nav { display: flex; align-items: center; flex-wrap: wrap; gap: 14px 24px; padding: 16px 20px; background: #fff; border-top: 4px solid #cf2838; border-bottom: 1px solid #dce3eb; color: #18344e; margin-bottom: 18px; }
.be-site-brand { color: #173653; text-decoration: none; font-size: 14px; white-space: nowrap; }
.be-site-links { display: flex; gap: 4px; flex-wrap: wrap; flex: 1; }
.be-site-links a, .be-tabs a { padding: 9px 12px; text-decoration: none; color: #344c61; font-size: 14px; font-weight: 700; border-radius: 5px; }
.be-site-links a[aria-current], .be-tabs a[aria-current] { background: #173f64; color: #fff; }
.be-site-links a:hover, .be-tabs a:hover { background: #e8eff5; color: #153c5d; }
.be-other-sport { font-size: 13px; color: #536478; }
.be-site-nav a:focus-visible, .be-tabs a:focus-visible, .be-game:focus-visible, .be-club-card:focus-visible, .be-category a:focus-visible { outline: 3px solid #267db7; outline-offset: 3px; }
.be-heading { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin: 24px 0; }
.be-heading h1 { margin: 5px 0 8px; font-size: clamp(26px, 3vw, 36px); line-height: 1.15; color: #17344e; }
.be-heading p, .be-muted { color: #58697c; font-size: 14px; line-height: 1.55; }
.be-tabs { display: flex; gap: 5px; flex-wrap: wrap; background: #fff; padding: 10px; border: 1px solid #dce3eb; margin-bottom: 18px; }
.be-filter-panel { padding: 18px; background: #eaf0f6; border: 1px solid #d4deea; margin-bottom: 18px; }
.be-filter-grid { display: grid; grid-template-columns: 1.4fr 1.3fr 1fr 1fr; gap: 14px; }
.be-filter-grid label { display: grid; gap: 6px; font-size: 13px; font-weight: 700; color: #34495f; min-width: 0; }
.be-filter-grid select, .be-filter-grid input { box-sizing: border-box; width: 100%; min-width: 0; min-height: 42px; padding: 9px; border: 1px solid #bbc9d6; border-radius: 4px; background: #fff; color: #152c43; font: inherit; }
.be-filter-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.be-filter-actions button, .be-fixture-switch button { background: #fff; color: #204f74; border: 1px solid #b9cbd8; padding: 9px 12px; border-radius: 5px; cursor: pointer; font: inherit; font-size: 13px; font-weight: 700; }
.be-filter-actions button:disabled { opacity: .5; cursor: default; }
.be-content, .be-home-flow { display: grid; gap: 20px; }
.be-content .be-panel, .be-home-flow > .be-panel { padding: 20px; background: #fff; border: 1px solid #dce3eb; border-radius: 6px; min-width: 0; }
.be-content h2, .be-home-flow h2 { font-size: 22px; margin: 0 0 14px; color: #17344e; }
.be-content h3 { font-size: 17px; margin: 24px 0 10px; }
.be-section-title { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 8px; margin-bottom: 10px; }
.be-section-title h2 { margin: 0; }
.be-section-title a { color: #23628d; font-size: 13px; font-weight: 700; }
.be-overview-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 20px; align-items: start; }
.be-game { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 5px 12px; border-bottom: 1px solid #e3e9ef; padding: 13px 8px; text-decoration: none; color: #193047; }
.be-game:hover { background: #f0f5fa; }
.be-game time { grid-column: 1 / -1; color: #5a6b7d; font-size: 12px; }
.be-game strong { display: block; font-size: 14px; line-height: 1.4; }
.be-game small { display: block; color: #657486; margin-top: 4px; font-size: 12px; }
.be-game b { color: #163c5b; font-size: 14px; text-align: right; align-self: center; }
.be-game.is-focus, .be-club-card.is-focus, .be-full-table .is-focus { background: #ecf6f2; }
.be-game.is-live { border-left: 3px solid #16805f; background: #edf9f3; }
.be-empty { padding: 16px 0; color: #667588; font-size: 14px; }
.be-notice { border-left: 3px solid #bf8830; padding: 12px; background: #fff8e9; font-size: 14px; }
.be-focus-strip { display: grid; grid-template-columns: 1fr auto; gap: 6px 20px; background: #ecf6f2; border: 1px solid #b3d9c9; border-left: 4px solid #207b60; padding: 18px 20px; color: #193f36; }
.be-focus-strip > strong { font-size: 18px; }
.be-focus-strip > span { grid-column: 1; font-size: 14px; line-height: 1.5; }
.be-focus-strip > a { grid-column: 2; grid-row: 1 / 4; align-self: center; color: #17604b; font-size: 14px; font-weight: 700; }
.be-table-scroll { max-width: 100%; overflow-x: auto; }
.be-full-table { width: 100%; border-collapse: collapse; text-align: right; font-size: 14px; }
.be-full-table th, .be-full-table td { padding: 12px 10px; border-bottom: 1px solid #e3e9ef; white-space: nowrap; }
.be-full-table thead th { background: #eff3f7; color: #4f6274; font-size: 12px; }
.be-full-table th:nth-child(2), .be-full-table tbody th { text-align: left; }
.be-full-table tbody th a { display: flex; align-items: center; gap: 10px; color: #163c5b; text-decoration: none; }
.be-full-table tbody th a:hover { text-decoration: underline; }
.be-full-table img { width: 23px; height: 23px; object-fit: contain; }
.be-club-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.be-club-card { display: grid; grid-template-columns: 42px 1fr; gap: 8px 12px; border: 1px solid #d7e2eb; border-radius: 5px; padding: 16px; color: #183c5c; text-decoration: none; }
.be-club-card:hover { border-color: #5585a8; }
.be-club-card img { width: 38px; height: 38px; object-fit: contain; grid-row: 1 / 3; }
.be-club-card strong { align-self: center; font-size: 15px; }
.be-club-card span, .be-club-card small { grid-column: 1 / -1; font-size: 12px; line-height: 1.5; color: #5c6f7e; }
.be-stat-list { list-style: none; padding: 0; margin: 0; }
.be-stat-list li { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 12px 0; border-bottom: 1px solid #e3e9ef; }
.be-stat-list a { color: #163c5b; text-decoration: none; }
.be-stat-list small { display: block; color: #657486; margin-top: 4px; }
.be-facts-text { white-space: pre-wrap; overflow-wrap: anywhere; background: #f6f8fa; padding: 18px; font-size: 13px; line-height: 1.65; }
.be-categories { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.be-category { min-width: 0; padding: 20px; background: #fff; border: 1px solid #dce3eb; border-top: 4px solid #256692; }
.be-category:nth-child(2) { border-top-color: #238266; }
.be-category:nth-child(3) { border-top-color: #b08032; }
.be-category h2 a { color: #17344e; text-decoration: none; }
.be-category > p { color: #637285; min-height: 42px; font-size: 13px; line-height: 1.5; }
.be-category-links { display: flex; flex-wrap: wrap; gap: 8px 14px; border-top: 1px solid #e1e7ee; padding-top: 12px; }
.be-category-links a, .be-series-links a { font-size: 13px; color: #24638e; font-weight: 700; }
.be-series-links { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 16px; }
.be-home-summaries { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.be-home-summaries h3 { margin: 10px 0; font-size: 16px; }
.be-fixture-switch { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 14px; }
.be-fixture-switch a { padding: 9px 12px; border-radius: 5px; color: #204f74; background: #edf3f7; text-decoration: none; font-size: 14px; }
.be-fixture-switch a[aria-current] { color: #fff; background: #204f74; }
.be-quick-sections { margin-top: 14px; }
.belgium-page .wm-hero:has(.be-site-nav) { padding: 0 20px 22px; min-height: 0; }
.belgium-page .wm-hero .be-site-nav { margin: 0 -20px 22px; }
.belgium-page .wm-hero:has(.be-site-nav) h1 { font-size: clamp(26px, 3vw, 34px); }
@media (max-width: 980px) {
    .be-site-brand { flex-basis: 100%; }
    .be-overview-grid { grid-template-columns: 1fr; }
    .be-club-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .be-filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 650px) {
    .be-site-nav { padding: 12px; gap: 8px; }
    .be-site-brand { flex-basis: auto; }
    .be-other-sport { margin-left: auto; }
    .be-site-links { flex-basis: 100%; gap: 2px; order: 3; }
    .be-site-links a, .be-tabs a { padding: 10px 8px; font-size: 13px; }
    .be-categories, .be-home-summaries, .be-club-grid { grid-template-columns: 1fr; }
    .be-category { padding: 16px; }
    .be-category > p { min-height: 0; }
    .be-heading { align-items: flex-start; flex-direction: column; margin: 12px 0; gap: 8px; }
    .be-heading .wm-eyebrow, #league-eupen-link { display: none; }
    .be-heading p { margin: 8px 0; }
    .be-tabs { padding: 6px; gap: 2px; }
    .be-filter-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .be-filter-actions button { padding: 8px 5px; font-size: 12px; }
    .be-focus-strip { grid-template-columns: 1fr; padding: 15px; }
    .be-focus-strip > a { grid-column: 1; grid-row: auto; margin-top: 8px; }
    .be-content .be-panel, .be-home-flow > .be-panel { padding: 14px; }
    .be-game { gap: 6px; padding: 12px 4px; }
    .be-game > span { grid-column: 1 / -1; grid-row: 2; }
    .be-game time { grid-column: 1; grid-row: 1; font-size: 11px; }
    .be-game > b { grid-column: 2; grid-row: 1; font-size: 12px; }
    .be-full-table th, .be-full-table td { padding: 10px 8px; }
    .be-full-table { font-size: 13px; }
    .be-full-table th:last-child, .be-full-table td:last-child { position: sticky; right: 0; background: #fff; box-shadow: -2px 0 3px #dce3eb; }
    .be-full-table thead th:last-child { background: #eff3f7; }
    .be-full-table .is-focus td:last-child { background: #ecf6f2; }
}
@media print {
    .be-site-nav, .be-tabs, .be-filter-panel, .be-filter-actions, .wm-breadcrumb, .be-other-sport { display: none !important; }
    .be-content .be-panel { border: 0; padding: 0; }
    .be-facts-text { background: #fff; padding: 0; font-size: 10pt; }
    .be-table-scroll { overflow: visible; }
    .be-league-page[data-league-tab="facts"] .be-heading,
    .be-league-page[data-league-tab="facts"] #league-errors,
    .be-league-page[data-league-tab="facts"] #league-content h2,
    .be-league-page[data-league-tab="facts"] #league-content .be-muted,
    .be-league-page[data-league-tab="facts"] #facts-status { display: none; }
}

/* Editorial regional overview: keep controls below the complete heading. */
.regional-editorial-page .regional-page-flow { margin-top: 18px; }
.regional-editorial-page .regional-control-panel { margin-top: 0; }
.regional-editorial-page .regional-editorial-heading h1 { margin: 0 0 6px; }
.regional-editorial-page .regional-editorial-heading .regional-series-heading {
    font-size: 19px;
    font-weight: 750;
    margin: 0 0 10px;
}
.regional-editorial-page #regional-status { font-size: 13px; margin: 0; overflow-wrap: anywhere; }
.regional-editorial-page .regional-history-control { display: grid; gap: 6px; font-size: 13px; color: #475569; }
.regional-editorial-page .regional-history-control select {
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    background: white;
    color: #102033;
    padding: 10px;
    font: inherit;
    max-width: 100%;
}
.regional-editorial-page .regional-recent-section { border-top: 3px solid #168578; }
.regional-editorial-page #regional-recent-matches { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.regional-editorial-page .regional-match-card > div { min-width: 0; }
.regional-editorial-page .regional-match-card strong,
.regional-editorial-page .regional-match-card span { white-space: normal; overflow-wrap: anywhere; }
.regional-editorial-page .regional-match-card b { white-space: normal; max-width: 110px; }
@media (max-width: 800px) {
    .regional-editorial-page #regional-recent-matches { grid-template-columns: 1fr; }
    .regional-editorial-page .regional-match-card { grid-template-columns: 65px minmax(0, 1fr) auto; gap: 8px; padding: 10px; }
    .regional-editorial-page .regional-match-card b { max-width: 76px; padding: 6px; font-size: 13px; }
}
.regional-editorial-page .regional-page-flow,
.regional-editorial-page .regional-page-flow > *,
.regional-editorial-page .regional-week-grid > *,
.regional-editorial-page .regional-toolbar > * { min-width: 0; }
.regional-editorial-page .regional-toolbar input,
.regional-editorial-page .regional-toolbar select,
.regional-editorial-page .regional-teams { box-sizing: border-box; }
@media (max-width: 800px) {
    .regional-editorial-page .wm-section-head { align-items: flex-start; flex-direction: column; gap: 14px; }
    .regional-editorial-page .regional-head-actions { justify-content: flex-start; }
    .regional-editorial-page .regional-table-head,
    .regional-editorial-page .regional-table-row { grid-template-columns: 34px minmax(190px, 1fr) repeat(7, 48px); }
}
.schedule-editor { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.schedule-editor label { display: grid; gap: 6px; font-weight: 600; min-width: 0; }
.schedule-editor input, .schedule-editor select, .be-filter-actions select { max-width: 100%; min-width: 0; padding: 9px; border: 1px solid #cbd5e1; border-radius: 6px; background: white; font: inherit; }
.schedule-wide { grid-column: 1 / -1; }
.schedule-entry { border-bottom: 1px solid #cbd5e1; padding: 16px 0; overflow-wrap: anywhere; }
.schedule-detail-section { border-top: 1px solid #cbd5e1; margin-top: 20px; padding-top: 16px; }
.schedule-detail-row { padding: 14px; margin: 12px 0; background: #edf3f7; border-radius: 6px; }
.schedule-detail-row button { margin-top: 10px; }
.schedule-editor textarea { width: 100%; min-height: 90px; box-sizing: border-box; padding: 9px; border: 1px solid #cbd5e1; border-radius: 6px; font: inherit; }
.schedule-roster { background: #edf3f7; border-radius: 8px; padding: 14px; margin: 16px 0; }
.schedule-roster-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 10px; }
.schedule-roster-player { background: white; border: 1px solid #cbd5e1; border-radius: 6px; padding: 10px; min-width: 0; }
.schedule-roster-player.is-selected { border-color: #15806b; background: #f2faf7; }
.schedule-roster-player strong { display: block; overflow-wrap: anywhere; }
.schedule-roster-player small { display: block; margin: 4px 0 8px; color: #526379; }
.schedule-roster-player button { margin: 2px 6px 2px 0; }
.schedule-roster-player button, .schedule-player-actions button, .schedule-name-buttons button { font: inherit; padding: 6px 10px; min-height: 36px; border: 1px solid #bacbd8; border-radius: 5px; background: white; color: #17364c; cursor: pointer; }
.schedule-roster-player button:disabled { cursor: default; color: #8793a0; }
.schedule-roster-player button[aria-pressed="true"] { color: #11614e; background: #d7eee5; opacity: 1; }
.schedule-player-row { padding: 10px 12px; margin: 8px 0; border: 1px solid #cbd5e1; border-radius: 6px; }
.schedule-player-edit summary { cursor: pointer; font-weight: 600; overflow-wrap: anywhere; }
.schedule-player-edit summary span { font-weight: 400; color: #526379; margin-left: 8px; }
.schedule-player-edit[open] > .schedule-editor { margin-top: 12px; }
.schedule-player-actions { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.schedule-player-picker { margin-top: 8px; }
.schedule-player-picker summary { cursor: pointer; color: #0a477f; font-weight: 600; }
.schedule-name-buttons { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.schedule-name-buttons button { text-align: left; max-width: 100%; overflow-wrap: anywhere; }
.schedule-name-buttons span { color: #526379; }
@media (max-width: 600px) { .schedule-editor { grid-template-columns: 1fr; } }

.cup-filters label { display: grid; gap: 6px; min-width: 0; }
.cup-filters button { align-self: end; }
@media (max-width: 600px) { .cup-filters .cup-round-filter { grid-column: 1 / -1; } .cup-filters select { width: 100%; } }

/* Live editorial input: keep the match and save feedback within reach. */
.schedule-live { border: 2px solid var(--be-border, #b9c7d4); border-radius: 12px; padding: 16px; }
.schedule-live h2 { font-size: 1.25rem; }
.schedule-savebar { position: sticky; top: 0; z-index: 10; display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 12px; background: #eef4f8; color: #162c40; border-bottom: 2px solid #bccbd8; }
.schedule-live-actions { display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0; }
.schedule-live button, .schedule-roster button { min-height: 44px; }
.schedule-live-actions button { font-weight: 700; min-width: 90px; }
.schedule-live button[aria-pressed="true"] { background: #154b70; color: white; }
.schedule-composer { background: #f1f5f8; color: #162c40; padding: 14px; border-radius: 8px; }
.schedule-event-players { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px; }
.schedule-timeline { padding: 0; list-style: none; }
.schedule-timeline li { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; padding: 10px 0; border-bottom: 1px solid #c6d1da; }
.schedule-timeline li span { flex: 1; min-width: 200px; }
.schedule-roster-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 6px; }
.schedule-roster-player { padding: 8px; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 4px; }
.schedule-roster-player small { display: none; }
.schedule-roster-player[hidden] { display: none; }
#fixture-editor > details > summary, #editor-details > details > summary { padding: 14px 0; font-weight: 700; cursor: pointer; }
@media(max-width:600px) { .schedule-event-players,.schedule-roster-grid { grid-template-columns:1fr; } .schedule-savebar { gap: 6px; } .schedule-live { padding: 8px; } .schedule-name-buttons { max-height: 220px; overflow-y: auto; } .schedule-roster-player { grid-template-columns: 1fr; } }

/* Show known base positions beside the compact roster, with editable match roles below. */
.schedule-roster-player > strong, .schedule-roster-player > small { grid-column: 1; }
.schedule-roster-player > small { display: block; margin: 0; }
.schedule-roster-player > div { grid-column: 2; grid-row: 1 / span 2; }
@media(max-width:600px) { .schedule-roster-player > div { grid-column: 1; grid-row: auto; } }

.schedule-opponent-import { padding: 12px; border: 1px solid #cbd5e1; border-radius: 8px; margin: 12px 0; }
.schedule-opponent-import label { display: block; margin: 10px 0; }
.schedule-opponent-import input[type="url"] { width: 100%; box-sizing: border-box; padding: 10px; font: inherit; }
.schedule-opponent-import button { min-height: 44px; }
.schedule-import-preview ul { max-height: 280px; overflow-y: auto; padding-left: 22px; }

/* Club selection must not cover the complete heading and source information. */
.regional-club-page .regional-club-switcher-section { margin-top: 18px; }

.eupen-attendance { display: grid; gap: .5rem; }
.eupen-attendance strong { font-size: 1.8rem; }
.eupen-news-links { padding-left: 1.2rem; margin: .8rem 0; }
.eupen-news-links li { margin-bottom: .8rem; line-height: 1.5; overflow-wrap: anywhere; }

#eupen-stats .eupen-attendance small { color:#64748b; font-size:12px; font-weight:720; }
@media (min-width:981px) { #eupen-stats { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (min-width:1280px) { #eupen-stats { grid-template-columns:repeat(6,minmax(0,1fr)); } }
