/* R7: editorial home, readable articles, and the shared four-column footer.
   Match panels, live scripts, analytics and other page templates keep R13 CSS. */
.r7-home { --bg:#081713; --surface:#10231c; --line:#294037; --ink:#f3f5ef; --muted:#a8b9b0; --green:#84dba5; --gold:#e5c584; font-family:"Noto Sans CJK SC","PingFang SC","Microsoft YaHei",sans-serif; }
.r7-home .site-main.shell { width:min(1280px,calc(100% - 80px)); padding-block:27px 36px; }
.r7-home .site-header { background:#081713f5; backdrop-filter:none; }
.r7-home .header-row,.r7-article .header-row { min-height:90px; }
.r7-home .tf-brand-wordmark { width:184px; }
.r7-home-intro { display:flex; justify-content:space-between; align-items:end; gap:24px; margin-bottom:22px; }
.r7-home-intro h1 { font-size:24px; line-height:1.4; font-weight:700; letter-spacing:0; margin:0 0 5px; }
.r7-home-intro p { color:var(--muted); font-size:12px; margin:0; }
.r7-home-intro nav { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:20px; font-size:12px; color:var(--muted); }
.r7-home :is(h1,h2,h3),.r7-other-leagues p,.r7-match-teams>span { overflow-wrap:anywhere; }
.r7-editorial-grid { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(0,1fr); gap:30px; }
.r7-editorial-solo { grid-template-columns:1fr; }
.r7-lead { position:relative; min-height:418px; min-width:0; overflow:hidden; background:#20342a; }
.r7-lead-photo { position:absolute; inset:0; display:block; }
.r7-lead-photo img { width:100%; height:100%; object-fit:cover; object-position:50% 35%; display:block; }
.r7-lead:after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(180deg,transparent 25%,#07130d77 52%,#07130dfc 100%); }
.r7-lead-copy { position:absolute; z-index:1; left:28px; right:28px; bottom:25px; }
.r7-lead-no-image .r7-lead-copy { position:relative; inset:auto; padding:44px 28px; }
.r7-eyebrow { color:var(--gold); font-size:11px; letter-spacing:.08em; font-weight:600; }
.r7-lead-copy h2 { font-size:30px; line-height:1.45; margin:9px 0 11px; letter-spacing:-.025em; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden; }
.r7-lead-copy p { font-size:12px; line-height:1.8; color:#d7e0d9; margin:0; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }
.r7-lead-copy time { display:block; color:#c1d0c5; font-size:10px; margin-top:13px; }
.r7-headlines { min-width:0; }
.r7-headlines>header { display:flex; justify-content:space-between; align-items:center; gap:15px; border-bottom:2px solid var(--green); padding-bottom:11px; }
.r7-headlines>header h2 { font-size:17px; margin:0; letter-spacing:0; }
.r7-headlines>header>a { color:var(--muted); font-size:11px; white-space:nowrap; }
.r7-headline-row { display:grid; grid-template-columns:minmax(0,1fr) 102px; gap:18px; align-items:center; padding:15px 0; border-bottom:1px solid var(--line); }
.r7-headline-row:last-child { border-bottom:0; }
.r7-headline-no-image { grid-template-columns:1fr; }
.r7-headline-row>div { min-width:0; }
.r7-headline-photo { display:block; }
.r7-headline-photo img { display:block; width:102px; height:68px; object-fit:cover; }
.r7-news-category { color:var(--green); font-size:10px; letter-spacing:.04em; }
.r7-headline-row h3 { font-size:15px; line-height:1.6; margin:3px 0 4px; font-weight:650; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden; }
.r7-headline-row time { color:#91a89b; font-size:10px; }
.r7-matchbar { display:grid; grid-template-columns:160px repeat(3,minmax(0,1fr)); border-block:1px solid var(--line); margin-top:26px; background:#0c1d17; }
.r7-matchbar-heading { padding:17px 18px; border-right:1px solid var(--line); }
.r7-matchbar-heading strong { display:block; color:var(--green); font-size:15px; }
.r7-matchbar-heading span { display:block; color:var(--muted); font-size:10px; margin-top:3px; }
.r7-matchbar-item { min-width:0; padding:16px 23px; border-right:1px solid var(--line); }
.r7-matchbar-item:last-child { border-right:0; }
.r7-match-meta { display:flex; justify-content:space-between; gap:8px; color:#92ac9c; font-size:10px; margin-bottom:8px; }
.r7-match-meta time { color:inherit; }
.r7-match-meta>span:last-child { white-space:nowrap; }
.r7-match-teams { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center; gap:10px; font-size:15px; font-weight:600; }
.r7-match-teams>span:last-child { text-align:right; }
.r7-match-teams strong { color:var(--gold); font-size:12px; white-space:nowrap; }
.r7-matchbar .empty { grid-column:2/-1; padding:20px; margin:0; font-size:12px; }
.r7-home-section { margin-top:32px; }
.r7-section-heading { display:flex; align-items:center; justify-content:space-between; gap:18px; border-top:2px solid var(--green); padding:14px 0 17px; }
.r7-section-heading h2 { font-size:22px; font-weight:650; margin:0; letter-spacing:0; }
.r7-section-heading>a,.r7-section-heading>span { color:var(--muted); font-size:11px; white-space:nowrap; }
.r7-feature-league { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(0,1fr); gap:36px; }
.r7-league-lead { display:grid; grid-template-columns:minmax(180px,.85fr) minmax(0,1fr); gap:25px; }
.r7-league-lead>div { min-width:0; }
.r7-league-photo { display:block; }
.r7-league-photo img { width:100%; height:178px; object-fit:cover; display:block; }
.r7-league-lead h3 { font-size:21px; line-height:1.55; margin:0 0 11px; font-weight:650; }
.r7-league-lead p { color:var(--muted); font-size:12px; line-height:1.8; margin:0 0 9px; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden; }
.r7-league-lead time,.r7-league-briefs time { font-size:10px; color:#91a89b; }
.r7-league-no-image { grid-template-columns:1fr; }
.r7-league-briefs { display:grid; align-content:start; gap:19px; }
.r7-league-briefs article { padding-left:15px; border-left:2px solid #4d6958; }
.r7-league-briefs h3 { font-size:15px; line-height:1.65; margin:0 0 7px; font-weight:600; }
.r7-europe-band { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) minmax(0,1fr); gap:28px; background:#122b20; margin-top:32px; padding:25px 30px; }
.r7-europe-band>div { padding-right:23px; border-right:1px solid #355140; min-width:0; }
.r7-europe-band>div:last-child { padding-right:0; border:0; }
.r7-europe-band h2 { font-size:22px; margin:3px 0 8px; letter-spacing:0; }
.r7-europe-band p { color:#acbdaf; font-size:12px; margin:0; }
.r7-europe-label { font-size:10px; color:#a1b8a8; }
.r7-europe-band h3 { font-size:15px; line-height:1.7; font-weight:600; margin:5px 0 12px; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden; }
.r7-europe-band nav { display:flex; flex-wrap:wrap; gap:16px; font-size:11px; color:var(--green); }
.r7-feed-layout { display:grid; grid-template-columns:minmax(0,1.8fr) minmax(0,1fr); gap:38px; margin-top:34px; align-items:start; }
.r7-news-feed,.r7-home-ranking { min-width:0; }
.r7-news-feed ul { list-style:none; margin:0; padding:0; }
.r7-news-feed li { display:grid; grid-template-columns:minmax(54px,75px) minmax(0,1fr) 84px; gap:15px; align-items:start; padding:14px 0; border-bottom:1px solid var(--line); }
.r7-feed-category { color:var(--green); font-size:11px; line-height:1.8; padding-top:2px; }
.r7-news-feed h3 { margin:0; font-size:15px; line-height:1.7; font-weight:600; overflow-wrap:anywhere; }
.r7-news-feed time { color:#91a89b; font-size:10px; padding-top:3px; text-align:right; white-space:nowrap; }
.r7-news-feed li.r7-feed-empty { display:block; color:var(--muted); font-size:13px; }
.r7-home-ranking .r7-section-heading h2 { font-size:19px; }
.r7-home-ranking table { width:100%; border-collapse:collapse; }
.r7-home-ranking tbody th { overflow-wrap:anywhere; }
.r7-home-ranking thead { background:transparent; }
.r7-home-ranking th,.r7-home-ranking td { padding:12px 4px; font-size:12px; border-bottom:1px solid var(--line); text-align:right; }
.r7-home-ranking thead th { color:#91a89b; font-size:10px; font-weight:400; padding-top:4px; }
.r7-home-ranking th:first-child,.r7-home-ranking td:first-child { width:35px; text-align:left; color:#91a89b; font-size:10px; }
.r7-home-ranking th:nth-child(2) { text-align:left; }
.r7-home-ranking tbody th { font-weight:600; font-size:13px; }
.r7-home-ranking td:last-child { color:var(--gold); }
.r7-ranking-more { color:var(--green); display:block; margin-top:14px; font-size:11px; }
.r7-other-leagues { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:30px; padding:30px 0 8px; }
.r7-other-leagues>div { min-width:0; padding-top:15px; border-top:1px solid #355140; }
.r7-other-leagues h2 { font-size:17px; margin:0 0 10px; letter-spacing:0; }
.r7-other-leagues p { font-size:12px; color:#b0c2b5; line-height:1.85; margin:0; }
.r7-league-more { color:var(--green); display:block; font-size:11px; margin-top:12px; }

/* Articles use the approved light reading canvas; the established header and
   all other view types keep their original navigation and scripts. */
.r7-article { color-scheme:light; --bg:#f6f7f2; --secondary:#edf1e9; --surface:#fff; --ink:#182b25; --muted:#63766b; --subtle:#758579; --line:#dce4dd; --green:#19583f; --gold:#8b6929; --blue:#19583f; background:var(--bg); color:var(--ink); font-family:"Noto Sans CJK SC","PingFang SC","Microsoft YaHei",sans-serif; }
.r7-article .site-header { --bg:#0d3429; --ink:#f3f5ef; --muted:#b8cbbe; --subtle:#a8bdaf; --line:#385447; --secondary:#143c2c; --gold:#dfc27b; --green:#84dba5; color:var(--ink); background:#0d3429; backdrop-filter:none; }
.r7-article .site-main.shell { width:min(1184px,calc(100% - 64px)); padding-block:27px 60px; }
.r7-article .breadcrumbs { font-size:12px; margin-bottom:24px; }
.r7-article-layout { display:grid; grid-template-columns:minmax(0,790px) minmax(230px,1fr); gap:50px; align-items:start; }
.r7-article-solo { grid-template-columns:minmax(0,840px); justify-content:center; }
.r7-article-main.article-page { max-width:none; width:100%; min-width:0; margin:0; }
.r7-article-category { display:inline-block; border:1px solid #a6b9ab; color:var(--green); padding:3px 10px; font-size:12px; font-weight:650; margin-bottom:13px; }
.r7-article-heading h1 { font-size:37px; line-height:1.4; letter-spacing:-.025em; font-weight:800; margin:0 0 19px; overflow-wrap:anywhere; }
.r7-standfirst { font-size:18px; line-height:1.85; color:#52665a; margin:0 0 24px; }
.r7-article-byline { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:18px 0; border-block:1px solid var(--line); margin-bottom:27px; }
.r7-byline-author { display:flex; align-items:center; gap:12px; min-width:0; }
.r7-byline-author>div { min-width:0; overflow-wrap:anywhere; }
.r7-byline-author .author-avatar { width:44px; height:44px; min-width:44px; flex-basis:44px; margin:0; }
.r7-byline-author>a { flex:0 0 44px; }
.r7-byline-author .initial { display:grid; place-items:center; background:#0d3429; color:#e2c781; border:0; border-radius:50%; font-size:18px; }
.r7-byline-author strong { display:block; font-size:14px; }
.r7-byline-author>div>span { display:block; color:var(--muted); font-size:12px; }
.r7-article-dates { display:grid; gap:4px; text-align:right; color:var(--muted); font-size:11px; }
.r7-article-dates time { font-variant-numeric:tabular-nums; }
.r7-article .article-cover { margin:0 0 30px; }
.r7-article .article-cover img { border-radius:2px; }
.r7-article .article-body { font-size:17px; line-height:1.95; }
.r7-article .article-body h2 { font-size:24px; line-height:1.5; }
.r7-article .article-body h3 { font-size:20px; }
.r7-article .article-body a { color:#19583f; }
.r7-article-sources { margin-top:30px; border-left:3px solid #cfb16c; background:#edf1e9; padding:20px 24px; }
.r7-article-sources h2 { font-size:15px; margin:0 0 10px; }
.r7-article-sources ul { list-style:none; padding:0; margin:0; }
.r7-article-sources li+li { margin-top:10px; }
.r7-article-sources a { color:var(--green); text-decoration:underline; text-underline-offset:3px; font-size:13px; overflow-wrap:anywhere; }
.r7-article-sources li>span { display:block; font-size:11px; color:var(--muted); overflow-wrap:anywhere; }
.r7-article-categories { display:flex; flex-wrap:wrap; gap:8px; padding:23px 0; }
.r7-article-categories a { font-size:12px; padding:5px 12px; border:1px solid var(--line); background:#fff; }
.r7-article-author.author-box { border-block:1px solid #b7c9bc; padding:26px 0; margin-top:18px; }
.r7-article-author .author-avatar { width:60px; height:60px; min-width:60px; flex-basis:60px; }
.r7-article-author .initial { display:grid; place-items:center; background:#0d3429; color:#e2c781; font-size:24px; border:0; }
.r7-author-label { display:block; color:var(--muted); font-size:11px; letter-spacing:.08em; margin-bottom:3px; }
.r7-article-author h2 { font-size:20px; margin:0 0 6px; }
.r7-article-author p { font-size:13px; line-height:1.85; margin:0 0 9px; }
.r7-article-author .r7-author-role { color:var(--green); margin-bottom:5px; }
.r7-article-author .text-link { color:var(--green); font-weight:650; font-size:13px; }
.r7-correction { font-size:12px; color:var(--muted); margin:16px 0 0; }
.r7-correction a { color:var(--green); text-decoration:underline; }
.r7-article-sidebar { min-width:0; padding-top:7px; }
.r7-article-side-section { border-top:2px solid #0d3429; margin-bottom:30px; }
.r7-article-side-section>h2 { font-size:16px; margin:14px 0 16px; }
.r7-article-side-nav { display:flex; flex-wrap:wrap; gap:9px; }
.r7-article-side-nav a { padding:9px 12px; font-size:12px; background:#e9eee7; border:1px solid #dce5da; }
.r7-article-side-nav a,.r7-related-item h3,.r7-article-author :is(h2,p) { overflow-wrap:anywhere; }
.r7-related-item { display:block; border-bottom:1px solid var(--line); padding-bottom:19px; margin-bottom:19px; }
.r7-related-photo { display:block; margin-bottom:11px; }
.r7-related-photo img { width:100%; aspect-ratio:16/9; height:auto; object-fit:cover; display:block; }
.r7-related-category { color:var(--green); font-size:11px; }
.r7-related-item h3 { font-size:15px; line-height:1.6; font-weight:700; margin:4px 0; }
.r7-related-item time { color:var(--muted); font-size:11px; }
.r7-article .site-footer { --ink:#f3f5ef; --muted:#b1c5b8; --subtle:#9eb3a4; --line:#365042; --green:#84dba5; --gold:#dfc27b; background:#082a20; color:var(--ink); }

/* Shared footer: content order and alignment are consistent on every view. */
.footer-grid.r7-footer-grid { grid-template-columns:minmax(0,1.7fr) repeat(3,minmax(0,1fr)); gap:40px; align-items:start; text-align:left; }
.r7-footer-grid>nav { min-width:0; text-align:left; }
.r7-footer-grid .footer-intro { min-width:0; }
.r7-footer-grid .tf-footer-wordmark { max-width:100%; }
.r7-footer-grid .footer-competitions { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 14px; }
.r7-footer-grid .footer-intro>.text-link { font-size:12px; }

@media(max-width:1100px) {
  .r7-home .site-main.shell { width:calc(100% - 40px); }
  .r7-editorial-grid { grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:24px; }
  .r7-lead-copy h2 { font-size:26px; }
  .r7-headline-row { gap:14px; grid-template-columns:minmax(0,1fr) 90px; }
  .r7-headline-no-image { grid-template-columns:1fr; }
  .r7-headline-photo img { width:90px; height:64px; }
  .r7-matchbar { grid-template-columns:135px repeat(3,minmax(0,1fr)); }
  .r7-matchbar-heading,.r7-matchbar-item { padding-inline:14px; }
  .r7-match-meta { flex-wrap:wrap; row-gap:2px; }
  .r7-feature-league { grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); gap:26px; }
  .r7-league-lead { grid-template-columns:170px minmax(0,1fr); gap:20px; }
  .r7-league-photo img { height:170px; }
  .r7-league-lead h3 { font-size:18px; }
  .r7-league-no-image { grid-template-columns:1fr; }
  .r7-europe-band { gap:22px; padding:24px; }
  .r7-feed-layout { gap:28px; grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); }
  .r7-news-feed li { grid-template-columns:60px minmax(0,1fr); gap:6px 14px; }
  .r7-news-feed time { grid-column:2; text-align:left; padding:0; }
  .r7-article .site-main.shell { width:calc(100% - 48px); }
  .r7-article-layout { grid-template-columns:minmax(0,1fr) 235px; gap:30px; }
  .r7-article-solo { grid-template-columns:minmax(0,840px); }
  .r7-article-heading h1 { font-size:32px; }
  .footer-grid.r7-footer-grid { gap:26px; }
}
@media(max-width:980px) {
  .r7-home .header-row,.r7-article .header-row { min-height:76px; }
  .r7-home .tf-brand-wordmark { width:150px; }
}
@media(max-width:760px) {
  .r7-home .site-main.shell { width:calc(100% - 36px); padding-top:22px; }
  .r7-home-intro { align-items:start; margin-bottom:20px; }
  .r7-home-intro h1 { font-size:21px; }
  .r7-home-intro p { font-size:11px; }
  .r7-home-intro nav { display:none; }
  .r7-editorial-grid { grid-template-columns:1fr; gap:25px; }
  .r7-lead { min-height:350px; }
  .r7-lead-copy { left:20px; right:20px; bottom:22px; }
  .r7-lead-copy h2 { font-size:26px; }
  .r7-lead-copy p { font-size:11px; }
  .r7-headline-row { grid-template-columns:minmax(0,1fr) 104px; padding:14px 0; }
  .r7-headline-no-image { grid-template-columns:1fr; }
  .r7-headline-photo img { width:104px; height:68px; }
  .r7-matchbar { display:flex; overflow-x:auto; scrollbar-width:thin; margin-top:24px; }
  .r7-matchbar-heading { flex:0 0 117px; }
  .r7-matchbar-item { flex:0 0 230px; }
  .r7-matchbar .empty { min-width:180px; }
  .r7-match-meta { flex-wrap:nowrap; }
  .r7-home-section { margin-top:28px; }
  .r7-section-heading h2 { font-size:20px; }
  .r7-feature-league { grid-template-columns:1fr; gap:22px; }
  .r7-league-lead { grid-template-columns:150px minmax(0,1fr); gap:20px; }
  .r7-league-no-image { grid-template-columns:1fr; }
  .r7-league-photo img { height:155px; }
  .r7-league-lead h3 { font-size:17px; }
  .r7-league-lead p { font-size:11px; }
  .r7-league-briefs { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
  .r7-league-briefs h3 { font-size:14px; }
  .r7-europe-band { grid-template-columns:1fr; gap:18px; padding:23px; margin-top:28px; }
  .r7-europe-band>div { padding:0 0 18px; border-right:0; border-bottom:1px solid #355140; }
  .r7-europe-band>div:last-child { padding:0; }
  .r7-europe-band h2 { font-size:21px; }
  .r7-europe-band h3 { -webkit-line-clamp:3; }
  .r7-feed-layout { grid-template-columns:1fr; gap:28px; margin-top:29px; }
  .r7-news-feed li { grid-template-columns:70px minmax(0,1fr) 84px; gap:13px; }
  .r7-news-feed time { grid-column:auto; text-align:right; padding-top:3px; }
  .r7-other-leagues { grid-template-columns:repeat(2,minmax(0,1fr)); gap:25px; }
  .r7-article .site-main.shell { width:calc(100% - 36px); padding-block:21px 42px; }
  .r7-article-layout,.r7-article-solo { grid-template-columns:1fr; gap:35px; }
  .r7-article-heading h1 { font-size:29px; }
  .r7-standfirst { font-size:16px; }
  .r7-article-byline { flex-wrap:wrap; gap:12px; }
  .r7-article-dates { width:100%; padding-left:56px; text-align:left; }
  .r7-article .article-body { font-size:16px; line-height:1.95; }
  .r7-article .article-body h2 { font-size:22px; }
  .r7-article-sidebar { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:25px; }
  .r7-article-side-section { margin:0; min-width:0; }
  .footer-grid.r7-footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
  .r7-footer-grid .footer-intro { grid-column:1/-1; }
}
@media(max-width:500px) {
  .r7-lead { min-height:330px; }
  .r7-lead-copy h2 { font-size:24px; }
  .r7-news-feed li { grid-template-columns:56px minmax(0,1fr); gap:5px 13px; padding:13px 0; }
  .r7-news-feed h3 { font-size:14px; }
  .r7-news-feed time { grid-column:2; text-align:left; padding-top:0; }
  .r7-league-lead { grid-template-columns:112px minmax(0,1fr); gap:15px; }
  .r7-league-no-image { grid-template-columns:1fr; }
  .r7-league-photo img { height:137px; }
  .r7-league-lead h3 { font-size:16px; }
  .r7-league-lead p { -webkit-line-clamp:2; }
  .r7-league-briefs { gap:16px; }
  .r7-league-briefs article { padding-left:11px; }
  .r7-league-briefs h3 { font-size:13px; }
  .r7-article-sidebar { grid-template-columns:1fr; }
  .r7-article-sources { padding:17px 19px; }
  .r7-article-author .author-avatar { width:48px; height:48px; min-width:48px; flex-basis:48px; }
  .r7-article-author.author-box { gap:14px; }
  .r7-related-photo { max-width:240px; }
}
@media(max-width:360px) {
  .r7-home .site-main.shell,.r7-article .site-main.shell { width:calc(100% - 30px); }
  .r7-home-intro h1 { font-size:20px; }
  .r7-lead-copy { left:17px; right:17px; }
  .r7-lead-copy h2 { font-size:22px; }
  .r7-headline-row { grid-template-columns:minmax(0,1fr) 84px; gap:13px; }
  .r7-headline-no-image { grid-template-columns:1fr; }
  .r7-headline-photo img { width:84px; height:62px; }
  .r7-headline-row h3 { font-size:14px; }
  .r7-article-heading h1 { font-size:26px; }
  .r7-article-sources { padding:16px; }
  .footer-grid.r7-footer-grid { gap:24px 18px; }
}
@media(prefers-reduced-motion:reduce) {
  .r7-home,.r7-article { scroll-behavior:auto; }
}
