.match-hero { padding: 2.5rem 0 3rem; background: radial-gradient(ellipse at 50% 100%, #d4af371c, transparent 65%), #08090c; border-bottom: 1px solid var(--line, rgba(255,255,255,.12)); }
.match-back { display: inline-block; margin-bottom: 2rem; color: var(--bees-gold); }
.match-competition { margin: .8rem 0 2rem; color: var(--muted); }
.match-scoreboard { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 2rem; text-align: center; }
.match-team h1, .match-team h2 { font-family: var(--font-display, 'Oswald', sans-serif); font-size: clamp(1.7rem, 4vw, 3.3rem); line-height: 1.15; margin: .6rem 0; text-transform: uppercase; }
.match-team--beeston h1, .match-team--beeston h2 { color: var(--bees-gold); }
.match-side { color: var(--muted); font-size: .75rem; letter-spacing: .15em; text-transform: uppercase; }
.match-score > span { display: block; color: var(--bees-gold); font-size: clamp(2.5rem, 6vw, 4.8rem); font-weight: 800; line-height: 1.2; white-space: nowrap; }
.match-score .match-dash { color: #71717c; font-weight: 400; }
.match-score strong { display: block; margin-top: .65rem; font-size: .7rem; letter-spacing: .18em; text-transform: uppercase; }
.match-meta { display: flex; flex-wrap: wrap; justify-content: center; gap: .6rem 2rem; margin-top: 2rem; color: var(--muted); text-align: center; }
.match-hero .btn { display: table; margin: 1.4rem auto 0; }
.match-scorers { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; margin: 1.25rem 0 0; color: #b9bac4; font-size: .85rem; }
.match-scorers p { margin: 0; text-align: center; }
.match-content { padding-bottom: 3rem; }
.match-section-nav { display: flex; gap: 2rem; padding: 1.5rem 0; border-bottom: 1px solid var(--line, rgba(255,255,255,.12)); }
.match-section-nav a { color: var(--bees-gold); font-size: .9rem; }
.match-section { padding-top: 2.75rem; scroll-margin-top: 2rem; }
.match-section-heading h2 { margin: .4rem 0 1.4rem; }
.match-empty { margin: .3rem 0; color: var(--muted); }
.match-timeline { list-style: none; padding: 0; margin: 0; }
.match-event { display: flex; align-items: center; gap: 1.3rem; padding: 1rem 0; border-bottom: 1px solid var(--line, rgba(255,255,255,.12)); }
.match-event:last-child { border: 0; }
.match-minute { color: var(--bees-gold); font-weight: 700; min-width: 2.8rem; }
.match-event .small { margin-top: .25rem; color: var(--muted); }
.match-event-icon { width: .8rem; min-width: .8rem; height: 1rem; border-radius: 2px; }
.match-event-icon.goal { color: var(--bees-gold); height: auto; }
.match-event-icon.green-card { background: #53bb7e; }
.match-event-icon.yellow-card { background: #ffe050; }
.match-event-icon.red-card { background: #ef6262; }
.match-squads { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; align-items: start; }
.match-squad h3 { font-size: 1.7rem; margin: .5rem 0 1.25rem; }
.match-squad h4 { margin-top: 2rem; }
.match-players { list-style: none; padding: 0; margin: 0; }
.match-players li { display: flex; align-items: center; gap: 1rem; min-height: 3.2rem; border-bottom: 1px solid var(--line, rgba(255,255,255,.12)); }
.match-shirt { width: 2.2rem; color: var(--bees-gold); font-weight: 700; }
.match-role { margin-left: auto; font-size: .65rem; letter-spacing: .04em; border: 1px solid var(--line, rgba(255,255,255,.12)); border-radius: 4px; padding: .2rem .35rem; }
.match-roles { margin: 0; }
.match-roles > div { display: grid; grid-template-columns: minmax(9rem, 1fr) 2fr; gap: 1rem; border-bottom: 1px solid var(--line, rgba(255,255,255,.12)); padding: .8rem 0; }
.match-roles > div:last-child { border: 0; }
.match-roles dt { color: var(--muted); }
.match-roles dd { margin: 0; }
.match-neighbours { display: flex; justify-content: space-between; gap: 1rem; margin: 2.5rem 0; }
@media (max-width: 650px) {
  .match-hero { padding-top: 1.75rem; }
  .match-scoreboard { gap: .65rem; }
  .match-team h1, .match-team h2 { font-size: 1.4rem; overflow-wrap: anywhere; }
  .match-score > span { font-size: 2.15rem; }
  .match-score strong { font-size: .6rem; }
  .match-squads { grid-template-columns: 1fr; }
  .match-scorers { gap: 1.5rem; font-size: .75rem; }
  .match-section-nav { gap: 1.4rem; }
  .match-section-nav a { font-size: .8rem; }
  .match-roles > div { grid-template-columns: 1fr 1.25fr; }
}
