/* AEAOF — capa de presentación y efectos. Concepto "Estratigrafía". */

/* ============ Ajustes de lienzo ============ */
/* anclas (#junta, #estatutos...): scroll suave y hueco para la cabecera fija */
html { scroll-behavior: smooth; }
[id] { scroll-margin-top: 120px; }

/* Sin hueco entre bloques raíz (cabecera pegada al hero) */
.wp-site-blocks { --wp--style--block-gap: 0; }
.wp-site-blocks > * { margin-block-start: 0; }

/* El footer siempre alcanza el borde inferior de la ventana, aunque la
   página tenga poco contenido (columna flexible a altura mínima completa) */
.wp-site-blocks {
	min-height: 100vh;
	min-height: 100svh;
	display: flex;
	flex-direction: column;
}
.wp-site-blocks > footer.wp-block-template-part { margin-top: auto; }
body.admin-bar .wp-site-blocks { min-height: calc(100vh - 32px); }
@media (min-width: 601px) and (max-width: 782px) {
	body.admin-bar .wp-site-blocks { min-height: calc(100vh - 46px); }
}

/* ============ Barra de administración sobre la web pública ============ */
/* Solo usuarios con sesión: tono del hero + el mismo filete dorado del
   footer (como sombra, no borde: la altura de 32px debe quedar intacta
   porque WordPress desplaza la página exactamente esa medida) */
#wpadminbar { background: #14171c; }
#wpadminbar .menupop .ab-sub-wrapper { background: #20242b; }
#wpadminbar:not(.mobile) .ab-top-menu > li:hover > .ab-item,
#wpadminbar .ab-top-menu > li.hover > .ab-item {
	background: #20242b;
	color: #c9a227;
}

/* ============ Cabecera fija que encoge con el scroll ============ */
/* El sticky va en el wrapper del template part: un sticky dentro de un
   padre de su misma altura no tiene recorrido donde pegarse. */
.wp-site-blocks > header.wp-block-template-part {
	position: sticky;
	/* la franja superior (40px) se esconde al hacer scroll */
	top: -40px;
	z-index: 100;
}

/* Con sesión iniciada, la barra de WordPress es fija (32px / 46px en tablet):
   el header pegajoso se detiene justo debajo para no quedar tapado */
body.admin-bar .wp-site-blocks > header.wp-block-template-part { top: -8px; }
@media (min-width: 601px) and (max-width: 782px) {
	body.admin-bar .wp-site-blocks > header.wp-block-template-part { top: 6px; }
}
@media (max-width: 600px) {
	/* en móvil la barra de admin no es fija: vuelve el offset normal */
	body.admin-bar .wp-site-blocks > header.wp-block-template-part { top: -40px; }
}


/* Franja superior: nombre + redes sociales, visible solo arriba del todo */
.aeaof-topbar {
	/* mismo tono que hero, cabeceras de sección y footer */
	background: #232529;
	height: 40px;
}
.aeaof-topbar__inner {
	max-width: 1240px;
	margin: 0 auto;
	height: 100%;
	padding: 0 clamp(1rem, 4vw, 2.5rem);
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.aeaof-topbar__name {
	color: #9aa0a8;
	font-size: 0.78rem;
	letter-spacing: 0.05em;
}
/* iniciales A·E·A·O·F destacadas: negrita y un punto más de luz */
.aeaof-topbar__name strong {
	font-weight: 700;
	color: #c6cbd2;
}
.aeaof-topbar__social {
	display: flex;
	align-items: center;
	gap: 16px;
}
.aeaof-topbar__social a {
	color: #9aa0a8;
	display: flex;
	transition: color 0.2s ease, transform 0.2s ease;
}
.aeaof-topbar__social a:hover {
	color: #c9a227;
	transform: translateY(-1px);
}
@media (max-width: 680px) {
	/* El nombre completo debe verse también en móvil (AEAOF no se explica solo):
	   letra menor a una línea y solo el icono de contacto (fuera redes) */
	.aeaof-topbar__name {
		font-size: 0.6rem;
		letter-spacing: 0.02em;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
		flex: 0 1 auto;
		min-width: 0;
	}
	.aeaof-topbar__inner { gap: 12px; }
	.aeaof-topbar__social a:not(:first-child) { display: none; }
}

.aeaof-header {
	background: rgba(250, 248, 243, 0.96);
	border-bottom: 1px solid #e6e1d5;
	backdrop-filter: blur(8px);
	padding: 18px clamp(1rem, 4vw, 2.5rem);
	transition: padding 0.25s ease;
}
.aeaof-header__inner { max-width: 1240px; margin: 0 auto; width: 100%; }
.aeaof-header__brand { gap: 12px !important; align-items: center; }
.aeaof-header .wp-block-site-logo img {
	width: 64px;
	height: auto;
	transition: width 0.25s ease;
	/* agranda el sello sin ocupar más sitio: el escalado visual no altera
	   la altura del header y aprovecha el aire que queda alrededor */
	transform: scale(1.18);
}
.aeaof-header__title a {
	font-family: var(--wp--preset--font-family--serif);
	font-size: 1.55rem;
	color: #20242b;
	text-decoration: none;
	letter-spacing: 0.03em;
	transition: font-size 0.25s ease;
}
.aeaof-nav a {
	font-size: 1.03rem;
	color: #3f3d35;
	text-decoration: none;
	position: relative;
	display: inline-block;
	padding-bottom: 4px;
	transition: color 0.2s ease, transform 0.2s ease, text-shadow 0.2s ease;
}
.aeaof-nav a::after {
	content: '';
	position: absolute;
	left: 0;
	right: 100%;
	bottom: 0;
	height: 2px;
	background: #7e6807;
	transition: right 0.25s ease;
}
.aeaof-nav a:hover {
	color: #7e6807;
	/* el texto se eleva y gana cuerpo (sombra sutil, sin saltos de layout) */
	transform: translateY(-2px);
	text-shadow: 0 0 0.6px currentColor;
}
.aeaof-nav a:hover::after { right: 0; }
/* Desplegable (submenú) */
.aeaof-nav .wp-block-navigation__submenu-container {
	background: #faf8f3 !important;
	border: 1px solid #e6e1d5 !important;
	border-radius: 10px;
	padding: 6px !important;
	min-width: 250px !important;
	box-shadow: 0 12px 28px rgba(27, 26, 22, 0.12);
	margin-top: 10px;
}
/* puente invisible sobre el hueco de 10px: el hover no se pierde al bajar */
.aeaof-nav .wp-block-navigation__submenu-container::before {
	content: '';
	position: absolute;
	top: -12px;
	left: 0;
	right: 0;
	height: 12px;
}
/* panel fijado con click en "La Asociación" (header.js) — WP colapsa
   con height/width 0 + overflow hidden además de visibility/opacity */
.aeaof-nav .has-child.is-pinned .wp-block-navigation__submenu-container {
	visibility: visible !important;
	opacity: 1 !important;
	height: auto !important;
	width: auto !important;
	overflow: visible !important;
}
/* subopción activa dentro del desplegable */
.aeaof-nav .wp-block-navigation__submenu-container .aeaof-active > a {
	color: #7e6807;
	font-weight: 500;
	background: #f1ede2;
}
.aeaof-nav .wp-block-navigation__submenu-container a {
	padding: 9px 14px !important;
	border-radius: 7px;
	font-size: 0.95rem !important;
	animation: none !important;
}
.aeaof-nav .wp-block-navigation__submenu-container a::after { display: none; }
.aeaof-nav .wp-block-navigation__submenu-container a:hover {
	background: #f1ede2;
	transform: none;
	text-shadow: none;
}
/* Desplegable Biblioteca: los filtros se distinguen de «Toda la Biblioteca»
   con una división y un guion dorado delante */
.aeaof-nav .wp-block-navigation__submenu-container li:not(.aeaof-nav-filtro) + li.aeaof-nav-filtro {
	border-top: 1px solid #e6e1d5;
	margin-top: 5px;
	padding-top: 5px;
}
.aeaof-nav .wp-block-navigation__submenu-container .aeaof-nav-filtro .wp-block-navigation-item__label::before {
	content: '–';
	color: #c9a227;
	margin-right: 0.5em;
}

.aeaof-nav .wp-block-navigation__submenu-icon { color: #8a8578; }

/* elemento activo: sección actual (clase del filtro PHP) o coincidencia exacta */
.aeaof-nav .aeaof-active > a,
.aeaof-nav a[aria-current] { color: #7e6807; font-weight: 500; }
.aeaof-nav .aeaof-active > a::after,
.aeaof-nav a[aria-current]::after { right: 0; }
.aeaof-nav .wp-block-navigation__container { gap: 1.4rem; }
.aeaof-header__menu { gap: 1.6rem !important; align-items: center; }
.aeaof-btn-socios .wp-block-button__link {
	background: #7e6807;
	color: #faf8f3;
	font-size: 0.97rem;
	padding: 0.55em 1.3em;
	white-space: nowrap;
	transition: background 0.2s ease, transform 0.2s ease;
}
.aeaof-btn-socios .wp-block-button__link:hover { background: #5f4e05; transform: translateY(-1px); }

/* Menú desplegable de la Zona de Socios (sesión iniciada) */
.aeaof-socios-menu { position: relative; }
.aeaof-socios-menu__boton {
	display: inline-flex;
	align-items: center;
	gap: 0.45em;
	border: 0;
	cursor: pointer;
}
.aeaof-socios-menu__boton svg { flex: 0 0 auto; transition: transform 0.15s ease; }
.aeaof-socios-menu__boton[aria-expanded="true"] svg { transform: rotate(180deg); }
/* Abre también al pasar el ratón, como los desplegables del menú */
.aeaof-socios-menu:hover .aeaof-socios-menu__lista,
.aeaof-socios-menu:focus-within .aeaof-socios-menu__lista { display: block; }
.aeaof-socios-menu__lista::before {
	/* puente invisible: cubre el hueco de 8px hasta el botón para
	   que el hover no se corte al cruzarlo */
	content: "";
	position: absolute;
	top: -10px;
	left: 0;
	right: 0;
	height: 10px;
}
.aeaof-socios-menu__lista {
	position: absolute;
	top: calc(100% + 8px);
	right: 0;
	margin: 0;
	padding: 6px;
	list-style: none;
	min-width: 200px;
	background: #ffffff;
	border: 1px solid #d9d3c4;
	border-radius: 10px;
	box-shadow: 0 12px 30px rgba(35, 37, 41, 0.14);
	z-index: 12000;
}
.aeaof-socios-menu__lista a {
	display: block;
	padding: 8px 12px;
	border-radius: 6px;
	color: #232529;
	font-size: 0.92rem;
	text-decoration: none;
	white-space: nowrap;
}
.aeaof-socios-menu__lista a:hover { background: #f5f1e6; color: #7e6807; }
.aeaof-socios-menu__lista li:last-child {
	border-top: 1px solid #eee7d8;
	margin-top: 4px;
	padding-top: 4px;
}

/* Encogimiento nativo conducido por scroll */
@supports (animation-timeline: scroll()) {
	@keyframes aeaof-hdr { to { padding-top: 6px; padding-bottom: 6px; } }
	@keyframes aeaof-logo { to { width: 32px; } }
	@keyframes aeaof-title { to { font-size: 1.05rem; } }
	@keyframes aeaof-navlink { to { font-size: 0.92rem; } }
	@keyframes aeaof-socios { to { font-size: 0.88rem; } }
	.aeaof-header {
		animation: aeaof-hdr linear both;
		animation-timeline: scroll();
		animation-range: 0 240px;
	}
	.aeaof-header .wp-block-site-logo img {
		animation: aeaof-logo linear both;
		animation-timeline: scroll();
		animation-range: 0 240px;
	}
	.aeaof-header__title a {
		animation: aeaof-title linear both;
		animation-timeline: scroll();
		animation-range: 0 240px;
	}
	.aeaof-nav a {
		animation: aeaof-navlink linear both;
		animation-timeline: scroll();
		animation-range: 0 240px;
	}
	.aeaof-btn-socios .wp-block-button__link {
		animation: aeaof-socios linear both;
		animation-timeline: scroll();
		animation-range: 0 240px;
	}
}
/* Fallback JS (header.js añade .is-scrolled) */
.aeaof-header.is-scrolled { padding-top: 6px; padding-bottom: 6px; }
.aeaof-header.is-scrolled .wp-block-site-logo img { width: 32px; }
.aeaof-header.is-scrolled .aeaof-header__title a { font-size: 1.05rem; }
.aeaof-header.is-scrolled .aeaof-nav a { font-size: 0.92rem; }
.aeaof-header.is-scrolled .aeaof-btn-socios .wp-block-button__link { font-size: 0.88rem; }

/* ============ Hero ============ */
.aeaof-hero {
	position: relative;
	background: #232529;
	overflow: hidden;
	display: grid;
	align-items: center;
}
/* Textura de fondo: la foto de excavación de la web antigua, muy difuminada
   y translúcida (prueba: quitar este bloque para revertir) */
.aeaof-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background: url(../img/hero-bg.jpg?v=2) center / cover no-repeat;
	opacity: 0.78;
	filter: saturate(1.05) contrast(1.18) brightness(0.74);
	transform: scale(1.08);
	pointer-events: none;
}
#aeaof-hero-canvas { position: absolute; inset: 0; width: 100%; height: 100%; }
.aeaof-hero__content {
	position: relative;
	z-index: 2;
	width: 100%;
	box-sizing: border-box;
	max-width: 1240px;
	margin: 0 auto;
	padding: 8.5rem clamp(1rem, 4vw, 2.5rem) 8rem;
}
.aeaof-hero__text { max-width: 620px; }
.aeaof-hero__kicker {
	color: #c9a227;
	font-size: 0.78rem;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	margin: 0 0 1.2rem;
}
.aeaof-hero__title {
	font-family: var(--wp--preset--font-family--serif);
	font-weight: 500;
	font-size: clamp(1.9rem, 3.4vw, 2.9rem);
	line-height: 1.12;
	color: #f4f1e8;
	margin: 0 0 1.2rem;
}
.aeaof-hero__sub { color: #9a958a; font-size: 1.05rem; line-height: 1.65; margin: 0 0 2rem; }
.aeaof-hero__cta { display: flex; gap: 0.8rem; flex-wrap: wrap; }
.aeaof-cta {
	display: inline-block;
	padding: 0.75em 1.5em;
	border-radius: 5px;
	font-size: 0.95rem;
	font-weight: 500;
	text-decoration: none;
	transition: transform 0.2s ease, background 0.2s ease, color 0.2s ease;
}
.aeaof-cta:hover { transform: translateY(-2px); }
.aeaof-cta--dorado { background: #c9a227; color: #20242b; }
.aeaof-cta--dorado:hover { background: #e0b62e; color: #20242b; }
.aeaof-cta--ghost { background: #9a8a6680; border: 1px solid #bdb59c; color: #f4f1e8; }
.aeaof-cta--ghost:hover { background: #9a8a66b3; border-color: #d6cfb8; color: #ffffff; }

/* ============ Banda de estadísticas ============ */
.aeaof-stats {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 1rem;
	/* padding, no margin: WP anula el margin del primer hijo del main */
	padding-top: 3rem;
	position: relative;
	z-index: 3;
}
/* ============ Bienvenida ============ */
.aeaof-welcome {
	display: grid;
	grid-template-columns: 1.15fr 0.85fr;
	gap: 3.5rem;
	align-items: center;
	padding: 2rem 0;
}
.aeaof-welcome h2 { font-size: 2rem; margin: 0.6rem 0 1.2rem; }
.aeaof-welcome__text p:not(.aeaof-kicker) {
	color: #3f3d35;
	font-size: 0.98rem;
	line-height: 1.75;
	margin: 0 0 1rem;
}
.aeaof-welcome__text .aeaof-more { margin-left: 0; font-weight: 500; }
.aeaof-welcome__media { margin: 0; }
/* el marco dorado desplazado abraza SOLO la imagen, no el pie de foto */
.aeaof-welcome__frame {
	position: relative;
	display: block;
	margin: 0 14px 0 0;
}
.aeaof-welcome__frame img {
	display: block;
	width: 100%;
	border-radius: 10px;
	filter: sepia(0.35) saturate(0.8) contrast(1.05);
}
.aeaof-welcome__frame::after {
	content: '';
	position: absolute;
	inset: 14px -14px -14px 14px;
	border: 2px solid #c9a227;
	border-radius: 10px;
	z-index: -1;
}
.aeaof-welcome__media figcaption {
	font-size: 0.8rem;
	color: #8a8578;
	/* despejado del marco (sobresale 14px bajo la imagen) */
	margin-top: 1.9rem;
	text-align: center;
	letter-spacing: 0.06em;
}
@media (max-width: 880px) {
	.aeaof-welcome { grid-template-columns: 1fr; gap: 2rem; }
}
.aeaof-stat {
	display: block;
	background: #ffffff;
	border: 1px solid #e6e1d5;
	border-radius: 10px;
	padding: 1.2rem 1rem 1rem;
	text-align: center;
	text-decoration: none;
	transition: transform 0.25s ease, border-color 0.25s ease;
}
.aeaof-stat:hover {
	transform: translateY(-4px);
	border-color: #c9a227;
}
.aeaof-stat:hover .aeaof-stat__n { color: #c9a227; }
.aeaof-stat__n {
	font-family: var(--wp--preset--font-family--serif);
	font-size: 2.3rem;
	font-weight: 500;
	color: #7e6807;
	margin: 0;
	line-height: 1.1;
}
.aeaof-stat__l {
	font-size: 0.85rem;
	color: #5f5c52;
	margin: 0.2rem 0 0;
}

/* ============ Secciones de portada ============ */
.aeaof-section { padding: 3.5rem 0 1rem; }
/* la última sección respira antes del pie: mismo hueco (122px) que la
   separación visual entre secciones (padding inferior + gap + padding superior) */
.aeaof-section:last-of-type { padding-bottom: 7.625rem; }
.aeaof-section__head {
	display: flex;
	align-items: baseline;
	gap: 1.2rem;
	border-bottom: 2px solid #20242b;
	padding-bottom: 0.7rem;
	margin-bottom: 1.8rem;
}
.aeaof-section__head h2 { font-size: 1.9rem; margin: 0; }
.aeaof-kicker {
	color: #7e6807;
	font-size: 0.72rem;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	margin: 0;
	flex: 0 0 auto;
}
/* Sobre fondo oscuro (cabeceras de sección): oro claro, como los títulos del pie */
.aeaof-kicker--luz { color: #c9a227; }
.aeaof-more { margin-left: auto; font-size: 0.9rem; white-space: nowrap; }

/* Rejillas y tarjetas */
.aeaof-grid { display: grid !important; gap: 1.2rem; list-style: none; padding: 0; margin: 0; }
.aeaof-grid--3 { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
.aeaof-grid--4 { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 1100px) { .aeaof-grid--4 { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 880px) { .aeaof-grid--4 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .aeaof-grid--4 { grid-template-columns: 1fr; } }
/* Archivos en rejilla (/noticias/, /formacion/): filas de 3 exactas y más aire
   (la base auto-fit metía 4 columnas a ancho completo y quedaban apretadas) */
.aeaof-archivegrid.aeaof-grid--3 { grid-template-columns: repeat(3, 1fr); gap: 2.4rem 1.8rem; }
@media (max-width: 980px) { .aeaof-archivegrid.aeaof-grid--3 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 620px) { .aeaof-archivegrid.aeaof-grid--3 { grid-template-columns: 1fr; } }
.aeaof-grid > li { margin: 0; }
.aeaof-card {
	background: #ffffff;
	border: 1px solid #e6e1d5;
	border-radius: 10px;
	overflow: hidden;
	height: 100%;
	transition: transform 0.5s cubic-bezier(0.45, 0.05, 0.15, 1),
		border-color 0.5s cubic-bezier(0.45, 0.05, 0.15, 1),
		box-shadow 0.5s cubic-bezier(0.45, 0.05, 0.15, 1);
}
/* Hover: elevación suave con sombra en capas y halo dorado, la imagen se
   acerca lentamente y un barrido de luz la recorre (eco del brillo del sello) */
.aeaof-card:hover {
	transform: translateY(-6px);
	border-color: #c9a227;
	box-shadow:
		0 20px 44px -20px rgba(27, 26, 22, 0.35),
		0 10px 24px -14px rgba(126, 104, 7, 0.30),
		0 0 0 1px rgba(201, 162, 39, 0.30);
}
.aeaof-card .aeaof-card__img { margin: 0; position: relative; overflow: hidden; }
.aeaof-card .aeaof-card__img img {
	display: block;
	width: 100%;
	object-fit: cover;
	transition: transform 0.75s cubic-bezier(0.45, 0.05, 0.15, 1), filter 0.75s ease;
}
.aeaof-card:hover .aeaof-card__img img {
	transform: scale(1.025);
	filter: saturate(1.08) brightness(1.04);
}

.aeaof-card__title { font-size: 1.08rem; line-height: 1.35; padding: 0.9rem 1.1rem 0; margin: 0; }
.aeaof-card__title a { color: #20242b; text-decoration: none; }
.aeaof-card__title a:hover { color: #7e6807; }
/* Tarjetas de revista (archivo y portada): título centrado en su hueco,
   horizontal y verticalmente, con más aire para leerse bien */
.aeaof-card--revista { display: flex; flex-direction: column; }
.aeaof-card--revista .aeaof-card__img { flex: none; }
.aeaof-card--revista .aeaof-card__title {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 1.1rem 1rem 1.2rem;
	min-height: 4.4rem;
	font-size: 1.12rem;
}
.aeaof-card .wp-block-post-excerpt { padding: 0.5rem 1.1rem 1.1rem; font-size: 0.92rem; color: #5f5c52; }
.aeaof-card .wp-block-post-excerpt__more-link { color: #7e6807; font-weight: 500; }

/* Destacado de jornada */
.aeaof-feature {
	background: #14171c;
	border-radius: 12px;
	overflow: hidden;
	gap: 0 !important;
}
.aeaof-feature__img { margin: 0; flex: 0 0 38%; }
.aeaof-feature__img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.aeaof-feature__body { padding: 2.2rem 2.4rem; }
.aeaof-feature__body h3 { margin: 0 0 0.8rem; }
.aeaof-feature__body h3 a { color: #f4f1e8; text-decoration: none; }
.aeaof-feature__body h3 a:hover { color: #c9a227; }
.aeaof-feature__body .wp-block-post-excerpt { color: #9a958a; font-size: 0.95rem; }
.aeaof-feature__body .wp-block-post-excerpt__more-link { color: #c9a227; }

/* Revelado al entrar en viewport (scroll-driven nativo) */
@supports (animation-timeline: view()) {
	@keyframes aeaof-rise { from { opacity: 0; transform: translateY(26px); } }
	/* el revelado anima al <li> contenedor, no a la tarjeta: si animara la
	   tarjeta, la animación retendría su transform y rompería la transición
	   suave del hover (elevación instantánea) */
	li.wp-block-post, .aeaof-section__head {
		animation: aeaof-rise linear both;
		animation-timeline: view();
		animation-range: entry 0% entry 55%;
	}
}

/* ============ Botones semánticos del contenido importado ============ */
.aeaof-btn-doc .wp-block-button__link { background: #f1ede2; color: #5f4e05; border: 1px solid #d6cfae; }
.aeaof-btn-doc .wp-block-button__link:hover { background: #e9e3cf; }
.aeaof-btn-inscripcion .wp-block-button__link { background: #7e6807; color: #faf8f3; }
.aeaof-btn-info .wp-block-button__link { background: #14171c; color: #faf8f3; }
.aeaof-btn-principal .wp-block-button__link { background: #7e6807; color: #faf8f3; }

/* ============ Formulario de contacto (CF7) ============ */
.wpcf7 { margin-top: 0.5rem; }
.aeaof-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 textarea {
	width: 100%;
	box-sizing: border-box;
	padding: 0.75em 1em;
	border: 1px solid #d9d3c4;
	border-radius: 8px;
	background: #ffffff;
	font: inherit;
	color: #26241f;
	margin-bottom: 1rem;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.wpcf7 input:focus, .wpcf7 textarea:focus {
	outline: none;
	border-color: #7e6807;
	box-shadow: 0 0 0 3px rgba(126, 104, 7, 0.15);
}
.wpcf7 textarea { min-height: 170px; resize: vertical; }
.wpcf7 input[type="submit"] {
	background: #7e6807;
	color: #faf8f3;
	border: 0;
	border-radius: 5px;
	padding: 0.8em 1.9em;
	font: inherit;
	font-weight: 500;
	cursor: pointer;
	transition: background 0.2s ease, transform 0.2s ease;
}
.wpcf7 input[type="submit"]:hover { background: #5f4e05; transform: translateY(-1px); }
.wpcf7-not-valid-tip { color: #a03d2e; font-size: 0.85rem; margin-top: -0.7rem; }
.wpcf7 form .wpcf7-response-output {
	margin: 1.2rem 0 0;
	padding: 0.8em 1.2em;
	border-radius: 8px;
	border-width: 1px;
}
.wpcf7 form.sent .wpcf7-response-output {
	border-color: #7e6807;
	background: #f1ede2;
	color: #5f4e05;
}
@media (max-width: 680px) {
	.aeaof-form-row { grid-template-columns: 1fr; gap: 0; }
}

/* ============ Pie ============ */
.aeaof-footer {
	background: #232529;
	color: #9aa0a8;
	border-top: 10px solid #7e6807;
	position: relative;
	overflow: hidden;
}
/* Textura sutil: cuadrícula dorada que nace en la esquina izquierda y se
   desvanece hacia el centro (invisible a partir de la mitad del footer) */
.aeaof-footer::before {
	content: "";
	position: absolute;
	inset: 0;
	background: url(../img/footer-topo.svg) left center / auto 130% no-repeat;
	-webkit-mask-image: linear-gradient(105deg, #000 0%, transparent 50%);
	mask-image: linear-gradient(105deg, #000 0%, transparent 50%);
	pointer-events: none;
}
.aeaof-footer__inner { position: relative; z-index: 1; }
.aeaof-footer__inner {
	max-width: 1240px;
	margin: 0 auto;
	padding: 3.5rem clamp(1rem, 4vw, 2.5rem) 0;
}
.aeaof-footer__grid {
	display: grid;
	grid-template-columns: 1.6fr 1fr 1fr 1fr;
	gap: 2.5rem;
	padding-bottom: 2.5rem;
}
.aeaof-footer__brand-row { display: flex; align-items: center; gap: 12px; }
.aeaof-footer__logo { width: 54px; height: auto; transform: scale(1.18); }
.aeaof-footer__brand {
	font-family: var(--wp--preset--font-family--serif);
	color: #f4f1e8;
	font-size: 1.5rem;
	letter-spacing: 0.03em;
}
.aeaof-footer__desc {
	font-size: 0.88rem;
	line-height: 1.65;
	margin: 1.1rem 0 1.3rem;
	max-width: 340px;
}
.aeaof-footer__social { display: flex; gap: 16px; }
.aeaof-footer__social a {
	color: #9aa0a8;
	display: flex;
	transition: color 0.2s ease, transform 0.2s ease;
}
.aeaof-footer__social a:hover { color: #c9a227; transform: translateY(-1px); }
.aeaof-footer__head {
	color: #c9a227;
	font-size: 0.75rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	margin: 0.4rem 0 1rem;
}
.aeaof-footer__links { list-style: none; margin: 0; padding: 0; }
.aeaof-footer__links li { margin: 0 0 0.55rem; }
.aeaof-footer__links a {
	color: #b9bec6;
	font-size: 0.9rem;
	text-decoration: none;
	transition: color 0.2s ease, padding-left 0.2s ease;
}
.aeaof-footer__links a:hover { color: #e0b62e; padding-left: 4px; }
.aeaof-footer__legal a { color: #7d838c; text-decoration: none; transition: color 0.2s ease; }
.aeaof-footer__legal a:hover { color: #e0b62e; }
.aeaof-footer__bottom {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 0.5rem;
	border-top: 1px solid rgba(154, 160, 168, 0.18);
	padding: 1.2rem 0 1.4rem;
	font-size: 0.8rem;
	color: #7d838c;
}
@media (max-width: 880px) {
	.aeaof-footer__grid { grid-template-columns: 1fr 1fr; }
	.aeaof-footer__brand-col { grid-column: 1 / -1; }
	.aeaof-footer__legal a { color: #7d838c; text-decoration: none; transition: color 0.2s ease; }
.aeaof-footer__legal a:hover { color: #e0b62e; }
.aeaof-footer__bottom { justify-content: center; text-align: center; }
}

/* En móvil (columnas apiladas) el cartel va ANTES del texto: si quedara
   debajo, aparecería tras los botones de anterior/siguiente y parece
   pertenecer a la otra publicación */
@media (max-width: 781px) {
	.aeaof-single-cols > .wp-block-column:has(.aeaof-cartel) { order: -1; }
}

/* ============ Interiores: cabecera de página ============ */
.aeaof-pagehead {
	background: #232529;
	padding: 3.6rem clamp(1rem, 4vw, 2.5rem);
	position: relative;
	overflow: hidden;
	isolation: isolate;
}
/* Curvas de nivel en la esquina izquierda, como en el footer (bajo el texto) */
.aeaof-pagehead::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: url(../img/footer-topo.svg) left center / auto 130% no-repeat;
	-webkit-mask-image: linear-gradient(105deg, #000 0%, transparent 50%);
	mask-image: linear-gradient(105deg, #000 0%, transparent 50%);
	pointer-events: none;
}
/* Motivo decorativo de la sección: ilustración de línea al tono, casi
   fundida con el fondo, desvanecida hacia la izquierda (prueba: Revista) */
.aeaof-pagehead::after {
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: max(calc((100% - 1240px) / 2), 1.5rem);
	width: min(340px, 28vw);
	height: 130%;
	background: center right / contain no-repeat;
	opacity: 0.42;
	pointer-events: none;
	-webkit-mask-image: linear-gradient(to left, #000 55%, transparent 100%);
	mask-image: linear-gradient(to left, #000 55%, transparent 100%);
}
@media (max-width: 880px) {
	.aeaof-pagehead::after { display: none; }
}
/* Los títulos largos rompen de línea antes de alcanzar el motivo decorativo.
   Va como padding interior (no max-width: pisaría el límite de 1240px de la
   columna y en pantallas anchas lo agrandaría) */
@media (min-width: 881px) {
	.aeaof-pagehead__title,
	.aeaof-pagehead h1 {
		box-sizing: border-box;
		padding-right: calc(min(340px, 28vw) + 3rem);
	}
}
/* Motivo por sección (archivo + fichas individuales) */
body.post-type-archive-revista .aeaof-pagehead::after,
body.single-revista .aeaof-pagehead::after { background-image: url(../img/pagehead-revista.svg?v=5); }
body.post-type-archive-noticia .aeaof-pagehead::after,
body.single-noticia .aeaof-pagehead::after { background-image: url(../img/pagehead-noticias.svg?v=3); }
body.post-type-archive-formacion .aeaof-pagehead::after,
body.single-formacion .aeaof-pagehead::after { background-image: url(../img/pagehead-formacion.svg?v=4); }
body.post-type-archive-jornada .aeaof-pagehead::after,
body.single-jornada .aeaof-pagehead::after { background-image: url(../img/pagehead-jornadas.svg?v=5); }
body.post-type-archive-recurso .aeaof-pagehead::after,
body.single-recurso .aeaof-pagehead::after,
body.tax-tipo-recurso .aeaof-pagehead::after { background-image: url(../img/pagehead-biblioteca.svg?v=4); }
/* subsecciones de la Biblioteca (después del genérico para ganar en cascada) */
body.term-tesis-doctorales .aeaof-pagehead::after { background-image: url(../img/pagehead-tesis.svg?v=3); }
body.term-libros-y-pdfs .aeaof-pagehead::after { background-image: url(../img/pagehead-libros.svg?v=3); }
body.term-videos .aeaof-pagehead::after { background-image: url(../img/pagehead-videos.svg?v=3); }
body.term-enlaces-de-interes .aeaof-pagehead::after { background-image: url(../img/pagehead-enlaces.svg?v=3); }
body.term-otros .aeaof-pagehead::after { background-image: url(../img/pagehead-otros.svg?v=3); }
/* páginas: Conócenos, Contacto, textos legales */
body.page-id-981 .aeaof-pagehead::after { background-image: url(../img/pagehead-asociacion.svg?v=4); }
body.page-id-978 .aeaof-pagehead::after { background-image: url(../img/pagehead-contacto.svg?v=3); }
body.page-id-1035 .aeaof-pagehead::after,
body.page-id-1036 .aeaof-pagehead::after,
body.page-id-1098 .aeaof-pagehead::after { background-image: url(../img/pagehead-legal.svg?v=3); }
body.error404 .aeaof-pagehead::after { background-image: url(../img/pagehead-404.svg?v=3); }
.aeaof-pagehead__title,
.aeaof-pagehead h1 {
	font-family: var(--wp--preset--font-family--serif);
	font-weight: 500;
	font-size: clamp(1.8rem, 3vw, 2.6rem);
	line-height: 1.15;
	color: #f4f1e8;
	margin: 0.5rem 0 0;
}
.aeaof-pagehead__sub {
	color: #9a958a;
	font-size: 1rem;
	max-width: 640px;
	margin: 0.9rem 0 0;
}
.aeaof-pagehead__sub--ancho { max-width: 880px; }
.aeaof-pagehead__sub p { margin: 0; }
/* La descripción del término debe ocupar la misma columna centrada de
   1240px que el título (el ancho de lectura de 640px lo limita el párrafo
   interior, no el bloque, o el layout constrained lo descoloca) */
.aeaof-pagehead .wp-block-term-description { max-width: 1240px; }
.aeaof-pagehead .wp-block-term-description p { max-width: 640px; }
.aeaof-pagehead__meta {
	color: #9aa0a8;
	font-size: 0.92rem;
	gap: 1.6rem !important;
	margin-top: 0.9rem;
}
.aeaof-pagehead__meta p, .aeaof-pagehead__meta .wp-block-post-date { margin: 0; }
.aeaof-pagehead .aeaof-meta-sede { color: #f4f1e8; font-weight: 500; }
.aeaof-pagehead .wp-block-post-terms,
.aeaof-pagehead .wp-block-post-terms a { color: #c9a227; text-decoration: none; }

/* ============ Interiores: ficha (single) ============ */
.aeaof-single-cols { padding: 2.8rem 0 3.5rem; gap: 3rem !important; }
.aeaof-single-narrow { padding: 2.8rem 0 3.5rem; }
.aeaof-cartel { margin: 0; position: sticky; top: 110px; }
.aeaof-cartel img { width: 100%; height: auto; border-radius: 10px; }
.aeaof-content { font-size: 1rem; color: #3f3d35; }
.aeaof-content p { line-height: 1.75; }
.aeaof-content h3, .aeaof-content h4 { margin: 1.8rem 0 0.7rem; }
.aeaof-content .wp-block-buttons { margin: 1.4rem 0; gap: 0.7rem; }
.aeaof-content .wp-block-gallery { margin: 1.6rem 0; gap: 0.6rem; }
.aeaof-content .wp-block-gallery img { border-radius: 8px; }
.aeaof-content .wp-block-image img { border-radius: 8px; height: auto; }
.aeaof-content .wp-block-embed { margin: 1.6rem 0; }
.aeaof-content .wp-block-embed iframe { width: 100%; aspect-ratio: 16/9; height: auto; border-radius: 8px; }

/* Bloque Archivo (PDFs de artículos de la revista): solo el botón de
   descarga; el nombre del archivo queda oculto */
.aeaof-content .wp-block-file {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin: 0.5rem 0 1.5rem;
}
.aeaof-content .wp-block-file > a:not(.wp-block-file__button) { display: none; }
.aeaof-content .wp-block-file__button {
	background: #f1ede2;
	color: #5f4e05;
	border: 1px solid #d6cfae;
	border-radius: 999px;
	padding: 0.4em 1.2em;
	font-size: 0.85rem;
	white-space: nowrap;
	text-decoration: none;
	transition: background 0.2s ease;
}
.aeaof-content .wp-block-file__button:hover { background: #e9e3cf; }
.aeaof-prevnext {
	border-top: 1px solid #e6e1d5;
	margin-top: 2.5rem;
	padding-top: 1.2rem;
	font-size: 0.92rem;
}
.aeaof-back { margin-top: 2rem; font-size: 0.92rem; }

/* ============ Quiénes somos ============ */
.aeaof-qs { padding: 3rem 0 4.5rem; }
.aeaof-qs .aeaof-content > h2 { font-size: 1.7rem; margin: 0 0 1.2rem; }
.aeaof-qs .aeaof-content .aeaof-section__head { margin: 3.4rem 0 1.8rem; }
.aeaof-qs .aeaof-content .wp-block-columns { gap: 2.5rem; margin: 0; }
.aeaof-qs .aeaof-content .wp-block-image figcaption {
	text-align: center;
	color: #8a8578;
	font-size: 0.8rem;
	letter-spacing: 0.05em;
	margin-top: 0.8rem;
}
.aeaof-qs .aeaof-content blockquote {
	border-left: 3px solid #c9a227;
	background: #ffffff;
	border-radius: 0 10px 10px 0;
	padding: 1.4rem 1.8rem;
	margin: 1.6rem 0;
	color: #4d4a40;
}
.aeaof-qs .aeaof-content blockquote .aeaof-quote-titulo {
	color: #7e6807;
	margin-top: 0;
}
.aeaof-qs .aeaof-content .wp-block-buttons { margin-top: 1.6rem; }
.aeaof-qs .aeaof-content .wp-block-buttons + .wp-block-buttons { margin-top: 0.8rem; }
.aeaof-qs .aeaof-content .aeaof-btns-centro { display: flex; justify-content: center; }

/* Junta directiva: cargo en dorado + nombre en serif destacado */
.aeaof-junta { list-style: none; margin: 0; padding: 0; }
.aeaof-junta li {
	padding-bottom: 1.15rem;
	margin-bottom: 1.15rem;
	border-bottom: 1px solid rgba(32, 36, 43, 0.09);
}
.aeaof-junta li:last-child { padding-bottom: 0; margin-bottom: 0; border-bottom: 0; }
.aeaof-junta__cargo {
	display: block;
	font-size: 0.74rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #7e6807;
}
.aeaof-junta__nombre {
	display: block;
	font-family: var(--wp--preset--font-family--serif);
	font-size: 1.22rem;
	font-weight: 600;
	color: #20242b;
	margin: 0.2rem 0 0.35rem;
}
.aeaof-junta li p {
	margin: 0;
	font-size: 0.94rem;
	line-height: 1.55;
	color: #5a5f68;
}

/* El grupo destacado (noticia destacada / próximas actividades / próxima
   jornada) solo aparece en la página 1 de su listado */
body.paged.post-type-archive-noticia main > .aeaof-section__head--archivo:first-child,
body.paged.post-type-archive-noticia main > .aeaof-section__head--archivo:first-child + .wp-block-query,
body.paged.post-type-archive-formacion main > .aeaof-section__head--archivo:first-child,
body.paged.post-type-archive-formacion main > .aeaof-section__head--archivo:first-child + .wp-block-query,
body.paged.post-type-archive-jornada main > .aeaof-section__head--archivo:first-child,
body.paged.post-type-archive-jornada main > .aeaof-section__head--archivo:first-child + .wp-block-query {
	display: none;
}

/* Grupos próximas/pasadas en /formacion/ y /jornadas/ */
/* Aire tras la cabecera oscura: WP anula el margin del primer hijo → padding */
main > .aeaof-section__head--archivo:first-child { padding-top: 3.2rem; }
.aeaof-section__head--archivo { margin-top: 3.4rem; }
/* El divisor ya aporta la separación: las listas pierden su padding superior */
.aeaof-section__head--archivo + .wp-block-query { margin-top: 0; }
.aeaof-section__head--archivo + .wp-block-query .aeaof-rowlist,
.aeaof-section__head--archivo + .wp-block-query .aeaof-archivegrid { padding-top: 0.4rem; }
/* Y el grupo de próximas recorta también su cierre hacia el divisor siguiente */
main > .aeaof-section__head--archivo:first-child + .wp-block-query .aeaof-rowlist { padding-bottom: 0.6rem; }
main > .aeaof-section__head--archivo:first-child + .wp-block-query .aeaof-archivegrid { padding-bottom: 0.4rem; }
.aeaof-proximos-vacio {
	color: #8a8578;
	font-style: italic;
	margin: 0.4rem 0 1rem;
}

/* ============ Página 404 ============ */
.aeaof-404 {
	max-width: 680px;
	margin: 0 auto;
	padding: 3rem 0 5rem;
	text-align: center;
}
.aeaof-404__codigo {
	font-family: var(--wp--preset--font-family--serif);
	font-size: clamp(6rem, 16vw, 10rem);
	line-height: 1;
	margin: 0 0 0.5rem;
	color: transparent;
	-webkit-text-stroke: 2px #c9a227;
	opacity: 0.5;
}
.aeaof-404 > p { color: #5a5f68; line-height: 1.7; }
.aeaof-404__botones {
	display: flex;
	gap: 0.8rem;
	justify-content: center;
	flex-wrap: wrap;
	margin: 1.8rem 0 2.4rem;
}
.aeaof-cta--borde { border: 1px solid #7e6807; color: #7e6807; }
.aeaof-cta--borde:hover { background: #7e6807; color: #faf8f3; }
.aeaof-404__secciones {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
	justify-content: center;
	border-top: 1px solid #e6e1d5;
	padding-top: 1.8rem;
}
.aeaof-404__secciones a {
	padding: 0.4em 1.1em;
	border: 1px solid #d6cfae;
	border-radius: 999px;
	font-size: 0.9rem;
	color: #5f4e05;
	background: #f1ede2;
	text-decoration: none;
	transition: background 0.2s ease;
}
.aeaof-404__secciones a:hover { background: #e9e3cf; }

/* ============ Intro de la Revista ============ */
.aeaof-revista-intro {
	display: grid;
	grid-template-columns: 220px 1fr;
	gap: 2.6rem;
	align-items: center;
	padding: 4rem 0 1rem;
}
.aeaof-section__head--revista { margin-top: 3.2rem; }
.aeaof-revista-intro__logo img { width: 100%; height: auto; display: block; }
.aeaof-revista-intro__body h2 { font-size: 1.55rem; margin: 0 0 0.2rem; }
.aeaof-revista-intro__en {
	color: #8a8578;
	font-style: italic;
	font-size: 0.95rem;
	margin: 0 0 1.1rem;
}
.aeaof-revista-intro__body p:not(.aeaof-revista-intro__en):not(.aeaof-revista-intro__meta) {
	color: #3f3d35;
	font-size: 0.95rem;
	line-height: 1.7;
	margin: 0 0 0.9rem;
}
.aeaof-revista-intro__meta {
	color: #8a8578;
	font-size: 0.82rem;
	letter-spacing: 0.04em;
	margin: 0 0 1.4rem;
}
.aeaof-cta--marca {
	background: #7e6807;
	color: #faf8f3;
	font-size: 0.9rem;
}
.aeaof-cta--marca:hover { background: #5f4e05; color: #faf8f3; }
@media (max-width: 880px) {
	.aeaof-revista-intro { grid-template-columns: 1fr; padding: 2.5rem 0 0.5rem; }
	.aeaof-revista-intro__logo { max-width: 160px; margin: 0 auto; }
}

/* ============ Interiores: archivos ============ */
.aeaof-archivegrid { padding: 2.4rem 0 1rem; }
.aeaof-rowlist { padding: 2.4rem 0 3rem; list-style: none; margin: 0; }
.aeaof-rowlist > li { margin: 0 0 1.2rem; }
.aeaof-row {
	background: #ffffff;
	border: 1px solid #e6e1d5;
	border-radius: 12px;
	overflow: hidden;
	gap: 0 !important;
	transition: transform 0.5s cubic-bezier(0.45, 0.05, 0.15, 1),
		border-color 0.5s cubic-bezier(0.45, 0.05, 0.15, 1),
		box-shadow 0.5s cubic-bezier(0.45, 0.05, 0.15, 1);
}
/* mismo lenguaje de hover que las tarjetas: elevación + sombra + halo */
.aeaof-row:hover {
	transform: translateY(-6px);
	border-color: #c9a227;
	box-shadow:
		0 20px 44px -20px rgba(27, 26, 22, 0.35),
		0 10px 24px -14px rgba(126, 104, 7, 0.30),
		0 0 0 1px rgba(201, 162, 39, 0.30);
}
.aeaof-row__img { margin: 0; flex: 0 0 200px; }
.aeaof-row__img img { display: block; width: 200px; height: 100%; object-fit: cover; }
.aeaof-row__body { padding: 1.4rem 1.8rem; }
.aeaof-row__meta {
	color: #7e6807;
	font-size: 0.78rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	margin: 0 0 0.3rem;
}
.aeaof-row__title { font-size: 1.35rem; margin: 0 0 0.4rem; }
.aeaof-row__title a { color: #20242b; text-decoration: none; }
.aeaof-row__title a:hover { color: #7e6807; }
.aeaof-row__body .wp-block-post-excerpt { font-size: 0.93rem; color: #5f5c52; }
.aeaof-row__body .wp-block-post-excerpt__more-link { color: #7e6807; font-weight: 500; }

/* tarjetas de recurso (sin imagen) */
.aeaof-card--recurso { padding: 1.2rem 1.3rem; }
.aeaof-card--recurso .aeaof-card__title { padding: 0.4rem 0 0; font-size: 1.05rem; }
.aeaof-card--recurso .wp-block-post-excerpt { padding: 0.4rem 0 0; }
.aeaof-card__badge, .aeaof-card__badge a {
	font-size: 0.72rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #7e6807 !important;
	text-decoration: none;
}

/* filtros de recursos */
.aeaof-chips { display: flex; flex-wrap: wrap; gap: 0.6rem; padding-top: 2.2rem; }
.aeaof-chip {
	padding: 0.42em 1.1em;
	border: 1px solid #d6cfae;
	border-radius: 999px;
	background: #ffffff;
	color: #5f4e05;
	font-size: 0.88rem;
	text-decoration: none;
	transition: background 0.2s ease, transform 0.2s ease;
}
.aeaof-chip:hover { background: #f1ede2; transform: translateY(-1px); }
/* Chip activo: el filtro de la página actual se destaca en oro
   (los chips son HTML fijo; el término actual viene en la clase del body) */
body.post-type-archive-recurso .aeaof-chip[href="/biblioteca/"],
body.term-tesis-doctorales .aeaof-chip[href*="tesis-doctorales"],
body.term-libros-y-pdfs .aeaof-chip[href*="libros-y-pdfs"],
body.term-videos .aeaof-chip[href$="/videos/"],
body.term-enlaces-de-interes .aeaof-chip[href*="enlaces-de-interes"],
body.term-otros .aeaof-chip[href$="/otros/"] {
	background: #7e6807;
	border-color: #7e6807;
	color: #faf8f3;
}

/* respiro con el pie cuando la paginación no se muestra (una sola página) */
.wp-block-query > .aeaof-archivegrid:last-child,
.wp-block-query > .aeaof-rowlist:last-child { padding-bottom: 4.5rem; }

/* paginación (global: recursos, formación, noticias y futuros archivos) */
.aeaof-pagination {
	display: flex !important;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 0.45rem;
	padding: 1.6rem 0 3.5rem;
	font-size: 0.92rem;
}
.aeaof-pagination .wp-block-query-pagination-numbers {
	display: flex;
	align-items: center;
	gap: 0.45rem;
	margin: 0;
}
.aeaof-pagination .page-numbers,
.aeaof-pagination .wp-block-query-pagination-previous,
.aeaof-pagination .wp-block-query-pagination-next {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 42px;
	height: 42px;
	padding: 0 0.8em;
	border: 1px solid #d9d3c4;
	border-radius: 9px;
	background: #ffffff;
	color: #5f4e05;
	text-decoration: none;
	transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.aeaof-pagination .wp-block-query-pagination-previous,
.aeaof-pagination .wp-block-query-pagination-next {
	font-weight: 500;
	padding: 0 1.1em;
}
.aeaof-pagination a:hover {
	background: #f1ede2;
	border-color: #c9a227;
	transform: translateY(-2px);
}
.aeaof-pagination .page-numbers.current {
	background: #7e6807;
	border-color: #7e6807;
	color: #faf8f3;
	font-weight: 500;
}
.aeaof-pagination .page-numbers.dots {
	border: 0;
	background: transparent;
	color: #8a8578;
	min-width: auto;
}

@media (max-width: 880px) {
	.aeaof-single-cols { padding-top: 1.6rem; }
	.aeaof-single-cols .wp-block-column { flex-basis: 100% !important; }
	.aeaof-cartel { position: static; }
	.aeaof-row { flex-wrap: wrap !important; }
	.aeaof-row__img, .aeaof-row__img img { flex-basis: 100%; width: 100%; height: auto; }
}

/* El mismo lenguaje de hover en filas horizontales y destacado */
.aeaof-row .aeaof-row__img,
.aeaof-feature .aeaof-feature__img { position: relative; overflow: hidden; }
.aeaof-row .aeaof-row__img img,
.aeaof-feature .aeaof-feature__img img {
	transition: transform 0.75s cubic-bezier(0.45, 0.05, 0.15, 1);
}
.aeaof-row:hover .aeaof-row__img img,
.aeaof-feature:hover .aeaof-feature__img img { transform: scale(1.025); }

/* ============ Accesibilidad y movimiento reducido ============ */
@media (prefers-reduced-motion: reduce) {
	.aeaof-header, .aeaof-header .wp-block-site-logo img, .aeaof-header__title a,
	li.wp-block-post, .aeaof-card, .aeaof-feature, .aeaof-section__head, .aeaof-cta,
	.aeaof-card .aeaof-card__img img,
	.aeaof-row .aeaof-row__img img, .aeaof-feature .aeaof-feature__img img {
		animation: none !important;
		transition: none !important;
	}
}

@media (max-width: 880px) {
	.aeaof-header__title a { font-size: 1.1rem; }
	/* hueco superior para el medallón (el canvas lo dibuja en esa banda) */
	.aeaof-hero__content { padding-top: min(calc(61vw + 48px), 352px); }
	.aeaof-hero__text { max-width: 100%; }
	.aeaof-feature { flex-wrap: wrap !important; }
	.aeaof-feature__img { flex-basis: 100%; }
}

/* ============ Móvil ============ */
@media (max-width: 680px) {
	/* Cabeceras de sección: dejar envolver; el enlace "ver todo" baja
	   a su propia línea (antes desbordaban la página por la derecha) */
	.aeaof-section__head { flex-wrap: wrap; }
	.aeaof-section__head .aeaof-more { flex-basis: 100%; margin-left: 0; }
	/* URLs y palabras largas dentro del contenido no desbordan */
	.aeaof-content a, .aeaof-content p { overflow-wrap: anywhere; }
	/* Formulario de contacto a una columna */
	.aeaof-form-row { grid-template-columns: 1fr; }
}

/* ---- Menú móvil (overlay de la navegación) ---- */
/* El backdrop-filter del header crea un containing block y atrapa el
   overlay position:fixed dentro de la cabecera: fuera en móvil */
@media (max-width: 599px) {
	.aeaof-header { backdrop-filter: none; background: #faf8f3; }
}
/* El overlay abierto hereda los estilos del desplegable de escritorio:
   neutralizarlos y darle el aspecto del sitio */
.aeaof-nav .wp-block-navigation__responsive-container.is-menu-open {
	background: #faf8f3 !important;
	padding: 1.3rem 1.6rem 2rem;
}
/* marca arriba a la izquierda, equilibrando la X de cierre */
.aeaof-nav .is-menu-open .wp-block-navigation__responsive-dialog::before {
	content: 'AEAOF';
	position: absolute;
	top: 1.5rem;
	left: 1.7rem;
	font-family: var(--wp--preset--font-family--serif);
	font-size: 1.35rem;
	letter-spacing: 0.04em;
	color: #20242b;
}
.aeaof-nav .is-menu-open .wp-block-navigation__responsive-container-content {
	padding-top: 2.6rem;
}
/* primer nivel: serif grande con filetes separadores */
.aeaof-nav .is-menu-open .wp-block-navigation__container { gap: 0; width: 100%; }
.aeaof-nav .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item {
	width: 100%;
	border-bottom: 1px solid #e6e1d5;
	padding: 0.95rem 0.2rem;
	display: block;
}
.aeaof-nav .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > a,
.aeaof-nav .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > button {
	font-family: var(--wp--preset--font-family--serif);
	font-size: 1.3rem;
	color: #20242b;
}
.aeaof-nav .is-menu-open a::after { content: none; }
/* submenú: indentado tras una línea dorada */
.aeaof-nav .is-menu-open .wp-block-navigation__submenu-container {
	background: transparent !important;
	border: 0 !important;
	border-left: 2px solid #c9a227 !important;
	border-radius: 0;
	box-shadow: none;
	min-width: 0 !important;
	margin: 0.7rem 0 0.1rem 0.3rem;
	padding: 0 0 0 1rem !important;
}
.aeaof-nav .is-menu-open .wp-block-navigation__submenu-container::before { content: none; }
.aeaof-nav .is-menu-open .wp-block-navigation__submenu-container a {
	font-family: var(--wp--preset--font-family--sans);
	font-size: 1rem !important;
	color: #5f5c52;
	padding: 7px 9px !important;
}
/* botón de cierre en el tono de la marca */
.aeaof-nav .is-menu-open .wp-block-navigation__responsive-container-close { color: #7e6807; }

/* Pestaña «Gestionar consentimiento» (Complianz): tres puntos dorados
   centrados en la franja visible; en absoluto para no alterar su tamaño */
button.cmplz-manage-consent::after {
	content: '';
	position: absolute;
	top: 7px;
	left: 50%;
	transform: translateX(-50%);
	width: 34px;
	height: 4px;
	background:
		radial-gradient(circle 2px at 4px 2px, #c9a227 98%, transparent),
		radial-gradient(circle 2px at 17px 2px, #c9a227 98%, transparent),
		radial-gradient(circle 2px at 30px 2px, #c9a227 98%, transparent);
	pointer-events: none;
}


/* ============ Páginas PMPro (/socios/*) — integración con el diseño ============ */
/* Acotado con :not(.page-id-1215): /login/ tiene su propia réplica exacta abajo */

/* Paleta: el azul del plugin pasa a la gama dorada; bordes al tono de la web */
body:not(.page-id-1215) .pmpro {
	--pmpro--color--accent: #7e6807;
	--pmpro--color--accent--variation: #5f4e05;
	--pmpro--color--border: #d9d3c4;
	--pmpro--border--color: #d9d3c4;
}

/* Botones como los del resto de la web: dorados, peso 500, sin sombra dura */
body:not(.page-id-1215) .pmpro .pmpro_btn {
	background-color: #7e6807;
	border-color: #7e6807;
	border-radius: 8px;
	box-shadow: none;
	color: #faf8f3;
	font-weight: 500;
	font-size: 1rem;
	transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
body:not(.page-id-1215) .pmpro .pmpro_btn:hover,
body:not(.page-id-1215) .pmpro .pmpro_btn:focus {
	background-color: #5f4e05;
	border-color: #5f4e05;
	color: #faf8f3;
	transform: translateY(-1px);
}
body:not(.page-id-1215) .pmpro .pmpro_btn-outline {
	background-color: transparent;
	color: #7e6807;
}
body:not(.page-id-1215) .pmpro .pmpro_btn-outline:hover,
body:not(.page-id-1215) .pmpro .pmpro_btn-outline:focus {
	background-color: transparent;
	border-color: #5f4e05;
	color: #5f4e05;
	transform: none;
}

/* Campos de formulario: mismo tratamiento que el login y el contacto */
body:not(.page-id-1215) .pmpro .pmpro_form_input {
	background: #ffffff;
	border: 1px solid #d9d3c4;
	border-radius: 8px;
	color: #26241f;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
body:not(.page-id-1215) .pmpro .pmpro_form_input:focus,
body:not(.page-id-1215) .pmpro .pmpro_form_input:focus-visible {
	outline: none;
	border-color: #7e6807;
	box-shadow: 0 0 0 1px #7e6807;
}

/* Enlaces en el dorado corporativo */
body:not(.page-id-1215) .pmpro a:not(.pmpro_btn) { color: #7e6807; }
body:not(.page-id-1215) .pmpro a:not(.pmpro_btn):hover { color: #5f4e05; }

/* Tarjeta «Mi Cuenta»: la línea «Nombre de usuario» (inyectada por aeaof-core
   tras el Email, único hook disponible) se recoloca antes del Email */
body.page-id-1208 .pmpro ul.pmpro_list:has(.aeaof-cuenta-usuario) {
	display: flex;
	flex-direction: column;
	gap: 12px; /* espaciado uniforme: los márgenes propios de cada li se anulan */
}
body.page-id-1208 .pmpro ul.pmpro_list:has(.aeaof-cuenta-usuario) li { margin: 0 !important; }
body.page-id-1208 .pmpro ul.pmpro_list:has(.aeaof-cuenta-usuario) li:nth-of-type(1) { order: 1; } /* Nombre y Apellidos */
body.page-id-1208 .pmpro ul.pmpro_list:has(.aeaof-cuenta-usuario) li:nth-of-type(2) { order: 2; } /* Alias / Nombre Público */
body.page-id-1208 .pmpro ul.pmpro_list:has(.aeaof-cuenta-usuario) li.aeaof-cuenta-usuario { order: 3; }
body.page-id-1208 .pmpro ul.pmpro_list:has(.aeaof-cuenta-usuario) li:nth-of-type(3) { order: 4; } /* Email */

/* Estado vacío de Mi Afiliación (PMPro suelta el texto sin envoltorio):
   tarjeta centrada. Solo sin afiliación activa — con ella hay .pmpro_card
   y la página conserva su maquetación normal */
body.page-id-1209 .pmpro:not(:has(.pmpro_card)) {
	background: #ffffff;
	border: 1px solid #eee7d8;
	border-radius: 12px;
	box-shadow: 0 8px 24px rgba(35, 37, 41, 0.05);
	margin: 1rem auto 0;
	max-width: 640px;
	padding: 2.6rem 2rem 2.2rem;
	text-align: center;
	font-size: 1.05rem;
	line-height: 1.6;
	color: #3c434a;
}
body.page-id-1209 .pmpro:not(:has(.pmpro_card))::before {
	content: "";
	display: block;
	width: 46px;
	height: 46px;
	margin: 0 auto 1.1rem;
	background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%237e6807" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><rect x="2.5" y="5" width="19" height="14" rx="2.5"/><circle cx="8.5" cy="11" r="2"/><path d="M5.5 16c.6-1.5 1.7-2.2 3-2.2s2.4.7 3 2.2"/><path d="M14 9.5h5M14 12.5h5M14 15.5h3"/></svg>') center / contain no-repeat;
	opacity: 0.85;
}
/* el enlace «Elige un nivel…» (hijo directo) se convierte en botón dorado */
body.page-id-1209 .pmpro:not(:has(.pmpro_card)) > a {
	display: block;
	width: fit-content;
	margin: 1.4rem auto 0;
	background: #7e6807;
	border-radius: 8px;
	padding: 0.55em 1.3em;
	color: #faf8f3 !important;
	font-weight: 500;
	text-decoration: none;
	transition: background 0.2s ease, transform 0.2s ease;
}
body.page-id-1209 .pmpro:not(:has(.pmpro_card)) > a:hover {
	background: #5f4e05;
	transform: translateY(-1px);
}
/* !important: la regla de PMPro lleva un ID dentro de :not() y gana en
   especificidad a cualquier cadena de clases */
body.page-id-1209 .pmpro:not(:has(.pmpro_card)) .pmpro_actions_nav {
	display: block !important; /* PMPro la pone en flex con el enlace a la derecha */
	margin-top: 1.6rem;
	border-top: 1px solid #eee7d8;
	padding-top: 1.1rem;
	text-align: center !important;
	font-size: 0.92rem;
}
body.page-id-1209 .pmpro:not(:has(.pmpro_card)) .pmpro_actions_nav-right {
	float: none !important;
	display: inline !important;
	text-align: center !important;
}

/* ============ /login/ (PMPro) — réplica exacta del wp-login Moodle ============ */
/* Sección ÚNICA y consolidada. Patrón: wp-login.php (login.css de aeaof-core).
   Valores medidos con el comparador de estilos computados. */

/* -- página -- */
body.page-id-1215 { background: #ffffff; --pmpro--color--accent: #8a8578; }
body.page-id-1215::after { display: none; }

/* -- panel lateral izquierdo -- */
body.page-id-1215 .aeaof-login-lateral {
	position: fixed;
	inset: 0 50% 0 0;
	background: #232529;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 3rem;
	z-index: 1;
}
body.page-id-1215 .aeaof-login-lateral::before {
	content: "";
	position: absolute;
	inset: 0;
	background: url(/wp-content/plugins/aeaof-core/assets/login-bg.jpg) center / cover no-repeat;
	opacity: 0.78;
	filter: saturate(1.05) contrast(1.18) brightness(0.98);
	pointer-events: none;
}
body.page-id-1215 .aeaof-login-polvo { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
body.page-id-1215 .aeaof-login-lateral__tarjeta {
	max-width: 440px;
	background: rgba(5, 4, 0, 0.45);
	border-radius: 10px;
	padding: 5rem 2rem;
	text-align: center;
	color: #ffffff;
	position: relative;
	z-index: 1;
}
body.page-id-1215 .aeaof-login-lateral__tarjeta h2 {
	font-family: var(--wp--preset--font-family--serif);
	font-weight: 500;
	font-size: 1.75rem;
	line-height: 1.2;
	margin: 0 0 0.9rem;
	color: #f4f1e8;
}
body.page-id-1215 .aeaof-login-lateral__tarjeta p { font-size: 0.95rem; line-height: 1.6; color: #d5d0c2; margin: 0; }
body.page-id-1215 .aeaof-login-lateral__tarjeta .aeaof-login-lateral__kicker {
	color: #c9a227;
	font-size: 0.74rem;
	letter-spacing: 0.16em;
	line-height: 1.7;
	text-transform: uppercase;
	margin: 1.3rem 0 0;
}
body.page-id-1215 .aeaof-login-lateral__kicker a { color: inherit; text-decoration: none; }
body.page-id-1215 .aeaof-login-lateral__kicker a:hover { text-decoration: underline; }

/* -- columna derecha -- */
body.page-id-1215 .aeaof-login-derecha {
	margin-left: 50%;
	min-height: 100vh;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 3rem 1rem;
	box-sizing: border-box;
}
body.page-id-1215 .aeaof-login-caja { width: min(480px, 86vw); }
body.page-id-1215 .aeaof-login-logo { margin: 0 auto 1.1rem; text-align: center; }
body.page-id-1215 .aeaof-login-logo img { width: 230px; height: auto; }
body.page-id-1215 .aeaof-login-bienvenida { margin: 0.6rem 0 1.4rem; }
body.page-id-1215 .aeaof-login-bienvenida h2 {
	font-family: var(--wp--preset--font-family--serif);
	font-weight: 500;
	font-size: 1.7rem;
	line-height: 1.4;
	color: #20242b;
	margin: 0 0 0.5rem;
}
body.page-id-1215 .aeaof-login-bienvenida p { font-size: 0.95rem; line-height: 1.55; color: #5f5c52; margin: 0; }
body.page-id-1215.aeaof-login-accion .aeaof-login-bienvenida { display: none; }

/* -- neutralizar la maquetación del tema y de PMPro -- */
body.page-id-1215 main,
body.page-id-1215 .entry-content { margin: 0 !important; padding: 0 !important; max-width: none !important; }
body.page-id-1215 .pmpro,
body.page-id-1215 .pmpro_section,
body.page-id-1215 .pmpro_card,
body.page-id-1215 .pmpro_card_content,
body.page-id-1215 .pmpro_card_actions { margin: 0 !important; padding: 0 !important; background: none !important; border: 0 !important; box-shadow: none !important; border-radius: 0 !important; }
body.page-id-1215 .pmpro_spacer { display: none; }

/* -- mensajes e instrucciones (avisos wp-login: 13px, filete dorado) -- */
body.page-id-1215 .pmpro_message,
body.page-id-1215 .pmpro_lost_password-instructions,
body.page-id-1215 .pmpro_reset_password-instructions {
	border: 0 !important;
	border-left: 4px solid #7e6807 !important;
	border-radius: 0 8px 8px 0 !important;
	background: #ffffff !important;
	box-shadow: none !important;
	/* wp-login envuelve el texto en <p> con margen .5em (6.5px) y lh 20.02px:
	   aquí el texto va directo, así que sumamos ese margen al padding vertical */
	padding: 14.5px 12px !important;
	margin: 0 0 20px !important;
	font-size: 13px !important;
	font-weight: 400 !important;
	line-height: 1.54 !important;
	color: #3c434a !important;
	text-align: start !important;
}
body.page-id-1215 .pmpro_message.pmpro_error { background: #fcf0f0 !important; }
body.page-id-1215 .pmpro_message.pmpro_success { background: #edfaef !important; }
body.page-id-1215 .pmpro_message.pmpro_alert { background: #fcf9e8 !important; }

/* -- formularios: etiquetas y campos (gap etiqueta-campo = 3px exactos) -- */
body.page-id-1215 #loginform .login-username,
body.page-id-1215 #loginform .login-password {
	display: block !important; /* PMPro los pone en flex con gap: 6px fantasma */
	gap: 0 !important;
	margin: 0 0 16px !important;
	line-height: 0 !important;
}
body.page-id-1215 #loginform label,
body.page-id-1215 .pmpro_form_label {
	display: block !important;
	font-size: 0.95rem !important;
	font-weight: 500 !important;
	color: #20242b !important;
	line-height: 1.5 !important;
	margin: 0 0 3px !important;
	padding: 0 !important;
}
body.page-id-1215 #loginform .input,
body.page-id-1215 .pmpro_form_input {
	display: block;
	width: 100% !important;
	box-sizing: border-box !important;
	background: #ffffff !important;
	border: 1px solid #d9d3c4 !important;
	border-radius: 8px !important;
	padding: 0.6em 0.9em !important;
	font-size: 1rem !important;
	font-family: inherit !important;
	line-height: 1.33333 !important;
	color: #20242b !important;
	margin: 0 !important;
	height: auto !important;
	box-shadow: none !important;
}
body.page-id-1215 #loginform .input:focus,
body.page-id-1215 #loginform .input:focus-visible,
body.page-id-1215 .pmpro_form_input:focus,
body.page-id-1215 .pmpro_form_input:focus-visible {
	outline: none !important;
	border-color: #7e6807 !important;
	box-shadow: 0 0 0 1px #7e6807 !important;
}

/* -- ojo mostrar/ocultar: mismo dashicon que wp-login -- */
body.page-id-1215 #loginform .login-password { position: relative; }
body.page-id-1215 .pmpro_form_field-password-toggle { position: absolute; right: 8px; top: 30px; }
body.page-id-1215 .pmpro_form_field-password-toggle .pmpro_btn {
	background: transparent !important;
	border: 1px solid transparent !important;
	border-radius: 6px;
	padding: 3px 4px !important;
	margin: 0 !important;
	cursor: pointer;
	line-height: 0;
}
body.page-id-1215 .pmpro_form_field-password-toggle .pmpro_btn:focus,
body.page-id-1215 .pmpro_form_field-password-toggle .pmpro_btn:focus-visible {
	outline: none !important;
	border-color: #7e6807 !important;
	box-shadow: 0 0 0 1px #7e6807 !important;
}
body.page-id-1215 .pmpro_form_field-password-toggle .pmpro_icon svg { display: none !important; }
body.page-id-1215 .pmpro_form_field-password-toggle .pmpro_icon::before {
	font-family: dashicons;
	content: "\f177";
	font-size: 20px;
	line-height: 1;
	color: #8a8578;
	display: block;
	speak: never;
	-webkit-font-smoothing: antialiased;
}
body.page-id-1215 .pmpro_form_field-password-toggle .pmpro_btn[data-toggle="1"] .pmpro_icon::before { content: "\f530"; }
body.page-id-1215 .pmpro_form_field-password-toggle-state {
	position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap;
}

/* -- checkbox Recuérdame: réplica del de wp-login (forms.css + marca) -- */
body.page-id-1215 #loginform input[type="checkbox"] {
	-webkit-appearance: none;
	appearance: none;
	width: 1rem !important;
	height: 1rem !important;
	border: 1px solid #d9d3c4 !important;
	border-radius: 4px !important;
	background: #ffffff !important;
	margin: -4px 4px 0 0 !important;
	padding: 0 !important;
	vertical-align: middle;
	display: inline-grid;
	place-content: center;
	cursor: pointer;
	box-shadow: none !important;
}
body.page-id-1215 #loginform input[type="checkbox"]:checked {
	background: #7e6807 !important;
	border-color: #7e6807 !important;
}
body.page-id-1215 #loginform input[type="checkbox"]:checked::before {
	content: "";
	width: 0.8rem;
	height: 0.8rem;
	background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path d="M14.83 4.89l1.34.94-5.81 8.38H9.02L5.78 9.67l1.34-1.25 2.57 2.4z" fill="white"/></svg>') center / contain no-repeat;
}
body.page-id-1215 #loginform input[type="checkbox"]:focus,
body.page-id-1215 #loginform input[type="checkbox"]:focus-visible {
	outline: none !important;
	border-color: #7e6807 !important;
	box-shadow: 0 0 0 1px #7e6807 !important;
}

/* -- fila Recuérdame / ¿Olvidó su contraseña? -- */
body.page-id-1215 #loginform .login-remember {
	float: left;
	margin: 1.6px 0 0 !important;
	line-height: normal !important;
}
body.page-id-1215 #loginform .login-remember label {
	display: inline !important;
	font-size: 0.88rem !important;
	font-weight: 400 !important;
	color: #5f5c52 !important;
	line-height: 1.5 !important;
	margin: 0 !important;
}
body.page-id-1215 #loginform .aeaof-login-olvido {
	float: right;
	margin: 1.6px 0 0 !important;
	padding: 0 !important;
	background: none !important;
	font-size: 0.9rem !important;
}
body.page-id-1215 .aeaof-login-olvido a { color: #7e6807 !important; text-decoration: none; line-height: 1.5 !important; }
body.page-id-1215 .aeaof-login-olvido a:hover { color: #5f4e05 !important; text-decoration: underline; }

/* -- botón dorado (36px de alto, peso 500) -- */
body.page-id-1215 #loginform .login-submit { clear: both; margin: 0 !important; padding: 0 !important; }
body.page-id-1215 #loginform .login-submit .button-primary,
body.page-id-1215 .pmpro_btn-submit {
	display: block;
	width: 100% !important;
	box-sizing: border-box !important;
	background: #7e6807 !important;
	border: 0 !important;
	border-radius: 8px !important;
	color: #faf8f3 !important;
	font-family: inherit !important;
	font-size: 0.95rem !important;
	font-weight: 500 !important;
	line-height: 1.4 !important;
	padding: 0.5em 1em !important;
	height: auto !important;
	min-height: 0 !important;
	margin: 15.2px 0 0 !important;
	text-shadow: none !important;
	box-shadow: none !important;
	outline: none !important;
	cursor: pointer;
	transition: background 0.2s ease;
}
body.page-id-1215 #loginform .login-submit .button-primary:hover,
body.page-id-1215 #loginform .login-submit .button-primary:focus,
body.page-id-1215 .pmpro_btn-submit:hover,
body.page-id-1215 .pmpro_btn-submit:focus { background: #5f4e05 !important; color: #faf8f3 !important; }

/* -- formularios de olvido/restablecimiento -- */
body.page-id-1215 .pmpro_form_field { margin: 0 0 16px !important; }
body.page-id-1215 .pmpro_form_submit { margin: 0 !important; padding: 0 !important; }
body.page-id-1215 .pmpro_asterisk { display: none; }
body.page-id-1215 #resetpassform .pmpro_form_field-password-toggle { position: static; display: flex; justify-content: space-between; align-items: center; }
body.page-id-1215 #pass-strength-result { border-radius: 8px; font-size: 0.85rem; padding: 0.4em 0.6em; margin-top: 0.4rem; }

/* -- navegación bajo formularios y enlace de vuelta -- */
body.page-id-1215 .pmpro_actions_nav:not(.aeaof-login-olvido) {
	background: none;
	text-align: center;
	font-size: 0.9rem;
	margin: 1.4rem 0 0;
	padding: 0;
}
body.page-id-1215 .pmpro_actions_nav:not(.aeaof-login-olvido) a { color: #7e6807; text-decoration: none; line-height: 1.5; }
body.page-id-1215 .pmpro_actions_nav:not(.aeaof-login-olvido) a:hover { color: #5f4e05; text-decoration: underline; }
body.page-id-1215 .aeaof-login-volver { text-align: center; font-size: 0.9rem; margin: 1.4rem 0 0; }
body.page-id-1215 .aeaof-login-volver a { color: #7e6807; text-decoration: none; line-height: 1.5; }
body.page-id-1215 .aeaof-login-volver a:hover { color: #5f4e05; }

/* -- móvil / tablet: solo el formulario, como wp-login -- */
@media (max-width: 1000px) {
	body.page-id-1215 .aeaof-login-lateral { display: none; }
	body.page-id-1215 .aeaof-login-derecha { margin-left: 0; }
}
