/* Acre Gospel Mission — estilos de marca (manual de marca 2026, versión del 22-09).
   Colores: rojo 9A291F · oliva A4AD6B · crema F5E7D3 · verde 294C38 · tostado D4A473.
   Contraste: nunca texto blanco sobre oliva (2,4:1); tostado sobre verde sólo en tamaños grandes. */

:root {
	--acre-rojo: #9A291F;
	--acre-rojo-osc: #7A2018;
	--acre-oliva: #A4AD6B;
	--acre-crema: #F5E7D3;
	--acre-crema-clara: #FBF5EC;
	--acre-verde: #294C38;
	--acre-verde-osc: #1E3929;
	--acre-tostado: #D4A473;
	--acre-tinta: #2A2420;
	--acre-titulos: 'Jost', 'Futura', 'Century Gothic', system-ui, sans-serif;
	--acre-subtitulos: 'Josefin Sans', system-ui, sans-serif;
	--acre-texto: 'Lexend', system-ui, sans-serif;
	--acre-radio: 14px;
}

/* ---------- Base ---------- */
body,
button,
input,
select,
textarea {
	font-family: var(--acre-texto);
	font-weight: 300;
	color: var(--acre-tinta);
}
body { font-size: 17px; line-height: 1.7; }
strong, b { font-weight: 500; }
h1, h2, h3, h4, h5, h6,
.entry-title,
.elementor-widget-heading .elementor-heading-title {
	font-family: var(--acre-titulos);
	font-weight: 700;
	letter-spacing: -0.01em;
	line-height: 1.12;
}
a { color: var(--acre-rojo); }
a:hover, a:focus { color: var(--acre-rojo-osc); }
:focus-visible { outline: 3px solid var(--acre-tostado); outline-offset: 3px; }
::selection { background: var(--acre-crema); color: var(--acre-tinta); }

/* ---------- Cabecera (Astra) ---------- */
.site-header .main-header-bar,
.ast-primary-header-bar { background: #fff; border-bottom: 1px solid rgba(42, 36, 32, .08); }
.site-header .custom-logo-link img { max-height: 88px; width: auto; } /* el logo lleva "GOSPEL MISSION": no más pequeño */
.main-header-menu .menu-link,
.ast-builder-menu-1 .menu-item > .menu-link {
	font-family: var(--acre-subtitulos);
	font-weight: 600;
	font-size: 15px;
	text-transform: uppercase;
	letter-spacing: .07em;
	color: var(--acre-tinta);
}
.ast-builder-menu-1 .menu-item:hover > .menu-link,
.ast-builder-menu-1 .menu-item.current-menu-item > .menu-link { color: var(--acre-rojo); }
.ast-header-button-1 .ast-custom-button,
.ast-header-button-1 .menu-link {
	font-family: var(--acre-subtitulos);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .08em;
	font-size: 15px;
	background: var(--acre-rojo);
	color: #fff;
	border-radius: 999px;
	padding: 12px 26px 10px;
	border: 0;
}
.ast-header-button-1 .ast-custom-button:hover { background: var(--acre-rojo-osc); color: #fff; }

/* ---------- Botones ---------- */
.elementor-button,
.wp-block-button__link,
.ast-button,
button[type="submit"],
input[type="submit"] {
	font-family: var(--acre-subtitulos) !important;
	font-weight: 600 !important;
	text-transform: uppercase;
	letter-spacing: .08em;
	border-radius: 999px !important;
}
.acre-btn-claro .elementor-button {
	background: transparent !important;
	border: 2px solid currentColor !important;
}

/* ---------- Piezas comunes de las secciones ---------- */
.acre-antetitulo .elementor-heading-title,
.acre-antetitulo {
	font-family: var(--acre-subtitulos) !important;
	font-weight: 600 !important;
	text-transform: uppercase;
	letter-spacing: .16em;
	font-size: 14px !important;
}
.acre-lead { font-size: 1.15em; }
.acre-tarjeta {
	border-radius: var(--acre-radio);
	overflow: hidden;
	transition: transform .25s ease, box-shadow .25s ease;
}
.acre-tarjeta:hover { transform: translateY(-4px); box-shadow: 0 18px 40px rgba(42, 36, 32, .12); }
.acre-foto img { border-radius: var(--acre-radio); }
.acre-foto-antigua img { filter: sepia(.35) contrast(1.05); border-radius: var(--acre-radio); }

/* Portada: tarjetas que se montan sobre el final de la cabecera grande */
.acre-sube { position: relative; z-index: 2; } /* el margen negativo lo pone Elementor */

/* Cifras */
.acre-cifra .elementor-counter-number-wrapper,
.acre-cifra .elementor-heading-title { font-family: var(--acre-titulos); }

/* Línea del tiempo */
.acre-tiempo { list-style: none; margin: 0; padding: 0; border-left: 2px solid var(--acre-tostado); }
.acre-tiempo li { position: relative; padding: 0 0 18px 26px; margin: 0; }
.acre-tiempo li::before {
	content: ""; position: absolute; left: -7px; top: 8px;
	width: 12px; height: 12px; border-radius: 50%; background: var(--acre-rojo);
}
.acre-tiempo strong { font-family: var(--acre-titulos); font-weight: 700; color: var(--acre-rojo); margin-right: 8px; }

/* Revista */
.acre-revista {
	aspect-ratio: 3 / 4; max-width: 300px; margin: 0 auto;
	background: var(--acre-verde); color: var(--acre-crema);
	border-radius: 6px; padding: 28px 24px; position: relative;
	box-shadow: 18px 18px 0 var(--acre-tostado), 0 24px 50px rgba(0, 0, 0, .25);
	display: flex; flex-direction: column; justify-content: space-between;
	transform: rotate(-3deg);
}
.acre-revista .r-titulo { font-family: var(--acre-titulos); font-weight: 700; font-size: 58px; line-height: .9; color: #fff; }
.acre-revista .r-sub { font-family: var(--acre-subtitulos); text-transform: uppercase; letter-spacing: .18em; font-size: 13px; color: var(--acre-tostado); }
.acre-revista .r-pie { font-size: 14px; border-top: 1px solid rgba(245, 231, 211, .35); padding-top: 12px; }
.acre-revista .r-punto { width: 18px; height: 18px; border-radius: 50%; background: var(--acre-rojo); display: inline-block; }

/* Cita de la franja de donativos */
.acre-cita .elementor-heading-title { font-family: var(--acre-subtitulos) !important; font-weight: 400 !important; font-style: normal; }

/* ---------- Mapa ---------- */
.acre-mapa { position: relative; max-width: 100%; }
.acre-mapa img { display: block; width: 100%; height: auto; }
.acre-pin {
	position: absolute; transform: translate(-50%, -50%);
	display: block; width: 26px; height: 26px; text-decoration: none;
}
.acre-pin-punto {
	position: absolute; inset: 5px; border-radius: 50%;
	background: var(--acre-rojo); border: 3px solid #fff;
	box-shadow: 0 2px 6px rgba(0, 0, 0, .3);
}
.acre-pin-punto::after {
	content: ""; position: absolute; inset: -9px; border-radius: 50%;
	border: 2px solid var(--acre-rojo); opacity: 0;
	animation: acre-latido 2.4s ease-out infinite;
}
@keyframes acre-latido { 0% { transform: scale(.4); opacity: .8; } 100% { transform: scale(1.3); opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .acre-pin-punto::after { animation: none; } }
.acre-pin-texto {
	position: absolute; left: 50%; bottom: calc(100% + 8px); transform: translateX(-50%);
	white-space: nowrap; background: var(--acre-tinta); color: #fff;
	font-family: var(--acre-texto); font-size: 13px; font-weight: 300; line-height: 1.3;
	padding: 7px 12px; border-radius: 8px; pointer-events: none;
	opacity: 0; transition: opacity .2s ease;
}
.acre-pin-texto strong { display: block; font-family: var(--acre-titulos); font-weight: 700; font-size: 15px; }
.acre-pin:hover .acre-pin-texto,
.acre-pin:focus .acre-pin-texto { opacity: 1; }
.acre-pin:hover, .acre-pin:focus { z-index: 3; }

/* Lista de campos junto al mapa */
.acre-campos { list-style: none; margin: 0; padding: 0; }
.acre-campos li { border-bottom: 1px solid rgba(42, 36, 32, .12); margin: 0; }
.acre-campos a { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 14px 2px; color: var(--acre-tinta); text-decoration: none; }
.acre-campos a:hover { color: var(--acre-rojo); }
.acre-campos .c-pais { font-family: var(--acre-titulos); font-weight: 700; font-size: 20px; }
.acre-campos .c-lugares { font-size: 14px; color: #6b5f55; text-align: right; }

/* ---------- Pie (Astra, HTML 1) ---------- */
.site-footer .site-primary-footer-wrap { background: var(--acre-verde); color: var(--acre-crema); }
.site-footer .site-below-footer-wrap { background: var(--acre-verde-osc); color: rgba(245, 231, 211, .8); }
.site-footer .site-below-footer-wrap .ast-footer-copyright,
.site-footer .site-below-footer-wrap .ast-footer-copyright p { font-size: 14px; color: rgba(245, 231, 211, .85); }
.site-footer .site-below-footer-wrap .ast-footer-copyright a { color: var(--acre-tostado); }
.acre-pie { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.2fr; gap: 40px; text-align: left; padding: 24px 0 8px; }
.acre-pie h4 { font-family: var(--acre-subtitulos); font-weight: 600; text-transform: uppercase; letter-spacing: .14em; font-size: 14px; color: var(--acre-tostado); margin: 0 0 14px; }
.acre-pie p, .acre-pie li { font-size: 15px; line-height: 1.7; color: var(--acre-crema); margin: 0 0 6px; }
.acre-pie ul { list-style: none; margin: 0; padding: 0; }
.acre-pie a { color: #fff; text-decoration: none; }
.acre-pie a:hover { color: var(--acre-tostado); text-decoration: underline; }
.acre-pie .acre-pie-logo { max-width: 170px; height: auto; margin-bottom: 14px; }
@media (max-width: 921px) { .acre-pie { grid-template-columns: 1fr 1fr; gap: 28px; } }
@media (max-width: 921px) { .site-footer .site-primary-footer-wrap, .site-footer .site-below-footer-wrap { padding-left: 20px; padding-right: 20px; } }
@media (max-width: 544px) { .acre-pie { grid-template-columns: 1fr; } .acre-revista { max-width: 240px; margin-bottom: 28px; } .acre-revista .r-titulo { font-size: 48px; } }

/* ---------- Páginas interiores provisionales ---------- */
.acre-en-preparacion { background: var(--acre-crema-clara); border-left: 4px solid var(--acre-tostado); padding: 18px 22px; border-radius: 8px; }

/* ---------- Ajustes generales ---------- */
/* sin margen tras el último párrafo de un bloque de texto (evitaba huecos al final de las tarjetas) */
.elementor-widget-text-editor p:last-child { margin-bottom: 0; }
.acre-br-movil { display: none; }

/* Etiquetas del mapa pegadas a los bordes: se abren hacia dentro para no salirse de la pantalla */
.acre-pin-acre .acre-pin-texto,
.acre-pin-amazonas .acre-pin-texto { left: -4px; transform: none; }
/* Canarias: las dos islas caen casi una encima de otra en el mapa → puntos más pequeños,
   separados unos píxeles en sentidos opuestos y con la etiqueta hacia lados contrarios. */
.acre-pin-lanzarote, .acre-pin-tenerife { width: 20px; height: 20px; }
.acre-pin-lanzarote .acre-pin-punto, .acre-pin-tenerife .acre-pin-punto { inset: 3px; border-width: 2px; }
.acre-pin-lanzarote { transform: translate(-50%, -50%) translate(4px, -5px); }
.acre-pin-tenerife  { transform: translate(-50%, -50%) translate(-2px, 7px); } /* casi sin moverse del dibujo de la isla */
.acre-pin-tenerife .acre-pin-texto { bottom: auto; top: calc(100% + 8px); }
@media (max-width: 767px) {
	.acre-pin-lanzarote, .acre-pin-tenerife { width: 16px; height: 16px; }
	.acre-pin-lanzarote .acre-pin-punto, .acre-pin-tenerife .acre-pin-punto { inset: 2px; border-width: 2px; }
	.acre-pin-lanzarote { transform: translate(-50%, -50%) translate(6px, -8px); }
	.acre-pin-tenerife  { transform: translate(-50%, -50%) translate(-6px, 8px); }
}
.acre-pin-irlanda-norte .acre-pin-texto,
.acre-pin-portugal .acre-pin-texto { left: auto; right: -4px; transform: none; }

/* ---------- Móvil y tableta pequeña (≤ 767 px) ---------- */
@media (max-width: 767px) {
	/* cabecera: el icono del menú alineado con el borde del contenido (20 px) */
	/* (se desplaza el botón en vez de quitarle relleno: la zona para tocar sigue siendo de 45 px) */
	.ast-mobile-header-wrap .ast-button-wrap .menu-toggle { margin-right: -13px !important; }
	/* portada: capa oscura uniforme para leer el texto sobre la foto */
	.elementor .e-con.acre-heroe::before {
		background-image: linear-gradient(180deg, rgba(30, 57, 41, .78) 0%, rgba(30, 57, 41, .9) 100%) !important;
	}
	.acre-br-movil { display: inline; }
	.acre-sep-movil { display: none; }
	.acre-heroe .acre-antetitulo .elementor-heading-title { font-size: 12px !important; letter-spacing: .1em; line-height: 1.7; }
	/* botones: todos a lo ancho y del mismo tamaño */
	.elementor-widget-button,
	.elementor-widget-button .elementor-button { width: 100%; }
	.elementor-widget-button .elementor-button { text-align: center; justify-content: center; }
	/* lista de países: nombre arriba y lugares debajo, alineados a la izquierda */
	.acre-campos a { flex-direction: column; align-items: flex-start; gap: 2px; padding: 12px 0; }
	.acre-campos .c-lugares { text-align: left; }
	/* revista más compacta */
	.acre-revista { max-width: 230px; margin-bottom: 20px; transform: translateX(-9px) rotate(-3deg); }
	.acre-revista .r-titulo { font-size: 46px; }
	.acre-revista .r-sub { font-size: 11px; letter-spacing: .1em; white-space: nowrap; }
	.acre-revista .r-pie { font-size: 13px; }
	/* pie: la línea legal en dos renglones limpios */
	.ast-footer-copyright .acre-br-movil { display: inline; }
	/* menú desplegable: separadores finos entre opciones */
	.ast-mobile-popup-content .menu-item > .menu-link,
	.ast-header-break-point .main-header-menu .menu-item > .menu-link { border-bottom: 1px solid rgba(42, 36, 32, .08); }
}

/* ---------- Tableta (768-1024 px) ---------- */
@media (min-width: 768px) and (max-width: 1024px) {
	.acre-mapa { max-width: 640px; margin: 0 auto; }
	.acre-revista { max-width: 260px; }
}

/* ---------- Portada clara (22-09: "una foto que no sea tan oscura") ---------- */
/* La foto se ve con sus colores; la sombra sólo va detrás del texto y las letras llevan una sombra suave. */
.acre-heroe-clara .elementor-heading-title,
.acre-heroe-clara .elementor-widget-text-editor {
	text-shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 2px 22px rgba(0, 0, 0, .45);
}
@media (max-width: 767px) {
	.elementor .e-con.acre-heroe.acre-heroe-clara::before {
		background-image: linear-gradient(180deg, rgba(15, 24, 19, .56) 0%, rgba(15, 24, 19, .6) 45%, rgba(15, 24, 19, .68) 100%) !important;
	}
}

/* ---------- Misioneros: tarjetas ([acre_misioneros]) ---------- */
.acre-mis-rejilla { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 24px; }
.acre-mis-tarjeta {
	display: flex; flex-direction: column; background: #fff; border-radius: var(--acre-radio); overflow: hidden;
	box-shadow: 0 10px 30px rgba(42, 36, 32, .08); color: var(--acre-tinta); text-decoration: none;
	transition: transform .25s ease, box-shadow .25s ease;
}
a.acre-mis-tarjeta:hover, a.acre-mis-tarjeta:focus { transform: translateY(-4px); box-shadow: 0 18px 40px rgba(42, 36, 32, .14); color: var(--acre-tinta); }
.acre-mis-foto { display: block; aspect-ratio: 4 / 3; background: var(--acre-crema); overflow: hidden; }
.acre-mis-foto img { width: 100%; height: 100%; object-fit: cover; object-position: center 22%; display: block; }
.acre-mis-iniciales {
	display: flex; width: 100%; height: 100%; align-items: center; justify-content: center;
	font-family: var(--acre-titulos); font-weight: 700; font-size: 44px; color: var(--acre-verde); background: var(--acre-crema);
}
.acre-mis-texto { display: flex; flex-direction: column; gap: 6px; padding: 18px 20px 22px; flex: 1; }
.acre-mis-campo { font-family: var(--acre-subtitulos); font-weight: 600; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--acre-rojo); }
.acre-mis-nombre { font-family: var(--acre-titulos); font-weight: 700; font-size: 21px; line-height: 1.2; color: var(--acre-verde); }
.acre-mis-resumen { font-size: 15px; line-height: 1.6; }
.acre-mis-mas { margin-top: auto; padding-top: 6px; font-family: var(--acre-subtitulos); font-weight: 600; font-size: 13px; letter-spacing: .12em; text-transform: uppercase; color: var(--acre-rojo); }
/* variante lista (compacta) */
.acre-mis-lista { grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 12px; }
.acre-mis-lista .acre-mis-tarjeta { flex-direction: row; align-items: center; box-shadow: none; border: 1px solid rgba(42, 36, 32, .1); }
.acre-mis-lista .acre-mis-foto { width: 64px; min-width: 64px; aspect-ratio: 1; }
.acre-mis-lista .acre-mis-iniciales { font-size: 20px; }
.acre-mis-lista .acre-mis-texto { padding: 10px 14px; }
.acre-mis-lista .acre-mis-nombre { font-size: 16px; }
/* grupos por campo */
.acre-mis-grupo { margin: 0 0 56px; scroll-margin-top: 24px; }
.acre-mis-grupo-titulo { font-size: 30px; color: var(--acre-verde); margin: 0 0 20px; padding-bottom: 10px; border-bottom: 2px solid var(--acre-tostado); }
.acre-mis-grupo-titulo span { font-family: var(--acre-subtitulos); font-weight: 600; font-size: 14px; letter-spacing: .14em; text-transform: uppercase; color: var(--acre-rojo); margin-left: 10px; }

/* ---------- Misioneros: ficha individual ---------- */
.acre-mis-ficha { max-width: 1100px; margin: 0 auto; padding: 40px 0 70px; }
.acre-migas { font-family: var(--acre-subtitulos); font-size: 14px; letter-spacing: .08em; text-transform: uppercase; margin-bottom: 22px; }
.acre-migas a { color: var(--acre-rojo); text-decoration: none; }
.acre-mis-ficha-cabecera h1 { font-size: 52px; color: var(--acre-verde); margin: 6px 0 12px; }
.acre-mis-ficha-cabecera .acre-antetitulo { color: var(--acre-rojo); margin: 0; }
.acre-mis-ficha-cuerpo { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 48px; margin-top: 34px; align-items: start; }
.acre-mis-ficha-foto { margin: 0; position: sticky; top: 24px; }
.acre-mis-ficha-foto img { width: 100%; height: auto; border-radius: var(--acre-radio); display: block; }
.acre-mis-ficha-texto blockquote {
	margin: 0 0 26px; padding: 18px 24px; border-left: 4px solid var(--acre-rojo); background: var(--acre-crema-clara);
	font-family: var(--acre-subtitulos); font-size: 20px; line-height: 1.5; font-style: normal; color: var(--acre-verde);
}
.acre-mis-ficha-texto blockquote cite { display: block; margin-top: 8px; font-size: 14px; letter-spacing: .1em; text-transform: uppercase; color: var(--acre-rojo); font-style: normal; }
.acre-mis-ficha-texto img { border-radius: var(--acre-radio); }
.acre-mis-ficha-accion { margin-top: 56px; padding: 36px 40px; border-radius: var(--acre-radio); background: var(--acre-verde); color: var(--acre-crema); }
.acre-mis-ficha-accion h2 { color: #fff; font-size: 30px; margin: 0 0 10px; }
.acre-mis-ficha-accion a { color: var(--acre-tostado); }
.acre-mis-botones { display: flex; flex-wrap: wrap; gap: 12px; margin: 18px 0; }
.acre-boton {
	display: inline-block; padding: 14px 30px 12px; border-radius: 999px; background: var(--acre-rojo); color: #fff !important;
	font-family: var(--acre-subtitulos); font-weight: 600; font-size: 15px; letter-spacing: .08em; text-transform: uppercase; text-decoration: none;
}
.acre-boton:hover { background: var(--acre-rojo-osc); }
.acre-boton-claro { background: transparent; border: 2px solid var(--acre-crema); color: var(--acre-crema) !important; padding: 12px 28px 10px; }
.acre-boton-claro:hover { background: var(--acre-crema); color: var(--acre-verde) !important; }
@media (max-width: 921px) {
	.acre-mis-ficha { padding: 28px 0 50px; }
	.acre-mis-ficha-cuerpo { grid-template-columns: 1fr; gap: 26px; }
	.acre-mis-ficha-foto { position: static; }
	.acre-mis-ficha-cabecera h1 { font-size: 38px; }
	.acre-mis-ficha-accion { padding: 28px 22px; }
}
@media (max-width: 544px) {
	.acre-mis-rejilla:not(.acre-mis-lista) { grid-template-columns: 1fr; }
	.acre-mis-botones .acre-boton { width: 100%; text-align: center; }
}

/* ---------- Páginas interiores ---------- */
.acre-ancla, .acre-mis-grupo { scroll-margin-top: 20px; }
.acre-campo-titulo .elementor-heading-title { margin-top: 10px; padding-top: 14px; border-top: 1px solid rgba(42, 36, 32, .12); }
.acre-saltos { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; }
.acre-saltos a {
	display: inline-block; padding: 8px 16px 6px; border-radius: 999px; background: #fff; border: 1px solid rgba(42, 36, 32, .14);
	font-family: var(--acre-subtitulos); font-weight: 600; font-size: 14px; letter-spacing: .08em; text-transform: uppercase; color: var(--acre-verde); text-decoration: none;
}
.acre-saltos a:hover { background: var(--acre-verde); color: #fff; border-color: var(--acre-verde); }
.acre-cab-foto .acre-antetitulo .elementor-heading-title { color: var(--acre-crema) !important; }
.acre-tiempo-grande li { padding-bottom: 22px; font-size: 17px; line-height: 1.6; }
.acre-tiempo-grande strong { display: block; font-size: 20px; margin: 0 0 2px; }

/* ---------- Resources: revistas y libros ---------- */
.acre-revistas { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 30px 24px; }
.acre-revista-n img { width: 100%; height: auto; aspect-ratio: 1200 / 1703; object-fit: cover; border-radius: 6px; box-shadow: 0 12px 28px rgba(42, 36, 32, .16); display: block; transition: transform .25s ease; }
.acre-revista-n a:hover img { transform: translateY(-4px); }
.acre-revista-titulo { display: block; margin-top: 12px; font-family: var(--acre-titulos); font-weight: 700; font-size: 19px; color: var(--acre-verde); }
.acre-revista-titulo em { font-style: normal; font-family: var(--acre-subtitulos); font-weight: 600; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: #fff; background: var(--acre-rojo); border-radius: 999px; padding: 3px 9px 2px; margin-left: 6px; vertical-align: middle; }
.acre-revista-leer, .acre-revista-sin { display: inline-block; margin-top: 4px; font-family: var(--acre-subtitulos); font-weight: 600; font-size: 13px; letter-spacing: .1em; text-transform: uppercase; }
.acre-revista-leer { color: var(--acre-rojo); text-decoration: none; }
.acre-revista-sin { color: #6b5f55; }
.acre-libros { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 24px; }
.acre-libro { display: flex; gap: 20px; background: #fff; border-radius: var(--acre-radio); padding: 20px; box-shadow: 0 10px 30px rgba(42, 36, 32, .08); align-items: flex-start; }
.acre-libro img { width: 110px; min-width: 110px; height: auto; border-radius: 4px; box-shadow: 0 8px 18px rgba(42, 36, 32, .2); }
.acre-libro h3 { font-size: 21px; color: var(--acre-verde); margin: 0 0 4px; }
.acre-libro-sub { font-size: 15px; margin: 0 0 8px; color: #5a4f46; }
.acre-libro details { font-size: 15px; margin: 0 0 8px; }
.acre-libro summary { cursor: pointer; font-family: var(--acre-subtitulos); font-weight: 600; font-size: 13px; letter-spacing: .1em; text-transform: uppercase; color: var(--acre-rojo); }
.acre-libro details p { margin: 8px 0 0; }
.acre-libro-precio { font-family: var(--acre-titulos); font-weight: 700; font-size: 22px; color: var(--acre-rojo); margin: 0; }

/* ---------- Events ---------- */
.acre-reuniones { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 14px; }
.acre-reuniones li { background: var(--acre-crema-clara); border-left: 4px solid var(--acre-tostado); border-radius: 8px; padding: 14px 18px; margin: 0; }
.acre-reuniones strong { display: block; font-family: var(--acre-titulos); font-size: 19px; color: var(--acre-verde); }
.acre-reuniones span { font-size: 15px; }
.acre-cita-bloque { margin: 0; padding: 28px 30px; border-radius: var(--acre-radio); background: var(--acre-verde); color: var(--acre-crema); border: 0; }
.acre-cita-bloque p { font-family: var(--acre-subtitulos); font-size: 26px; line-height: 1.35; margin: 0 0 12px; color: #fff; font-style: normal; }
.acre-cita-bloque cite { font-family: var(--acre-subtitulos); font-weight: 600; font-size: 13px; letter-spacing: .14em; text-transform: uppercase; color: var(--acre-tostado); font-style: normal; }
.acre-texto-lista h3 { font-size: 20px; color: var(--acre-verde); margin: 18px 0 4px; }
.acre-texto-lista h3:first-child { margin-top: 0; }
.acre-galeria .gallery-item img { border-radius: 10px; aspect-ratio: 3 / 2; object-fit: cover; }

/* ---------- Contact, Donate, legal ---------- */
.acre-contacto h3 { font-size: 20px; color: var(--acre-verde); margin: 22px 0 6px; }
.acre-contacto h3:first-child { margin-top: 0; }
.acre-contacto p { margin: 0 0 10px; }
.acre-contacto-legal { font-size: 14px; color: #6b5f55; margin-top: 18px !important; }
.acre-paypal { margin: 6px 0 18px; }
.acre-paypal button { border: 0; cursor: pointer; }
.acre-legal h2 { font-size: 26px; color: var(--acre-verde); margin: 30px 0 8px; }
@media (max-width: 921px) { .acre-revistas { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 544px) {
	.acre-revistas { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 14px; }
	.acre-libro { padding: 16px; gap: 14px; }
	.acre-libro img { width: 84px; min-width: 84px; }
	.acre-libros { grid-template-columns: 1fr; }
	.acre-cita-bloque p { font-size: 21px; }
}
@media (max-width: 767px) {
	.acre-galeria .gallery { display: flex; flex-wrap: wrap; }
	.acre-galeria .gallery .gallery-item { width: 50% !important; max-width: 50% !important; padding: 4px !important; margin: 0 !important; }
}

/* ======================================================================
   Arreglos de la revisión del 22-09 (workflow de 5 agentes, hallazgos confirmados)
   ====================================================================== */
:root { --acre-tostado-claro: #DEB284; } /* tostado para texto pequeño sobre verde (4,95:1) */

/* Cabecera: el botón Donate nunca se parte */
.ast-header-button-1 .ast-custom-button { white-space: nowrap; }

/* Tarjetas de misioneros: la foto llena el marco (ganaba ".elementor img {height:auto}") y todas con sombra */
.acre-mis-tarjeta .acre-mis-foto img { height: 100% !important; }
.acre-mis-rejilla a.acre-mis-tarjeta { box-shadow: 0 10px 30px rgba(42, 36, 32, .10) !important; }
.acre-mis-rejilla a.acre-mis-tarjeta:hover, .acre-mis-rejilla a.acre-mis-tarjeta:focus { box-shadow: 0 18px 40px rgba(42, 36, 32, .16) !important; }
.acre-mis-rejilla div.acre-mis-tarjeta { box-shadow: none !important; border: 1px solid rgba(42, 36, 32, .10); }
.acre-mis-lista a.acre-mis-tarjeta { box-shadow: none !important; }

/* Fichas: sin foto, una sola columna; alineadas con el resto de páginas; foto sin picos de sombra */
.acre-mis-ficha { max-width: none; }
.acre-mis-sin-foto .acre-mis-ficha-cuerpo { grid-template-columns: 1fr; max-width: 780px; }
.acre-mis-ficha-foto { box-shadow: none !important; border-radius: var(--acre-radio); overflow: hidden; }
.acre-mis-memoria { background: var(--acre-crema); color: var(--acre-tinta); }
.acre-mis-memoria h2 { color: var(--acre-verde); }
.acre-mis-memoria a { color: var(--acre-rojo); }

/* Foco del teclado visible en todo el sitio (blanco sobre rojo y verde) */
a:focus-visible, button:focus-visible, summary:focus-visible, .elementor-button:focus-visible, [tabindex]:focus-visible {
	outline: 3px solid var(--acre-tostado) !important; outline-offset: 3px;
}
.acre-fondo-oscuro :focus-visible, .site-footer :focus-visible, .acre-mis-ficha-accion:not(.acre-mis-memoria) :focus-visible { outline-color: #fff !important; }

/* Texto pequeño sobre verde: tostado claro */
.acre-pie h2.acre-pie-titulo, .acre-pie h4 { color: var(--acre-tostado-claro); }
.acre-pie h2.acre-pie-titulo { font-family: var(--acre-subtitulos); font-weight: 600; text-transform: uppercase; letter-spacing: .14em; font-size: 14px; margin: 0 0 14px; line-height: 1.4; }

/* Botón "volver arriba": verde con borde crema (el rojo desaparecía sobre las franjas rojas) */
#ast-scroll-top { background-color: var(--acre-verde) !important; border: 2px solid var(--acre-crema); color: #fff; }

/* Mapa: zona táctil de 44 px sin agrandar el punto */
.acre-pin::before { content: ""; position: absolute; inset: -9px; }

/* Galerías de Events alineadas con el texto */
.acre-galeria .gallery { margin-left: -10px !important; margin-right: -10px !important; }

/* Cabeceras con foto: sombra suave en el texto (como la portada) */
.acre-cab-foto .elementor-heading-title, .acre-cab-foto .elementor-widget-text-editor { text-shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 2px 18px rgba(0, 0, 0, .4); }

/* Oliva del manual en detalles decorativos */
.acre-campo-titulo .elementor-heading-title { border-top-color: var(--acre-oliva); }
.acre-mis-grupo-titulo { border-bottom-color: var(--acre-oliva); }

/* Columna de foto fija al bajar (Where we work) y fotos sólo de escritorio */
@media (min-width: 1025px) {
	.acre-pegajosa { position: sticky; top: 24px; align-self: flex-start; }
}
@media (max-width: 1024px) { .acre-solo-escritorio { display: none !important; } }

/* Contacto: encabezados h2 con el tamaño que tenían */
.acre-contacto h2 { font-size: 20px; color: var(--acre-verde); margin: 22px 0 6px; }
.acre-contacto h2:first-child { margin-top: 0; }

/* Texto sólo para lectores de pantalla */
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

@media (max-width: 767px) {
	/* tamaños mínimos de letra en móvil */
	.acre-mis-campo, .acre-mis-mas, .acre-revista-leer, .acre-revista-sin, .acre-libro summary { font-size: 14px; }
	.acre-pin-texto { font-size: 14px; }
	.acre-revista-titulo em { font-size: 13px; }
	.acre-galeria .gallery { margin-left: -4px !important; margin-right: -4px !important; }
	/* pie más corto: Explore y Get involved en dos columnas, logo más pequeño */
	.acre-pie { grid-template-columns: 1fr 1fr; gap: 24px 20px; }
	.acre-pie > div:first-child, .acre-pie > div:last-child { grid-column: 1 / -1; }
	.acre-pie .acre-pie-logo { max-width: 130px; }
}

/* ---------- Selector de idioma (cabecera: EN · PT · ES) ---------- */
/* Escritorio: franja fina encima de la cabecera, con el selector a la derecha */
#ast-desktop-header .ast-above-header-bar { background: var(--acre-crema-clara); border-bottom: 1px solid rgba(42, 36, 32, .06); }
#ast-desktop-header .ast-above-header-bar .site-above-header-wrap { min-height: 38px; }
#ast-desktop-header .acre-idiomas a { padding: 5px 6px 3px; font-size: 13px; }
/* Menú de escritorio algo más compacto: con los textos en portugués y español no cabía en una línea */
@media (min-width: 1200px) {
	#ast-desktop-header .ast-builder-menu-1 .main-header-menu .menu-item > .menu-link { font-size: 14px; letter-spacing: .05em; padding-left: 12px; padding-right: 12px; }
}
.acre-idiomas ul { display: flex; align-items: center; gap: 2px; margin: 0; padding: 0; list-style: none; }
.acre-idiomas li { margin: 0; }
.acre-idiomas a {
	display: inline-block;
	min-width: 34px;
	padding: 8px 6px 6px;
	font-family: var(--acre-subtitulos);
	font-weight: 600;
	font-size: 14px;
	letter-spacing: .08em;
	line-height: 1.2;
	text-align: center;
	color: var(--acre-tinta);
	text-decoration: none;
	border-radius: 6px;
}
.acre-idiomas a:hover, .acre-idiomas a:focus-visible { color: var(--acre-rojo); background: var(--acre-crema-clara); }
.acre-idiomas .acre-idioma-actual { color: var(--acre-rojo); text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 5px; }
.ast-header-html-1 .ast-builder-html-element p { margin: 0; }
/* En el móvil, junto al botón del menú: más compacto */
@media (max-width: 1199px) {
	.ast-header-html-1 { margin-right: 4px; }
	.acre-idiomas a { min-width: 30px; padding: 8px 4px 6px; font-size: 13px; }
}

/* ---------- Agenda de eventos [acre_agenda] ---------- */
.acre-agenda { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 26px; }
.acre-evento { display: flex; flex-direction: column; background: #fff; border-radius: var(--acre-radio); overflow: hidden; box-shadow: 0 18px 44px rgba(42, 36, 32, .12); }
.acre-evento-cartel { display: block; background: var(--acre-crema); }
.acre-evento-cartel img { display: block; width: 100%; height: auto; max-height: 460px; object-fit: contain; }
.acre-evento-texto { padding: 22px 24px 26px; }
.acre-evento-texto h3 { margin: 4px 0 8px; font-size: 24px; color: var(--acre-verde); }
.acre-evento-texto p { margin: 0 0 8px; font-size: 16px; }
.acre-evento-fecha { font-family: var(--acre-subtitulos); font-weight: 600; font-size: 14px !important; letter-spacing: .06em; text-transform: uppercase; color: var(--acre-rojo); }
.acre-evento-lugar { font-weight: 500; }
.acre-evento-mas { font-family: var(--acre-subtitulos); font-weight: 600; text-transform: uppercase; letter-spacing: .06em; font-size: 14px; color: var(--acre-rojo); }
.acre-agenda-vacia { margin: 0; padding: 18px 22px; border-left: 4px solid var(--acre-tostado); background: var(--acre-crema-clara); font-size: 17px; }
.acre-libro-nuevo { display: inline-block; margin-bottom: 6px; padding: 3px 10px 2px; border-radius: 999px; background: var(--acre-rojo); color: #fff; font-family: var(--acre-subtitulos); font-weight: 600; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; }

/* ---------- Archivo histórico (Our story): fotos con pie ---------- */
.acre-archivo { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; }
.acre-archivo figure { margin: 0; }
.acre-archivo a { display: block; border-radius: var(--acre-radio); overflow: hidden; background: var(--acre-crema-clara); }
.acre-archivo img { display: block; width: 100%; aspect-ratio: 4 / 3; height: auto; object-fit: cover; object-position: center 30%; filter: sepia(.12); transition: transform .3s ease; }
.acre-archivo a:hover img, .acre-archivo a:focus-visible img { transform: scale(1.03); }
.acre-archivo figcaption { margin-top: 8px; font-size: 14px; line-height: 1.4; color: var(--acre-tinta); }
@media (max-width: 1024px) { .acre-archivo { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 767px) { .acre-archivo { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; } .acre-archivo figcaption { font-size: 13px; } }
