/* =========================================================================
   Agonza Sports — Home
   Usa las variables :root de header.css (--ag-green, --ag-lime, etc.)
   ========================================================================= */

.ag-main{margin-top:1rem;}
.ag-home { font-family: var(--ag-font-body); color: var(--ag-green-dark); }

/* Título de sección reutilizable */
.ag-section-title {
	font-family: var(--ag-font-head);
	font-weight: 800;
	font-size: clamp(1.8rem, 3.2vw, 2.8rem);
	line-height: 1.05;
	color: var(--ag-black);
	margin: 0 0 .6em;
}

/* Los estilos de botones (primary, secondary, ghost, light) viven en header.css */

/* =========================================================================
   HERO
   ========================================================================= */
.ag-hero {
	position: relative;
	min-height: 640px;
	display: flex;
	align-items: stretch;
	padding: 32px 24px;
	max-width: var(--ag-maxw-wide);
	margin: 0 auto;
	background: var(--ag-green-dark);
	background-image: var(--ag-hero-bg);
	background-size: cover;
	background-position: center;
	border-radius: 16px;
	overflow: hidden;
}
.ag-hero__overlay {
	position: absolute; inset: 0;
	/* El degradado diagonal solo oscurecía la izquierda, pero el titular va a
	   la derecha y el texto del CTA abajo: sobre cielo claro quedaban
	   ilegibles. Se añaden velos arriba y abajo, dejando el centro limpio. */
	background:
		linear-gradient(to bottom, rgba(8,40,31,.52) 0%, rgba(8,40,31,0) 42%),
		linear-gradient(to top,    rgba(8,40,31,.52) 0%, rgba(8,40,31,0) 38%),
		linear-gradient(120deg,    rgba(8,40,31,.55) 0%, rgba(8,40,31,.15) 55%, transparent 100%);
}
.ag-hero__inner {
	position: relative;
	z-index: 2;
	max-width: var(--ag-maxw);
	margin: 0 auto;
	width: 100%;
	display: grid;
	grid-template-columns: minmax(280px, 380px) 1fr;
	grid-template-rows: auto 1fr;
	gap: 24px;
	align-content: space-between;
}
.ag-hero__social { grid-column: 1; grid-row: 1; align-self: start; }
.ag-hero__social-label { display: block; color: #fff; font-size: .85rem; margin-bottom: 8px; opacity: .9; }
.ag-hero__social-list { display: flex; gap: 8px; }
.ag-hero__social-link {
	display: inline-flex; align-items: center; justify-content: center;
	width: 42px; height: 42px; border-radius: 50%;
	background: #fff; color: var(--ag-green);
	transition: transform .2s var(--ag-ease);
}
.ag-hero__social-link svg { width: 17px; height: 17px; }
.ag-hero__social-link:hover { transform: translateY(-2px); }

.ag-hero__title {
	grid-column: 2; grid-row: 1;
	justify-self: end; text-align: right;
	font-family: var(--ag-font-head);
	font-weight: 800;
	font-size: clamp(2.2rem, 4.5vw, 4rem);
	line-height: 1;
	color: #fff;
	margin: 0;
	max-width: 16ch;
	text-shadow: 0 2px 18px rgba(8, 40, 31, .35);
}

.ag-hero__cards {
	grid-column: 1 / -1; grid-row: 2;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	flex-wrap: wrap;
}
.ag-hero__card { border-radius: 16px; padding: 24px; }
.ag-hero__card--brand {
	max-width: 360px;
	background: rgba(8, 40, 31, .55);
	backdrop-filter: blur(6px);
	color: #fff;
}
.ag-hero__card-eyebrow {
	display: block;
	font-family: var(--ag-font-head);
	font-weight: 800;
	font-size: 1.3rem;
	margin-bottom: 10px;
}
.ag-hero__card-text { font-size: .92rem; line-height: 1.5; margin: 0 0 18px; }
.ag-hero__card--cta {
	max-width: 380px;
	color: #fff;
	text-align: left;
}
.ag-hero__card--cta .ag-hero__card-text { margin-bottom: 16px; }

/* =========================================================================
   CURSOS
   ========================================================================= */
.ag-cursos { padding: 72px 24px; }
.ag-cursos__inner { max-width: var(--ag-maxw); margin: 0 auto; }
.ag-cursos__intro .ag-section-title { max-width: 60%; }
.ag-cursos__head {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 32px;
	align-items: start;
	margin-bottom: 36px;
}
.ag-cursos__text { font-size: .95rem; line-height: 1.55; color: rgba(8,40,31,.7); margin: 0 0 16px; }

.ag-carousel__nav { display: flex; gap: 10px; }
.ag-carousel__nav button{padding:0;}
.ag-carousel__btn {
	width: 44px; height: 44px; border-radius: 50%;
	border: 1px solid rgba(8,40,31,.2);
	background: #fff; color: var(--ag-green-dark);
	cursor: pointer;
	display: flex; align-items: center; justify-content: center;
	transition: background .2s var(--ag-ease), color .2s var(--ag-ease), opacity .2s;
}
.ag-carousel__btn:hover { background: var(--ag-green); color: #fff; }
.ag-carousel__btn:disabled { opacity: .35; cursor: default; }

.ag-carousel__btn svg{width:20px; height:auto;}

.ag-cursos__track {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
}
.ag-cursos__track.is-carousel {
	display: flex;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	gap: 20px;
	padding-bottom: 6px;
}
.ag-cursos__track.is-carousel::-webkit-scrollbar { display: none; }
.ag-cursos__track.is-carousel > .ag-curso {
	flex: 0 0 calc(50% - 10px);
	scroll-snap-align: start;
}

.ag-curso {
	position: relative;
	min-height: 320px;
	border-radius: 18px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	color: #fff;
	isolation: isolate;
}
.ag-curso__link { position: absolute; inset: 0; z-index: 5; }
.ag-curso__img {
	position: absolute; inset: 0;
	width: 100%; height: 100%; object-fit: cover;
	z-index: 1;
	transition: transform .5s var(--ag-ease);
}
.ag-curso:hover .ag-curso__img { transform: scale(1.05); }
.ag-curso__overlay {
	position: absolute; inset: 0; z-index: 2;
	background: linear-gradient(180deg, rgba(8,40,31,.15) 0%, rgba(8,40,31,.55) 55%, rgba(8,40,31,.92) 100%);
}
.ag-curso__tag {
	position: absolute; top: 16px; right: 16px; z-index: 4;
	background: rgba(255,255,255,.20); color: #fff;
	border:1px solid #fff;
	font-size: 16px; font-weight: 400;
	padding: 6px 16px; border-radius: 999px;
}
.ag-curso__body {
	position: relative; z-index: 3;
	padding: 22px;
	padding-right: 84px; /* deja sitio a la flecha, sin solaparse */
}
.ag-curso__title {
	font-family: var(--ag-font-head); font-weight: 600;
	font-size: 24px; line-height: 1.1; margin: 0 0 8px;
}
.ag-curso__desc { font-size: .85rem; line-height: 1.45; margin: 0; opacity: .9; }
.ag-curso__arrow {
	position: absolute; bottom: 22px; right: 22px; z-index: 4;
	width: 44px; height: 44px; border-radius: 50%;
	background: var(--ag-green); color: #fff;
	display: inline-flex; align-items: center; justify-content: center;
	transition: transform .3s var(--ag-ease), background .2s var(--ag-ease);
}
.ag-curso:hover .ag-curso__arrow { background: var(--ag-lime); color: var(--ag-green-dark); transform: rotate(45deg); }

/* =========================================================================
   FORMACIÓN (más de 20 años)
   ========================================================================= */
.ag-formacion { padding: 72px 24px; background: var(--ag-white); max-width: var(--ag-maxw-wide); margin: 0 auto; border-radius: 16px; }
.ag-formacion__inner {
	max-width: var(--ag-maxw); margin: 0 auto;
	display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center;
}
.ag-formacion__text { font-size: .98rem; line-height: 1.6; color: rgba(8,40,31,.72); margin: 0 0 24px; }
.ag-formacion__bullets { list-style: none; margin: 0 0 28px; padding: 0; display: grid; gap: 14px; }
.ag-formacion__bullet { display: flex; align-items: center; gap: 12px; }
.ag-formacion__bullet-icon {
	flex: 0 0 auto;
	width: 26px; height:26px; border-radius: 50%;
	background: var(--ag-green); color: #fff;
	display: inline-flex; align-items: center; justify-content: center;
	overflow: hidden;
}
.ag-formacion__bullet-icon svg,
.ag-formacion__bullet-icon img { width: 12px; height:auto; display: block; }
.ag-formacion__bullet-icon p { margin: 0; display: inline-flex; }
.ag-formacion__bullet-text { font-size: .98rem; color: var(--ag-green-dark); }
.ag-formacion__bullet-text strong { font-weight: 700; }

.ag-formacion__media { position: relative; }
.ag-formacion__img { width: 100%; border-radius: 18px; display: block; }
.ag-formacion__badge {
	position: absolute; top: -28px; right: -16px;
	width: 110px; height: 110px;
	display: flex; place-items: center;
	align-items:center;
	color: var(--ag-lime);
	background:var(--ag-green-dark);
	border-radius:100%;
}
.ag-formacion__badge svg { width: 100%; height: auto; display: block; padding:2rem; }
.ag-formacion__badge img { width: 100%; height: auto; }

/* =========================================================================
   FORMAS DE ACCESO (qué necesitas)
   ========================================================================= */
.ag-acceso { padding: 72px 24px; }
.ag-acceso__inner {
	max-width: var(--ag-maxw); margin: 0 auto;
	display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center;
}
.ag-acceso__text { font-size: .98rem; line-height: 1.6; color: rgba(8,40,31,.72); margin: 0 0 28px; }

/* Grid: dos arriba, una abajo a todo el ancho */
.ag-acceso__cards {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}
.ag-acceso__card {
	border-radius: 18px; padding: 26px 28px;
	box-shadow: 0 14px 34px rgba(8,40,31,.10);
	transition: transform .3s var(--ag-ease);
}
/* La tercera tarjeta ocupa toda la fila inferior */
.ag-acceso__card--3 { grid-column: 1 / -1; }

/* Colores y rotación por identificador (identificador_forma_de_acceder) */
.ag-acceso__card--1 { background: #fff; transform: rotate(-2deg); }
.ag-acceso__card--2 { background: var(--ag-lime); transform: rotate(1.5deg); }
.ag-acceso__card--3 { background: var(--ag-sand); transform: rotate(-1deg); }

/* Al hacer hover, vuelve a su sitio (sin rotar) */
.ag-acceso__card:hover { transform: rotate(0); }

.ag-acceso__card-icon {
	display: inline-flex; align-items: center; justify-content: center;
	width: 44px; height: 44px; border-radius: 12px;
	background: rgba(8,40,31,.06); color: var(--ag-green);
	margin-bottom: 14px; overflow: hidden;
}
.ag-acceso__card-icon svg,
.ag-acceso__card-icon img { width: 24px; height: 24px; display: block; }
.ag-acceso__card-icon p { margin: 0; display: inline-flex; }
.ag-acceso__card-title {
	font-family: var(--ag-font-head); font-weight: 700;
	font-size: 1.15rem; margin: 0 0 10px; color: var(--ag-green-dark);
}
.ag-acceso__card-text { font-size: .88rem; line-height: 1.5; color: rgba(8,40,31,.78); }
.ag-acceso__card-text ul { margin: 0; padding-left: 18px; }
.ag-acceso__card-text li { margin-bottom: 4px; }
.ag-acceso__card-text p { margin: 0 0 6px; }

/* =========================================================================
   MAPA / CENTRO
   ========================================================================= */
.ag-mapa { padding: 0 24px 72px; }
.ag-mapa__inner {
	max-width: var(--ag-maxw); margin: 0 auto;
	display: grid; grid-template-columns: 1fr 1fr; gap: 0px; align-items: stretch;
}
.ag-mapa__col{gap:0px;display:flex;flex-direction:column;}
.ag-mapa__col--img { display: flex; }
.ag-mapa__img { width: 100%; height: 100%; min-height: 420px; border-radius: 18px; display: block; object-fit: cover; }
/* "flex-direction: left" no existe como valor: el navegador lo descartaba y
   caía en row, dejando la foto como una tira estrecha de 160px junto al texto.
   El montaje previsto es en columna, con la imagen de cabecera. */
.ag-mapa__col--content { display: flex; flex-direction: column; gap:20px; background: #fff; padding: 1rem; border-radius: 16px;}
.ag-mapa__img-top { width: 100%; height: 180px; object-fit: cover; border-radius: 14px; margin-bottom: 0; display: block; }
.ag-mapa__text { font-size: 16px; line-height: 1.6; color: rgba(8,40,31,.72); margin: 0 0 22px; }
.ag-mapa__embed { margin-top: 0; border-radius: 16px; overflow: hidden; flex: 1 1 auto; }
.ag-mapa__embed iframe { width: 100%; height: 100%; min-height: 280px; border: 0; display: block; }

/* =========================================================================
   FAQ
   ========================================================================= */
.ag-faq { padding: 72px 24px; }
.ag-faq__inner {
	max-width: var(--ag-maxw); margin: 0 auto;
	display: grid; grid-template-columns: 380px 1fr; gap: 56px; align-items: stretch;
}
.ag-faq__aside { display: flex; flex-direction: column; }
.ag-faq__badge {
	display: inline-flex; align-items: center; gap: 8px;
	font-size: .82rem; color: var(--ag-green-dark); font-weight: 600;
	margin-bottom: 14px;
	background: var(--ag-lime);
	padding: 8px 16px; border-radius: 999px;
	align-self: flex-start;
}
.ag-faq__badge-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--ag-green); }
/* El CTA empuja abajo: título arriba, CTA abajo (space-between) */
.ag-faq__cta {
	margin-top: auto; padding: 26px;
	background: var(--ag-white); border-radius: 18px;
	box-shadow: 0 14px 34px rgba(8,40,31,.08);
}
.ag-faq__cta-title { font-family: var(--ag-font-head); font-weight: 700; font-size: 1.4rem; margin: 0 0 8px; }
.ag-faq__cta-text { font-size: .9rem; line-height: 1.5; color: rgba(8,40,31,.7); margin: 0 0 18px; }

.ag-faq__list { display: grid; gap: 12px; align-content: start; }
.ag-faq__item {
	border-radius: 14px;
	background: #fff;
	overflow: hidden;
	transition: background .2s var(--ag-ease), box-shadow .2s var(--ag-ease);
}
.ag-faq__item:hover,
.ag-faq__item:focus-within,
.ag-faq__item.is-open { background: var(--ag-white); box-shadow: var(--ag-shadow); }
.ag-faq__q {
	width: 100%; text-align: left;
	display: flex; align-items: center; justify-content: space-between; gap: 16px;
	background: #fff; border: 0; cursor: pointer;
	padding: 20px 22px;
	font-family: var(--ag-font-body); font-weight: 600; font-size: 1rem;
	color: var(--ag-green-dark);
}
.ag-faq__q:focus-visible { outline: 2px solid var(--ag-green); outline-offset: -2px; border-radius: 14px; }
.ag-faq__icon {
	flex: 0 0 auto;
	width: 34px; height: 34px; border-radius: 50%;
	background: var(--ag-green); color: #fff;
	display: inline-flex; align-items: center; justify-content: center;
	transition: transform .3s var(--ag-ease);
}
.ag-faq__q:hover{background:var(--ag-lime);color:var(--ag-green-dark);}
.ag-faq__q:focus{background:#fff;color:var(--ag-green-dark);}
.ag-faq__item.is-open .ag-faq__icon { transform: rotate(180deg); }
.ag-faq__a {
	display: grid; grid-template-rows: 0fr;
	transition: grid-template-rows .3s var(--ag-ease);
}
.ag-faq__item.is-open .ag-faq__a { grid-template-rows: 1fr; }
.ag-faq__a-inner { overflow: hidden; padding: 0 22px; }
.ag-faq__item.is-open .ag-faq__a-inner { padding: 0 22px 20px; }
.ag-faq__a-inner p { font-size: .92rem; line-height: 1.55; color: rgba(8,40,31,.7); margin: 0; }

/* =========================================================================
   CONTACTO  (dos bloques separados, cada uno con su radio)
   ========================================================================= */
.ag-contacto { padding: 0 24px 72px; }
.ag-contacto__inner {
	max-width: var(--ag-maxw); margin: 0 auto;
	display: grid; grid-template-columns: 1fr 1fr;
	gap: 0px;
}
.ag-contacto__info {
	background: var(--ag-green); color: #fff; padding: 44px;
	border-radius: 22px;
	display:flex;
	flex-direction:column;
	justify-content:space-between;
}
.ag-contacto__title { font-family: var(--ag-font-head); font-weight: 800; font-size: clamp(1.8rem, 3vw, 2.4rem); line-height: 1.05; margin: 0 0 14px; max-width:80%; }
.ag-contacto__text { font-size: .95rem; line-height: 1.55; opacity: .9; margin: 0 0 28px; }
.ag-contacto__data { display: flex; flex-wrap: wrap; gap: 22px 40px; margin-bottom: 28px; }
.ag-contacto__data-item { display: flex; flex-direction: column; gap: 4px; }
.ag-contacto__data-label {
	display: inline-flex; align-items: center; gap: 8px;
	font-weight: 700; font-size: .95rem;
}
.ag-contacto__data-label svg { width: 16px; height: 16px; color: var(--ag-lime); }
.ag-contacto__data-item a { color: rgba(255,255,255,.85); text-decoration: none; font-size: .9rem; }
.ag-contacto__data-item a:hover { color: var(--ag-lime); }
.ag-contacto__form {
	background: var(--ag-black); color: #fff; padding: 44px;
	border-radius: 22px;
}
.ag-contacto__form :where(input, textarea, select) {
	width: 100%; background: transparent; color: #fff;
	border: 0; border-bottom: 1px solid rgba(255,255,255,.25);
	padding: 10px 0; margin-bottom: 18px; font-family: var(--ag-font-body);
}
.ag-contacto__form :where(input, textarea)::placeholder { color: rgba(255,255,255,.5); }


/* =========================================================================
   NOTICIAS  (una noticia destacada horizontal por slide)
   ========================================================================= */
.ag-noticias { padding: 0 24px 80px; }
.ag-noticias__inner { max-width: var(--ag-maxw); margin: 0 auto; }
.ag-noticias__head { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 48px; }

.ag-noticias__track {
	display: flex;
	overflow-x: auto;
	gap: 0;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
}
.ag-noticias__track::-webkit-scrollbar { display: none; }
.ag-noticias__track > .ag-noticia {
	flex: 0 0 100%;
	scroll-snap-align: start;
}

.ag-noticia {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 48px;
	align-items: center;
}
.ag-noticia__media { display: block; border-radius: 18px; overflow: hidden; aspect-ratio: 16/11; }
/* Entrada sin imagen destacada: en vez de un rectángulo plano, un fondo de
   marca. Es un apaño visual, lo correcto es asignar la imagen destacada. */
.ag-noticia__media--vacia {
	background:
		radial-gradient(120% 90% at 18% 10%, rgba(255,255,255,.55), transparent 60%),
		linear-gradient(135deg, var(--ag-sand) 0%, var(--ag-lime) 100%);
	position: relative;
}
.ag-noticia__media--vacia::after {
	content: "";
	position: absolute;
	right: -18%;
	bottom: -38%;
	width: 62%;
	aspect-ratio: 1;
	border-radius: 50%;
	background: rgba(8, 71, 52, .10);
}
.ag-noticia__img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s var(--ag-ease); }
.ag-noticia__media:hover .ag-noticia__img { transform: scale(1.04); }
.ag-noticia__body { padding: 0; }
.ag-noticia__meta { font-size: .78rem; letter-spacing: .04em; text-transform: uppercase; color: rgba(8,40,31,.72); }
.ag-noticia__title { font-family: var(--ag-font-head); font-weight: 800; font-size: clamp(1.6rem, 2.6vw, 2.2rem); line-height: 1.05; margin: 12px 0 16px; }
.ag-noticia__title a { color: var(--ag-black); text-decoration: none; }
.ag-noticia__title a:hover { color: var(--ag-green); }
.ag-noticia__excerpt { font-size: .95rem; line-height: 1.6; color: rgba(8,40,31,.7); margin: 0 0 24px; }
/* "Leer más" usa .ag-btn--secondary del sistema; aquí solo su colocación. */
.ag-noticia__link { align-self: flex-start; margin-top: auto; }

/* =========================================================================
   RESPONSIVE
   ========================================================================= */
@media (max-width: 980px) {
	.ag-hero__inner { grid-template-columns: 1fr; }
	.ag-hero__title { grid-column: 1; grid-row: auto; justify-self: start; text-align: left; }
	.ag-hero__social { grid-row: auto; }
	.ag-cursos__head,
	.ag-formacion__inner,
	.ag-acceso__inner,
	.ag-mapa__inner,
	.ag-faq__inner,
	.ag-contacto__inner { grid-template-columns: 1fr; }
	.ag-cursos__track,
	.ag-noticias__track { grid-template-columns: 1fr 1fr; }
	.ag-cursos__track.is-carousel > .ag-curso { flex-basis: 80%; }
	.ag-noticias__track.is-carousel > .ag-noticia { flex-basis: 70%; }
	.ag-contacto__info, .ag-contacto__form { padding: 32px; }
	.ag-noticia { grid-template-columns: 1fr; gap: 24px; }
}
@media (max-width: 600px) {
	.ag-cursos__track,
	.ag-noticias__track { grid-template-columns: 1fr; }
	.ag-cursos__track.is-carousel > .ag-curso,
	.ag-noticias__track.is-carousel > .ag-noticia { flex-basis: 88%; }
	.ag-cursos, .ag-formacion, .ag-acceso, .ag-faq { padding-left: 18px; padding-right: 18px; }
	.ag-hero__inner{display:flex;flex-direction:column;}
	.ag-hero__overlay{background:rgba(8,40,31,.55)}
	.ag-cursos__intro .ag-section-title{max-width:100%;}
	.ag-cursos__head{gap:0;}
	.ag-acceso__cards{grid-template-columns:1fr;}
	.ag-mapa__col--content{flex-direction:column;}
	.ag-mapa__img-top{width:100%;height:160px;}
	.ag-faq__cta{display:none;}
	.ag-contacto__title{max-width:100%;}
	.ag-faq__inner{gap:0px;}
	.ag-mapa{padding:0 24px 24px;}
}
@media (prefers-reduced-motion: reduce) {
	.ag-curso__img, .ag-noticia__img { transition: none; }
}

/* =========================================================================
   Agonza Sports — Animaciones de scroll (estados)
   ========================================================================= */

/* Estado inicial del reveal.
   Va condicionado a .ag-js-reveal, que añade el JS nada más cargarse: si el
   script falla o está bloqueado, el contenido se ve igualmente en vez de
   quedarse invisible para siempre. */
.ag-js-reveal [data-reveal] {
	opacity: 0;
	transform: translateY(28px);
	transition: opacity .7s cubic-bezier(.22,1,.36,1), transform .7s cubic-bezier(.22,1,.36,1);
	will-change: opacity, transform;
}
.ag-js-reveal [data-reveal].is-visible {
	opacity: 1;
	transform: translateY(0);
}

/* Variantes direccionales opcionales (data-reveal="left"/"right"/"scale") */
.ag-js-reveal [data-reveal="left"]  { transform: translateX(-32px); }
.ag-js-reveal [data-reveal="right"] { transform: translateX(32px); }
.ag-js-reveal [data-reveal="scale"] { transform: scale(.94); }
[data-reveal="left"].is-visible,
[data-reveal="right"].is-visible { transform: translateX(0); }
[data-reveal="scale"].is-visible { transform: scale(1); }

/* Parallax: el elemento se mueve via JS; el contenedor debe recortar */
[data-parallax] { will-change: transform; }

/* Para que el parallax no deje huecos, la imagen se sobredimensiona y el
   contenedor recorta. Aplica a las imágenes grandes de la home. */
.ag-formacion__media,
.ag-mapa__col--img { overflow: hidden; }
.ag-formacion__img[data-parallax],
.ag-mapa__img[data-parallax] {
	height: 124%;
	min-height: 124%;
	object-fit: cover;
}

@media (prefers-reduced-motion: reduce) {
	[data-reveal],
	[data-reveal].is-visible {
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
	}
	[data-parallax] { transform: none !important; }
}
/* =========================================================================
   FAQ · Enlaces dentro de la respuesta
   (repetidor "Enlaces" por pregunta + URLs autoenlazadas en el texto)
   Compartido por la FAQ de la home y la página de Preguntas frecuentes.
   ========================================================================= */

/* URLs escritas dentro del texto de la respuesta */
.ag-faq__a-inner a:not(.ag-btn) {
	color: var(--ag-green);
	font-weight: 500;
	text-decoration: underline;
	text-decoration-color: rgba(8, 71, 52, .35);
	text-underline-offset: 3px;
	overflow-wrap: anywhere;
	transition: color .2s var(--ag-ease), text-decoration-color .2s var(--ag-ease);
}
.ag-faq__a-inner a:not(.ag-btn):hover,
.ag-faq__a-inner a:not(.ag-btn):focus-visible {
	color: var(--ag-green-dark);
	text-decoration-color: var(--ag-green);
}

/* Botones al final de la respuesta: usan .ag-btn del sistema de diseño */
.ag-faq__links {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 20px;
}
.ag-faq__links .ag-btn__text { white-space: normal; text-align: left; }

@media (max-width: 600px) {
	.ag-faq__links { gap: 10px; }
	.ag-faq__links .ag-btn { font-size: 15px; }
}
