/**
 * Almagroup — estilos del tema.
 * Tokens (colores, tipografías, espaciados) viven en theme.json; aquí solo
 * lo que theme.json no puede expresar: componentes, estilos de bloque y responsive.
 */

/* ------------------------------------------------------------------
 * Escala fluida
 * Todas las medidas se escriben como «mínimo + (máximo − mínimo) × progreso»:
 *   font-size: calc(42px + 13 * var(--ag-p));   → 55 a 1440, 42 a 390
 * --ag-p vale 0px en --ag-vw-min y 1px en --ag-vw-max (y se queda ahí fuera del rango).
 * - Subir --ag-vw-min (p. ej. a 768) hace que todo se reduzca antes y más rápido.
 * - --ag-e es la proporción mínima de lo que no tiene valor móvil propio en el diseño:
 *   calc(80px * var(--ag-e) + 80 * (1 - var(--ag-e)) * var(--ag-p)) → 80 a 1440, 60 a 390.
 * Las variables se definen en theme.json → styles.css (así llegan también al editor y a los
 * tamaños predefinidos). Se pueden sobrescribir en Apariencia → Editor → Estilos → CSS adicional.
 * ------------------------------------------------------------------ */
:root {
	--ag-verde: var(--wp--preset--color--verde);
	--ag-radius-m: var(--wp--custom--radius--m);
	--ag-radius-l: calc(18px + 6 * var(--ag-p)); /* 24 a 1440 → 18 a 390 */
	--ag-section-y: calc(56px + 24 * var(--ag-p));
	--ag-section-y-end: calc(64px + 44 * var(--ag-p));
	--ag-ease: cubic-bezier(.2, .7, .2, 1);
}

html {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

body {
	overflow-x: clip;
	/* Inter con eje óptico: el diseño usa la versión de texto (opsz 14) en todos los tamaños */
	font-optical-sizing: none;
}

/* Secciones apiladas sin separación entre ellas */
.wp-site-blocks > *,
.ag-main,
.ag-content > .alignfull {
	margin-block: 0;
}

.ag-content > * + .alignfull,
.ag-content > .alignfull + * {
	margin-block-start: 0;
}

:where(.wp-site-blocks) > * {
	margin-block-start: 0;
}

/* ------------------------------------------------------------------
 * Cabecera
 * ------------------------------------------------------------------ */
.ag-header-wrap {
	position: absolute;
	inset: 0 0 auto;
	z-index: 50;
}

.admin-bar .ag-header-wrap {
	top: var(--wp-admin--admin-bar--height, 32px);
}

.ag-header-wrap:has(.ag-header--solido) {
	position: relative;
	top: 0;
}

.ag-header {
	padding-block: 62px 24px;
	color: #fff;
}

.ag-header--solido {
	background: var(--wp--preset--color--negro);
	padding-block: calc(24px * var(--ag-e) + 24 * (1 - var(--ag-e)) * var(--ag-p));
}

.ag-header__inner {
	gap: calc(24px * var(--ag-e) + 24 * (1 - var(--ag-e)) * var(--ag-p));
}

.ag-header__logo {
	flex-shrink: 0;
}

.ag-header__logo img {
	display: block;
	width: clamp(130px, calc(20.92vw - 64px), 237px) !important; /* 237×74 a 1440, 150 a 1024 */
	height: auto !important;
	aspect-ratio: 237 / 74;
}

.ag-header .wp-block-navigation {
	flex: 1;
	gap: 0;
	font-size: calc(15px + 3 * var(--ag-p)); /* 18px a 1440 */
	font-weight: 500;
}

.ag-header .wp-block-navigation__container {
	gap: calc(16px + 19 * var(--ag-p)); /* 35px a 1440 */
	justify-content: flex-end;
}

/* Inactivo: blanco al 30 %; activo y hover: blanco al 100 % */
.ag-header .wp-block-navigation-item > .wp-block-navigation-item__content {
	color: rgba(255, 255, 255, .3);
	transition: color .2s;
}

.ag-header .wp-block-navigation-item.current-menu-item > .wp-block-navigation-item__content,
.ag-header .wp-block-navigation-item.current-menu-ancestor > .wp-block-navigation-item__content,
.ag-header .wp-block-navigation-item:hover > .wp-block-navigation-item__content,
.ag-header .wp-block-navigation-item > .wp-block-navigation-item__content:focus-visible {
	color: #fff;
}

.ag-header .wp-block-navigation .wp-block-navigation__submenu-icon {
	width: 12px;
	height: 12px;
	margin-left: 3px;
	color: rgba(255, 255, 255, .3);
	transition: color .2s;
}

.ag-header .wp-block-navigation-item.current-menu-ancestor > .wp-block-navigation__submenu-icon,
.ag-header .wp-block-navigation-item:hover > .wp-block-navigation__submenu-icon {
	color: #fff;
}

/* Elementos de menú con clase "is-pill" (Extranet, Trazabilidad) */
.ag-header .wp-block-navigation-item.is-pill > .wp-block-navigation-item__content,
.ag-header .wp-block-navigation-item.is-pill:hover > .wp-block-navigation-item__content {
	background: var(--ag-verde);
	color: #fff;
	border-radius: 5px;
	padding: 0 7px;
	line-height: 1.4;
}

.ag-header .wp-block-navigation-item.is-pill + .wp-block-navigation-item.is-pill {
	margin-left: -12px;
}

.ag-header .wp-block-navigation-item.is-pill:hover > .wp-block-navigation-item__content {
	background: var(--wp--preset--color--verde-oscuro);
}

/* Submenú */
.ag-header .wp-block-navigation .wp-block-navigation__submenu-container {
	background: #fff;
	color: #000;
	border: 0;
	border-radius: 12px;
	padding: 8px;
	min-width: 260px;
	width: max-content; /* cada servicio en una línea (son 10) */
	box-shadow: 0 12px 40px rgba(0, 0, 0, .18);
}

.ag-header .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	color: #000;
	padding: 8px 14px;
	border-radius: 8px;
	font-size: 16px;
	white-space: nowrap;
}

.ag-header .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
	background: var(--wp--preset--color--gris-claro);
	color: var(--ag-verde);
}

.ag-header__cta {
	margin-left: 23px;
	flex-shrink: 0;
}

/* Menú móvil */
.ag-header .wp-block-navigation__responsive-container-open {
	color: #fff;
}

.ag-header .wp-block-navigation__responsive-container-open svg {
	width: 40px;
	height: 40px;
}

/* Especificidad para ganar a `.wp-block-navigation:not(.has-background) …` del núcleo */
.ag-header .wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--wp--preset--color--negro);
	color: #fff;
	padding: 32px var(--wp--preset--spacing--gutter);
}

.ag-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	padding-top: 64px;
	align-items: flex-start;
}

/* Ítems a la izquierda: la lista lleva `items-justified-right`, que fija estas variables */
.ag-header .is-menu-open .wp-block-navigation__container {
	--navigation-layout-justification-setting: flex-start;
	--navigation-layout-justify: flex-start;
	gap: 22px;
	align-items: flex-start;
	font-size: 24px;
}

.ag-header .is-menu-open .wp-block-navigation-item > .wp-block-navigation-item__content {
	color: #fff;
}

.ag-header .is-menu-open .wp-block-navigation__submenu-container {
	background: transparent;
	box-shadow: none;
	padding: 12px 0 0 16px !important;
	width: auto;
}

.ag-header .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	color: rgba(255, 255, 255, .75);
	font-size: 18px;
	padding: 4px 0;
	white-space: normal;
}

.ag-header .is-menu-open .wp-block-navigation-item.is-pill + .wp-block-navigation-item.is-pill {
	margin-left: 0;
}

@media (max-width: 1100px) {
	.ag-header {
		padding-block: 32px 16px;
	}

	.ag-header .ag-header__cta {
		display: none !important;
	}
}

/* Hamburguesa desde 1024 (el núcleo la muestra recién bajo 600) */
@media (max-width: 1024px) {
	.ag-header .wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: flex;
	}

	.ag-header .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
		display: none;
	}
}

/* ------------------------------------------------------------------
 * Botones
 * ------------------------------------------------------------------ */
.wp-block-button .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: calc(12px * var(--ag-e) + 12 * (1 - var(--ag-e)) * var(--ag-p));
	transition: background-color .2s, color .2s, border-color .2s, transform .2s var(--ag-ease);
}

.wp-block-button.is-style-blanco .wp-block-button__link {
	background: #fff;
	color: var(--ag-verde);
	border-color: var(--ag-verde);
}

.wp-block-button.is-style-blanco .wp-block-button__link:hover {
	background: var(--ag-verde);
	color: #fff;
	border-color: #fff;
}

.wp-block-button.is-style-contorno .wp-block-button__link {
	background: rgba(255, 255, 255, .12);
	color: inherit;
	border: 1px solid currentColor;
}

.wp-block-button.is-style-contorno .wp-block-button__link:hover {
	background: #fff;
	color: #000;
	border-color: #fff;
}

.wp-block-button.ag-btn-sm .wp-block-button__link {
	font-size: calc(18px * var(--ag-e) + 18 * (1 - var(--ag-e)) * var(--ag-p));
	font-weight: 400;
	padding: 1px 19px;
	border-radius: 999px;
	line-height: 1.6;
}

.wp-block-button.is-style-con-flecha .wp-block-button__link::after,
.wp-block-button.ag-btn-whatsapp .wp-block-button__link::before {
	content: "";
	flex-shrink: 0;
	background: currentColor;
	-webkit-mask: var(--ag-icon) center / contain no-repeat;
	mask: var(--ag-icon) center / contain no-repeat;
}

.wp-block-button.is-style-con-flecha .wp-block-button__link::after {
	--ag-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14m0 0-6-6m6 6-6 6'/%3E%3C/svg%3E");
	width: 24px;
	height: 24px;
	transition: transform .2s var(--ag-ease);
}

.wp-block-button.is-style-con-flecha .wp-block-button__link:hover::after {
	transform: translateX(4px);
}

.wp-block-button.ag-btn-whatsapp .wp-block-button__link::before {
	--ag-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M17.47 14.38c-.3-.15-1.75-.86-2.02-.96-.27-.1-.47-.15-.67.15-.2.3-.77.96-.94 1.16-.17.2-.35.22-.64.07-.3-.15-1.25-.46-2.38-1.47-.88-.78-1.47-1.75-1.65-2.04-.17-.3-.02-.46.13-.6.13-.13.3-.35.45-.52.15-.17.2-.3.3-.5.1-.2.05-.37-.03-.52-.07-.15-.67-1.6-.92-2.2-.24-.58-.49-.5-.67-.5h-.57c-.2 0-.52.07-.8.37-.27.3-1.04 1.02-1.04 2.48s1.07 2.88 1.21 3.08c.15.2 2.1 3.2 5.08 4.48.71.31 1.26.49 1.7.63.71.22 1.36.19 1.87.12.57-.09 1.75-.72 2-1.41.25-.7.25-1.29.17-1.41-.07-.13-.27-.2-.57-.35M12.05 21.5h-.01a9.4 9.4 0 0 1-4.79-1.31l-.34-.2-3.56.93.95-3.47-.22-.36a9.4 9.4 0 0 1-1.44-5.01c0-5.2 4.23-9.43 9.44-9.43a9.4 9.4 0 0 1 9.43 9.44c0 5.2-4.24 9.43-9.44 9.43m8.03-17.46A11.27 11.27 0 0 0 12.04.7C5.79.7.7 5.79.7 12.04c0 2 .52 3.95 1.52 5.66L.6 23.6l6.04-1.58a11.3 11.3 0 0 0 5.4 1.38h.01c6.25 0 11.34-5.09 11.34-11.34 0-3.03-1.18-5.88-3.32-8.02'/%3E%3C/svg%3E");
	width: 30px;
	height: 30px;
}

/* ------------------------------------------------------------------
 * Tipografía utilitaria
 * ------------------------------------------------------------------ */
.is-style-eyebrow {
	font-size: calc(18px * var(--ag-e) + 18 * (1 - var(--ag-e)) * var(--ag-p));
	font-weight: 700;
	letter-spacing: .25em;
	text-transform: uppercase;
	line-height: 1.4;
}

/* Etiqueta verde: cada línea con su propia caja (ver filtro en inc/setup.php) */
p.is-style-etiqueta {
	font-size: calc(11px + 7 * var(--ag-p)); /* 18 a 1440 → 11 a 390 */
	font-weight: 800;
	letter-spacing: .25em;
	text-transform: uppercase;
	line-height: calc(15px + 9 * var(--ag-p)); /* 24 a 1440 → 15 a 390 */
	color: #fff;
}

.is-style-etiqueta .ag-etiqueta__txt,
.editor-styles-wrapper p.is-style-etiqueta {
	background: var(--ag-verde);
	padding: 2px 2px 2px 7px;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
}

.editor-styles-wrapper p.is-style-etiqueta {
	display: table;
}

/* Resaltado verde tipo píldora (formato de texto "Resaltado verde") */
.ag-resaltado {
	background: var(--ag-verde);
	color: #fff;
	border-radius: 999px;
	padding: 0 .5em;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
}

/* ------------------------------------------------------------------
 * Secciones genéricas
 * ------------------------------------------------------------------ */
.ag-seccion {
	padding-top: var(--ag-section-y);
	padding-bottom: var(--ag-section-y-end);
}

.ag-seccion h2 {
	margin-bottom: 0;
}

/* Título de sección: 55 SemiBold, caja de 90 (confirmado en Inicio).
   En Figma el «interlineado 90» de una línea equivale a interlineado 60 + 15 px arriba y abajo:
   los títulos de dos líneas del diseño («Nuestra historia») separan sus líneas a 60. */
.ag-seccion h2 {
	font-size: calc(42px + 13 * var(--ag-p)); /* 55 a 1440 → 42 a 390 */
	font-weight: 600;
	line-height: 1.091; /* 60/55 */
	padding-block: .2727em; /* 15/55 → una línea mide 90 */
}

/* El interlineado de 90 deja aire bajo el título: estos márgenes lo compensan (medidos contra el diseño) */
.ag-seccion h2 + .is-style-etiqueta {
	margin-top: calc(2px - 9 * var(--ag-p)); /* −7 a 1440 → 2 a 390 */
}

.ag-seccion h2 + p:not(.is-style-etiqueta) {
	margin-top: 3px;
}

/* Texto introductorio tras el título o la etiqueta: 20 Medium, interlineado 30 */
.ag-seccion h2 + p:not(.is-style-etiqueta),
.ag-seccion h2 + .is-style-etiqueta + p {
	font-size: calc(15px + 5 * var(--ag-p)); /* 20 a 1440 → 15 a 390 */
	font-weight: 500;
	line-height: 1.5; /* 30/20 */
}

.ag-seccion .is-style-etiqueta + p {
	margin-top: calc(21px * var(--ag-e) + 21 * (1 - var(--ag-e)) * var(--ag-p));
}

.ag-servicios {
	padding-top: calc(56px + 35 * var(--ag-p));
}

.ag-nosotros-resumen {
	padding-top: calc(56px + 15 * var(--ag-p));
	padding-bottom: calc(56px + 41 * var(--ag-p));
}

.ag-seccion__cabecera {
	gap: calc(24px * var(--ag-e) + 24 * (1 - var(--ag-e)) * var(--ag-p));
}

.ag-seccion__intro {
	max-width: 640px;
}

.ag-seccion__intro > * {
	margin-block: 0;
}

.ag-seccion__intro p {
	font-size: calc(15px + 5 * var(--ag-p)); /* 20 a 1440 → 15 a 390 */
	font-weight: 500;
	line-height: 1.5; /* 30/20 */
}

.ag-seccion__cabecera + .wp-block-almagroup-carousel {
	margin-top: calc(20px + 28 * var(--ag-p));
}

.ag-galeria .ag-seccion__cabecera + .wp-block-almagroup-carousel {
	margin-top: calc(63px * var(--ag-e) + 63 * (1 - var(--ag-e)) * var(--ag-p));
}

.ag-columnas {
	gap: calc(24px * var(--ag-e) + 24 * (1 - var(--ag-e)) * var(--ag-p));
}

.ag-columnas--separadas {
	justify-content: space-between;
}

/* Franja verde de título (Valores, Equipo) */
.wp-block-group.is-style-franja {
	padding-block: 6px;
}

.wp-block-group.is-style-franja p {
	margin: 0;
	font-size: calc(16px + 4 * var(--ag-p)); /* 20 a 1440 → 16 a 390 */
	font-weight: 700;
	font-style: italic;
	letter-spacing: .25em;
	text-transform: uppercase;
	line-height: calc(21px + 9 * var(--ag-p)); /* 30 a 1440 → 21 a 390 */
}

/* Tarjeta con borde */
.wp-block-group.is-style-tarjeta {
	border: 1px solid #000;
	border-radius: var(--ag-radius-l);
	padding: 48px;
}

/* Imagen redondeada. La curva siempre la pone el CSS (las fotos se suben rectangulares):
   además del estilo «Esquinas redondeadas», las imágenes de la galería y de la historia
   la reciben por contexto, sin que el editor tenga que elegir nada. */
.wp-block-image.is-style-redondeada img,
.ag-galeria .wp-block-image img,
.ag-historia__imagenes .wp-block-image img {
	border-radius: var(--ag-radius-l);
}

/* ------------------------------------------------------------------
 * Portada (cover) con flecha inferior
 * ------------------------------------------------------------------ */
.wp-block-cover.is-style-con-flecha {
	overflow: visible;
}

.wp-block-cover.is-style-con-flecha::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: -1px;
	z-index: 2;
	/* Curva + flecha escalan juntas: 164×64 a 1440 → 120×47 a 390 (73,4 %).
	   Perfil medido en el diseño: lados a 45° y tope en arco de radio 42,85 tangente a ambos,
	   que toca el borde superior (antes el arco se salía del lienzo y se veía cortado).
	   Flecha de 19×30 a 28 px del tope. */
	width: calc(120.4px + 43.6 * var(--ag-p));
	height: calc(47px + 17 * var(--ag-p));
	transform: translateX(-50%);
	background:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 19 30'%3E%3Cpath fill='%238C8C8C' d='M8.3 28.9c.49.48 1.28.48 1.77 0L18 20.95a1.25 1.25 0 0 0-1.76-1.76l-7.06 7.06-7.06-7.06A1.25 1.25 0 0 0 .37 20.95L8.3 28.9ZM7.94 0v28h2.5V0h-2.5Z'/%3E%3C/svg%3E") center calc(20.55px + 7.45 * var(--ag-p)) / calc(13.95px + 5.05 * var(--ag-p)) calc(22px + 8 * var(--ag-p)) no-repeat,
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 164 64'%3E%3Cpath fill='%23fff' d='M0 64 51.7 12.55A42.85 42.85 0 0 1 112.3 12.55L164 64Z'/%3E%3C/svg%3E") center bottom / 100% 100% no-repeat;
	pointer-events: none;
}

.ag-hero {
	padding-bottom: calc(137px * var(--ag-e) + 137 * (1 - var(--ag-e)) * var(--ag-p));
}

.ag-hero .wp-block-cover__inner-container > * {
	margin-block: 0;
}

.ag-hero .is-style-eyebrow {
	margin-bottom: calc(20px * var(--ag-e) + 20 * (1 - var(--ag-e)) * var(--ag-p)) !important;
	font-size: calc(14px + 4 * var(--ag-p)); /* 18 a 1440 → 14 a 390 */
	font-weight: 800;
	letter-spacing: .25em;
}

.ag-hero h1 {
	font-size: calc(31px + 44 * var(--ag-p)); /* 75 a 1440 → 31 a 390 */
	line-height: 1.2; /* 90/75 */
}

.ag-hero__texto {
	margin-top: calc(30px + 4 * var(--ag-p)) !important;
	font-size: calc(15px + 5 * var(--ag-p)); /* 20 a 1440 → 15 a 390 */
	font-weight: 500;
	line-height: 1.5; /* 30/20 */
	max-width: 880px;
	margin-inline: auto !important;
}

.ag-hero__botones {
	margin-top: 48px !important;
	gap: 70px;
}

.ag-hero__botones .wp-block-button__link {
	min-height: calc(44px + 19 * var(--ag-p));
	min-width: calc(217px + 93 * var(--ag-p));
	font-size: calc(16px + 6 * var(--ag-p)); /* 22 a 1440 → 16 a 390 */
	font-weight: 600;
}

/* ------------------------------------------------------------------
 * Servicios: tarjetas numeradas (Bucle de consulta)
 * ------------------------------------------------------------------ */
.is-style-tarjetas-numeradas {
	counter-reset: ag-tarjeta;
}

.is-style-tarjetas-numeradas > li {
	counter-increment: ag-tarjeta;
}

.ag-tarjeta__media {
	position: relative;
	overflow: hidden;
	border-radius: calc(16px + 12 * var(--ag-p)); /* 28 a 1440 → 16 a 390 */
	isolation: isolate;
}

.ag-tarjeta__media::before {
	content: counter(ag-tarjeta, decimal-leading-zero);
	position: absolute;
	top: 14px;
	left: 19px;
	z-index: 2;
	color: #fff;
	font-size: calc(24px + 16 * var(--ag-p)); /* 40 a 1440 → 24 a 390 */
	font-weight: 400;
	line-height: 1.2;
	pointer-events: none;
}

.ag-tarjeta__media .wp-block-post-featured-image {
	margin: 0;
}

.ag-tarjeta__media .wp-block-post-featured-image img {
	display: block;
	width: 100%;
	transition: transform .6s var(--ag-ease);
}

.ag-tarjeta__media:hover .wp-block-post-featured-image img {
	transform: scale(1.04);
}

.ag-tarjeta__mas.wp-block-read-more {
	position: absolute;
	inset: auto 0 0;
	width: auto;
	max-width: none;
	z-index: 2;
	display: flex;
	align-items: center;
	gap: calc(12px * var(--ag-e) + 12 * (1 - var(--ag-e)) * var(--ag-p));
	height: calc(39px + 25 * var(--ag-p));
	padding: 0 29px;
	background: var(--ag-verde);
	color: #fff;
	font-size: calc(14px + 8 * var(--ag-p)); /* 22 a 1440 → 14 a 390 */
	font-weight: 600;
	text-decoration: none;
	transform: translateY(100%);
	transition: transform .3s var(--ag-ease);
}

.ag-tarjeta__mas.wp-block-read-more::after {
	content: "";
	width: calc(14px + 10 * var(--ag-p));
	height: calc(14px + 10 * var(--ag-p));
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14m0 0-6-6m6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14m0 0-6-6m6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
}

.ag-tarjeta__media:hover .ag-tarjeta__mas,
.ag-tarjeta__media:focus-within .ag-tarjeta__mas,
.is-style-tarjetas-numeradas > li:first-child .ag-tarjeta__mas {
	transform: none;
}

.is-style-tarjetas-numeradas:hover > li:first-child .ag-tarjeta__media:not(:hover) .ag-tarjeta__mas {
	transform: translateY(100%);
}

.ag-tarjeta__texto {
	margin-top: calc(15px + 4 * var(--ag-p));
	font-size: calc(13px + 5 * var(--ag-p)); /* 18 a 1440 → 13 a 390 */
	line-height: calc(16px + 10 * var(--ag-p)); /* 26 a 1440 → 16 a 390 */
}

.ag-tarjeta__texto > * {
	display: inline;
	margin: 0;
	font-size: inherit;
	line-height: inherit;
	letter-spacing: 0;
}

.ag-tarjeta__texto .wp-block-post-title {
	font-size: calc(15px + 5 * var(--ag-p)); /* 20 a 1440 → 15 a 390 */
	font-weight: 800;
}

.ag-tarjeta__texto .wp-block-post-title::after {
	content: ". ";
}

.ag-tarjeta__texto .wp-block-post-title a {
	text-decoration: none;
}

.ag-tarjeta__texto .wp-block-post-excerpt__excerpt {
	display: inline;
	margin: 0;
	line-height: inherit;
}

/* ------------------------------------------------------------------
 * Nosotros resumen: hitos
 * ------------------------------------------------------------------ */
.ag-nosotros-resumen .ag-texto-columna {
	max-width: 440px;
}

.ag-nosotros-resumen .ag-texto-columna,
.ag-clientes p:not(.is-style-etiqueta),
.ag-contacto .wp-block-column > p:not(.is-style-etiqueta) {
	font-size: calc(15px + 5 * var(--ag-p)); /* 20 a 1440 → 15 a 390 */
	font-weight: 500;
	line-height: 1.5; /* 30/20 */
}

/* Etiquetas de datos (Dirección, Teléfonos…): mismo tamaño, peso 700 */
.ag-contacto__datos > p.is-style-etiqueta {
	font-weight: 700;
}

.ag-hitos {
	grid-template-columns: 52% 48% !important;
	row-gap: calc(24px + 6 * var(--ag-p)) !important;
	column-gap: 0 !important;
	align-self: flex-end;
	width: 100%;
}

.ag-hito > * {
	margin: 0;
}

.ag-hito__titulo {
	font-weight: 900;
	line-height: 1.636; /* 90/55 */
	letter-spacing: -.01em;
}

/* 55 fijo: en el diseño celular los años no se reducen. Gana al preset «numero» (56, también usado en Cifras) */
.ag-hito p.ag-hito__titulo.has-numero-font-size {
	font-size: 55px !important;
}

.ag-hito__texto {
	margin-top: -14px !important; /* compensa el interlineado de 90 del año */
	font-size: calc(14px + 4 * var(--ag-p)); /* 18 a 1440 → 14 a 390 */
	line-height: calc(18px + 8 * var(--ag-p)); /* 26 a 1440 → 18 a 390 */
}

.ag-nosotros-resumen .wp-block-columns {
	gap: 0;
}

.ag-nosotros-resumen .wp-block-column:last-child {
	display: flex;
	align-items: flex-end;
}

/* ------------------------------------------------------------------
 * Valores y equipo
 * ------------------------------------------------------------------ */
.ag-valores.wp-block-cover {
	padding-top: 80px;
}

.ag-valores__grid {
	gap: calc(24px * var(--ag-e) + 24 * (1 - var(--ag-e)) * var(--ag-p));
}

.ag-valor {
	gap: calc(14px + 18 * var(--ag-p));
	color: #fff;
}

/* Caja común de 150×141 a 1440 que escala con clamp. Cada ícono tiene su ancho en %
   de la caja (ajustes de la imagen → Ancho): 150 = 100 %, 114 = 76 %, 124 = 82.67 % */
.ag-valor__icono {
	display: flex;
	align-items: center;
	justify-content: center;
	width: calc(90px + 60 * var(--ag-p)); /* 150 a 1440 → 90 a 390 */
	aspect-ratio: 150 / 141;
	margin: 0;
}

.ag-valor__icono img {
	display: block;
	max-width: 100%;
	height: auto;
}

.ag-valor__titulo {
	margin: 0;
	font-size: calc(16px + 4 * var(--ag-p)); /* 20 a 1440 → 16 a 390 */
	font-weight: 800;
	line-height: calc(20px + 6 * var(--ag-p)); /* 26 a 1440 → 20 a 390 */
}

.ag-equipo-texto {
	padding-block: calc(26px * var(--ag-e) + 26 * (1 - var(--ag-e)) * var(--ag-p));
}

.ag-equipo-texto p {
	margin: 0;
	font-size: calc(14px + 6 * var(--ag-p)); /* 20 a 1440 → 14 a 390 */
	line-height: calc(22px + 8 * var(--ag-p)); /* 30 a 1440 → 22 a 390 */
}

/* ------------------------------------------------------------------
 * Clientes
 * ------------------------------------------------------------------ */
.ag-clientes {
	padding-top: calc(47px + 31 * var(--ag-p)); /* −17 compensa el interlineado de 90 del título */
	padding-bottom: calc(56px + 26 * var(--ag-p));
}

.ag-logos {
	gap: 34px 24px !important;
	align-items: center;
	justify-items: center;
}

.ag-logo {
	margin: 0;
}

.ag-logo img {
	display: block;
	max-height: calc(50px + 10 * var(--ag-p));
	width: auto;
	max-width: 100%;
	object-fit: contain;
}

.ag-logo--alto {
	grid-row: span 2;
}

.ag-logo--alto img {
	max-height: calc(90px + 20 * var(--ag-p));
}

/* ------------------------------------------------------------------
 * Contacto
 * ------------------------------------------------------------------ */
.ag-contacto {
	padding-top: calc(52px * var(--ag-e) + 52 * (1 - var(--ag-e)) * var(--ag-p)); /* 65 − 13 que agrega el interlineado de 90 del título */
	padding-bottom: calc(133px * var(--ag-e) + 133 * (1 - var(--ag-e)) * var(--ag-p));
}

.ag-contacto .wpcf7 {
	margin-top: calc(32px + 38 * var(--ag-p));
}

.ag-contacto__datos > .is-style-etiqueta {
	margin-top: 0;
}

.ag-contacto__datos > .ag-dato {
	margin-top: calc(22px * var(--ag-e) + 22 * (1 - var(--ag-e)) * var(--ag-p));
	margin-bottom: calc(32px + 22 * var(--ag-p));
}

.ag-contacto__datos > .ag-dato:nth-child(2) {
	margin-top: calc(22px * var(--ag-e) + 22 * (1 - var(--ag-e)) * var(--ag-p));
}

.ag-contacto__datos {
	padding-top: calc(24px + 59 * var(--ag-p)); /* alinea «Dirección» con la etiqueta de la izquierda */
}

/* Clase opcional para líneas largas (teléfonos). En el diseño esa línea está al 93,5 %
   del tamaño (≈ 18,7 px a 1440) para entrar en una línea: 483 px */
.ag-contacto .wp-block-column > p.ag-dato--compacto {
	font-size: calc(calc(15px + 5 * var(--ag-p)) * .935);
}

.ag-dato a {
	text-decoration: none;
}

.ag-dato a:hover {
	color: var(--ag-verde);
}

.ag-contacto__mapa {
	margin-top: calc(64px * var(--ag-e) + 64 * (1 - var(--ag-e)) * var(--ag-p));
}

/* ------------------------------------------------------------------
 * Formularios (Contact Form 7)
 * ------------------------------------------------------------------ */
.ag-form {
	display: grid;
	gap: calc(14px + 8 * var(--ag-p));
	font-size: 16px;
}

.ag-form__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 22px 24px;
}

.ag-form .wpcf7-form-control-wrap {
	display: block;
}

.ag-form *,
.ag-form *::before,
.ag-form *::after {
	box-sizing: border-box;
}

.ag-form input:is([type="text"], [type="email"], [type="tel"], [type="url"], [type="number"]),
.ag-form select,
.ag-form textarea {
	width: 100%;
	height: 50px;
	padding: 0 18px;
	border: 2px solid var(--wp--preset--color--gris-borde);
	border-radius: 6px;
	background: #fff;
	color: #000;
	font: inherit;
	font-size: 16px;
	letter-spacing: -.01em;
	appearance: none;
	transition: border-color .2s, box-shadow .2s;
}

.ag-form textarea {
	height: calc(134px + 143 * var(--ag-p));
	padding-block: calc(14px * var(--ag-e) + 14 * (1 - var(--ag-e)) * var(--ag-p));
	resize: vertical;
}

.ag-form select {
	padding-right: 52px;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='14' fill='none' stroke='%23999' stroke-width='1.5'%3E%3Cpath d='m1 1 11 11L23 1'/%3E%3C/svg%3E") right 16px center / 24px 14px no-repeat;
}

.ag-form ::placeholder {
	color: #000;
	opacity: 1;
}

.ag-form :is(input, select, textarea):focus {
	outline: none;
	border-color: var(--ag-verde);
	box-shadow: 0 0 0 3px rgba(32, 180, 87, .3);
}

.ag-form__acepta {
	margin-top: 8px;
	font-size: 16px;
	line-height: calc(34px * var(--ag-e) + 34 * (1 - var(--ag-e)) * var(--ag-p));
	letter-spacing: -.01em;
}

.ag-form__acepta .wpcf7-list-item {
	display: block;
	margin: 0;
}

.ag-form__acepta label {
	display: grid;
	grid-template-columns: 30px 1fr;
	gap: calc(18px * var(--ag-e) + 18 * (1 - var(--ag-e)) * var(--ag-p));
	align-items: start;
}

.ag-form__acepta input[type="checkbox"] {
	width: 29px;
	height: 29px;
	margin: 0;
	appearance: none;
	background: #fff;
	border: 1px solid var(--wp--preset--color--gris-borde);
	cursor: pointer;
}

.ag-form__acepta input[type="checkbox"]:checked {
	background: var(--ag-verde) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3'%3E%3Cpath d='m5 12 5 5 9-10'/%3E%3C/svg%3E") center / 20px no-repeat;
	border-color: var(--ag-verde);
}

.ag-form__acepta a {
	color: inherit;
	text-underline-offset: 4px;
}

.ag-form .wpcf7-submit {
	width: 100%;
	height: 47px;
	margin-top: 0;
	border: 0;
	border-radius: 999px;
	background: var(--ag-verde);
	color: #fff;
	font: inherit;
	font-size: 16px;
	font-weight: 700;
	text-transform: uppercase;
	cursor: pointer;
	transition: background-color .2s;
}

.ag-form .wpcf7-submit:hover {
	background: var(--wp--preset--color--verde-oscuro);
}

.ag-form .wpcf7-spinner {
	position: absolute;
	margin: 12px;
}

.wpcf7 form .wpcf7-response-output {
	margin: 20px 0 0;
	padding: 12px 16px;
	border-radius: 6px;
	font-size: 16px;
}

.wpcf7-not-valid-tip {
	margin-top: 4px;
	font-size: 14px;
}

/* ------------------------------------------------------------------
 * Libro de Reclamaciones (plugin dqa-libro-de-reclamaciones)
 * El plugin trae su CSS; aquí se ajusta al estilo de los formularios del sitio.
 * `.dqa-lr.ag-lr` gana en especificidad al CSS del plugin sin importar el orden de carga.
 * ------------------------------------------------------------------ */
.dqa-lr.ag-lr {
	--dqa-lr-accent: var(--ag-verde);
	--dqa-lr-font: inherit;
	--dqa-lr-radius: 6px;
	max-width: none;
	margin-block: calc(32px + 16 * var(--ag-p));
}

.dqa-lr.ag-lr .dqa-lr__bloque {
	border: 2px solid var(--wp--preset--color--gris-borde);
	border-radius: var(--ag-radius-m);
}

.dqa-lr.ag-lr .dqa-lr__legend {
	margin: 0 0 calc(16px + 6 * var(--ag-p));
	padding: 0;
	color: #000;
	font-size: calc(16px + 4 * var(--ag-p));
	letter-spacing: 0;
	text-transform: none;
}

.dqa-lr.ag-lr .dqa-lr__label {
	font-size: 15px;
	letter-spacing: 0;
}

.dqa-lr.ag-lr :is(.wpcf7-text, .wpcf7-tel, .wpcf7-email, .wpcf7-select, .wpcf7-textarea) {
	border: 2px solid var(--wp--preset--color--gris-borde);
	font-size: 16px;
	transition: border-color .2s, box-shadow .2s;
}

.dqa-lr.ag-lr :is(.wpcf7-text, .wpcf7-tel, .wpcf7-email, .wpcf7-select) {
	height: 50px;
	padding-inline: 18px;
}

.dqa-lr.ag-lr .wpcf7-select {
	padding-right: 44px;
}

.dqa-lr.ag-lr :is(.wpcf7-text, .wpcf7-tel, .wpcf7-email, .wpcf7-select, .wpcf7-textarea):focus {
	border-color: var(--ag-verde);
	box-shadow: 0 0 0 3px rgba(32, 180, 87, .3);
}

.dqa-lr.ag-lr .dqa-lr__radio-group .wpcf7-radio {
	flex-direction: row;
	flex-wrap: wrap;
	gap: 10px 28px;
}

/* Reclamo / Queja: opciones largas, una por línea */
.dqa-lr.ag-lr .dqa-lr__radio-group:has([name="dqa_lr_tipo_reclamo"]) .wpcf7-radio {
	flex-direction: column;
}

.dqa-lr.ag-lr .dqa-lr__radio-group .wpcf7-list-item label {
	display: flex;
	align-items: flex-start;
	gap: 10px;
}

.dqa-lr.ag-lr input:is([type="radio"], [type="checkbox"]) {
	width: 18px;
	height: 18px;
}

.dqa-lr.ag-lr .dqa-lr__aceptacion a {
	color: inherit;
	text-underline-offset: 4px;
}

.dqa-lr.ag-lr .wpcf7-submit {
	height: 47px;
	padding-inline: 56px;
	border-radius: 999px;
	font-size: 16px;
	letter-spacing: 0;
}

.dqa-lr.ag-lr .wpcf7-submit:hover {
	background: var(--wp--preset--color--verde-oscuro);
}

.dqa-lr.ag-lr .wpcf7-response-output {
	border-radius: 6px;
}

/* Errores en rojo (CF7), no en el verde de acento: el verde se lee como éxito */
.dqa-lr.ag-lr .wpcf7-not-valid {
	border-color: #dc3232 !important;
}

.dqa-lr.ag-lr .wpcf7-not-valid-tip {
	color: #dc3232;
	font-size: 14px;
}

.ag-lr-proveedor {
	margin-block: calc(24px + 8 * var(--ag-p)) 0;
	padding: calc(18px + 6 * var(--ag-p)) calc(20px + 8 * var(--ag-p));
	border-left: 4px solid var(--ag-verde);
	background: var(--wp--preset--color--gris-claro, #f5f5f5);
}

.ag-lr-proveedor p {
	margin: 0;
}

.ag-lr-nota {
	font-size: 14px;
	color: rgba(0, 0, 0, .7);
}

/* ------------------------------------------------------------------
 * Preguntas frecuentes (grupo con estilo "faq" + bloques Detalles)
 * ------------------------------------------------------------------ */
.ag-faq {
	padding-top: calc(56px + 24 * var(--ag-p)); /* 92 − 12 que agrega el interlineado de 90 del título */
	padding-bottom: calc(64px + 30 * var(--ag-p));
}

.is-style-faq {
	counter-reset: ag-faq;
	margin-top: calc(28px + 12 * var(--ag-p)); /* 51 − 11 por el interlineado de 90 del título */
}

.is-style-faq > .wp-block-details {
	counter-increment: ag-faq;
	margin: 0;
	border-bottom: 1px solid rgba(255, 255, 255, .4);
}

.is-style-faq > .wp-block-details:last-child {
	border-bottom: 0;
}

.is-style-faq > .wp-block-details > summary {
	position: relative;
	display: grid;
	grid-template-columns: 158px 1fr 40px;
	align-items: center;
	min-height: calc(76px + 35 * var(--ag-p));
	padding-block: calc(12px * var(--ag-e) + 12 * (1 - var(--ag-e)) * var(--ag-p));
	box-sizing: border-box;
	font-size: calc(13px + 9 * var(--ag-p)); /* 22 a 1440 → 13 a 390 */
	font-weight: 700;
	line-height: calc(17px + 6 * var(--ag-p)); /* 23 a 1440 → 17 a 390 */
	list-style: none;
	cursor: pointer;
}

.is-style-faq > .wp-block-details > summary::-webkit-details-marker {
	display: none;
}

.is-style-faq > .wp-block-details > summary::before {
	content: counter(ag-faq, decimal-leading-zero);
	font-size: calc(36px + 34.34 * var(--ag-p)); /* 70.34 a 1440 → 36 a 390 */
	font-weight: 200;
	line-height: 1;
	letter-spacing: -.01em;
}

.is-style-faq > .wp-block-details > summary::after {
	content: "";
	justify-self: end;
	width: calc(20px + 16 * var(--ag-p));
	height: calc(20px + 16 * var(--ag-p));
	background:
		linear-gradient(currentColor, currentColor) center / 100% 4px no-repeat,
		linear-gradient(currentColor, currentColor) center / 4px 100% no-repeat;
	transition: transform .3s var(--ag-ease);
}

.is-style-faq > .wp-block-details[open] > summary::after {
	transform: rotate(45deg);
}

.is-style-faq > .wp-block-details > :not(summary) {
	margin: 0 40px 32px 158px;
	font-size: calc(15px + 3 * var(--ag-p));
}

/* ------------------------------------------------------------------
 * Portada interior y portada con formulario
 * ------------------------------------------------------------------ */
.ag-hero--interior {
	padding-bottom: calc(150px * var(--ag-e) + 150 * (1 - var(--ag-e)) * var(--ag-p));
}

.ag-hero-form.wp-block-cover {
	padding-top: calc(140px + 73 * var(--ag-p));
	padding-bottom: calc(100px + 20 * var(--ag-p));
}

.ag-hero-form .wp-block-cover__inner-container > * {
	margin-block: 0;
}

p.ag-hero-form__franja {
	max-width: 1004px;
	margin-inline: auto !important;
	padding: 17px 24px;
	border-radius: 999px;
	background: var(--ag-verde);
	color: #fff;
	font-size: calc(11px + 7 * var(--ag-p));
	font-weight: 700;
	letter-spacing: .3em;
	text-transform: uppercase;
	line-height: calc(18px + 9 * var(--ag-p));
	word-spacing: .4em;
}

.ag-hero-form__columnas {
	margin-top: calc(40px + 50 * var(--ag-p)) !important;
	justify-content: space-between;
	gap: calc(40px * var(--ag-e) + 40 * (1 - var(--ag-e)) * var(--ag-p));
}

.ag-hero-form h1 {
	font-size: var(--wp--preset--font-size--hero);
	line-height: 1.2;
	margin: 0;
}

.ag-hero-form__texto {
	margin-top: calc(24px + 32 * var(--ag-p)) !important;
	font-size: calc(15px + 5 * var(--ag-p));
	max-width: 550px;
}

.ag-hero-form__columnas > .wp-block-column:first-child {
	flex-basis: 50% !important;
}

.ag-hero-form__columnas > .ag-hero-form__form {
	flex-basis: 47.3% !important;
	flex-grow: 0 !important;
}

.ag-hero-form .ag-form textarea {
	height: 87px;
}

.ag-hero-form .ag-form__acepta {
	color: #fff;
}

/* ------------------------------------------------------------------
 * Cifras clave
 * ------------------------------------------------------------------ */
.ag-cifras {
	padding-top: calc(56px + 22 * var(--ag-p));
	padding-bottom: calc(56px + 31 * var(--ag-p));
}

.ag-cifras__fila {
	grid-template-columns: 26.25% 23.75% 21.7% 1fr !important;
	gap: 0 !important;
	margin-top: calc(50px * var(--ag-e) + 50 * (1 - var(--ag-e)) * var(--ag-p)) !important;
}

.ag-cifra > * {
	margin: 0;
}

.ag-cifra:not(:first-child) {
	border-left: 1px solid #9a9a9a;
	padding-left: 46px;
}

.ag-cifra:first-child {
	padding-left: 7px;
}

.ag-cifra__numero {
	font-weight: 900;
	line-height: 1.1;
}

.ag-cifra__texto {
	margin-top: 4px !important;
	font-size: calc(14px + 4 * var(--ag-p));
	line-height: calc(18px + 8 * var(--ag-p));
}

p.ag-franja-negra {
	margin-top: calc(46px * var(--ag-e) + 46 * (1 - var(--ag-e)) * var(--ag-p));
	padding: 12px 24px;
	border-radius: 999px;
	background: #000;
	color: #fff;
	font-size: calc(22px + 26.96 * var(--ag-p));
	font-weight: 800;
	line-height: 66px;
	letter-spacing: -.01em;
}

p.ag-franja-negra mark {
	background: none !important;
	color: var(--ag-verde);
}

/* ------------------------------------------------------------------
 * Historia
 * ------------------------------------------------------------------ */
.ag-historia {
	padding-top: calc(90px * var(--ag-e) + 90 * (1 - var(--ag-e)) * var(--ag-p));
	padding-bottom: calc(92px * var(--ag-e) + 92 * (1 - var(--ag-e)) * var(--ag-p));
}

.ag-historia__texto {
	font-size: calc(18px * var(--ag-e) + 18 * (1 - var(--ag-e)) * var(--ag-p));
	line-height: calc(30px * var(--ag-e) + 30 * (1 - var(--ag-e)) * var(--ag-p));
}

.ag-historia__texto > p {
	margin-block: 0 30px;
	line-height: calc(30px * var(--ag-e) + 30 * (1 - var(--ag-e)) * var(--ag-p));
}

.ag-historia .wp-block-columns {
	gap: 0;
}

.ag-historia__texto {
	padding-right: 20px;
}

.ag-historia__texto > p:last-child {
	margin-bottom: 0;
}

.ag-historia__imagenes {
	gap: calc(12px + 18 * var(--ag-p)) !important;
	margin-block: 0 30px !important;
}

.ag-historia__imagenes .wp-block-image {
	margin: 0;
}

.ag-historia__imagenes img,
.ag-galeria .wp-block-image img {
	width: 100%;
	aspect-ratio: 373 / 280;
	object-fit: cover;
}

/* ------------------------------------------------------------------
 * Misión y visión
 * ------------------------------------------------------------------ */
.ag-mision {
	padding-top: calc(74px * var(--ag-e) + 74 * (1 - var(--ag-e)) * var(--ag-p));
	padding-bottom: calc(88px * var(--ag-e) + 88 * (1 - var(--ag-e)) * var(--ag-p));
}

.ag-columnas--divididas {
	margin-top: calc(33px * var(--ag-e) + 33 * (1 - var(--ag-e)) * var(--ag-p)) !important;
	gap: 0 !important;
}

.ag-columnas--divididas > .wp-block-column {
	padding-right: 86px;
}

.ag-columnas--divididas > .wp-block-column + .wp-block-column {
	border-left: 1px solid rgba(255, 255, 255, .45);
	padding-left: 86px;
	padding-right: 40px;
}

.ag-columnas--divididas p:not(.is-style-etiqueta) {
	margin-top: calc(18px * var(--ag-e) + 18 * (1 - var(--ag-e)) * var(--ag-p));
	font-size: calc(18px * var(--ag-e) + 18 * (1 - var(--ag-e)) * var(--ag-p));
	line-height: calc(26px * var(--ag-e) + 26 * (1 - var(--ag-e)) * var(--ag-p));
}

.ag-columnas--divididas p.is-style-etiqueta {
	margin: 0;
}

/* Etiqueta sobre fondo verde: pasa a negro */
.has-verde-background-color .is-style-etiqueta .ag-etiqueta__txt,
.editor-styles-wrapper .has-verde-background-color p.is-style-etiqueta {
	background: #000;
}

.is-style-etiqueta em {
	padding-inline: 4px;
}

/* ------------------------------------------------------------------
 * Lista con flechas (grupo negro con filas)
 * ------------------------------------------------------------------ */
.ag-razones {
	padding-top: calc(82px * var(--ag-e) + 82 * (1 - var(--ag-e)) * var(--ag-p));
	padding-bottom: calc(86px * var(--ag-e) + 86 * (1 - var(--ag-e)) * var(--ag-p));
}

.ag-razones h2 + .is-style-lista-flechas {
	margin-top: calc(44px * var(--ag-e) + 44 * (1 - var(--ag-e)) * var(--ag-p));
}

.wp-block-group.is-style-lista-flechas {
	border-radius: 64px;
	padding: 30px 0 30px;
	overflow: hidden;
}

.is-style-lista-flechas > .wp-block-group {
	display: grid;
	grid-template-columns: 420px 1fr;
	column-gap: 0;
	align-items: start;
	margin: 0;
	padding: 48px 50px 38px 156px;
}

.is-style-lista-flechas > .wp-block-group + .wp-block-group {
	border-top: 1px solid rgba(255, 255, 255, .85);
}

.is-style-lista-flechas > .wp-block-group > * {
	margin: 0;
}

.is-style-lista-flechas > .wp-block-group > :first-child {
	position: relative;
	color: var(--ag-verde);
	font-size: calc(24px + 12 * var(--ag-p));
	font-style: italic;
	font-weight: 400;
	line-height: calc(30px + 12 * var(--ag-p));
	letter-spacing: 0;
	padding-right: 120px;
}

.is-style-lista-flechas > .wp-block-group > :first-child::before {
	content: "";
	position: absolute;
	top: 3px;
	left: -80px;
	width: calc(28px + 12 * var(--ag-p));
	height: calc(26px + 10 * var(--ag-p));
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 36' fill='none' stroke='%23000' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 18h34m0 0L21 3m16 15L21 33'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 36' fill='none' stroke='%23000' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 18h34m0 0L21 3m16 15L21 33'/%3E%3C/svg%3E") center / contain no-repeat;
}

.is-style-lista-flechas > .wp-block-group > :last-child {
	font-size: calc(15px + 5 * var(--ag-p));
	line-height: calc(22px + 8 * var(--ag-p));
	max-width: 570px;
}

/* ------------------------------------------------------------------
 * Galería en carrusel
 * ------------------------------------------------------------------ */
.ag-galeria {
	padding-top: calc(24px * var(--ag-e) + 24 * (1 - var(--ag-e)) * var(--ag-p));
	padding-bottom: calc(108px * var(--ag-e) + 108 * (1 - var(--ag-e)) * var(--ag-p));
}

.ag-galeria .wp-block-image {
	margin: 0;
}

/* ------------------------------------------------------------------
 * Tarjeta medio + texto (equipo)
 * ------------------------------------------------------------------ */
.ag-equipo-seccion {
	padding-top: 0;
	padding-bottom: 0;
}

.wp-block-media-text.ag-media-tarjeta {
	border-radius: var(--ag-radius-l);
	overflow: hidden;
	min-height: 591px;
}

.ag-media-tarjeta .wp-block-media-text__content {
	padding: 88px 92px;
	align-self: start;
}

.ag-media-tarjeta .wp-block-media-text__content h2 {
	margin: 0;
	line-height: 1.07;
}

.ag-media-tarjeta .wp-block-media-text__content p {
	margin-top: calc(36px * var(--ag-e) + 36 * (1 - var(--ag-e)) * var(--ag-p));
	font-size: calc(20px * var(--ag-e) + 20 * (1 - var(--ag-e)) * var(--ag-p));
	line-height: calc(30px * var(--ag-e) + 30 * (1 - var(--ag-e)) * var(--ag-p));
}

/* ------------------------------------------------------------------
 * Llamada a la acción
 * ------------------------------------------------------------------ */
.ag-cta {
	padding-top: calc(104px * var(--ag-e) + 104 * (1 - var(--ag-e)) * var(--ag-p));
	padding-bottom: calc(104px * var(--ag-e) + 104 * (1 - var(--ag-e)) * var(--ag-p));
}

.ag-cta__fila {
	align-items: flex-start !important;
	gap: calc(32px * var(--ag-e) + 32 * (1 - var(--ag-e)) * var(--ag-p));
}

.ag-cta__texto > * {
	margin: 0;
}

.ag-cta__texto h2 {
	line-height: 1.07;
}

.ag-cta__texto p {
	margin-top: calc(38px * var(--ag-e) + 38 * (1 - var(--ag-e)) * var(--ag-p));
}

.ag-cta .wp-block-buttons {
	margin-top: 58px;
}

.ag-cta .wp-block-button__link {
	min-height: 62px;
	min-width: 311px;
}

/* ------------------------------------------------------------------
 * Servicio: tarjetas informativas
 * ------------------------------------------------------------------ */
.ag-texto-angosto {
	max-width: 680px !important;
}

.ag-servicio-info {
	padding-top: calc(92px * var(--ag-e) + 92 * (1 - var(--ag-e)) * var(--ag-p));
	padding-bottom: calc(95px * var(--ag-e) + 95 * (1 - var(--ag-e)) * var(--ag-p));
}

.ag-tarjetas-info {
	gap: calc(16px + 18 * var(--ag-p)) !important;
}

.ag-tarjetas-info > .is-style-tarjeta {
	min-height: 385px;
	padding: 52px 40px 56px 48px;
	font-size: 16px;
	line-height: calc(26px * var(--ag-e) + 26 * (1 - var(--ag-e)) * var(--ag-p));
}

.ag-tarjetas-info > .is-style-tarjeta > * {
	margin: 0;
}

.ag-tarjetas-info .is-style-tarjeta p {
	font-size: calc(15px + 1 * var(--ag-p));
	line-height: calc(22px + 4 * var(--ag-p));
}

.ag-tarjetas-info .is-style-tarjeta p.ag-tarjeta-info__titulo {
	font-size: calc(18px * var(--ag-e) + 18 * (1 - var(--ag-e)) * var(--ag-p));
}

.ag-tarjetas-info .is-style-tarjeta p.is-style-etiqueta {
	font-size: calc(11px + 7 * var(--ag-p));
	line-height: calc(15px + 9 * var(--ag-p));
}

.ag-tarjetas-info .is-style-etiqueta {
	margin-bottom: calc(20px * var(--ag-e) + 20 * (1 - var(--ag-e)) * var(--ag-p)) !important;
}

.ag-servicio-info__cta {
	margin-top: calc(40px + 40 * var(--ag-p)) !important;
}

.ag-servicio-info__cta .wp-block-button__link {
	min-height: 62px;
	padding-inline: 32px;
}

/* ------------------------------------------------------------------
 * Pie de página
 * ------------------------------------------------------------------ */
.ag-footer {
	padding-top: calc(54px * var(--ag-e) + 54 * (1 - var(--ag-e)) * var(--ag-p));
	padding-bottom: calc(50px * var(--ag-e) + 50 * (1 - var(--ag-e)) * var(--ag-p));
}

.ag-footer__top,
.ag-footer__social {
	align-items: center;
	gap: calc(24px * var(--ag-e) + 24 * (1 - var(--ag-e)) * var(--ag-p));
}

.ag-footer__social {
	gap: 0;
}

p.ag-footer__title {
	margin: 0 70px 0 0;
	font-size: calc(34px + 21 * var(--ag-p)); /* 55 a 1440 → 34 a 390 */
	font-weight: 600;
	line-height: 1.091; /* 60/55 */
}

.wp-block-social-links.is-style-circulos-verdes {
	gap: calc(10px + 12 * var(--ag-p));
	margin: 0;
}

.wp-block-social-links.is-style-circulos-verdes .wp-social-link {
	background: var(--ag-verde) !important;
	color: #fff !important;
	font-size: calc(28px + 20 * var(--ag-p));
}

.wp-block-social-links.is-style-circulos-verdes .wp-social-link a {
	padding: .2em;
}

.wp-block-social-links.is-style-circulos-verdes .wp-social-link svg {
	width: .6em;
	height: .6em;
}

p.ag-footer__nota {
	margin: 0 0 0 51px;
	padding: 21px 0 21px 51px;
	border-left: 1px solid rgba(255, 255, 255, .5);
	font-size: calc(16px + 4 * var(--ag-p)); /* 20 a 1440 → 16 a 390 */
	font-weight: 800;
}

p.ag-footer__nota strong {
	font-weight: inherit;
}

.ag-footer__libro {
	margin: 0;
}

.ag-footer__libro img {
	display: block;
}

.ag-footer__seo {
	margin-top: calc(40px + 24 * var(--ag-p));
}

.ag-footer__seo p {
	margin: 0;
	font-size: calc(16px + 4 * var(--ag-p)); /* 20 a 1440 → 16 a 390 */
	font-weight: 400;
	line-height: 1.5; /* 30/20 */
}

.ag-footer__seo p.ag-footer__seo-title {
	font-weight: 800;
	margin-bottom: 8px !important;
}

/* 33 px más ancho por lado que el contenedor (1266 a 1440), sin pasar del margen lateral */
.wp-block-separator.ag-footer__sep {
	--ag-sep-extra: min(33px, var(--wp--preset--spacing--gutter));
	--ag-sep-w: calc(min(100%, 1200px) + 2 * var(--ag-sep-extra));
	max-width: none;
	width: var(--ag-sep-w);
	margin: 30px calc((100% - var(--ag-sep-w)) / 2) 0 !important;
	border: 0;
	border-top: 1px solid rgba(255, 255, 255, .85);
	opacity: 1;
	background: none;
}

.ag-footer__legal {
	margin-top: calc(23px * var(--ag-e) + 23 * (1 - var(--ag-e)) * var(--ag-p)) !important;
	font-size: calc(14px + 4 * var(--ag-p)) !important; /* 18 a 1440 → 14 a 390 */
	font-weight: 700;
	line-height: calc(22px + 8 * var(--ag-p)); /* 30 a 1440 → 22 a 390 */
}

/* ------------------------------------------------------------------
 * Responsive
 * ------------------------------------------------------------------ */
@media (max-width: 1024px) {
	.ag-hero.wp-block-cover {
		min-height: 0 !important;
		padding-top: 200px;
		padding-bottom: 130px;
	}

	.ag-hero__botones {
		gap: 24px;
	}

	.ag-valores.wp-block-cover {
		min-height: 0 !important;
		padding-bottom: 520px;
	}

	.ag-footer__nota {
		margin-left: 24px;
		padding-left: 24px;
	}
}

@media (max-width: 781px) {
	.ag-hero.wp-block-cover {
		min-height: 905px !important;
		padding-top: 330px;
		padding-bottom: 110px;
	}

	.ag-hero h1 {
		line-height: 1.15;
	}

	.ag-hero__texto {
		padding-inline: 14px;
	}

	.ag-hero__botones {
		flex-direction: column;
		gap: 16px;
		margin-top: 36px !important;
	}

	.ag-hero__botones .wp-block-button__link {
		padding: 6px 16px;
		gap: 10px;
	}

	.ag-hero__botones .wp-block-button__link::after {
		width: 18px !important;
		height: 18px !important;
	}

	.ag-hero__botones .ag-btn-whatsapp .wp-block-button__link::before {
		width: 24px;
		height: 24px;
	}

	.ag-hero__botones .wp-block-button {
		width: auto;
	}

	.ag-hero .is-style-eyebrow {
		padding-inline: 40px;
	}

	.ag-seccion__cabecera {
		flex-direction: column;
		align-items: flex-start !important;
	}

	.wp-block-almagroup-carousel {
		--ag-gap: 13px !important;
	}

	.ag-tarjeta__media::before {
		top: 9px;
		left: 12px;
	}

	.ag-tarjeta__mas.wp-block-read-more {
		padding: 0 14px 0 17px;
		white-space: nowrap;
		justify-content: space-between;
	}

	.is-style-etiqueta .ag-etiqueta__txt {
		padding: 1px 2px 1px 7px;
	}

	.ag-nosotros-resumen .wp-block-columns {
		gap: 48px;
	}

	.ag-valores.wp-block-cover {
		min-height: 655px !important;
		padding-top: 37px;
		padding-bottom: 0;
	}

	.ag-valores.wp-block-cover {
		background-color: #1f1813;
	}

	.ag-valores .wp-block-cover__image-background {
		top: auto;
		bottom: 0;
		height: 84%;
	}

	.ag-valores__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		row-gap: 28px;
	}

	.ag-logos {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 40px 16px !important;
	}

	.ag-logo--alto {
		grid-row: auto;
		grid-column: 1 / -1;
		order: 99;
	}

	.ag-form__grid {
		grid-template-columns: 1fr;
		gap: 14px;
	}

	.ag-form input:is([type="text"], [type="email"], [type="tel"], [type="url"], [type="number"]),
	.ag-form select {
		height: 42px;
	}

	.is-style-faq > .wp-block-details > summary {
		grid-template-columns: 56px 1fr 24px;
		gap: 8px;
	}

	.is-style-faq > .wp-block-details > summary::after {
		background-size: 100% 2px, 2px 100%;
	}

	.is-style-faq > .wp-block-details > :not(summary) {
		margin: 0 0 24px 72px;
	}

	p.ag-hero-form__franja {
		letter-spacing: .15em;
		word-spacing: 0;
		padding: 10px 16px;
	}

	.ag-hero-form__texto {
		line-height: 22px;
	}

	.ag-cifras__fila {
		grid-template-columns: 1fr 1fr !important;
		row-gap: 32px !important;
	}

	.ag-cifra:not(:first-child),
	.ag-cifra:first-child {
		border-left: 0;
		padding-left: 0;
	}

	.ag-cifra:nth-child(even) {
		border-left: 1px solid #9a9a9a;
		padding-left: 16px;
	}

	p.ag-franja-negra {
		line-height: 1.3;
		border-radius: 24px;
		padding: 14px 20px;
	}

	.ag-historia__texto,
	.ag-columnas--divididas p:not(.is-style-etiqueta) {
		font-size: 15px;
		line-height: 22px;
	}

	.ag-columnas--divididas > .wp-block-column,
	.ag-columnas--divididas > .wp-block-column + .wp-block-column {
		padding: 0;
		border-left: 0;
	}

	.ag-columnas--divididas > .wp-block-column + .wp-block-column {
		padding-top: 32px;
		border-top: 1px solid rgba(255, 255, 255, .45);
	}

	.ag-columnas--divididas {
		gap: 32px !important;
	}

	.wp-block-group.is-style-lista-flechas {
		border-radius: 32px;
		padding: 8px 0;
	}

	.is-style-lista-flechas > .wp-block-group {
		grid-template-columns: 1fr;
		row-gap: 12px;
		padding: 28px 24px 28px 64px;
	}

	.is-style-lista-flechas > .wp-block-group > :first-child {
		padding-right: 0;
	}

	.is-style-lista-flechas > .wp-block-group > :first-child::before {
		left: -44px;
	}

	.ag-razones,
	.ag-galeria,
	.ag-cta,
	.ag-historia,
	.ag-mision {
		padding-top: 56px;
		padding-bottom: 56px;
	}

	.ag-media-tarjeta .wp-block-media-text__content {
		padding: 40px 24px;
	}

	.wp-block-media-text.ag-media-tarjeta {
		min-height: 0;
	}

	.ag-media-tarjeta .wp-block-media-text__media {
		min-height: 280px;
	}

	.ag-media-tarjeta .wp-block-media-text__content p,
	.ag-cta__texto p {
		margin-top: 20px;
		font-size: 15px;
		line-height: 22px;
	}

	.ag-cta .wp-block-buttons {
		margin-top: 0;
	}

	.ag-cta .wp-block-button__link {
		min-width: 0;
	}

	.ag-tarjetas-info {
		grid-template-columns: 1fr !important;
	}

	.ag-tarjetas-info > .is-style-tarjeta {
		min-height: 0;
		padding: 32px 24px;
	}

	.ag-servicio-info__cta .wp-block-button__link {
		font-size: 16px;
		padding-inline: 20px;
	}

	.ag-footer__top {
		flex-direction: column;
		align-items: center !important;
		gap: 28px;
	}

	.ag-footer__social {
		justify-content: center;
		row-gap: 24px;
	}

	p.ag-footer__title {
		margin-right: 32px;
	}

	p.ag-footer__nota {
		width: 100%;
		margin: 0;
		padding: 24px 0 0;
		border-left: 0;
		border-top: 1px solid rgba(255, 255, 255, .5);
		text-align: center;
	}

	.ag-footer__libro img {
		width: 118px !important;
	}

	.wp-block-separator.ag-footer__sep {
		--ag-sep-extra: 0px;
	}
}
