/* Stat Icons — custom SVG sprite system, replaces Font Awesome stat icons */

.dt-stat-icon {
  display: inline-block;
  width: var(--dt-stat-icon-size, 1em);
  height: var(--dt-stat-icon-size, 1em);
  flex-shrink: 0;
  vertical-align: -.125em;
  fill: currentcolor;
  overflow: visible;
}

/* Size variants */
.dt-stat-icon--sm  { --dt-stat-icon-size: .875em; }
.dt-stat-icon--md  { --dt-stat-icon-size: 1.25em; }
.dt-stat-icon--lg  { --dt-stat-icon-size: 1.5em;  }
.dt-stat-icon--xl  { --dt-stat-icon-size: 2em;    }
.dt-stat-icon--2xl { --dt-stat-icon-size: 2.5em;  }

/* Context sizing — mirrors the .dt-icon font-size rules per component */
.dt-sc-title    .dt-stat-icon { --dt-stat-icon-size: 1rem;  }
.dt-hero__title .dt-stat-icon { --dt-stat-icon-size: 1.2rem; flex-shrink: 0; }

/* Semantic colors — ONLY where color carries meaning */
.dt-stat-icon--card-yellow { color: var(--yellow, #facc15); }
.dt-stat-icon--card-red    { color: var(--danger, #ef4444); }
.dt-stat-icon--injured     { color: var(--danger, #ef4444); }
.dt-stat-icon--suspended   { color: #b91c1c; }

/* Legacy dt-icon utility compatibility */
.dt-stat-icon.dt-icon--xs { --dt-stat-icon-size: .75rem;  }
.dt-stat-icon.dt-icon--sm { --dt-stat-icon-size: .875rem; }
.dt-stat-icon.dt-icon--md { --dt-stat-icon-size: 1rem;    }
.dt-stat-icon.dt-icon--lg { --dt-stat-icon-size: 1.25rem; }
.dt-stat-icon.dt-icon--xl { --dt-stat-icon-size: 1.5rem;  }

.dt-stat-icon.dt-icon--gold,
.dt-stat-icon.text-gold,
.dt-stat-icon.dt-text-gold {
  color: var(--gold, #d4af37);
}

.dt-stat-icon.dt-icon--card-yellow { color: var(--yellow, #facc15); }
.dt-stat-icon.dt-icon--card-red    { color: var(--danger, #ef4444); }
.dt-stat-icon.dt-icon--money       { color: var(--gold, #d4af37); }
.dt-stat-icon.dt-icon--status-injured { color: var(--danger, #ef4444); }
.dt-stat-icon.dt-icon--status-suspended { color: #b91c1c; }

.dt-position-badge {
  --dt-position-badge-color: var(--gold, #d4af37);
  --dt-position-badge-bg: rgb(212 175 55 / 12%);
  --dt-position-badge-border: rgb(212 175 55 / 55%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .28rem;
  min-width: 3.35rem;
  min-height: 1.35rem;
  padding: .12rem .38rem;
  color: var(--dt-position-badge-color);
  font-size: .68rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0;
  white-space: nowrap;
  background: linear-gradient(180deg, rgb(255 255 255 / 8%), transparent), var(--dt-position-badge-bg);
  border: 1px solid var(--dt-position-badge-border);
  border-radius: .35rem;
  box-shadow: inset 0 1px 0 rgb(255 255 255 / 10%);
}

.dt-position-badge__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: .85rem;
  height: .85rem;
  flex: 0 0 .85rem;
}

.dt-position-badge__svg {
  --dt-stat-icon-size: .85rem;
}

.dt-position-badge__label {
  min-width: 1.45rem;
  text-align: center;
}

.dt-position-badge--sm {
  min-width: 2.85rem;
  min-height: 1.2rem;
  gap: .2rem;
  padding: .08rem .3rem;
  font-size: .62rem;
}

.dt-position-badge--sm .dt-position-badge__icon {
  width: .75rem;
  height: .75rem;
  flex-basis: .75rem;
}

.dt-position-badge--sm .dt-position-badge__svg {
  --dt-stat-icon-size: .75rem;
}

.dt-position-badge--sm .dt-position-badge__label {
  min-width: 1.25rem;
}

.dt-position-badge--goalkeeper {
  --dt-position-badge-color: #60a5fa;
  --dt-position-badge-bg: rgb(96 165 250 / 12%);
  --dt-position-badge-border: rgb(96 165 250 / 48%);
}

.dt-position-badge--defender {
  --dt-position-badge-color: #34d399;
  --dt-position-badge-bg: rgb(52 211 153 / 12%);
  --dt-position-badge-border: rgb(52 211 153 / 48%);
}

.dt-position-badge--midfielder {
  --dt-position-badge-color: #facc15;
  --dt-position-badge-bg: rgb(250 204 21 / 12%);
  --dt-position-badge-border: rgb(250 204 21 / 54%);
}

.dt-position-badge--forward {
  --dt-position-badge-color: #fb923c;
  --dt-position-badge-bg: rgb(251 146 60 / 12%);
  --dt-position-badge-border: rgb(251 146 60 / 50%);
}
