/* Approved compact menu concept; retain member theme and existing actions. */
.home-news-tabs{display:flex;gap:4px;padding:4px;margin-bottom:6px;background:var(--soft);border:1px solid var(--line);border-radius:8px}
.home-news-tabs button{flex:1;min-width:0;min-height:44px;padding:8px 6px;border:0;border-radius:6px;background:transparent;color:var(--ink);font:inherit;font-size:13px;cursor:pointer}
.home-news-tabs button[aria-selected="true"]{background:var(--club);color:var(--clubOn);font-weight:700}
.home-news-tabs button:disabled{opacity:.6;cursor:default}
.home-dashboard{max-width:1480px;margin:auto;display:grid;gap:20px;padding:24px;min-width:0}
.home-overview{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr) minmax(0,1fr);gap:16px;align-items:stretch}
.home-overview .card,.community-recent-posts{margin:0;padding:20px;border:1px solid var(--line);border-radius:12px;background:var(--panel);min-width:0}
.home-overview .panelhead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.home-overview h2{font-size:19px;margin:0 0 16px;line-height:1.4}
.home-overview .panelhead h2{margin:0}
.home-overview-matches{display:grid;gap:16px;min-width:0;align-content:start}
.home-overview .hero-fantasy{width:auto;max-width:none;align-self:stretch}
.home-overview .home-news-row{padding:14px 0;border-bottom:1px solid var(--line)}
.home-overview .football-home-link{min-width:0}
.home-predict-entry{width:100%;min-height:42px;margin-top:12px}
.home-quick-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.home-quick-links .btn{min-width:0;min-height:44px;border-radius:8px;justify-content:center;background:var(--panel);color:var(--ink)}
.community-explorer{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:24px;align-items:start}
.community-explorer .community-map{height:auto;min-height:0;max-height:none;margin:0;overflow:hidden;align-self:center}
.community-explorer .community-map svg{display:block;width:100%;height:280px;max-height:280px;object-fit:contain}
.community-country-panel{min-width:0;display:grid;gap:16px}
.community-country-panel .map-country-buttons{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin:0}
.community-country-panel .map-country-buttons button{min-width:0;min-height:58px;padding:8px 4px;border-radius:8px;border:1px solid var(--line);background:var(--soft);color:var(--ink)}
.community-country-panel .map-country-buttons small{display:none}
.community-country-panel .map-country-buttons button.selected,.community-club-grid button.selected{border-color:var(--clubLight);background:var(--clubSoft,var(--soft))}
.community-inline-teams h2{font-size:18px;margin:0 0 12px}
.community-club-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.community-club-grid button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-width:0;height:84px;padding:8px 4px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink);cursor:pointer}
.community-club-grid button:hover{border-color:var(--clubLight)}
.community-club-grid b{font-size:12px;line-height:1.3;text-align:center;max-width:100%;overflow-wrap:anywhere}
.community-club-grid .cr{width:32px;height:32px;flex:none}
.team-directory{padding:24px!important;margin-bottom:20px!important}
.team-directory>h1{font-size:26px;margin:8px 0}
.team-directory>.sub{margin-bottom:18px;font-size:14px}
.map-source{font-size:11px;margin:14px 0 0;color:var(--mute)}
.settings-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;padding:6px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}
.settings-tabs>.btn,.settings-tabs>button{width:100%;min-width:0;min-height:44px;justify-content:center;border-radius:6px;padding:8px 4px}
.account-page{gap:16px}.account-page .card{border-radius:12px;padding:20px}.account-identity{padding:18px;background:var(--panel)}
[data-fan-account-identity] .account-fan-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:stretch}
[data-fan-account-identity] :is(.fan-identity-card,.fan-favorite-card){min-height:180px;border-radius:12px;padding:18px}
.football-league-sticky{border-radius:12px}.football-league-sticky .football-tabs button{border-radius:6px}
.fan-emblem{display:inline-flex;align-items:center;justify-content:center;isolation:isolate}
.fan-emblem-viewport{display:block;width:100%;height:100%;overflow:hidden;flex:none}
.fan-emblem-viewport image{image-rendering:auto}
.brand svg,.launch-mark{shape-rendering:geometricPrecision}
@media(max-width:1100px){.community-club-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.home-overview{gap:12px}.home-overview .card{padding:16px}}
@media(max-width:900px){.home-overview{grid-template-columns:minmax(0,1fr)}.home-overview-matches{grid-row:1;grid-template-columns:repeat(2,minmax(0,1fr))}.home-overview .hero-fantasy{width:100%}.community-explorer{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:16px}.community-club-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:600px){.home-dashboard{padding:16px 12px;gap:16px}.home-overview-matches{grid-template-columns:minmax(0,1fr)}.home-quick-links{gap:5px}.home-quick-links .btn{font-size:12px;padding:8px 3px}.community-explorer{grid-template-columns:minmax(0,1fr)}.community-explorer .community-map svg{height:210px;max-height:210px}.community-club-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.community-country-panel .map-country-buttons b{font-size:12px}.team-directory{padding:16px!important}.settings-tabs>.btn,.settings-tabs>button{font-size:11px;padding:8px 2px}[data-fan-account-identity] .account-fan-grid{grid-template-columns:minmax(0,1fr)}[data-fan-account-identity] :is(.fan-identity-card,.fan-favorite-card){min-height:180px}}

/* Prevent the legacy last-country full-row rule at mobile widths. */
.community-country-panel .map-country-buttons button:last-child{grid-column:auto}
.community-country-panel .map-country-buttons button{width:100%;height:58px;box-sizing:border-box;transform:none}

/* Club heading spans the board: keep the browse action at the far edge. */
#app[data-page="home"] .clubhero{display:flex;width:100%;max-width:none;box-sizing:border-box;align-self:stretch;justify-self:stretch;align-items:center;justify-content:space-between;gap:12px}
#app[data-page="home"] .clubhero .clubrow{min-width:0;flex:1}
#app[data-page="home"] .clubhero>.btn[data-act="browse"]{margin-left:auto;flex:0 0 auto;max-width:none;white-space:nowrap}
@media(max-width:380px){#app[data-page="home"] .clubhero>.btn[data-act="browse"]{padding:8px;font-size:12px}}

/* Match on the left; winner and MOM choices stacked on the right. */
[data-fan-fantasy] .fantasy-fixture{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"time time" "pair winner" "pair mom";gap:10px 16px;align-items:center}
[data-fan-fantasy] .fantasy-fixture-time{grid-area:time;display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}
[data-fan-fantasy] .fantasy-fixture-pair{grid-area:pair;min-width:0}
[data-fan-fantasy] .fantasy-fixture .fan-quick-picks{grid-area:winner;min-width:0;margin:0}
[data-fan-fantasy] .fantasy-fixture .fantasy-mom-choice{grid-area:mom;min-width:0;margin:0}
[data-fan-fantasy] .fantasy-fixture :is(.fan-quick-picks button,.fantasy-mom-choice button){height:44px;min-height:44px}
@media(max-width:600px){[data-fan-fantasy] .fantasy-fixture{gap:8px 10px}[data-fan-fantasy] .fantasy-fixture-pair{grid-template-columns:minmax(0,1fr);gap:6px}[data-fan-fantasy] .fantasy-fixture-pair .fan-team-mark{justify-content:center}[data-fan-fantasy] .fantasy-fixture-pair .fan-team-mark b{font-size:13px}[data-fan-fantasy] .fantasy-fixture-pair .cr{width:26px;height:26px}[data-fan-fantasy] .fantasy-fixture .fan-quick-picks{gap:4px}[data-fan-fantasy] .fantasy-fixture .fan-quick-picks button{font-size:12px;padding:4px 1px}}

.fan-ranking-options{margin:10px 0;color:var(--mute);font-size:14px}.fan-ranking-options summary{cursor:pointer;padding:8px 0}.fan-ranking-options[open]{padding-bottom:8px}

/* Both saved match summaries remain visible, including mobile layouts. */
.home-overview-matches>.upcoming{display:block;order:0}
.home-overview-matches>.live-widget{order:1}
.home-overview-matches>.card{box-sizing:border-box;width:100%;height:100%}
.home-overview-matches .football-home-link{box-sizing:border-box;height:100%;display:flex;flex-direction:column;gap:12px}
.home-overview-matches .football-info-link{margin-top:auto;padding-top:12px}
@media(max-width:900px){.home-overview-matches{grid-template-columns:minmax(0,1fr);grid-auto-rows:auto;align-content:start}}

/* Date, teams and result form one distinct card for each fixture. */
.football-center .football-round .football-day{padding:16px;gap:16px;background:var(--field)}
.football-center .football-round .football-fixture-row{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--panel);box-shadow:0 3px 10px #0002}
.football-center .football-round .football-fixture-row .football-match{border:0;border-radius:0;background:var(--panel)}
.football-center .football-round .football-fixture-row:hover{border-color:var(--clubLight)}
.football-center .football-round .football-fixture-row .football-match:hover{background:var(--soft)}
.football-center .football-round .football-fixture-row:focus-within{outline:2px solid var(--clubLight);outline-offset:2px}
@media(max-width:700px){.football-center .football-round .football-day{padding:12px;gap:14px}}

/* Responsive menus: reserve room for words rather than splitting characters. */
#football-match-menu .football-tabs,.football-league-sticky .football-tabs{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
#football-match-menu .football-tabs button,.football-league-sticky .football-tabs button{font-size:14px;min-height:48px;padding:8px 6px;line-height:1.35;white-space:normal;word-break:normal;overflow-wrap:normal;overflow:visible;height:auto}
.football-league-sticky .football-tabs .league-menu-full{display:inline;font-size:14px}
.football-league-sticky .football-tabs .league-menu-short{display:none}
#view .tabs.release-board-tabs{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px;padding:6px;overflow:visible!important}
#view .tabs.release-board-tabs>.tab,#view .tabs.release-board-tabs>[data-team-news-entry]{width:100%;min-width:0;height:auto;min-height:46px;padding:8px 6px!important;font-size:14px!important;letter-spacing:normal;white-space:normal!important;word-break:normal;overflow-wrap:normal;line-height:1.35;text-align:center;display:flex;align-items:center;justify-content:center}
[data-fan-fantasy] .fantasy-fixture .fan-quick-picks>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}
[data-fan-fantasy] .fantasy-fixture .fan-quick-picks button{min-width:0;font-size:14px;padding:6px 2px;white-space:nowrap}
@media(min-width:1100px){#football-match-menu .football-tabs,.football-league-sticky .football-tabs{grid-template-columns:repeat(8,minmax(0,1fr))}}
@media(max-width:760px){.nav{grid-template-columns:repeat(5,minmax(0,1fr));height:auto;min-height:70px;align-items:stretch}.nav button{min-width:0;width:100%;height:auto;min-height:60px;padding:6px 2px;font-size:12px;line-height:1.25;white-space:normal;word-break:normal;overflow-wrap:normal;text-align:center;justify-content:flex-start}.nav button .ico{flex-shrink:0}.nav button span:not(.ico){max-width:100%;white-space:normal}}
@media(max-width:360px){#football-match-menu .football-tabs,.football-league-sticky .football-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}[data-fan-fantasy] .fantasy-fixture{grid-template-columns:minmax(0,1fr);grid-template-areas:"time" "pair" "winner" "mom"}.nav button{font-size:12px}}

#view .tabs.release-board-tabs{grid-auto-flow:row}
/* Give post titles two lines and their own full-width row. */
@media(max-width:760px){
#view .release-post-list .release-post,#view .release-post-list .release-post.has-news-team,#view .news-feed .news-item{grid-template-columns:44px auto minmax(0,1fr)!important;grid-template-areas:"thumbnail category team" "thumbnail title title"!important;gap:6px 8px;min-height:80px;padding:10px!important}
#view .release-post-list .release-title{display:-webkit-box!important;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;white-space:normal!important;overflow:hidden!important;text-overflow:ellipsis;line-height:1.45;font-size:14px!important;max-height:none;min-width:0}
#view .release-post-list .release-thumbnail{width:44px!important;height:62px!important}
}

@media(max-width:760px){.mobile-nav{align-items:stretch}.mobile-nav button{min-width:0;padding:6px 2px;gap:4px;min-height:68px;justify-content:flex-start}.mobile-nav button span{display:block;max-width:100%;font-size:12px;line-height:1.3;white-space:normal;word-break:normal;overflow-wrap:normal;text-align:center}.mobile-nav button svg{flex-shrink:0}}

/* Match summaries need the full card width, including on larger phones. */
.home-overview-matches{grid-template-columns:minmax(0,1fr);grid-auto-rows:auto}
.home-overview-matches>.card,.home-overview-matches .football-home-link{height:auto}
.home-overview-matches .football-compact-match{margin:0;padding:12px 0;gap:12px}
.home-overview-matches .football-pair{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:8px;align-items:center;width:100%;min-width:0}
.home-overview-matches .football-pair .football-club,.home-overview-matches .football-pair .football-club:first-child{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;min-width:0;width:100%}
.home-overview-matches .football-club-copy{display:block;width:100%;min-width:0}
.home-overview-matches .football-club b{display:block;white-space:normal;word-break:normal;overflow-wrap:normal;hyphens:none;font-size:14px;line-height:1.4;max-width:100%}
.home-overview-matches .football-club .cr{flex:none;width:32px;height:32px}
.home-overview-matches .football-score{font-size:24px;white-space:nowrap;line-height:1.2}
.home-overview-matches .football-clocks{display:grid;gap:6px;justify-items:start;width:100%;min-width:0}
.home-overview-matches .football-clock{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;font-size:13px;line-height:1.4}
.home-overview-matches .football-clock time{white-space:nowrap}
.home-overview-matches .football-clock b{font-size:14px}
@media(max-width:900px){.home-overview-matches>.card{padding:16px}.home-overview-matches .football-widget-heading h3{margin:0;font-size:18px;line-height:1.4}.home-overview-matches .football-home-link{gap:12px}.home-overview-matches .football-club b{font-size:16px}}

/* Settings controls fill the row equally, matching the actual menu count. */
:root .settings-page nav.settings-tabs{grid-template-columns:none!important;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);width:100%;max-width:none!important;box-sizing:border-box}
:root .settings-page nav.settings-tabs>button.chip{width:100%;min-width:0;height:48px;min-height:48px;display:flex;align-items:center;justify-content:center;white-space:nowrap;font-size:14px;padding:8px 4px}
@media(max-width:480px){:root .settings-page nav.settings-tabs>button.chip{font-size:clamp(11px,3.1vw,14px);padding-inline:2px}}

/* Wide web board navigation; compact screens retain two rows. */
@media(min-width:761px){#view .tabs.release-board-tabs{grid-template-columns:repeat(6,minmax(0,1fr))!important}#view .tabs.release-board-tabs>.tab,#view .tabs.release-board-tabs>[data-team-news-entry]{white-space:nowrap!important}}
