/* =========================================================================
   Agonza Sports — Formación (hub padre)
   ========================================================================= */

.ag-formacion-hub-page { font-family: var(--ag-font-body); color: var(--ag-green-dark); }

/* INTRO */
.ag-fh-intro { padding: 72px 24px 24px; }
.ag-fh-intro__inner { max-width: 720px; margin: 0 auto; text-align: center; }
.ag-fh-intro__inner .ag-badge { margin-left: auto; margin-right: auto; }
.ag-fh-intro__text { font-size: 1.05rem; line-height: 1.75; color: rgba(8,40,31,.75); margin-top: 16px; }
.ag-fh-intro__text p { margin: 0 0 14px; }

/* ÁREAS FORMATIVAS */
.ag-fh-area { padding: 32px 24px; }
.ag-fh-area:last-of-type { padding-bottom: 72px; }
.ag-fh-area__inner { max-width: var(--ag-maxw); margin: 0 auto; }
.ag-fh-area__head {
	display: flex; align-items: flex-start; gap: 22px; margin-bottom: 32px;
	max-width: 820px;
}
.ag-fh-area__num {
	flex: 0 0 auto;
	width: 56px; height: 56px; border-radius: 14px;
	background: var(--ag-green); color: #fff;
	display: inline-flex; align-items: center; justify-content: center;
	font-family: var(--ag-font-head); font-weight: 800; font-size: 1.5rem;
}
.ag-fh-area__title {
	font-family: var(--ag-font-head); font-weight: 800;
	font-size: clamp(1.6rem, 3vw, 2.2rem); line-height: 1.05;
	margin: 4px 0 8px; color: var(--ag-green-dark);
}
.ag-fh-area__text { font-size: 1rem; line-height: 1.6; color: rgba(8,40,31,.72); margin: 0; }

.ag-fh-area__grid {
	display: grid; grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr)); gap: 20px;
}
.ag-fh-curso {
	background: #fff; border: 1px solid rgba(8,40,31,.06); border-radius: 18px;
	padding: 28px 28px 26px;
	box-shadow: 0 10px 26px rgba(8,40,31,.05);
	display: flex; flex-direction: column;
	text-decoration: none; color: inherit;
	transition: transform .25s var(--ag-ease), box-shadow .25s var(--ag-ease);
}
a.ag-fh-curso:hover { transform: translateY(-4px); box-shadow: 0 18px 40px rgba(8,40,31,.12); }
a.ag-fh-curso, a.ag-fh-curso * { text-decoration: none !important; }
.ag-fh-curso__body { flex: 1 1 auto; }
.ag-fh-curso__title {
	font-family: var(--ag-font-head); font-weight: 700;
	font-size: 1.3rem; line-height: 1.12; margin: 0 0 8px; color: var(--ag-green-dark);
}
.ag-fh-curso__text { font-size: .92rem; line-height: 1.55; color: rgba(8,40,31,.72); margin: 0 0 20px; }
.ag-fh-curso__link {
	margin-top: auto; display: inline-flex; align-items: center; gap: 8px;
	font-weight: 600; font-size: .9rem; color: var(--ag-green);
}
.ag-fh-curso__link-icon {
	width: 30px; height: 30px; border-radius: 50%; background: var(--ag-green); color: #fff;
	display: inline-flex; align-items: center; justify-content: center;
	transition: transform .25s var(--ag-ease);
}
.ag-fh-curso:hover .ag-fh-curso__link-icon { transform: translate(2px, -2px); }

@media (max-width: 900px) {
	.ag-fh-area { padding: 24px; }
}
@media (max-width: 600px) {
	.ag-fh-intro { padding: 44px 24px 16px; }
	.ag-fh-area__head { gap: 16px; }
	.ag-fh-area__num { width: 46px; height: 46px; font-size: 1.2rem; }
	.ag-fh-curso { padding: 24px 22px; }
}
