/* =========================================================================
   Agonza Sports — Footer
   Requiere las variables de :root definidas en header.css
   (--ag-green, --ag-lime, --ag-sand, --ag-cream, etc.).
   Si cargas footer.css sin header.css, descomenta el bloque :root de abajo.
   ========================================================================= */

/* =========================================================================
   FOOTER
   ========================================================================= */
.ag-footer {
	background: var(--ag-white);
	color: var(--ag-green-dark);
	font-family: var(--ag-font-body);
	border-top: 1px solid rgba(8, 40, 31, .08);
}
.ag-footer__inner {
	max-width: var(--ag-maxw-wide);
	margin: 0 auto;
	padding: 64px 24px 28px;
}

/* ----- Zona superior: 3 columnas ----- */
.ag-footer__top {
	display: grid;
	grid-template-columns: 1.4fr 1.2fr 0.8fr;
	gap: 20px;
	padding-bottom: 40px;
}

.ag-footer__name {
	font-family: var(--ag-font-head);
	font-weight: 800;
	font-size: clamp(2rem, 3vw, 2.8rem);
	line-height: 1;
	color: var(--ag-black);
	margin: 0 0 16px;
}
.ag-footer__desc {
	font-size: .95rem;
	line-height: 1.55;
	color: rgba(8, 40, 31, .65);
	max-width: 46ch;
	margin: 0 0 24px;
}

/* ----- Contacto ----- */
.ag-footer__contact {
	display: flex;
	flex-wrap: wrap;
	gap: 24px 40px;
	margin-bottom: 24px;
}
.ag-footer__contact-item { display: flex; flex-direction: column; gap: 4px; }
.ag-footer__contact-label {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	font-weight: 700;
	font-size: .95rem;
	color: var(--ag-black);
}
.ag-footer__contact-label svg { color: var(--ag-green); }
.ag-footer__contact-value {
	font-size: .92rem;
	color: rgba(8, 40, 31, .72);
	text-decoration: none;
	/* Objetivo táctil de 24 px mínimo (WCAG 2.5.8) sin mover el diseño. */
	display: inline-block;
	line-height: 24px;
}
.ag-footer__contact-value:hover { color: var(--ag-green); }

/* ----- Headings de columna ----- */
.ag-footer__heading {
	font-family: var(--ag-font-head);
	font-weight: 800;
	font-size: 1.5rem;
	color: var(--ag-black);
	margin: 0 0 20px;
}
.ag-footer__heading strong { color: var(--ag-black); }

/* ----- Chips ----- */
.ag-footer__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.ag-footer__chips--stack { flex-direction: column; align-items: flex-start; gap: 10px; }

.ag-chip {
	display: inline-block;
	font-size: .9rem;
	font-weight: 500;
	text-decoration: none;
	padding: 9px 16px;
	border-radius: var(--ag-radius);
	transition: background .2s var(--ag-ease), color .2s var(--ag-ease), transform .2s var(--ag-ease);
}
.ag-chip:hover { transform: translateY(-1px); }
/* Solo la inicial en mayúscula: el «capitalize» de antes ponía mayúscula a
   cada palabra («Técnico Superior En…»), pero algún enlace del menú está
   escrito en minúscula («blog»). */
.ag-chip::first-letter { text-transform: uppercase; }

.ag-chip--solid { background: var(--ag-green); color: #fff !important; }
.ag-chip--solid:hover { background: var(--ag-green-dark); }

.ag-chip--light { background: #D8D8D8; color: var(--ag-green-dark) !important; }
.ag-chip--light:hover { background: #c9c9c9; }

/* ----- Columna CTA ----- */
.ag-footer__cta-text {
	font-size: .95rem;
	line-height: 1.55;
	color: rgba(8, 40, 31, .72);
	margin: 0 0 24px;
}
.ag-footer__cta-text strong { color: var(--ag-black); font-weight: 700; }

/* ----- Barra inferior ----- */
.ag-footer__bottom {
	display: flex;
	align-items: center;
	gap: 24px;
	flex-wrap: wrap;
	padding-top: 28px;
	border-top: 1px solid rgba(8, 40, 31, .1);
	justify-content:space-between !important;
}
.ag-footer__bottom-logo .ag-logo { color: var(--ag-green); }
.ag-footer__bottom-logo .ag-logo svg { height: 40px; }

.ag-footer__legal { display: inline-flex; align-items: center; gap: 4px; flex-wrap: wrap; }
.ag-footer__legal-link {
	font-size: .88rem;
	color: rgba(8, 40, 31, .72);
	text-decoration: none;
	display: inline-block;
	line-height: 24px;
}
.ag-footer__legal-link:hover { color: var(--ag-green); }
.ag-sep { color: rgba(8, 40, 31, .3); margin: 0 4px; }

.ag-footer__copy {
	margin: 0;
	font-size: .88rem;
	color: rgba(8, 40, 31, .72);
}

.ag-footer__social { display: inline-flex; gap: 10px; }
.ag-footer__social-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: #D8D8D8;
	color: var(--ag-green-dark);
	transition: background .2s var(--ag-ease), transform .2s var(--ag-ease);
}
.ag-footer__social-link svg { width: 19px; height: 19px; display: block; }
.ag-footer__social-link:hover { background: #c9c9c9; transform: translateY(-2px); }

/* ----- Responsive footer ----- */
@media (max-width: 980px) {
	.ag-footer__top { grid-template-columns: 1fr 1fr; }
	.ag-footer__brand { grid-column: 1 / -1; }
}
@media (max-width: 680px) {
	.ag-footer__inner { padding: 48px 20px 24px; }
	.ag-footer__top { grid-template-columns: 1fr; gap: 36px; }
	.ag-footer__bottom { flex-direction: column; align-items: flex-start; gap: 18px; }
	.ag-footer__copy { margin-left: 0; }
}