/* ============================================================
   Sección Deportes — Noticias León
   ============================================================ */

/* ── Cabecera de sección ─────────────────────────────────────── */

.nl-deportes {
	max-width: 1200px;
	margin: 0 auto;
	padding: var(--esp-8) var(--esp-4);
}

.nl-deportes__cabecera {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: var(--esp-3) 0 var(--esp-3);
	border-bottom: 3px solid var(--leon-purpura, #5b2a86);
	margin-bottom: var(--esp-4);
	flex-wrap: wrap;
}

.nl-deportes__titulo-wrap {
	display: flex;
	align-items: center;
	gap: 10px;
}

.nl-deportes__icono {
	width: 26px;
	height: 26px;
	color: var(--leon-purpura, #5b2a86);
	flex-shrink: 0;
}

.nl-deportes__titulo {
	margin: 0;
	font-size: clamp(1.5rem, 4vw, 2rem);
	font-weight: 800;
	color: var(--color-texto, #1a1a2e);
	letter-spacing: -.03em;
}

.nl-deportes__nav {
	display: flex;
	gap: 6px;
	flex-wrap: wrap;
}

.nl-deportes__nav-link {
	padding: 5px 14px;
	border-radius: 20px;
	font-size: 13px;
	font-weight: 600;
	border: 2px solid var(--leon-purpura, #5b2a86);
	color: var(--leon-purpura, #5b2a86);
	text-decoration: none;
	transition: background .2s, color .2s;
}
.nl-deportes__nav-link:hover {
	background: var(--leon-purpura, #5b2a86);
	color: #fff;
}

/* ── Hero ────────────────────────────────────────────────────── */

.nl-deportes__hero {
	position: relative;
	border-radius: var(--radius-lg, 12px);
	overflow: hidden;
	margin-bottom: var(--esp-3);
	min-height: 340px;
	display: flex;
	align-items: flex-end;
	background: #0a0a15;
}

.nl-deportes__hero-img {
	display: block;
	position: absolute;
	inset: 0;
}
.nl-deportes__hero-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	opacity: .7;
	transition: opacity .3s;
}
.nl-deportes__hero:hover .nl-deportes__hero-img img { opacity: .6; }

/* Degradado oscuro desde abajo */
.nl-deportes__hero::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(
		to top,
		rgba(0, 0, 0, .88) 0%,
		rgba(0, 0, 0, .45) 50%,
		transparent 100%
	);
	pointer-events: none;
}

.nl-deportes__hero-body {
	position: relative;
	z-index: 1;
	padding: clamp(20px, 4vw, 36px);
	color: #fff;
	width: 100%;
}

.nl-deportes__hero-body .nl-kicker--deportes {
	background: var(--leon-purpura, #5b2a86);
	color: #fff;
	padding: 3px 10px;
	border-radius: 4px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	display: inline-block;
	margin-bottom: 10px;
}

.nl-deportes__hero-titular {
	margin: 0 0 10px;
	font-size: clamp(1.25rem, 3.5vw, 1.9rem);
	font-weight: 800;
	line-height: 1.15;
	letter-spacing: -.02em;
}
.nl-deportes__hero-titular a {
	color: #fff;
	text-decoration: none;
}
.nl-deportes__hero-titular a:hover { text-decoration: underline; }

.nl-deportes__hero-excerpt {
	margin: 0 0 12px;
	color: rgba(255,255,255,.82);
	font-size: 1rem;
	line-height: 1.5;
	max-width: 65ch;
}

.nl-deportes__hero-meta {
	font-size: 13px;
	color: rgba(255,255,255,.65);
	display: flex;
	gap: 6px;
}

/* ── Destacados ──────────────────────────────────────────────── */

.nl-deportes__destacados {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--esp-3);
	margin-bottom: var(--esp-4);
}

.nl-deportes__dest-card {
	border-radius: var(--radius-md, 8px);
	overflow: hidden;
	background: var(--bg-card, #fff);
	box-shadow: 0 1px 4px rgba(0,0,0,.06);
	display: flex;
	flex-direction: column;
	transition: transform .2s, box-shadow .2s;
}
.nl-deportes__dest-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 4px 16px rgba(0,0,0,.1);
}

.nl-deportes__dest-img { display: block; aspect-ratio: 16/9; overflow: hidden; }
.nl-deportes__dest-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.nl-deportes__dest-card:hover .nl-deportes__dest-img img { transform: scale(1.03); }

.nl-deportes__dest-body { padding: 16px; flex: 1; display: flex; flex-direction: column; }

.nl-deportes__dest-body .nl-kicker--deportes {
	font-size: 11px;
	font-weight: 700;
	color: var(--leon-purpura, #5b2a86);
	text-transform: uppercase;
	letter-spacing: .06em;
	margin-bottom: 6px;
	display: block;
}

.nl-deportes__dest-titular {
	margin: 0 0 auto;
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: -.01em;
}
.nl-deportes__dest-titular a { color: inherit; text-decoration: none; }
.nl-deportes__dest-titular a:hover { color: var(--leon-purpura, #5b2a86); }

.nl-deportes__dest-meta {
	margin-top: 10px;
	font-size: 12px;
	color: var(--color-meta, #888);
	display: flex;
	gap: 4px;
}

/* ── Widget de partidos ──────────────────────────────────────── */

.nl-deportes__widget-wrap {
	margin-bottom: var(--esp-4);
}

.nl-deportes-widget {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
}

.nl-deportes-widget__bloque {
	background: var(--bg-card, #fff);
	border-radius: var(--radius-md, 8px);
	padding: 20px;
	box-shadow: 0 1px 4px rgba(0,0,0,.06);
}

.nl-deportes-widget__titulo {
	margin: 0 0 14px;
	font-size: 13px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .08em;
	color: var(--color-texto, #1a1a2e);
	display: flex;
	align-items: center;
	gap: 8px;
}

.nl-deportes-widget__dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	flex-shrink: 0;
}
.nl-deportes-widget__dot--prox { background: var(--leon-purpura, #5b2a86); }
.nl-deportes-widget__dot--res  { background: #16a34a; }

.nl-deportes-widget__vacio {
	color: var(--color-meta, #888);
	font-size: 14px;
	text-align: center;
	padding: 20px 0;
}

.nl-partidos-lista {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

/* ── Partido próximo ── */
.nl-partido--prox {
	border-left: 3px solid var(--leon-purpura, #5b2a86);
	padding: 10px 12px;
	background: var(--bg-subtle, #f8f8fc);
	border-radius: 0 6px 6px 0;
}

.nl-partido__enfrentamiento {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 6px;
	flex-wrap: wrap;
}

.nl-partido__equipo {
	font-size: 13px;
	font-weight: 700;
	color: var(--color-texto, #1a1a2e);
}
.nl-partido__equipo--nues { color: var(--leon-purpura, #5b2a86); }
.nl-partido__equipo--riv  { color: var(--color-texto, #1a1a2e); }

.nl-partido__badge {
	font-size: 10px;
	font-weight: 700;
	padding: 2px 7px;
	border-radius: 10px;
	text-transform: uppercase;
	letter-spacing: .04em;
	background: var(--leon-purpura, #5b2a86);
	color: #fff;
}

.nl-partido__info {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	font-size: 12px;
	color: var(--color-meta, #888);
	align-items: center;
}
.nl-partido__comp {
	background: #eee;
	border-radius: 4px;
	padding: 1px 6px;
	font-weight: 600;
	color: #555;
	font-size: 11px;
}
.nl-partido__estadio { color: var(--color-meta, #888); }

/* ── Partido resultado ── */
.nl-partido--res {
	padding: 10px 0;
	border-bottom: 1px solid var(--borde, #eee);
}
.nl-partido--res:last-child { border-bottom: none; }

.nl-partido__marcador {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}

.nl-partido__r-equipo {
	flex: 1;
	font-size: 13px;
	font-weight: 700;
	color: var(--leon-purpura, #5b2a86);
	min-width: 80px;
}
.nl-partido__r-rival {
	flex: 1;
	font-size: 13px;
	color: var(--color-texto, #1a1a2e);
	min-width: 80px;
	text-align: right;
}

.nl-partido__score {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 18px;
	font-weight: 800;
	letter-spacing: -.02em;
}
.nl-partido__score span { color: #ccc; font-weight: 300; }

.nl-partido__badge--victoria { background: #16a34a; color: #fff; }
.nl-partido__badge--derrota  { background: #dc2626; color: #fff; }
.nl-partido__badge--empate   { background: #d97706; color: #fff; }

/* ── Grid de noticias ────────────────────────────────────────── */

.nl-deportes__grid-wrap { margin-top: var(--esp-4); }

.nl-deportes__grid-titulo {
	font-size: 14px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .08em;
	color: var(--color-meta, #888);
	border-bottom: 2px solid var(--borde, #eee);
	padding-bottom: 8px;
	margin: 0 0 var(--esp-3);
}

/* ── Responsive ──────────────────────────────────────────────── */

@media (max-width: 700px) {
	.nl-deportes__destacados  { grid-template-columns: 1fr; }
	.nl-deportes-widget        { grid-template-columns: 1fr; }
	.nl-deportes__cabecera     { flex-direction: column; align-items: flex-start; }
	.nl-deportes__hero-excerpt { display: none; }
}

/* ── Dark mode ───────────────────────────────────────────────── */

.nl-dark-mode .nl-deportes__dest-card,
.nl-dark-mode .nl-deportes-widget__bloque {
	background: #1e1e30;
	box-shadow: none;
}
.nl-dark-mode .nl-partido--prox { background: #15152a; }
.nl-dark-mode .nl-partido--res  { border-bottom-color: #2a2a40; }
.nl-dark-mode .nl-partido__comp { background: #2a2a40; color: #aaa; }
.nl-dark-mode .nl-deportes__grid-titulo { border-bottom-color: #2a2a40; }
.nl-dark-mode .nl-deportes__titulo { color: #f0f0f0; }
