/* The World Cup, calendar, stadium and event routes share the approved WTM
   presentation without changing their generated fixture or route semantics. */
body[data-wtm-special-family] #route-heading-wrap,
body[data-wtm-special-family] #mainContent {
  width: min(100%, 1120px);
  margin-inline: auto;
  min-width: 0;
}
body[data-wtm-special-family] #route-heading-wrap {
  padding: 32px 30px 8px;
}
body[data-wtm-special-family] #mainContent {
  padding: 0 30px 48px;
}
body[data-wtm-special-family] .route-page-h1,
body[data-wtm-special-family] .seo-baked-h1,
body[data-wtm-special-family] .wtm-wc-legacy-page h1 {
  color: var(--wtm-ink, #10251e);
  font: 800 clamp(30px, 3.4vw, 46px)/1.08 Syne, sans-serif;
  letter-spacing: -.035em;
  text-wrap: balance;
}
body[data-wtm-special-family] .seo-baked-intro,
body[data-wtm-special-family] .wtm-wc-legacy-page p {
  max-width: 70ch;
  color: var(--wtm-muted, #5b6a63);
  font: 400 16px/1.55 "DM Sans", sans-serif;
}
/* These baked routes carry the same heading in the route shell and the
   crawlable schedule. Keep a single visible heading while the client swaps
   the schedule in place. */
body[data-wtm-special-family="world-cup"]:has(#mainContent > .seo-baked-h1) #route-heading-wrap,
body[data-wtm-special-family="event"]:has(#mainContent > .seo-baked-h1) #route-heading-wrap {
  display: none;
}
body[data-wtm-special-family] #mainContent .seo-date-group > h2,
body[data-wtm-special-family] #mainContent .seo-section > h2 {
  margin: 28px 0 10px;
  padding: 0 0 12px;
  border: 0;
  border-bottom: 1px solid var(--wtm-line, #dfe9e3);
  color: var(--wtm-ink, #10251e);
  font: 800 22px/1.2 Syne, sans-serif;
  letter-spacing: -.02em;
  text-transform: none;
}
body[data-wtm-special-family] #mainContent :is(.seo-date-group,.fixtures-grid,.wc-groups-grid) {
  min-width: 0;
}
body[data-wtm-special-family] #mainContent :is(.seo-nav-list,.wc-nation-links) {
  gap: 8px;
}
body[data-wtm-special-family] #mainContent :is(.seo-nav-list a,.wc-nation-link,.cal-baked-nav a,.cal-subscribe-btn) {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  padding: 9px 13px;
  border: 1px solid var(--wtm-line, #dfe9e3);
  border-radius: 9px;
  background: #fff;
  color: var(--wtm-green, #175a3b);
  font: 750 13px/1.25 "DM Sans", sans-serif;
  text-decoration: none;
}
body[data-wtm-special-family] #mainContent :is(.seo-nav-list a,.wc-nation-link,.cal-baked-nav a,.cal-subscribe-btn):is(:hover,:focus-visible) {
  border-color: var(--wtm-green, #175a3b);
  background: var(--wtm-mint, #eaf4ed);
}
body[data-wtm-special-family] :is(a,button,summary):focus-visible {
  outline: 3px solid var(--wtm-green, #175a3b);
  outline-offset: 3px;
}
body[data-wtm-special-family="world-cup"] #mainContent :is(.wc-group-card,.wc-route-box) {
  border: 1px solid var(--wtm-line, #dfe9e3);
  border-radius: 12px;
  background: #fff;
  box-shadow: none;
  overflow: hidden;
}
body[data-wtm-special-family="world-cup"] #mainContent .wc-group-title {
  padding: 14px 16px;
  border: 0;
  border-bottom: 1px solid var(--wtm-line, #dfe9e3);
  color: var(--wtm-ink, #10251e);
  font: 800 18px/1.25 Syne, sans-serif;
}
body[data-wtm-special-family="world-cup"] #mainContent .wc-nation-header {
  max-width: none;
  margin: 14px 0 24px;
  padding: 0;
}
body[data-wtm-special-family="world-cup"] #mainContent .wc-nation-title {
  color: var(--wtm-ink, #10251e);
  font: 800 28px/1.1 Syne, sans-serif;
  letter-spacing: -.025em;
}
body[data-wtm-special-family="world-cup"] #mainContent .wc-nation-subtitle,
body[data-wtm-special-family="world-cup"] #mainContent .wc-group-pending {
  color: var(--wtm-muted, #5b6a63);
  font: 500 14px/1.45 "DM Sans", sans-serif;
}
body[data-wtm-special-family="world-cup"] #mainContent .wc-route-box {
  max-width: none;
  padding: 20px;
}
body[data-wtm-special-family="world-cup"] #mainContent .wc-group-table {
  font: 500 13px/1.4 "DM Sans", sans-serif;
}
body[data-wtm-special-family="world-cup"] #mainContent .wc-group-table :is(th,td) {
  padding-block: 10px;
  border-color: var(--wtm-line, #dfe9e3);
}
body[data-wtm-special-family="calendar"] #mainContent .cal-baked-nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin: 20px 0;
  font-size: 0;
}
body[data-wtm-special-family="calendar"] #mainContent .seo-updated {
  color: var(--wtm-muted, #5b6a63);
  margin: 0 0 18px;
}
body[data-wtm-special-family="stadium"] #mainContent .stadium-page {
  display: grid;
  grid-template-columns: minmax(0,1fr) 282px;
  gap: 0 32px;
  margin: 0;
  padding: 0;
  border: 0;
}
body[data-wtm-special-family="stadium"] #mainContent .stadium-page > h1 {
  grid-column: 1 / -1;
  margin: 0 0 16px;
}
body[data-wtm-special-family="stadium"] #mainContent .stadium-facts {
  grid-column: 1 / -1;
  margin-bottom: 26px;
  padding: 17px 19px;
  border: 1px solid var(--wtm-line, #dfe9e3);
  border-radius: 12px;
  background: var(--wtm-soft, #f7faf8);
}
body[data-wtm-special-family="stadium"] #mainContent .stadium-facts p {
  margin: 0;
  color: var(--wtm-ink, #10251e);
  font: 650 14px/1.5 "DM Sans", sans-serif;
}
body[data-wtm-special-family="stadium"] #mainContent .stadium-fixtures {
  grid-column: 1;
  grid-row: 3 / span 3;
  min-width: 0;
}
body[data-wtm-special-family="stadium"] #mainContent :is(.stadium-tenants,.stadium-related) {
  grid-column: 2;
  align-self: start;
  padding: 0 0 22px;
  border-bottom: 1px solid var(--wtm-line, #dfe9e3);
}
body[data-wtm-special-family="stadium"] #mainContent .stadium-fixture-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
body[data-wtm-special-family="stadium"] #mainContent .sfl-item {
  display: grid;
  gap: 5px;
  padding: 17px 0;
  border-bottom: 1px solid var(--wtm-line, #dfe9e3);
}
body[data-wtm-special-family="stadium"] #mainContent .sfl-item a {
  color: var(--wtm-ink, #10251e);
  font: 750 17px/1.3 "DM Sans", sans-serif;
}
body[data-wtm-special-family="stadium"] #mainContent .sfl-meta {
  color: var(--wtm-muted, #5b6a63);
  font: 500 13px/1.45 "DM Sans", sans-serif;
  overflow-wrap: anywhere;
}
body[data-wtm-special-family="stadium"] #mainContent .sf-empty,
body[data-wtm-special-family="event"] #mainContent .seo-no-fixtures {
  max-width: 68ch;
  padding: 18px 20px;
  border: 1px solid var(--wtm-line, #dfe9e3);
  border-radius: 12px;
  background: var(--wtm-soft, #f7faf8);
  color: var(--wtm-muted, #5b6a63);
}
body[data-wtm-special-family="event"] #mainContent .seo-archive-links {
  padding: 16px 0;
  line-height: 1.6;
}
body[data-wtm-special-family="event"] #mainContent .seo-archive-links a,
body[data-wtm-special-family="world-cup"] #mainContent .wtm-wc-legacy-page a {
  color: var(--wtm-green, #175a3b);
  text-decoration: underline;
  text-underline-offset: 3px;
}
@media (max-width: 900px) {
  body[data-wtm-special-family="stadium"] #mainContent .stadium-page { grid-template-columns: minmax(0,1fr); }
  body[data-wtm-special-family="stadium"] #mainContent .stadium-page > * { grid-column: 1; grid-row: auto; }
}
@media (max-width: 760px) {
  body[data-wtm-special-family] #route-heading-wrap { padding: 24px 16px 8px; }
  body[data-wtm-special-family] #mainContent { padding: 0 16px 40px; }
  body[data-wtm-special-family] .route-page-h1,
  body[data-wtm-special-family] .seo-baked-h1 { font-size: 30px; }
  body[data-wtm-special-family="world-cup"] #mainContent .wc-group-table { min-width: 0; width: 100%; }
  body[data-wtm-special-family="world-cup"] #mainContent .wc-nation-title { font-size: 24px; }
  body[data-wtm-special-family="stadium"] #mainContent .stadium-facts { padding: 14px 16px; }
  body[data-wtm-special-family="calendar"] #mainContent .fixture-card {
    grid-template-columns: 94px minmax(0,1fr);
    column-gap: 12px;
  }
  body[data-wtm-special-family="calendar"] #mainContent .fixture-card .fixture-score {
    min-width: 0;
    max-width: none;
    align-items: flex-start;
    overflow: visible;
  }
  body[data-wtm-special-family="calendar"] #mainContent .fixture-card .score-time {
    display: block;
    max-width: 94px;
    color: var(--wtm-ink, #10251e);
    font: 800 16px/1.3 "DM Sans", sans-serif;
    white-space: normal;
    overflow-wrap: normal;
  }
}
@media (prefers-reduced-motion: reduce) {
  body[data-wtm-special-family] #mainContent :is(a,button,summary) { transition: none !important; animation: none !important; }
}
