/*
 * VolleyBond CPT Design System — 1.5.80
 * Canonical typography for analogous UI across Player, National Team,
 * Coach and Tournament profiles. Loaded last so shared components look
 * identical regardless of the CPT in which they are reused.
 */
:root{
  --vb-cpt-ink:#10283f;
  --vb-cpt-green:#173229;
  --vb-cpt-red:#b4452c;
  --vb-cpt-line:#d2cabd;
  --vb-cpt-muted:#65706c;

  --vb-cpt-section-title-size:38px;
  --vb-cpt-section-title-mobile:30px;
  --vb-cpt-section-title-weight:800;
  --vb-cpt-section-title-line:1.12;
  --vb-cpt-section-title-track:-.04em;

  --vb-cpt-kicker-size:13px;
  --vb-cpt-kicker-weight:600;
  --vb-cpt-kicker-line:1.35;
  --vb-cpt-kicker-track:.13em;

  --vb-cpt-browse-size:14px;
  --vb-cpt-card-meta-size:13px;
  --vb-cpt-card-meta-weight:600;
  --vb-cpt-card-title-size:21px;
  --vb-cpt-card-body-size:14px;
  --vb-cpt-card-cta-size:14px;
}

/* ---------- Canonical section headers ---------- */
.vb-player-section-head,
.vb-team-section-head,
.vb-tournament-section-head,
.vb-tournament-related-head{
  gap:28px;
  border-bottom-width:3px;
  border-bottom-style:solid;
  border-bottom-color:var(--vb-cpt-green);
  padding-bottom:21px;
  margin-bottom:31px;
}

.vb-player-section-head h2,
.vb-team-section-head h2,
.vb-tournament-section-head h2,
.vb-tournament-related-head h2{
  color:var(--vb-cpt-ink);
  font-family:Manrope,sans-serif;
  font-size:var(--vb-cpt-section-title-size);
  font-weight:var(--vb-cpt-section-title-weight);
  line-height:var(--vb-cpt-section-title-line);
  letter-spacing:var(--vb-cpt-section-title-track);
  margin:0;
}

.vb-player-section-kicker,
.vb-team-section-head .vb-section-kicker,
.vb-coach-profile .vb-team-section-head .vb-section-kicker,
.vb-tournament-section-head small,
.vb-tournament-related-head small,
.vb-tournament-faq header small{
  display:block;
  color:var(--vb-cpt-red);
  font-family:Manrope,sans-serif;
  font-size:var(--vb-cpt-kicker-size);
  font-weight:var(--vb-cpt-kicker-weight);
  line-height:var(--vb-cpt-kicker-line);
  letter-spacing:var(--vb-cpt-kicker-track);
  text-transform:uppercase;
}

.vb-player-section-head>a,
.vb-team-section-head>a,
.vb-tournament-section-head>a,
.vb-tournament-related-head>a{
  color:var(--vb-cpt-red)!important;
  font-family:Manrope,sans-serif;
  font-size:var(--vb-cpt-browse-size);
  font-weight:800;
  line-height:1.4;
}

/* Preserve intentional dark-section contrast while keeping the same scale. */
.vb-player-career .vb-player-section-head,
.vb-tournament-format .vb-tournament-section-head{
  border-bottom-color:rgba(255,255,255,.61);
}
.vb-player-career .vb-player-section-head h2,
.vb-tournament-format .vb-tournament-section-head h2{color:#fff}
.vb-player-career .vb-player-section-kicker,
.vb-tournament-format .vb-tournament-section-head small{color:#efc54e}

/* ---------- Shared related-section rhythm ---------- */
.vb-player-related,
.vb-team-related-photo,
.vb-coach-related,
.vb-tournament-related-section{
  padding-top:78px;
  padding-bottom:78px;
}

/* Player, National Team, Coach and Tournament related-card typography. */
.vb-player-related-copy small,
.vb-related-team-photo-copy>small,
.vb-related-coach-grid article>small,
.vb-tournament-related-copy small{
  color:var(--vb-cpt-red);
  font-family:Manrope,sans-serif;
  font-size:var(--vb-cpt-card-meta-size);
  font-weight:800;
  line-height:1.4;
  letter-spacing:.02em;
  text-transform:uppercase;
}

.vb-player-related-copy h3,
.vb-related-team-photo-copy h3,
.vb-related-coach-grid h3,
.vb-tournament-related-copy h3{
  color:var(--vb-cpt-ink);
  font-family:Manrope,sans-serif;
  font-size:var(--vb-cpt-card-title-size);
  font-weight:800;
  line-height:1.2;
  letter-spacing:-.025em;
}

.vb-related-team-photo-copy p{
  color:var(--vb-cpt-muted);
  font-size:var(--vb-cpt-card-body-size);
  line-height:1.5;
}

.vb-player-link,
.vb-related-team-view,
.vb-related-coach-grid .vb-entity-link,
.vb-tournament-related-copy>span{
  color:var(--vb-cpt-red)!important;
  font-family:Manrope,sans-serif;
  font-size:var(--vb-cpt-card-cta-size);
  font-weight:800;
  line-height:1.45;
}

/* Related entity cards are static everywhere. */
.vb-player-related-card,
.vb-related-team-photo-card,
.vb-related-coach-grid article,
.vb-tournament-related-card{
  transition:none!important;
  transform:none!important;
  box-shadow:none!important;
}
.vb-player-related-card:hover,
.vb-related-team-photo-card:hover,
.vb-related-coach-grid article:hover,
.vb-tournament-related-card:hover{
  transform:none!important;
  box-shadow:none!important;
}

/* ---------- Tournament labels use the same editorial hierarchy ---------- */
.vb-tournament-story-item>.vb-tournament-story-label,
.vb-tournament-story-item>small{
  font-family:Manrope,sans-serif;
  font-size:var(--vb-cpt-kicker-size);
  font-weight:var(--vb-cpt-kicker-weight);
  line-height:var(--vb-cpt-kicker-line);
  letter-spacing:.08em;
}
.vb-tournament-story-item h3{
  font-family:Manrope,sans-serif;
  font-size:24px;
  font-weight:800;
  line-height:1.28;
  letter-spacing:-.025em;
}

/* ---------- Mobile scale ---------- */
@media(max-width:820px){
  .vb-player-section-head h2,
  .vb-team-section-head h2,
  .vb-tournament-section-head h2,
  .vb-tournament-related-head h2{
    font-size:var(--vb-cpt-section-title-mobile);
  }
}


/* ---------- 1.5.80 — eyebrow/meta parity across every CPT ---------- */
/* Standalone section kickers must match section-header kickers. This covers
   Team honours/history and Coach sections that do not use a header wrapper. */
.vb-player-section-kicker,
.vb-team-profile .vb-section-kicker,
.vb-coach-profile .vb-section-kicker,
.vb-tournament-profile .vb-tournament-section-head small,
.vb-tournament-profile .vb-tournament-related-head small,
.vb-tournament-profile .vb-tournament-faq header small,
.vb-tournament-profile .vb-tournament-story-label,
.vb-tournament-profile .vb-tournament-story-item>small{
  font-family:Manrope,sans-serif!important;
  font-size:var(--vb-cpt-kicker-size)!important;
  font-weight:var(--vb-cpt-kicker-weight)!important;
  line-height:var(--vb-cpt-kicker-line)!important;
  letter-spacing:var(--vb-cpt-kicker-track)!important;
  text-transform:uppercase;
}

/* Keep dark-section eyebrow colors intentional, but not heavier. */
.vb-player-career .vb-player-section-kicker,
.vb-team-dark .vb-section-kicker,
.vb-coach-teams .vb-section-kicker,
.vb-tournament-format .vb-tournament-section-head small{
  font-weight:var(--vb-cpt-kicker-weight)!important;
}

/* Entity-card metadata is one semantic tier everywhere: position, country,
   role, team type and tournament edition all use the same 600 weight. */
.vb-player-related-copy small,
.vb-team-player-copy>small,
.vb-related-team-photo-copy>small,
.vb-related-coach-copy>small,
.vb-related-coach-grid article>small,
.vb-tournament-related-copy small,
.vb-current-team-card small{
  font-family:Manrope,sans-serif!important;
  font-size:var(--vb-cpt-card-meta-size)!important;
  font-weight:var(--vb-cpt-card-meta-weight)!important;
  line-height:1.4!important;
  letter-spacing:.02em!important;
  text-transform:uppercase;
}

/* ---------- Coach related cards = Player related cards ---------- */
.vb-related-coach-grid article{
  display:flex;
  min-width:0;
  flex-direction:column;
  padding:0!important;
  border:1px solid #cfc6b8;
  background:#fbf8f2;
}
.vb-related-coach-image{
  display:block;
  width:100%;
  height:auto!important;
  aspect-ratio:4/4.25;
  overflow:hidden;
  background:#e8e4db;
}
.vb-related-coach-image img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:50% 18%;
}
.vb-related-coach-copy{
  display:flex;
  flex:1;
  min-width:0;
  flex-direction:column;
  padding:19px;
}
.vb-related-coach-copy>small{
  margin:0!important;
  color:var(--vb-cpt-red);
}
.vb-related-coach-copy h3{
  margin:6px 0 16px!important;
  color:var(--vb-cpt-ink);
  font-family:Manrope,sans-serif;
  font-size:var(--vb-cpt-card-title-size)!important;
  font-weight:800!important;
  line-height:1.2!important;
  letter-spacing:-.025em!important;
}
.vb-related-coach-copy h3 a{
  color:var(--vb-cpt-ink)!important;
}
.vb-related-coach-copy .vb-entity-link{
  display:inline-block;
  margin:0!important;
  margin-top:auto!important;
  color:var(--vb-cpt-red)!important;
  font-family:Manrope,sans-serif;
  font-size:var(--vb-cpt-card-cta-size)!important;
  font-weight:800!important;
  line-height:1.45!important;
}

/* Legacy direct-child spacing from entity-templates must not leak into the
   normalized coach card once the copy wrapper is present. */
.vb-related-coach-grid article>.vb-related-coach-copy>small,
.vb-related-coach-grid article>.vb-related-coach-copy>h3,
.vb-related-coach-grid article>.vb-related-coach-copy>.vb-entity-link{
  margin-left:0!important;
  margin-right:0!important;
}
