/* Candidate-only public parity finish.  Keeps BGCACARE's blue/orange identity
 * while supplying the compact responsive behaviours used by the HKS public
 * fixtures. */

:root {
  --bgca-parity-navy: #12395b;
  --bgca-parity-blue: #176fa9;
  --bgca-parity-orange: #e7892f;
  --bgca-parity-paper: #f5f8fb;
}

.bgca-public-masthead {
  display: block;
  max-width: 100%;
  object-fit: cover;
}

.bgca-public-nav .bgca-nav-brand {
  display: none;
  color: var(--bgca-parity-navy);
  font-size: 14px;
  font-weight: 900;
  letter-spacing: .06em;
}

/* The old fixed 1110px hero is deliberately reduced to a compact BGC brand
 * strip on touch devices rather than being accidentally clipped. */
@media (max-width: 767px) {
  .container > .wrap {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow-x: clip;
  }

  .container > .wrap > .bgca-public-masthead {
    width: 100% !important;
    height: auto !important;
    max-height: 76px;
    object-fit: contain;
    object-position: center;
    background: #0c537f;
  }

  .bgca-public-nav {
    min-height: 52px;
    margin-bottom: 0;
    border-color: #d7e1ea;
    background: #fff;
  }

  .bgca-public-nav > .container,
  .bgca-public-nav .navbar-header {
    display: flex;
    align-items: center;
    min-height: 52px;
  }

  .bgca-public-nav .bgca-nav-brand {
    display: block;
    height: auto;
    padding: 16px 0;
    line-height: 20px;
  }

  .bgca-public-nav .navbar-toggle {
    float: none;
    margin: 0 0 0 auto !important;
    border-color: #b8c9d8;
  }

  .bgca-public-nav .navbar-toggle:focus,
  .bgca-public-nav .navbar-toggle:hover {
    border-color: var(--bgca-parity-blue);
    background: #eef6fb;
  }

  .bgca-public-nav .navbar-collapse {
    margin: 0 -12px;
    border-top: 1px solid #d7e1ea;
    background: #fff;
  }

  .bgca-public-nav .navbar-nav {
    margin: 0;
  }

  .bgca-public-nav .navbar-nav > li > a {
    min-height: 46px;
    padding: 13px 16px;
    border-bottom: 1px solid #edf1f5;
    color: #182a39;
    font-weight: 750;
  }
}

.bgca-public-nav a:focus-visible,
.bgca-public-nav button:focus-visible,
.schedule-card:focus-visible,
.md-video--external:focus-visible {
  outline: 3px solid var(--bgca-parity-orange);
  outline-offset: 3px;
}

/* HKS-style media stage also exists when BGC only has an approved external
 * link.  Links are not embedded or fetched until a user activates them. */
.match-detail .md-video--external {
  display: block;
  color: #fff;
  text-decoration: none;
}

.match-detail .md-video--external:hover,
.match-detail .md-video--external:focus {
  color: #fff;
  text-decoration: none;
}

.match-detail .md-video--external .poster {
  background:
    linear-gradient(125deg, rgba(23,111,169,.72), rgba(10,24,40,.9)),
    radial-gradient(100% 100% at 100% 0, #3f84b8 0, #0e1d2e 62%);
}

.match-detail .md-video--external .vtag {
  background: var(--bgca-parity-orange);
}

.match-detail .md-video--external .vlabel {
  max-width: calc(100% - 28px);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.match-detail .md-external-media.md-external-media--stage {
  gap: 0;
  padding: 0;
  border-top: 1px solid #dce3ec;
  background: #f8fafc;
}

.match-detail .md-external-media--stage a {
  flex: 1 1 132px;
  min-height: 44px;
  border: 0;
  border-right: 1px solid #dce3ec;
  border-radius: 0;
  background: transparent;
  color: #28445d;
  font-weight: 850;
}

.match-detail .md-external-media--stage a:last-child {
  border-right: 0;
}

.match-detail .md-external-media--stage a:hover,
.match-detail .md-external-media--stage a:focus {
  background: var(--bgca-parity-navy);
  color: #fff;
}

/* Schedule cards share HKS's date / compact centre-score composition while
 * using BGC blue/orange instead of importing HKS branding. */
.schedule-card.schedule-card--panel {
  border-color: #d6e0e9;
  border-radius: 8px;
  background: #fff;
}

.schedule-card--panel .schedule-card-date-header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  padding: 7px 12px;
  color: #fff;
  background: var(--bgca-parity-navy);
  font-size: 13px;
  font-weight: 850;
  letter-spacing: .02em;
}

.schedule-card--panel .schedule-card-date-header small {
  opacity: .76;
  font-size: 11px;
  font-weight: 700;
}

.schedule-card--panel .schedule-card-main--horizontal {
  grid-template-columns: minmax(0,1fr) 152px minmax(0,1fr);
  min-height: 132px;
}

.schedule-card--panel .schedule-team {
  display: grid;
  grid-template-columns: 64px minmax(0,1fr);
  grid-template-rows: minmax(0,1fr) auto;
  column-gap: 11px;
  justify-items: start;
  padding: 16px 14px;
  text-align: left;
}

.schedule-card--panel .schedule-team .schedule-logo-wrap {
  grid-row: 1 / 3;
  width: 64px;
  height: 64px;
}

.schedule-card--panel .schedule-team .schedule-logo-fallback,
.schedule-card--panel .schedule-team .schedule-team-logo {
  width: 64px;
  height: 64px;
}

.schedule-card--panel .schedule-team .schedule-team-logo {
  object-fit: contain;
}

.schedule-card--panel .schedule-team-name {
  align-self: end;
  width: 100%;
  font-size: 15px;
  line-height: 1.2;
}

.schedule-card--panel .schedule-jersey {
  align-self: start;
}

.schedule-card--panel .schedule-team.away {
  grid-template-columns: minmax(0,1fr) 64px;
  justify-items: end;
  text-align: right;
}

.schedule-card--panel .schedule-team.away .schedule-logo-wrap {
  grid-column: 2;
}

.schedule-card--panel .schedule-team.away .schedule-team-name,
.schedule-card--panel .schedule-team.away .schedule-jersey {
  grid-column: 1;
}

.schedule-card--panel .schedule-scoreboard {
  align-self: stretch;
  justify-content: center;
  padding: 14px 11px;
  color: #fff;
  background: var(--bgca-parity-blue);
  clip-path: polygon(12px 0, calc(100% - 12px) 0, 100% 50%, calc(100% - 12px) 100%, 12px 100%, 0 50%);
}

.schedule-card--panel .schedule-game,
.schedule-card--panel .schedule-time,
.schedule-card--panel .schedule-score,
.schedule-card--panel .schedule-status {
  color: inherit;
}

.schedule-card--panel .schedule-time {
  margin: 4px 0 7px;
  font-size: 26px;
  line-height: 1;
}

.schedule-card--panel .schedule-score-num {
  color: #fff;
}

.schedule-card--panel .schedule-score-num.is-muted {
  opacity: .54;
}

.schedule-card--panel .schedule-status {
  min-width: 0;
  padding: 0;
  background: transparent !important;
  font-size: 11px;
}

.schedule-card--panel .schedule-card-meta {
  padding: 8px 12px;
  border-top-color: #e4ebf1;
}

.schedule-episode-note {
  display: none;
}

.schedule-season-nav[data-bgca-episode-state="grouped"] .schedule-episode-note {
  display: block;
  flex-basis: 100%;
  color: var(--bgca-muted);
  font-size: 11px;
  font-weight: 700;
  text-align: center;
}

.schedule-season-nav[data-bgca-episode-state="unmapped"] .schedule-episode-note {
  display: block;
  flex-basis: 100%;
  color: var(--bgca-muted);
  font-size: 11px;
  text-align: center;
}

/* A named rail keeps leader panels discoverable on desktop and a real
 * horizontal, labelled rail on touch devices. */
.team-rankings-col {
  position: relative;
}

.team-rankings-title {
  margin: 0 0 8px;
  padding: 8px 10px;
  border-left: 4px solid var(--bgca-parity-orange);
  color: var(--bgca-parity-navy);
  font-size: 14px;
  font-weight: 900;
}

@media (min-width: 992px) {
  .team-rankings-col {
    align-self: flex-start;
  }

  .team-rankings-col .panel {
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(18,57,91,.08);
  }

  .team-rankings-col .panel-heading {
    color: #fff !important;
    background: var(--bgca-parity-navy) !important;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  .team-rankings-col {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin-top: 10px;
  }

  .team-rankings-title {
    grid-column: 1 / -1;
    margin-bottom: 0;
  }

  .team-rankings-col .panel {
    margin: 0;
  }
}

@media (max-width: 767px) {
  .schedule-card--panel .schedule-card-main--horizontal {
    grid-template-columns: minmax(0,1fr) 106px minmax(0,1fr);
    min-height: 122px;
  }

  .schedule-card--panel .schedule-team,
  .schedule-card--panel .schedule-team.away {
    display: flex;
    flex-direction: column;
    gap: 3px;
    justify-content: center;
    padding: 12px 7px;
    text-align: center;
  }

  .schedule-card--panel .schedule-team.away {
    align-items: center;
  }

  .schedule-card--panel .schedule-team .schedule-logo-wrap,
  .schedule-card--panel .schedule-team .schedule-logo-fallback,
  .schedule-card--panel .schedule-team .schedule-team-logo {
    width: 50px;
    height: 50px;
  }

  .schedule-card--panel .schedule-team-name {
    align-self: auto;
    font-size: 12px;
  }

  .schedule-card--panel .schedule-jersey {
    align-self: auto;
    font-size: 10px;
  }

  .schedule-card--panel .schedule-scoreboard {
    padding: 12px 7px;
    clip-path: polygon(8px 0, calc(100% - 8px) 0, 100% 50%, calc(100% - 8px) 100%, 8px 100%, 0 50%);
  }

  .schedule-card--panel .schedule-time {
    font-size: 22px;
  }

  .schedule-card--panel .schedule-score-num {
    font-size: 25px;
  }

  .team-rankings-col {
    display: flex;
    flex-wrap: nowrap;
    gap: 8px;
    overflow-x: auto;
    padding-bottom: 8px;
    scroll-snap-type: x proximity;
  }

  .team-rankings-title {
    position: sticky;
    left: 0;
    z-index: 2;
    flex: 0 0 104px;
    align-self: stretch;
    margin: 0;
    background: #fff;
  }

  .team-rankings-col .panel {
    flex: 0 0 212px;
    scroll-snap-align: start;
  }
}

@media (prefers-reduced-motion: reduce) {
  .schedule-card,
  .schedule-card * {
    transition: none !important;
    animation: none !important;
  }
}

/* One public header on every page: proportional artwork and the homepage menu. */
body > .container { width:100%!important; max-width:1170px!important; padding:0 15px!important; }
body > .container > .wrap { padding:0 15px!important; overflow:visible!important; }
body .container > .wrap > img.bgca-public-masthead {
  display:block; width:100%!important; height:auto!important; max-height:none!important;
  margin:0; border-radius:0; object-fit:contain; background:#0c537f;
}
body .container > .wrap > .bgca-public-nav {
  min-height:50px; margin:0 0 20px; border:0; border-radius:0; background:#111827;
}
body .wrap > .bgca-public-nav > .container { display:block; width:100%!important; max-width:100%!important; padding:0 15px; }
body .wrap > .bgca-public-nav .navbar-nav > li > a { padding:15px 12px; color:#fff; font-size:15px; }
body .wrap > .bgca-public-nav .navbar-nav > li:nth-child(2) > a { max-width:245px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
body .wrap > .bgca-public-nav .navbar-nav > li > a:hover,
body .wrap > .bgca-public-nav .navbar-nav > li > a:focus,
body .wrap > .bgca-public-nav .navbar-nav > .open > a { color:#fff; background:#24465f; }
body .wrap > .bgca-public-nav .dropdown-menu > li > a { color:#182a39; }
@media(max-width:767px) {
  body > .container { padding:0!important; }
  body > .container > .wrap { padding:0 10px 18px!important; }
  body .container > .wrap > img.bgca-public-masthead { width:calc(100% + 20px)!important; max-width:none!important; margin:0 -10px; }
  body .container > .wrap > .bgca-public-nav { position:sticky; top:0; z-index:50; min-height:52px; margin:0 -10px 10px; box-shadow:0 8px 24px rgba(0,0,0,.22); }
  body .wrap > .bgca-public-nav > .container { padding:0; }
  body .wrap > .bgca-public-nav .navbar-header { display:block!important; width:100%; min-height:52px; margin:0!important; }
  body .wrap > .bgca-public-nav .navbar-brand { float:left; display:block; height:52px; margin:0; padding:16px 0 16px 16px; color:#fff; font-size:15px; line-height:20px; letter-spacing:0; }
  body .wrap > .bgca-public-nav .navbar-toggle { float:right; width:44px; height:44px; margin:4px 8px 4px 0!important; padding:7px 0!important; border:0!important; border-radius:0; color:#fff; background:transparent!important; box-shadow:none; }
  body .wrap > .bgca-public-nav .navbar-toggle::after { content:'\f0c9'; font:18px/28px FontAwesome; }
  body .wrap > .bgca-public-nav .navbar-toggle .icon-bar,
  body .wrap > .bgca-public-nav .navbar-toggle .fa { display:none; }
  body .wrap > .bgca-public-nav #bgca-public-menu { width:100%; max-height:calc(100vh - 52px); margin:0; padding:0; border:0; overflow-y:auto; background:#111827; }
  body .wrap > .bgca-public-nav #bgca-public-menu .navbar-nav { float:none; width:100%; margin:0; }
  body .wrap > .bgca-public-nav #bgca-public-menu .navbar-nav > li > a { min-height:48px; max-width:none; padding:14px 18px; border-top:1px solid rgba(255,255,255,.08); border-bottom:0; color:#fff; font-size:15px; line-height:20px; white-space:normal; }
  body .wrap > .bgca-public-nav #bgca-public-menu .dropdown-menu { background:#111827; }
  body .wrap > .bgca-public-nav #bgca-public-menu .dropdown-menu > li > a { color:#fff; }
  body .wrap > .bgca-public-nav #bgca-public-menu .dropdown-menu > li > a:hover,
  body .wrap > .bgca-public-nav #bgca-public-menu .dropdown-menu > li > a:focus { color:#fff; background:#24465f; }
}
@media(min-width:768px) and (max-width:991px) {
  body .wrap > .bgca-public-nav .navbar-nav > li > a { padding:15px 9px; font-size:14px; }
  body .wrap > .bgca-public-nav .navbar-nav > li:nth-child(2) > a { max-width:190px; }
}
/* Keep the legacy player data tables inside the shared page width. */
.player-box table.table-responsive { display:block; max-width:100%; overflow-x:auto; }

/* Nested navigation must stay inside the viewport, including touch devices. */
#bgca-public-menu > .navbar-nav > .dropdown:not(.open) > .dropdown-menu { display:none; }
#bgca-public-menu > .navbar-nav > .dropdown.open > .dropdown-menu { display:block; }
#bgca-public-menu .dropdown-submenu > .dropdown-menu { top:0; left:100%; margin:0; }
#bgca-public-menu .dropdown-submenu:hover > .dropdown-menu { display:none; }
#bgca-public-menu .dropdown-submenu.is-expanded > .dropdown-menu { display:block; }
#bgca-public-menu .dropdown-submenu.opens-left > .dropdown-menu { left:auto; right:100%; }
#bgca-public-menu .dropdown-menu { min-width:220px; max-width:calc(100vw - 32px); border-radius:4px; }
#bgca-public-menu .dropdown-menu > li > a { min-height:44px; padding:11px 16px; white-space:normal; }
#bgca-public-menu .dropdown-menu:not(:has(.dropdown-submenu)) { max-height:min(60vh,420px); overflow-y:auto; }
#bgca-public-menu a:focus-visible { outline:2px solid #f6c44f; outline-offset:-3px; }
@media(max-width:767px) {
  body .wrap > .bgca-public-nav #bgca-public-menu .dropdown-menu { position:static; float:none; width:100%; min-width:0; max-width:100%; max-height:none; margin:0; padding:0; border:0; border-radius:0; box-shadow:none; overflow:visible; background:#172234; }
  body .wrap > .bgca-public-nav #bgca-public-menu .dropdown-submenu > .dropdown-menu { position:static; top:auto; left:auto; right:auto; margin:0; background:#1e2d42; }
  body .wrap > .bgca-public-nav #bgca-public-menu .dropdown-menu > li > a { padding:12px 28px; border:0; color:#fff; line-height:20px; }
  body .wrap > .bgca-public-nav #bgca-public-menu .dropdown-submenu > .dropdown-menu > li > a { padding-left:44px; }
  #bgca-public-menu .dropdown-submenu > a::after { margin:7px 0 0 10px; border-width:5px 5px 0; border-color:#afc5dd transparent transparent; }
  #bgca-public-menu .dropdown-submenu.is-expanded > a::after { transform:rotate(180deg); }
}

@media(min-width:768px) { #bgca-public-menu > .navbar-nav > .dropdown.dropdown-align-right > .dropdown-menu { left:auto; right:0; } }

#bgca-public-menu .bgca-nav-empty { padding:14px 16px; color:#52657a; }
@media(max-width:767px) { #bgca-public-menu .bgca-nav-empty { color:#c7d5e6; padding-left:44px; } }

/* Shared team navigation: search above the ordered division list. */
#bgca-public-menu .bgca-team-menu { min-width:280px; }
#bgca-public-menu .bgca-nav-search { padding:12px 14px; }
#bgca-public-menu .bgca-nav-search label { display:block; margin-bottom:6px; color:#52657a; font-size:13px; }
#bgca-public-menu .bgca-nav-search input { width:100%; min-height:42px; color:#182a39; background:#fff; }
#bgca-public-menu .bgca-nav-team-results { list-style:none; margin:8px -14px -12px; padding:0; max-height:320px; max-height:min(45vh,320px); overflow-y:auto; }
#bgca-public-menu .bgca-nav-team-results[hidden], #bgca-public-menu .bgca-nav-team-group[hidden] { display:none!important; }
#bgca-public-menu .bgca-nav-team-results a { display:block; padding:11px 16px; color:#182a39; text-decoration:none; }
#bgca-public-menu .bgca-nav-team-results small { display:block; margin-top:3px; color:#52657a; font-size:12px; }
#bgca-public-menu .bgca-nav-team-results a:hover, #bgca-public-menu .bgca-nav-team-results a:focus { background:#eaf2f9; }
@media(max-width:767px) {
  #bgca-public-menu .bgca-nav-search label, #bgca-public-menu .bgca-nav-team-results small { color:#c7d5e6; }
  #bgca-public-menu .bgca-nav-team-results a { color:#fff; padding-left:28px; }
  #bgca-public-menu .bgca-nav-team-results a:hover, #bgca-public-menu .bgca-nav-team-results a:focus { background:#24465f; }
}
