/* Football player profiles and team squads (the sport's colours come from sports.css via body.theme-football). */
.player-hero__row { display: flex; align-items: center; gap: clamp(16px, 3vw, 32px); min-inline-size: 0; }
.player-hero__number {
  display: grid; place-items: center; flex: none; inline-size: clamp(72px, 12vw, 120px); aspect-ratio: 1; border-radius: 24px;
  background: rgb(255 255 255 / 0.12); box-shadow: inset 0 0 0 2px rgb(255 255 255 / 0.25);
  font-family: "Archivo", "Inter", sans-serif; font-stretch: 70%; font-weight: 900; font-size: clamp(2.5rem, 7vw, 4.5rem); color: var(--hub-accent);
}
.player-hero__text { display: grid; gap: var(--space-2); min-inline-size: 0; }
.player-hero__name { font-size: clamp(2.25rem, 6.5vw, 4.75rem); }
.player-hero__club {
  display: inline-flex; align-items: center; gap: var(--space-2); justify-self: start; min-block-size: 40px; padding: 4px 14px 4px 6px; border-radius: 999px;
  background: #FFFFFF; color: var(--hub-deep); font-weight: 800; text-decoration: none;
}
:root[dir="rtl"] .player-hero__club { padding: 4px 6px 4px 14px; }
.player-hero__club .crest { inline-size: 28px; block-size: 28px; }

.player-facts { display: grid; gap: var(--space-3); margin: 0; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); }
.player-facts div { display: grid; gap: 4px; align-content: start; padding: var(--space-4); border-radius: var(--radius-m); background: var(--surface); border: 1px solid var(--line); }
.player-facts dt { font-size: 0.6875rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink-2); }
:root[dir="rtl"] .player-facts dt { letter-spacing: 0; font-size: var(--step--1); }
.player-facts dd { display: grid; gap: 2px; margin: 0; font-family: "Archivo", "Inter", sans-serif; font-stretch: 85%; font-weight: 800; font-size: var(--step-2); line-height: 1.15; }
:root[dir="rtl"] .player-facts dd { font-family: inherit; font-stretch: 100%; }
.player-facts small { font-family: var(--font-ui); font-stretch: 100%; font-size: 0.75rem; font-weight: 600; color: var(--ink-2); }

.career { display: grid; gap: var(--space-2); }
.career__title { margin: 0; font-size: var(--step-0); font-weight: 800; }
.career__table { inline-size: 100%; border-collapse: collapse; font-size: var(--step--1); background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-m); overflow: hidden; }
.career__table th { padding: var(--space-2) var(--space-3); text-align: start; font-size: 0.6875rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; color: var(--ink-2); background: var(--surface-2); }
.career__table td { padding: var(--space-2) var(--space-3); border-block-start: 1px solid var(--line); }
.career__table td a { font-weight: 700; color: var(--ink); }
.career__table .num { text-align: end; }
.career__loan { color: var(--ink-2); font-weight: 600; }
.nowrap { white-space: nowrap; }

.player-squads, .player-transfers { display: grid; gap: var(--space-2); margin: 0; padding: 0; list-style: none; }
.player-squad { display: flex; align-items: center; gap: var(--space-3); padding: var(--space-3); border-radius: var(--radius-m); background: var(--surface); border: 1px solid var(--line); color: var(--ink); text-decoration: none; }
.player-squad:hover { border-color: var(--hub-line); }
.player-squad__text { display: grid; gap: 2px; min-inline-size: 0; }
.player-squad__team { font-weight: 800; }
.player-squad__role { font-size: 0.75rem; color: var(--ink-2); }
.player-transfer { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: var(--space-3); padding: var(--space-3); border-radius: var(--radius-m); background: var(--surface); border: 1px solid var(--line); font-size: var(--step--1); }
.player-transfer__date { color: var(--ink-2); font-weight: 700; white-space: nowrap; }
.player-transfer__move a { font-weight: 700; color: var(--ink); }
.player-transfer__arrow { color: var(--hub-line); font-weight: 800; padding-inline: 4px; }
:root[dir="rtl"] .player-transfer__arrow { display: inline-block; transform: scaleX(-1); }
.player-transfer__badge { padding: 2px 8px; border-radius: 999px; background: var(--surface-2); font-size: 0.6875rem; font-weight: 800; white-space: nowrap; }
.player-transfer__badge--loan { background: color-mix(in srgb, var(--promo) 14%, var(--surface)); color: var(--promo); }
.player-transfer__badge--free { background: var(--atlas-tint); color: var(--atlas-green); }
.player-source { margin: 0; font-size: 0.75rem; color: var(--ink-2); }
@media (max-width: 599px) {
  .player-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .player-facts dd { font-size: var(--step-1); }
  .player-transfer { grid-template-columns: minmax(0, 1fr) auto; }
  .player-transfer__date { grid-column: 1 / -1; }
}

/* Team page: the squad by line, arrivals and departures */
.team-squad { display: grid; gap: var(--space-4); }
.team-squad__line { display: grid; gap: var(--space-2); }
.team-squad__title { margin: 0; font-size: 0.75rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink-2); }
:root[dir="rtl"] .team-squad__title { letter-spacing: 0; font-size: var(--step--1); }
.team-squad__list { display: grid; gap: var(--space-2); margin: 0; padding: 0; list-style: none; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); }
.team-player { display: flex; align-items: center; gap: var(--space-3); min-block-size: 52px; padding: var(--space-2) var(--space-3); border-radius: var(--radius-m); background: var(--surface-2); color: var(--ink); text-decoration: none; }
.team-player:hover { background: var(--surface-3); }
.team-player__number { display: grid; place-items: center; flex: none; inline-size: 32px; block-size: 32px; border-radius: 8px; background: var(--surface); font-weight: 800; font-size: var(--step--1); }
.team-player__text { display: grid; gap: 1px; min-inline-size: 0; }
.team-player__name { font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.team-player__meta { font-size: 0.75rem; color: var(--ink-2); }
.team-moves { display: grid; gap: var(--space-4); }
@media (min-width: 700px) { .team-moves { grid-template-columns: 1fr 1fr; } }
.team-moves__title { margin: 0 0 var(--space-2); font-size: var(--step-0); font-weight: 800; }
/* The team header sits on the sport's colour: its figures read white on glass. */
.theme-sport .team-head .team-stats div { background: rgb(255 255 255 / 0.12); box-shadow: inset 0 0 0 1px rgb(255 255 255 / 0.2); color: #FFFFFF; }
.theme-sport .team-head .team-stats dt { color: rgb(255 255 255 / 0.75); }
.theme-sport .team-head .team-head__facts { color: rgb(255 255 255 / 0.82); }
