.tvp-cdm-page {
  --tvp-cdm-bg: #f7f8fa;
  --tvp-cdm-surface: #ffffff;
  --tvp-cdm-surface-soft: #f1f5f4;
  --tvp-cdm-border: #d9e1e7;
  --tvp-cdm-border-strong: #bbc9d3;
  --tvp-cdm-text: #17202a;
  --tvp-cdm-muted: #536171;
  --tvp-cdm-green: #1f7a4d;
  --tvp-cdm-green-soft: #e7f4ed;
  --tvp-cdm-red: #b8323a;
  --tvp-cdm-red-soft: #fdebed;
  --tvp-cdm-gold: #9a6a12;
  --tvp-cdm-gold-soft: #fff5da;
  --tvp-cdm-focus: #1f7a4d;
  --tvp-cdm-shadow: 0 1px 4px rgb(23 32 42 / 0.08);
  color: var(--tvp-cdm-text);
  max-width: 100%;
  min-width: 0;
}

.tvp-cdm-page a {
  color: inherit;
}

.tvp-cdm-inline-slot {
  width: min(100%, 300px);
  margin: 0.82rem auto 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.tvp-cdm-inline-slot > * {
  max-width: 100%;
}

.tvp-cdm-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.82rem;
  align-items: start;
}

.tvp-cdm-layout-main,
.tvp-cdm-layout-side {
  min-width: 0;
}

.tvp-cdm-layout-side-sticky {
  position: static;
}

.tvp-cdm-layout-side .tvp-cdm-inline-slot {
  margin-top: 0;
}

.tvp-cdm-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 0.44fr);
  gap: 1rem;
  align-items: stretch;
  margin: 0 0 0.95rem;
  padding: 1rem;
  border: 1px solid var(--tvp-cdm-border);
  border-radius: 8px;
  background: var(--tvp-cdm-surface);
  box-shadow: var(--tvp-cdm-shadow);
}

.tvp-cdm-hero--simple {
  grid-template-columns: 1fr;
}

.tvp-cdm-hero-main {
  min-width: 0;
}

.tvp-cdm-layout-main > nav {
  max-width: 100%;
  width: 100%;
}

.tvp-cdm-breadcrumb {
  box-sizing: border-box;
  margin-bottom: 0.65rem;
  width: 100%;
}

.tvp-cdm-breadcrumb-home a {
  padding-inline: 0.34rem;
}

.tvp-cdm-breadcrumb .breadcrumb-item[aria-current="page"] {
  max-width: 32rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tvp-cdm-hero h1 {
  margin: 0;
  font-size: 2rem;
  line-height: 1.08;
  font-weight: 850;
  letter-spacing: 0;
  overflow-wrap: anywhere;
}

.tvp-cdm-hero-copy {
  margin: 0.58rem 0 0;
  max-width: 64rem;
  color: var(--tvp-cdm-muted);
  font-size: 1rem;
  line-height: 1.45;
}

.tvp-cdm-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin: 0 0 1rem;
}

.tvp-cdm-tab {
  display: inline-flex;
  align-items: center;
  min-height: 2.35rem;
  padding: 0.45rem 0.72rem;
  border: 1px solid var(--tvp-cdm-border);
  border-radius: 999px;
  background: var(--tvp-cdm-surface);
  color: var(--tvp-cdm-muted);
  font-size: 0.88rem;
  font-weight: 750;
  text-decoration: none;
}

.tvp-cdm-tab:hover,
.tvp-cdm-tab:focus-visible {
  border-color: var(--tvp-cdm-border-strong);
  color: var(--tvp-cdm-text);
  text-decoration: none;
}

.tvp-cdm-tab.is-active {
  border-color: var(--tvp-cdm-green);
  background: var(--tvp-cdm-green);
  color: #ffffff;
}

.tvp-cdm-tab--speed {
  border-color: var(--tvp-cdm-border-strong);
  background: var(--tvp-cdm-green-soft);
  color: var(--tvp-cdm-green);
}

.tvp-cdm-section,
.tvp-cdm-team-profile,
.tvp-cdm-news-widget,
.tvp-cdm-quick-links {
  margin: 0 0 1.45rem;
}

.tvp-cdm-section {
  min-width: 0;
}

.tvp-cdm-section--featured {
  margin-top: 0.2rem;
}

.tvp-cdm-section-head {
  display: flex;
  gap: 0.75rem;
  align-items: center;
  justify-content: space-between;
  margin: 0 0 0.62rem;
  min-width: 0;
}

.tvp-cdm-section-head h2 {
  margin: 0;
  font-size: 1.18rem;
  line-height: 1.2;
  font-weight: 850;
  letter-spacing: 0;
  min-width: 0;
  overflow-wrap: anywhere;
}

.tvp-cdm-section-head a,
.tvp-cdm-primary-link {
  color: var(--tvp-cdm-green);
  font-size: 0.88rem;
  font-weight: 800;
  text-decoration: none;
}

.tvp-cdm-section-head a:hover,
.tvp-cdm-primary-link:hover {
  text-decoration: underline;
}

.tvp-cdm-news-widget-title {
  margin: 0 0 0.55rem;
  color: var(--tvp-cdm-text);
  font-size: clamp(1.48rem, 1.2rem + 0.75vw, 1.82rem);
  line-height: 1.14;
  font-weight: 650;
  letter-spacing: 0;
}

.tvp-cdm-news-widget-title a {
  color: inherit;
  text-decoration: none;
}

.tvp-cdm-quick-links {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.65rem;
}

.tvp-cdm-quick-links a {
  display: flex;
  flex-direction: column;
  gap: 0.22rem;
  min-width: 0;
  min-height: 4.2rem;
  padding: 0.72rem;
  border: 1px solid var(--tvp-cdm-border);
  border-radius: 8px;
  background: var(--tvp-cdm-surface);
  text-decoration: none;
  box-shadow: var(--tvp-cdm-shadow);
}

.tvp-cdm-quick-links strong {
  font-size: 0.95rem;
  line-height: 1.2;
}

.tvp-cdm-quick-links span {
  color: var(--tvp-cdm-muted);
  font-size: 0.82rem;
  line-height: 1.28;
}

.tvp-cdm-section-intro {
  margin: -0.2rem 0 0.65rem;
  color: var(--tvp-cdm-muted);
  font-size: 0.95rem;
  line-height: 1.45;
}

.tvp-cdm-home-cards,
.tvp-cdm-home-groups {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.65rem;
  min-width: 0;
}

.tvp-cdm-home-stadiums {
  grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
}

.tvp-cdm-home-card,
.tvp-cdm-home-group-card {
  min-width: 0;
  padding: 0.78rem;
  border: 1px solid var(--tvp-cdm-border);
  border-radius: 8px;
  background: var(--tvp-cdm-surface);
  color: var(--tvp-cdm-text);
  text-decoration: none;
  box-shadow: var(--tvp-cdm-shadow);
}

.tvp-cdm-home-card {
  display: flex;
  flex-direction: column;
  gap: 0.24rem;
}

.tvp-cdm-home-card:hover,
.tvp-cdm-home-group-card:hover {
  border-color: var(--tvp-cdm-border-strong);
  text-decoration: none;
}

.tvp-cdm-home-card-eyebrow {
  color: var(--tvp-cdm-green);
  font-size: 0.72rem;
  font-weight: 850;
  text-transform: uppercase;
}

.tvp-cdm-home-card strong,
.tvp-cdm-home-group-card strong {
  font-size: 1rem;
  line-height: 1.18;
  font-weight: 850;
  overflow-wrap: anywhere;
}

.tvp-cdm-home-card-meta {
  color: var(--tvp-cdm-gold);
  font-size: 0.84rem;
  font-weight: 850;
}

.tvp-cdm-home-card p {
  margin: 0.15rem 0 0;
  color: var(--tvp-cdm-muted);
  font-size: 0.9rem;
  line-height: 1.38;
}

.tvp-cdm-home-group-card {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
}

.tvp-cdm-home-group-teams {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.42rem 0.55rem;
}

.tvp-cdm-home-group-teams span {
  display: flex;
  align-items: center;
  gap: 0.36rem;
  min-width: 0;
  color: var(--tvp-cdm-muted);
  font-size: 0.82rem;
  font-weight: 750;
  line-height: 1.15;
  overflow-wrap: anywhere;
}

.tvp-cdm-home-group-flag {
  flex: 0 0 auto;
  width: 1.55rem;
  height: 1.16rem;
  object-fit: cover;
  border-radius: 2px;
  background: #ffffff;
  box-shadow: 0 0 0 1px var(--tvp-cdm-border);
}

.tvp-cdm-broadcast-info {
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.tvp-cdm-broadcast-info .tvp-cdm-section-head {
  margin-bottom: 0.75rem;
}

.tvp-cdm-broadcast-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
}

.tvp-cdm-broadcast-card {
  min-width: 0;
  padding: 0.85rem 0.95rem;
  border: 1px solid var(--tvp-cdm-border);
  border-left-width: 4px;
  border-radius: 8px;
  background: color-mix(in srgb, var(--tvp-cdm-surface) 88%, var(--tvp-cdm-surface-soft));
}

.tvp-cdm-broadcast-card--free {
  border-left-color: var(--tvp-cdm-gold);
}

.tvp-cdm-broadcast-card--paid {
  border-left-color: #7a45e8;
}

.tvp-cdm-broadcast-card-head {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  align-items: center;
  margin-bottom: 0.55rem;
}

.tvp-cdm-broadcast-card-head strong {
  color: var(--tvp-cdm-text);
  font-size: 1.05rem;
  line-height: 1.15;
  font-weight: 850;
}

.tvp-cdm-broadcast-title {
  display: inline-flex;
  gap: 0.42rem;
  align-items: center;
  min-width: 0;
}

.tvp-cdm-broadcast-logo {
  flex: 0 0 auto;
  width: 1.8rem;
  height: 1.8rem;
  object-fit: contain;
}

.tvp-cdm-broadcast-card-head a {
  color: inherit;
  text-decoration: none;
}

.tvp-cdm-broadcast-card-head a:hover {
  text-decoration: underline;
}

.tvp-cdm-broadcast-card-head > span {
  display: inline-flex;
  align-items: center;
  min-height: 1.35rem;
  padding: 0.12rem 0.45rem;
  border-radius: 5px;
  background: var(--tvp-cdm-green-soft);
  color: var(--tvp-cdm-green);
  font-size: 0.7rem;
  font-weight: 850;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.tvp-cdm-broadcast-card--paid .tvp-cdm-broadcast-card-head > span {
  background: #eee7ff;
  color: #6b32d8;
}

.tvp-cdm-broadcast-card p {
  margin: 0;
  color: var(--tvp-cdm-text);
  font-size: 0.94rem;
  line-height: 1.48;
}

.tvp-cdm-broadcast-card ul {
  display: grid;
  gap: 0.28rem;
  margin: 0.7rem 0 0;
  padding: 0 0 0 1.05rem;
  color: var(--tvp-cdm-muted);
  font-size: 0.88rem;
  line-height: 1.35;
}

.tvp-cdm-broadcast-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2rem;
  margin-top: 0.78rem;
  padding: 0.35rem 0.7rem;
  border-radius: 999px;
  background: #4f1db8;
  color: #ffffff;
  font-size: 0.82rem;
  font-weight: 850;
  text-decoration: none;
}

.tvp-cdm-broadcast-cta:hover,
.tvp-cdm-broadcast-cta:focus-visible {
  background: #391186;
  color: #ffffff;
  text-decoration: none;
}

.tvp-cdm-broadcast-cta:visited {
  color: #ffffff;
}

.tvp-cdm-broadcast-note {
  margin: 0.75rem 0 0;
  color: var(--tvp-cdm-muted);
  font-size: 0.88rem;
  line-height: 1.38;
}

.tvp-cdm-home-timeline {
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}

.tvp-cdm-guide-copy {
  padding: 0.9rem;
  border: 1px solid var(--tvp-cdm-border);
  border-radius: 8px;
  background: var(--tvp-cdm-surface);
  box-shadow: var(--tvp-cdm-shadow);
}

.tvp-cdm-guide-copy h2 {
  margin: 0 0 0.55rem;
  font-size: 1.2rem;
  line-height: 1.2;
  font-weight: 850;
}

.tvp-cdm-guide-copy p {
  margin: 0.5rem 0 0;
  color: var(--tvp-cdm-muted);
  font-size: 0.95rem;
  line-height: 1.5;
}

.tvp-cdm-guide-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin-top: 0.75rem;
}

.tvp-cdm-guide-links a {
  display: inline-flex;
  align-items: center;
  min-height: 2.1rem;
  padding: 0.38rem 0.65rem;
  border: 1px solid var(--tvp-cdm-border);
  border-radius: 999px;
  color: var(--tvp-cdm-green);
  font-size: 0.84rem;
  font-weight: 850;
  text-decoration: none;
}

.tvp-cdm-guide-links a:hover {
  border-color: var(--tvp-cdm-border-strong);
  text-decoration: none;
}

.tvp-cdm-match-list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.72rem;
  min-width: 0;
}

.tvp-cdm-date-heading {
  display: flex;
  align-items: center;
  min-height: 2.5rem;
  margin: 0.72rem 0 0.05rem;
  padding: 0.52rem 0.72rem;
  border-left: 4px solid var(--tvp-cdm-green);
  border-radius: 8px;
  background: color-mix(in srgb, var(--tvp-cdm-green-soft) 70%, var(--tvp-cdm-surface));
  color: var(--tvp-cdm-text);
  font-size: 1.08rem;
  line-height: 1.2;
  font-weight: 850;
  letter-spacing: 0;
  box-shadow: inset 0 0 0 1px var(--tvp-cdm-border);
}

.tvp-cdm-date-heading a {
  color: var(--tvp-cdm-text);
  text-decoration: none;
}

.tvp-cdm-date-heading a:hover {
  text-decoration: underline;
}

.tvp-cdm-match-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 0.72rem;
  border: 1px solid var(--tvp-cdm-border);
  border-radius: 8px;
  background: var(--tvp-cdm-surface);
  box-shadow: var(--tvp-cdm-shadow);
}

.tvp-cdm-match-body {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.68rem;
}

.tvp-cdm-match-teams {
  display: grid;
  grid-template-columns: 4.8rem minmax(0, 1fr) auto;
  gap: 0.72rem;
  align-items: center;
  min-width: 0;
}

.tvp-cdm-match-kickoff {
  display: inline-flex;
  flex-direction: column;
  gap: 0.28rem;
  align-items: center;
  justify-content: center;
  min-width: 0;
  min-height: 4.35rem;
  padding: 0.45rem 0.5rem;
  border-radius: 12px;
  background: var(--tvp-cdm-surface-soft);
  color: var(--tvp-cdm-muted);
  font-size: 1.06rem;
  font-weight: 900;
  line-height: 1;
  text-decoration: none;
}

.tvp-cdm-match-kickoff small {
  display: inline-flex;
  align-items: center;
  min-height: 1.35rem;
  padding: 0.12rem 0.42rem;
  border-radius: 999px;
  background: var(--tvp-cdm-gold-soft);
  color: var(--tvp-cdm-gold);
  font-size: 0.68rem;
  font-weight: 850;
  line-height: 1;
}

.tvp-cdm-match-kickoff:hover {
  color: var(--tvp-cdm-text);
  text-decoration: none;
}

.tvp-cdm-match-team-stack {
  display: grid;
  gap: 0.42rem;
  min-width: 0;
}

.tvp-cdm-match-team-line {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.52rem;
  align-items: center;
  min-width: 0;
}

.tvp-cdm-team-ref {
  display: flex;
  align-items: center;
  gap: 0.48rem;
  min-width: 0;
  color: var(--tvp-cdm-text);
  font-size: 0.92rem;
  font-weight: 800;
  line-height: 1.18;
  text-decoration: none;
}

.tvp-cdm-team-ref:hover span {
  text-decoration: underline;
}

.tvp-cdm-team-ref span:last-child {
  min-width: 0;
  overflow-wrap: anywhere;
}

.tvp-cdm-team-logo {
  flex: 0 0 auto;
  width: 2.35rem;
  height: 2.35rem;
  object-fit: contain;
}

.tvp-cdm-team-logo--flag {
  width: 2.35rem;
  height: 1.76rem;
  object-fit: cover;
  border-radius: 3px;
  background: #ffffff;
  box-shadow: 0 0 0 1px var(--tvp-cdm-border);
}

.tvp-cdm-team-logo--fallback {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--tvp-cdm-border);
  border-radius: 50%;
  background: var(--tvp-cdm-surface-soft);
  color: var(--tvp-cdm-green);
  font-size: 0.72rem;
  font-weight: 900;
}

.tvp-cdm-match-team-score {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2rem;
  min-height: 1.85rem;
  padding: 0.18rem 0.45rem;
  border-radius: 8px;
  background: var(--tvp-cdm-green-soft);
  color: var(--tvp-cdm-green);
  font-size: 1rem;
  font-weight: 900;
  line-height: 1;
}

.tvp-cdm-tv-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.42rem;
  justify-content: flex-end;
  min-width: 0;
}

.tvp-cdm-tv-chip,
.tvp-cdm-tv-empty {
  display: inline-flex;
  align-items: center;
  min-height: 2.25rem;
  border-radius: 8px;
}

.tvp-cdm-tv-chip {
  gap: 0.42rem;
  max-width: 100%;
  padding: 0.25rem 0.46rem;
  border: 1px solid var(--tvp-cdm-border);
  background: var(--tvp-cdm-surface-soft);
  text-decoration: none;
}

.tvp-cdm-tv-chip:hover {
  border-color: var(--tvp-cdm-border-strong);
  text-decoration: none;
}

.tvp-cdm-tv-chip--expected {
  justify-content: center;
  min-width: 3.25rem;
  padding: 0.28rem 0.55rem;
}

.tvp-cdm-tv-chip-logo,
.tvp-cdm-channel-card-logo {
  width: 2rem;
  height: 2rem;
  object-fit: contain;
}

.tvp-cdm-tv-chip-logo--expected {
  width: 2.25rem;
  height: 2.25rem;
}

.tvp-cdm-tv-chip-text {
  display: flex;
  flex-direction: column;
  min-width: 0;
  line-height: 1.1;
}

.tvp-cdm-tv-chip-text span,
.tvp-cdm-tv-chip-text small {
  min-width: 0;
  overflow-wrap: anywhere;
}

.tvp-cdm-tv-chip-text span {
  font-size: 0.82rem;
  font-weight: 850;
}

.tvp-cdm-tv-chip-text small {
  color: var(--tvp-cdm-muted);
  font-size: 0.72rem;
  font-weight: 700;
}

.tvp-cdm-tv-empty {
  padding: 0.28rem 0.55rem;
  border: 1px dashed var(--tvp-cdm-border-strong);
  color: var(--tvp-cdm-muted);
  font-size: 0.82rem;
  font-weight: 750;
}

.tvp-cdm-empty {
  margin: 0;
  padding: 0.9rem;
  border: 1px dashed var(--tvp-cdm-border-strong);
  border-radius: 8px;
  background: var(--tvp-cdm-surface-soft);
  color: var(--tvp-cdm-muted);
  font-weight: 700;
}

.tvp-cdm-groups-preview {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.8rem;
}

.tvp-cdm-groups-preview .tvp-cdm-standing-section {
  margin: 0;
}

.tvp-cdm-table-wrap {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid var(--tvp-cdm-border);
  border-radius: 8px;
  background: var(--tvp-cdm-surface);
  box-shadow: var(--tvp-cdm-shadow);
}

.tvp-cdm-standings {
  width: 100%;
  min-width: 620px;
  border-collapse: collapse;
}

.tvp-cdm-standings th,
.tvp-cdm-standings td {
  padding: 0.62rem 0.55rem;
  border-bottom: 1px solid var(--tvp-cdm-border);
  text-align: center;
  vertical-align: middle;
  white-space: nowrap;
}

.tvp-cdm-standings th {
  background: var(--tvp-cdm-surface-soft);
  color: var(--tvp-cdm-muted);
  font-size: 0.76rem;
  font-weight: 850;
  text-transform: uppercase;
}

.tvp-cdm-standings tr:last-child td {
  border-bottom: 0;
}

.tvp-cdm-standings .tvp-cdm-stand-team {
  min-width: 15rem;
  text-align: left;
}

.tvp-cdm-rank {
  color: var(--tvp-cdm-muted);
  font-weight: 850;
}

.tvp-cdm-team-grid,
.tvp-cdm-channel-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: 0.65rem;
}

.tvp-cdm-team-card,
.tvp-cdm-channel-card {
  min-width: 0;
}

.tvp-cdm-team-card-link,
.tvp-cdm-channel-card-link {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  min-height: 8.2rem;
  padding: 0.75rem;
  border: 1px solid var(--tvp-cdm-border);
  border-radius: 8px;
  background: var(--tvp-cdm-surface);
  text-align: center;
  text-decoration: none;
  box-shadow: var(--tvp-cdm-shadow);
}

.tvp-cdm-team-card-link:hover,
.tvp-cdm-channel-card-link:hover {
  border-color: var(--tvp-cdm-border-strong);
  text-decoration: none;
}

.tvp-cdm-team-card-logo {
  width: 3rem;
  height: 3rem;
  object-fit: contain;
}

.tvp-cdm-team-card-logo.tvp-cdm-team-logo--flag {
  width: 3rem;
  height: 2.25rem;
  object-fit: cover;
}

.tvp-cdm-channel-card-logo {
  width: 3.2rem;
  height: 3.2rem;
}

.tvp-cdm-team-card-name,
.tvp-cdm-channel-card-name {
  color: var(--tvp-cdm-text);
  font-size: 0.92rem;
  font-weight: 850;
  line-height: 1.16;
  overflow-wrap: anywhere;
}

.tvp-cdm-team-card-meta,
.tvp-cdm-channel-card-meta,
.tvp-cdm-muted {
  color: var(--tvp-cdm-muted);
  font-size: 0.82rem;
  font-weight: 700;
  line-height: 1.25;
}

.tvp-cdm-team-profile {
  display: flex;
  gap: 0.9rem;
  align-items: center;
  padding: 0.9rem;
  border: 1px solid var(--tvp-cdm-border);
  border-radius: 8px;
  background: var(--tvp-cdm-surface);
  box-shadow: var(--tvp-cdm-shadow);
}

.tvp-cdm-team-profile-logo {
  width: 4.4rem;
  height: 4.4rem;
  object-fit: contain;
}

.tvp-cdm-team-profile-logo.tvp-cdm-team-logo--flag {
  width: 4.4rem;
  height: 3.3rem;
  object-fit: cover;
}

.tvp-cdm-team-profile h2 {
  margin: 0 0 0.35rem;
  font-size: 1.35rem;
  line-height: 1.15;
  letter-spacing: 0;
  overflow-wrap: anywhere;
}

.tvp-cdm-team-profile p {
  margin: 0.3rem 0 0;
  color: var(--tvp-cdm-muted);
  line-height: 1.45;
}

.tvp-cdm-page :focus-visible {
  outline: 2px solid var(--tvp-cdm-focus);
  outline-offset: 2px;
}

:is(html[data-theme="dark"], html.dark, body.dark-mode, body.dark-theme) .tvp-cdm-page {
  --tvp-cdm-bg: #111827;
  --tvp-cdm-surface: #18212e;
  --tvp-cdm-surface-soft: #202b39;
  --tvp-cdm-border: #334155;
  --tvp-cdm-border-strong: #516074;
  --tvp-cdm-text: #edf3f8;
  --tvp-cdm-muted: #bec8d4;
  --tvp-cdm-green: #64d391;
  --tvp-cdm-green-soft: #183527;
  --tvp-cdm-red: #ff8a91;
  --tvp-cdm-red-soft: #3b1d24;
  --tvp-cdm-gold: #f2c56b;
  --tvp-cdm-gold-soft: #392d17;
  --tvp-cdm-focus: #64d391;
  --tvp-cdm-shadow: 0 1px 6px rgb(0 0 0 / 0.35);
}

:is(html[data-theme="dark"], html.dark, body.dark-mode, body.dark-theme) .tvp-cdm-tab {
  border-color: #5d6c80;
  background: #1f2a38;
  color: #f5f8fb;
}

:is(html[data-theme="dark"], html.dark, body.dark-mode, body.dark-theme) .tvp-cdm-tab:hover,
:is(html[data-theme="dark"], html.dark, body.dark-mode, body.dark-theme) .tvp-cdm-tab:focus-visible {
  border-color: #8ba0b8;
  background: #273548;
  color: #ffffff;
}

:is(html[data-theme="dark"], html.dark, body.dark-mode, body.dark-theme) .tvp-cdm-tab.is-active {
  border-color: #7ee0a6;
  background: #7ee0a6;
  color: #102018;
}

:is(html[data-theme="dark"], html.dark, body.dark-mode, body.dark-theme) .tvp-cdm-tab--speed {
  border-color: #407257;
  background: #1d3d2d;
  color: #b9f3ce;
}

@media (max-width: 900px) {
  .tvp-cdm-hero {
    grid-template-columns: 1fr;
  }

  .tvp-cdm-quick-links,
  .tvp-cdm-home-cards,
  .tvp-cdm-home-groups,
  .tvp-cdm-broadcast-grid,
  .tvp-cdm-groups-preview {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 992px) {
  .tvp-cdm-layout {
    grid-template-columns: minmax(0, 1fr) 300px;
    align-items: stretch;
  }

  .tvp-cdm-layout.is-no-side {
    grid-template-columns: minmax(0, 1fr);
  }

  .tvp-cdm-layout-side {
    align-self: stretch;
  }

  .tvp-cdm-layout-side-sticky {
    width: 100%;
  }

  .tvp-cdm-layout-side .tvp-cdm-inline-slot {
    margin: 0 0 0 auto;
  }
}

@media (min-width: 760px) {
  .tvp-cdm-match-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tvp-cdm-date-heading {
    grid-column: 1 / -1;
  }
}

@media (max-width: 620px) {
  .tvp-cdm-date-heading {
    position: sticky;
    top: var(--tvp-sticky-top, 0);
    z-index: 3;
    margin-top: 0.9rem;
    font-size: 1.08rem;
    box-shadow: 0 4px 12px rgb(23 32 42 / 0.08), inset 0 0 0 1px var(--tvp-cdm-border);
  }

  .tvp-cdm-hero {
    padding: 0.82rem;
  }

  .tvp-cdm-hero h1 {
    font-size: 1.55rem;
  }

  .tvp-cdm-quick-links,
  .tvp-cdm-home-cards,
  .tvp-cdm-home-groups,
  .tvp-cdm-broadcast-grid,
  .tvp-cdm-groups-preview {
    grid-template-columns: 1fr;
  }

  .tvp-cdm-broadcast-info {
    padding: 0;
  }

  .tvp-cdm-home-group-teams {
    grid-template-columns: 1fr;
  }

  .tvp-cdm-tabs {
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 0.1rem;
    -webkit-overflow-scrolling: touch;
  }

  .tvp-cdm-tab {
    flex: 0 0 auto;
  }

  .tvp-cdm-section-head {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.25rem;
  }

  .tvp-cdm-match-teams {
    grid-template-columns: 4.2rem minmax(0, 1fr) auto;
    gap: 0.55rem;
  }

  .tvp-cdm-match-team-stack {
    gap: 0.32rem;
  }

  .tvp-cdm-match-team-line {
    gap: 0.34rem;
  }

  .tvp-cdm-team-ref {
    gap: 0.32rem;
    font-size: 0.8rem;
    line-height: 1.12;
  }

  .tvp-cdm-match-card .tvp-cdm-team-logo {
    width: 2rem;
    height: 2rem;
  }

  .tvp-cdm-match-card .tvp-cdm-team-logo--flag {
    width: 2rem;
    height: 1.5rem;
  }

  .tvp-cdm-match-teams .tvp-cdm-tv-chips {
    grid-column: auto;
    justify-content: flex-end;
  }

  .tvp-cdm-match-kickoff {
    min-height: 3.85rem;
    font-size: 0.96rem;
  }

  .tvp-cdm-tv-chip--expected {
    min-width: 2.9rem;
    padding: 0.22rem 0.42rem;
  }

  .tvp-cdm-tv-chip-logo--expected {
    width: 2rem;
    height: 2rem;
  }

  .tvp-cdm-team-profile {
    align-items: flex-start;
    flex-direction: column;
  }
}
