/* Global page shell: keep main and prediction pages on the same 968px width.
   Applied after theme.css and all page-specific styles. */
:root { --fsb-shell-width: 968px; }
html { box-sizing: border-box; }
*, *::before, *::after { box-sizing: inherit; }
html, body { width: 100%; max-width: 100%; }
.site-header,
.site-footer,
main.page-container,
main:has(> .content-grid),
body > main {
  width: min(100%, var(--fsb-shell-width)) !important;
  max-width: var(--fsb-shell-width) !important;
  min-width: 0 !important;
  margin-inline: auto !important;
}
body > main,
main.page-container {
  padding-inline: 0 !important;
}
.site-header,
.site-footer { padding-inline: 0 !important; }
body > main > article,
main.page-container > article,
main.page-container > section,
main.page-container > .content-grid,
body > main > .content-grid,
.content-grid,
.matches-section,
.profile-content-column,
.profile-layout,
#prediction-seo-content,
#prediction-seo-content > article,
.match-list,
.sketch-ssr-list,
.sketch-match-card,
.match-card,
.fixture-card {
  max-width: 100% !important;
  min-width: 0 !important;
}
body > main > article,
main.page-container > article,
main.page-container > .content-grid,
body > main > .content-grid { width: 100% !important; }
.content-grid { width: 100% !important; }
.sketch-ssr-list { width: 100% !important; }
.sketch-ssr-list > .sketch-match-card { width: 100% !important; }
#prediction-seo-content img,
.profile-layout img { max-width: 100%; }
#prediction-seo-content table { max-width: 100%; }
#prediction-seo-content { overflow-wrap: anywhere; }
@media (max-width: 600px) {
  .site-header,
  .site-footer,
  body > main { width: 100% !important; }
  .sketch-match-card { min-width: 0 !important; }
}

/* Crawlable prediction listing pagination, consistent on mobile and desktop. */
.ssr-match-pagination { margin: 20px 0 24px; text-align: center; }
.ssr-match-pagination p { margin: 0 0 10px; font-size: 12px; color: #61777a; }
.ssr-pagination-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 7px; }
.ssr-pagination-links a {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 38px; min-height: 38px; padding: 7px 11px;
  border: 1px solid #d5e4df; border-radius: 8px; background: #fff;
  color: #065c35; text-decoration: none; font-size: 13px; font-weight: 800;
}
.ssr-pagination-links a[aria-current="page"] { background: #065c35; color: #fff; border-color: #065c35; }
.ssr-pagination-links a:hover { border-color: #065c35; }

/* SSR daily and market listings: exactly one complete match card per row. */
main.page-container .match-list.sketch-ssr-list {
  display: flex !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 12px !important;
  width: 100% !important;
  min-width: 0 !important;
}
main.page-container .match-list.sketch-ssr-list > article.sketch-match-card {
  display: grid !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  flex: 0 0 auto !important;
  grid-column: 1 / -1 !important;
  box-sizing: border-box !important;
}
@media (max-width: 900px) {
  main.page-container .match-list.sketch-ssr-list > article.sketch-match-card {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* Browse pages load SEO article defaults; don't let them pad the shared Today card. */
main.page-container .match-list.sketch-ssr-list > article.sketch-match-card {
  padding: 0 !important;
  color: #063b2b;
}
