/*
 * AVAPE — capa de rediseño.
 *
 * Dirección: «type-only-statement» (design-taste-frontend, seed 1578521905).
 * La idea: los cuatro pétalos de la flor de la marca se convierten en los cuatro
 * campos de color por los que avanza la página.
 *
 * Se carga después de responsive.css del tema (prioridad 2001), así que no hace
 * falta un solo `!important` para ganar: basta con subir la especificidad
 * anteponiendo `body`, como pide la §5.1 de la skill.
 */

/* ---------------------------------------------------------------------------
   1. Lo que estaba mal en todo el sitio
   --------------------------------------------------------------------------- */

/*
 * El esquema del tema pintaba el texto del cuerpo en #8d989a sobre blanco: 2,96:1,
 * cuando el mínimo son 4,5:1. Y a 13px. Las dos cosas, de una vez.
 */
body.scheme_sheme_2,
body.scheme_sheme_2 .content_wrap,
body.scheme_sheme_2 p:not([class*="avape-"]),
body.scheme_sheme_2 li:not([class*="avape-"]),
body.scheme_sheme_2 dd,
body.scheme_sheme_2 td {
	color: var(--avape-tinta);
}

/*
 * El `:not([class*="avape-"])` no es un capricho: sin él esta regla gana por
 * especificidad a las de cada pieza del rediseño (dos clases más un elemento
 * frente a dos clases) y les aplasta el tamaño. Las piezas propias se excluyen
 * y cada una manda sobre lo suyo.
 */
body.scheme_sheme_2 .page_content_wrap p:not([class*="avape-"]),
body.scheme_sheme_2 .page_content_wrap li:not([class*="avape-"]),
body.scheme_sheme_2 .page_content_wrap dd:not([class*="avape-"]) {
	font-size: var(--avape-texto);
	line-height: 1.6;
}

/* Texto secundario: sigue siendo más claro, pero legible (5,56:1). */
body.scheme_sheme_2 .sc_item_descr,
body.scheme_sheme_2 .post_meta,
body.scheme_sheme_2 .post_date,
body.scheme_sheme_2 figcaption,
body.scheme_sheme_2 .wp-caption-text {
	color: var(--avape-tinta-suave);
}

/* Medida de lectura: una línea de 200 caracteres no se lee. */
body.scheme_sheme_2 .page_content_wrap .vc_column_text > p:not([class*="avape-"]),
body.scheme_sheme_2 .page_content_wrap .vc_column_text > ul:not([class*="avape-"]),
body.scheme_sheme_2 .page_content_wrap .vc_column_text > ol:not([class*="avape-"]) {
	max-width: 68ch;
}

/*
 * El kit viene en inglés y trae `capitalize` y `uppercase` heredados. En
 * castellano eso produce «Comuniones Y Bautizos» y deja ilegible cualquier
 * titular largo. Se corrige aquí, no título a título (§7.1.7).
 */
body.scheme_sheme_2 h1,
body.scheme_sheme_2 h2,
body.scheme_sheme_2 h3,
body.scheme_sheme_2 h4,
body.scheme_sheme_2 h5,
body.scheme_sheme_2 h6 {
	text-transform: none;
	letter-spacing: -0.02em;
}

/* Un titular nunca deja una palabra huérfana en la última línea. */
body.scheme_sheme_2 h1,
body.scheme_sheme_2 h2,
body.scheme_sheme_2 h3 {
	text-wrap: balance;
}

body.scheme_sheme_2 .page_content_wrap p {
	text-wrap: pretty;
}

/*
 * Foco visible. Ni el tema ni el kit lo traen: se navega con el tabulador y no
 * se ve dónde estás. `:focus-visible` y no `:focus`, para que el anillo no salte
 * al hacer clic con el ratón.
 */
body a:focus-visible,
body button:focus-visible,
body input:focus-visible,
body select:focus-visible,
body textarea:focus-visible,
body [tabindex]:focus-visible {
	outline: 3px solid var(--avape-morado);
	outline-offset: 3px;
	border-radius: 0;
}

/* Sobre los campos oscuros el anillo morado no se vería: se aclara. */
body .avape-campo--morado a:focus-visible,
body .avape-campo--morado button:focus-visible,
body .avape-campo--hondo a:focus-visible,
body .avape-campo--hondo button:focus-visible,
body .avape-campo--magenta a:focus-visible,
body footer a:focus-visible {
	outline-color: #fff;
}

/*
 * Un enlace dentro de un texto no puede distinguirse solo por el color
 * (WCAG 1.4.1): va subrayado. Quedan fuera los que ya se distinguen por su
 * forma —botones— y los de menús y listas de iconos.
 */
body.scheme_sheme_2 .vc_column_text a:not(.vc_btn3):not(.sc_button):not([class*="avape-"]),
body.scheme_sheme_2 .post_content a:not(.vc_btn3):not(.sc_button):not([class*="avape-"]) {
	text-decoration: underline;
	text-underline-offset: 0.18em;
	color: var(--avape-morado);
}

body.scheme_sheme_2 .vc_column_text a:not(.vc_btn3):not([class*="avape-"]):hover,
body.scheme_sheme_2 .post_content a:not(.vc_btn3):not([class*="avape-"]):hover {
	color: var(--avape-tinta);
}

/* Nada de desbordamiento horizontal. */
body.scheme_sheme_2 .vc_row {
	overflow-x: clip;
}

/* ---------------------------------------------------------------------------
   2. Movimiento
   --------------------------------------------------------------------------- */

/*
 * Un capítulo solo se esconde si el script ha llegado y ha puesto la marca
 * `avape-js` en el <html>. Sin script —o con el script roto— la página se ve
 * entera: esconder contenido que puede no volver nunca es el fallo que más
 * caro sale y el que ninguna auditoría detecta.
 */
html.avape-js body .avape-entra {
	opacity: 0;
	transform: translateY(18px);
	transition: opacity 600ms cubic-bezier(0.2, 0.7, 0.3, 1), transform 600ms cubic-bezier(0.2, 0.7, 0.3, 1);
}

html.avape-js body .avape-entra.avape-entra--visible {
	opacity: 1;
	transform: none;
}

/* Escalonado corto: pasado el cuarto elemento el visitante ya ha seguido leyendo. */
html.avape-js body .avape-entra:nth-child(2) { transition-delay: 120ms; }
html.avape-js body .avape-entra:nth-child(3) { transition-delay: 240ms; }
html.avape-js body .avape-entra:nth-child(4) { transition-delay: 360ms; }

@media (prefers-reduced-motion: reduce) {
	html body .avape-entra,
	html body .avape-entra.avape-entra--visible {
		opacity: 1;
		transform: none;
		transition: none;
	}

	body .animated,
	body .sc_scroll_controls,
	body [data-animation] {
		animation: none !important;
		transition: none !important;
	}

	html {
		scroll-behavior: auto;
	}
}

/* ---------------------------------------------------------------------------
   3. Los campos de color: un capítulo, un campo
   --------------------------------------------------------------------------- */

body.scheme_sheme_2 .avape-campo {
	padding-top: var(--avape-capitulo);
	padding-bottom: var(--avape-capitulo);
}

/*
 * El aire lateral va en el contenedor interior, no en la fila: WPBakery escribe
 * el padding de la fila estirada con JavaScript, en línea, y una hoja de estilo
 * no puede ganarle sin `!important`.
 *
 * 48 px de mínimo a la izquierda porque la pestaña fija «¡Anúnciate en nuestra
 * web!» ocupa los 33 primeros píxeles de la pantalla y se comía la primera
 * columna.
 */
body.scheme_sheme_2 .avape-campo > .wpb_column > .vc_column-inner {
	padding-left: clamp(48px, 5vw, 72px);
	padding-right: clamp(24px, 5vw, 72px);
}

/* En pantallas anchas el contenido no se estira de borde a borde. */
body.scheme_sheme_2 .avape-campo:not(.avape-anuncios) > .wpb_column > .vc_column-inner {
	max-width: 1304px;
	margin-left: auto;
	margin-right: auto;
}

/* El héroe se maneja solo, pero la pestaña fija también le afecta. */
body.scheme_sheme_2 .avape-heroe {
	padding-left: max(var(--avape-margen), 48px);
}

body.scheme_sheme_2 .avape-campo--papel { background-color: var(--avape-papel); }
body.scheme_sheme_2 .avape-campo--blanco { background-color: #fff; }

body.scheme_sheme_2 .avape-campo--morado { background-color: var(--avape-morado); }
body.scheme_sheme_2 .avape-campo--hondo { background-color: var(--avape-morado-hondo); }
body.scheme_sheme_2 .avape-campo--magenta { background-color: var(--avape-magenta); }

/*
 * Al cambiar el fondo de una sección hay que repasar TODOS sus textos, no solo
 * el titular: es de donde salen los fallos de contraste que nadie ve.
 */
body.scheme_sheme_2 .avape-campo--morado,
body.scheme_sheme_2 .avape-campo--morado p,
body.scheme_sheme_2 .avape-campo--morado li,
body.scheme_sheme_2 .avape-campo--morado h1,
body.scheme_sheme_2 .avape-campo--morado h2,
body.scheme_sheme_2 .avape-campo--morado h3,
body.scheme_sheme_2 .avape-campo--hondo,
body.scheme_sheme_2 .avape-campo--hondo p,
body.scheme_sheme_2 .avape-campo--hondo li,
body.scheme_sheme_2 .avape-campo--hondo h1,
body.scheme_sheme_2 .avape-campo--hondo h2,
body.scheme_sheme_2 .avape-campo--hondo h3,
body.scheme_sheme_2 .avape-campo--magenta,
body.scheme_sheme_2 .avape-campo--magenta p,
body.scheme_sheme_2 .avape-campo--magenta h2 {
	color: #fff;
}

body.scheme_sheme_2 .avape-campo--morado .avape-suave,
body.scheme_sheme_2 .avape-campo--hondo .avape-suave {
	color: var(--avape-tinta-clara);
}

body.scheme_sheme_2 .avape-campo--morado a:not(.vc_btn3),
body.scheme_sheme_2 .avape-campo--hondo a:not(.vc_btn3),
body.scheme_sheme_2 .avape-campo--magenta a:not(.vc_btn3) {
	color: #fff;
	text-decoration: underline;
	text-underline-offset: 0.18em;
}

/* ---------------------------------------------------------------------------
   4. Héroe — campo de color, enunciado a dos tintas
   --------------------------------------------------------------------------- */

body.scheme_sheme_2 .avape-heroe {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	/*
	 * El héroe ocupa la primera pantalla entera: lo que queda del viewport por
	 * debajo de la cabecera. `--avape-cabecera` la mide el script en cada carga
	 * y en cada cambio de tamaño, porque la cabecera del tema no mide igual en
	 * escritorio (170 px) que en móvil. El valor de reserva es el de escritorio,
	 * por si el script no llega.
	 *
	 * `svh` y no `vh` ni `dvh`: en el móvil `vh` cuenta la barra del navegador
	 * como si no existiera y el héroe se sale por abajo; `dvh` cambia al ocultarse
	 * esa barra y la página pega un salto a mitad de scroll.
	 */
	/*
	 * `border-box` es imprescindible aquí: el tema deja `content-box`, y con él
	 * el `min-height` se aplica al contenido y el relleno se suma por fuera, así
	 * que el héroe acababa 84 px más alto de lo pedido y se salía de la pantalla.
	 */
	box-sizing: border-box;
	min-height: calc(100vh - var(--avape-cabecera, 170px));
	min-height: calc(100svh - var(--avape-cabecera, 170px));
	padding: clamp(32px, 7vh, 88px) var(--avape-margen) clamp(28px, 4vh, 56px);
	background-color: var(--avape-morado);
	color: #fff;
	overflow: hidden;
}

/* Sin hueco entre la cabecera y el héroe: lo que se gana arriba se nota. */
body.scheme_sheme_2.home .page_content_wrap > .avape-heroe-fila:first-child,
body.scheme_sheme_2 .avape-heroe-fila {
	margin-top: 0;
}

/*
 * El enunciado va en el h1 porque nombra el asunto de la página. Dos líneas,
 * dos tintas sobre el mismo campo. El blueprint pedía una tinta pálida y otra
 * oscura; una tinta oscura sobre este morado se queda en 1,6:1, así que las dos
 * son claras (rosa 6,91:1 y blanco 9,14:1). El contraste manda sobre la hoja
 * de dirección (nivel 3 por encima del nivel 5).
 */
body.scheme_sheme_2 .avape-heroe__enunciado {
	margin: 0;
	font-family: "Josefin Sans", sans-serif;
	font-size: var(--avape-display);
	font-weight: 700;
	line-height: 0.82;
	letter-spacing: -0.03em;
	text-transform: none;
	max-width: 15ch;
}

body.scheme_sheme_2 .avape-heroe__linea {
	display: block;
}

body.scheme_sheme_2 .avape-heroe__linea--palida { color: var(--avape-tinta-clara); }
body.scheme_sheme_2 .avape-heroe__linea--viva { color: #fff; }

body.scheme_sheme_2 .avape-heroe__pie {
	display: flex;
	flex-wrap: wrap;
	gap: 32px;
	align-items: flex-end;
	justify-content: space-between;
	margin-top: clamp(40px, 8vh, 96px);
}

body.scheme_sheme_2 .avape-heroe__frase {
	max-width: 34ch;
	margin: 0;
	font-size: var(--avape-texto);
	line-height: 1.5;
	color: var(--avape-tinta-clara);
	text-align: right;
	margin-left: auto;
}

body.scheme_sheme_2 .avape-heroe .avape-boton {
	flex: 0 0 auto;
}

@media (max-width: 47.9em) {
	body.scheme_sheme_2 .avape-heroe {
		padding-left: 16px;
		padding-right: 16px;
	}

	body.scheme_sheme_2 .avape-heroe__enunciado {
		/*
		 * 21 vw es el valor del blueprint para líneas de hasta ocho caracteres.
		 * «valenciana» tiene diez y a 21 vw se partía en «valencian / a».
		 */
		font-size: 15vw;
	}

	body.scheme_sheme_2 .avape-heroe__frase {
		text-align: left;
		margin-left: 0;
		font-size: 16px;
	}

	body.scheme_sheme_2 .avape-heroe__pie {
		flex-direction: column;
		align-items: flex-start;
	}
}

/* ---------------------------------------------------------------------------
   5. Botón: recto, con cuerpo, y con estado de pulsación
   --------------------------------------------------------------------------- */

body.scheme_sheme_2 .avape-boton,
body.scheme_sheme_2 .vc_btn3.vc_btn3-color-violet {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 14px 28px;
	border: 2px solid transparent;
	border-radius: 0;
	background-color: #fff;
	color: var(--avape-morado);
	font-family: "Josefin Sans", sans-serif;
	font-size: var(--avape-texto);
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.02em;
	text-decoration: none;
	text-transform: none;
	transition: background-color 200ms ease, color 200ms ease, transform 120ms ease;
}

body.scheme_sheme_2 .avape-boton:hover,
body.scheme_sheme_2 .avape-boton:focus-visible {
	background-color: var(--avape-tinta-clara);
	color: var(--avape-morado-hondo);
}

body.scheme_sheme_2 .avape-boton:active {
	transform: translateY(1px);
}

/* Variante sobre fondo claro */
body.scheme_sheme_2 .avape-boton--tinta {
	background-color: var(--avape-morado);
	color: #fff;
}

body.scheme_sheme_2 .avape-boton--tinta:hover,
body.scheme_sheme_2 .avape-boton--tinta:focus-visible {
	background-color: var(--avape-morado-hondo);
	color: #fff;
}

/* ---------------------------------------------------------------------------
   6. Intro — línea de entrada sobre cuatro columnas
   --------------------------------------------------------------------------- */

body.scheme_sheme_2 .avape-intro__entrada {
	max-width: 30ch;
	margin: 0 0 clamp(40px, 6vw, 72px);
	font-family: "Josefin Sans", sans-serif;
	font-size: clamp(26px, 3.6vw, 44px);
	font-weight: 400;
	line-height: 1.15;
	letter-spacing: -0.02em;
	color: var(--avape-tinta);
}

body.scheme_sheme_2 .avape-intro__columnas {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 32px;
	align-items: start;
}

body.scheme_sheme_2 .avape-intro__columnas p {
	margin: 0;
	font-size: var(--avape-menudo);
	line-height: 1.5;
	color: var(--avape-tinta-suave);
	max-width: none;
}

body.scheme_sheme_2 .avape-intro__columnas strong {
	color: var(--avape-tinta);
	font-weight: 700;
}

@media (max-width: 61.9em) {
	body.scheme_sheme_2 .avape-intro__columnas {
		grid-template-columns: repeat(2, 1fr);
		gap: 32px 24px;
	}
}

@media (max-width: 34.9em) {
	body.scheme_sheme_2 .avape-intro__columnas {
		grid-template-columns: 1fr;
	}
}

/* ---------------------------------------------------------------------------
   7. Ventajas — la hoja de precios
   --------------------------------------------------------------------------- */

body.scheme_sheme_2 .avape-hoja {
	max-width: 620px;
	margin: 0 auto;
	padding: clamp(32px, 5vw, 56px) clamp(24px, 4vw, 48px);
	background-color: #fff;
}

body.scheme_sheme_2 .avape-hoja__titulo {
	margin: 0 0 32px;
	text-align: center;
	font-size: var(--avape-titulo);
	line-height: 1.05;
	color: var(--avape-tinta);
}

body.scheme_sheme_2 .avape-hoja__grupo {
	margin: 0 0 36px;
}

body.scheme_sheme_2 .avape-hoja__grupo-nombre {
	margin: 0 0 16px;
	font-size: var(--avape-texto);
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--avape-tinta-suave);
}

body.scheme_sheme_2 .avape-hoja__lista {
	margin: 0;
	padding: 0;
	list-style: none;
}

body.scheme_sheme_2 .avape-hoja__linea {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: baseline;
	gap: 8px;
	margin: 0 0 14px;
	font-size: var(--avape-texto);
	color: var(--avape-tinta);
}

/* El puntilleo que une el concepto con su cifra, como en una carta impresa. */
body.scheme_sheme_2 .avape-hoja__puntos {
	border-bottom: 3px dotted #cfc5cb;
	transform: translateY(-4px);
}

body.scheme_sheme_2 .avape-hoja__cifra {
	font-variant-numeric: tabular-nums;
	font-weight: 700;
	color: var(--avape-morado);
	white-space: nowrap;
}

body.scheme_sheme_2 .avape-hoja__nota {
	margin: 4px 0 0;
	font-size: var(--avape-menudo);
	line-height: 1.45;
	color: var(--avape-tinta-suave);
	max-width: 34ch;
}

/* ---------------------------------------------------------------------------
   8. Proof — los nombres escritos como una sola frase
   --------------------------------------------------------------------------- */

body.scheme_sheme_2 .avape-frase {
	margin: 0;
	max-width: 22ch;
	font-family: "Josefin Sans", sans-serif;
	font-size: clamp(30px, 5vw, 64px);
	font-weight: 400;
	line-height: 1.04;
	letter-spacing: -0.02em;
	color: var(--avape-tinta-clara);
}

body.scheme_sheme_2 .avape-frase__apertura {
	color: #fff;
}

body.scheme_sheme_2 .avape-frase__nombre {
	transition: color 400ms ease;
}

body.scheme_sheme_2 .avape-frase__nombre--encendido {
	color: #fff;
}

/* ---------------------------------------------------------------------------
   9. La junta: retratos y nombres (los nombres no son encabezados)
   --------------------------------------------------------------------------- */

body.scheme_sheme_2 .avape-junta {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 32px 24px;
}

body.scheme_sheme_2 .avape-junta__persona {
	margin: 0;
}

body.scheme_sheme_2 .avape-junta__persona img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	filter: grayscale(1);
	transition: filter 300ms ease;
}

body.scheme_sheme_2 .avape-junta__persona:hover img {
	filter: none;
}

body.scheme_sheme_2 .avape-junta__nombre {
	display: block;
	margin: 14px 0 2px;
	font-family: "Josefin Sans", sans-serif;
	font-size: var(--avape-texto);
	font-weight: 700;
	line-height: 1.15;
	color: var(--avape-tinta);
}

body.scheme_sheme_2 .avape-junta__cargo {
	display: block;
	font-size: var(--avape-menudo);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--avape-tinta-suave);
}

@media (max-width: 47.9em) {
	body.scheme_sheme_2 .avape-junta {
		grid-template-columns: repeat(2, 1fr);
	}
}

/* ---------------------------------------------------------------------------
   10. Fotografía grande y escasa
   --------------------------------------------------------------------------- */

body.scheme_sheme_2 .avape-fotos {
	display: grid;
	grid-template-columns: 1.4fr 1fr;
	gap: 8px;
}

body.scheme_sheme_2 .avape-fotos img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

body.scheme_sheme_2 .avape-fotos__alta {
	grid-row: span 2;
}

body.scheme_sheme_2 .avape-fotos__pie {
	grid-column: 1 / -1;
	margin: 12px 0 0;
	font-size: var(--avape-menudo);
	color: var(--avape-tinta-suave);
}

@media (max-width: 47.9em) {
	body.scheme_sheme_2 .avape-fotos {
		grid-template-columns: 1fr;
	}

	body.scheme_sheme_2 .avape-fotos__alta {
		grid-row: auto;
		aspect-ratio: 4 / 3;
	}
}

/* ---------------------------------------------------------------------------
   11. Llamada «Asóciate»: toda la banda es el enlace
   ---------------------------------------------------------------------------
   Antes: la frase iba encima de la palabra y la «A» y el acento de la «ó» se
   la comían; y al pasar el ratón toda la banda se volvía blanca de golpe.
   Ahora: la palabra a un lado y, al otro, el precio y un botón que dice adónde
   lleva. Al pasar el ratón el campo solo se oscurece y la flecha avanza: un
   cambio que se nota sin cambiar de color la sección entera.
   --------------------------------------------------------------------------- */

body.scheme_sheme_2 .avape-llamada,
body.scheme_sheme_2 .vc_column_text a.avape-llamada {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
	align-items: end;
	gap: clamp(32px, 5vw, 80px);
	padding: clamp(56px, 8vw, 112px) max(var(--avape-margen), 48px);
	background-color: var(--avape-magenta);
	color: #fff;                        /* 5,78:1 sobre el magenta */
	text-decoration: none;
	transition: background-color 250ms ease;
}

body.scheme_sheme_2 .avape-llamada__palabra {
	display: block;
	/* Aire arriba para el acento de la «ó»: la línea va muy apretada. */
	padding-top: 0.12em;
	font-family: "Josefin Sans", sans-serif;
	font-size: clamp(64px, 10.5vw, 184px);
	font-weight: 700;
	line-height: 0.86;
	letter-spacing: -0.04em;
	color: #fff;
}

body.scheme_sheme_2 .avape-llamada__lado {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 16px;
	max-width: 30rem;
}

body.scheme_sheme_2 .avape-llamada__nota {
	display: block;
	font-family: "Josefin Sans", sans-serif;
	font-size: var(--avape-subtitulo);
	font-weight: 700;
	line-height: 1.2;
	color: #fff;                        /* 5,78:1 */
	text-wrap: balance;
}

body.scheme_sheme_2 .avape-llamada__detalle {
	display: block;
	font-size: var(--avape-texto);
	line-height: 1.5;
	color: var(--avape-tinta-rosada);   /* 5,0:1 sobre el magenta; el rosa de siempre se quedaba en 4,37 */
}

/*
 * No es un <button>: está dentro del enlace, que ya es la banda entera. Es la
 * pista visual de que se puede pulsar y de adónde lleva.
 */
body.scheme_sheme_2 .avape-llamada__boton {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	min-height: 52px;
	margin-top: 8px;
	padding: 14px 24px;
	background-color: #fff;
	color: var(--avape-magenta);        /* 5,78:1 sobre blanco */
	font-family: "Josefin Sans", sans-serif;
	font-size: var(--avape-texto);
	font-weight: 700;
	line-height: 1.2;
}

body.scheme_sheme_2 .avape-llamada__boton svg {
	transition: transform 250ms cubic-bezier(0.2, 0.7, 0.3, 1);
}

/* --- Hover y foco --- */

body.scheme_sheme_2 .avape-llamada:hover,
body.scheme_sheme_2 .avape-llamada:focus-visible {
	background-color: var(--avape-magenta-hondo);  /* blanco encima 7,83:1 */
	color: #fff;
}

body.scheme_sheme_2 .avape-llamada:hover .avape-llamada__boton,
body.scheme_sheme_2 .avape-llamada:focus-visible .avape-llamada__boton {
	color: var(--avape-magenta-hondo);  /* 7,83:1 sobre blanco */
}

body.scheme_sheme_2 .avape-llamada:hover .avape-llamada__boton svg,
body.scheme_sheme_2 .avape-llamada:focus-visible .avape-llamada__boton svg {
	transform: translateX(5px);
}

/* La banda va a sangre: el anillo de foco se dibuja por dentro para que se vea. */
body.scheme_sheme_2 .avape-llamada:focus-visible {
	outline: 3px solid #fff;
	outline-offset: -10px;
}

body.scheme_sheme_2 .avape-llamada:active .avape-llamada__boton {
	transform: translateY(1px);
}

@media (prefers-reduced-motion: reduce) {
	body.scheme_sheme_2 .avape-llamada,
	body.scheme_sheme_2 .avape-llamada__boton svg {
		transition: none;
	}

	body.scheme_sheme_2 .avape-llamada:hover .avape-llamada__boton svg,
	body.scheme_sheme_2 .avape-llamada:focus-visible .avape-llamada__boton svg {
		transform: none;
	}
}

@media (max-width: 61.9em) {
	body.scheme_sheme_2 .avape-llamada,
	body.scheme_sheme_2 .vc_column_text a.avape-llamada {
		grid-template-columns: 1fr;
		align-items: start;
		gap: 24px;
	}

	body.scheme_sheme_2 .avape-llamada__palabra {
		font-size: clamp(64px, 19vw, 150px);
	}
}

@media (max-width: 47.9em) {
	body.scheme_sheme_2 .avape-llamada,
	body.scheme_sheme_2 .vc_column_text a.avape-llamada {
		padding-left: 20px;
		padding-right: 20px;
	}

	body.scheme_sheme_2 .avape-llamada__boton {
		align-self: stretch;
		justify-content: space-between;
	}
}

/* ---------------------------------------------------------------------------
   12. Rótulos que no son encabezados
   --------------------------------------------------------------------------- */

body.scheme_sheme_2 .avape-rotulo {
	display: block;
	margin: 0 0 20px;
	font-family: "Josefin Sans", sans-serif;
	font-size: var(--avape-menudo);
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--avape-tinta-suave);
}

body.scheme_sheme_2 .avape-campo--morado .avape-rotulo,
body.scheme_sheme_2 .avape-campo--hondo .avape-rotulo {
	color: var(--avape-tinta-clara);
}

/* Título de capítulo: el h2 real de cada sección. */
body.scheme_sheme_2 .avape-capitulo-titulo {
	margin: 0 0 clamp(24px, 3vw, 40px);
	font-size: var(--avape-titulo);
	line-height: 1.05;
}

/* Texto solo para lectores de pantalla. */
.avape-oculto {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

/* Enlace de salto: tiene que verse al recibir el foco. */
body .avape-saltar {
	position: absolute;
	left: 8px;
	top: -200px;
	z-index: 10000;
	padding: 12px 20px;
	background: var(--avape-morado);
	color: #fff;
	font-size: var(--avape-texto);
	text-decoration: none;
	transition: top 160ms ease;
}

body .avape-saltar:focus {
	top: 8px;
}

/* ---------------------------------------------------------------------------
   13. Pie — dos bandas
   ---------------------------------------------------------------------------
   El logotipo del cliente es un JPEG negro y magenta sobre blanco: sobre el
   morado se vería como un recuadro blanco, y recolorearlo con filtros CSS
   degrada el original (§6.1). Así que el pie se parte en dos bandas: las
   columnas van en papel, donde el logotipo se lee tal cual, y el cierre en
   morado hondo. Es además una estructura decidida para este proyecto, no
   heredada del anterior (§6.4).
   --------------------------------------------------------------------------- */

body.scheme_sheme_2 footer.site_footer_wrap {
	background-color: var(--avape-papel);
}

body.scheme_sheme_2 footer .footer_wrap {
	padding-top: clamp(48px, 6vw, 80px);
	padding-bottom: clamp(40px, 5vw, 64px);
}

/*
 * «Dirección», «Contacto» y «Legal» son rótulos de agrupación, no secciones:
 * el pie se repite en todas las páginas y cada h5 suyo se colaba en el esquema
 * de encabezados de cada una (§6.3). El marcado pasa a <div> desde PHP; aquí se
 * les devuelve el aspecto, porque al dejar de ser h5 pierden la tipografía que
 * el kit define a nivel de elemento.
 */
body.scheme_sheme_2 footer .widget_title,
body.scheme_sheme_2 footer .avape-pie__rotulo {
	display: block;
	margin: 0 0 16px;
	font-family: "Josefin Sans", sans-serif;
	font-size: var(--avape-texto);
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--avape-tinta);
}

body.scheme_sheme_2 footer,
body.scheme_sheme_2 footer p,
body.scheme_sheme_2 footer li,
body.scheme_sheme_2 footer .textwidget {
	color: var(--avape-tinta-suave);
	font-size: var(--avape-menudo);
	line-height: 1.6;
}

body.scheme_sheme_2 footer a {
	color: var(--avape-morado);
	text-decoration: underline;
	text-underline-offset: 0.18em;
}

body.scheme_sheme_2 footer a:hover {
	color: var(--avape-tinta);
}

/* El logotipo del pie: enlazado a la portada y sobre su fondo claro. */
body.scheme_sheme_2 .avape-pie__marca {
	margin: 0 0 16px;
}

body.scheme_sheme_2 .avape-pie__marca a {
	display: inline-block;
	text-decoration: none;
}

body.scheme_sheme_2 .avape-pie__marca img {
	display: block;
	width: auto;
	max-width: 200px;
	height: auto;
}

body.scheme_sheme_2 .avape-pie__legales {
	margin: 0;
	padding: 0;
	list-style: none;
}

body.scheme_sheme_2 .avape-pie__legales li {
	margin: 0 0 8px;
}

/* --- Banda de cierre --- */

body.scheme_sheme_2 .copyright_wrap {
	background-color: var(--avape-morado-hondo);
	border-top: 0;
	padding: 24px 0;
}

body.scheme_sheme_2 .copyright_text,
body.scheme_sheme_2 .copyright_text p {
	color: var(--avape-tinta-clara);   /* 9,5:1 sobre #5e1850 */
	font-size: var(--avape-menudo);
	margin: 0;
}

body.scheme_sheme_2 .copyright_wrap a {
	color: #fff;
	text-decoration: underline;
	text-underline-offset: 0.18em;
}

body.scheme_sheme_2 .copyright_wrap a:hover {
	color: var(--avape-tinta-clara);
}

/* Los iconos sociales ya llevan su nombre accesible; aquí, el objetivo táctil. */
body.scheme_sheme_2 .socials_wrap .social_item a {
	min-width: 44px;
	min-height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	text-decoration: none;
}

/*
 * La pestaña fija «¡Anúnciate en nuestra web!» ocupa los 33 primeros píxeles de
 * la pantalla a cualquier altura: el pie y el contenido general necesitan ese
 * aire a la izquierda para que no se coma la primera columna.
 */
body.scheme_sheme_2 footer .content_wrap,
body.scheme_sheme_2 .copyright_wrap .content_wrap {
	padding-left: 48px;
	padding-right: 24px;
	box-sizing: border-box;
}

/* ---------------------------------------------------------------------------
   14. Correcciones de contraste medidas en el DOM renderizado
   ---------------------------------------------------------------------------
   Ocho fallos reales encontrados al recorrer la portada entera a 1440 px. Cada
   uno con su ratio antes y después.
   --------------------------------------------------------------------------- */

/* El enlace secundario del héroe salía morado sobre morado: 1,0:1. Invisible. */
body.scheme_sheme_2 .avape-heroe__secundario {
	color: #fff;                      /* 9,14:1 sobre el morado */
	font-size: var(--avape-texto);
	text-decoration: underline;
	text-underline-offset: 0.18em;
}

body.scheme_sheme_2 .avape-heroe__secundario:hover,
body.scheme_sheme_2 .avape-heroe__secundario:focus-visible {
	color: var(--avape-tinta-clara);  /* 6,91:1 */
}

/*
 * El tema pinta un velo morado al 50 % sobre cualquier <figcaption>, pensado
 * para pies de foto encima de la imagen. En la junta el pie va debajo, así que
 * el velo solo servía para dejar el cargo en 2,26:1.
 */
body.scheme_sheme_2 .avape-junta figcaption,
body.scheme_sheme_2 .avape-figura figcaption {
	background: none;
	padding: 0;
	position: static;
	text-align: left;
	opacity: 1;
	transform: none;
}

/* La barra superior: iconos y enlaces sobre el morado. */
body.scheme_sheme_2 .top_panel_top_wrap,
body.scheme_sheme_2 .top_panel_top_wrap a,
body.scheme_sheme_2 .top_panel_top_wrap .icon-mail,
body.scheme_sheme_2 .top_panel_top_wrap [class^="icon-"] {
	color: #fff;                      /* 9,14:1 sobre el morado */
}

body.scheme_sheme_2 .top_panel_top_wrap a {
	text-decoration: underline;
	text-underline-offset: 0.18em;
}

/* Rótulos y enlaces del pie, ahora sobre la banda clara. */
body.scheme_sheme_2 .footer_wrap .widget_title,
body.scheme_sheme_2 .footer_wrap .avape-pie__rotulo {
	color: var(--avape-tinta);        /* 16,5:1 sobre el papel */
}

body.scheme_sheme_2 .footer_wrap .widget_contacts .contacts_info a,
body.scheme_sheme_2 .footer_wrap .widget_contacts .contacts_info span a,
body.scheme_sheme_2 .footer_wrap a {
	color: var(--avape-morado);       /* 8,36:1 sobre el papel */
}

body.scheme_sheme_2 .footer_wrap .widget_contacts .contacts_info a:hover,
body.scheme_sheme_2 .footer_wrap a:hover {
	color: var(--avape-tinta);
}

/*
 * En el móvil la pestaña fija «¡Anúnciate en nuestra web!» ocupa un tercio de
 * la altura de la pantalla por la izquierda y se come el texto. La propuesta de
 * anunciarse sigue entera en la sección «Anúnciate aquí» del final de la
 * portada, así que en pantallas estrechas la pestaña no se muestra.
 */
@media (max-width: 47.9em) {
	/* La pestaña la pinta Simple Side Tab (#rum_sst_tab), no el scrollbox. */
	#rum_sst_tab,
	#dgd_scrollbox-2179-tab {
		display: none;
	}

	body.scheme_sheme_2 .avape-campo > .wpb_column > .vc_column-inner {
		padding-left: 20px;
		padding-right: 20px;
	}

	body.scheme_sheme_2 footer .content_wrap,
	body.scheme_sheme_2 .copyright_wrap .content_wrap {
		padding-left: 20px;
		padding-right: 20px;
	}

	body.scheme_sheme_2 .avape-heroe {
		padding-left: 16px;
	}
}

/*
 * A 768 px el contenedor del tema se iba a 783 px y sacaba barra horizontal.
 * Se mide durante el scroll, no solo al cargar.
 */
body.scheme_sheme_2 .content_wrap,
body.scheme_sheme_2 .columns_wrap {
	max-width: 100%;
	box-sizing: border-box;
}

html,
body {
	overflow-x: clip;
}

/*
 * El formulario del área privada rotulaba «AVAPE» con un <h1>, de modo que esa
 * página tenía dos. Pasa a <div> y recupera aquí su aspecto.
 */
body.scheme_sheme_2 .dt-login-marca {
	font-family: "Josefin Sans", sans-serif;
	font-size: var(--avape-titulo);
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: -0.02em;
	color: var(--avape-morado);
	margin: 0 0 16px;
}

/*
 * El aviso flotante «Anúnciate en nuestra web» pintaba texto morado sobre su
 * propio fondo morado. Todo su contenido va en blanco.
 */
body.scheme_sheme_2 #dgd_scrollbox-2179,
body.scheme_sheme_2 #dgd_scrollbox-2179 p,
body.scheme_sheme_2 #dgd_scrollbox-2179 li {
	color: #fff;                      /* 9,14:1 sobre el morado */
	font-size: var(--avape-menudo);
	line-height: 1.6;
}

body.scheme_sheme_2 #dgd_scrollbox-2179 a:not(.avape-boton) {
	color: #fff;
	text-decoration: underline;
	text-underline-offset: 0.18em;
}

body.scheme_sheme_2 #dgd_scrollbox-2179 ul {
	margin: 0 0 20px;
	padding-left: 1.2em;
}

/* ---------------------------------------------------------------------------
   15. Fotografía: grande y escasa
   ---------------------------------------------------------------------------
   La dirección manda que las fotos lleguen «grandes y pocas», como descanso
   entre los capítulos de tipografía. Todas son de AVAPE: la sede, la feria y
   las jornadas de formación.
   --------------------------------------------------------------------------- */

/* --- Banda a sangre --- */

body.scheme_sheme_2 .avape-banda-foto {
	position: relative;
	margin: 0;
	background-color: var(--avape-tinta);
}

body.scheme_sheme_2 .avape-banda-foto img {
	display: block;
	width: 100%;
	height: clamp(280px, 56svh, 640px);
	object-fit: cover;
	object-position: center 40%;
}

body.scheme_sheme_2 .avape-banda-foto figcaption {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	margin: 0;
	padding: 64px clamp(24px, 5vw, 72px) 20px;
	background: linear-gradient(to top, rgba(28, 20, 24, 0.85), rgba(28, 20, 24, 0));
	color: #fff;                      /* sobre el 85 % de #1c1418: 14,5:1 en el peor caso */
	font-size: var(--avape-menudo);
	line-height: 1.5;
}

/* --- Intro: las cuatro columnas y la foto de la sede --- */

body.scheme_sheme_2 .avape-intro__cuerpo {
	display: grid;
	grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr);
	gap: clamp(32px, 4vw, 64px);
	align-items: start;
}

body.scheme_sheme_2 .avape-intro__cuerpo .avape-intro__columnas {
	grid-template-columns: repeat(2, 1fr);
}

body.scheme_sheme_2 .avape-figura {
	margin: 0;
}

body.scheme_sheme_2 .avape-figura img {
	display: block;
	width: 100%;
	height: auto;
}

body.scheme_sheme_2 .avape-figura figcaption {
	margin-top: 12px;
	font-size: var(--avape-menudo);
	line-height: 1.5;
	color: var(--avape-tinta-suave);
}

body.scheme_sheme_2 .avape-campo--hondo .avape-figura figcaption,
body.scheme_sheme_2 .avape-campo--morado .avape-figura figcaption {
	color: var(--avape-tinta-clara);
}

/* --- La hoja de precios, con la foto de una jornada al lado --- */

body.scheme_sheme_2 .avape-cuota {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(32px, 4vw, 64px);
	align-items: center;
}

body.scheme_sheme_2 .avape-cuota .avape-hoja {
	margin: 0;
	max-width: none;
}

/* --- Federaciones: la frase y el logotipo de FANAE --- */

body.scheme_sheme_2 .avape-federaciones {
	display: grid;
	grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
	gap: clamp(32px, 4vw, 64px);
	align-items: center;
}

/*
 * El logotipo de FANAE es un JPEG sobre blanco: sobre el morado hondo necesita
 * su propia superficie clara, no un filtro que lo estropee.
 */
body.scheme_sheme_2 .avape-federaciones .avape-figura img {
	background: #fff;
	padding: 24px;
	box-sizing: border-box;
}

@media (max-width: 61.9em) {
	body.scheme_sheme_2 .avape-intro__cuerpo,
	body.scheme_sheme_2 .avape-cuota,
	body.scheme_sheme_2 .avape-federaciones {
		grid-template-columns: 1fr;
	}

	body.scheme_sheme_2 .avape-federaciones .avape-figura {
		max-width: 320px;
	}
}

@media (max-width: 34.9em) {
	body.scheme_sheme_2 .avape-intro__cuerpo .avape-intro__columnas {
		grid-template-columns: 1fr;
	}
}

/* La cuarta foto de la feria ocupa las dos columnas, bajo las otras tres. */
body.scheme_sheme_2 .avape-fotos__ancha {
	grid-column: 1 / -1;
	aspect-ratio: 21 / 9;
}

/*
 * El botón flotante de WhatsApp vive fijo en la esquina inferior derecha y se
 * comía el final de la frase de apoyo del héroe, que va justo ahí. Se le deja
 * sitio: 60 px del botón más su margen.
 */
body.scheme_sheme_2 .avape-heroe__pie {
	padding-right: 88px;
}

@media (max-width: 47.9em) {
	body.scheme_sheme_2 .avape-heroe__pie {
		padding-right: 0;
		padding-bottom: 72px;
	}
}

/* ---------------------------------------------------------------------------
   16. Botón de descarga
   ---------------------------------------------------------------------------
   Los dos enlaces de «Hazte Socia/o» usaban el botón genérico de WPBakery y se
   leían como dos líneas de texto morado: ni parecían botones ni decían que
   descargaban nada. Ahora son bloques sólidos, con icono, formato y peso.
   --------------------------------------------------------------------------- */

body.scheme_sheme_2 .avape-descarga {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	min-height: 64px;
	margin: 0 16px 16px 0;
	padding: 14px 26px;
	box-sizing: border-box;
	border: 2px solid var(--avape-morado);
	border-radius: 0;
	background-color: var(--avape-morado);
	color: #fff;                        /* 9,14:1 sobre el morado */
	text-decoration: none;
	transition: background-color 200ms ease, border-color 200ms ease, color 200ms ease, transform 120ms ease;
}

body.scheme_sheme_2 .avape-descarga__icono {
	display: inline-flex;
	flex: 0 0 auto;
	color: inherit;
}

body.scheme_sheme_2 .avape-descarga__texto {
	display: flex;
	flex-direction: column;
	gap: 2px;
	text-align: left;
}

body.scheme_sheme_2 .avape-descarga__titulo {
	font-family: "Josefin Sans", sans-serif;
	font-size: var(--avape-texto);
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.01em;
}

/* El formato y el peso: lo que te vas a llevar, antes de pulsar. */
body.scheme_sheme_2 .avape-descarga__detalle {
	font-size: var(--avape-menudo);
	line-height: 1.2;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--avape-tinta-clara);    /* 6,91:1 sobre el morado */
	font-variant-numeric: tabular-nums;
}

body.scheme_sheme_2 .avape-descarga:hover,
body.scheme_sheme_2 .avape-descarga:focus-visible {
	background-color: var(--avape-morado-hondo);
	border-color: var(--avape-morado-hondo);
	color: #fff;                        /* 12,19:1 */
}

body.scheme_sheme_2 .avape-descarga:active {
	transform: translateY(1px);
}

/* La flecha baja un pelo al pasar el ratón: la descarga se entiende sola. */
body.scheme_sheme_2 .avape-descarga__icono svg {
	transition: transform 200ms ease;
}

body.scheme_sheme_2 .avape-descarga:hover .avape-descarga__icono svg {
	transform: translateY(3px);
}

@media (prefers-reduced-motion: reduce) {
	body.scheme_sheme_2 .avape-descarga__icono svg {
		transition: none;
	}

	body.scheme_sheme_2 .avape-descarga:hover .avape-descarga__icono svg {
		transform: none;
	}
}

/* --- Variante secundaria: el mismo bloque, en hueco --- */

body.scheme_sheme_2 .avape-descarga--secundaria {
	background-color: transparent;
	color: var(--avape-morado);         /* 8,36:1 sobre el papel */
}

body.scheme_sheme_2 .avape-descarga--secundaria .avape-descarga__detalle {
	color: var(--avape-tinta-suave);    /* 5,56:1 sobre el papel */
}

body.scheme_sheme_2 .avape-descarga--secundaria:hover,
body.scheme_sheme_2 .avape-descarga--secundaria:focus-visible {
	background-color: var(--avape-morado);
	border-color: var(--avape-morado);
	color: #fff;
}

body.scheme_sheme_2 .avape-descarga--secundaria:hover .avape-descarga__detalle,
body.scheme_sheme_2 .avape-descarga--secundaria:focus-visible .avape-descarga__detalle {
	color: var(--avape-tinta-clara);
}

@media (max-width: 34.9em) {
	body.scheme_sheme_2 .avape-descarga {
		display: flex;
		width: 100%;
		margin-right: 0;
	}
}

/* ---------------------------------------------------------------------------
   17. Instagram: rejilla de las últimas publicaciones
   --------------------------------------------------------------------------- */

body.scheme_sheme_2 .avape-ig__rejilla {
	display: grid;
	grid-template-columns: repeat(var(--avape-ig-columnas, 3), minmax(0, 1fr));
	gap: 8px;
	margin: 0 0 32px;
	padding: 0;
	list-style: none;
}

body.scheme_sheme_2 .avape-ig__celda {
	margin: 0;
	padding: 0;
}

body.scheme_sheme_2 .avape-ig__enlace {
	position: relative;
	display: block;
	overflow: hidden;
	aspect-ratio: 1 / 1;
	background-color: var(--avape-papel);
}

body.scheme_sheme_2 .avape-ig__enlace img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 400ms cubic-bezier(0.2, 0.7, 0.3, 1);
}

body.scheme_sheme_2 .avape-ig__enlace:hover img,
body.scheme_sheme_2 .avape-ig__enlace:focus-visible img {
	transform: scale(1.04);
}

body.scheme_sheme_2 .avape-ig__enlace:focus-visible {
	outline: 3px solid var(--avape-morado);
	outline-offset: 3px;
}

/* Marca de vídeo, para que se sepa antes de pulsar. */
body.scheme_sheme_2 .avape-ig__video {
	position: absolute;
	top: 10px;
	right: 10px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	background-color: rgba(28, 20, 24, 0.75);
	color: #fff;
}

body.scheme_sheme_2 .avape-ig__pie {
	margin: 0;
}

@media (prefers-reduced-motion: reduce) {
	body.scheme_sheme_2 .avape-ig__enlace img {
		transition: none;
	}

	body.scheme_sheme_2 .avape-ig__enlace:hover img,
	body.scheme_sheme_2 .avape-ig__enlace:focus-visible img {
		transform: none;
	}
}

@media (max-width: 34.9em) {
	body.scheme_sheme_2 .avape-ig__rejilla {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 6px;
	}
}

/*
 * El rótulo de la sección es el nombre de usuario: treinta caracteres sin un
 * espacio. En versales y con el espaciado de los rótulos, a 375 px se partía
 * en «…ESTETICISTA / S». Un usuario de Instagram se escribe en minúsculas.
 */
body.scheme_sheme_2 .avape-ig .avape-rotulo {
	text-transform: none;
	letter-spacing: 0.02em;
	overflow-wrap: anywhere;
}

/* ---------------------------------------------------------------------------
   18. Anunciantes: texto a un lado, rejilla de tres por dos al otro
   ---------------------------------------------------------------------------
   Rejilla estática, sin carrusel: los logotipos de patrocinio no rotan (es lo
   que recomiendan las reglas de UX para conjuntos de logos, y además así se
   ven todos a la vez). La sexta casilla es para quien quiera anunciarse.
   --------------------------------------------------------------------------- */

body.scheme_sheme_2 .avape-patrocinio {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 2.25fr);
	gap: clamp(32px, 5vw, 80px);
	align-items: start;
}

body.scheme_sheme_2 .avape-patrocinio__intro {
	position: sticky;
	top: 32px;
}

body.scheme_sheme_2 .avape-patrocinio__texto {
	margin: 0;
	max-width: 32ch;
	font-size: var(--avape-texto);
	line-height: 1.6;
	color: var(--avape-tinta-suave);    /* 5,56:1 sobre el papel */
}

body.scheme_sheme_2 .avape-patrocinio__rejilla {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(16px, 2vw, 28px);
	margin: 0;
	padding: 0;
	list-style: none;
}

body.scheme_sheme_2 .avape-anuncio {
	margin: 0;
	padding: 0;
}

body.scheme_sheme_2 .avape-anuncio__marco {
	display: flex;
	flex-direction: column;
	height: 100%;
	color: inherit;
	text-decoration: none;
}

/* El anuncio, entero y sin recortar, sobre su propio cuadrado blanco. */
body.scheme_sheme_2 .avape-anuncio__lienzo {
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 1 / 1;
	padding: 12px;
	box-sizing: border-box;
	overflow: hidden;
	background-color: #fff;
}

body.scheme_sheme_2 .avape-anuncio__imagen {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	transition: transform 400ms cubic-bezier(0.2, 0.7, 0.3, 1);
}

body.scheme_sheme_2 .avape-anuncio__nombre {
	display: block;
	margin-top: 14px;
	font-family: "Josefin Sans", sans-serif;
	font-size: var(--avape-texto);
	font-weight: 700;
	line-height: 1.25;
	color: var(--avape-tinta);          /* 16,5:1 */
}

body.scheme_sheme_2 .avape-anuncio__sector {
	display: block;
	margin-top: 4px;
	font-size: var(--avape-menudo);
	line-height: 1.4;
	color: var(--avape-tinta-suave);    /* 5,56:1 */
}

/* Solo los que llevan a algún sitio reaccionan al ratón. */
body.scheme_sheme_2 .avape-anuncio--enlace .avape-anuncio__marco:hover .avape-anuncio__imagen,
body.scheme_sheme_2 .avape-anuncio--enlace .avape-anuncio__marco:focus-visible .avape-anuncio__imagen {
	transform: scale(1.04);
}

body.scheme_sheme_2 .avape-anuncio--enlace .avape-anuncio__marco:hover .avape-anuncio__nombre,
body.scheme_sheme_2 .avape-anuncio--enlace .avape-anuncio__marco:focus-visible .avape-anuncio__nombre {
	color: var(--avape-morado);         /* 8,36:1 */
	text-decoration: underline;
	text-underline-offset: 0.18em;
}

body.scheme_sheme_2 .avape-anuncio__marco:focus-visible {
	outline: 3px solid var(--avape-morado);
	outline-offset: 4px;
}

/* --- La casilla para anunciarse --- */

body.scheme_sheme_2 .avape-anuncio--hueco .avape-anuncio__marco {
	justify-content: space-between;
	aspect-ratio: 1 / 1;
	height: auto;
	padding: clamp(20px, 2.4vw, 32px);
	box-sizing: border-box;
	background-color: var(--avape-morado);
	color: #fff;                        /* 9,14:1 */
	transition: background-color 250ms ease;
}

body.scheme_sheme_2 .avape-anuncio__hueco-titulo {
	font-family: "Josefin Sans", sans-serif;
	font-size: clamp(24px, 2.4vw, 34px);
	font-weight: 700;
	line-height: 1.05;
	letter-spacing: -0.02em;
	color: #fff;
}

body.scheme_sheme_2 .avape-anuncio__hueco-texto {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-size: var(--avape-menudo);
	font-weight: 700;
	line-height: 1.3;
	color: var(--avape-tinta-clara);    /* 6,91:1 */
}

body.scheme_sheme_2 .avape-anuncio__hueco-texto svg {
	flex: 0 0 auto;
	transition: transform 250ms cubic-bezier(0.2, 0.7, 0.3, 1);
}

body.scheme_sheme_2 .avape-anuncio--hueco .avape-anuncio__marco:hover,
body.scheme_sheme_2 .avape-anuncio--hueco .avape-anuncio__marco:focus-visible {
	background-color: var(--avape-morado-hondo);   /* 12,19:1 */
}

body.scheme_sheme_2 .avape-anuncio--hueco .avape-anuncio__marco:hover svg,
body.scheme_sheme_2 .avape-anuncio--hueco .avape-anuncio__marco:focus-visible svg {
	transform: translateX(4px);
}

@media (prefers-reduced-motion: reduce) {
	body.scheme_sheme_2 .avape-anuncio__imagen,
	body.scheme_sheme_2 .avape-anuncio__hueco-texto svg,
	body.scheme_sheme_2 .avape-anuncio--hueco .avape-anuncio__marco {
		transition: none;
	}

	body.scheme_sheme_2 .avape-anuncio--enlace .avape-anuncio__marco:hover .avape-anuncio__imagen,
	body.scheme_sheme_2 .avape-anuncio--enlace .avape-anuncio__marco:focus-visible .avape-anuncio__imagen,
	body.scheme_sheme_2 .avape-anuncio--hueco .avape-anuncio__marco:hover svg,
	body.scheme_sheme_2 .avape-anuncio--hueco .avape-anuncio__marco:focus-visible svg {
		transform: none;
	}
}

@media (max-width: 61.9em) {
	body.scheme_sheme_2 .avape-patrocinio {
		grid-template-columns: 1fr;
	}

	body.scheme_sheme_2 .avape-patrocinio__intro {
		position: static;
	}
}

@media (max-width: 34.9em) {
	body.scheme_sheme_2 .avape-patrocinio__rejilla {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 14px;
	}
}

/*
 * El aviso flotante trae su propia hoja (`.dgd_stb_box.none a { color: #fff }`),
 * que se carga después de esta y dejaba el botón de WhatsApp en blanco sobre
 * blanco: un rectángulo vacío. El id le da la especificidad para ganar sin
 * `!important`.
 */
body.scheme_sheme_2 #dgd_scrollbox-2179 a.avape-boton {
	color: var(--avape-morado);         /* 9,14:1 sobre blanco */
	text-decoration: none;
}

body.scheme_sheme_2 #dgd_scrollbox-2179 a.avape-boton:hover,
body.scheme_sheme_2 #dgd_scrollbox-2179 a.avape-boton:focus-visible {
	color: var(--avape-morado-hondo);   /* 9,21:1 sobre el rosa claro */
}

/*
 * El tema deja `content-box`, así que el `min-height` de los botones se sumaba
 * al relleno: pedían 48-52 px y salían de 80. Con `border-box` miden lo pedido
 * y siguen por encima de los 44 px del objetivo táctil.
 */
body.scheme_sheme_2 .avape-boton,
body.scheme_sheme_2 .avape-llamada__boton {
	box-sizing: border-box;
}

/* ---------------------------------------------------------------------------
   19. Ajustes de web-design-guidelines sobre lo tocado
   --------------------------------------------------------------------------- */

/* Sin el retardo del doble toque en los controles propios. */
body .avape-boton,
body .avape-descarga,
body .avape-llamada,
body .avape-anuncio__marco,
body .avape-ig__enlace,
body .avape-centros__campo {
	touch-action: manipulation;
}

/*
 * Bandas a sangre: en un móvil con muesca y en horizontal, el texto no puede
 * meterse debajo de ella.
 */
body.scheme_sheme_2 .avape-heroe,
body.scheme_sheme_2 .avape-llamada,
body.scheme_sheme_2 .vc_column_text a.avape-llamada {
	padding-left: max(var(--avape-margen), 48px, env(safe-area-inset-left));
	padding-right: max(var(--avape-margen), 24px, env(safe-area-inset-right));
}

@media (max-width: 47.9em) {
	body.scheme_sheme_2 .avape-heroe,
	body.scheme_sheme_2 .avape-llamada,
	body.scheme_sheme_2 .vc_column_text a.avape-llamada {
		padding-left: max(20px, env(safe-area-inset-left));
		padding-right: max(20px, env(safe-area-inset-right));
	}
}

/* --- La casilla para anunciarse ocupa el hueco que deje la última fila --- */

body.scheme_sheme_2 .avape-anuncio--hueco {
	grid-column: span var(--avape-hueco-3, 1);
}

/* Cuando ocupa varias columnas, es una franja: texto a un lado, flecha al otro. */
body.scheme_sheme_2 .avape-anuncio--ancho-3 .avape-anuncio__marco {
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	aspect-ratio: auto;
	min-height: 120px;
}

body.scheme_sheme_2 .avape-anuncio--ancho-3 .avape-anuncio__hueco-texto {
	font-size: var(--avape-texto);
}

@media (max-width: 34.9em) {
	body.scheme_sheme_2 .avape-anuncio--hueco {
		grid-column: span var(--avape-hueco-2, 1);
	}

	/* En móvil se decide de nuevo con las 2 columnas que hay. */
	body.scheme_sheme_2 .avape-anuncio--ancho-3:not(.avape-anuncio--ancho-2) .avape-anuncio__marco {
		flex-direction: column;
		align-items: stretch;
		aspect-ratio: 1 / 1;
		min-height: 0;
	}

	body.scheme_sheme_2 .avape-anuncio--ancho-2 .avape-anuncio__marco {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
		gap: 16px;
		aspect-ratio: auto;
		min-height: 104px;
	}
}

/* El pie de cada anuncio pertenece a su anuncio: más aire entre filas que dentro de la tarjeta. */
body.scheme_sheme_2 .avape-patrocinio__rejilla {
	row-gap: clamp(28px, 3vw, 44px);
}

/* ---------------------------------------------------------------------------
   20. Menos aire entre capítulos
   ---------------------------------------------------------------------------
   La portada medía 9,5 pantallas. Cada capítulo llevaba hasta 128 px arriba y
   otros tantos abajo: entre dos secciones, más de 250 px de nada.
   --------------------------------------------------------------------------- */

body.scheme_sheme_2 .avape-llamada,
body.scheme_sheme_2 .vc_column_text a.avape-llamada {
	padding-top: clamp(44px, 5.5vw, 80px);
	padding-bottom: clamp(44px, 5.5vw, 80px);
}

body.scheme_sheme_2 .avape-capitulo-titulo {
	margin-bottom: clamp(20px, 2.4vw, 32px);
}

body.scheme_sheme_2 .avape-intro__entrada {
	margin-bottom: clamp(32px, 4vw, 52px);
}

/* ---------------------------------------------------------------------------
   21. Correcciones del inspector de taste (23/10/2026)
   --------------------------------------------------------------------------- */

/*
 * Titulares de dos líneas como mucho. La línea de entrada de la intro es un
 * párrafo de 25 palabras: a 44 px salían cuatro líneas y se leía como titular.
 * Un párrafo-enunciado va a 34 px o menos.
 */
body.scheme_sheme_2 .avape-intro__entrada {
	font-size: clamp(22px, 2.6vw, 34px);
	max-width: 36ch;
}

/* La frase de las federaciones, ahora corta: dos líneas a lo ancho. */
body.scheme_sheme_2 .avape-frase {
	max-width: 22em;
	font-size: clamp(30px, 4.6vw, 64px);
	line-height: 1.02;
}

body.scheme_sheme_2 .avape-frase__detalle {
	max-width: 60ch;
	margin-top: 28px;
	font-size: var(--avape-texto);
	line-height: 1.6;
}

/* En el móvil los enunciados largos pasan a tamaño de párrafo destacado. */
@media (max-width: 47.9em) {
	body.scheme_sheme_2 .avape-intro__entrada {
		font-size: 21px;
	}

	body.scheme_sheme_2 .avape-frase {
		font-size: 26px;
	}

	body.scheme_sheme_2 .avape-llamada__nota {
		font-size: 20px;
	}
}

/*
 * Nada de rótulos diminutos en versales con espaciado: cargos, grupos de la
 * hoja de precios y rótulos del pie pasan a caja normal y tamaño legible.
 */
body.scheme_sheme_2 .avape-junta__cargo,
body.scheme_sheme_2 .avape-hoja__grupo-nombre,
body.scheme_sheme_2 footer .widget_title,
body.scheme_sheme_2 footer .avape-pie__rotulo,
body.scheme_sheme_2 .avape-rotulo {
	text-transform: none;
	letter-spacing: 0;
}

body.scheme_sheme_2 .avape-junta__cargo {
	font-size: var(--avape-menudo);
	color: var(--avape-tinta-suave);
}

body.scheme_sheme_2 .avape-hoja__grupo-nombre {
	font-family: "Josefin Sans", sans-serif;
	font-size: var(--avape-texto);
	color: var(--avape-morado);         /* 9,14:1 sobre la hoja blanca */
}

/* La barra superior del tema salía a 11 px. */
body.scheme_sheme_2 .top_panel_top_wrap,
body.scheme_sheme_2 .top_panel_top_wrap a,
body.scheme_sheme_2 .top_panel_top_wrap [class^="icon-"] {
	font-size: var(--avape-menudo);
}

/*
 * El aviso de cookies del plugin pinta su enlace en #4a123d sobre #93117e:
 * 1,8:1. Blanco y subrayado: 8,0:1.
 */
body #cookie-law-info-bar a.cli-plugin-main-link,
body #cookie-law-info-bar a {
	color: #fff;
	text-decoration: underline;
	text-underline-offset: 0.18em;
}

/*
 * El panel del menú móvil del tema está siempre en la página, fijo y con ancho
 * 0 cuando está cerrado. Invisible, pero sus diez enlaces seguían recibiendo el
 * foco: al tabular, el foco desaparecía diez veces en un panel que no se ve.
 * Cerrado, queda fuera del orden de tabulación y de los lectores de pantalla;
 * el tema le pone `.opened` al abrirlo y entonces vuelve a estar disponible.
 */
body .menu_mobile:not(.opened) {
	visibility: hidden;
}

body .menu_mobile.opened {
	visibility: visible;
}

/* El menú móvil heredaba viñetas de lista: sobran en una navegación. */
body .menu_mobile ul,
body .menu_mobile li {
	list-style: none;
}

/*
 * El texto de los anunciantes ya no va fijo al hacer scroll: el inspector veía
 * el título deslizándose por encima de los logotipos, y con una rejilla de dos
 * filas no aporta nada.
 */
body.scheme_sheme_2 .avape-patrocinio__intro {
	position: static;
}

/*
 * En el móvil la franja «Tu empresa, aquí» a lo ancho apretaba el título en tres
 * líneas al lado del enlace. Apilados se leen de un vistazo.
 */
@media (max-width: 34.9em) {
	body.scheme_sheme_2 .avape-anuncio--ancho-2 .avape-anuncio__marco {
		flex-direction: column;
		align-items: flex-start;
		justify-content: center;
		gap: 12px;
		min-height: 0;
	}
}

/* ---------------------------------------------------------------------------
   22. Las esquinas: cada botón flotante en su sitio
   ---------------------------------------------------------------------------
   Abajo a la derecha se amontonaban cuatro cosas: WhatsApp, «subir», la
   pestaña de cookies y la pestaña «¡Anúnciate!», que además perdió su
   desplazamiento al sacar del tema el bloque del desarrollador anterior. Ahora:

     abajo a la izquierda .... «Cookies» (desde los ajustes del plugin)
     abajo en el centro ...... «¡Anúnciate!» (desde los ajustes del aviso)
     abajo a la derecha ...... WhatsApp, y encima «subir», en la misma columna
   --------------------------------------------------------------------------- */

/* WhatsApp: el botón principal, en la esquina. */
body .joinchat {
	--bottom: 20px;
	--sep: 20px;
}

/* «Subir»: encima de WhatsApp y centrado en su eje (60 px de botón, 44 de este). */
body .trx_addons_scroll_to_top {
	width: 44px;
	height: 44px;
	line-height: 44px;
	right: 28px;
	border: 0;
	background-color: #fff;
	color: var(--avape-morado);         /* 9,14:1 */
	box-shadow: 0 0 0 1px rgba(28, 20, 24, 0.12);
}

body .trx_addons_scroll_to_top.show {
	bottom: 92px;                       /* 20 de margen + 60 de WhatsApp + 12 de aire */
}

body .trx_addons_scroll_to_top:focus-visible {
	outline: 3px solid var(--avape-morado);
	outline-offset: 3px;
}

/* «Cookies»: pequeña, legible, con la marca. */
body #cookie-law-info-again {
	padding: 8px 14px;
	border-radius: 0;
	font-size: var(--avape-menudo);
	font-weight: 700;
	line-height: 1.2;
	color: var(--avape-morado);         /* 9,14:1 sobre blanco */
	box-shadow: none;
}

/* «¡Anúnciate!»: la pestaña del aviso, compacta y centrada. */
body #dgd_scrollbox-2179-tab {
	padding: 10px 22px;
	border-radius: 0;
	background-color: var(--avape-morado);
	color: #fff;                        /* 9,14:1 */
	font-size: var(--avape-menudo);
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1.2;
}

/* El aviso abierto no se sale de la pantalla del móvil. */
body #dgd_scrollbox-2179 {
	max-width: calc(100vw - 32px);
	box-sizing: border-box;
}

@media (max-width: 47.9em) {
	/*
	 * En el móvil no caben a la vez la pestaña de cookies, la del aviso y el
	 * globo de WhatsApp con su mensaje: el mensaje del globo sobra (el icono
	 * de WhatsApp ya se entiende) y las pestañas se compactan.
	 */
	body .joinchat__tooltip {
		display: none;
	}

	body #dgd_scrollbox-2179-tab {
		padding: 9px 16px;
		letter-spacing: 0.04em;
	}

	body #cookie-law-info-again {
		padding: 8px 12px;
	}
}

/* Dentro del aviso la lista salía alineada a la derecha con las viñetas a la izquierda. */
body.scheme_sheme_2 #dgd_scrollbox-2179,
body.scheme_sheme_2 #dgd_scrollbox-2179 p,
body.scheme_sheme_2 #dgd_scrollbox-2179 li {
	text-align: left;
}

/* Footer AVAPE: tres grupos editables en Apariencia → Widgets.
   Isida no ofrece controles de rejilla ni del doble padding de sus bandas. */
body.scheme_sheme_2 footer.site_footer_wrap .footer_wrap {
	padding: 44px 0 36px;
}
body.scheme_sheme_2 footer.site_footer_wrap .footer_wrap_inner {
	padding: 0;
}
body.scheme_sheme_2 footer.site_footer_wrap .columns_wrap {
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(140px, .65fr);
	gap: 56px;
	margin: 0;
}
body.scheme_sheme_2 footer.site_footer_wrap .columns_wrap > .widget {
	float: none;
	width: auto;
	min-width: 0;
	padding: 0;
	margin: 0;
}
body.scheme_sheme_2 footer.site_footer_wrap .widget_title {
	margin: 8px 0 16px;
	font-size: var(--avape-subtitulo);
	line-height: 1.2;
	letter-spacing: -.02em;
	text-transform: none;
}
body.scheme_sheme_2 footer.site_footer_wrap .textwidget p,
body.scheme_sheme_2 footer.site_footer_wrap .contacts_info {
	font-size: var(--avape-texto);
	line-height: 1.55;
}
body.scheme_sheme_2 footer.site_footer_wrap .textwidget p:last-child {
	margin-bottom: 0;
	max-width: 32ch;
}
body.scheme_sheme_2 footer.site_footer_wrap .avape-pie__marca {
	margin: 0 0 16px;
}
body.scheme_sheme_2 footer.site_footer_wrap .avape-pie__marca img {
	width: 190px;
	max-width: 100%;
	height: auto;
}
body.scheme_sheme_2 footer.site_footer_wrap .contacts_info {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin: 0;
}
body.scheme_sheme_2 footer.site_footer_wrap .contacts_info > div {
	float: none;
	width: auto;
	margin: 0;
}
body.scheme_sheme_2 footer.site_footer_wrap .contacts_left { order: -1; }
body.scheme_sheme_2 footer.site_footer_wrap .contacts_info span {
	padding: 0;
	margin: 0;
	color: var(--avape-tinta-suave);
}
body.scheme_sheme_2 footer.site_footer_wrap .contacts_info span::before,
body.scheme_sheme_2 footer.site_footer_wrap .avape-pie__legales li::before {
	content: none;
}
body.scheme_sheme_2 footer.site_footer_wrap .avape-pie__legales li {
	padding: 0;
	margin: 0;
}
body.scheme_sheme_2 footer.site_footer_wrap .contacts_email a,
body.scheme_sheme_2 footer.site_footer_wrap .avape-pie__legales a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	font-size: var(--avape-texto);
	overflow-wrap: anywhere;
}
body.scheme_sheme_2 footer.site_footer_wrap .copyright_wrap {
	padding: 18px 0;
}
body.scheme_sheme_2 footer.site_footer_wrap .copyright_wrap_inner {
	padding: 0;
	border: 0;
	overflow: visible;
}
body.scheme_sheme_2 footer.site_footer_wrap .copyright_wrap .content_wrap {
	gap: 24px;
	text-align: left;
}
body.scheme_sheme_2 footer.site_footer_wrap .copyright_text { flex: 1; }
body.scheme_sheme_2 footer.site_footer_wrap .copyright_socials { flex-shrink: 0; }
body.scheme_sheme_2 footer.site_footer_wrap .socials_footer_wrap_inner {
	display: flex;
	gap: 8px;
}
body.scheme_sheme_2 footer.site_footer_wrap .social_item + .social_item { margin: 0; }
body.scheme_sheme_2 footer.site_footer_wrap .social_icons {
	width: 44px;
	height: 44px;
	background: var(--avape-morado);
	border-radius: 0;
}
body.scheme_sheme_2 footer.site_footer_wrap .social_icons:hover {
	background: var(--avape-papel);
	color: var(--avape-morado-hondo);
}
body.scheme_sheme_2 footer.site_footer_wrap a:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 4px;
}
@media (max-width: 900px) {
	body.scheme_sheme_2 footer.site_footer_wrap .columns_wrap {
		grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
		gap: 24px 40px;
	}
	body.scheme_sheme_2 footer.site_footer_wrap .columns_wrap > .widget:first-child {
		grid-row: span 2;
	}
	body.scheme_sheme_2 footer.site_footer_wrap .copyright_wrap .content_wrap {
		flex-direction: row;
	}
}
@media (max-width: 599px) {
	body.scheme_sheme_2 footer.site_footer_wrap .footer_wrap { padding: 32px 0; }
	body.scheme_sheme_2 footer.site_footer_wrap .columns_wrap {
		grid-template-columns: minmax(0, 1fr);
		gap: 24px;
	}
	body.scheme_sheme_2 footer.site_footer_wrap .columns_wrap > .widget:first-child {
		grid-row: auto;
	}
	body.scheme_sheme_2 footer.site_footer_wrap .widget_title { margin-top: 0; margin-bottom: 8px; }
	body.scheme_sheme_2 footer.site_footer_wrap .copyright_wrap .content_wrap {
		flex-direction: column;
		align-items: flex-start;
		gap: 16px;
	}
	/* Mantiene los enlaces fuera del alcance de los controles flotantes existentes. */
	body.scheme_sheme_2 footer.site_footer_wrap .copyright_wrap { padding-bottom: 76px; }
}
/* Los clearfix del tema ocuparían celdas vacías dentro de la rejilla. */
body.scheme_sheme_2 footer.site_footer_wrap .columns_wrap::before,
body.scheme_sheme_2 footer.site_footer_wrap .columns_wrap::after { content: none; }
body.scheme_sheme_2 footer.site_footer_wrap .widget_contacts .contacts_info .contacts_left .contacts_address {
	color: var(--avape-tinta-suave);
}

body.scheme_sheme_2 footer.site_footer_wrap .contacts_description:empty { display: none; }
body.scheme_sheme_2 footer.site_footer_wrap .copyright_wrap .content_wrap > div + div { margin-top: 0; }
@media (min-width: 600px) and (max-width: 900px) {
	body.scheme_sheme_2 footer.site_footer_wrap .content_wrap { padding-left: 48px; padding-right: 32px; }
	body.scheme_sheme_2 footer.site_footer_wrap .copyright_wrap .content_wrap { padding-right: 104px; }
}
@media (max-width: 599px) {
	body.scheme_sheme_2 footer.site_footer_wrap .content_wrap { padding-left: 24px; padding-right: 24px; }
}
/* El logo original es JPEG sobre blanco: se integra cambiando la superficie,
   sin filtros ni alteraciones del archivo de marca. */
body.scheme_sheme_2 footer.site_footer_wrap,
body.scheme_sheme_2 footer.site_footer_wrap .footer_wrap {
	background-color: #fff;
}

/* FANAE: capítulo propio en portada, editable con elementos de WPBakery. */
body.scheme_sheme_2 .avape-fanae__interior { display: flex; align-items: center; }
body.scheme_sheme_2 .avape-fanae__imagen .wpb_single_image { margin: 0; }
body.scheme_sheme_2 .avape-fanae__imagen img { display: block; width: 100%; max-width: 320px; height: auto; }
body.scheme_sheme_2 .avape-fanae__contenido > .vc_column-inner { padding-left: clamp(24px,4vw,64px); }
body.scheme_sheme_2 .avape-fanae__titulo { margin: 0 0 12px; font-size: clamp(48px,6vw,80px); line-height: 1; letter-spacing: -.035em; color: var(--avape-morado); text-transform: none; }
body.scheme_sheme_2 .avape-fanae__contenido p.avape-fanae__nombre { max-width: 38ch; margin: 0 0 24px; font: 600 clamp(22px,2.2vw,28px)/1.25 'Josefin Sans',sans-serif; color: var(--avape-morado); text-wrap: balance; }
body.scheme_sheme_2 .avape-fanae__contenido p { max-width: 62ch; color: var(--avape-tinta); font-size: 17px; line-height: 1.6; }
body.scheme_sheme_2 .avape-fanae__funciones { margin-block: 24px; }
body.scheme_sheme_2 .avape-fanae__funciones strong { display: block; color: var(--avape-morado); }
body.scheme_sheme_2 .avape-fanae .avape-fanae__enlace { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; color: var(--avape-morado); font-weight: 700; text-decoration: underline; text-underline-offset: 5px; }
body.scheme_sheme_2 .avape-fanae .avape-fanae__enlace:hover { color: var(--avape-morado-hondo); }
body.scheme_sheme_2 .avape-fanae .avape-fanae__enlace:focus-visible { outline: 3px solid var(--avape-magenta); outline-offset: 4px; }
body.scheme_sheme_2 p.avape-fanae__otras { margin: 24px 0 0; max-width: 60ch; color: var(--avape-tinta-suave); }
@media (max-width: 767px) {
 body.scheme_sheme_2 .avape-fanae__interior { flex-direction: column; gap: 28px; }
 body.scheme_sheme_2 .avape-fanae__interior > .vc_column_container { width: 100%; }
 body.scheme_sheme_2 .avape-fanae__contenido > .vc_column-inner { padding-left: 15px; }
 body.scheme_sheme_2 .avape-fanae__imagen img { max-width: 230px; }
}

body.scheme_sheme_2 .avape-fanae { scroll-margin-top: 160px; }

/* Copyright centrado respecto al pie, con reserva simétrica para las redes. */
body.scheme_sheme_2 footer.site_footer_wrap .copyright_wrap .content_wrap {
 display: grid;
 grid-template-columns: minmax(0,1fr);
 align-items: center;
 padding-inline: 48px;
}
body.scheme_sheme_2 footer.site_footer_wrap .copyright_text {
 grid-area: 1 / 1;
 width: 100%;
 padding-inline: 112px;
 box-sizing: border-box;
 text-align: center;
}
body.scheme_sheme_2 footer.site_footer_wrap .copyright_text p { text-align: center; }
body.scheme_sheme_2 footer.site_footer_wrap .copyright_socials { grid-area: 1 / 1; justify-self: end; }
@media(max-width:599px){
 body.scheme_sheme_2 footer.site_footer_wrap .copyright_wrap .content_wrap { padding-inline: 24px; justify-items: center; }
 body.scheme_sheme_2 footer.site_footer_wrap .copyright_text { padding-inline: 0; }
 body.scheme_sheme_2 footer.site_footer_wrap .copyright_socials { grid-area: 2 / 1; justify-self: center; }
}
