
/* Zhukov Sports · Match detail, isolated from homepage components */
.match-page{min-height:100vh;background:radial-gradient(ellipse 60% 30% at 48% 0%,#18332d 0,transparent 75%),#090e19;color:#f3f7ff}
.match-page a{text-decoration:none}
.match-page .brand-link{display:flex;align-items:center}
.match-page .brand-link img{height:43px;width:auto;max-width:215px}
.match-page .top-actions{display:flex;align-items:center;gap:26px}
.match-page .top-actions a{font-size:13px;font-weight:700;color:#b6c6d9}
.match-page .top-actions a:hover{color:#b8f447}
.match-layout{padding-top:27px;padding-bottom:90px}
.breadcrumbs{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:12px;color:#8699b3;margin-bottom:25px}
.breadcrumbs a{color:#c3d3e4}
.breadcrumbs a:hover{color:#b8f447}
.match-columns{display:grid;grid-template-columns:minmax(0,1fr) 318px;align-items:start;gap:24px}
.match-primary{min-width:0;display:grid;gap:20px}
.match-hero,.match-panel{background:#121b2a;border:1px solid #263248;border-radius:22px;overflow:hidden}
.match-hero{background:radial-gradient(ellipse 80% 100% at 50% -35%,#24483e 0,transparent 75%),linear-gradient(160deg,#182638,#101927);padding:28px 32px 0}
.hero-topline{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;color:#9eb1c5}
.sport-label{display:flex;align-items:center;gap:9px;color:#b8f447;font-weight:800;text-transform:uppercase;letter-spacing:1px}
.status-dot{width:7px;height:7px;background:#b8f447;border-radius:50%;box-shadow:0 0 14px #b8f447}
.hero-date{font-variant-numeric:tabular-nums}
.competition{text-align:center;margin:26px auto 0;font-size:14px;color:#c1d0e0;font-weight:650}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.scoreboard{display:grid;grid-template-columns:minmax(0,1fr) 180px minmax(0,1fr);gap:12px;align-items:center;padding:35px 0 38px}
.contestant{text-align:center;min-width:0}
.team-avatar{width:88px;height:88px;border-radius:26px;margin:0 auto 18px;display:grid;place-items:center;background:linear-gradient(145deg,#355b4a,#1e3540);border:1px solid #47705a;color:#c6ff86;font-size:36px;font-weight:900;box-shadow:0 12px 35px #0003}
.team-avatar.away{background:linear-gradient(145deg,#274b63,#22304d);border-color:#365d80;color:#8ceaff}
.team-name{font-size:clamp(15px,1.65vw,21px);font-weight:850;line-height:1.3;overflow-wrap:anywhere}
.team-role{font-size:12px;color:#8194ab;margin-top:8px}
.score-center{text-align:center}
.big-score{font-size:clamp(44px,6vw,76px);font-weight:900;letter-spacing:-4px;white-space:nowrap;font-variant-numeric:tabular-nums;line-height:1.1}
.big-score span{color:#62758a;margin:0 7px}
.big-score.pending{color:#b8f447;letter-spacing:-2px}
.score-caption{font-size:11px;color:#a1b1c3;margin-top:12px;line-height:1.5}
.match-state{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap;border-top:1px solid #ffffff14;margin:0 -32px;padding:15px 20px;color:#8fa4bb;font-size:12px}
.state-pill{padding:7px 12px;background:#b8f44714;color:#b8f447;border:1px solid #b8f44738;border-radius:99px;font-weight:800}
.match-panel{padding:25px}
.panel-heading{display:flex;align-items:center;gap:12px;margin-bottom:22px}
.panel-heading h2,.match-aside h2{font-size:19px;line-height:1.3;margin:0;letter-spacing:-.4px}
.panel-icon{width:34px;height:34px;border-radius:11px;background:#b8f44717;color:#b8f447;display:grid;place-items:center;font-size:20px}
.info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.info-item{padding:16px;border:1px solid #29384d;background:#182337;border-radius:13px;display:grid;gap:8px;min-width:0}
.info-item span{font-size:12px;color:#93a7be}
.info-item strong{font-size:14px;overflow-wrap:anywhere}
.disclaimer{font-size:12px;line-height:1.7;color:#90a2b7;margin:22px 0 0}
.participants{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.participants>div{border:1px solid #29384d;background:#182337;border-radius:13px;padding:16px;display:flex;align-items:center;gap:11px;flex-wrap:wrap}
.participants strong{font-size:13px;flex:1;min-width:100px;overflow-wrap:anywhere}
.participants small{width:100%;color:#8296ad;padding-left:46px}
.participant-mark{height:35px;width:35px;flex:0 0 35px;border-radius:10px;display:grid;place-items:center;background:#355b4a;color:#b8f447;font-weight:900}
.participant-mark.away{background:#25445d;color:#8ceaff}
.match-aside{display:grid;gap:20px}
.broadcast-panel{padding:28px;background:linear-gradient(155deg,#1b332d,#121b2a 75%);border-color:#365346}
.broadcast-icon{width:53px;height:53px;display:grid;place-items:center;border-radius:17px;background:#b8f447;color:#10191b;font-size:19px;margin-bottom:20px}
.aside-eyebrow{color:#b8f447;font-size:10px;font-weight:900;letter-spacing:1.7px;margin-bottom:12px}
.match-aside h2{font-size:23px;margin-bottom:12px}
.match-aside p{color:#a2b4c8;font-size:13px;line-height:1.75;margin:0 0 22px}
.broadcast-button{display:flex;justify-content:space-between;align-items:center;gap:8px;background:#b8f447;color:#101b14;border-radius:12px;padding:15px;font-size:13px;font-weight:900}
.broadcast-button:hover{background:#d0ff70}
.broadcast-note{color:#8498ad;font-size:11px;line-height:1.65;margin-top:15px}
.aside-secondary{padding:25px}
.aside-secondary h2{font-size:18px}
.copy-link{background:#1e3041;border:1px solid #355068;color:#d6e8f4;border-radius:10px;padding:11px 14px;font-size:12px;font-weight:750}
.copy-link:hover{background:#2b4255}
.match-footer{border-top:1px solid #263248;padding:24px 0;color:#7f91a9;font-size:12px}
.match-footer .wrap{display:flex;justify-content:space-between;gap:20px}
.match-footer a{color:#9ab1c9}
@media(max-width:1050px){.match-columns{grid-template-columns:minmax(0,1fr) 280px}.scoreboard{grid-template-columns:minmax(0,1fr) 120px minmax(0,1fr)}.team-avatar{width:72px;height:72px;border-radius:21px}}
@media(max-width:790px){.match-columns{grid-template-columns:1fr}.match-aside{grid-template-columns:1fr 1fr}.match-page .top-actions a:last-child{display:none}}
@media(max-width:560px){.match-layout{padding-top:20px;padding-bottom:55px}.match-page .topin{min-height:68px}.match-page .brand-link img{max-width:165px;height:auto}.match-page .top-actions{gap:0}.match-page .top-actions a{font-size:12px}.match-hero{padding:20px 15px 0;border-radius:17px}.competition{margin-top:23px}.scoreboard{grid-template-columns:minmax(0,1fr) 82px minmax(0,1fr);gap:5px;padding:30px 0}.team-avatar{width:58px;height:58px;border-radius:17px;font-size:26px;margin-bottom:13px}.team-name{font-size:13px}.team-role{font-size:11px}.big-score{font-size:36px;letter-spacing:-2px}.big-score span{margin:0 2px}.score-caption{font-size:10px}.match-state{margin:0 -15px}.match-panel{padding:19px;border-radius:17px}.info-grid{gap:8px}.info-item{padding:12px}.info-item strong{font-size:12px}.participants{grid-template-columns:1fr}.match-aside{grid-template-columns:1fr}.hero-date{font-size:11px}.match-footer .wrap{flex-wrap:wrap}}


/* Embedded match broadcast */
.match-page .broadcast-button{
  width:100%;
  cursor:pointer;
  font-family:inherit;
}
.match-page #match-stream-status{
  font-size:13px;
  line-height:1.5;
  color:#a9bbcf;
}
.match-page #match-stream-player{
  margin-top:16px;
  width:100%;
  aspect-ratio:16/9;
  background:#05080e;
  border:1px solid #344359;
  border-radius:14px;
  overflow:hidden;
}
.match-page #match-stream-player iframe{
  display:block;
  width:100%;
  height:100%;
  border:0;
}
.match-page #match-stream-player[hidden],
.match-page #match-watch-button[hidden]{
  display:none!important;
}

/* Zhukov Sports - match page player */
#match-watch-button {
  width: 100%;
  cursor: pointer;
  font-family: inherit;
}

#match-stream-status {
  color: #a9bbcf;
  font-size: 13px;
  line-height: 1.5;
  margin-top: 12px;
}

#match-stream-player {
  width: 100%;
  aspect-ratio: 16 / 9;
  margin-top: 16px;
  background: #05080e;
  border: 1px solid #344359;
  border-radius: 14px;
  overflow: hidden;
}

#match-stream-player iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

#match-stream-player[hidden],
#match-watch-button[hidden] {
  display: none !important;
}

/* Team logos on match pages */
.team-avatar {
  position: relative;
  overflow: hidden;
}

.team-avatar img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  position: absolute;
  inset: 0;
  background: #111827;
  padding: 5px;
  box-sizing: border-box;
}

/* Large centered match player */
.match-video-section {
  width: 100%;
  margin: 24px auto;
  padding: 20px;
  background: #101827;
  border: 1px solid #26364b;
  border-radius: 18px;
  box-sizing: border-box;
}

.match-video-section #match-stream-player {
  width: 100%;
  aspect-ratio: 16 / 9;
  margin: 0 auto;
  background: #05080e;
  border-radius: 12px;
  overflow: hidden;
}

.match-video-section iframe {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}

.match-video-section #match-watch-button {
  display: block;
  max-width: 320px;
  margin: 12px auto;
}

/* Full-width responsive video player */
.match-primary {
  min-width: 0;
}

.match-video-section {
  width: 100%;
  max-width: none;
  margin: 24px auto;
  padding: 0;
  background: transparent;
  border: 0;
}

.match-video-section #match-stream-player {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  margin: 0 auto;
  padding: 0;
  border: 0;
  border-radius: 14px;
  overflow: hidden;
  background: #000;
}

.match-video-section #match-stream-player iframe {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: 16 / 9;
  border: 0;
  margin: 0;
  padding: 0;
}

@media (max-width: 768px) {
  .match-video-section {
    margin: 18px auto;
  }

  .match-video-section #match-stream-player {
    border-radius: 10px;
  }
}

/* Center the player across both columns */
@media (min-width: 900px) {
  .match-columns {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    gap: 28px;
  }

  .match-primary {
    display: contents;
  }

  .match-hero {
    grid-column: 1 / -1;
  }

  .match-video-section {
    grid-column: 1 / -1;
    width: 100%;
    max-width: 1100px;
    justify-self: center;
  }

  .match-primary > .match-panel {
    grid-column: 1;
  }

  .match-aside {
    grid-column: 2;
    grid-row: 3 / span 3;
  }
}

/* Final player size correction */
.match-video-section {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box;
}

.match-video-section #match-stream-player:not([hidden]) {
  display: block !important;
  position: relative !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  aspect-ratio: 16 / 9 !important;
  min-height: 0 !important;
  overflow: hidden;
}

.match-video-section #match-stream-player iframe {
  position: absolute !important;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  border: 0;
}

/* Centered player: desktop 50%, mobile full width */
@media (min-width: 900px) {
  .match-video-section {
    width: 50% !important;
    max-width: 50% !important;
    justify-self: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

@media (max-width: 899px) {
  .match-video-section {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* Live match minute */
#match-live-minute:not([hidden]) {
  display: block;
  width: fit-content;
  margin: 0 auto 10px;
  padding: 5px 14px;
  border-radius: 20px;
  background: rgba(34, 197, 94, .15);
  color: #4ade80;
  font-size: 18px;
  font-weight: 800;
  text-align: center;
}
