/*
Theme Name:   LFC
Theme URI:    https://www.ligafutbolchapas.com/
Description:  Tema de la Liga Española de FutbolChapas, con el diseño C · Moderna.
Author:       Liga Española de FutbolChapas
Version:      0.3.1
Requires at least: 6.2
Requires PHP: 7.4
License:      GPL-2.0-or-later
Text Domain:  lfc
*/

/*
 * Hoja global: fuentes, tokens, base, cabecera, pie y piezas compartidas.
 * El CSS de cada sección de portada vive en su bloque (blocks/*\/style.css).
 *
 * @version 0.3.0
 *
 * Changelog
 * 0.1.0 — Primera versión, traducida del prototipo de Claude Design
 *         (dirección C). Todos los colores y medidas salen de ahí; lo que se
 *         repetía en línea en el prototipo aquí es un token o una clase.
 *         Cambios sobre el prototipo, todos por móvil:
 *         · Las columnas «contenido + lateral» (noticia, club, ranking,
 *           competición) se apilan por debajo de 900 px. En el prototipo el
 *           lateral mantenía 280 px mínimo y aplastaba el contenido.
 *         · Las tablas esconden la columna de club en móvil y la ponen debajo
 *           del nombre.
 *         · El menú se pliega tras un botón por debajo de 960 px.
 *         Todas las columnas flexibles son minmax(0, 1fr): con 1fr a secas el
 *         mínimo es el min-content y un nombre largo desborda la celda.
 * 0.3.0 — Tema propio, sin Astra: fuera las anulaciones de su contenedor.
 *         Estilos nuevos para lo que antes pintaba Astra: enlace de saltar al
 *         contenido, páginas sueltas, comentarios y el contenido de las
 *         páginas de la tienda.
 */

/* ---------------------------------------------------------------------------
 * Fuentes (dentro del tema: ver inc/assets.php)
 * ------------------------------------------------------------------------ */

@font-face { font-family: 'Barlow Condensed'; font-style: normal; font-weight: 500; font-display: swap; src: url(assets/fonts/barlow-condensed-latin-500-normal.woff2) format('woff2'); }
@font-face { font-family: 'Barlow Condensed'; font-style: normal; font-weight: 600; font-display: swap; src: url(assets/fonts/barlow-condensed-latin-600-normal.woff2) format('woff2'); }
@font-face { font-family: 'Barlow Condensed'; font-style: normal; font-weight: 700; font-display: swap; src: url(assets/fonts/barlow-condensed-latin-700-normal.woff2) format('woff2'); }
@font-face { font-family: 'Barlow Condensed'; font-style: normal; font-weight: 800; font-display: swap; src: url(assets/fonts/barlow-condensed-latin-800-normal.woff2) format('woff2'); }
@font-face { font-family: 'IBM Plex Sans'; font-style: normal; font-weight: 400; font-display: swap; src: url(assets/fonts/ibm-plex-sans-latin-400-normal.woff2) format('woff2'); }
@font-face { font-family: 'IBM Plex Sans'; font-style: normal; font-weight: 500; font-display: swap; src: url(assets/fonts/ibm-plex-sans-latin-500-normal.woff2) format('woff2'); }
@font-face { font-family: 'IBM Plex Sans'; font-style: normal; font-weight: 600; font-display: swap; src: url(assets/fonts/ibm-plex-sans-latin-600-normal.woff2) format('woff2'); }
@font-face { font-family: 'IBM Plex Sans'; font-style: normal; font-weight: 700; font-display: swap; src: url(assets/fonts/ibm-plex-sans-latin-700-normal.woff2) format('woff2'); }
@font-face { font-family: 'IBM Plex Mono'; font-style: normal; font-weight: 400; font-display: swap; src: url(assets/fonts/ibm-plex-mono-latin-400-normal.woff2) format('woff2'); }
@font-face { font-family: 'IBM Plex Mono'; font-style: normal; font-weight: 500; font-display: swap; src: url(assets/fonts/ibm-plex-mono-latin-500-normal.woff2) format('woff2'); }
@font-face { font-family: 'IBM Plex Mono'; font-style: normal; font-weight: 600; font-display: swap; src: url(assets/fonts/ibm-plex-mono-latin-600-normal.woff2) format('woff2'); }

/* ---------------------------------------------------------------------------
 * Tokens
 * ------------------------------------------------------------------------ */

:root {
	/* El azul del logo y el verde tienen el mismo peso (lo pidió el club). */
	--lfc-color-navy: #10233D;
	--lfc-color-navy-profundo: #0A1A2E;
	--lfc-color-navy-2: #152C4B;
	--lfc-color-verde: #14A44A;
	--lfc-color-verde-hover: #17BC55;
	--lfc-color-verde-oscuro: #0E7C37;
	--lfc-color-verde-claro: #6FE49B;
	--lfc-color-fondo: #F1F4F8;
	--lfc-color-blanco: #fff;
	--lfc-color-texto-suave: rgba(16, 35, 61, 0.55);
	--lfc-color-texto-medio: rgba(16, 35, 61, 0.66);
	--lfc-color-linea: rgba(16, 35, 61, 0.08);
	--lfc-color-borde: rgba(16, 35, 61, 0.1);
	--lfc-color-borde-fuerte: rgba(16, 35, 61, 0.2);
	--lfc-color-claro-suave: rgba(255, 255, 255, 0.72);
	--lfc-color-claro-tenue: rgba(255, 255, 255, 0.55);

	--lfc-fuente-titulos: 'Barlow Condensed', 'Arial Narrow', sans-serif;
	--lfc-fuente-texto: 'IBM Plex Sans', Helvetica, Arial, sans-serif;
	--lfc-fuente-mono: 'IBM Plex Mono', ui-monospace, Menlo, Consolas, monospace;

	--lfc-radius-xl: 28px;
	--lfc-radius-l: 24px;
	--lfc-radius-m: 18px;
	--lfc-radius-s: 16px;
	--lfc-radius-pastilla: 999px;

	--lfc-space-seccion: 72px;
	--lfc-container: 1320px;
	--lfc-container-interior: 1280px;
	--lfc-gutter: 24px;
	--lfc-gutter-interior: 32px;

	/* Altura de la barra de administración, para la cabecera pegajosa. */
	--lfc-admin-bar: 0px;
}

.admin-bar { --lfc-admin-bar: 32px; }
@media (max-width: 782px) { .admin-bar { --lfc-admin-bar: 46px; } }
@media (max-width: 600px) {
	/* En móvil WordPress deja de fijar la barra de administración. */
	.admin-bar { --lfc-admin-bar: 0px; }
	:root { --lfc-gutter: 16px; --lfc-gutter-interior: 20px; --lfc-space-seccion: 56px; }
}

/* ---------------------------------------------------------------------------
 * Base
 * ------------------------------------------------------------------------ */

body.lfc {
	margin: 0;
	background: var(--lfc-color-fondo);
	color: var(--lfc-color-navy);
	font-family: var(--lfc-fuente-texto);
	-webkit-font-smoothing: antialiased;
}

.lfc *, .lfc *::before, .lfc *::after { box-sizing: border-box; }
.lfc img { max-width: 100%; }
.lfc a { color: var(--lfc-color-verde); text-decoration: none; }
.lfc a:hover { color: var(--lfc-color-verde-oscuro); }
.lfc button { font-family: inherit; cursor: pointer; }
.lfc input, .lfc select { font-family: inherit; }
.lfc ::selection { background: var(--lfc-color-verde); color: #fff; }
.lfc :focus-visible { outline: 3px solid var(--lfc-color-verde); outline-offset: 2px; }

/* `hidden` tiene que ganar a los display de las clases (pestañas, megamenú). */
.lfc [hidden] { display: none !important; }

/* Texto solo para lectores de pantalla. Propio: no se da por hecha la de Astra. */
.lfc-oculto {
	position: absolute !important;
	width: 1px; height: 1px;
	padding: 0; margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* Saltar al contenido: invisible hasta que se llega con el tabulador. */
.lfc .lfc-saltar {
	position: absolute;
	left: 16px;
	top: -100px;
	z-index: 100;
	padding: 12px 18px;
	border-radius: var(--lfc-radius-pastilla);
	background: var(--lfc-color-verde);
	color: var(--lfc-color-navy-profundo);
	font-weight: 700;
}
.lfc .lfc-saltar:focus { top: calc(12px + var(--lfc-admin-bar)); }

/* ---------------------------------------------------------------------------
 * Retícula y tipografía
 * ------------------------------------------------------------------------ */

.lfc-wrap {
	max-width: var(--lfc-container);
	margin: 0 auto;
	padding-left: var(--lfc-gutter);
	padding-right: var(--lfc-gutter);
}

.lfc-interior {
	max-width: var(--lfc-container-interior);
	margin: 0 auto;
	padding: 56px var(--lfc-gutter-interior) 80px;
}

.lfc-interior--corto { padding-top: 40px; }
.lfc-interior--mini { padding-top: 32px; }

.lfc-antetitulo {
	font-family: var(--lfc-fuente-mono);
	font-size: 12px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--lfc-color-verde-oscuro);
}

.lfc-antetitulo--claro { color: var(--lfc-color-verde-claro); }

.lfc-cabecera-pagina {
	padding-bottom: 20px;
	border-bottom: 2px solid var(--lfc-color-navy);
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	flex-wrap: wrap;
}

.lfc-titulo-pagina {
	margin: 12px 0 0;
	font-family: var(--lfc-fuente-titulos);
	font-weight: 800;
	font-size: clamp(40px, 6vw, 68px);
	line-height: 1;
	text-transform: uppercase;
	color: var(--lfc-color-navy);
}

.lfc-h2 {
	margin: 0;
	font-family: var(--lfc-fuente-titulos);
	font-weight: 800;
	font-size: clamp(40px, 5vw, 64px);
	line-height: 0.95;
	text-transform: uppercase;
	color: inherit;
}

.lfc-h2--seccion {
	margin: 56px 0 18px;
	font-size: 40px;
	line-height: 1.05;
}

.lfc-cabecera-seccion {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 20px;
	flex-wrap: wrap;
	margin-bottom: 24px;
}

.lfc-cabecera-seccion .lfc-h2 { margin-top: 8px; }
.lfc-cabecera-seccion .lfc-h2:first-child { margin-top: 0; }

.lfc-volver {
	display: inline-block;
	margin-bottom: 28px;
	font-size: 13px;
	font-weight: 600;
	color: var(--lfc-color-verde-oscuro);
}

.lfc .lfc-volver { color: var(--lfc-color-verde-oscuro); }

/* Portada: el aire de arriba y abajo lo pone el contenedor, no los bloques,
   para que dé igual qué bloque vaya primero o último. */
.lfc-portada { padding: 24px 0 var(--lfc-space-seccion); }

/* Secciones de portada: cada bloque después del titular deja este aire. */
.lfc-seccion { padding-top: var(--lfc-space-seccion); }

/* ---------------------------------------------------------------------------
 * Botones, enlaces y pestañas
 * ------------------------------------------------------------------------ */

.lfc .lfc-boton {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	border: 0;
	border-radius: var(--lfc-radius-pastilla);
	padding: 12px 20px;
	font-family: var(--lfc-fuente-texto);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	text-align: center;
	white-space: nowrap;
	transition: background-color .15s, border-color .15s, color .15s;
}

.lfc .lfc-boton--grande { padding: 15px 24px; }
.lfc .lfc-boton--bloque { display: flex; width: 100%; }

.lfc .lfc-boton--verde { background: var(--lfc-color-verde); color: var(--lfc-color-navy-profundo); font-weight: 700; }
.lfc .lfc-boton--verde:hover { background: var(--lfc-color-verde-hover); color: var(--lfc-color-navy-profundo); }

.lfc .lfc-boton--navy { background: var(--lfc-color-navy); color: #fff; }
.lfc .lfc-boton--navy:hover { background: var(--lfc-color-verde); color: var(--lfc-color-navy-profundo); }

.lfc .lfc-boton--profundo { background: var(--lfc-color-navy-profundo); color: #fff; }
.lfc .lfc-boton--profundo:hover { background: var(--lfc-color-navy); color: #fff; }

.lfc .lfc-boton--blanco { background: #fff; color: var(--lfc-color-navy); border: 1px solid var(--lfc-color-borde-fuerte); }
.lfc .lfc-boton--blanco:hover { border-color: var(--lfc-color-navy); color: var(--lfc-color-navy); }

.lfc .lfc-boton--linea-clara { background: none; color: #fff; border: 1px solid rgba(255, 255, 255, 0.28); }
.lfc .lfc-boton--linea-clara:hover { border-color: #fff; color: #fff; }

.lfc .lfc-enlace {
	font-size: 13.5px;
	font-weight: 600;
	color: var(--lfc-color-verde-oscuro);
}

.lfc .lfc-enlace:hover { color: var(--lfc-color-navy); }

.lfc-pestanas {
	display: inline-flex;
	gap: 4px;
	padding: 4px;
	border-radius: var(--lfc-radius-pastilla);
	background: rgba(16, 35, 61, 0.08);
	flex-wrap: wrap;
}

.lfc .lfc-pestana {
	border: 0;
	border-radius: var(--lfc-radius-pastilla);
	padding: 10px 20px;
	background: transparent;
	color: rgba(16, 35, 61, 0.65);
	font-size: 13px;
	font-weight: 600;
	line-height: 1.2;
}

.lfc .lfc-pestana:hover { color: var(--lfc-color-navy); }

.lfc .lfc-pestana[aria-selected="true"],
.lfc .lfc-pestana[aria-current="page"] {
	background: var(--lfc-color-navy);
	color: #fff;
}

.lfc-pestanas--mini { background: var(--lfc-color-fondo); }
.lfc .lfc-pestanas--mini .lfc-pestana { padding: 7px 12px; font-size: 12px; }

.lfc-pastilla {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 7px 14px;
	border-radius: var(--lfc-radius-pastilla);
	background: rgba(20, 164, 74, 0.16);
	font-family: var(--lfc-fuente-mono);
	font-size: 12px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--lfc-color-verde-claro);
}

.lfc-pastilla::before {
	content: "";
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--lfc-color-verde);
	flex-shrink: 0;
}

/* ---------------------------------------------------------------------------
 * Cabecera
 * ------------------------------------------------------------------------ */

.lfc-cabecera {
	position: sticky;
	top: var(--lfc-admin-bar);
	z-index: 80;
	background: var(--lfc-color-navy);
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.lfc-cabecera__barra {
	max-width: var(--lfc-container);
	margin: 0 auto;
	padding: 8px 32px;
	min-height: 68px;
	display: flex;
	align-items: center;
	gap: 32px;
}

.lfc .lfc-marca {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-shrink: 0;
	color: #fff;
}

.lfc-marca__logo { height: 38px; width: auto; display: block; }

.lfc-marca__texto {
	font-family: var(--lfc-fuente-titulos);
	font-weight: 700;
	font-size: 18px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: #fff;
}

.lfc-nav {
	display: flex;
	align-items: center;
	gap: 24px;
	margin-left: auto;
}

.lfc .lfc-nav__enlace {
	background: none;
	border: 0;
	padding: 0;
	font-family: var(--lfc-fuente-texto);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.06em;
	line-height: 1.2;
	text-transform: uppercase;
	white-space: nowrap;
	color: rgba(255, 255, 255, 0.7);
}

.lfc .lfc-nav__enlace:hover,
.lfc .lfc-nav__enlace[aria-expanded="true"] { color: #fff; }

.lfc-nav__mega { display: inline-flex; align-items: center; gap: 6px; }

.lfc-nav__flecha::before { content: "▼"; font-size: 9px; }
[aria-expanded="true"] > .lfc-nav__flecha::before { content: "▲"; }

.lfc .lfc-nav__cta { padding: 10px 18px; font-size: 13px; letter-spacing: 0.04em; text-transform: uppercase; }

.lfc-cabecera__menu {
	display: none;
	margin-left: auto;
	width: 44px;
	height: 44px;
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: 12px;
	background: none;
	padding: 0;
	align-items: center;
	justify-content: center;
}

.lfc-cabecera__menu-icono,
.lfc-cabecera__menu-icono::before,
.lfc-cabecera__menu-icono::after {
	display: block;
	width: 18px;
	height: 2px;
	border-radius: 2px;
	background: #fff;
	transition: transform .2s, opacity .2s;
}

.lfc-cabecera__menu-icono { position: relative; }
.lfc-cabecera__menu-icono::before,
.lfc-cabecera__menu-icono::after { content: ""; position: absolute; left: 0; }
.lfc-cabecera__menu-icono::before { top: -6px; }
.lfc-cabecera__menu-icono::after { top: 6px; }

[aria-expanded="true"] > .lfc-cabecera__menu-icono { background: transparent; }
[aria-expanded="true"] > .lfc-cabecera__menu-icono::before { transform: translateY(6px) rotate(45deg); }
[aria-expanded="true"] > .lfc-cabecera__menu-icono::after { transform: translateY(-6px) rotate(-45deg); }

@media (max-width: 1080px) {
	.lfc-cabecera__barra { padding: 8px var(--lfc-gutter); gap: 20px; }
	.lfc-nav { gap: 18px; }
}

@media (max-width: 960px) {
	.lfc-cabecera__menu { display: inline-flex; }

	/* Sin JavaScript el menú se queda visible (envuelto), como en el prototipo. */
	.lfc-cabecera__barra { flex-wrap: wrap; }
	.lfc-js .lfc-nav { display: none; }
	.lfc-js .lfc-nav.is-abierto { display: flex; }

	.lfc-nav {
		width: 100%;
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		padding: 8px 0 16px;
	}

	.lfc .lfc-nav__enlace {
		padding: 14px 0;
		font-size: 15px;
		border-top: 1px solid rgba(255, 255, 255, 0.08);
		text-align: left;
	}

	.lfc-nav__mega { justify-content: space-between; }
	.lfc .lfc-nav__cta { margin-top: 12px; padding: 14px 18px; }
}

@media (min-width: 961px) {
	/* Sin JS no hay botón de menú que valga. */
	.lfc-cabecera__menu { display: none !important; }
}

/* Megamenú de clubes */

.lfc-mega {
	position: absolute;
	left: 0;
	right: 0;
	top: 100%;
	background: #fff;
	color: var(--lfc-color-navy);
	box-shadow: 0 30px 60px rgba(10, 26, 46, 0.28);
	max-height: calc(100vh - 68px - var(--lfc-admin-bar) - 40px);
	overflow-y: auto;
	overscroll-behavior: contain;
	border-top: 3px solid var(--lfc-color-verde);
}

.lfc-mega__dentro {
	max-width: var(--lfc-container);
	margin: 0 auto;
	padding: 32px;
	display: grid;
	grid-template-columns: minmax(220px, 260px) minmax(0, 1fr);
	gap: 40px;
}

.lfc-mega__intro { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; }

.lfc-mega__titulo {
	font-family: var(--lfc-fuente-titulos);
	font-weight: 800;
	font-size: 48px;
	line-height: 0.9;
	text-transform: uppercase;
}

.lfc .lfc-mega__intro .lfc-boton { font-size: 13.5px; padding: 12px 18px; }

.lfc-mega__grupos {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), 1fr));
	gap: 28px 24px;
	align-content: start;
}

.lfc-mega__region {
	font-family: var(--lfc-fuente-mono);
	font-size: 11px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: rgba(16, 35, 61, 0.5);
	padding-bottom: 8px;
	border-bottom: 1px solid var(--lfc-color-borde);
	margin-bottom: 6px;
}

.lfc-mega__grupo ul { list-style: none; margin: 0; padding: 0; }

.lfc .lfc-mega__club {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 7px 8px;
	margin: 0 -8px;
	border-radius: 10px;
	color: var(--lfc-color-navy);
	font-size: 14px;
	font-weight: 500;
	line-height: 1.3;
}

.lfc .lfc-mega__club:hover { background: var(--lfc-color-fondo); color: var(--lfc-color-navy); }

.lfc-mega__escudo { width: 28px; height: 28px; object-fit: contain; display: block; flex-shrink: 0; }

@media (max-width: 760px) {
	.lfc-mega__dentro { grid-template-columns: minmax(0, 1fr); gap: 28px; padding: 24px var(--lfc-gutter); }
	.lfc-mega__titulo { font-size: 38px; }
}

@media (max-width: 960px) {
	/* En móvil el megamenú se abre debajo del menú desplegado. Colgado en
	   absoluto, su final quedaba fuera de la pantalla y, con la cabecera
	   pegajosa, no había forma de llegar a él. Aquí entra en el flujo y es la
	   cabecera entera la que se desplaza. */
	.lfc-mega { position: static; max-height: none; box-shadow: none; }
	.lfc-cabecera.is-menu-abierto {
		max-height: calc(100vh - var(--lfc-admin-bar));
		max-height: calc(100dvh - var(--lfc-admin-bar));
		overflow-y: auto;
		overscroll-behavior: contain;
	}
}

/* Escudo sin imagen: hueco con las iniciales. */
.lfc-escudo--vacio {
	display: grid;
	place-items: center;
	border-radius: 50%;
	background: var(--lfc-color-fondo);
	color: var(--lfc-color-navy);
	font-family: var(--lfc-fuente-titulos);
	font-weight: 700;
	font-size: 12px;
	text-transform: uppercase;
}

/* ---------------------------------------------------------------------------
 * Pie
 * ------------------------------------------------------------------------ */

.lfc-pie { background: var(--lfc-color-navy-profundo); color: rgba(255, 255, 255, 0.6); }

.lfc-pie__columnas {
	max-width: var(--lfc-container-interior);
	margin: 0 auto;
	padding: 56px var(--lfc-gutter-interior) 40px;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr));
	gap: 40px;
}

.lfc .lfc-pie .lfc-marca__logo { height: 40px; }

.lfc-pie__lema { margin: 16px 0 0; max-width: 300px; font-size: 14px; line-height: 1.7; }

.lfc-pie__titulo {
	font-family: var(--lfc-fuente-mono);
	font-size: 11px;
	text-transform: uppercase;
	color: #fff;
}

.lfc-pie__enlaces { list-style: none; margin: 14px 0 0; padding: 0; display: grid; gap: 10px; font-size: 14px; }

.lfc .lfc-pie a { color: rgba(255, 255, 255, 0.6); }
.lfc .lfc-pie a:hover { color: #fff; }
.lfc .lfc-pie .lfc-marca { color: #fff; }

.lfc-pie__legal {
	max-width: var(--lfc-container-interior);
	margin: 0 auto;
	padding: 20px var(--lfc-gutter-interior) 40px;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
	display: flex;
	gap: 12px 24px;
	flex-wrap: wrap;
	font-size: 12.5px;
}

/* ---------------------------------------------------------------------------
 * Tarjeta de noticia
 * ------------------------------------------------------------------------ */

.lfc-rejilla-noticias {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr));
	gap: 20px;
}

.lfc-rejilla-noticias--listado { gap: 24px; margin-top: 34px; }

.lfc .lfc-noticia {
	display: flex;
	flex-direction: column;
	border: 1px solid var(--lfc-color-linea);
	border-radius: 22px;
	overflow: hidden;
	background: #fff;
	color: var(--lfc-color-navy);
	transition: border-color .15s;
}

.lfc .lfc-noticia:hover { border-color: var(--lfc-color-verde); color: var(--lfc-color-navy); }

.lfc-noticia__img { display: block; aspect-ratio: 4 / 3; background: #DEE6EE; }
.lfc-noticia__img img { width: 100%; height: 100%; object-fit: cover; display: block; }

.lfc-noticia__cuerpo { display: block; padding: 20px 22px 24px; }

.lfc-noticia__etiqueta {
	display: block;
	font-family: var(--lfc-fuente-mono);
	font-size: 11px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--lfc-color-verde-oscuro);
}

.lfc-noticia__titulo {
	display: block;
	margin-top: 8px;
	font-family: var(--lfc-fuente-titulos);
	font-weight: 700;
	font-size: 26px;
	line-height: 1.05;
	text-transform: uppercase;
}

.lfc-noticia__entradilla {
	display: block;
	margin-top: 8px;
	font-size: 14px;
	line-height: 1.6;
	color: rgba(16, 35, 61, 0.62);
}

.lfc .lfc-noticia--listado { border-color: var(--lfc-color-borde); border-radius: var(--lfc-radius-m); }
.lfc-noticia--listado .lfc-noticia__img { aspect-ratio: 16 / 10; }
.lfc-noticia--listado .lfc-noticia__cuerpo { padding: 20px; }
.lfc-noticia--listado .lfc-noticia__titulo { font-size: 25px; line-height: 1.08; }

/* ---------------------------------------------------------------------------
 * Instagram
 * ------------------------------------------------------------------------ */

.lfc-ig { display: grid; gap: 12px; }
.lfc-ig--muro { grid-template-columns: repeat(auto-fill, minmax(min(100%, 180px), 1fr)); }

/* En móvil, dos por fila: a una sola columna, seis cuadrados ocupan cinco pantallas. */
@media (max-width: 600px) {
	.lfc-ig--muro,
	.lfc-ig--tarjetas { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.lfc-ig--muro .lfc-ig__texto { left: 6px; right: 6px; bottom: 6px; padding: 5px 8px; font-size: 11px; }
	.lfc-ig--tarjetas .lfc-ig__texto { padding: 10px 12px 12px; font-size: 12.5px; }
}
.lfc-ig--tarjetas { grid-template-columns: repeat(auto-fill, minmax(min(100%, 200px), 1fr)); gap: 14px; margin-top: 28px; }

.lfc .lfc-ig__post { position: relative; display: block; overflow: hidden; border-radius: var(--lfc-radius-m); background: #DEE6EE; color: var(--lfc-color-navy); }
.lfc-ig__post img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; display: block; }

.lfc-ig--muro .lfc-ig__texto {
	position: absolute;
	left: 10px;
	right: 10px;
	bottom: 10px;
	padding: 7px 10px;
	border-radius: 10px;
	background: rgba(10, 26, 46, 0.88);
	color: #fff;
	font-size: 12px;
	font-weight: 600;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.lfc .lfc-ig--tarjetas .lfc-ig__post { background: #fff; border: 1px solid var(--lfc-color-borde); }
.lfc-ig--tarjetas .lfc-ig__texto { display: block; padding: 12px 14px 14px; font-size: 13.5px; font-weight: 600; line-height: 1.4; }

/* ---------------------------------------------------------------------------
 * Tablas de clasificación
 * ------------------------------------------------------------------------ */

.lfc-tabla {
	border: 1px solid var(--lfc-color-borde);
	border-radius: var(--lfc-radius-m);
	overflow: hidden;
	background: #fff;
	--lfc-tabla-cols: minmax(38px, 56px) minmax(0, 1.6fr) minmax(0, 1fr) minmax(64px, 84px);
}

.lfc-tabla--div { --lfc-tabla-cols: minmax(38px, 56px) minmax(0, 1.6fr) minmax(0, 1fr) minmax(40px, 60px) minmax(64px, 84px); }

.lfc-tabla__fila {
	display: grid;
	grid-template-columns: var(--lfc-tabla-cols);
	gap: 14px;
	padding: 14px 22px;
	align-items: center;
	border-top: 1px solid var(--lfc-color-linea);
	font-size: 13.5px;
	color: rgba(16, 35, 61, 0.62);
}

.lfc-tabla__fila--cabecera {
	border-top: 0;
	background: var(--lfc-color-navy);
	color: rgba(255, 255, 255, 0.65);
	font-family: var(--lfc-fuente-mono);
	font-size: 11px;
	text-transform: uppercase;
}

.lfc-tabla__pos,
.lfc-tabla__fila:not(.lfc-tabla__fila--cabecera) .lfc-tabla__puntos {
	font-family: var(--lfc-fuente-mono);
	font-size: 14px;
	font-weight: 600;
	color: var(--lfc-color-verde-oscuro);
}

.lfc-tabla__fila:not(.lfc-tabla__fila--cabecera) .lfc-tabla__puntos { color: var(--lfc-color-navy); }
.lfc-tabla__puntos { text-align: right; }

.lfc-tabla__nombre { font-size: 15px; font-weight: 600; color: var(--lfc-color-navy); min-width: 0; }

.lfc-tabla__div { font-family: var(--lfc-fuente-mono); font-size: 11px; font-weight: 600; color: rgba(16, 35, 61, 0.6); }

.lfc-tabla__club-movil { display: none; }

@media (max-width: 640px) {
	.lfc-tabla { --lfc-tabla-cols: 34px minmax(0, 1fr) 70px; }
	.lfc-tabla--div { --lfc-tabla-cols: 34px minmax(0, 1fr) 34px 70px; }
	.lfc-tabla__fila { padding: 12px 16px; gap: 10px; }
	.lfc-tabla__col-club { display: none; }
	.lfc-tabla__club-movil { display: block; margin-top: 2px; font-size: 12.5px; font-weight: 400; color: rgba(16, 35, 61, 0.55); }
}

/* ---------------------------------------------------------------------------
 * Contenido + lateral (noticia, club, ranking, competición)
 * ------------------------------------------------------------------------ */

.lfc-con-lateral {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 320px;
	gap: 40px;
	align-items: start;
}

.lfc-con-lateral--ancho { gap: 56px; }
.lfc-con-lateral--estrecho { grid-template-columns: minmax(0, 1fr) 300px; gap: 32px; }
.lfc-con-lateral--club { grid-template-columns: minmax(0, 1fr) 340px; gap: 48px; }

@media (max-width: 900px) {
	.lfc-con-lateral,
	.lfc-con-lateral--estrecho,
	.lfc-con-lateral--club { grid-template-columns: minmax(0, 1fr); gap: 32px; }
}

.lfc-lateral {
	padding: 24px;
	border-radius: var(--lfc-radius-m);
	background: #fff;
	border: 1px solid var(--lfc-color-borde);
}

.lfc-lateral + .lfc-lateral { margin-top: 20px; }

.lfc-lateral--navy { background: var(--lfc-color-navy); border-color: var(--lfc-color-navy); color: #fff; }

.lfc-lateral__titulo {
	margin-top: 8px;
	font-family: var(--lfc-fuente-titulos);
	font-weight: 700;
	font-size: 28px;
	line-height: 1.05;
	text-transform: uppercase;
}

.lfc-lateral__texto { margin-top: 6px; font-size: 14px; line-height: 1.7; color: var(--lfc-color-claro-suave); }
.lfc-lateral .lfc-boton { margin-top: 18px; }

.lfc-lateral:not(.lfc-lateral--navy) .lfc-lateral__texto { color: rgba(16, 35, 61, 0.72); }

/* Estado vacío (sin datos importados). */
.lfc-vacio {
	margin-top: 20px;
	padding: 40px;
	border-radius: var(--lfc-radius-m);
	border: 2px dashed var(--lfc-color-borde-fuerte);
	background: #fff;
	display: grid;
	justify-items: start;
	gap: 10px;
}

.lfc-vacio__titulo { font-family: var(--lfc-fuente-titulos); font-weight: 700; font-size: 28px; line-height: 1.05; text-transform: uppercase; }
.lfc-vacio__texto { max-width: 560px; font-size: 15px; line-height: 1.6; color: rgba(16, 35, 61, 0.65); }

@media (max-width: 600px) { .lfc-vacio { padding: 28px 22px; } }

/* Paginación del blog */
.lfc .navigation.pagination { margin-top: 40px; }
.lfc .nav-links { display: flex; flex-wrap: wrap; gap: 8px; }
.lfc .nav-links .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	height: 44px;
	padding: 0 16px;
	border-radius: var(--lfc-radius-pastilla);
	background: #fff;
	border: 1px solid var(--lfc-color-borde);
	color: var(--lfc-color-navy);
	font-weight: 600;
	font-size: 14px;
}
.lfc .nav-links .page-numbers.current { background: var(--lfc-color-navy); border-color: var(--lfc-color-navy); color: #fff; }
.lfc .nav-links a.page-numbers:hover { border-color: var(--lfc-color-verde); }

/* ---------------------------------------------------------------------------
 * Noticias: listado y noticia
 * ------------------------------------------------------------------------ */

.lfc-noticias-ig { margin-top: 72px; }
.lfc .lfc-noticias-ig__titulo { margin-top: 10px; font-size: clamp(34px, 4.6vw, 52px); line-height: 1; }

.lfc-articulo { min-width: 0; }

.lfc-articulo__titulo {
	margin: 14px 0 0;
	font-family: var(--lfc-fuente-titulos);
	font-weight: 800;
	font-size: clamp(36px, 5.4vw, 64px);
	line-height: 1;
	text-transform: uppercase;
	color: var(--lfc-color-navy);
}

.lfc-articulo__entradilla {
	margin: 20px 0 0;
	font-size: 20px;
	line-height: 1.55;
	color: rgba(16, 35, 61, 0.7);
	text-wrap: pretty;
}

.lfc .lfc-articulo__imagen {
	width: 100%;
	height: auto;
	max-height: 640px;
	object-fit: cover;
	display: block;
	border-radius: var(--lfc-radius-m);
	margin-top: 30px;
}

.lfc-articulo__cuerpo {
	margin-top: 30px;
	max-width: 68ch;
	font-size: 17px;
	line-height: 1.75;
	color: rgba(16, 35, 61, 0.85);
	overflow-wrap: break-word;
}

.lfc-articulo__cuerpo > * { margin: 0 0 20px; }
.lfc-articulo__cuerpo h2,
.lfc-articulo__cuerpo h3 {
	margin-top: 36px;
	font-family: var(--lfc-fuente-titulos);
	font-weight: 700;
	line-height: 1.05;
	text-transform: uppercase;
	color: var(--lfc-color-navy);
}
.lfc-articulo__cuerpo h2 { font-size: 34px; }
.lfc-articulo__cuerpo h3 { font-size: 26px; }
.lfc .lfc-articulo__cuerpo a { color: var(--lfc-color-verde-oscuro); text-decoration: underline; text-underline-offset: 2px; }
.lfc-articulo__cuerpo img { height: auto; border-radius: var(--lfc-radius-s); }
.lfc-articulo__cuerpo figure { margin-left: 0; margin-right: 0; }
.lfc-articulo__cuerpo figcaption { font-size: 13px; color: var(--lfc-color-texto-suave); margin-top: 8px; }

.lfc-honor { padding: 14px 0; border-bottom: 1px solid var(--lfc-color-linea); }
.lfc-honor:last-child { border-bottom: 0; padding-bottom: 0; }
.lfc-honor__cat { font-size: 12px; font-weight: 600; color: var(--lfc-color-texto-suave); }
.lfc-honor__primero { margin-top: 4px; font-size: 15.5px; font-weight: 600; }
.lfc-honor__segundo { margin-top: 2px; font-size: 14px; color: rgba(16, 35, 61, 0.7); }

@media (max-width: 600px) {
	.lfc-articulo__entradilla { font-size: 18px; }
	.lfc-articulo__cuerpo { font-size: 16.5px; }
}

/* ---------------------------------------------------------------------------
 * Clubes: directorio y ficha
 * ------------------------------------------------------------------------ */

.lfc-buscador { display: block; width: min(100%, 280px); }

.lfc .lfc-buscador input {
	width: 100%;
	border: 1px solid var(--lfc-color-borde-fuerte);
	border-radius: var(--lfc-radius-pastilla);
	padding: 13px 18px;
	font-size: 14px;
	background: #fff;
	color: var(--lfc-color-navy);
	box-shadow: none;
}

.lfc .lfc-buscador input:focus { border-color: var(--lfc-color-verde); outline: none; box-shadow: 0 0 0 3px rgba(20, 164, 74, 0.25); }

.lfc-directorio {
	list-style: none;
	margin: 34px 0 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 200px), 1fr));
	gap: 16px;
}

.lfc-directorio > li { display: grid; }

.lfc .lfc-directorio__club {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 20px;
	border: 1px solid var(--lfc-color-borde);
	border-radius: var(--lfc-radius-m);
	background: #fff;
	color: var(--lfc-color-navy);
	transition: border-color .15s;
}

.lfc .lfc-directorio__club:hover { border-color: var(--lfc-color-verde); color: var(--lfc-color-navy); }

.lfc-directorio__escudo { width: 52px; height: 52px; object-fit: contain; display: block; flex-shrink: 0; }
.lfc-directorio__texto { min-width: 0; }

.lfc-directorio__nombre {
	display: block;
	font-family: var(--lfc-fuente-titulos);
	font-weight: 700;
	font-size: 20px;
	line-height: 1.05;
	text-transform: uppercase;
}

.lfc-directorio__region { display: block; margin-top: 4px; font-size: 12.5px; color: var(--lfc-color-texto-suave); }

.lfc-directorio__nada { margin: 24px 0 0; font-size: 15px; color: var(--lfc-color-texto-medio); }

.lfc-club-cabecera { background: var(--lfc-color-navy); color: #fff; }

.lfc-club-cabecera__dentro {
	max-width: var(--lfc-container-interior);
	margin: 0 auto;
	padding: 40px var(--lfc-gutter-interior) 48px;
}

.lfc .lfc-volver--claro { margin-bottom: 26px; color: var(--lfc-color-verde-claro); }
.lfc .lfc-volver--claro:hover { color: #fff; }

.lfc-club-cabecera__fila { display: flex; align-items: center; gap: 26px; flex-wrap: wrap; }

.lfc-club-cabecera__escudo {
	width: 108px;
	height: 108px;
	border-radius: var(--lfc-radius-l);
	background: #fff;
	display: grid;
	place-items: center;
	flex-shrink: 0;
}

.lfc-club-cabecera__img { width: 84px; height: 84px; object-fit: contain; display: block; }
.lfc-club-cabecera__nombre { min-width: 0; flex: 1 1 280px; }

.lfc-club-cabecera__titulo {
	margin: 8px 0 0;
	font-family: var(--lfc-fuente-titulos);
	font-weight: 800;
	font-size: clamp(38px, 5.4vw, 64px);
	line-height: 1;
	text-transform: uppercase;
	color: #fff;
}

.lfc-club-cabecera__cifras { margin: 0 0 0 auto; display: flex; gap: 34px; }
.lfc-club-cabecera__cifras > div { display: flex; flex-direction: column-reverse; justify-content: flex-end; }
.lfc-club-cabecera__cifras dd { margin: 0; font-family: var(--lfc-fuente-titulos); font-weight: 700; font-size: 40px; line-height: 1.2; color: var(--lfc-color-verde); }
.lfc-club-cabecera__cifras dt { font-family: var(--lfc-fuente-mono); font-size: 11px; text-transform: uppercase; color: var(--lfc-color-claro-tenue); }

@media (max-width: 600px) {
	.lfc-club-cabecera__escudo { width: 84px; height: 84px; border-radius: var(--lfc-radius-m); }
	.lfc-club-cabecera__img { width: 64px; height: 64px; }
	.lfc-club-cabecera__cifras { margin-left: 0; }
}

.lfc-interior--club { padding-top: 48px; }

.lfc-club__subtitulo {
	margin: 0 0 18px;
	font-family: var(--lfc-fuente-titulos);
	font-weight: 700;
	font-size: 32px;
	line-height: 1.05;
	text-transform: uppercase;
	color: var(--lfc-color-navy);
}

.lfc-plantilla {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr));
	gap: 12px;
}

.lfc-plantilla__jugador {
	display: grid;
	grid-template-columns: 48px minmax(0, 1fr) auto;
	align-items: center;
	gap: 12px;
	padding: 14px 18px;
	border: 1px solid var(--lfc-color-borde);
	border-radius: var(--lfc-radius-s);
	background: #fff;
}

.lfc-plantilla__pos { font-family: var(--lfc-fuente-mono); font-size: 13px; font-weight: 600; color: var(--lfc-color-verde-oscuro); }
.lfc-plantilla__nombre { font-size: 15px; font-weight: 600; }
.lfc-plantilla__puntos { font-family: var(--lfc-fuente-mono); font-size: 13px; font-weight: 600; }

.lfc-club__sin-jugadores { font-size: 15px; color: rgba(16, 35, 61, 0.7); }
.lfc-club__info { margin-top: 10px; font-size: 14.5px; }
.lfc-club__info p { margin: 0 0 10px; }
.lfc-club__info p:last-child { margin-bottom: 0; }
.lfc .lfc-lateral .lfc-boton--bloque { margin-top: 16px; padding: 13px; }

/* ---------------------------------------------------------------------------
 * Competiciones
 * ------------------------------------------------------------------------ */

.lfc-competiciones {
	margin-top: 34px;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
	gap: 20px;
}

.lfc .lfc-competicion-tarjeta {
	display: flex;
	flex-direction: column;
	gap: 12px;
	min-height: 300px;
	padding: 30px;
	border-radius: var(--lfc-radius-l);
	border: 1px solid transparent;
	transition: background-color .15s, border-color .15s;
}

.lfc .lfc-competicion-tarjeta--verde { background: var(--lfc-color-verde); color: var(--lfc-color-navy-profundo); }
.lfc .lfc-competicion-tarjeta--verde:hover { background: var(--lfc-color-verde-hover); color: var(--lfc-color-navy-profundo); }
.lfc .lfc-competicion-tarjeta--navy { background: var(--lfc-color-navy); color: #fff; }
.lfc .lfc-competicion-tarjeta--navy:hover { background: var(--lfc-color-navy-2); color: #fff; }
.lfc .lfc-competicion-tarjeta--blanco { background: #fff; color: var(--lfc-color-navy); border-color: rgba(16, 35, 61, 0.12); }
.lfc .lfc-competicion-tarjeta--blanco:hover { border-color: var(--lfc-color-verde); color: var(--lfc-color-navy); }

.lfc-competicion-tarjeta__meta { font-family: var(--lfc-fuente-mono); font-size: 12px; letter-spacing: 0.06em; text-transform: uppercase; }
.lfc-competicion-tarjeta__nombre { font-family: var(--lfc-fuente-titulos); font-weight: 800; font-size: 56px; line-height: 0.9; text-transform: uppercase; }
.lfc-competicion-tarjeta__texto { font-size: 15px; line-height: 1.55; }
.lfc-competicion-tarjeta__temporada { margin-top: auto; font-size: 14px; font-weight: 700; }

.lfc-competicion-tarjeta--navy .lfc-competicion-tarjeta__meta,
.lfc-competicion-tarjeta--navy .lfc-competicion-tarjeta__temporada { color: var(--lfc-color-verde-claro); }
.lfc-competicion-tarjeta--navy .lfc-competicion-tarjeta__texto { color: var(--lfc-color-claro-suave); }
.lfc-competicion-tarjeta--blanco .lfc-competicion-tarjeta__meta,
.lfc-competicion-tarjeta--blanco .lfc-competicion-tarjeta__temporada { color: var(--lfc-color-verde-oscuro); }
.lfc-competicion-tarjeta--blanco .lfc-competicion-tarjeta__texto { color: rgba(16, 35, 61, 0.7); }

@media (max-width: 600px) {
	.lfc .lfc-competicion-tarjeta { min-height: 240px; padding: 26px 24px; }
	.lfc-competicion-tarjeta__nombre { font-size: 48px; }
}

/* Próxima cita */

.lfc-cita {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr));
	gap: 24px;
}

.lfc-cita__datos { padding: 32px; border-radius: var(--lfc-radius-l); background: var(--lfc-color-navy); color: #fff; }

.lfc-pastilla--pequena { padding: 6px 12px; font-size: 11px; letter-spacing: 0; background: rgba(20, 164, 74, 0.18); }

.lfc-cita__titulo {
	margin: 18px 0 0;
	font-family: var(--lfc-fuente-titulos);
	font-weight: 800;
	font-size: clamp(38px, 4.6vw, 54px);
	line-height: 1;
	text-transform: uppercase;
	color: #fff;
}

.lfc-cita__ficha {
	margin: 26px 0 0;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr));
	gap: 20px;
}

.lfc-cita__ficha > div { padding-top: 14px; border-top: 1px solid rgba(255, 255, 255, 0.14); }
.lfc-cita__ficha dt { font-family: var(--lfc-fuente-mono); font-size: 11px; text-transform: uppercase; color: var(--lfc-color-claro-tenue); }
.lfc-cita__ficha dd { margin: 6px 0 0; font-size: 16px; font-weight: 600; }

.lfc-cita__botones { display: flex; gap: 10px; margin-top: 28px; flex-wrap: wrap; }
.lfc .lfc-cita__botones .lfc-boton { padding: 14px 22px; }

.lfc-cita__imagen { border-radius: var(--lfc-radius-l); overflow: hidden; background: #fff; border: 1px solid var(--lfc-color-borde); min-height: 280px; }
.lfc-cita__imagen img { width: 100%; height: 100%; object-fit: cover; display: block; }

@media (max-width: 600px) { .lfc-cita__datos { padding: 26px 22px; } }

/* Página de una competición */

.lfc .lfc-volver--cerca { margin-bottom: 20px; }

.lfc-comp-cabecera {
	border-radius: var(--lfc-radius-xl);
	background: var(--lfc-color-navy);
	color: #fff;
	padding: clamp(28px, 4vw, 48px);
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
	gap: 32px;
	align-items: end;
}

.lfc-comp-cabecera__titulo {
	margin: 12px 0 0;
	font-family: var(--lfc-fuente-titulos);
	font-weight: 800;
	font-size: clamp(52px, 7.4vw, 104px);
	line-height: 0.86;
	text-transform: uppercase;
	color: #fff;
	overflow-wrap: anywhere;
}

.lfc-comp-cabecera__texto { margin: 18px 0 0; max-width: 520px; font-size: 16.5px; line-height: 1.6; color: var(--lfc-color-claro-suave); }

.lfc-temporada { padding: 20px; border-radius: 20px; background: var(--lfc-color-navy-2); }

.lfc-temporada__etiqueta {
	display: block;
	margin-bottom: 10px;
	font-family: var(--lfc-fuente-mono);
	font-size: 11px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.6);
}

.lfc-temporada__fila { display: flex; gap: 8px; }

.lfc .lfc-temporada select {
	flex: 1 1 auto;
	min-width: 0;
	width: 100%;
	height: auto;
	padding: 14px 16px;
	border-radius: 12px;
	border: 1px solid rgba(255, 255, 255, 0.2);
	background-color: var(--lfc-color-navy);
	color: #fff;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.3;
}

.lfc-temporada__estado { display: flex; align-items: center; gap: 8px; margin-top: 12px; font-size: 12.5px; color: rgba(255, 255, 255, 0.65); }
.lfc-temporada__estado::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: rgba(255, 255, 255, 0.4); flex-shrink: 0; }
.lfc-temporada__estado.is-actual::before { background: var(--lfc-color-verde); }

.lfc-comp-barra {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
	margin-top: 36px;
}

.lfc-fuente {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 14px;
	border-radius: var(--lfc-radius-pastilla);
	border: 1px dashed rgba(16, 35, 61, 0.3);
	font-family: var(--lfc-fuente-mono);
	font-size: 11.5px;
	color: rgba(16, 35, 61, 0.65);
}

.lfc-comp-clasificacion { margin-top: 20px; }
.lfc-comp-lateral { display: grid; gap: 16px; }
.lfc .lfc-comp-lateral .lfc-lateral + .lfc-lateral { margin-top: 0; }

.lfc-campeon { border-radius: var(--lfc-radius-m); padding: 24px; background: var(--lfc-color-verde); color: var(--lfc-color-navy-profundo); }
.lfc-campeon__meta { font-family: var(--lfc-fuente-mono); font-size: 11px; text-transform: uppercase; }
.lfc-campeon__nombre { margin-top: 8px; font-family: var(--lfc-fuente-titulos); font-weight: 800; font-size: 34px; line-height: 0.95; text-transform: uppercase; }
.lfc-campeon__club { margin-top: 6px; font-size: 14px; }

.lfc-comp-aviso { padding: 20px; font-size: 13.5px; line-height: 1.6; color: rgba(16, 35, 61, 0.7); }

/* Calendario */

.lfc-calendario {
	border: 1px solid var(--lfc-color-borde);
	border-radius: var(--lfc-radius-m);
	overflow: hidden;
	background: #fff;
}

.lfc-calendario__fila {
	display: grid;
	grid-template-columns: minmax(80px, 120px) minmax(0, 1.4fr) minmax(0, 1.3fr) minmax(0, 1fr);
	gap: 16px;
	padding: 20px 22px;
	align-items: center;
	border-top: 1px solid var(--lfc-color-linea);
}

.lfc-calendario__fila--cabecera {
	padding: 14px 22px;
	border-top: 0;
	background: var(--lfc-color-navy);
	color: rgba(255, 255, 255, 0.65);
	font-family: var(--lfc-fuente-mono);
	font-size: 11px;
	text-transform: uppercase;
}

.lfc-calendario__fecha { font-family: var(--lfc-fuente-mono); font-size: 13px; font-weight: 600; color: var(--lfc-color-verde-oscuro); }
.lfc-calendario__sede { font-family: var(--lfc-fuente-titulos); font-weight: 700; font-size: 22px; line-height: 1.1; text-transform: uppercase; }
.lfc-calendario__dato { font-size: 14px; color: rgba(16, 35, 61, 0.72); }

@media (max-width: 640px) {
	.lfc-calendario__fila--cabecera { display: none; }
	.lfc-calendario__fila { grid-template-columns: minmax(0, 1fr); gap: 4px; padding: 18px 18px; }
	.lfc-calendario__fila:nth-child(2) { border-top: 0; }
}

/* Documentos */

.lfc-documentos {
	list-style: none;
	margin: 18px 0 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr));
	gap: 14px;
}

.lfc-documentos > li { display: grid; }

.lfc .lfc-documento {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 20px 22px;
	border-radius: var(--lfc-radius-s);
	background: #fff;
	border: 1px solid var(--lfc-color-borde);
	color: var(--lfc-color-navy);
	transition: border-color .15s;
}

.lfc .lfc-documento:hover { border-color: var(--lfc-color-verde); color: var(--lfc-color-navy); }

.lfc-documento__titulo { display: block; font-family: var(--lfc-fuente-titulos); font-weight: 700; font-size: 21px; line-height: 1.1; text-transform: uppercase; }
.lfc-documento__meta { display: block; margin-top: 4px; font-family: var(--lfc-fuente-mono); font-size: 11px; text-transform: uppercase; color: rgba(16, 35, 61, 0.5); }
.lfc-documento__flecha { font-size: 18px; color: var(--lfc-color-verde); }

/* ---------------------------------------------------------------------------
 * Ranking
 * ------------------------------------------------------------------------ */

.lfc-ranking { margin-top: 30px; }

.lfc-lider { border-radius: var(--lfc-radius-m); overflow: hidden; background: var(--lfc-color-navy); color: #fff; }
.lfc-lider__escudo { padding: 28px; display: grid; place-items: center; background: #fff; min-height: 166px; }
.lfc-lider__img { width: 110px; height: 110px; object-fit: contain; display: block; }
.lfc-lider__datos { padding: 22px; }
.lfc-lider__nombre { margin-top: 6px; font-family: var(--lfc-fuente-titulos); font-weight: 700; font-size: 30px; line-height: 1.02; text-transform: uppercase; }
.lfc-lider__club { margin-top: 6px; font-size: 14px; color: var(--lfc-color-claro-suave); }

.lfc .lfc-ranking__info { margin-top: 20px; padding: 22px; }
.lfc-ranking__info .lfc-lateral__texto { margin-top: 8px; }
.lfc .lfc-ranking__pdf { display: inline-block; margin-top: 14px; font-size: 14px; font-weight: 600; }

/* 404 */
.lfc-404__texto { margin: 28px 0 0; font-size: 17px; line-height: 1.6; color: rgba(16, 35, 61, 0.7); }
.lfc-404__botones { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }

/* ---------------------------------------------------------------------------
 * Páginas sueltas y comentarios (0.3.0)
 * ------------------------------------------------------------------------ */

.lfc-pagina__cuerpo { margin-top: 34px; }
.lfc-pagina__cuerpo table { width: 100%; border-collapse: collapse; font-size: 15px; }
.lfc-pagina__cuerpo th,
.lfc-pagina__cuerpo td { padding: 10px 12px; border-bottom: 1px solid var(--lfc-color-borde); text-align: left; }
.lfc-pagina__cuerpo .wp-block-table,
.lfc-pagina__cuerpo .tabla-desplazable { overflow-x: auto; }

.lfc-comentarios { max-width: 68ch; margin-top: 56px; padding-top: 28px; border-top: 2px solid var(--lfc-color-navy); }

.lfc-comentarios__titulo,
.lfc-comentarios .comment-reply-title {
	margin: 0 0 18px;
	font-family: var(--lfc-fuente-titulos);
	font-weight: 700;
	font-size: 28px;
	line-height: 1.1;
	text-transform: uppercase;
	color: var(--lfc-color-navy);
}

.lfc-comentarios__lista,
.lfc-comentarios .children { list-style: none; margin: 0; padding: 0; }
.lfc-comentarios .children { margin-left: 24px; }
.lfc-comentarios .comment-body { padding: 16px 0; border-bottom: 1px solid var(--lfc-color-linea); font-size: 15px; line-height: 1.6; }
.lfc-comentarios .comment-author { display: flex; align-items: center; gap: 10px; font-weight: 600; }
.lfc-comentarios .comment-author .avatar { border-radius: 50%; }
.lfc-comentarios .comment-metadata { margin-top: 2px; font-size: 12.5px; }
.lfc .lfc-comentarios .comment-metadata a { color: var(--lfc-color-texto-suave); }

.lfc-comentarios .comment-form label { display: block; margin-bottom: 6px; font-size: 13.5px; font-weight: 600; }
.lfc-comentarios .comment-form input[type="text"],
.lfc-comentarios .comment-form input[type="email"],
.lfc-comentarios .comment-form input[type="url"],
.lfc-comentarios .comment-form textarea {
	width: 100%;
	padding: 12px 14px;
	border: 1px solid var(--lfc-color-borde-fuerte);
	border-radius: 12px;
	background: #fff;
	font-size: 15px;
}
.lfc-comentarios .comment-form p { margin: 0 0 16px; }
.lfc-comentarios .comment-form-cookies-consent { display: flex; align-items: flex-start; gap: 8px; }
.lfc-comentarios .comment-form-cookies-consent label { display: inline; margin: 0; font-weight: 400; }
.lfc-comentarios .comment-form-cookies-consent input { margin-top: 3px; }
