/* Footer general */

.elementor-widget-footer_general_fg5252 { width: 100%; align-self: stretch; }
.elementor-widget-footer_general_fg5252 > .elementor-widget-container { width: 100%; }

.fg {
	--fg-fondo: #f7f7f7;
	--fg-titulo: #111111;
	--fg-texto: #55595f;
	--fg-etiqueta: #8a8f96;
	--fg-enlace: #3f434a;
	--fg-enlace-activo: #000000;
	--fg-linea: #e4e5e7;
	--fg-ancho: 1400px;
	--fg-alto: 60px;
	--fg-columnas: 1.5fr 1fr 1fr 1fr;

	width: 100%;
	background: var(--fg-fondo);
}

.fg__interior {
	max-width: var(--fg-ancho);
	margin: 0 auto;
	padding: var(--fg-alto) 40px calc(var(--fg-alto) - 12px);
}

.fg__rejilla {
	display: grid;
	grid-template-columns: var(--fg-columnas);
	gap: 40px;
	align-items: start;
}

/* ---------- columna del manifiesto ---------- */
.fg__titulo {
	margin: 0 0 18px;
	font-size: 21px;
	line-height: 1.35;
	font-weight: 700;
	color: var(--fg-titulo);
	letter-spacing: -0.01em;
}
.fg__titulo span { display: block; }

.fg__descripcion {
	margin: 0;
	max-width: 40ch;
	font-size: 13.5px;
	line-height: 1.75;
	color: var(--fg-texto);
}

/* ---------- columnas de enlaces ---------- */
.fg__etiqueta {
	margin: 4px 0 20px;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .19em;
	text-transform: uppercase;
	color: var(--fg-etiqueta);
}

.fg__lista { margin: 0; padding: 0; list-style: none; }
.fg__lista li { margin-bottom: 14px; }
.fg__lista li:last-child { margin-bottom: 0; }

.fg__lista a,
.fg__lista span {
	font-size: 13.5px;
	line-height: 1.5;
	color: var(--fg-enlace);
	text-decoration: none;
	transition: color .18s ease;
}
.fg__lista a:hover,
.fg__lista a:focus-visible { color: var(--fg-enlace-activo); text-decoration: underline; text-underline-offset: 3px; }
.fg__lista span { color: var(--fg-texto); }

/* ---------- barra inferior ---------- */
.fg__barra {
	margin-top: calc(var(--fg-alto) - 8px);
	padding-top: 26px;
	border-top: 1px solid var(--fg-linea);
	text-align: center;
}
.fg__copy {
	margin: 0;
	font-size: 11px;
	font-weight: 500;
	letter-spacing: .17em;
	text-transform: uppercase;
	color: var(--fg-etiqueta);
}

/* ----------------------------------------------------------------
 * Pantallas medianas y pequeñas.
 *
 * Ojo: aquí NO se redefinen las variables. Elementor escribe los
 * valores del panel en .elementor-element-xxx .fg, con mucho más
 * peso que estas reglas, y una media query no suma especificidad:
 * cualquier variable que redefiniéramos aquí la pisaría Elementor y
 * el footer se quedaría con cuatro columnas en el celular.
 * Por eso tocamos las propiedades finales, que Elementor no escribe.
 * ------------------------------------------------------------- */
@media (max-width: 1024px) {
	.fg__rejilla { grid-template-columns: 1fr 1fr; gap: 36px 32px; }
	.fg__interior { padding: calc(var(--fg-alto) * .8) 32px calc(var(--fg-alto) * .8 - 12px); }
	.fg__barra { margin-top: calc(var(--fg-alto) * .8 - 8px); }
}

@media (max-width: 600px) {
	.fg__rejilla { grid-template-columns: 1fr; gap: 32px; }
	.fg__interior { padding: calc(var(--fg-alto) * .7) 24px calc(var(--fg-alto) * .7 - 10px); }
	.fg__barra { margin-top: calc(var(--fg-alto) * .7 - 6px); padding-top: 22px; }
	.fg__descripcion { max-width: none; }
	.fg__titulo { font-size: 19px; }
	.fg__etiqueta { margin-bottom: 16px; }
}

@media (prefers-reduced-motion: reduce) {
	.fg__lista a { transition: none; }
}
