/**
 * Estilos de DeporStats Core (Partidos, Jugadores, Equipo, Noticias, home).
 *
 * Lenguaje visual: referencia de ESTILO (no de marca) en sitios de clubes de
 * fútbol grandes — tipografía condensada/gruesa en mayúsculas para titulares,
 * navegación oscura de alto contraste, tarjetas con jerarquía clara, mucho
 * espacio en blanco entre secciones.
 *
 * Paleta: azul royal + blanco de la camiseta Nike 2026-27 del Deportivo,
 * con un azul marino oscuro para nav/fondos oscuros y plateado como acento
 * puntual (120 aniversario) — nunca como color principal.
 *
 * Tipografía: Barlow Condensed (titulares, ver DSC_Assets) + Inter (cuerpo).
 *
 * Los tokens viven en :root (no en .dsc-wrap) a propósito: así también
 * pueden usarlos elementos fuera de nuestro propio contenido, como la
 * cabecera del tema (Astra), para que el sitio se vea como un único
 * lenguaje visual y no como "plugin + tema" sin relación entre sí.
 */

:root {
	--dsc-primary: #0047ab;
	--dsc-primary-dark: #00305e;
	--dsc-navy: #001c3d;
	--dsc-silver: #9aa4ae;
	--dsc-silver-bg: #eef0f3;
	--dsc-border: #e2e2e2;
	--dsc-bg-alt: #f7f8fa;
	--dsc-text-muted: #666;
	--dsc-success: #1e8e3e;
	--dsc-warning: #b26a00;
	--dsc-danger: #b3261e;

	--dsc-font-heading: 'Barlow Condensed', 'Arial Narrow', sans-serif;
	--dsc-font-body: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
}

/* Tipografía global: aplicamos Inter al cuerpo del sitio entero (no solo a
   nuestro contenido) para que no se note la costura entre tema y plugin. */
body {
	font-family: var(--dsc-font-body);
}

h1,
h2,
h3,
h4,
.dsc-title {
	font-family: var(--dsc-font-heading);
}

/* Cabecera del sitio (Astra) en azul marino de alto contraste. Selectores
   tomados del HTML real que genera Astra, no adivinados. */
.site-header,
.ast-primary-header-bar {
	background-color: var(--dsc-navy) !important;
	border-color: var(--dsc-navy) !important;
}

.site-branding .site-title a {
	font-family: var(--dsc-font-heading);
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: #fff !important;
}

.main-header-menu a.menu-link {
	font-family: var(--dsc-font-heading);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	color: rgba(255, 255, 255, 0.85) !important;
}

.main-header-menu a.menu-link:hover,
.main-header-menu li.current-menu-item > a.menu-link {
	color: #fff !important;
}

/* En las páginas propias (Inicio, Equipo) quitamos el título genérico que
   pinta el tema encima de nuestro contenido — la primera sección (noticia
   destacada) ya hace de cabecera visual de la página. */
body.page-id-55 .entry-header,
body.page-id-59 .entry-header {
	display: none;
}

/* ---------------------------------------------------------------------- */

.dsc-wrap {
	box-sizing: border-box;
	width: 100%;
	max-width: 1100px;
	margin-top: 3.5rem;
	margin-right: auto;
	margin-bottom: 3.5rem;
	margin-left: auto;
	padding-right: 20px;
	padding-left: 20px;
}

.dsc-wrap:first-child {
	margin-top: 2.5rem;
}

/* Astra subraya los enlaces del contenido en páginas normales (Inicio,
   Equipo) con una regla inline más específica que la nuestra
   (.ast-single-post .entry-content a). Nuestros propios componentes
   (tarjetas, listas, tablas) gestionan ellos mismos su color/hover, así
   que desactivamos ese subrayado una sola vez aquí en vez de pelear la
   especificidad componente a componente. */
.dsc-wrap a {
	text-decoration: none !important;
}

.dsc-title {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin: 0 0 1.75rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.01em;
	font-size: clamp(1.6rem, 3.2vw, 2.2rem);
	color: var(--dsc-navy);
}

.dsc-title .dsc-icon {
	color: var(--dsc-primary);
}

/* Cabecera de sección "puente" en la home, entre el bloque masculino y el
   femenino: sin ella, "Clasificación"/"Líderes de la temporada" se repetirían
   con el mismo título justo debajo de la versión masculina, sin indicar a
   qué equipo pertenecen. */
.dsc-section-heading {
	padding-top: 1.5rem;
	border-top: 1px solid var(--dsc-border);
}

.dsc-section-heading .dsc-title {
	margin-bottom: 0;
}

.dsc-section-heading-sub {
	display: block;
	margin-top: 0.35rem;
	font-family: var(--dsc-font-body);
	font-weight: 500;
	font-size: 0.95rem;
	text-transform: none;
	letter-spacing: normal;
	color: var(--dsc-text-muted);
}

.dsc-icon {
	flex-shrink: 0;
	vertical-align: -3px;
}

.dsc-back-link {
	margin-bottom: 1rem;
}

.dsc-back-link a {
	text-decoration: none;
}

.dsc-breadcrumbs {
	margin-bottom: 1rem;
	font-size: 0.85rem;
	color: var(--dsc-text-muted);
}

.dsc-breadcrumbs a {
	color: var(--dsc-text-muted);
	text-decoration: none;
}

.dsc-breadcrumbs a:hover {
	color: var(--dsc-primary);
	text-decoration: underline;
}

.dsc-breadcrumbs-sep {
	margin: 0 0.4em;
}

.dsc-breadcrumbs-actual {
	color: var(--dsc-navy);
	font-weight: 600;
}

/* Tablas (listado de jugadores y de partidos) */

.dsc-table-wrap {
	overflow-x: auto;
	border: 1px solid var(--dsc-border);
	border-radius: 6px;
}

.dsc-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.95rem;
}

.dsc-table th,
.dsc-table td {
	padding: 0.65rem 0.9rem;
	text-align: left;
	border-bottom: 1px solid var(--dsc-border);
	white-space: nowrap;
}

.dsc-table thead th {
	background: var(--dsc-navy);
	color: #fff;
	font-family: var(--dsc-font-heading);
	font-weight: 700;
	text-transform: uppercase;
	font-size: 0.78rem;
	letter-spacing: 0.05em;
}

.dsc-table tbody tr:last-child td {
	border-bottom: none;
}

.dsc-table tbody tr:hover {
	background: var(--dsc-bg-alt);
}

.dsc-table .dsc-col-num {
	text-align: center;
}

.dsc-table .dsc-col-condicion {
	text-align: center;
	color: var(--dsc-text-muted);
}

.dsc-table a {
	text-decoration: none;
	font-weight: 600;
	color: var(--dsc-primary);
}

.dsc-table a:hover {
	color: var(--dsc-primary-dark);
}

/* Estados de partido (badges) */

.dsc-badge {
	display: inline-block;
	padding: 0.2rem 0.6rem;
	border-radius: 999px;
	font-size: 0.78rem;
	font-weight: 600;
	background: var(--dsc-bg-alt);
	color: var(--dsc-text-muted);
}

.dsc-badge-jugado {
	background: rgba(30, 142, 62, 0.12);
	color: var(--dsc-success);
}

.dsc-badge-programado {
	background: rgba(0, 83, 159, 0.1);
	color: var(--dsc-primary);
}

.dsc-badge-aplazado {
	background: rgba(178, 106, 0, 0.12);
	color: var(--dsc-warning);
}

/* Ficha de jugador */

.dsc-jugador-header {
	display: flex;
	align-items: center;
	gap: 1.75rem;
	margin-bottom: 2rem;
	padding: 2.25rem 2rem;
	flex-wrap: wrap;
	background: var(--dsc-navy);
	border-radius: 8px;
}

/* Avatar: foto real si hay, o un icono de camiseta como marcador de
   posición cuando el jugador todavía no tiene foto subida. */
.dsc-jugador-foto {
	flex-shrink: 0;
	width: 120px;
	height: 120px;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.08);
	border: 3px solid rgba(255, 255, 255, 0.25);
	color: rgba(255, 255, 255, 0.6);
}

.dsc-jugador-foto img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.dsc-jugador-dorsal {
	display: inline-block;
	font-family: var(--dsc-font-heading);
	color: rgba(255, 255, 255, 0.55);
	font-weight: 700;
	font-size: 1.2rem;
}

.dsc-jugador-nombre {
	margin: 0.15rem 0 0.3rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.01em;
	font-size: clamp(1.8rem, 4vw, 2.6rem);
	color: #fff;
}

.dsc-jugador-meta {
	color: rgba(255, 255, 255, 0.75);
	margin: 0;
	font-family: var(--dsc-font-body);
}

.dsc-stats-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
	gap: 1px;
	background: var(--dsc-border);
	border: 1px solid var(--dsc-border);
	border-radius: 6px;
	overflow: hidden;
	margin-bottom: 2rem;
}

.dsc-stat {
	background: #fff;
	padding: 1rem;
	text-align: center;
}

.dsc-stat-value {
	display: block;
	font-family: var(--dsc-font-heading);
	font-size: 1.8rem;
	font-weight: 800;
	color: var(--dsc-primary-dark);
	line-height: 1.2;
}

.dsc-stat-label {
	display: block;
	font-size: 0.78rem;
	color: var(--dsc-text-muted);
	margin-top: 0.2rem;
}

/* Ficha de partido */

.dsc-partido-meta {
	color: var(--dsc-text-muted);
	margin-bottom: 1.5rem;
}

.dsc-marcador {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1.5rem;
	padding: 2rem 1rem;
	background: var(--dsc-navy);
	border-radius: 6px;
	margin-bottom: 1rem;
	text-align: center;
}

.dsc-marcador-equipo {
	font-family: var(--dsc-font-heading);
	font-size: 1.3rem;
	font-weight: 700;
	text-transform: uppercase;
	color: #fff;
	flex: 1;
}

.dsc-marcador-resultado {
	font-family: var(--dsc-font-heading);
	font-size: 2.2rem;
	font-weight: 800;
	color: #fff;
	min-width: 90px;
}

/* El partido "programado" usa el mismo bloque navy que el resto de
   momentos destacados del sitio — solo cambia el "vs" por el marcador. */
.dsc-marcador-pendiente .dsc-marcador-resultado {
	font-size: 1.3rem;
	color: rgba(255, 255, 255, 0.55);
	font-weight: 700;
	text-transform: uppercase;
}

/* Resumen del equipo ([deporstats_equipo]) */

.dsc-equipo-resumen {
	margin-top: 0;
}

.dsc-posicion {
	display: flex;
	align-items: baseline;
	gap: 0.6rem;
	margin-bottom: 1.5rem;
}

.dsc-posicion-num {
	font-family: var(--dsc-font-heading);
	font-size: 2.6rem;
	font-weight: 800;
	color: var(--dsc-navy);
	line-height: 1;
}

.dsc-posicion-label {
	color: var(--dsc-text-muted);
	font-size: 0.9rem;
}

.dsc-proximo-partido {
	margin-top: 1.5rem;
	padding: 1rem 1.25rem;
	background: var(--dsc-bg-alt);
	border-radius: 6px;
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.3rem 0.8rem;
}

.dsc-proximo-label {
	width: 100%;
	font-size: 0.78rem;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	color: var(--dsc-text-muted);
}

.dsc-proximo-rival {
	font-weight: 700;
	font-size: 1.05rem;
	color: var(--dsc-primary-dark);
	text-decoration: none;
}

.dsc-proximo-rival:hover {
	color: var(--dsc-primary);
}

.dsc-proximo-fecha {
	color: var(--dsc-text-muted);
	font-size: 0.9rem;
}

.dsc-proximo-vacio {
	color: var(--dsc-text-muted);
}

/* Noticias ([deporstats_noticias]): una destacada + grid de secundarias.
   El feed de riazor.org no trae imágenes (sin <enclosure> ni
   media:thumbnail), así que la destacada usa un bloque de color a toda
   plancha con tipografía grande en vez de una foto. */

.dsc-noticias {
	margin-top: 0;
}

.dsc-noticia-destacada {
	display: block;
	padding: 2.5rem 2rem;
	margin-bottom: 1.25rem;
	background: var(--dsc-navy);
	border-radius: 8px;
	text-decoration: none;
	color: #fff;
	transition: box-shadow 0.15s ease;
}

.dsc-noticia-destacada:hover {
	box-shadow: 0 10px 30px rgba(0, 28, 61, 0.35);
}

.dsc-noticia-destacada .dsc-noticia-fecha {
	color: var(--dsc-silver);
}

.dsc-noticia-destacada .dsc-noticia-titulo {
	color: #fff;
	font-size: clamp(1.6rem, 4vw, 2.4rem);
	max-width: 46rem;
}

.dsc-noticia-destacada .dsc-noticia-resumen {
	color: rgba(255, 255, 255, 0.78);
	max-width: 40rem;
	font-size: 1rem;
}

.dsc-noticia-destacada .dsc-noticia-leer {
	color: #fff;
}

.dsc-noticias-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 1.25rem;
}

.dsc-noticia-card {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	padding: 1.1rem 1.25rem;
	background: #fff;
	border: 1px solid var(--dsc-border);
	border-top: 3px solid var(--dsc-primary);
	border-radius: 6px;
	text-decoration: none;
	color: inherit;
	transition: box-shadow 0.15s ease, transform 0.15s ease;
}

.dsc-noticia-card:hover {
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08);
	transform: translateY(-2px);
}

.dsc-noticia-fecha {
	display: flex;
	align-items: center;
	gap: 0.3rem;
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	color: var(--dsc-silver);
	font-weight: 600;
}

.dsc-noticia-titulo {
	margin: 0;
	font-family: var(--dsc-font-heading);
	font-weight: 700;
	font-size: 1.2rem;
	line-height: 1.25;
	color: var(--dsc-navy);
}

.dsc-noticia-card:hover .dsc-noticia-titulo {
	color: var(--dsc-primary);
}

.dsc-noticia-resumen {
	margin: 0;
	font-size: 0.9rem;
	color: var(--dsc-text-muted);
	line-height: 1.5;
}

.dsc-noticia-leer {
	display: inline-flex;
	align-items: center;
	gap: 0.25rem;
	margin-top: auto;
	padding-top: 0.5rem;
	font-size: 0.8rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	color: var(--dsc-primary);
}

.dsc-noticias-fuente {
	display: flex;
	align-items: center;
	gap: 0.3rem;
	margin-top: 1.5rem;
	font-size: 0.82rem;
	color: var(--dsc-text-muted);
}

.dsc-noticias-error {
	color: var(--dsc-text-muted);
}

/* Líderes de la temporada ([deporstats_lideres]) */

.dsc-lideres {
	margin-top: 0;
}

.dsc-lideres-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
	gap: 1.25rem;
}

.dsc-lider-card {
	padding: 1.1rem 1.25rem;
	background: #fff;
	border: 1px solid var(--dsc-border);
	border-radius: 6px;
}

.dsc-lider-titulo {
	margin: 0 0 0.75rem;
	font-family: var(--dsc-font-heading);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	font-size: 1rem;
	color: var(--dsc-navy);
	padding-bottom: 0.6rem;
	border-bottom: 2px solid var(--dsc-silver-bg);
}

.dsc-lider-lista {
	list-style: none;
	margin: 0;
	padding: 0;
}

.dsc-lider-lista li {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	padding: 0.4rem 0;
}

.dsc-lider-lista li + li {
	border-top: 1px solid var(--dsc-border);
}

.dsc-lider-lista a {
	display: flex;
	align-items: center;
	gap: 0.4rem;
	text-decoration: none;
	color: inherit;
	min-width: 0;
}

.dsc-lider-lista a:hover .dsc-lider-nombre {
	color: var(--dsc-primary);
}

.dsc-lider-dorsal {
	flex: 0 0 auto;
	font-size: 0.75rem;
	font-weight: 700;
	color: var(--dsc-silver);
}

.dsc-lider-nombre {
	font-size: 0.9rem;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.dsc-lider-valor {
	flex: 0 0 auto;
	font-family: var(--dsc-font-heading);
	font-weight: 800;
	color: var(--dsc-primary-dark);
}

.dsc-lider-vacio {
	margin: 0;
	font-size: 0.85rem;
	color: var(--dsc-text-muted);
}

/* Clasificación ([deporstats_clasificacion]) */

.dsc-clasificacion {
	margin-top: 0;
}

.dsc-table-clasificacion .dsc-col-puntos {
	font-family: var(--dsc-font-heading);
	font-weight: 800;
	color: var(--dsc-primary-dark);
}

.dsc-row-deportivo {
	background: var(--dsc-silver-bg);
	box-shadow: inset 3px 0 0 var(--dsc-primary);
}

.dsc-row-deportivo td {
	font-weight: 700;
	color: var(--dsc-primary-dark);
}

.dsc-clasificacion-vacia,
.dsc-clasificacion-nota {
	font-size: 0.85rem;
	color: var(--dsc-text-muted);
}

.dsc-clasificacion-nota {
	margin-top: 0.75rem;
}

/* KPI de salvación ([deporstats_salvacion]) */

.dsc-salvacion {
	margin-top: 0;
}

.dsc-salvacion-kpi {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.5rem;
	padding: 2.75rem 1.5rem;
	background: var(--dsc-navy);
	border-radius: 8px;
	margin-bottom: 1rem;
	text-align: center;
}

.dsc-salvacion-numero {
	font-family: var(--dsc-font-heading);
	font-size: 4.5rem;
	font-weight: 800;
	line-height: 1;
	color: #fff;
}

.dsc-salvacion-numero--ok {
	color: #4ade80;
	font-size: 3rem;
}

.dsc-salvacion-label {
	max-width: 420px;
	font-size: 0.95rem;
	color: rgba(255, 255, 255, 0.75);
}

.dsc-salvacion-detalle {
	margin: 0 0 0.75rem;
	text-align: center;
	font-size: 0.9rem;
	color: var(--dsc-text-muted);
}

.dsc-salvacion-aviso {
	margin: 0;
	padding: 0.7rem 1rem;
	background: var(--dsc-silver-bg);
	border-radius: 6px;
	text-align: center;
	font-size: 0.8rem;
	color: var(--dsc-text-muted);
}

/* Footer del sitio (DSC_Footer, enganchado en astra_footer_before) */

.dsc-site-footer {
	background: var(--dsc-navy);
	color: rgba(255, 255, 255, 0.7);
	margin-top: 2rem;
}

.dsc-site-footer-inner {
	max-width: 1100px;
	margin: 0 auto;
	padding: 3rem 20px 2rem;
	display: grid;
	grid-template-columns: 2fr 1fr 1fr;
	gap: 2.5rem;
}

.dsc-footer-logo {
	display: inline-block;
	margin-bottom: 0.75rem;
	font-family: var(--dsc-font-heading);
	font-weight: 800;
	font-size: 1.4rem;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: #fff;
}

.dsc-footer-aviso {
	max-width: 32rem;
	margin: 0;
	font-size: 0.88rem;
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.6);
}

.dsc-footer-aviso strong {
	color: rgba(255, 255, 255, 0.85);
}

.dsc-footer-heading {
	margin: 0 0 0.9rem;
	font-family: var(--dsc-font-heading);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	font-size: 0.85rem;
	color: rgba(255, 255, 255, 0.5);
}

.dsc-footer-lista {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
}

.dsc-footer-lista a {
	color: rgba(255, 255, 255, 0.8);
	text-decoration: none;
	font-size: 0.92rem;
}

.dsc-footer-lista a:hover {
	color: #fff;
	text-decoration: underline;
}

.dsc-site-footer-bottom {
	max-width: 1100px;
	margin: 0 auto;
	padding: 1.25rem 20px;
	border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.dsc-site-footer-bottom p {
	margin: 0;
	font-size: 0.8rem;
	color: rgba(255, 255, 255, 0.45);
}

@media (max-width: 700px) {
	.dsc-site-footer-inner {
		grid-template-columns: 1fr;
		gap: 2rem;
	}
}

@media (max-width: 480px) {
	.dsc-jugador-header {
		flex-direction: column;
		text-align: center;
	}

	.dsc-marcador {
		flex-direction: column;
		gap: 0.5rem;
	}

	.dsc-noticia-destacada {
		padding: 1.75rem 1.25rem;
	}
}

/* ---------------------------------------------------------------------- */
/* Páginas de resumen de temporada (/temporada/{año}/{equipo}/)           */
/* ---------------------------------------------------------------------- */

.dsc-temporada-selector {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 1.25rem;
	margin-top: 1.5rem;
}

.dsc-temporada-selector-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.5rem;
	padding: 2.5rem 1.5rem;
	background: var(--dsc-navy);
	color: #fff;
	border-radius: 10px;
	text-align: center;
	transition: transform 0.15s ease;
}

.dsc-temporada-selector-card:not(.dsc-temporada-selector-card--disabled):hover {
	transform: translateY(-3px);
}

.dsc-temporada-selector-card--disabled {
	background: var(--dsc-bg-alt);
	color: var(--dsc-text-muted);
	cursor: default;
}

.dsc-temporada-selector-nombre {
	font-family: var(--dsc-font-heading);
	font-weight: 800;
	text-transform: uppercase;
	font-size: 1.3rem;
	letter-spacing: 0.02em;
}

.dsc-temporada-selector-sub {
	font-size: 0.85rem;
	opacity: 0.75;
}

.dsc-temporada-hero {
	background: var(--dsc-navy);
	color: #fff;
	border-radius: 10px;
	padding: 2rem 2.25rem;
	margin-bottom: 2rem;
}

.dsc-temporada-hero h1 {
	margin: 0 0 0.5rem;
	font-family: var(--dsc-font-heading);
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	font-size: clamp(1.8rem, 4vw, 2.6rem);
	color: #fff; /* el tema define su propio color de h1, que gana a la herencia */
}

.dsc-temporada-hero-linea {
	margin: 0;
	color: rgba(255, 255, 255, 0.85);
	font-size: 1.05rem;
}

.dsc-temporada-narrativa {
	max-width: 72ch;
	margin-bottom: 2.5rem;
	line-height: 1.7;
}

.dsc-temporada-narrativa p {
	margin: 0 0 1.1rem;
}

.dsc-temporada-fuente {
	margin-top: -0.75rem;
	margin-bottom: 1.25rem;
	font-size: 0.85rem;
	color: var(--dsc-text-muted);
	font-style: italic;
}

/* KPIs de temporada: tarjetas grandes, estilo dashboard. */

.dsc-kpi-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 1rem;
	margin-bottom: 2.5rem;
}

.dsc-kpi-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.3rem;
	padding: 1.75rem 1.25rem;
	background: #fff;
	border: 1px solid var(--dsc-border);
	border-radius: 10px;
	text-align: center;
}

.dsc-kpi-card--navy {
	background: var(--dsc-navy);
	border-color: var(--dsc-navy);
	color: #fff;
}

.dsc-kpi-card--navy .dsc-kpi-label {
	color: rgba(255, 255, 255, 0.75);
}

.dsc-kpi-card--navy .dsc-kpi-sub {
	color: rgba(255, 255, 255, 0.6);
}

.dsc-kpi-card-foto {
	color: var(--dsc-silver);
	margin-bottom: 0.25rem;
}

.dsc-kpi-valor {
	font-family: var(--dsc-font-heading);
	font-weight: 800;
	font-size: 2.4rem;
	line-height: 1;
	color: var(--dsc-primary);
}

.dsc-kpi-card--navy .dsc-kpi-valor {
	color: #fff;
}

.dsc-kpi-label {
	font-size: 0.8rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	color: var(--dsc-text-muted);
}

.dsc-kpi-sub {
	font-size: 0.9rem;
	color: var(--dsc-navy);
	font-weight: 600;
}

.dsc-kpi-card--lista {
	align-items: stretch;
	text-align: left;
}

.dsc-kpi-mini-lista {
	list-style: none;
	margin: 0.75rem 0 0;
	padding: 0;
	counter-reset: dsc-kpi-contador;
}

.dsc-kpi-mini-lista li {
	display: flex;
	justify-content: space-between;
	gap: 0.5rem;
	padding: 0.4rem 0;
	border-bottom: 1px solid var(--dsc-border);
	font-size: 0.9rem;
}

.dsc-kpi-mini-lista li:last-child {
	border-bottom: none;
}

.dsc-kpi-mini-lista li::before {
	counter-increment: dsc-kpi-contador;
	content: counter(dsc-kpi-contador) '. ';
	font-weight: 700;
	color: var(--dsc-primary);
}

.dsc-kpi-mini-lista li span {
	color: var(--dsc-text-muted);
	white-space: nowrap;
}

/* Tabla ordenable (jugadores de la temporada) */

.dsc-th-ordenable {
	cursor: pointer;
	user-select: none;
	position: relative;
}

.dsc-th-ordenable:hover {
	background: var(--dsc-primary-dark);
}

.dsc-th-ordenable::after {
	content: '↕';
	margin-left: 0.4em;
	opacity: 0.5;
	font-size: 0.85em;
}

.dsc-th-ordenable[data-orden='asc']::after {
	content: '↑';
	opacity: 1;
}

.dsc-th-ordenable[data-orden='desc']::after {
	content: '↓';
	opacity: 1;
}

/* Badges de resultado (G/E/P) en la tabla de partidos de temporada */

.dsc-badge-resultado-g {
	background: rgba(30, 142, 62, 0.12);
	color: var(--dsc-success);
}

.dsc-badge-resultado-e {
	background: var(--dsc-silver-bg);
	color: var(--dsc-text-muted);
}

.dsc-badge-resultado-p {
	background: rgba(179, 38, 30, 0.1);
	color: var(--dsc-danger);
}

@media (max-width: 480px) {
	.dsc-temporada-hero {
		padding: 1.5rem;
	}
}
