/*
 * Footer único (.cpmc-footer), fase 2.5 de la épica. Mobile-first: 1 columna centrada bajo
 * 768 px, 4 columnas desde 768 px. Usa los tokens --cpmc-* (css/cpmc-tokens.css). Los mínimos
 * táctiles van en px porque el rem de Astra vale ~14,6 px, no 16.
 */
.cpmc-footer {
	box-sizing: border-box;
	clear: both;
	width: 100%;
	background: var(--cpmc-muted);
	border-top: 1px solid var(--cpmc-border);
	color: var(--cpmc-foreground);
	font-family: var(--cpmc-font-sans);
	font-size: 16px;
	line-height: 1.5;
	text-align: center;
}

.cpmc-footer *,
.cpmc-footer *::before,
.cpmc-footer *::after {
	box-sizing: border-box;
}

/* La plantilla de calculadoras fuerza su propia fuente con `* { font-family: ... }`: la regla
   con clase le gana y el footer se ve igual en todas las páginas. Los títulos la pisan abajo. */
.cpmc-footer * {
	font-family: var(--cpmc-font-sans);
}

.cpmc-footer__inner {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--cpmc-space-6);
	max-width: 1140px;
	margin: 0 auto;
	padding: var(--cpmc-space-6) 16px var(--cpmc-space-4);
}

/* Desde ~360 px: logo arriba a lo ancho, Nosotros y Seguinos lado a lado y Contacto a lo ancho
   (tiene el mail y la dirección, que no entran en media columna). Los links siguen en 44 px. */
@media (min-width: 360px) {
	.cpmc-footer__inner {
		grid-template-columns: 1fr 1fr;
		column-gap: var(--cpmc-space-4);
	}

	.cpmc-footer__col--marca,
	.cpmc-footer__col--contacto {
		grid-column: 1 / -1;
	}
}

.cpmc-footer__col--marca {
	display: flex;
	justify-content: center;
}

.cpmc-footer__logo {
	display: inline-flex;
	align-items: center;
	min-height: var(--cpmc-tap-min);
}

/* Altura acotada: el PNG original mide 505 px de ancho y antes se estiraba en mobile. */
.cpmc-footer__logo-img {
	display: block;
	width: auto;
	max-width: 100%;
	height: var(--cpmc-logo-h-footer);
}

.cpmc-footer__titulo {
	margin: 0 0 var(--cpmc-space-2);
	font-family: var(--cpmc-font-heading);
	font-size: 18px;
	font-weight: 700;
	line-height: 1.3;
	color: var(--cpmc-foreground);
}

.cpmc-footer__lista {
	list-style: none;
	margin: 0;
	padding: 0;
}

.cpmc-footer__lista li {
	margin: 0;
	padding: 0;
}

/* #005a87 (primary-hover) llega a AA también sobre el fondo suave; #007cba no. */
.cpmc-footer a {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--cpmc-space-2);
	min-height: var(--cpmc-tap-min);
	padding: var(--cpmc-space-2) 0;
	color: var(--cpmc-primary-hover);
	text-decoration: none;
	overflow-wrap: anywhere;
}

.cpmc-footer a:hover,
.cpmc-footer a:focus-visible {
	text-decoration: underline;
}

.cpmc-footer a:focus-visible {
	outline: 2px solid var(--cpmc-primary-hover);
	outline-offset: 2px;
}

.cpmc-footer__red svg {
	flex: 0 0 auto;
}

.cpmc-footer__legal {
	max-width: 1140px;
	margin: 0 auto;
	padding: var(--cpmc-space-4) 16px;
	border-top: 1px solid var(--cpmc-border);
	font-size: 14px;
	color: var(--cpmc-muted-foreground);
}

@media (min-width: 768px) {
	.cpmc-footer__col--marca,
	.cpmc-footer__col--contacto {
		grid-column: auto;
	}

	.cpmc-footer__inner {
		grid-template-columns: minmax(0, 0.6fr) minmax(0, 1fr) minmax(0, 0.9fr) minmax(0, 1.5fr); /* Contacto más ancho: el mail no se parte a 768 */
		gap: var(--cpmc-space-6);
		padding-top: var(--cpmc-space-12);
	}

	.cpmc-footer {
		text-align: left;
	}

	.cpmc-footer__col--marca {
		align-items: flex-start;
		justify-content: flex-start;
	}

	.cpmc-footer a {
		justify-content: flex-start;
	}
}

/* La barra © de Astra (carrera, colegiados, nota, home): el © ahora va en el footer nuevo. */
body.cpmc-footer-activo .site-footer {
	display: none !important;
}
