/*
 * Paradise Club System — Match Center
 * Built against the actual Sports Leagues game template:
 * templates/game/game.php and templates/content-game.php.
 */

body.single-sl_game{
  --pmc-ink:#111;
  --pmc-muted:#68716d;
  --pmc-line:#e3e8e5;
  --pmc-soft:#f5f7f6;
  --pmc-green:#19a34a;
  --pmc-red:#e33d52;
  background:#f3f5f4 !important;
}

body.single-sl_game .game.game__page{
  width:100%;
  max-width:1160px;
  margin:28px auto 70px;
  color:var(--pmc-ink);
}

body.single-sl_game .game.game__page > .game-header{
  margin:0 0 24px !important;
  background:#fff !important;
  border:1px solid var(--pmc-line) !important;
  border-radius:24px !important;
  box-shadow:0 18px 55px rgba(17,17,17,.08);
  overflow:hidden;
}

/* Competition / stage bar */
body.single-sl_game .game.game__page .game-header__top{
  padding:14px 22px !important;
  margin:0 !important;
  background:#111 !important;
  color:#fff !important;
  border:0 !important;
  font-size:12px;
  line-height:1.4;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}

body.single-sl_game .game.game__page .game-header__top a,
body.single-sl_game .game.game__page .game-header__top span{
  color:#fff !important;
}

body.single-sl_game .game.game__page .game-header__top-separator{
  display:inline-block;
  margin:0 8px;
  opacity:.55;
}

/* Date / time */
body.single-sl_game .game.game__page .game-header__kickoff{
  min-height:50px;
  padding:12px 18px !important;
  margin:0 !important;
  color:var(--pmc-muted);
  background:#fff;
  border-bottom:1px solid var(--pmc-line);
  font-size:14px;
  font-weight:600;
}

body.single-sl_game .game.game__page .game-header__kickoff .anwp-icon{
  width:18px;
  height:18px;
  opacity:.75;
}

/* Main score area: home | score | away */
body.single-sl_game .game.game__page .game-header__main{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 190px minmax(0,1fr);
  align-items:center;
  gap:24px;
  padding:34px 42px 28px;
  margin:0 !important;
}

body.single-sl_game .game.game__page .game-header__team-wrapper{
  min-width:0;
  width:auto !important;
  margin:0 !important;
  padding:0 !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center;
}

body.single-sl_game .game.game__page .game-header__team-logo{
  width:118px !important;
  height:118px !important;
  max-width:118px !important;
  max-height:118px !important;
  padding:10px !important;
  margin:0 !important;
  object-fit:contain !important;
  background:#fff;
  border:1px solid var(--pmc-line);
  border-radius:24px;
  box-shadow:0 10px 28px rgba(17,17,17,.10);
}

body.single-sl_game .game.game__page .game-header__team-title{
  max-width:300px;
  margin:15px auto 0 !important;
  padding:0 !important;
  color:#111 !important;
  font-size:17px !important;
  line-height:1.3 !important;
  font-weight:800 !important;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
}

/* Recent form V V P */
body.single-sl_game .game.game__page .game-header__team-wrapper > .d-none.d-sm-flex{
  display:flex !important;
  margin-top:12px;
}

body.single-sl_game .game.game__page .game-header__team-wrapper > .d-none.d-sm-flex > div{
  display:flex;
  gap:4px;
  justify-content:center;
}

body.single-sl_game .game.game__page .game-header__team-wrapper .anwp-form-result,
body.single-sl_game .game.game__page .game-header__team-wrapper .team-form__item{
  min-width:30px;
  height:28px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:5px;
  font-size:11px;
  font-weight:900;
}

/* Score */
body.single-sl_game .game.game__page .game-header__scores-wrapper.d-sm-flex{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:190px;
  margin:0 !important;
  padding:0 !important;
}

body.single-sl_game .game.game__page .game-header__scores-wrapper.d-sm-flex .game-header__scores-number{
  color:#111;
  font-size:62px;
  line-height:1;
  font-weight:900;
  letter-spacing:-.055em;
}

body.single-sl_game .game.game__page .game-header__scores-wrapper.d-sm-flex .game-header__scores-number + .game-header__scores-number::before{
  content:":";
  display:inline-block;
  margin:0 12px;
  color:#9aa39f;
  font-size:40px;
  font-weight:700;
}

/* Never show the mobile duplicate score on desktop/mobile. */
body.single-sl_game .game.game__page .game-header__team-wrapper .game-header__scores-wrapper.d-inline-block.d-sm-none{
  display:none !important;
}

/* Header events */
body.single-sl_game .game.game__page .game-header__events{
  min-height:36px;
  padding:0 18px;
  color:#56605c;
  font-size:12px;
}

body.single-sl_game .game.game__page > .game-header > .d-flex.px-sm-3{
  margin:0 !important;
  padding:8px 18px 12px !important;
  border-top:1px solid var(--pmc-line);
  background:var(--pmc-soft);
}

body.single-sl_game .game.game__page .game-header__events > *{
  margin-bottom:3px;
}

/* Period scores / full time */
body.single-sl_game .game.game__page .game-header__finished-label{
  padding:14px 20px !important;
  margin:0 !important;
  background:#fff;
  border-top:1px solid var(--pmc-line);
  border-bottom:1px solid var(--pmc-line);
  color:var(--pmc-green);
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

body.single-sl_game .game.game__page .game-header__finished-label span{
  padding:0 !important;
}

/* Footer / venue */
body.single-sl_game .game.game__page .game-header__footer{
  margin:0 !important;
  padding:13px 18px !important;
  background:#fff;
  color:var(--pmc-muted);
  border:0 !important;
  font-size:12px;
  font-weight:600;
}

body.single-sl_game .game.game__page .game-header__footer a{
  color:#303936 !important;
  font-weight:700;
}

/* Sections below the hero */
body.single-sl_game .game.game__page > .anwp-section{
  margin:0 0 22px !important;
  padding:0 !important;
  background:#fff !important;
  border:1px solid var(--pmc-line);
  border-radius:20px;
  box-shadow:0 8px 28px rgba(17,17,17,.045);
  overflow:hidden;
}

body.single-sl_game .game.game__page > .anwp-section > .anwp-block-header{
  margin:0 !important;
  padding:15px 20px !important;
  background:#111 !important;
  color:#fff !important;
  border:0 !important;
  font-size:13px !important;
  line-height:1.4;
  font-weight:850 !important;
  letter-spacing:.045em;
  text-transform:uppercase;
}

body.single-sl_game .game.game__page > .anwp-section > .anwp-block-header *{
  color:#fff !important;
}

body.single-sl_game .game.game__page > .anwp-section > .anwp-block-header + *{
  margin-top:0 !important;
}

body.single-sl_game .game.game__page .game__team-stats,
body.single-sl_game .game.game__page .game__player-stats,
body.single-sl_game .game.game__page .game__players-list{
  padding-bottom:18px !important;
}

/* Team statistics */
body.single-sl_game .game.game__page .team-stats{
  padding:14px 20px 2px;
}

body.single-sl_game .game.game__page .team-stats__title{
  margin:0 0 10px !important;
  color:#343c39;
  font-size:14px;
  font-weight:700;
}

body.single-sl_game .game.game__page .team-stats__value{
  color:#27302c;
  font-size:14px !important;
  font-weight:700;
}

body.single-sl_game .game.game__page .team-stats__bar{
  height:10px !important;
  border-radius:999px !important;
}

body.single-sl_game .game.game__page .team-stats__bar-empty{
  background:#e8ecea !important;
}

/* Team subheaders used by player/staff sections */
body.single-sl_game .game.game__page .team_header{
  min-height:56px;
  margin:0 0 12px !important;
  padding:8px 14px !important;
  background:var(--pmc-soft) !important;
  border:1px solid var(--pmc-line);
  border-radius:13px;
  font-size:14px;
  font-weight:800;
}

body.single-sl_game .game.game__page .team_header .team-logo{
  width:40px !important;
  height:40px !important;
  border-radius:10px;
  object-fit:contain;
}

/* Tables */
body.single-sl_game .game.game__page table.anwp-stats-table,
body.single-sl_game .game.game__page table{
  width:calc(100% - 32px) !important;
  margin:0 16px 18px !important;
  border-collapse:separate !important;
  border-spacing:0 !important;
  border:1px solid var(--pmc-line) !important;
  border-radius:14px !important;
  overflow:hidden !important;
  background:#fff !important;
}

body.single-sl_game .game.game__page table th{
  padding:11px 12px !important;
  background:var(--pmc-soft) !important;
  color:#59635f !important;
  border:0 !important;
  border-bottom:1px solid var(--pmc-line) !important;
  font-size:11px !important;
  font-weight:850 !important;
  text-transform:uppercase;
  letter-spacing:.035em;
}

body.single-sl_game .game.game__page table td{
  padding:11px 12px !important;
  color:#202522 !important;
  border:0 !important;
  border-bottom:1px solid #edf0ee !important;
  font-size:14px !important;
  vertical-align:middle !important;
}

body.single-sl_game .game.game__page table tr:last-child td{
  border-bottom:0 !important;
}

body.single-sl_game .game.game__page table tbody tr:hover td{
  background:#fafbfa !important;
}

/* Player names: preserve Sports Leagues' jersey-number marker exactly as supplied. */
body.single-sl_game .game.game__page .game__player-name-link{
  color:#17201c !important;
  font-weight:600;
}

/* Video */
body.single-sl_game .game.game__page .game__video{
  padding:16px !important;
}

body.single-sl_game .game.game__page .game__video .anwp-sl-v-video__item,
body.single-sl_game .game.game__page .game__video .anwp-sl-video-player,
body.single-sl_game .game.game__page .game__video video{
  border-radius:14px !important;
  overflow:hidden;
}

body.single-sl_game .game.game__page .game__video-info{
  color:var(--pmc-muted);
  font-size:12px;
}

/* Remove legacy card assumptions from the first version. */
body.single-sl_game .game.game__page .game-widget,
body.single-sl_game .game.game__page .game-card{
  border-radius:14px !important;
}

/* Mobile */
@media (max-width:767px){
  body.single-sl_game .game.game__page{
    margin:10px 12px 40px;
    width:auto;
  }

  body.single-sl_game .game.game__page > .game-header{
    border-radius:18px !important;
    margin-bottom:14px !important;
  }

  body.single-sl_game .game.game__page .game-header__top{
    padding:12px 14px !important;
    font-size:10px;
  }

  body.single-sl_game .game.game__page .game-header__kickoff{
    min-height:44px;
    padding:10px 8px !important;
    font-size:11px;
  }

  body.single-sl_game .game.game__page .game-header__main{
    grid-template-columns:minmax(0,1fr) 82px minmax(0,1fr);
    gap:6px;
    padding:22px 10px 18px;
  }

  body.single-sl_game .game.game__page .game-header__team-logo{
    width:72px !important;
    height:72px !important;
    max-width:72px !important;
    max-height:72px !important;
    padding:6px !important;
    border-radius:16px;
  }

  body.single-sl_game .game.game__page .game-header__team-title{
    max-width:120px;
    margin-top:9px !important;
    font-size:12px !important;
  }

  body.single-sl_game .game.game__page .game-header__scores-wrapper.d-sm-flex{
    width:82px;
    display:flex !important;
  }

  body.single-sl_game .game.game__page .game-header__scores-wrapper.d-sm-flex .game-header__scores-number{
    font-size:38px;
  }

  body.single-sl_game .game.game__page .game-header__scores-wrapper.d-sm-flex .game-header__scores-number + .game-header__scores-number::before{
    margin:0 5px;
    font-size:25px;
  }

  body.single-sl_game .game.game__page .game-header__team-wrapper > .d-none.d-sm-flex{
    display:flex !important;
    margin-top:8px;
  }

  body.single-sl_game .game.game__page > .d-flex.px-sm-3{
    padding:6px 8px 9px !important;
  }

  body.single-sl_game .game.game__page > .anwp-section{
    margin-bottom:14px !important;
    border-radius:16px;
  }

  body.single-sl_game .game.game__page > .anwp-section > .anwp-block-header{
    padding:12px 14px !important;
    font-size:11px !important;
  }

  body.single-sl_game .game.game__page table.anwp-stats-table,
  body.single-sl_game .game.game__page table{
    width:calc(100% - 20px) !important;
    margin-left:10px !important;
    margin-right:10px !important;
  }

  body.single-sl_game .game.game__page table th,
  body.single-sl_game .game.game__page table td{
    padding:9px 8px !important;
    white-space:nowrap;
  }

  body.single-sl_game .game.game__page .team_header{
    margin-left:10px !important;
    margin-right:10px !important;
  }

  body.single-sl_game .game.game__page .game__video{
    padding:10px !important;
  }
}


/* Venue moved directly below date/time in the match header. */
body.single-sl_game .game.game__page .game-header__kickoff{
  flex-wrap:nowrap !important;
  row-gap:0;
  gap:0;
}

body.single-sl_game .game.game__page .game-header__kickoff > div:not(.paradise-match-venue){
  margin-left:8px !important;
  margin-right:8px !important;
}

body.single-sl_game .game.game__page .game-header__kickoff .paradise-match-venue{
  flex:0 0 auto;
  width:auto;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  margin:0 8px !important;
  padding:0;
  border-top:0;
  color:#303936;
  font-size:15px;
  line-height:1.2;
  font-weight:600;
  transform:translateY(0);
}

body.single-sl_game .game.game__page .game-header__kickoff .paradise-match-venue svg{
  width:15px;
  height:15px;
  opacity:.8;
}

body.single-sl_game .game.game__page .game-header__kickoff .paradise-match-venue a{
  color:#303936 !important;
  font-weight:700;
  text-decoration:none !important;
}

@media (max-width:767px){
  body.single-sl_game .game.game__page .game-header__kickoff .paradise-match-venue{
    font-size:11px;
    padding-top:6px;
  }
}

/* Clean score: no individual boxes around the numbers. */
body.single-sl_game .game.game__page .game-header__scores-wrapper.d-sm-flex .game-header__scores-number{
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  outline:0 !important;
  padding:0 !important;
}

/* Match header meta: date, time and venue share one aligned baseline. */
body.single-sl_game .game.game__page .game-header__kickoff{
  align-items:center !important;
}

body.single-sl_game .game.game__page .game-header__kickoff > div:not(.paradise-match-venue){
  font-size:15px;
  line-height:1.2;
  align-items:center !important;
}

body.single-sl_game .game.game__page .game-header__kickoff .game__date-formatted{
  font-size:15px;
  line-height:1.2;
}

body.single-sl_game .game.game__page .game-header__kickoff .paradise-match-venue__text{
  color:#303936;
  text-decoration:none !important;
}

body.single-sl_game .game.game__page .game-header__kickoff .paradise-match-venue a{
  color:inherit !important;
  text-decoration:none !important;
  pointer-events:none;
}


/* 1.5.647 – Match header final polish */

/* Team names use Sports Leagues Abbr and occupy the same vertical slot. */
body.single-sl_game .game.game__page .game-header__team-title{
  width:100%;
  min-height:44px;
  max-width:300px;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:15px auto 0 !important;
  padding:0 !important;
  text-align:center !important;
}

/* Keep both recent-form rows on exactly the same vertical level. */
body.single-sl_game .game.game__page .game-header__team-wrapper > .d-none.d-sm-flex{
  min-height:28px;
  margin-top:12px !important;
  align-items:center !important;
  justify-content:center !important;
}

body.single-sl_game .game.game__page .game-header__team-wrapper > .d-none.d-sm-flex > div{
  min-height:28px;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:4px;
}

/* Form cells: equal size and perfectly centered letters. */
body.single-sl_game .game.game__page .game-header__team-wrapper .anwp-form-result,
body.single-sl_game .game.game__page .game-header__team-wrapper .team-form__item{
  width:22px !important;
  min-width:22px !important;
  height:22px !important;
  min-height:22px !important;
  padding:0 !important;
  margin:0 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  line-height:1 !important;
  border-radius:4px;
  font-size:9px !important;
  font-weight:900 !important;
}

/* Clean, compact score with one shared colon. */
body.single-sl_game .game.game__page .game-header__scores-wrapper.d-sm-flex{
  width:180px !important;
  flex:0 0 180px !important;
  gap:0 !important;
}

body.single-sl_game .game.game__page .game-header__scores-wrapper.d-sm-flex .game-header__scores-number{
  position:relative;
  display:inline-block !important;
  width:auto !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  outline:0 !important;
  color:#111 !important;
  font-size:64px !important;
  line-height:1 !important;
  letter-spacing:-.045em !important;
  font-weight:900 !important;
}

body.single-sl_game .game.game__page .game-header__scores-wrapper.d-sm-flex .game-header__scores-number::before,
body.single-sl_game .game.game__page .game-header__scores-wrapper.d-sm-flex .game-header__scores-number::after{
  content:none !important;
  display:none !important;
}

body.single-sl_game .game.game__page .game-header__scores-wrapper.d-sm-flex .game-header__scores-number + .game-header__scores-number::before{
  content:":" !important;
  display:inline-block !important;
  margin:0 10px !important;
  color:#9aa39f !important;
  font-size:42px !important;
  line-height:1 !important;
  font-weight:700 !important;
}

/* Date, time and venue: one centered, evenly aligned row. */
body.single-sl_game .game.game__page .game-header__kickoff{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex-wrap:nowrap !important;
  gap:4px !important;
  min-height:58px;
}

body.single-sl_game .game.game__page .game-header__kickoff > div:not(.paradise-match-venue),
body.single-sl_game .game.game__page .game-header__kickoff .paradise-match-venue{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:5px !important;
  margin:0 7px !important;
  padding:0 !important;
  font-size:15px !important;
  line-height:1.2 !important;
  font-weight:600 !important;
  transform:none !important;
}

body.single-sl_game .game.game__page .game-header__kickoff .paradise-match-venue__text{
  color:#303936 !important;
  font-size:15px !important;
  line-height:1.2 !important;
  font-weight:600 !important;
  text-decoration:none !important;
}

@media (max-width:767px){
  body.single-sl_game .game.game__page .game-header__kickoff{
    min-height:52px;
  }

  body.single-sl_game .game.game__page .game-header__kickoff > div:not(.paradise-match-venue),
  body.single-sl_game .game.game__page .game-header__kickoff .paradise-match-venue,
  body.single-sl_game .game.game__page .game-header__kickoff .paradise-match-venue__text{
    font-size:13px !important;
  }

  body.single-sl_game .game.game__page .game-header__scores-wrapper.d-sm-flex{
    width:150px !important;
    flex-basis:150px !important;
  }

  body.single-sl_game .game.game__page .game-header__scores-wrapper.d-sm-flex .game-header__scores-number{
    font-size:52px !important;
  }

  body.single-sl_game .game.game__page .game-header__scores-wrapper.d-sm-flex .game-header__scores-number + .game-header__scores-number::before{
    font-size:34px !important;
    margin:0 7px !important;
  }
}


/* 1.5.647 – stable score alignment */
body.single-sl_game .game.game__page .game-header__main{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 210px minmax(0,1fr) !important;
  align-items:start !important;
  column-gap:18px !important;
}

body.single-sl_game .game.game__page .game-header__team-wrapper{
  width:100% !important;
  min-width:0 !important;
}

body.single-sl_game .game.game__page .game-header__scores-wrapper.d-sm-flex{
  grid-column:2;
  grid-row:1;
  width:210px !important;
  min-width:210px !important;
  max-width:210px !important;
  height:82px !important;
  flex:none !important;
  display:grid !important;
  grid-template-columns:1fr 34px 1fr !important;
  align-items:center !important;
  justify-items:center !important;
  gap:0 !important;
  margin:28px 0 0 !important;
  padding:0 !important;
}

body.single-sl_game .game.game__page .game-header__scores-wrapper.d-sm-flex .game-header__scores-number{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:auto !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
  white-space:nowrap !important;
  font-size:62px !important;
  line-height:1 !important;
  letter-spacing:-.04em !important;
}

body.single-sl_game .game.game__page .game-header__scores-wrapper.d-sm-flex .game-header__scores-number:first-child{
  grid-column:1;
}

body.single-sl_game .game.game__page .game-header__scores-wrapper.d-sm-flex .game-header__scores-number + .game-header__scores-number{
  grid-column:3;
}

body.single-sl_game .game.game__page .game-header__scores-wrapper.d-sm-flex .game-header__scores-number + .game-header__scores-number::before{
  content:":" !important;
  position:absolute !important;
  display:block !important;
  margin:0 !important;
  transform:translateX(-17px) !important;
  color:#9aa39f !important;
  font-size:40px !important;
  line-height:1 !important;
  font-weight:700 !important;
}

@media (max-width:767px){
  body.single-sl_game .game.game__page .game-header__main{
    grid-template-columns:minmax(0,1fr) 150px minmax(0,1fr) !important;
    column-gap:8px !important;
  }

  body.single-sl_game .game.game__page .game-header__scores-wrapper.d-sm-flex{
    width:150px !important;
    min-width:150px !important;
    max-width:150px !important;
    margin-top:28px !important;
  }

  body.single-sl_game .game.game__page .game-header__scores-wrapper.d-sm-flex .game-header__scores-number{
    font-size:52px !important;
  }

  body.single-sl_game .game.game__page .game-header__scores-wrapper.d-sm-flex .game-header__scores-number + .game-header__scores-number::before{
    transform:translateX(-12px) !important;
    font-size:34px !important;
  }
}


/* 1.5.647 – final score markup: the colon is its own grid item.
   Do not create the colon on either score number; this prevents the
   original separator from overlapping the zero and looking like a dot. */
body.single-sl_game .game.game__page .game-header__scores-wrapper.d-sm-flex{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr) !important;
  align-items:center !important;
  justify-items:center !important;
  width:210px !important;
  min-width:210px !important;
  max-width:210px !important;
  height:82px !important;
  margin:28px 0 0 !important;
  padding:0 !important;
  gap:0 !important;
  flex:none !important;
}

body.single-sl_game .game.game__page .game-header__scores-wrapper.d-sm-flex .game-header__scores-number{
  position:static !important;
  grid-column:auto !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:auto !important;
  min-width:0 !important;
  height:auto !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  outline:0 !important;
  white-space:nowrap !important;
  color:#111 !important;
  font-size:62px !important;
  line-height:1 !important;
  letter-spacing:-.04em !important;
  font-weight:900 !important;
}

body.single-sl_game .game.game__page .game-header__scores-wrapper.d-sm-flex .game-header__scores-number::before,
body.single-sl_game .game.game__page .game-header__scores-wrapper.d-sm-flex .game-header__scores-number::after{
  content:none !important;
  display:none !important;
}

body.single-sl_game .game.game__page .game-header__scores-wrapper.d-sm-flex::before{
  content:":" !important;
  grid-column:2 !important;
  grid-row:1 !important;
  position:static !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:28px !important;
  height:100% !important;
  margin:0 !important;
  padding:0 !important;
  color:#9aa39f !important;
  font-size:40px !important;
  line-height:1 !important;
  font-weight:700 !important;
}

body.single-sl_game .game.game__page .game-header__scores-wrapper.d-sm-flex .game-header__scores-number:first-of-type{
  grid-column:1 !important;
  grid-row:1 !important;
}

body.single-sl_game .game.game__page .game-header__scores-wrapper.d-sm-flex .game-header__scores-number:last-of-type{
  grid-column:3 !important;
  grid-row:1 !important;
}

@media (max-width:767px){
  body.single-sl_game .game.game__page .game-header__scores-wrapper.d-sm-flex{
    width:150px !important;
    min-width:150px !important;
    max-width:150px !important;
    grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr) !important;
    margin-top:28px !important;
  }

  body.single-sl_game .game.game__page .game-header__scores-wrapper.d-sm-flex .game-header__scores-number{
    font-size:52px !important;
  }

  body.single-sl_game .game.game__page .game-header__scores-wrapper.d-sm-flex::before{
    width:24px !important;
    font-size:34px !important;
  }
}


/* 1.5.647 – hide Sports Leagues' original "vs" separator.
   Our own centered colon is already rendered by the score wrapper.
   Leaving the original span visible causes the small artifact beside 0. */
body.single-sl_game .game.game__page .game-header__scores-wrapper.d-sm-flex .game-header__scores-vs{
  display:none !important;
  visibility:hidden !important;
  width:0 !important;
  min-width:0 !important;
  max-width:0 !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
}

/* Keep our separator visually neutral and centered. */
body.single-sl_game .game.game__page .game-header__scores-wrapper.d-sm-flex::before{
  color:#9aa39f !important;
  opacity:1 !important;
  transform:none !important;
}


/* 1.5.647 – score separator uses the exact same color as the score. */
body.single-sl_game .game.game__page .game-header__scores-wrapper.d-sm-flex .game-header__scores-number + .game-header__scores-number::before{
  content:none !important;
  display:none !important;
}

body.single-sl_game .game.game__page .game-header__scores-wrapper.d-sm-flex::before{
  color:#111 !important;
}


/* 1.5.647 – period scores directly under the main score. */
body.single-sl_game .game.game__page .game-header__scores-wrapper.d-sm-flex{
  position:relative !important;
  padding-bottom:42px !important;
}

body.single-sl_game .game.game__page .game-header__scores-wrapper.d-sm-flex .paradise-period-scores{
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  display:block !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  text-align:center !important;
  color:#222 !important;
  font-family:Arial, Helvetica, sans-serif !important;
  font-size:16px !important;
  font-weight:600 !important;
  line-height:1.2 !important;
  white-space:nowrap !important;
}

@media (max-width:767px){
  body.single-sl_game .game.game__page .game-header__scores-wrapper.d-sm-flex{
    padding-bottom:36px !important;
  }

  body.single-sl_game .game.game__page .game-header__scores-wrapper.d-sm-flex .paradise-period-scores{
    font-size:14px !important;
  }
}


/* 1.5.647 – Match Center main section ends after team form. */
body.single-sl_game .game.game__page .game-header__bottom,
body.single-sl_game .game.game__page .game-header__events,
body.single-sl_game .game.game__page .game-header__event-list,
body.single-sl_game .game.game__page .game-header__period,
body.single-sl_game .game.game__page .game-header__periods,
body.single-sl_game .game.game__page .game-header__status,
body.single-sl_game .game.game__page .game-header__footer{
  display:none !important;
}

/* The grey event area is part of the original game header content.
   Hide empty post-score/event containers without affecting the form row. */
body.single-sl_game .game.game__page .game-header__main + *{
  display:none !important;
}

/* Keep the period scores attached to the score area; do not create
   an additional section below the form. */
body.single-sl_game .game.game__page .paradise-period-scores{
  display:none !important;
}


/* 1.5.647 – period scores + Aggregate Text under the main score. */
body.single-sl_game .game.game__page .game-header__scores-wrapper.d-sm-flex{
  position:relative !important;
  padding-bottom:78px !important;
}

body.single-sl_game .game.game__page .game-header__scores-wrapper.d-sm-flex .paradise-period-scores{
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  bottom:39px !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  text-align:center !important;
  color:#111 !important;
  font-family:Arial, Helvetica, sans-serif !important;
  font-size:17px !important;
  font-weight:600 !important;
  line-height:1.2 !important;
  white-space:nowrap !important;
}

body.single-sl_game .game.game__page .game-header__scores-wrapper.d-sm-flex .paradise-aggregate-text{
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  bottom:8px !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  text-align:center !important;
  color:#68716e !important;
  font-family:Arial, Helvetica, sans-serif !important;
  font-size:14px !important;
  font-weight:600 !important;
  line-height:1.2 !important;
  white-space:nowrap !important;
}

@media (max-width:767px){
  body.single-sl_game .game.game__page .game-header__scores-wrapper.d-sm-flex{
    padding-bottom:68px !important;
  }

  body.single-sl_game .game.game__page .game-header__scores-wrapper.d-sm-flex .paradise-period-scores{
    bottom:34px !important;
    font-size:15px !important;
  }

  body.single-sl_game .game.game__page .game-header__scores-wrapper.d-sm-flex .paradise-aggregate-text{
    bottom:7px !important;
    font-size:13px !important;
  }
}


/* 1.5.647 – final layout for period scores and Aggregate Text.
   The score wrapper is a three-row grid:
   row 1 = main score, row 2 = period scores, row 3 = aggregate text. */
body.single-sl_game .game.game__page .game-header__scores-wrapper.d-sm-flex{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr) !important;
  grid-template-rows:82px 25px 22px !important;
  align-items:center !important;
  justify-items:center !important;
  height:140px !important;
  min-height:140px !important;
  max-height:140px !important;
  padding:0 !important;
  margin-top:28px !important;
  margin-bottom:0 !important;
  overflow:visible !important;
}

body.single-sl_game .game.game__page .game-header__scores-wrapper.d-sm-flex .game-header__scores-number:first-of-type,
body.single-sl_game .game.game__page .game-header__scores-wrapper.d-sm-flex .game-header__scores-number:last-of-type{
  grid-row:1 !important;
}

body.single-sl_game .game.game__page .game-header__scores-wrapper.d-sm-flex::before{
  grid-column:2 !important;
  grid-row:1 !important;
  color:#111 !important;
  align-self:center !important;
}

body.single-sl_game .game.game__page .game-header__scores-wrapper.d-sm-flex .paradise-period-scores{
  display:block !important;
  grid-column:1 / 4 !important;
  grid-row:2 !important;
  position:static !important;
  width:auto !important;
  margin:0 !important;
  padding:0 !important;
  text-align:center !important;
  color:#111 !important;
  font-family:Arial, Helvetica, sans-serif !important;
  font-size:15px !important;
  font-weight:600 !important;
  line-height:25px !important;
  white-space:nowrap !important;
}

body.single-sl_game .game.game__page .game-header__scores-wrapper.d-sm-flex .paradise-aggregate-text{
  display:block !important;
  grid-column:1 / 4 !important;
  grid-row:3 !important;
  position:static !important;
  width:auto !important;
  margin:0 !important;
  padding:0 !important;
  text-align:center !important;
  color:#68716e !important;
  font-family:Arial, Helvetica, sans-serif !important;
  font-size:13px !important;
  font-weight:600 !important;
  line-height:22px !important;
  white-space:nowrap !important;
}

/* The native finished label ("Koniec") and the event area are no longer
   part of the redesigned main match section. */
body.single-sl_game .game.game__page .game-header__finished-label{
  display:none !important;
}

body.single-sl_game .game.game__page .game-header__events,
body.single-sl_game .game.game__page .game-header__events + .game-header__events{
  display:none !important;
}

@media (max-width:767px){
  body.single-sl_game .game.game__page .game-header__scores-wrapper.d-sm-flex{
    width:150px !important;
    min-width:150px !important;
    max-width:150px !important;
    grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr) !important;
    grid-template-rows:72px 22px 20px !important;
    height:120px !important;
    min-height:120px !important;
    max-height:120px !important;
    margin-top:20px !important;
  }

  body.single-sl_game .game.game__page .game-header__scores-wrapper.d-sm-flex .paradise-period-scores{
    font-size:14px !important;
    line-height:22px !important;
  }

  body.single-sl_game .game.game__page .game-header__scores-wrapper.d-sm-flex .paradise-aggregate-text{
    font-size:12px !important;
    line-height:20px !important;
  }
}


/* 1.5.647 – public game page shows only Paradise's own match roster. */
body.single-sl_game .game.game__page .game__players-list{
  overflow:hidden;
}

body.single-sl_game .game.game__page .game__players-list:has(.paradise-game-players-meta[data-paradise-hide="1"]){
  display:none !important;
}

body.single-sl_game .game.game__page .game__players-list .paradise-game-players-meta{
  display:none !important;
}


/* 1.5.647 – no public match roster.
   Player statistics remain visible further down the page. */
body.single-sl_game .game.game__page .game__players-list{
  display:none !important;
}

/* Team Statistics: keep the statistics bars/values, remove only the
   team logo/name header cards above them. */
body.single-sl_game .game.game__page .game__team-stats > .anwp-row{
  display:none !important;
}




/* 1.5.647 – player statistics only.
   The native Sports Leagues tables remain intact; only the redundant
   team/group labels are hidden and the first table header is renamed. */

/* Remove the team identity cards from this section. */
body.single-sl_game .game.game__page .game__player-stats .team_header{
  display:none !important;
}

/* The native group label is visually redundant because its text is moved
   into the first header cell by JS. Keep it in the DOM so DataTables layout
   is not disturbed. */
body.single-sl_game .game.game__page .game__player-stats .game-player-group{
  display:none !important;
}

/* Real first header cell of the real statistics table. */
body.single-sl_game .game.game__page .game__player-stats
.anwp-sl-game-player-stats thead th.paradise-player-stat-title{
  text-align:left !important;
  font-weight:700 !important;
  color:#111 !important;
  text-transform:none !important;
}

/* Player number + name stay in the same first column. */
body.single-sl_game .game.game__page .game__player-stats
.anwp-sl-game-player-stats .paradise-player-number{
  display:inline-block !important;
  min-width:30px !important;
  margin-right:8px !important;
  color:#68716e !important;
  font-weight:700 !important;
  text-align:left !important;
}

body.single-sl_game .game.game__page .game__player-stats
.anwp-sl-game-player-stats .paradise-player-name{
  display:inline !important;
}


/* 1.5.647 – player statistics are visually two tables, because DataTables
   renders the header and body in separate scroll containers. Make each
   header/body pair look and behave as ONE continuous table. This is scoped
   only to the player-statistics section. */
body.single-sl_game .game.game__page .game__player-stats
.dataTables_scrollHead,
body.single-sl_game .game.game__page .game__player-stats
.dataTables_scrollBody{
  width:calc(100% - 32px) !important;
  margin-left:16px !important;
  margin-right:16px !important;
}

body.single-sl_game .game.game__page .game__player-stats
.dataTables_scrollHead{
  margin-bottom:0 !important;
  overflow:hidden !important;
}

body.single-sl_game .game.game__page .game__player-stats
.dataTables_scrollBody{
  margin-top:0 !important;
  height:auto !important;
  max-height:none !important;
  overflow:visible !important;
  border-top:0 !important;
}

body.single-sl_game .game.game__page .game__player-stats
.dataTables_scrollHeadInner{
  width:100% !important;
  padding-right:0 !important;
}

body.single-sl_game .game.game__page .game__player-stats
.dataTables_scrollHead table,
body.single-sl_game .game.game__page .game__player-stats
.dataTables_scrollBody table{
  width:100% !important;
  margin:0 !important;
}

body.single-sl_game .game.game__page .game__player-stats
.dataTables_scrollHead table{
  border-bottom-left-radius:0 !important;
  border-bottom-right-radius:0 !important;
  margin-bottom:0 !important;
}

body.single-sl_game .game.game__page .game__player-stats
.dataTables_scrollBody table{
  border-top-left-radius:0 !important;
  border-top-right-radius:0 !important;
  margin-top:0 !important;
  border-top:0 !important;
}

/* The two DataTables tables share one visual border. */
body.single-sl_game .game.game__page .game__player-stats
.dataTables_scrollBody table tbody tr:first-child td{
  border-top:0 !important;
}


/* 1.5.647 – Match page: remove the "Posledné zápasy" section only.
   Video and all other match sections remain visible. */
body.single-sl_game .game.game__page .game__last-games,
body.single-sl_game .game.game__page .game__recent-games,
body.single-sl_game .game.game__page .game__last-matches{
  display:none !important;
}


/* 1.5.647 – stable player-stat table titles.
   The title is rendered from a data attribute instead of replacing the
   header text after DataTables has painted the table. This removes the
   "Brankári/Hráči" load flicker. */
body.single-sl_game .game.game__page .game__player-stats
.anwp-sl-game-player-stats thead th.paradise-player-stat-title{
  position:relative !important;
  text-align:left !important;
  font-weight:700 !important;
  color:#111 !important;
}

body.single-sl_game .game.game__page .game__player-stats
.anwp-sl-game-player-stats thead th.paradise-player-stat-title::before{
  content:attr(data-paradise-stat-title) !important;
  display:inline-block !important;
  color:#111 !important;
  font-weight:700 !important;
}


/* 1.5.647 – DataTables uses a second copy of the table header inside the
   scroll body. We visually join header + body, so that duplicate header
   must remain hidden. Only the player-statistics scroll body is affected. */
body.single-sl_game .game.game__page .game__player-stats
.dataTables_scrollBody > table > thead{
  display:none !important;
}

/* 1.5.647 – planned match uses the exact same score-column geometry as a
   finished match. JavaScript only replaces the score content with VS. */
body.single-sl_game .game.game__page .game-header__scores-wrapper.paradise-planned-score-wrapper::before{
  content:none !important;
  display:none !important;
}

body.single-sl_game .game.game__page .game-header__scores-wrapper.paradise-planned-score-wrapper{
  position:relative !important;
}

body.single-sl_game .game.game__page .game-header__scores-wrapper.paradise-planned-score-wrapper .paradise-match-vs{
  grid-column:2 !important;
  grid-row:1 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  height:100% !important;
  margin:0 !important;
  padding:0 !important;
  color:#111 !important;
  font-size:46px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:-.03em !important;
}

@media (max-width:767px){
  body.single-sl_game .game.game__page .game-header__scores-wrapper.paradise-planned-score-wrapper .paradise-match-vs{
    font-size:34px !important;
  }
}

/* 1.5.647 – planned match: reuse the finished-match score wrapper.
   Only the score content is replaced by VS; no alternate layout is used. */
body.single-sl_game .game.game__page .game-header__scores-wrapper.paradise-planned-score-wrapper .paradise-match-vs{
  grid-column:2 !important;
  grid-row:1 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  height:100% !important;
  margin:0 !important;
  padding:0 !important;
  color:#111 !important;
  font-size:46px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:-.03em !important;
}
@media (max-width:767px){
  body.single-sl_game .game.game__page .game-header__scores-wrapper.paradise-planned-score-wrapper .paradise-match-vs{
    font-size:34px !important;
  }
}

/* Paradise: compact team form buttons */
.team-form__item {
  width: 22px !important;
  min-width: 22px !important;
  height: 22px !important;
  min-height: 22px !important;
  padding: 0 !important;
  margin-left: 3px !important;
  margin-right: 3px !important;
  font-size: 9px !important;
  line-height: 22px !important;
  border-radius: 4px !important;
}

/* Paradise: upcoming game header uses two equal team columns.
   The Sports Core has more-specific 3-column rules, so this selector
   intentionally matches that specificity and wins without changing
   finished matches. */
body.single-sl_game .game.game__page .game-header.game-status__0 .game-header__main {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  column-gap: 24px !important;
}
body.single-sl_game .game.game__page .game-header.game-status__0 .game-header__team-home {
  grid-column: 1 !important;
  grid-row: 1 !important;
}
body.single-sl_game .game.game__page .game-header.game-status__0 .game-header__team-away {
  grid-column: 2 !important;
  grid-row: 1 !important;
}
body.single-sl_game .game.game__page .game-header.game-status__0 .game-header__scores-wrapper {
  display: none !important;
}
body.single-sl_game .game.game__page .game-header.game-status__0 .game-header__scores-vs {
  display: none !important;
}

/* Paradise: mobile game detail box uses the available viewport width. */
@media (max-width: 767px) {
  body.single-sl_game .entry-content .game.game__page {
    width: calc(100vw - 16px) !important;
    max-width: none !important;
    margin-left: calc((100% - 100vw + 16px) / 2) !important;
    margin-right: calc((100% - 100vw + 16px) / 2) !important;
    margin-top: 0 !important;
  }
}

/* Paradise: remove top spacing above the game box on mobile. */
@media (max-width: 767px) {
  body.single-sl_game .game.game__page {
    margin-top: 0 !important;
  }

  body.single-sl_game .game.game__page > .game-header {
    margin-top: 0 !important;
  }
}

/* Paradise: remove Astra top spacing only when Astra is actually in its mobile breakpoint. */
body.ast-header-break-point.single-sl_game .ast-article-single {
  padding-top: 0 !important;
}

body.ast-header-break-point.single-sl_game .entry-content.clear {
  margin-top: 10px !important;
  padding-top: 0 !important;
}

/* Paradise: keep the mobile white game canvas aligned with the wider game sections. */
@media (max-width: 767px) {
  body.single-sl_game .entry-content.clear {
    box-shadow: 0 0 0 14px #fff;
  }
}

body.ast-header-break-point.single-sl_game #primary {
  padding-top: 0 !important;
}

