/* AB - Pie de página. Todo bajo .ab-pie para no chocar con el tema. */
.ab-pie {
	--ab-crema: #faf7ee; --ab-borde: #e7ddc4; --ab-verde: #75903a; --ab-verde-osc: #5c7128;
	--ab-verde-prof: #4a5c20; --ab-tinta: #33301f; --ab-tinta-suave: #6b6550; --ab-foco: #3d4f12;
	background: var(--ab-crema); color: var(--ab-tinta-suave);
	font-family: 'Inter', 'Segoe UI', sans-serif; font-size: 15px; line-height: 1.6;
	position: relative; clear: both; box-sizing: border-box; width: 100%;
}
.ab-pie *, .ab-pie *::before, .ab-pie *::after { box-sizing: border-box; }
.ab-pie :where(p, li, span, a, div) { color: inherit; font-family: inherit; }
.ab-pie ul { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.ab-pie li { margin: 0 !important; padding: 0 !important; list-style: none !important; }
.ab-pie li::before, .ab-pie li::marker { content: none !important; }
.ab-pie p { margin: 0; }
.ab-pie img { max-width: 100%; height: auto; display: block; border: 0; }
.ab-pie a { text-decoration: none; transition: color .15s, background-color .15s, border-color .15s; }
.ab-pie a:focus-visible { outline: 3px solid var(--ab-foco); outline-offset: 2px; }
.ab-pie-oculto {
	position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden;
	clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0;
}
.ab-pie-barra { height: 4px; background: linear-gradient(90deg, #8bc31f 0%, #d1762c 60%, #9c5fb6 100%); }
.ab-pie-contenedor { max-width: 1152px; margin: 0 auto; padding-inline: 16px; }

.ab-pie-grilla { display: grid; grid-template-columns: 1fr; gap: 32px; padding: 40px 0 32px; align-items: stretch; }
.ab-pie-bloque { min-width: 0; }
.ab-pie .ab-pie-titulo {
	font-family: 'League Spartan', 'Inter', sans-serif; font-weight: 700; font-size: 19px; line-height: 1.2;
	color: var(--ab-tinta); margin: 0 0 16px !important; padding: 0 0 12px; position: relative; letter-spacing: 0; text-transform: none;
}
.ab-pie .ab-pie-titulo::after {
	content: ''; position: absolute; left: 0; bottom: 0; width: 28px; height: 3px; background: var(--ab-verde); border-radius: 2px;
}

/* Marca */
.ab-pie-logo img { max-width: 170px; height: auto; }
.ab-pie-logo a { display: inline-block; }
.ab-pie-acerca { font-size: 14px; line-height: 1.6; max-width: 34ch; margin-top: 14px; }
.ab-pie-acerca p { margin: 0 0 8px !important; }
.ab-pie-acerca p:last-child { margin-bottom: 0 !important; }

/* Síguenos (celular: botones tipo píldora) */
.ab-pie-lista-redes { display: flex !important; flex-wrap: wrap; justify-content: center; gap: 10px; }
.ab-pie-red {
	display: inline-flex; align-items: center; gap: 10px; min-height: 44px; padding: 0 16px; background: #fff;
	border: 1px solid var(--ab-borde); border-radius: 999px; color: var(--ab-tinta) !important; font-weight: 600;
}
.ab-pie-red .ab-pie-circulo { width: 20px; height: 20px; border: 0; background: none; }
.ab-pie-red-texto { font-size: 15px; font-weight: 600; color: var(--ab-tinta) !important; }
.ab-pie-svg { width: 20px; height: 20px; flex: none; display: block; }
.ab-pie-circulo {
	display: inline-flex; align-items: center; justify-content: center; flex: none; border-radius: 50%;
	background: #fff; border: 1px solid var(--ab-borde); color: var(--ab-verde-osc) !important;
}
.ab-pie-red:hover, .ab-pie-red:hover .ab-pie-red-texto { color: var(--ab-verde-prof) !important; }

/* Apoyos (celular: una fila) */
.ab-pie-lista-apoyos { display: flex !important; justify-content: center; align-items: center; gap: 16px; }
.ab-pie-apoyo-item { flex: 0 1 30%; min-width: 0; }
.ab-pie-apoyo-item img { margin: 0 auto; width: auto; max-width: 100%; max-height: 44px; }
.ab-pie-apoyo-item.ab-pie-apoyo--grande img { max-height: 60px; }

/* Iniciativa (celular: tarjeta) */
.ab-pie-tarjeta {
	background: #fff; border: 1px solid var(--ab-borde); border-radius: 20px; padding: 24px 20px; text-align: center;
}
.ab-pie-cosecha-logo { display: block; width: 180px; max-width: 100%; margin: 0 auto 16px; }
.ab-pie-cosecha-nombre { font-family: 'League Spartan', 'Inter', sans-serif; font-weight: 700; font-size: 20px; color: var(--ab-tinta); margin-bottom: 16px; }
.ab-pie-contacto { display: flex !important; flex-direction: column; gap: 10px; }
.ab-pie-contacto a {
	display: flex; align-items: center; gap: 12px; min-height: 48px; padding: 0 16px; border: 1px solid var(--ab-borde);
	border-radius: 14px; color: var(--ab-verde-osc) !important; font-size: 14.5px; font-weight: 500; text-align: left;
	overflow-wrap: anywhere;
}
.ab-pie-contacto a:hover { background: var(--ab-crema); color: var(--ab-verde-prof) !important; }
.ab-pie-contacto a span { color: inherit !important; }
.ab-pie .ab-pie-tarjeta .ab-pie-redes-iniciativa { display: flex !important; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 0; padding-top: 16px !important; }
.ab-pie-redes-iniciativa .ab-pie-circulo { width: 44px; height: 44px; }
.ab-pie-redes-iniciativa .ab-pie-circulo:hover {
	background: var(--ab-verde-osc); border-color: var(--ab-verde-osc); color: #fff !important;
}

/* Barra inferior */
.ab-pie-inferior { border-top: 1px solid var(--ab-borde); padding: 18px 0 24px; text-align: center; }
.ab-pie .ab-pie-copyright { font-size: 13.5px; color: var(--ab-tinta-suave); }

/* Centrado en celular */
@media (max-width: 639.98px) {
	.ab-pie-bloque { text-align: center; }
	.ab-pie .ab-pie-titulo::after { left: 50%; transform: translateX(-50%); }
	.ab-pie-logo img { margin: 0 auto; }
	.ab-pie-acerca { margin-inline: auto; }
	/* Separar los iconos de Cosecha del último botón de contacto (padding: el tema anula el margin de los ul). */
	.ab-pie .ab-pie-redes-iniciativa { padding-top: 18px !important; }
}

/* Tableta: 2 x 2 */
@media (min-width: 640px) {
	.ab-pie-grilla { grid-template-columns: 1fr 1fr; gap: 40px 32px; padding: 48px 0 40px; }
	.ab-pie-bloque { text-align: left; }
	.ab-pie-logo img { margin: 0; }
	.ab-pie-acerca { margin-inline: 0; max-width: 38ch; font-size: 14.5px; }
	.ab-pie-lista-redes { flex-direction: column; flex-wrap: nowrap; justify-content: flex-start; align-items: flex-start; gap: 4px; }
	.ab-pie-red { padding: 0; background: none; border: 0; border-radius: 0; gap: 14px; }
	.ab-pie-red .ab-pie-circulo { width: 40px; height: 40px; background: #fff; border: 1px solid var(--ab-borde); }
	.ab-pie-red:hover .ab-pie-circulo { background: var(--ab-verde-osc); color: #fff !important; }
	.ab-pie-lista-apoyos { flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: 18px; }
	.ab-pie-apoyo-item { flex: none; }
	.ab-pie-apoyo-item img { margin: 0; max-width: 100%; max-height: 38px; }
	.ab-pie-apoyo-item.ab-pie-apoyo--grande img { max-height: 76px; }
	.ab-pie-tarjeta { background: none; border: 0; border-radius: 0; padding: 0; text-align: left; }
	.ab-pie-cosecha-logo { width: 210px; margin: 0 0 16px; }
	.ab-pie-contacto { gap: 0; }
	.ab-pie-contacto a { min-height: 40px; padding: 0; border: 0; border-radius: 0; gap: 10px; }
	.ab-pie-contacto a:hover { background: none; text-decoration: underline; }
	.ab-pie .ab-pie-tarjeta .ab-pie-redes-iniciativa { justify-content: flex-start; padding-top: 18px !important; }
	.ab-pie-redes-iniciativa .ab-pie-circulo { width: 38px; height: 38px; }
	.ab-pie-inferior { text-align: left; }
}

/* Escritorio: 4 columnas con separadores de altura completa */
@media (min-width: 1024px) {
	.ab-pie-grilla { grid-template-columns: 1.35fr 1fr .9fr 1.25fr; gap: 0; padding: 56px 0 40px; }
	.ab-pie-bloque { padding: 0 32px; }
	.ab-pie-bloque + .ab-pie-bloque { border-left: 1px solid var(--ab-borde); }
	.ab-pie-bloque:first-child { padding-left: 0; }
	.ab-pie-bloque:last-child { padding-right: 0; }
	.ab-pie-logo img { max-width: 200px; }
	.ab-pie-inferior .ab-pie-contenedor { padding-right: 80px; }
}

@media (prefers-reduced-motion: reduce) {
	.ab-pie *, .ab-pie *::before, .ab-pie *::after { transition: none !important; }
}
