/*
 * FGPC Blocks — pegamento de los widgets.
 *
 * Las primitivas (.fgpc-btn, .fgpc-chip, .fgpc-eyebrow, .fgpc-stat…) viven en
 * fgpc-ds/assets/css/base.css. Acá va solo lo que necesita el envoltorio de
 * cada widget dentro de Elementor.
 *
 * Regla que no se rompe: cero colores literales, todo por token.
 */

/* ------------------------------------------------- encabezado de seccion --- */

.fgpc-sec-top {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 14px 32px;
	margin-bottom: 38px;
}

.fgpc-sec-top__main { min-width: 0; }

.fgpc-sec-top .fgpc-eyebrow { margin-bottom: 14px; }

/* Medido sobre el mockup (`.sec-top h2`): Inter 38px / peso 800 /
   letter-spacing -0.015em / line-height 1.1 / caja normal / color --ink.
   El peso 800 y la caja normal se declaran también en fgpc-ds/legacy-compat,
   porque el tema viejo pisa todos los h1-h6 con uppercase y peso 900. */
.fgpc-sec-top__title {
	font-family: var(--fgpc-font-sans);
	font-size: clamp(1.7rem, 3.4vw, 38px);
	font-weight: 800;
	line-height: 1.1;
	letter-spacing: -0.015em;
	text-transform: none;
	margin: 0;
	color: var(--fgpc-ink);
	text-wrap: balance;
}

/* Bajada opcional. Es texto de lectura, no un accesorio del título: cuerpo
   normal, color secundario y ancho de medida cómoda. */
.fgpc-sec-top__sub {
	margin: 10px 0 0;
	max-width: 62ch;
	font-size: 15px;
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: 0;
	text-transform: none;
	color: var(--fgpc-ink2);
}

.fgpc-sec-top.fgpc-on-dark .fgpc-sec-top__sub { color: rgba(255, 255, 255, 0.78); }

/* Sobre fondo oscuro el titulo y el eyebrow cambian juntos. */
.fgpc-on-dark .fgpc-sec-top__title,
.fgpc-sec-top.fgpc-on-dark .fgpc-sec-top__title { color: var(--fgpc-paper); }
.fgpc-sec-top.fgpc-on-dark .fgpc-eyebrow { color: var(--fgpc-gold-soft); }
.fgpc-sec-top.fgpc-on-dark .fgpc-link { color: var(--fgpc-paper); }

/* ------------------------------------------------------------- botones --- */

.fgpc-btn-wrap { display: flex; }

/* El widget envuelve el texto en un <span> para poder separarlo del icono
   sin depender de nodos de texto sueltos. */
.fgpc-btn > span { display: inline-block; }

/* ---------------------------------------------------------------- stat --- */

/* base.css apaga el separador con `.fgpc-stat:last-child`, que sirve en el
   sitio legacy pero no acá: Elementor envuelve cada widget en su propio
   .elementor-widget > .elementor-widget-container, así que TODO stat es
   :last-child de su contenedor y ninguno mostraba la línea divisoria.
   Dentro de un widget mandamos con la clase explícita, no con la posición. */
.elementor-widget-fgpc_stat .fgpc-stat { border-right: 1px solid var(--fgpc-line); }
.elementor-widget-fgpc_stat .fgpc-stat--last { border-right: 0; }
.fgpc-stat--last { border-right: 0; }
a.fgpc-stat { text-decoration: none; color: inherit; display: block; }

/* -------------------------------------------------------- barra de filtros --- */

.fgpc-filter-bar {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 8px 14px;
	border-radius: 8px;
	background: var(--fgpc-paper);
	border: 1px solid var(--fgpc-line);
}

.fgpc-filter-bar__icon {
	font-size: 15px;
	color: var(--fgpc-ink2);
	flex-shrink: 0;
	line-height: 1;
}

.fgpc-filter-bar__label {
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	color: var(--fgpc-ink2);
	white-space: nowrap;
}

.fgpc-filter-bar__sep {
	width: 1px;
	height: 20px;
	background: var(--fgpc-line);
	flex-shrink: 0;
	margin: 0 4px;
}

.fgpc-filter-bar__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
	min-width: 0;
}

/* ------------------------------------------------- convivencia con Elementor --- */

/*
 * Elementor pone display:block en el contenedor del widget. Los atomos que
 * son inline (eyebrow, tag) necesitan que el contenedor no les imponga ancho
 * completo, o el area clickeable se estira toda la columna.
 */
.elementor-widget-fgpc_eyebrow .elementor-widget-container,
.elementor-widget-fgpc_tag .elementor-widget-container {
	display: inline-block;
	max-width: 100%;
}

/*
 * En el editor, un widget vacio no ocupa alto y no se lo puede seleccionar.
 * Se le da un minimo solo dentro del canvas.
 */
.elementor-editor-active .elementor-widget-fgpc_eyebrow:empty,
.elementor-editor-active .elementor-widget-fgpc_tag:empty {
	min-height: 22px;
}

/* ================================================== moleculas ============ */
/* Los valores salen de medir el mockup renderizado, no de leer su hoja: en
   `.act` hay selectores declarados dos veces donde la segunda gana. */

/* ------------------------------------------------------ fila de torneo --- */

.fgpc-trow {
	display: grid;
	grid-template-columns: 92px 1fr auto;
	gap: 20px;
	align-items: center;
	padding: 20px 4px;
	border-bottom: 1px solid var(--fgpc-line);
	transition: background 0.3s;
}

.fgpc-trow:hover { background: rgba(168, 132, 44, 0.06); }

/* Playfair, no Inter: la fecha es el dato que se busca al barrer la lista con
   la vista, y el cambio de familia la separa del resto sin necesidad de color. */
.fgpc-trow__d {
	font-family: var(--fgpc-font-display);
	font-size: 20px;
	font-weight: 600;
	line-height: 1.15;
	color: var(--fgpc-pine);
	font-variant-numeric: tabular-nums;
}

.fgpc-trow__t {
	font-size: 16.5px;
	font-weight: 700;
	line-height: 1.3;
	color: var(--fgpc-ink);
}

/* La categoria dentro del titulo usa el tamano chico de .fgpc-cat (10px/.12em)
   y lo unico que agrega es la separacion respecto del nombre del torneo. */
.fgpc-trow__t .fgpc-cat { margin-left: 10px; }

.fgpc-trow__v {
	display: flex;
	align-items: center;
	gap: 6px;
	margin-top: 5px;
	font-size: 13.5px;
	color: var(--fgpc-ink2);
	text-decoration: none;
}
.fgpc-trow__v i { color: var(--fgpc-gold); }
a.fgpc-trow__v:hover { color: var(--fgpc-pine); }

.fgpc-pts { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 4px; }
.fgpc-pts__tag {
	display: inline-block;
	padding: 2px 8px;
	border: 1px solid var(--fgpc-gold);
	border-radius: 4px;
	background: transparent;
	color: var(--fgpc-gold);
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.fgpc-trow__acts { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; }

/* En pantallas chicas la grilla de tres columnas no entra: la fecha pasa a ser
   una linea propia y las acciones caen debajo, alineadas a la izquierda. */
@media (max-width: 700px) {
	.fgpc-trow {
		grid-template-columns: 1fr;
		gap: 10px;
		padding: 18px 4px;
	}
	.fgpc-trow__acts { justify-content: flex-start; }
}

/* --------------------------------------------------- tarjeta de noticia --- */

.fgpc-ncard {
	display: block;
	overflow: hidden;
	border: 1px solid var(--fgpc-line);
	border-radius: 9px;
	background: var(--fgpc-paper);
	box-shadow: 0 2px 6px rgba(22, 41, 31, 0.05), 0 16px 34px rgba(22, 41, 31, 0.08);
	text-decoration: none;
	color: inherit;
	transition: transform 0.45s cubic-bezier(0.22, 0.61, 0.36, 1), box-shadow 0.45s;
}

/* Elementor declara `.elementor a { box-shadow: none }` en su frontend.min.css.
   Especificidad (0,1,1) contra la (0,1,0) de la clase: gana Elementor y la
   tarjeta pierde la sombra, que es justo lo que le da relieve.
   No es un problema de esta tarjeta: le pasa a CUALQUIER componente nuestro que
   sea un <a> con sombra -- la tarjeta de club, la de alianza, las del hub de
   documentos. Se resuelve una vez, para el patron entero, subiendo la
   especificidad a (0,2,1) en vez de repartir !important por el archivo.
   El :hover ya ganaba solo: a.fgpc-ncard:hover tambien es (0,2,1). */
.elementor a.fgpc-sombra,
.elementor a.fgpc-ncard {
	box-shadow: 0 2px 6px rgba(22, 41, 31, 0.05), 0 16px 34px rgba(22, 41, 31, 0.08);
}

.fgpc-ncard__img {
	width: 100%;
	aspect-ratio: 4 / 3;
	background-size: cover;
	background-position: center;
	transition: transform 0.6s cubic-bezier(0.22, 0.61, 0.36, 1);
}

/* Sin imagen la tarjeta no colapsa: reserva el mismo espacio con un tono
   neutro. Una grilla con tarjetas de dos alturas distintas se ve rota. */
.fgpc-ncard__img--vacia { background: var(--fgpc-ivory); }

.fgpc-ncard__cat {
	display: block;
	margin: 16px 18px 0;
	font-size: 10.5px;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--fgpc-gold);
}

/* El titulo de la tarjeta hereda el tracking de los titulos del mockup
   (-0.015em en h1-h4). Se declara aca porque el tema viejo pisa los h1-h6. */
.fgpc-ncard__t {
	margin: 7px 18px;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.26;
	letter-spacing: -0.015em;
	text-transform: none;
	color: var(--fgpc-ink);
	transition: color 0.3s;
}

.fgpc-ncard__date {
	margin: 0 18px 18px;
	font-size: 11.5px;
	font-weight: 500;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--fgpc-ink2);
}

/* La imagen escala mas lento que la tarjeta (0.6s contra 0.45s). Esa
   diferencia es lo que da la sensacion de profundidad; igualar los tiempos
   deja el movimiento plano. */
a.fgpc-ncard:hover {
	transform: translateY(-10px);
	box-shadow: 0 8px 16px rgba(22, 41, 31, 0.1), 0 30px 60px rgba(22, 41, 31, 0.2);
}
a.fgpc-ncard:hover .fgpc-ncard__img { transform: scale(1.06); }
a.fgpc-ncard:hover .fgpc-ncard__t { color: var(--fgpc-gold); }

@media (prefers-reduced-motion: reduce) {
	.fgpc-ncard, .fgpc-ncard__img { transition: none; }
	a.fgpc-ncard:hover { transform: none; }
	a.fgpc-ncard:hover .fgpc-ncard__img { transform: none; }
}

/* ---------------------------------------------------------- fila de club --- */

.fgpc-crow {
	display: grid;
	grid-template-columns: 1fr auto auto;
	align-items: center;
	gap: 16px;
	padding: 18px 4px;
	border-bottom: 1px solid var(--fgpc-line);
}

.fgpc-crow__nm {
	display: block;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0;
	text-transform: none;
	color: var(--fgpc-ink);
	text-decoration: none;
}
a.fgpc-crow__nm:hover { color: var(--fgpc-pine); }

.fgpc-crow__contact { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 5px; }
.fgpc-crow__cc {
	display: flex;
	align-items: center;
	gap: 4px;
	font-size: 11.5px;
	font-weight: 400;
	color: var(--fgpc-ink2);
	text-decoration: none;
}
.fgpc-crow__cc i { color: var(--fgpc-gold); font-size: 13px; }
a.fgpc-crow__cc:hover { color: var(--fgpc-pine); }

.fgpc-crow__ci {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 13px;
	color: var(--fgpc-ink2);
	text-decoration: none;
	white-space: nowrap;
}
.fgpc-crow__ci i { color: var(--fgpc-gold); }
a.fgpc-crow__ci:hover { color: var(--fgpc-pine); }

.fgpc-crow__acts { display: flex; align-items: center; gap: 8px; }

@media (max-width: 700px) {
	.fgpc-crow { grid-template-columns: 1fr; gap: 8px; }
	.fgpc-crow__ci { white-space: normal; }
}

/* ------------------------------------- coexistencia con Elementor -------- */
/* Mismo caso que el stat: dentro de un widget, la linea inferior de la ultima
   fila no se puede apagar con :last-child porque toda fila es :last-child de
   su propio contenedor. Se apaga con la clase, que pone el organismo. */
.fgpc-trow--last, .fgpc-crow--last { border-bottom: 0; }

/* -------------------------------------------------- ficha de documento --- */

.fgpc-doc {
	display: flex;
	gap: 24px;
	align-items: flex-start;
	padding: 28px 0;
	border-bottom: 1px solid var(--fgpc-line);
}

.fgpc-doc__icon {
	flex-shrink: 0;
	width: 52px;
	height: 52px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--fgpc-line);
	border-radius: 14px;
	background: var(--fgpc-paper);
	color: var(--fgpc-pine);
	font-size: 22px;
}

.fgpc-doc__body { flex: 1; min-width: 0; }

.fgpc-doc__tag {
	display: block;
	margin-bottom: 6px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--fgpc-pine);
}

/* Playfair, no Inter: en el hub de documentos el titulo compite con una lista
   larga de botones y la serif lo separa sin subirle el tamano. */
.fgpc-doc__t {
	margin: 0 0 8px;
	font-family: var(--fgpc-font-display);
	font-size: 18px;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: 0;
	text-transform: none;
	color: var(--fgpc-ink);
}

.fgpc-doc__p {
	margin: 0 0 14px;
	font-size: 14.5px;
	line-height: 1.6;
	color: var(--fgpc-ink2);
}

.fgpc-doc__links { display: flex; flex-wrap: wrap; gap: 10px; }

.fgpc-doc--last { border-bottom: 0; }

@media (max-width: 600px) {
	.fgpc-doc { gap: 16px; }
	.fgpc-doc__icon { width: 44px; height: 44px; font-size: 19px; }
}

/* ----------------------------------------------------- ficha de persona --- */

.fgpc-persona {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 22px;
	border: 1px solid var(--fgpc-line);
	border-radius: 12px;
	background: var(--fgpc-paper);
	height: 100%;
}

.fgpc-persona__av {
	flex: 0 0 auto;
	width: 56px;
	height: 56px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--fgpc-line);
	border-radius: 50%;
	background: var(--fgpc-ivory);
	color: var(--fgpc-pine);
	font-size: 24px;
}

.fgpc-persona__av--img { object-fit: cover; background: var(--fgpc-ivory); }

.fgpc-persona__body { min-width: 0; }

.fgpc-persona__nm {
	font-size: 15.5px;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: 0;
	text-transform: none;
	color: var(--fgpc-ink);
}

.fgpc-persona__ro { margin-top: 2px; font-size: 12.5px; color: var(--fgpc-ink2); }

.fgpc-persona__mail {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	margin-top: 6px;
	font-size: 12px;
	color: var(--fgpc-ink2);
	text-decoration: none;
	word-break: break-all;
}
.fgpc-persona__mail i { color: var(--fgpc-gold); }
.fgpc-persona__mail:hover { color: var(--fgpc-pine); }

/* Mismo caso que el stat y las filas: dentro de un widget de Elementor la
   ultima ficha no se puede detectar con :last-child. */
.elementor-widget-fgpc_doc .fgpc-doc { border-bottom: 1px solid var(--fgpc-line); }
.elementor-widget-fgpc_doc .fgpc-doc--last { border-bottom: 0; }

/* ================================================= organismos ============ */

/* ------------------------------------------------------------ calendario --- */

.fgpc-cal { display: block; }
.fgpc-cal .fgpc-filter-bar { margin-bottom: 8px; }
.fgpc-cal .fgpc-mes:first-child { margin-top: 0; }
.fgpc-cal__sin { padding: 28px 4px; color: var(--fgpc-ink2); font-size: 14.5px; }
.fgpc-vacio { color: var(--fgpc-ink2); font-size: 14.5px; }

/* La ultima fila visible no lleva linea inferior. :last-child no sirve porque
   el filtro esconde filas sin sacarlas del DOM, asi que la ultima del DOM
   puede estar oculta. Se resuelve con el selector de hermanos ocultos. */
.fgpc-cal__item:last-child .fgpc-trow,
.fgpc-cal__item:has(~ .fgpc-cal__item[hidden]):last-of-type .fgpc-trow { border-bottom: 0; }

/* --------------------------------------------------- formulario de inscripcion --- */

.fgpc-insc {
	max-width: 640px;
	padding: 28px;
	border: 1px solid var(--fgpc-line);
	border-radius: 12px;
	background: var(--fgpc-paper);
}

.fgpc-insc__t {
	margin: 0 0 8px;
	font-family: var(--fgpc-font-sans);
	font-size: 22px;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: -0.01em;
	text-transform: none;
	color: var(--fgpc-ink);
}

.fgpc-insc__p { margin: 0 0 18px; font-size: 14.5px; line-height: 1.6; color: var(--fgpc-ink2); }

.fgpc-insc__torneo {
	margin: 0 0 18px;
	padding: 10px 14px;
	border-radius: 8px;
	background: var(--fgpc-ivory);
	font-size: 14px;
	font-weight: 600;
	color: var(--fgpc-pine);
}

.fgpc-insc__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 14px;
	margin-bottom: 14px;
}

.fgpc-campo { display: block; margin-bottom: 14px; }
.fgpc-campo > span {
	display: block;
	margin-bottom: 5px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--fgpc-ink2);
}
.fgpc-campo input,
.fgpc-campo select,
.fgpc-campo textarea {
	width: 100%;
	padding: 11px 13px;
	border: 1px solid var(--fgpc-line);
	border-radius: 8px;
	background: var(--fgpc-paper);
	color: var(--fgpc-ink);
	font-family: var(--fgpc-font-sans);
	font-size: 14.5px;
	transition: border-color 0.2s;
}
.fgpc-campo input:focus,
.fgpc-campo select:focus,
.fgpc-campo textarea:focus {
	outline: none;
	border-color: var(--fgpc-gold);
	box-shadow: 0 0 0 3px rgba(168, 132, 44, 0.15);
}
.fgpc-insc__grid .fgpc-campo { margin-bottom: 0; }

/* La trampa para robots: fuera de la vista pero sin display:none, porque
   algunos bots ignoran los campos ocultos con display y asi caen igual. */
.fgpc-hp {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.fgpc-insc__aviso {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin-bottom: 18px;
	padding: 14px 16px;
	border-radius: 8px;
	font-size: 14.5px;
	line-height: 1.55;
}
.fgpc-insc__aviso i { font-size: 20px; flex-shrink: 0; margin-top: 1px; }
.fgpc-insc__aviso--ok {
	background: rgba(31, 58, 46, 0.07);
	border: 1px solid rgba(31, 58, 46, 0.25);
	color: var(--fgpc-pine);
}
.fgpc-insc__aviso--error {
	background: rgba(154, 59, 51, 0.07);
	border: 1px solid rgba(154, 59, 51, 0.3);
	color: var(--fgpc-danger, #9A3B33);
}

.fgpc-insc__legal { margin: 14px 0 0; font-size: 12px; line-height: 1.5; color: var(--fgpc-ink2); }

.fgpc-insc button[type="submit"] { margin-top: 4px; }

@media (max-width: 600px) {
	.fgpc-insc { padding: 20px; }
	.fgpc-insc__grid { grid-template-columns: 1fr; }
}

/* ------------------------------------------------------ grilla de noticias --- */

.fgpc-noticias {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 28px;
	align-items: start;
}

/* El escalon del mockup: las tarjetas pares bajan 34px. Solo con las cuatro
   columnas -- el mockup lo apaga por debajo de 900px, donde la grilla pasa a
   dos columnas y el escalon deja un diente de sierra en vez de un ritmo. */
@media (min-width: 901px) {
	.fgpc-noticias--escalonada > .fgpc-noticias__item:nth-child(2n) { margin-top: 34px; }
}

.fgpc-noticias__item { min-width: 0; }
.fgpc-noticias-wrap .fgpc-filter-bar { margin-bottom: 22px; }

@media (max-width: 900px) {
	.fgpc-noticias { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
}
@media (max-width: 560px) {
	.fgpc-noticias { grid-template-columns: 1fr; gap: 20px; }
}

/* ----------------------------------------------------------- logotipo --- */
/* El archivo original es blanco sobre transparente, porque el sitio viejo
   tenia el encabezado verde. Se usa como MASCARA en vez de como imagen: la
   forma sale del canal alfa y el color lo pone el fondo. Asi el mismo archivo
   sirve en verde sobre el header claro y en blanco sobre el pie oscuro. */

.fgpc-logo-wrap {
	display: inline-flex;
	flex-direction: column;
	gap: 7px;
	text-decoration: none;
	color: inherit;
}

.fgpc-logo {
	display: block;
	height: 46px;
	width: 100%;
	max-width: 100%;
	-webkit-mask-image: var(--fgpc-logo-src);
	mask-image: var(--fgpc-logo-src);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: left center;
	mask-position: left center;
	-webkit-mask-size: contain;
	mask-size: contain;
	background-color: var(--fgpc-pine);
	/* El ancho lo fija la proporcion del archivo: 292x50. */
	aspect-ratio: 292 / 50;
}

.fgpc-logo--claro { background-color: #fff; }
.fgpc-logo--gold  { background-color: var(--fgpc-gold); }
.fgpc-logo--ink   { background-color: var(--fgpc-ink); }

.fgpc-logo__sub {
	font-size: 10px;
	font-weight: 500;
	letter-spacing: 0.14em;
	line-height: 1.5;
	text-transform: uppercase;
	color: var(--fgpc-ink2);
}
.fgpc-logo--claro + .fgpc-logo__sub { color: rgba(255, 255, 255, 0.72); }

/* Sin soporte de mascara -- navegadores muy viejos -- el bloque quedaria en
   blanco. Se muestra el archivo como imagen de fondo, que al menos se ve. */
@supports not ((-webkit-mask-image: url("")) or (mask-image: url(""))) {
	.fgpc-logo {
		background-color: transparent;
		background-image: var(--fgpc-logo-src);
		background-repeat: no-repeat;
		background-position: left center;
		background-size: contain;
	}
}

/* ------------------------------------------------- tabla de resultados --- */

.fgpc-res__tabs { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 16px; }

.fgpc-res__tab {
	padding: 7px 15px;
	border: 1px solid var(--fgpc-line);
	border-radius: 20px;
	background: transparent;
	color: var(--fgpc-ink2);
	font-family: var(--fgpc-font-sans);
	font-size: 12.5px;
	font-weight: 500;
	cursor: pointer;
	transition: 0.15s;
	white-space: nowrap;
}
.fgpc-res__tab:hover:not(.is-on) { border-color: var(--fgpc-pine); color: var(--fgpc-pine); }
.fgpc-res__tab.is-on { background: var(--fgpc-pine); border-color: var(--fgpc-pine); color: #fff; }

.fgpc-res__count { opacity: 0.65; margin-left: 4px; font-variant-numeric: tabular-nums; }

/* Una tabla de posiciones no se puede achicar sin volverla ilegible: en
   pantalla chica se desplaza dentro de su caja y la pagina no se mueve. */
.fgpc-res__scroll {
	overflow-x: auto;
	border: 1px solid var(--fgpc-line);
	border-radius: 10px;
	background: var(--fgpc-paper);
}

.fgpc-res__tabla { width: 100%; border-collapse: collapse; font-size: 14.5px; min-width: 460px; }

.fgpc-res__tabla th {
	padding: 12px 16px;
	border-bottom: 1px solid var(--fgpc-line);
	text-align: left;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	color: var(--fgpc-ink2);
	white-space: nowrap;
}

.fgpc-res__tabla td { padding: 11px 16px; border-bottom: 1px solid var(--fgpc-line); }
.fgpc-res__tabla tbody tr:last-child td { border-bottom: 0; }
.fgpc-res__tabla tbody tr:nth-child(2n) { background: var(--fgpc-zebra); }

.fgpc-res__pos {
	width: 62px;
	font-variant-numeric: tabular-nums;
	font-weight: 600;
	color: var(--fgpc-pine);
}
.fgpc-res__sinpos { color: var(--fgpc-ink2); font-weight: 400; }

.fgpc-res__jug { font-weight: 600; }

.fgpc-res__vueltas { color: var(--fgpc-ink2); font-variant-numeric: tabular-nums; white-space: nowrap; }

.fgpc-res__total {
	text-align: right;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

/* El podio se marca con un filete a la izquierda, no con color de fondo: el
   fondo pelearia con la fila cebra y la tabla quedaria manchada. */
.fgpc-res__podio .fgpc-res__pos { position: relative; }
.fgpc-res__podio .fgpc-res__pos::before {
	content: "";
	position: absolute;
	left: 0; top: 6px; bottom: 6px;
	width: 3px;
	border-radius: 0 2px 2px 0;
	background: var(--fgpc-gold);
}
.fgpc-res__podio--1 .fgpc-res__pos::before { background: var(--fgpc-gold); }
.fgpc-res__podio--2 .fgpc-res__pos::before { background: var(--fgpc-line); }
.fgpc-res__podio--3 .fgpc-res__pos::before { background: var(--fgpc-gold-soft); }

/* ==========================================================================
   Portada (widget fgpc_portada)
   Medidas del mockup (.hero): min-height 600, contenido abajo, degradado de
   rgba(22,41,31,.15) a rgba(15,26,20,.90). El degradado se declara con una
   variable para que el control «Oscurecer la foto» pueda moverlo sin reescribir
   toda la regla.
   ========================================================================== */
/* Valores calcados de `.hero` del mockup. La versión anterior usaba la serif a
   32px y peso 600; el original es la sans a 52 y peso 800, que es la diferencia
   entre una portada y un pie de foto. */
.fgpc-portada{position:relative;display:flex;align-items:flex-end;min-height:600px;overflow:hidden;background:var(--fgpc-pine-d,#16291F) center/cover no-repeat}
.fgpc-portada__velo{--fgpc-portada-fin:.9;position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(22,41,31,.15) 0%,rgba(22,41,31,.32) 42%,rgba(15,26,20,var(--fgpc-portada-fin)) 100%)}
.fgpc-portada__wrap{position:relative;z-index:2;width:100%;max-width:1200px;margin:0 auto;padding:96px 44px 66px}
.fgpc-portada__cuerpo{max-width:790px}
.fgpc-portada__kicker{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--fgpc-gold,#A8842C);margin-bottom:20px}
.fgpc-portada__punto{width:8px;height:8px;border-radius:50%;background:#E4032E;display:inline-block;flex:none}
.fgpc-portada__titulo{font-family:var(--fgpc-font-sans,Inter,system-ui,sans-serif);font-size:52px;line-height:1.06;font-weight:800;letter-spacing:-.022em;text-transform:none;color:#fff;margin:0 0 18px}
.fgpc-portada__bajada{font-size:18px;line-height:1.5;color:#E6ECE8;max-width:640px;margin:0 0 28px}
.fgpc-portada__meta{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.fgpc-portada__link{display:inline-flex;align-items:center;gap:8px;color:#fff;border-bottom:1.5px solid var(--fgpc-gold,#A8842C);padding-bottom:4px;font-weight:600;font-size:13px;letter-spacing:.04em;text-transform:uppercase;text-decoration:none}
.fgpc-portada__link i{transition:transform .3s}
.fgpc-portada__link:hover i{transform:translateX(5px)}
.fgpc-portada__fecha{font-size:12.5px;color:#C7D2CC;letter-spacing:.1em;text-transform:uppercase;font-weight:500}
.fgpc-portada__btns{display:flex;gap:14px;flex-wrap:wrap;margin-top:26px}
.fgpc-hbtn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-size:12.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;padding:13px 22px;border-radius:4px;text-decoration:none;transition:all .2s ease}
.fgpc-hbtn--solid{background:var(--gold,#C5A84B);color:var(--pine,#16291F)}
.fgpc-hbtn--ghost{border:1.5px solid rgba(255,255,255,.55);color:#fff}
.fgpc-hbtn--ghost:hover{border-color:#fff;background:rgba(255,255,255,.08)}
@media (max-width:767px){
  .fgpc-portada{min-height:520px}
  .fgpc-portada__titulo{font-size:32px}
  .fgpc-portada__wrap{padding-top:70px}
  .fgpc-portada__btns .fgpc-hbtn{flex:1}
}

/* ==========================================================================
   Cita institucional  (mockup .quote)
   ========================================================================== */
.fgpc-cita{margin:0;text-align:center}
.fgpc-cita__filete{display:block;width:54px;height:2px;background:var(--gold,#C5A84B);margin:0 auto 18px}
.fgpc-cita__texto{font-family:var(--fgpc-font-display,'Playfair Display',Georgia,serif);font-size:31px;line-height:1.42;font-weight:500;font-style:italic;letter-spacing:normal;text-transform:none;color:var(--ink,#1B2A22);margin:0 auto;max-width:820px;border:0;padding:0}
.fgpc-cita__autoria{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink2,#5A6B60);font-weight:600;margin-top:18px}

/* ==========================================================================
   Banda de llamada a la acción  (mockup .cta-band)
   ========================================================================== */
.fgpc-cta{position:relative;padding:110px 0;text-align:center;color:#fff;background:var(--pine,#16291F) center/cover no-repeat}
.fgpc-cta__velo{position:absolute;inset:0;background:rgba(15,26,20,.55)}
.fgpc-cta__cuerpo{position:relative;z-index:2;max-width:760px;margin:0 auto;padding:0 24px}
.fgpc-cta__titulo{font-family:var(--serif,'Playfair Display',Georgia,serif);font-size:44px;line-height:1.15;font-weight:600;letter-spacing:normal;text-transform:none;color:#fff;margin:16px 0 18px}
.fgpc-cta__texto{font-size:16px;line-height:1.6;color:#E6ECE8;margin:0 0 22px}
.fgpc-cta__link{display:inline-flex;align-items:center;gap:8px;color:#fff;border-bottom:1.5px solid #D8C188;padding-bottom:2px;font-weight:600;font-size:13px;letter-spacing:.05em;text-transform:uppercase;text-decoration:none}
@media (max-width:767px){.fgpc-cta{padding:64px 0}.fgpc-cta__titulo{font-size:30px}}

/* ==========================================================================
   Grilla de sponsors  (mockup .spons-section)
   ========================================================================== */
.fgpc-spons{--fgpc-spons-cols:4;background:#162014;padding:36px 24px 40px}
.fgpc-spons__hd{display:flex;align-items:center;gap:16px;max-width:1180px;margin:0 auto 22px}
.fgpc-spons__linea{flex:1;height:1px;background:rgba(255,255,255,.12)}
.fgpc-spons__eye{font-size:11.5px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:#C8D2CB}
.fgpc-spons__grid{display:grid;grid-template-columns:repeat(var(--fgpc-spons-cols),minmax(0,1fr));gap:12px;max-width:1180px;margin:0 auto}
/* Recuadro de sponsor. Sin logo es un rótulo claro sobre el verde; con logo
   pasa a ser una tarjeta blanca, porque los logos reales vienen a color y
   varios son de tinta oscura: sobre el verde no se verían. */
.fgpc-sp{display:flex;align-items:center;justify-content:center;min-height:72px;padding:14px;border-radius:8px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.06);transition:background .2s ease;text-decoration:none}
.fgpc-sp--img{background:#fff;padding:16px 20px}
.fgpc-sp--img:hover{background:#fff;transform:translateY(-1px)}
.fgpc-sp:hover{background:rgba(255,255,255,.11)}
.fgpc-sp img{max-width:100%;max-height:56px;width:auto;height:auto;object-fit:contain}
.fgpc-sp__nombre{color:#E6ECE8;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;text-align:center}
@media (max-width:900px){.fgpc-spons__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ==========================================================================
   Datos de contacto
   ========================================================================== */
.fgpc-datos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:16px}
.fgpc-dato{display:flex;align-items:flex-start;gap:12px;margin:0}
.fgpc-dato > .ti{font-size:18px;line-height:1.4;color:var(--gold,#C5A84B);flex:none}
.fgpc-dato__cuerpo{display:flex;flex-direction:column;gap:2px;min-width:0}
.fgpc-dato__etiqueta{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink2,#5A6B60)}
.fgpc-dato__valor{font-size:15px;color:var(--ink,#1B2A22);overflow-wrap:anywhere}
.fgpc-dato__valor a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(0,0,0,.18)}
.fgpc-dato__valor a:hover{border-bottom-color:var(--gold,#C5A84B)}

/* ==========================================================================
   Directorio de clubes
   ========================================================================== */
.fgpc-clubes__total{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink2,#5A6B60);margin:0 0 14px}
.fgpc-clubes__total strong{font-size:20px;font-family:var(--serif,'Playfair Display',Georgia,serif);color:var(--pine,#16291F);margin-right:6px}
.fgpc-clubes__lista{display:flex;flex-direction:column}
.fgpc-clubes__item[hidden]{display:none}
.fgpc-clubes__vacio{padding:28px 0;text-align:center;color:var(--ink2,#5A6B60);font-size:14px}

/* ==========================================================================
   Formulario de contacto
   El honeypot se oculta con posicionamiento y no con display:none, porque
   algunos robots saltean lo que está en display:none — que es exactamente lo
   que no queremos que hagan.
   ========================================================================== */
.fgpc-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.fgpc-form__titulo{margin:0 0 8px}
.fgpc-form__texto{font-size:15px;color:var(--ink2,#5A6B60);margin:0 0 20px}
.fgpc-form__campo{display:flex;flex-direction:column;gap:6px;margin:0 0 16px}
.fgpc-form__campo label{font-size:11.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink2,#5A6B60)}
.fgpc-form__campo input,.fgpc-form__campo select,.fgpc-form__campo textarea{width:100%;font:inherit;font-size:15px;color:var(--ink,#1B2A22);background:#fff;border:1px solid #D6DDD8;border-radius:4px;padding:11px 13px}
.fgpc-form__campo input:focus,.fgpc-form__campo select:focus,.fgpc-form__campo textarea:focus{outline:2px solid var(--gold,#C5A84B);outline-offset:1px;border-color:var(--gold,#C5A84B)}
.fgpc-form__campo textarea{resize:vertical;min-height:130px}
.fgpc-form__enviar{margin:22px 0 0}
.fgpc-form__aviso{font-size:14px;border-radius:4px;padding:12px 14px;margin:0 0 18px}
.fgpc-form__aviso--ok{background:#EAF3EC;color:#1B4B2E;border:1px solid #BFD9C6}
.fgpc-form__aviso--error{background:#FBEDEC;color:#7A2620;border:1px solid #E7C3BF}

/* ==========================================================================
   Metadatos de noticia y cabecera de torneo
   ========================================================================== */
.fgpc-nmeta{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.fgpc-nmeta__fecha{font-size:12.5px;letter-spacing:.06em;color:var(--ink2,#5A6B60)}
.fgpc-tcab{display:flex;align-items:center;gap:22px;flex-wrap:wrap;padding:14px 0;border-top:1px solid #E3E8E4;border-bottom:1px solid #E3E8E4}
.fgpc-tcab__dato{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--ink,#1B2A22)}
.fgpc-tcab__dato > .ti{font-size:17px;color:var(--gold,#C5A84B)}
.fgpc-tcab__dato a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(0,0,0,.18)}
.fgpc-tcab__acciones{margin:18px 0 0}

/* El título de una fila de torneo enlaza a su ficha. Hereda el color y el peso
   del título: subrayarlo o pintarlo de otro color rompería el ritmo de una
   lista de 134 filas. El subrayado aparece al pasar por encima. */
.fgpc-trow__link{color:inherit;text-decoration:none;border-bottom:1px solid transparent}
.fgpc-trow__link:hover{border-bottom-color:var(--fgpc-gold,#C5A84B)}

/* ==========================================================================
   Calendario: herramientas, buscador y meses plegables
   ========================================================================== */
.fgpc-cal__tools{display:flex;gap:22px;flex-wrap:wrap;margin:0 0 16px}
.fgpc-cal__tool{display:inline-flex;align-items:center;gap:7px}
.fgpc-cal__buscar{position:relative;display:flex;align-items:center;margin:0 0 20px}
.fgpc-cal__buscar > .ti{position:absolute;left:14px;font-size:17px;color:var(--fgpc-ink2);pointer-events:none}
.fgpc-cal__buscar input{width:100%;font:inherit;font-size:15px;color:var(--fgpc-ink);background:#fff;border:1px solid var(--fgpc-line);border-radius:4px;padding:11px 14px 11px 42px}
.fgpc-cal__buscar input:focus{outline:2px solid var(--fgpc-gold);outline-offset:1px;border-color:var(--fgpc-gold)}
/* `.past-toggle` del mockup: un renglón discreto con un filete abajo, no un
   botón con borde punteado. Es lo que separa un mes plegado del siguiente. */
.fgpc-cal__toggle{display:flex;align-items:center;gap:6px;width:100%;margin:0 0 6px;padding:7px 14px;background:none;border:0;border-bottom:1px solid var(--fgpc-line);cursor:pointer;font:inherit;font-size:11.5px;font-weight:400;letter-spacing:0;text-transform:none;color:var(--fgpc-ink2);opacity:.7;transition:color .15s}
.fgpc-cal__toggle:hover{color:var(--fgpc-pine);opacity:1}
.fgpc-cal__toggle .ti{font-size:13px;transition:transform .2s ease}
.fgpc-cal__toggle[aria-expanded="true"] .ti{transform:rotate(180deg)}
.fgpc-cal__pasados[hidden]{display:none}
.fgpc-cal__pasados .fgpc-trow{opacity:.72}
.fgpc-trow__info-links{display:flex;gap:16px;flex-wrap:wrap;margin-top:6px}
.fgpc-trow__ilink{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--fgpc-ink2);text-decoration:none}
.fgpc-trow__ilink .ti{font-size:15px;color:var(--fgpc-gold)}
.fgpc-trow__ilink:hover{color:var(--fgpc-pine)}

/* ==========================================================================
   Ranking y Top 5
   ========================================================================== */
.fgpc-rank__scroll{overflow-x:auto;border:1px solid var(--fgpc-line);border-radius:6px;background:#fff}
.fgpc-rank__tabla{width:100%;border-collapse:collapse;font-size:14.5px;min-width:460px}
.fgpc-rank__tabla th{text-align:left;font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--fgpc-ink2);padding:12px 16px;border-bottom:1px solid var(--fgpc-line);white-space:nowrap}
.fgpc-rank__tabla td{padding:11px 16px;border-bottom:1px solid var(--fgpc-line)}
.fgpc-rank__tabla tbody tr:last-child td{border-bottom:0}
.fgpc-rank__tabla tbody tr:nth-child(2n){background:var(--fgpc-zebra)}
.fgpc-rank__pos{width:64px;font-variant-numeric:tabular-nums;font-weight:700;color:var(--fgpc-pine)}
.fgpc-rank__sinpos{color:var(--fgpc-ink2);font-weight:400}
.fgpc-rank__jug{font-weight:600}
.fgpc-rank__club{color:var(--fgpc-ink2)}
.fgpc-rank__pts{text-align:right;font-variant-numeric:tabular-nums;font-weight:700;white-space:nowrap}
.fgpc-rank__podio .fgpc-rank__pos{position:relative}
.fgpc-rank__podio .fgpc-rank__pos::before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:2px}
.fgpc-rank__podio--1 .fgpc-rank__pos::before{background:var(--fgpc-gold)}
.fgpc-rank__podio--2 .fgpc-rank__pos::before{background:var(--fgpc-line)}
.fgpc-rank__podio--3 .fgpc-rank__pos::before{background:#C9A98C}
.fgpc-rank__vacio{padding:26px 0;color:var(--fgpc-ink2);font-size:14px}

.fgpc-top5{list-style:none;margin:0 0 26px;padding:0;display:flex;flex-direction:column;gap:2px}
.fgpc-top5__fila{display:flex;align-items:center;gap:14px;padding:12px 14px;border-bottom:1px solid var(--fgpc-line)}
.fgpc-top5__fila:last-child{border-bottom:0}
.fgpc-top5__n{font-family:var(--fgpc-font-serif,'Playfair Display',Georgia,serif);font-size:24px;font-weight:600;color:var(--fgpc-line);line-height:1;width:34px;text-align:center;flex:none;font-variant-numeric:tabular-nums}
.fgpc-top5__fila--p1 .fgpc-top5__n{color:var(--fgpc-gold)}
.fgpc-top5__fila--p2 .fgpc-top5__n{color:var(--fgpc-ink2)}
.fgpc-top5__fila--p3 .fgpc-top5__n{color:#C9A98C}
.fgpc-top5__cuerpo{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}
.fgpc-top5__nombre{font-weight:600;font-size:15px;color:var(--fgpc-ink)}
.fgpc-top5__club{font-size:12.5px;color:var(--fgpc-ink2)}
.fgpc-top5__pts{font-weight:700;font-size:14px;white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--fgpc-pine)}

/* ==========================================================================
   Competencias: tarjetas de categoría y paneles
   ========================================================================== */
.fgpc-comp__cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;margin-bottom:30px}
.fgpc-comp__grupo{grid-column:1/-1;margin:14px 0 0;font-family:var(--fgpc-font-sans);font-size:11.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--fgpc-ink2);line-height:1.4}
.fgpc-comp__grupo:first-child{margin-top:0}
.fgpc-comp__cat{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:96px;padding:16px 12px;background:#fff;border:1px solid var(--fgpc-line);border-radius:6px;cursor:pointer;font:inherit;text-align:center;transition:border-color .15s ease,box-shadow .15s ease}
.fgpc-comp__cat .ti{font-size:22px;color:var(--fgpc-gold)}
.fgpc-comp__cat-t{font-size:13px;font-weight:600;color:var(--fgpc-ink);line-height:1.3}
.fgpc-comp__cat:hover{border-color:var(--fgpc-gold)}
.fgpc-comp__cat.is-on{border-color:var(--fgpc-pine);box-shadow:inset 0 0 0 1px var(--fgpc-pine)}
.fgpc-comp__cat.is-on .ti{color:var(--fgpc-pine)}
.fgpc-comp__panel[hidden]{display:none}
.fgpc-comp__desc{font-size:15px;color:var(--fgpc-ink2);max-width:70ch;margin:0 0 22px}
.fgpc-comp__ramas{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:20px}
.fgpc-comp__rama{padding:8px 16px;border:1px solid var(--fgpc-line);border-radius:30px;background:#fff;cursor:pointer;font:inherit;font-size:12.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--fgpc-ink2)}
.fgpc-comp__rama.is-on{background:var(--fgpc-pine);border-color:var(--fgpc-pine);color:#fff}
.fgpc-comp__rpanel[hidden]{display:none}
.fgpc-comp__sub{font-family:var(--fgpc-font-sans);font-size:15px;font-weight:700;letter-spacing:.02em;text-transform:none;color:var(--fgpc-ink);margin:0 0 12px}
.fgpc-comp__sub + .fgpc-rank__scroll{margin-bottom:8px}

/* ==========================================================================
   Grilla de fichas (.fcard del mockup)
   ========================================================================== */
.fgpc-fichas{--fgpc-fichas-cols:3;display:grid;grid-template-columns:repeat(var(--fgpc-fichas-cols),minmax(0,1fr));gap:20px}
.fgpc-fcard{display:flex;flex-direction:column;background:#fff;border:1px solid var(--fgpc-line);border-radius:8px;overflow:hidden}
.fgpc-fcard__ph{aspect-ratio:16/9;background:var(--fgpc-ivory) center/cover no-repeat;display:flex;align-items:center;justify-content:center}
.fgpc-fcard__ph--icono{aspect-ratio:auto;padding:26px 0;background:var(--fgpc-pine)}
.fgpc-fcard__ph--icono .ti{font-size:30px;color:var(--fgpc-gold-soft,#D8C188)}
.fgpc-fcard__bd{display:flex;flex-direction:column;gap:8px;padding:20px 22px 22px;flex:1}
.fgpc-fcard__tag{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--fgpc-gold)}
.fgpc-fcard__t{font-family:var(--fgpc-font-serif,'Playfair Display',Georgia,serif);font-size:20px;font-weight:600;letter-spacing:normal;text-transform:none;line-height:1.25;color:var(--fgpc-ink);margin:0}
.fgpc-fcard__p{font-size:14.5px;line-height:1.6;color:var(--fgpc-ink2);margin:0}
.fgpc-hbtn--card{align-self:flex-start;margin-top:auto;background:var(--fgpc-pine);color:#fff;padding:11px 18px}
@media (max-width:900px){.fgpc-fichas{grid-template-columns:1fr}}

/* ==========================================================================
   Lista con íconos (.aside-card del mockup)
   ========================================================================== */
.fgpc-lista--marfil{background:var(--fgpc-ivory);border-radius:8px;padding:22px 24px}
.fgpc-lista--blanco{background:#fff;border:1px solid var(--fgpc-line);border-radius:8px;padding:22px 24px}
.fgpc-lista__t{font-family:var(--fgpc-font-sans);font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--fgpc-ink2);margin:0 0 14px}
.fgpc-lista__ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px}
.fgpc-lista__it{display:flex;align-items:flex-start;gap:11px;font-size:14.5px;line-height:1.5;color:var(--fgpc-ink)}
.fgpc-lista__it .ti{font-size:17px;color:var(--fgpc-gold);flex:none;margin-top:1px}

/* ==========================================================================
   Buscadores del directorio y de las noticias
   ========================================================================== */
.fgpc-buscar{position:relative;display:flex;align-items:center;margin:0 0 18px}
.fgpc-buscar > .ti{position:absolute;left:14px;font-size:17px;color:var(--fgpc-ink2);pointer-events:none}
.fgpc-buscar input{width:100%;font:inherit;font-size:15px;color:var(--fgpc-ink);background:#fff;border:1px solid var(--fgpc-line);border-radius:4px;padding:11px 14px 11px 42px}
.fgpc-buscar input:focus{outline:2px solid var(--fgpc-gold);outline-offset:1px;border-color:var(--fgpc-gold)}
.fgpc-noticias__mas{display:block;margin:26px auto 0;padding:13px 26px;background:transparent;border:1.5px solid var(--fgpc-pine);border-radius:4px;color:var(--fgpc-pine);font:inherit;font-size:12.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;cursor:pointer}
.fgpc-noticias__mas:hover{background:var(--fgpc-pine);color:#fff}

/* ==========================================================================
   Marca (escudo + sigla + bajada)
   Del mockup: el escudo a la izquierda, «FGPC» en 27px peso 800 y la bajada en
   10px mayúsculas con letter-spacing .12em, en dos líneas.
   ========================================================================== */
.fgpc-logo-wrap{display:inline-flex;align-items:center;gap:13px;text-decoration:none;flex-wrap:nowrap}
/* La bajada es larga («Federación de Golf de la Provincia de Córdoba») y en una
   columna angosta empujaba al escudo a otra línea. Se le deja partir el texto a
   ella, que para eso son dos líneas en el mockup. */
.fgpc-logo__txt{flex:0 1 auto}
.fgpc-logo__esc{height:60px;width:auto;flex:none;display:block}
.fgpc-logo__txt{display:flex;flex-direction:column;gap:3px;min-width:0}
.fgpc-logo__sigla{font-family:var(--fgpc-font-sans);font-size:27px;font-weight:800;line-height:1;letter-spacing:.01em;text-transform:none}
.fgpc-logo__sub{font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;line-height:1.45}
.fgpc-logo-wrap--pine .fgpc-logo__sigla{color:var(--fgpc-pine)}
.fgpc-logo-wrap--pine .fgpc-logo__sub{color:var(--fgpc-ink2)}
.fgpc-logo-wrap--claro .fgpc-logo__sigla{color:#fff}
.fgpc-logo-wrap--claro .fgpc-logo__sub{color:rgba(255,255,255,.72)}
.fgpc-logo-wrap--gold .fgpc-logo__sigla{color:var(--fgpc-gold)}
.fgpc-logo-wrap--gold .fgpc-logo__sub{color:var(--fgpc-gold-soft,#D8C188)}
.fgpc-logo-wrap--ink .fgpc-logo__sigla{color:var(--fgpc-ink)}
.fgpc-logo-wrap--ink .fgpc-logo__sub{color:var(--fgpc-ink2)}
@media (max-width:600px){
  .fgpc-logo__sigla{font-size:22px}
  .fgpc-logo__sub{font-size:9px}
}


/* Las dos regiones del bloque de competencias (Top y ranking completo).
   Cada una es un destino de menú, así que necesita aire propio arriba para
   que al saltar no quede el título pegado al header fijo. */
.fgpc-comp__zona{margin-top:34px;scroll-margin-top:96px}
.fgpc-comp__zona--rank{margin-top:40px}
.fgpc-rank__titulo{margin:26px 0 10px;font-size:1.05rem}
.fgpc-rank__titulo:first-child{margin-top:0}


/* Herramientas del calendario y buscador en un solo renglón, alineados a la
   derecha. Apilados ocupaban dos renglones donde el mockup usa uno. */
.fgpc-cal__tools{display:flex;align-items:center;justify-content:flex-end;gap:22px;flex-wrap:wrap;margin-bottom:14px}
.fgpc-cal__buscar{position:relative;margin:0 0 18px;margin-left:auto;max-width:260px}
.fgpc-cal__buscar input{width:100%;padding:10px 14px 10px 38px;border:1px solid var(--fgpc-line);border-radius:30px;font:inherit;font-size:14px;background:var(--fgpc-paper);color:var(--fgpc-ink)}
.fgpc-cal__buscar input:focus{outline:none;border-color:var(--fgpc-gold)}
.fgpc-cal__buscar .ti{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--fgpc-ink2);font-size:16px}

/* --------------------------------------------- ajustes pedidos en la v1 ---- */

/*
 * «ÚLTIMA NOTICIA · JUNIOR» sobre la foto de portada estaba en dorado y se
 * perdía contra el fondo. Va en crema, que es el color que la Federación pidió
 * y el que ya usa el resto del texto sobre imagen. El punto rojo se queda: es
 * lo que marca que la nota es nueva.
 */
.fgpc-portada__kicker { color: #F4F1E8; }

/*
 * La fecha al lado de «LEER LA NOTA» venía sin familia tipográfica declarada y
 * caía en la del navegador, que no es la del sitio.
 */
.fgpc-portada__fecha,
.fgpc-portada__link { font-family: var(--fgpc-font-sans, Inter, system-ui, sans-serif); }

/* Las siglas del encabezado, un punto más grandes y alineadas con el nombre. */
.fgpc-mk .brand .nm { font-size: 31px; letter-spacing: .005em; }
.fgpc-mk .brand-tag { font-size: 10.5px; letter-spacing: .1em; }
.fgpc-mk .brand .esc { width: 64px; height: 64px; }
@media (max-width: 900px) {
	.fgpc-mk .brand .nm { font-size: 26px; }
	.fgpc-mk .brand .esc { width: 56px; height: 56px; }
}

/*
 * La ficha de una noticia.
 *
 * El título salía en celeste y en Roboto, y la categoría y los enlaces de nota
 * anterior/siguiente en el azul por defecto del navegador: es la plantilla de
 * entrada individual, que se armó con widgets de Elementor y nunca recibió los
 * estilos del sitio. Se corrige acotado a `body.single-post` para no tocar los
 * títulos de las demás páginas, que ya tienen los suyos.
 */
body.single-post .elementor-widget-theme-post-title h1,
body.single-post .elementor-page-title h1 {
	font-family: var(--fgpc-font-sans, Inter, system-ui, sans-serif);
	color: var(--fgpc-ink, #16291F);
	font-weight: 800;
	letter-spacing: -.02em;
	line-height: 1.1;
}

body.single-post .fgpc-nmeta .fgpc-tag,
body.single-post .fgpc-nmeta a {
	color: var(--fgpc-gold, #A8842C);
	text-decoration: none;
	font-family: var(--fgpc-font-sans, Inter, system-ui, sans-serif);
}
body.single-post .fgpc-nmeta a:hover { text-decoration: underline; }

body.single-post .elementor-widget-theme-post-content,
body.single-post .elementor-widget-theme-post-content p,
body.single-post .elementor-widget-theme-post-content li,
body.single-post .elementor-widget-theme-post-content h2,
body.single-post .elementor-widget-theme-post-content h3 {
	font-family: var(--fgpc-font-sans, Inter, system-ui, sans-serif);
	color: var(--fgpc-ink, #16291F);
}
body.single-post .elementor-widget-theme-post-content a { color: var(--fgpc-pine, #1F6B3A); }

/* Nota anterior / siguiente. */
body.single-post .elementor-post-navigation a,
body.single-post .elementor-post-navigation span {
	color: var(--fgpc-ink, #16291F);
	font-family: var(--fgpc-font-sans, Inter, system-ui, sans-serif);
	text-decoration: none;
}
body.single-post .elementor-post-navigation__prev__label,
body.single-post .elementor-post-navigation__next__label {
	color: var(--fgpc-ink2, #5C6B60);
	font-size: 11px; letter-spacing: .1em; text-transform: uppercase;
}
body.single-post .elementor-post-navigation a:hover { color: var(--fgpc-pine, #1F6B3A); }

/*
 * Barras de filtro en pantalla chica.
 *
 * La barra es una fila con ícono, etiqueta y los chips. A 375px los chips
 * quedaban aplastados contra el borde derecho y caía uno por renglón: trece
 * categorías eran trece líneas. Se deja que la barra misma envuelva, así la
 * etiqueta ocupa su renglón y los chips el ancho completo.
 */
@media (max-width: 600px) {
	.fgpc-filter-bar { flex-wrap: wrap; row-gap: 6px; }
	.fgpc-filter-bar__sep { display: none; }
	.fgpc-filter-bar__chips { flex-basis: 100%; justify-content: flex-start; }
	.fgpc-filter-bar,
	.fgpc-filter-bar__chips { text-align: left; }

	/* Herramientas y buscador del calendario, alineados a la izquierda como el resto. */
	.fgpc-cal__tools { justify-content: flex-start; gap: 14px; }
	.fgpc-cal__buscar { margin-left: 0; max-width: none; }
}

/*
 * El encabezado en teléfono: la bajada de tres renglones empujaba el escudo y
 * las siglas contra el borde. Se queda la marca, que es lo que identifica.
 */
@media (max-width: 480px) {
	.fgpc-mk .fgpc-hd .brand-tag { display: none; }
	.fgpc-mk .fgpc-hd .wrap { height: 76px; }
}

/*
 * Estos tres bloques vivían en mockup.css, bajo el prefijo `.fgpc-mk`.
 * Ese prefijo existe para el encabezado y el pie, que sí están dentro de
 * `.fgpc-mk`; el calendario y el directorio no. Las reglas no aplicaban a
 * nada: el panel del pronóstico salía sin marco, sin fondo y con la
 * tipografía del navegador. Van acá, sin prefijo, como el resto de los
 * estilos de widget.
 */

/* ------------------------------------------------ pronóstico del torneo ---- */

.fgpc-clima {
	margin: 10px 0 2px; padding: 14px 16px;
	border: 1px solid rgba(20, 32, 26, .12); border-radius: 12px;
	background: #FFF;
}
.fgpc-clima__cargando,
.fgpc-clima__vacio { margin: 0; font-size: 13.5px; color: #5C6B60; }
.fgpc-clima__tabla { width: 100%; border-collapse: collapse; font-size: 13.5px; }
.fgpc-clima__tabla th,
.fgpc-clima__tabla td { text-align: left; padding: 7px 10px; border-bottom: 1px solid rgba(20, 32, 26, .08); }
.fgpc-clima__tabla thead th {
	font-size: 11px; letter-spacing: .08em; text-transform: uppercase;
	color: #5C6B60; font-weight: 600; white-space: nowrap;
}
.fgpc-clima__tabla tbody tr:last-child th,
.fgpc-clima__tabla tbody tr:last-child td { border-bottom: none; }
.fgpc-clima__tabla tr.es-torneo { background: rgba(31, 107, 58, .06); }
.fgpc-clima__tag {
	font-size: 10px; letter-spacing: .08em; text-transform: uppercase;
	color: #1F6B3A; border: 1px solid rgba(31, 107, 58, .35);
	border-radius: 4px; padding: 1px 5px; margin-left: 6px; vertical-align: middle;
}
.fgpc-clima__pie { margin: 10px 0 0; font-size: 11.5px; color: #7C8B82; }

/* El botón de pronóstico es un <button>: no debe parecer un control de formulario. */
button.fgpc-act { font: inherit; cursor: pointer; background: none; }

@media (max-width: 620px) {
	.fgpc-clima { overflow-x: auto; }
	.fgpc-clima__tabla { min-width: 420px; }
}

/* ------------------------------------------------------------ consultas ---- */

.fgpc-consulta {
	margin: 14px 0; padding: 16px 18px;
	border: 1px solid rgba(20, 32, 26, .12); border-radius: 12px; background: #FFF;
}
.fgpc-consulta__t {
	margin: 0 0 8px; font-size: 12px; letter-spacing: .1em;
	text-transform: uppercase; color: #5C6B60;
}
.fgpc-consulta a {
	display: inline-flex; align-items: center; gap: 8px;
	font-weight: 600; color: #1F6B3A; text-decoration: none;
	border-bottom: 1px solid rgba(31, 107, 58, .3); padding-bottom: 2px;
}
.fgpc-consulta a:hover { border-bottom-color: #1F6B3A; }

/* ------------------------------------------- directorio: mostrar más -------- */

.fgpc-clubes__item--oculto { display: none; }
.fgpc-clubes__lista.esta-abierta .fgpc-clubes__item--oculto { display: block; }
.fgpc-clubes__mas {
	display: inline-flex; align-items: center; gap: 8px; margin-top: 16px;
	font: inherit; font-size: 13px; font-weight: 600; letter-spacing: .04em;
	color: #1F6B3A; background: none; cursor: pointer;
	border: 1px solid rgba(31, 107, 58, .35); border-radius: 8px; padding: 10px 18px;
	transition: background .15s ease, border-color .15s ease;
}
.fgpc-clubes__mas:hover { background: rgba(31, 107, 58, .06); border-color: #1F6B3A; }

/* ------------------------------------------------ rondas de Golfistics ---- */

.fgpc-golfistics { margin: 28px 0 0; padding-top: 20px; border-top: 1px solid var(--fgpc-line); }
.fgpc-golfistics__t { margin: 0 0 4px; font-size: 1.02rem; }
.fgpc-golfistics__p { margin: 0 0 12px; font-size: 13.5px; color: var(--fgpc-ink2); }
.fgpc-golfistics__lista {
	list-style: none; margin: 0; padding: 0;
	display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 6px 18px;
}
.fgpc-golfistics__lista a {
	display: inline-flex; align-items: center; gap: 7px;
	font-size: 13.5px; color: var(--fgpc-pine); text-decoration: none; padding: 4px 0;
}
.fgpc-golfistics__lista a:hover { text-decoration: underline; }
.fgpc-golfistics__lista .ti { font-size: 15px; color: var(--fgpc-gold); }

/* ------------------------------------------------------------- clima --- */
/* La tira de siete días que el sitio viejo tomaba de weatherwidget.org,
   rehecha con la tipografía y los colores propios. El original alternaba el
   fondo de las columnas para separarlas; se conserva ese recurso porque
   funciona: sin líneas divisorias, el ojo agrupa cada día solo. */

.fgpc-tiempo { font-family: var(--fgpc-font-sans); }
.fgpc-tiempo__espera { font-size: 13px; color: var(--fgpc-ink2); }
.fgpc-tiempo.esta-listo .fgpc-tiempo__espera { display: none; }
.fgpc-tiempo__oculto {
	position: absolute; width: 1px; height: 1px; overflow: hidden;
	clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap;
}
.fgpc-tiempo__ico { width: 26px; height: 26px; flex: none; color: var(--fgpc-gold); }
.fgpc-tiempo__ico--lluvia,
.fgpc-tiempo__ico--llovizna,
.fgpc-tiempo__ico--tormenta,
.fgpc-tiempo__ico--niebla,
.fgpc-tiempo__ico--nieve { color: #7C8B93; }

/* --- tira --- */

.fgpc-tiempo--tira {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0 22px;
	padding: 18px 22px;
	border: 1px solid var(--fgpc-line);
	border-radius: 9px;
	background: #fff;
}
.fgpc-tiempo--marfil { background: var(--fgpc-ivory); }
.fgpc-tiempo--oscuro { background: var(--fgpc-pine); border-color: transparent; color: #fff; }
.fgpc-tiempo--oscuro .fgpc-tiempo__min,
.fgpc-tiempo--oscuro .fgpc-tiempo__estado,
.fgpc-tiempo--oscuro .fgpc-tiempo__pie { color: rgba(255, 255, 255, .66); }
.fgpc-tiempo--oscuro .fgpc-tiempo__dia { background: rgba(255, 255, 255, .06); }

.fgpc-tiempo__ahora { display: flex; align-items: center; gap: 12px; }
.fgpc-tiempo__ahora .fgpc-tiempo__ico { width: 38px; height: 38px; }
.fgpc-tiempo__ciudad { font-size: 14px; font-weight: 700; letter-spacing: -0.01em; }
.fgpc-tiempo__ahora .fgpc-tiempo__grados {
	font-size: 32px; font-weight: 800; line-height: 1; letter-spacing: -0.02em;
	font-variant-numeric: tabular-nums;
}
.fgpc-tiempo__estado { font-size: 12.5px; color: var(--fgpc-ink2); }

.fgpc-tiempo__dias {
	display: flex;
	flex: 1 1 420px;
	gap: 6px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.fgpc-tiempo__dia {
	flex: 1 1 0;
	min-width: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
	padding: 10px 4px;
	border-radius: 6px;
	background: rgba(20, 32, 26, .035);
	font-variant-numeric: tabular-nums;
}
.fgpc-tiempo__nombre {
	font-size: 11px; font-weight: 600; letter-spacing: .09em; text-transform: uppercase;
	color: var(--fgpc-ink2);
}
.fgpc-tiempo__max { font-size: 14.5px; font-weight: 700; }
.fgpc-tiempo__min { font-size: 12.5px; color: var(--fgpc-ink2); }
.fgpc-tiempo__pie { flex: 1 0 100%; margin: 12px 0 0; font-size: 11.5px; color: var(--fgpc-ink2); }

/* --- compacto: entra en la barra superior y despliega la tira --- */

.fgpc-tiempo--compacto { position: relative; display: inline-block; }
.fgpc-tiempo__boton {
	display: inline-flex; align-items: center; gap: 7px;
	padding: 3px 8px; margin: 0;
	border: 1px solid transparent; border-radius: 5px;
	background: none; cursor: pointer;
	font: inherit; font-size: 12.5px; color: inherit;
}
.fgpc-tiempo__boton:hover { border-color: var(--fgpc-line); }
.fgpc-tiempo__boton .fgpc-tiempo__ico { width: 17px; height: 17px; }
.fgpc-tiempo__boton .fgpc-tiempo__ciudad { font-weight: 500; }
.fgpc-tiempo__boton .fgpc-tiempo__grados { font-weight: 700; font-variant-numeric: tabular-nums; }

/* El panel cuelga del lado donde está el botón: en la barra superior el bloque
   va a la izquierda, así que anclarlo a la derecha lo mandaba fuera de la
   pantalla. El z-index tiene que superar al del encabezado pegajoso (60), o el
   panel queda detrás de la cabecera al hacer scroll. */
.fgpc-tiempo__panel {
	position: absolute; z-index: 80; top: calc(100% + 8px); left: 0;
	width: min(620px, 88vw);
	padding: 18px 20px;
	border: 1px solid var(--fgpc-line); border-radius: 9px;
	background: #fff;
	box-shadow: 0 2px 6px rgba(22, 41, 31, .05), 0 16px 34px rgba(22, 41, 31, .12);
	text-align: left;
}
.fgpc-tiempo__panel .fgpc-tiempo__ahora { margin-bottom: 14px; }
.fgpc-tiempo__panel .fgpc-tiempo__dias { flex: 1 1 100%; }

/* Cerca del borde derecho conviene el ancla opuesta: se marca desde el HTML. */
.fgpc-tiempo__panel--derecha { left: auto; right: 0; }

@media (max-width: 700px) {
	.fgpc-tiempo--tira { gap: 14px; }
	.fgpc-tiempo__dias { flex: 1 1 100%; overflow-x: auto; }
	.fgpc-tiempo__dia { min-width: 58px; }
	.fgpc-tiempo__panel { position: fixed; left: 12px; right: 12px; width: auto; }
}
