/* ==========================================================================
   Airea · estilos del tema
   Vocabulario de clases para secciones, tipografía y componentes; cabecera,
   pie, bloques core (botones, navegación, details, listas, tablas) y
   animaciones comunes que también pueden usar los bloques propios.
   Referencia visual: Main, IA, Web, Soporte y Main-movil del lienzo.
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. Tokens y contextos de color
   -------------------------------------------------------------------------- */

:root {
	--airea-tinta: #0d2b3e;
	--airea-tinta-2: #163f59;
	--airea-alisio: #12a68e;
	--airea-alisio-claro: #46e3c8;
	--airea-alisio-hover: #7aeed9;
	--airea-arena: #f5f2ec;
	--airea-blanco: #ffffff;

	--airea-display: "Airea Display", Inter, system-ui, sans-serif;
	--airea-texto: Inter, system-ui, -apple-system, "Segoe UI", sans-serif;
	--airea-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;

	--airea-cab-alto: 81px;
	--airea-ancho: 1152px;
	--airea-lateral: 24px;
	--airea-sombra-lift: 0 18px 40px -18px rgba(13, 43, 62, 0.22), 0 4px 12px -8px rgba(13, 43, 62, 0.1);

	/* Contexto claro (por defecto) */
	--c-texto: #0d2b3e;
	--c-suave: rgba(13, 43, 62, 0.72);
	--c-suave-2: rgba(13, 43, 62, 0.80);
	--c-acento: #119983; /* Alisio un 8 % más oscuro para texto: 3,2:1 sobre arena (#12a68e daba 2,7) */
	--c-pixel: #12a68e;
	--c-eyebrow: rgba(13, 43, 62, 0.72);
	--c-linea: rgba(13, 43, 62, 0.12);
	--c-linea-faq: rgba(13, 43, 62, 0.14);
	--c-borde-chip: rgba(13, 43, 62, 0.20);
	--c-borde-boton: rgba(13, 43, 62, 0.35);
	--c-enlace: #0d2b3e;
	--c-enlace-hover: #119983;
	--c-hueco-fondo: rgba(18, 166, 142, 0.10);
	--c-hueco-borde: rgba(18, 166, 142, 0.70);
	--c-icono-faq: #f5f2ec;
}

/* Contextos oscuros: secciones Tinta, héroe (salvo Arena), tarjetas Tinta y pie */
.is-tinta,
.airea-hero:not(.is-arena),
.airea-pie {
	--c-texto: #ffffff;
	--c-suave: rgba(255, 255, 255, 0.72);
	--c-suave-2: rgba(255, 255, 255, 0.78);
	--c-acento: #46e3c8;
	--c-pixel: #46e3c8;
	--c-eyebrow: #46e3c8;
	--c-linea: rgba(255, 255, 255, 0.15);
	--c-linea-faq: rgba(255, 255, 255, 0.15);
	--c-borde-chip: rgba(255, 255, 255, 0.20);
	--c-borde-boton: rgba(255, 255, 255, 0.35);
	--c-enlace: #ffffff;
	--c-enlace-hover: #46e3c8;
	--c-hueco-fondo: rgba(70, 227, 200, 0.12);
	--c-hueco-borde: rgba(70, 227, 200, 0.70);
	--c-icono-faq: rgba(255, 255, 255, 0.08);
	color: #ffffff;
}

/* Vuelta a claro dentro de un contexto oscuro (p. ej. tarjeta Arena sobre Tinta) */
.is-arena,
.is-blanco {
	--c-texto: #0d2b3e;
	--c-suave: rgba(13, 43, 62, 0.72);
	--c-suave-2: rgba(13, 43, 62, 0.80);
	--c-acento: #119983; /* Alisio un 8 % más oscuro para texto: 3,2:1 sobre arena (#12a68e daba 2,7) */
	--c-pixel: #12a68e;
	--c-eyebrow: rgba(13, 43, 62, 0.72);
	--c-linea: rgba(13, 43, 62, 0.12);
	--c-linea-faq: rgba(13, 43, 62, 0.14);
	--c-borde-chip: rgba(13, 43, 62, 0.20);
	--c-borde-boton: rgba(13, 43, 62, 0.35);
	--c-enlace: #0d2b3e;
	--c-enlace-hover: #119983;
	--c-hueco-fondo: rgba(18, 166, 142, 0.10);
	--c-hueco-borde: rgba(18, 166, 142, 0.70);
	--c-icono-faq: #f5f2ec;
	color: #0d2b3e;
}

/* --------------------------------------------------------------------------
   2. Base
   -------------------------------------------------------------------------- */

html {
	scroll-padding-top: var(--airea-cab-alto);
	-webkit-text-size-adjust: 100%;
}

@media (prefers-reduced-motion: no-preference) {
	html {
		scroll-behavior: smooth;
	}
}

body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
	overflow-x: clip;
}

/* Texto seleccionado con el color de la marca (se lee bien en fondos claros y oscuros) */
::selection {
	background-color: var(--airea-alisio-claro);
	color: var(--airea-tinta);
	text-shadow: none;
}

/* Sin huecos entre cabecera, contenido y pie */
body .wp-site-blocks {
	padding: 0;
}

body .wp-site-blocks > * {
	margin-block: 0;
}

/* Las secciones de una landing van pegadas unas a otras */
body .airea-landing > *,
body .wp-block-post-content.airea-contenido > * {
	margin-block: 0;
}

mark.has-inline-color {
	background-color: transparent;
}

/* El acento de titulares sigue al contexto (Alisio en claro, Alisio claro en oscuro) */
body mark.has-alisio-color {
	color: var(--c-acento) !important;
}

:is(.is-tinta, .airea-hero, .is-arena, .is-blanco, .airea-pie, .airea-card, .airea-panel) a:where(:not(.wp-element-button)) {
	color: var(--c-enlace);
}

:is(.is-tinta, .airea-hero, .is-arena, .is-blanco, .airea-pie, .airea-card, .airea-panel) a:where(:not(.wp-element-button)):hover {
	color: var(--c-enlace-hover);
}

:where(a, button, summary, input, select, textarea):focus-visible {
	outline: 3px solid var(--airea-alisio);
	outline-offset: 3px;
}

img {
	max-width: 100%;
	height: auto;
}

/* --------------------------------------------------------------------------
   3. Cabecera (template part "header")
   -------------------------------------------------------------------------- */

body .wp-site-blocks > header.wp-block-template-part {
	position: sticky;
	top: 0;
	z-index: 100;
	margin-bottom: calc(-1 * var(--airea-cab-alto));
}

body.admin-bar .wp-site-blocks > header.wp-block-template-part {
	top: 32px;
}

body .wp-block-group.airea-cab {
	box-sizing: border-box;
	height: var(--airea-cab-alto);
	min-height: var(--airea-cab-alto);
	padding: 0 max(var(--airea-lateral), calc((100% - var(--airea-ancho)) / 2));
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	background: transparent;
	border-bottom: 1px solid transparent;
	transition: background 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}

body .wp-block-group.airea-cab.is-solida {
	background: rgba(255, 255, 255, 0.94);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	border-bottom-color: rgba(13, 43, 62, 0.10);
	box-shadow: 0 6px 24px rgba(13, 43, 62, 0.06);
}

/* Con el menú móvil abierto, nada de filtros: el overlay fijo debe ocupar la pantalla */
html.has-modal-open body .wp-block-group.airea-cab {
	-webkit-backdrop-filter: none;
	backdrop-filter: none;
}

.airea-cab > * {
	margin: 0;
}

.airea-cab a:not(.wp-element-button) {
	text-decoration: none;
}

body .airea-cab .airea-cab__acciones {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 28px;
}

.airea-cab .airea-cab__acciones > * {
	margin: 0;
}

/* Navegación de escritorio */
body .airea-cab .wp-block-navigation {
	font-size: 15px;
	font-weight: 500;
	gap: 28px;
}

body .airea-cab .wp-block-navigation .wp-block-navigation__container {
	gap: 28px;
}

body .airea-cab .wp-block-navigation .wp-block-navigation-item__content {
	color: var(--airea-tinta);
	text-decoration: none;
	transition: color 0.2s ease;
}

body .airea-cab .wp-block-navigation .wp-block-navigation-item__content:hover,
body .airea-cab .wp-block-navigation .wp-block-navigation-item__content:focus-visible {
	color: var(--airea-alisio);
}

/* Página actual: píxel delante del enlace */
.airea-cab .wp-block-navigation .wp-block-navigation-item__content[aria-current="page"],
.airea-cab .wp-block-navigation .current-menu-item > .wp-block-navigation-item__content {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.airea-cab .wp-block-navigation .wp-block-navigation-item__content[aria-current="page"]::before,
.airea-cab .wp-block-navigation .current-menu-item > .wp-block-navigation-item__content::before {
	content: "";
	flex: 0 0 8px;
	width: 8px;
	height: 8px;
	border-radius: 26%;
	background: var(--airea-alisio);
}

/* Botón "Escríbenos" */
body .airea-cab .wp-block-buttons {
	gap: 0;
}

body .airea-cab .wp-block-button .wp-block-button__link {
	padding: 12px 22px;
	border-radius: 10px;
	min-height: 44px;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.25;
	white-space: nowrap;
	transition: background 0.3s ease, color 0.3s ease;
}

/* Logos: versión normal y versión sobre fondo oscuro */
.logo-sobre-oscuro {
	display: none !important;
}

:is(.is-tinta, .airea-hero:not(.is-arena)) .logo-sobre-oscuro {
	display: block !important;
}

:is(.is-tinta, .airea-hero:not(.is-arena)) .logo-sobre-oscuro ~ .logo-normal,
:is(.is-tinta, .airea-hero:not(.is-arena)) .logo-normal:has(~ .logo-sobre-oscuro) {
	display: none !important;
}

/* Variante oscura: héroe Tinta y cabecera aún transparente */
:is(body.airea-hero-oscuro, body:has(.airea-hero:not(.is-arena))) .airea-cab:not(.is-solida) .logo-sobre-oscuro {
	display: block !important;
}

:is(body.airea-hero-oscuro, body:has(.airea-hero:not(.is-arena))) .airea-cab:not(.is-solida) .logo-normal {
	display: none !important;
}

:is(body.airea-hero-oscuro, body:has(.airea-hero:not(.is-arena))) .airea-cab:not(.is-solida) .wp-block-navigation .wp-block-navigation-item__content {
	color: #ffffff;
}

:is(body.airea-hero-oscuro, body:has(.airea-hero:not(.is-arena))) .airea-cab:not(.is-solida) .wp-block-navigation .wp-block-navigation-item__content:hover {
	color: var(--airea-alisio-claro);
}

:is(body.airea-hero-oscuro, body:has(.airea-hero:not(.is-arena))) .airea-cab:not(.is-solida) .wp-block-button .wp-block-button__link {
	background: var(--airea-alisio-claro);
	color: var(--airea-tinta);
}

:is(body.airea-hero-oscuro, body:has(.airea-hero:not(.is-arena))) .airea-cab:not(.is-solida) .wp-block-button .wp-block-button__link:hover {
	background: var(--airea-alisio-hover);
	color: var(--airea-tinta);
}

:is(body.airea-hero-oscuro, body:has(.airea-hero:not(.is-arena))) .airea-cab:not(.is-solida) .wp-block-navigation__responsive-container-open {
	color: #ffffff;
	border-color: rgba(255, 255, 255, 0.35);
}

/* Botón de abrir el menú móvil (core lo oculta a partir de 600px) */
body .airea-cab .wp-block-navigation__responsive-container-open {
	width: 44px;
	height: 44px;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: 1px solid rgba(13, 43, 62, 0.18);
	border-radius: 12px;
	background: transparent;
	color: var(--airea-tinta);
	transition: color 0.3s ease, border-color 0.3s ease;
}

body .airea-cab .wp-block-navigation__responsive-container-open:hover {
	border-color: var(--airea-alisio);
}

body .airea-cab .wp-block-navigation__responsive-container-open svg {
	width: 22px;
	height: 22px;
}

/* Menú móvil a pantalla completa, en Tinta */
body .airea-cab .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--airea-tinta) !important;
	color: #ffffff !important;
	padding: 12px 20px 32px !important;
	animation: menuEntra 0.35s ease both;
}

body .airea-cab .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog {
	position: relative;
	min-height: 100%;
}

/* Logo blanco arriba a la izquierda del menú: el mismo logotipo y en el mismo
   sitio que el de la cabecera, para que no "salte" al abrir el menú */
body .airea-cab .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog::before {
	content: "";
	position: absolute;
	top: 2px;
	left: 0;
	width: 81px;
	height: 40px;
	background: url("../logos/airea-logotipo-blanco.svg") left center / contain no-repeat;
	pointer-events: none;
}

body .airea-cab .wp-block-navigation__responsive-container-close {
	top: 0;
	right: 0;
	width: 44px;
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(255, 255, 255, 0.35);
	border-radius: 12px;
	color: #ffffff;
	background: transparent;
}

body .airea-cab .wp-block-navigation__responsive-container-close:hover {
	border-color: var(--airea-alisio-claro);
}

body .airea-cab .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	padding-top: 92px !important;
	align-items: stretch !important;
	gap: 8px;
}

/* "SERVICIOS" con tres píxeles */
body .airea-cab .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content::before {
	content: "SERVICIOS";
	display: block;
	padding: 0 0 12px 50px;
	font-family: var(--airea-mono);
	font-size: 12px;
	letter-spacing: 0.15em;
	line-height: 1.4;
	color: var(--airea-alisio-claro);
	background-image: linear-gradient(#46e3c8, #46e3c8), linear-gradient(#46e3c8, #46e3c8), linear-gradient(#46e3c8, #46e3c8);
	background-size: 9px 9px;
	background-repeat: no-repeat;
	background-position: 0 4px, 15px 4px, 30px 4px;
}

body .airea-cab .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
	align-items: stretch !important;
	gap: 0 !important;
	width: 100%;
}

body .airea-cab .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
	width: 100%;
	animation: linkEntra 0.4s ease both;
}

body .airea-cab .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:nth-child(1) { animation-delay: 0.05s; }
body .airea-cab .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:nth-child(2) { animation-delay: 0.1s; }
body .airea-cab .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:nth-child(3) { animation-delay: 0.15s; }
body .airea-cab .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:nth-child(4) { animation-delay: 0.2s; }
body .airea-cab .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:nth-child(5) { animation-delay: 0.25s; }

body .airea-cab .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	width: 100%;
	box-sizing: border-box;
	padding: 12px 0 !important;
	border-bottom: 1px solid rgba(255, 255, 255, 0.12);
	font-family: var(--airea-display);
	font-weight: 300;
	font-size: 38px;
	line-height: 1.15;
	color: #ffffff !important;
}

body .airea-cab .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content::after {
	content: "→";
	display: inline-block;
	font-family: var(--airea-texto);
	font-size: 22px;
	color: var(--airea-alisio-claro);
	transition: transform 0.3s cubic-bezier(0.2, 0.7, 0.2, 1);
}

/* La flecha se mueve un poco a la derecha, como en el resto de enlaces y botones */
body .airea-cab .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:is(:hover, :focus-visible, :active)::after {
	transform: translateX(5px);
}

body .airea-cab .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:hover {
	color: var(--airea-alisio-claro) !important;
}

/* En el overlay el píxel de "página actual" va antes del texto, sin romper la flecha */
body .airea-cab .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content[aria-current="page"]::before {
	display: none;
}

body .airea-cab .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content[aria-current="page"] .wp-block-navigation-item__label {
	color: var(--airea-alisio-claro);
}

/* --------------------------------------------------------------------------
   4. Secciones
   -------------------------------------------------------------------------- */

body .airea-sec {
	--wp--style--global--content-size: var(--airea-ancho);
	--wp--style--global--wide-size: 1232px;
	box-sizing: border-box;
	position: relative;
	padding: 112px var(--airea-lateral);
	color: var(--c-texto);
}

body .airea-sec.is-tinta {
	background-color: var(--airea-tinta);
}

body .airea-sec.is-arena {
	background-color: var(--airea-arena);
}

body .airea-sec.is-blanco {
	background-color: var(--airea-blanco);
}

body .airea-sec.airea-sec--compacta {
	padding-top: 56px;
	padding-bottom: 56px;
}

/* Héroe: pasa por debajo de la cabecera transparente */
body .airea-sec.airea-hero {
	position: relative;
	overflow: hidden;
	overflow: clip;
	padding-top: calc(104px + var(--airea-cab-alto));
	padding-bottom: 112px;
	background-color: var(--airea-tinta);
}

body .airea-sec.airea-hero.is-arena {
	background-color: var(--airea-arena);
}

body .airea-sec.airea-hero.is-pantalla {
	min-height: 100vh;
	min-height: 100svh;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

body .airea-sec.airea-hero.is-pantalla > * {
	width: 100%;
}

.airea-hero > * {
	position: relative;
	z-index: 1;
}

/* Decoración a sangre dentro de una sección (viento de píxeles) */
body :is(.airea-sec, .airea-panel, .airea-card) > :is(.wp-block-airea-viento, [data-airea="viento"]) {
	position: absolute !important;
	inset: 0;
	z-index: 0;
	width: auto;
	max-width: none !important;
	margin: 0 !important;
	pointer-events: none;
}

/* Ritmo vertical dentro de las secciones */
body .airea-hero > * + * {
	margin-block-start: 28px;
}

body .airea-eyebrow + * {
	margin-block-start: 16px;
}

body .airea-sec > :is(.wp-block-heading, p) + :is(.wp-block-group, .wp-block-columns, .wp-block-table, .wp-block-details, [class*="wp-block-airea-"]) {
	margin-block-start: 48px;
}

body .airea-sec .wp-block-columns {
	gap: 56px;
}

body .airea-hero .wp-block-columns {
	gap: 64px;
}

body .airea-sec > .wp-block-columns + *,
body .airea-sec > .wp-block-group + .wp-block-group {
	margin-block-start: 48px;
}

/* Contenedor genérico de página (plantillas page e index) */
body .airea-pagina {
	--wp--style--global--content-size: 820px;
	box-sizing: border-box;
	padding: calc(var(--airea-cab-alto) + 72px) var(--airea-lateral) 112px;
}

body .airea-pagina .wp-block-post-title {
	margin-block-end: 40px;
}

.airea-texto-legal h2 {
	font-size: clamp(26px, 3vw, 34px);
	margin-block-start: 48px;
}

.airea-texto-legal h3 {
	font-size: 22px;
	font-weight: 400;
	margin-block-start: 32px;
}

.airea-texto-legal :is(p, li) {
	color: var(--c-suave-2);
}

.airea-entrada {
	padding-block: 32px;
	border-bottom: 1px solid var(--c-linea);
}

.airea-entrada .wp-block-post-title a {
	text-decoration: none;
}

body .wp-block-query-pagination {
	margin-block-start: 48px;
	gap: 16px;
	font-weight: 600;
}

body .wp-block-query-pagination a {
	text-decoration: none;
}

/* --------------------------------------------------------------------------
   5. Tipografía
   -------------------------------------------------------------------------- */

body .airea-eyebrow {
	display: flex;
	align-items: center;
	gap: 10px;
	font-family: var(--airea-mono);
	font-size: 13px;
	font-weight: 400;
	line-height: 1.4;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: var(--c-eyebrow);
}

body .airea-eyebrow::before {
	content: "";
	flex: 0 0 10px;
	width: 10px;
	height: 10px;
	border-radius: 26%;
	background: var(--c-pixel);
}

body .airea-hero .airea-eyebrow::before {
	animation: estela 1.2s ease-in-out infinite;
}

body .airea-eyebrow.is-sin-pixel::before {
	display: none;
}

body .airea-eyebrow.has-text-align-center {
	justify-content: center;
}

body .airea-h1 {
	font-family: var(--airea-display);
	font-weight: 400;
	font-size: clamp(44px, 6vw, 84px);
	line-height: 1.05;
	letter-spacing: -0.01em;
	margin-block-end: 0;
}

body .airea-h2 {
	font-family: var(--airea-display);
	font-weight: 400;
	font-size: clamp(34px, 4vw, 56px);
	line-height: 1.1;
	letter-spacing: 0;
	margin-block-end: 0;
}

body .airea-h3 {
	font-family: var(--airea-display);
	font-weight: 300;
	font-size: 28px;
	line-height: 1.2;
	margin-block-end: 0;
}

body .airea-h4 {
	font-family: var(--airea-display);
	font-weight: 400;
	font-size: 26px;
	line-height: 1.2;
	margin-block-end: 0;
}

body .airea-lead {
	font-family: var(--airea-display);
	font-weight: 300;
	font-size: clamp(20px, 2.2vw, 28px);
	line-height: 1.35;
	color: var(--c-suave-2);
}

body .airea-grande {
	font-size: 18px;
	color: var(--c-suave-2);
}

body .airea-suave {
	color: var(--c-suave-2);
}

body .airea-pequeno {
	font-size: 14px;
}

body .airea-num {
	font-family: var(--airea-display);
	font-weight: 200;
	font-size: clamp(64px, 6vw, 72px);
	line-height: 1;
	color: var(--c-acento);
	font-variant-numeric: tabular-nums;
}

body .airea-mono {
	font-family: var(--airea-mono);
	font-size: 12px;
	line-height: 1.4;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: var(--c-suave);
}

body .airea-enlace {
	font-weight: 600;
}

body .airea-enlace a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	font-weight: 600;
	text-decoration: none;
	color: var(--c-enlace);
	transition: color 0.2s ease;
}

body .airea-enlace a:hover,
body .airea-enlace a:focus-visible {
	color: var(--c-enlace-hover);
}

/* Huecos de plantilla: texto pendiente de completar */
body .airea-hueco {
	width: fit-content;
	background: var(--c-hueco-fondo);
	border: 1px dashed var(--c-hueco-borde);
	border-radius: 8px;
	padding: 1px 8px;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
}

/* --------------------------------------------------------------------------
   6. Botones (core/button)
   -------------------------------------------------------------------------- */

body .wp-block-button .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	box-sizing: border-box;
	min-height: 52px;
	text-decoration: none;
	transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

body .wp-block-button.is-style-airea-primario > .wp-block-button__link {
	background: var(--airea-tinta);
	color: #ffffff;
	border: 0;
}

body .wp-block-button.is-style-airea-primario > .wp-block-button__link:hover,
body .wp-block-button.is-style-airea-primario > .wp-block-button__link:focus-visible {
	background: var(--airea-tinta-2);
	color: #ffffff;
}

body .wp-block-button.is-style-airea-claro > .wp-block-button__link {
	background: var(--airea-alisio-claro);
	color: var(--airea-tinta);
	border: 0;
}

body .wp-block-button.is-style-airea-claro > .wp-block-button__link:hover,
body .wp-block-button.is-style-airea-claro > .wp-block-button__link:focus-visible {
	background: var(--airea-alisio-hover);
	color: var(--airea-tinta);
}

body .wp-block-button.is-style-airea-contorno > .wp-block-button__link {
	background: transparent;
	color: var(--c-texto);
	border: 1px solid var(--c-borde-boton);
}

body .wp-block-button.is-style-airea-contorno > .wp-block-button__link:hover,
body .wp-block-button.is-style-airea-contorno > .wp-block-button__link:focus-visible {
	background: var(--airea-tinta);
	border-color: var(--airea-tinta);
	color: #ffffff;
}

body :is(.is-tinta, .airea-hero:not(.is-arena)) .wp-block-button.is-style-airea-contorno > .wp-block-button__link:hover,
body :is(.is-tinta, .airea-hero:not(.is-arena)) .wp-block-button.is-style-airea-contorno > .wp-block-button__link:focus-visible {
	background: rgba(255, 255, 255, 0.08);
	border-color: var(--c-borde-boton);
	color: #ffffff;
}

/* Un botón sin estilo sobre Tinta no desaparece: pasa a Alisio claro */
body :is(.is-tinta, .airea-hero:not(.is-arena)) .wp-block-button:not([class*="is-style-"]) > .wp-block-button__link,
body :is(.is-tinta, .airea-hero:not(.is-arena)) .wp-block-button.is-style-fill > .wp-block-button__link {
	background: var(--airea-alisio-claro);
	color: var(--airea-tinta);
}

body :is(.is-tinta, .airea-hero:not(.is-arena)) .wp-block-button:not([class*="is-style-"]) > .wp-block-button__link:hover,
body :is(.is-tinta, .airea-hero:not(.is-arena)) .wp-block-button.is-style-fill > .wp-block-button__link:hover {
	background: var(--airea-alisio-hover);
	color: var(--airea-tinta);
}

/* Variante compacta (dentro de tarjetas) */
body .wp-block-buttons.is-compactos .wp-block-button__link {
	padding: 14px 24px;
	min-height: 48px;
}

body .airea-hero .wp-block-buttons {
	padding-top: 8px;
}

/* --------------------------------------------------------------------------
   7. Tarjetas, paneles y rejillas
   -------------------------------------------------------------------------- */

body .wp-block-group.airea-card,
body .wp-block-group.is-style-airea-tarjeta {
	position: relative;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: 16px;
	padding: 36px;
	border-radius: 20px;
	color: var(--c-texto);
}

body .wp-block-group.airea-card > *,
body .wp-block-group.is-style-airea-tarjeta > * {
	margin-block: 0;
	margin-inline: 0 !important;
}

body .wp-block-group.airea-card > :is(.airea-enlace, .wp-block-buttons):last-child,
body .wp-block-group.is-style-airea-tarjeta > :is(.airea-enlace, .wp-block-buttons):last-child {
	margin-block-start: auto;
}

body .wp-block-group.airea-card > :is(.wp-block-image, .wp-block-airea-logo, [data-airea="logo"]) {
	align-self: flex-start;
}

body .wp-block-group.airea-card.is-arena { background-color: var(--airea-arena); }
body .wp-block-group.airea-card.is-tinta { background-color: var(--airea-tinta); }
body .wp-block-group.airea-card.is-blanco { background-color: var(--airea-blanco); }

body .wp-block-group.airea-card.is-borde {
	border: 1px solid var(--c-linea);
}

body .wp-block-group.airea-card.is-borde-fuerte {
	border: 2px solid var(--airea-tinta);
}

body .wp-block-group.airea-card.is-discontinua {
	border: 1.5px dashed rgba(13, 43, 62, 0.25);
}

body .wp-block-group.airea-card.is-alisio {
	background-color: var(--airea-alisio);
	color: #ffffff;
	padding: 40px;
	justify-content: space-between;
}

body .wp-block-group.airea-card.is-grande {
	border-radius: 24px;
	padding: 32px;
	gap: 20px;
}

/* Elevación al pasar el ratón: ver «22. Hover de las cajas» al final (va después de .reveal para ganarle) */

body .wp-block-group.airea-card.is-discontinua.lift:hover {
	border-color: var(--airea-alisio);
}

/* Panel grande (contacto en Arena, Airea IA destacada en Tinta) */
body .wp-block-group.airea-panel {
	position: relative;
	overflow: hidden;
	overflow: clip;
	box-sizing: border-box;
	padding: 56px;
	border-radius: 28px;
	color: var(--c-texto);
}

body .wp-block-group.airea-panel.is-tinta { background-color: var(--airea-tinta); }
body .wp-block-group.airea-panel.is-arena {
	background-color: var(--airea-arena);
	border-radius: 32px;
	padding: 64px 48px;
}
body .wp-block-group.airea-panel.is-blanco { background-color: var(--airea-blanco); }

body .wp-block-group.airea-panel .wp-block-columns {
	gap: 48px;
}

/* Caja interior translúcida sobre Tinta (ilustraciones, "Así funciona") */
body .wp-block-group.airea-caja {
	box-sizing: border-box;
	padding: 32px;
	border-radius: 22px;
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid rgba(255, 255, 255, 0.12);
}

body .is-arena .wp-block-group.airea-caja,
body .is-blanco .wp-block-group.airea-caja {
	background: #ffffff;
	border-color: rgba(13, 43, 62, 0.08);
}

/* Rejillas */
body .wp-block-group:is(.airea-grid-2, .airea-grid-3, .airea-grid-4) {
	display: grid;
	gap: 24px;
	align-items: stretch;
}

body .wp-block-group.airea-grid-2 {
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr));
}

body .wp-block-group.airea-grid-3 {
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
}

body .wp-block-group.airea-grid-4 {
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
	gap: 20px;
}

body .wp-block-group:is(.airea-grid-2, .airea-grid-3, .airea-grid-4) > * {
	margin-block: 0;
	margin-inline: 0 !important;
	max-width: none;
	min-width: 0;
}

/* Chips */
body .wp-block-group.airea-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

body .wp-block-group.airea-chips > * {
	margin: 0 !important;
}

body .airea-chip {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 8px 14px;
	border: 1px solid var(--c-borde-chip);
	border-radius: 999px;
	font-size: 14px;
	line-height: 1.4;
	color: var(--c-texto);
}

body .airea-chip.is-pixel::before {
	content: "";
	flex: 0 0 8px;
	width: 8px;
	height: 8px;
	border-radius: 26%;
	background: var(--c-pixel);
}

/* Etiqueta pequeña tipo "LÍNEA PRINCIPAL" */
body .airea-etiqueta {
	display: inline-block;
	width: fit-content;
	padding: 6px 10px;
	border-radius: 6px;
	background: var(--airea-alisio-claro);
	color: var(--airea-tinta);
	font-family: var(--airea-mono);
	font-size: 12px;
	letter-spacing: 0.15em;
	line-height: 1.3;
	text-transform: uppercase;
}

/* --------------------------------------------------------------------------
   8. Listas (core/list)
   -------------------------------------------------------------------------- */

body ul.airea-lista-pixel,
body ol.airea-lista-pixel {
	list-style: none;
	padding-left: 0;
}

body .airea-lista-pixel > li {
	position: relative;
	padding-left: 22px;
}

body .airea-lista-pixel > li + li {
	margin-top: 10px;
}

body .airea-lista-pixel > li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.62em;
	width: 8px;
	height: 8px;
	border-radius: 26%;
	background: var(--c-pixel);
}

/* --------------------------------------------------------------------------
   9. Preguntas frecuentes (core/details) como el acordeón del lienzo
   -------------------------------------------------------------------------- */

body .wp-block-details {
	border-bottom: 1px solid var(--c-linea-faq);
	padding: 0;
}

body .wp-block-details:first-child,
body :not(.wp-block-details) + .wp-block-details {
	border-top: 1px solid var(--c-linea-faq);
}

body .wp-block-details + .wp-block-details {
	margin-block-start: 0;
}

body .wp-block-details > summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	min-height: 44px;
	padding: 22px 0;
	list-style: none;
	cursor: pointer;
	font-family: var(--airea-display);
	font-weight: 400;
	font-size: 22px;
	line-height: 1.3;
	color: var(--c-texto);
	transition: color 0.2s ease;
}

body .wp-block-details > summary::-webkit-details-marker {
	display: none;
}

body .wp-block-details > summary::marker {
	content: "";
}

body .wp-block-details > summary::after {
	content: "";
	flex: 0 0 36px;
	width: 36px;
	height: 36px;
	border-radius: 26%;
	background-color: var(--c-icono-faq);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230d2b3e' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 16px 16px;
	transition: transform 0.25s ease, background-color 0.25s ease;
}

body :is(.is-tinta, .airea-hero:not(.is-arena)) .wp-block-details > summary::after {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E");
}

body .wp-block-details[open] > summary::after {
	background-color: var(--airea-tinta);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2346e3c8' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E");
	transform: rotate(45deg);
}

body :is(.is-tinta, .airea-hero:not(.is-arena)) .wp-block-details[open] > summary::after {
	background-color: var(--airea-alisio-claro);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230d2b3e' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E");
}

body .wp-block-details > summary:hover {
	color: var(--c-acento);
}

body .wp-block-details > summary:focus-visible {
	outline: 3px solid var(--airea-alisio);
	outline-offset: 4px;
	border-radius: 8px;
}

body .wp-block-details > summary + * {
	margin-block-start: 0;
}

body .wp-block-details > :not(summary) {
	padding-right: 56px;
	color: var(--c-suave-2);
	font-size: 16px;
}

body .wp-block-details[open] > :not(summary) {
	animation: aparece 0.45s ease both;
}

body .wp-block-details > :last-child:not(summary) {
	margin-block-end: 24px;
}

/* --------------------------------------------------------------------------
   10. Tablas (core/table)
   -------------------------------------------------------------------------- */

body .wp-block-table {
	overflow-x: auto;
}

body .wp-block-table table {
	width: 100%;
	border-collapse: collapse;
	font-size: 15px;
}

body .wp-block-table :is(th, td) {
	border: 0;
	padding: 16px 8px;
	text-align: left;
	vertical-align: top;
}

body .wp-block-table thead {
	border-bottom: 0;
}

body .wp-block-table thead th {
	font-family: var(--airea-mono);
	font-weight: 400;
	font-size: 12px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--c-suave);
}

body .wp-block-table tbody tr {
	border-top: 1px solid var(--c-linea);
}

body .wp-block-table tbody th {
	font-weight: 500;
}

body .wp-block-table tbody td {
	color: var(--c-suave);
}

body .wp-block-table tfoot {
	border-top: 1px solid var(--c-linea);
}

body .wp-block-table figcaption {
	font-size: 13px;
	color: var(--c-suave);
}

/* Tabla en caja blanca, última columna destacada (comparativas) */
body .wp-block-table.is-style-airea-tabla {
	--c-texto: #0d2b3e;
	--c-suave: rgba(13, 43, 62, 0.72);
	--c-linea: rgba(13, 43, 62, 0.12);
	background: #ffffff;
	color: var(--airea-tinta);
	border-radius: 20px;
	padding: 12px 28px;
}

body .wp-block-table.is-style-airea-tabla table {
	min-width: 420px;
}

body .wp-block-table.is-style-airea-tabla thead th:last-child {
	color: var(--airea-tinta);
}

body .wp-block-table.is-style-airea-tabla tbody td:last-child {
	color: var(--airea-tinta);
	font-weight: 600;
}

/* --------------------------------------------------------------------------
   11. Pie (template part "footer")
   -------------------------------------------------------------------------- */

body .wp-block-group.airea-pie {
	box-sizing: border-box;
	padding: 72px max(var(--airea-lateral), calc((100% - var(--airea-ancho)) / 2)) 40px;
	background: var(--airea-tinta);
	color: rgba(255, 255, 255, 0.78);
	font-size: 15px;
}

body .wp-block-group.airea-pie > * {
	margin-block: 0;
}

body .wp-block-group.airea-pie > * + * {
	margin-block-start: 48px;
}

body .airea-pie .airea-pie__arriba {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
	gap: 40px;
}

body .airea-pie .airea-pie__marca {
	display: flex;
	flex-direction: column;
	gap: 18px;
	max-width: 320px;
}

body .airea-pie :is(.airea-pie__arriba, .airea-pie__marca, .airea-pie__columnas, .airea-pie__col, .airea-pie__legal) > * {
	margin: 0;
}

body .airea-pie .airea-pie__marca > :first-child {
	align-self: flex-start;
}

body .airea-pie .airea-pie__lema {
	font-family: var(--airea-display);
	font-weight: 300;
	font-size: 20px;
	line-height: 1.35;
	color: #ffffff;
}

body .airea-pie .airea-pie__columnas {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 56px;
}

body .airea-pie .airea-pie__col {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

body .airea-pie .airea-pie__titulo {
	font-family: var(--airea-mono);
	font-size: 12px;
	letter-spacing: 0.15em;
	line-height: 1.4;
	color: var(--airea-alisio-claro);
}

body .airea-pie ul.airea-pie__lista {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

body .airea-pie .airea-pie__lista li {
	margin: 0;
}

body .airea-pie .airea-pie__lista a {
	color: #ffffff;
	text-decoration: none;
	transition: color 0.2s ease;
}

body .airea-pie .airea-pie__lista a:hover {
	color: var(--airea-alisio-claro);
}

body .airea-pie .airea-pie__legal {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	padding-top: 24px;
	border-top: 1px solid rgba(255, 255, 255, 0.15);
	font-size: 13px;
	line-height: 1.5;
}

body .airea-pie .airea-pie__enlaces {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 20px;
}

body .airea-pie .airea-pie__enlaces a {
	color: rgba(255, 255, 255, 0.78);
}

body .airea-pie .airea-pie__enlaces a:hover {
	color: var(--airea-alisio-claro);
}


/* --------------------------------------------------------------------------
   12. Aparecer al hacer scroll (.reveal)
   -------------------------------------------------------------------------- */

/* Respaldo con IntersectionObserver (airea.js añade .is-visible) */
html.airea-js .reveal {
	opacity: 0;
	transform: translateY(48px);
	transition: opacity 0.8s ease, transform 0.8s cubic-bezier(0.2, 0.7, 0.2, 1);
}

html.airea-js .reveal.is-visible {
	opacity: 1;
	transform: none;
}

/* Navegadores con animaciones ligadas al scroll: sin JavaScript */
@supports (animation-timeline: view()) {
	html.airea-js .reveal,
	html.airea-js .reveal.is-visible {
		opacity: 1;
		transform: none;
		transition: none;
		animation: subir linear both;
		animation-timeline: view();
		animation-range: entry 0% entry 45%;
	}
}

/* --------------------------------------------------------------------------
   13. Animaciones comunes (mismos nombres que el lienzo)
   -------------------------------------------------------------------------- */

@keyframes subir { from { opacity: 0; transform: translateY(48px); } to { opacity: 1; transform: none; } }

/* Estela de tres píxeles */
@keyframes estela { 0%, 100% { opacity: 0.15; transform: scale(0.7); } 50% { opacity: 1; transform: scale(1); } }
.px1 { animation: estela 1.2s ease-in-out infinite; }
.px2 { animation: estela 1.2s ease-in-out 0.2s infinite; }
.px3 { animation: estela 1.2s ease-in-out 0.4s infinite; }

/* Estela que sopla desde el símbolo */
@keyframes sopla { 0%, 100% { opacity: 0.15; transform: translateX(12px) scale(0.6); } 50% { opacity: 1; transform: none; } }
.sopla { animation: sopla 1.8s ease-in-out infinite; }

/* Viento de píxeles */
@keyframes viento { 0% { transform: translateX(0); opacity: 0; } 10% { opacity: 1; } 85% { opacity: 1; } 100% { transform: translateX(1600px); opacity: 0; } }
.viento { position: absolute; left: -60px; border-radius: 26%; background: #46e3c8; animation: viento linear infinite; }

/* Casillas que se marcan solas y barra que crece */
@keyframes marca { 0%, 6% { opacity: 0; transform: scale(0.4); } 12%, 84% { opacity: 1; transform: scale(1); } 92%, 100% { opacity: 0; transform: scale(0.4); } }
.marca { animation: marca 7s ease-in-out infinite; }
@keyframes barra { 0% { width: 6%; } 80% { width: 92%; } 100% { width: 92%; } }
.barra { animation: barra 7s ease-in-out infinite; }

/* Palabra o bloque que aparece */
@keyframes aparece { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
.aparece { animation: aparece 0.5s ease both; }
@keyframes entra { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
.entra { animation: entra 0.4s ease both; }

/* Cinta infinita */
@keyframes marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.marquee { animation: marquee 32s linear infinite; }

/* Ilustraciones de servicios */
@keyframes viaje { 0% { left: 0%; } 45% { left: calc(50% - 7px); } 55% { left: calc(50% - 7px); } 100% { left: calc(100% - 14px); } }
.viaje { animation: viaje 3.2s ease-in-out infinite; }
@keyframes pulsoIA { 0%, 40%, 60%, 100% { box-shadow: 0 0 0 0 rgba(70, 227, 200, 0); } 50% { box-shadow: 0 0 0 10px rgba(70, 227, 200, 0.25); } }
.pulsoIA { animation: pulsoIA 3.2s ease-in-out infinite; }
@keyframes crece { 0% { transform: scaleY(0.15); } 60%, 100% { transform: scaleY(1); } }
.crece { transform-origin: bottom; animation: crece 2.8s ease-out infinite alternate; }
@keyframes latido { from { stroke-dashoffset: 300; } to { stroke-dashoffset: 0; } }
.latido { stroke-dasharray: 300; animation: latido 2.6s linear infinite; }
@keyframes punto { 0%, 100% { opacity: 1; } 50% { opacity: 0.3; } }
.punto { animation: punto 1.4s ease-in-out infinite; }
.punto-b { animation: punto 1.4s ease-in-out 0.35s infinite; }
.punto-c { animation: punto 1.4s ease-in-out 0.7s infinite; }
.punto-d { animation: punto 1.4s ease-in-out 1.05s infinite; }
@keyframes escribe { 0%, 60%, 100% { transform: translateY(0); opacity: 0.35; } 30% { transform: translateY(-4px); opacity: 1; } }
.dot1 { animation: escribe 1.2s infinite; }
.dot2 { animation: escribe 1.2s 0.15s infinite; }
.dot3 { animation: escribe 1.2s 0.3s infinite; }
@keyframes burbuja { 0%, 10% { opacity: 0; transform: translateY(8px); } 20%, 85% { opacity: 1; transform: none; } 95%, 100% { opacity: 0; } }
.b1 { animation: burbuja 6s ease infinite; }
.b2 { animation: burbuja 6s ease 1.2s infinite; }

/* Proceso: píxel que recorre la línea */
@keyframes recorre { from { left: 0; } to { left: calc(100% - 14px); } }
.recorre { animation: recorre 6s ease-in-out infinite alternate; }
@keyframes recorreV { from { top: 0; } to { top: calc(100% - 14px); } }
.recorreV { animation: recorreV 6s ease-in-out infinite alternate; }

/* Conversación de contacto */
@keyframes cUser { 0% { opacity: 0; transform: translateY(10px); } 6%, 92% { opacity: 1; transform: none; } 100% { opacity: 0; } }
@keyframes cEscribe { 0%, 12% { opacity: 0; } 18%, 38% { opacity: 1; } 42%, 100% { opacity: 0; } }
@keyframes cResp { 0%, 40% { opacity: 0; transform: translateY(10px); } 48%, 92% { opacity: 1; transform: none; } 100% { opacity: 0; } }
.c-user { animation: cUser 8s ease infinite; }
.c-escribe { animation: cEscribe 8s ease infinite; }
.c-resp { animation: cResp 8s ease infinite; }

/* Airea IA: flujo vertical del héroe */
@keyframes baja { 0% { top: 0; opacity: 0; } 6% { opacity: 1; } 80% { top: calc(100% - 14px); opacity: 1; } 92%, 100% { top: calc(100% - 14px); opacity: 0; } }
.baja { animation: baja 6s ease-in-out infinite; }
@keyframes hecho { 0% { opacity: 0; transform: scale(0.4); } 6%, 78% { opacity: 1; transform: scale(1); } 88%, 100% { opacity: 0; transform: scale(0.4); } }
.hecho { animation: hecho 6s ease-in-out infinite both; }
@keyframes enciende { 0%, 100% { background: #163f59; } 6%, 30% { background: #12a68e; } }
.enciende { animation: enciende 6s ease-in-out infinite both; }
@keyframes flota { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
.flota { animation: flota 6s ease-in-out infinite; }

/* Airea Web: web que se construye */
@keyframes monta { 0%, 4% { opacity: 0; transform: translateY(10px); } 12%, 86% { opacity: 1; transform: none; } 94%, 100% { opacity: 0; transform: translateY(-4px); } }
.monta { animation: monta 8s ease-in-out infinite both; }
@keyframes cursor { 0%, 100% { transform: translate(0, 0); } 30% { transform: translate(-90px, 40px); } 60% { transform: translate(-30px, 110px); } }
.cursor { animation: cursor 8s ease-in-out infinite; }
@keyframes escudo { 0%, 100% { box-shadow: 0 0 0 0 rgba(70, 227, 200, 0); } 50% { box-shadow: 0 0 0 18px rgba(70, 227, 200, 0.16); } }
.escudo { animation: escudo 2.6s ease-in-out infinite; }
@keyframes parpadeo { 50% { opacity: 0; } }
.cursor-px { display: inline-block; width: 0.42em; height: 0.42em; margin-left: 0.12em; border-radius: 26%; background: #12a68e; vertical-align: 0.05em; animation: parpadeo 1s steps(1) infinite; }

/* Airea Soporte: monitor */
@keyframes noti { 0%, 18% { opacity: 0; transform: translateY(14px) scale(0.96); } 26%, 82% { opacity: 1; transform: none; } 92%, 100% { opacity: 0; transform: translateY(-6px); } }
.noti { animation: noti 7s ease infinite; }
@keyframes llena { 0% { width: 4%; } 70%, 100% { width: 100%; } }
.llena { animation: llena 7s ease-in-out infinite; }
@keyframes escaneo { 0% { top: 0; } 100% { top: calc(100% - 2px); } }
.escaneo { animation: escaneo 3.4s ease-in-out infinite alternate; }

/* Menú móvil */
@keyframes menuEntra { from { opacity: 0; transform: translateY(-16px); } to { opacity: 1; transform: none; } }
.menu-entra { animation: menuEntra 0.35s ease both; }
@keyframes linkEntra { from { opacity: 0; transform: translateX(-18px); } to { opacity: 1; transform: none; } }
.link-entra { animation: linkEntra 0.4s ease both; }

/* Utilidades */
.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	overflow: clip;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* --------------------------------------------------------------------------
   14. Responsive
   -------------------------------------------------------------------------- */

@media (max-width: 782px) {
	:root {
		--airea-cab-alto: 68px;
		--airea-lateral: 20px;
	}

	body.admin-bar .wp-site-blocks > header.wp-block-template-part {
		top: 46px;
	}

	body .wp-block-group.airea-cab {
		padding: 12px 20px;
		gap: 12px;
	}

	body .airea-cab img {
		height: 30px !important;
		width: auto !important;
	}

	body .airea-cab .wp-block-navigation,
	body .airea-cab .wp-block-navigation .wp-block-navigation__container {
		gap: 18px;
		font-size: 14px;
	}

	body .airea-cab .airea-cab__acciones {
		gap: 18px;
	}

	body .airea-sec {
		padding: 72px 20px;
	}

	body .airea-sec.airea-hero {
		padding-top: calc(52px + var(--airea-cab-alto));
		padding-bottom: 64px;
	}

	body .airea-hero > * + * {
		margin-block-start: 22px;
	}

	body .airea-sec .wp-block-columns,
	body .airea-hero .wp-block-columns {
		gap: 32px;
	}

	body .airea-sec > :is(.wp-block-heading, p) + :is(.wp-block-group, .wp-block-columns, .wp-block-table, .wp-block-details, [class*="wp-block-airea-"]),
	body .airea-sec > .wp-block-columns + *,
	body .airea-sec > .wp-block-group + .wp-block-group {
		margin-block-start: 32px;
	}

	body .airea-pagina {
		padding-bottom: 72px;
	}

	body .airea-eyebrow {
		font-size: 12px;
	}

	body .airea-eyebrow::before {
		flex-basis: 9px;
		width: 9px;
		height: 9px;
	}

	body .airea-num {
		font-size: 56px;
	}

	/* Cifra de cabecera (p. ej. «+20 webs entregadas»): en móvil, en una fila bajo el título para no alargar la sección */
	body .wp-block-columns:has(.airea-num + .airea-mono) {
		gap: 18px;
	}

	body .wp-block-column:has(> .airea-num + .airea-mono) {
		display: flex;
		align-items: center;
		gap: 14px;
	}

	body .wp-block-column:has(> .airea-num + .airea-mono) > * {
		margin: 0;
	}

	body .wp-block-column > .airea-num:has(+ .airea-mono) {
		font-size: 44px;
	}

	body .wp-block-group.airea-card,
	body .wp-block-group.is-style-airea-tarjeta {
		padding: 26px 22px;
		gap: 14px;
	}

	body .wp-block-group.airea-panel,
	body .wp-block-group.airea-panel.is-arena {
		padding: 32px 20px 24px;
		border-radius: 26px;
	}

	body .wp-block-group.airea-caja {
		padding: 22px 20px;
	}

	body .wp-block-details > summary {
		font-size: 19px;
		padding: 18px 0;
	}

	body .wp-block-details > :not(summary) {
		padding-right: 0;
	}

	body .wp-block-table.is-style-airea-tabla {
		padding: 8px 16px;
	}

	body .wp-block-group.airea-pie {
		padding: 48px 20px 96px;
	}

	body .wp-block-group.airea-pie > * + * {
		margin-block-start: 28px;
	}

	body .airea-pie .airea-pie__arriba {
		flex-direction: column;
		gap: 36px;
	}

	/* Servicios y Contacto, uno al lado del otro */
	body .airea-pie .airea-pie__columnas {
		flex-direction: row;
		flex-wrap: nowrap;
		gap: 24px;
		width: 100%;
	}

	body .airea-pie .airea-pie__col {
		flex: 1 1 0;
		min-width: 0;
	}

	body .airea-pie .airea-pie__legal {
		flex-direction: column-reverse;
		align-items: flex-start;
		gap: 14px;
	}

	body .airea-pie .airea-pie__lista a,
	body .airea-pie .airea-pie__enlaces a {
		display: inline-flex;
		align-items: center;
		min-height: 44px;
	}

	body .airea-pie ul.airea-pie__lista {
		gap: 0;
	}


	.airea-solo-escritorio {
		display: none !important;
	}

	@keyframes viento { 0% { transform: translateX(0); opacity: 0; } 10% { opacity: 1; } 85% { opacity: 1; } 100% { transform: translateX(520px); opacity: 0; } }
	@keyframes subir { from { opacity: 0; transform: translateY(40px); } to { opacity: 1; transform: none; } }

	html.airea-js .reveal {
		transform: translateY(40px);
	}
}

@media (min-width: 783px) {
	.airea-solo-movil {
		display: none !important;
	}
}

@media (max-width: 600px) {
	body.admin-bar .wp-site-blocks > header.wp-block-template-part {
		top: 0;
	}

	body .airea-cab .wp-block-button .wp-block-button__link {
		padding: 10px 16px;
		font-size: 14px;
	}

	body .airea-cab .airea-cab__acciones {
		gap: 8px;
	}

	body .airea-h2 {
		font-size: 32px;
	}

	body .airea-h3 {
		font-size: 26px;
	}

	body .airea-lead {
		font-size: 20px;
	}

	body .airea-hero .wp-block-buttons {
		flex-direction: column;
		align-items: stretch;
		gap: 12px;
	}

	body .airea-hero .wp-block-buttons > .wp-block-button {
		width: 100%;
	}

	body .airea-hero .wp-block-buttons .wp-block-button__link {
		width: 100%;
		padding-left: 20px;
		padding-right: 20px;
	}

	body .wp-block-group.airea-chips {
		gap: 8px;
	}
}

/* ==========================================================================
   16. Más movimiento (2026-10-10)
   ========================================================================== */

/* Flecha de los botones y enlaces: sale por la derecha y vuelve a entrar */
.airea-flecha {
	display: inline-block;
	transition: transform 0.3s cubic-bezier(0.2, 0.7, 0.2, 1);
}

:is(a, button):is(:hover, :focus-visible) .airea-flecha {
	transform: translateX(5px);
}

/* Entrada al cargar: lo que ya se ve en pantalla aparece suave, en orden */
html.airea-carga .airea-entra-carga,
html.airea-carga .reveal {
	opacity: 0;
}

html.airea-js .airea-entra-carga.is-entrando,
html.airea-js .reveal.is-entrando {
	opacity: 1;
	transform: none;
	transition: none;
	animation: airea-entrada 0.9s cubic-bezier(0.2, 0.7, 0.2, 1) both !important;
	animation-timeline: auto !important;
	animation-delay: calc(var(--i, 0) * 120ms) !important;
}

@keyframes airea-entrada {
	from { opacity: 0; transform: translateY(40px); }
	to { opacity: 1; transform: none; }
}

/* Tarjetas: al pasar el ratón aparece la estela de la marca en la esquina */
body .wp-block-group.airea-card {
	position: relative;
}

body .wp-block-group.airea-card::after {
	content: "";
	position: absolute;
	top: 22px;
	right: 44px;
	width: 8px;
	height: 8px;
	border-radius: 26%;
	background: var(--c-pixel);
	box-shadow: 13px 0 0 0 color-mix(in srgb, var(--c-pixel) 55%, transparent), 26px 0 0 0 color-mix(in srgb, var(--c-pixel) 25%, transparent);
	opacity: 0;
	transform: translateX(-16px);
	transition: opacity 0.35s ease, transform 0.45s cubic-bezier(0.2, 0.7, 0.2, 1);
	pointer-events: none;
}

@media (hover: hover) and (pointer: fine) {
	body .wp-block-group.airea-card:is(:hover, :focus-within)::after {
		opacity: 1;
		transform: none;
	}
}

/* Sin estos píxeles donde estorban: tarjetas con una ilustración arriba (caían
   en su borde) y tarjetas que ya llevan sus tres píxeles (saldrían repetidos) */
body .wp-block-group.airea-card:has(> .airea-b-ilustracion:first-child, > [data-airea="ilustracion"]:first-child, .airea-b-estela)::after {
	display: none;
}

body .airea-card.is-tinta,
body .airea-card.is-tinta * {
	--c-pixel: #46e3c8;
}

/* Antetítulos: el píxel llega con su estela */
html.airea-js .airea-sec:not(.airea-hero) .airea-eyebrow::before {
	opacity: 0;
}

html.airea-js .airea-sec:not(.airea-hero) .airea-eyebrow.is-visible::before {
	animation: airea-px-llega 0.9s cubic-bezier(0.2, 0.7, 0.2, 1) forwards;
}

@keyframes airea-px-llega {
	0% { opacity: 0; transform: translateX(-40px); box-shadow: -12px 0 0 -2px color-mix(in srgb, var(--c-pixel) 40%, transparent), -24px 0 0 -3px color-mix(in srgb, var(--c-pixel) 18%, transparent); }
	70% { opacity: 1; transform: translateX(3px); box-shadow: -8px 0 0 -2px color-mix(in srgb, var(--c-pixel) 30%, transparent), -16px 0 0 -3px color-mix(in srgb, var(--c-pixel) 10%, transparent); }
	100% { opacity: 1; transform: none; box-shadow: none; }
}

/* Línea de progreso de lectura bajo la cabecera */
.airea-progreso {
	position: absolute;
	left: 0;
	right: 0;
	bottom: -1px;
	height: 2px;
	pointer-events: none;
	opacity: 0;
	transition: opacity 0.3s ease;
}

.airea-progreso.is-activa {
	opacity: 1;
}

.airea-progreso > span {
	position: absolute;
	inset: 0;
	background: var(--airea-alisio-claro);
	transform-origin: 0 50%;
	transform: scaleX(0);
}

.airea-cab.is-solida .airea-progreso > span {
	background: var(--airea-alisio);
}

/* Píxeles que flotan con el scroll en secciones Tinta y Arena */
.airea-flotan {
	position: absolute !important;
	inset: 0;
	margin: 0 !important;
	max-width: none !important;
	pointer-events: none;
	overflow: hidden;
	overflow: clip;
	z-index: 0;
}

.airea-flotan > span {
	position: absolute;
	display: block;
	border-radius: 26%;
	background: var(--c-pixel);
	opacity: 0.55;
	will-change: transform;
}

:where(.airea-sec, .airea-panel):has(> .airea-flotan) {
	position: relative;
	overflow: hidden;
	overflow: clip;
}

:where(.airea-flotan ~ *) {
	position: relative;
	z-index: 1;
}

/* ==========================================================================
   17. Redes sociales
   ========================================================================== */

body .wp-block-social-links.airea-redes {
	gap: 8px;
	margin: 0;
	padding: 0;
}

body .wp-block-social-links.airea-redes .wp-social-link {
	color: currentColor;
	background: none;
	transition: transform 0.25s cubic-bezier(0.2, 0.7, 0.2, 1);
}

body .wp-block-social-links.airea-redes .wp-social-link svg {
	display: block;
	width: 20px;
	height: 20px;
	fill: currentColor;
}

body .airea-redes .wp-block-social-link-label,
.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	overflow: clip;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

body .airea-redes .wp-block-social-link-anchor {
	position: relative;
}

body .wp-block-social-links.airea-redes .wp-social-link:hover {
	transform: translateY(-3px);
}

/* En la cabecera: junto al logo, separadas por una línea */
body .airea-cab .airea-cab__marca {
	display: flex;
	align-items: center;
	gap: 0;
}

body .airea-cab .wp-block-social-links.airea-redes--cab {
	margin: 0 0 0 22px;
	padding: 0 0 0 18px;
	border-left: 1px solid var(--c-linea);
	gap: 2px;
	color: var(--airea-tinta);
}

body .airea-cab .airea-redes--cab .wp-social-link a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	padding: 0;
}

body .airea-cab .airea-redes--cab .wp-social-link a:hover {
	color: var(--airea-alisio);
}

body.airea-hero-oscuro .airea-cab:not(.is-solida) .airea-redes--cab {
	color: #ffffff;
	border-left-color: rgba(255, 255, 255, 0.2);
}

body.airea-hero-oscuro .airea-cab:not(.is-solida) .airea-redes--cab .wp-social-link a:hover {
	color: var(--airea-alisio-claro);
}

/* Las del menú solo se ven dentro del menú móvil abierto */
body .airea-cab .airea-redes--menu {
	display: none !important;
}

body .airea-cab .wp-block-navigation__responsive-container.is-menu-open .airea-redes--menu {
	display: flex !important;
	align-self: stretch;
	justify-content: flex-start !important;
	width: 100%;
	box-sizing: border-box;
	margin: 32px 0 0;
	padding: 0;
	border-top: 0;
	color: #ffffff;
	gap: 12px;
	animation: linkEntra 0.4s ease 0.25s both;
}

body .airea-cab .wp-block-navigation__responsive-container.is-menu-open .airea-redes--menu .wp-social-link a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	border-radius: 26%;
	border: 1px solid rgba(255, 255, 255, 0.2);
}

body .airea-cab .wp-block-navigation__responsive-container.is-menu-open .airea-redes--menu .wp-social-link svg {
	width: 24px;
	height: 24px;
}

@media (max-width: 782px) {
	body .airea-cab .wp-block-social-links.airea-redes--cab {
		display: none;
	}

	body .airea-cab .airea-b-logo-img {
		height: 40px !important;
	}
}

/* En el pie: botones con forma de píxel */
body .airea-pie .wp-block-social-links.airea-redes--pie {
	margin-block-start: 24px;
	gap: 12px;
	color: #ffffff;
}

body .airea-pie .airea-redes--pie .wp-social-link a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	padding: 0;
	border-radius: 26%;
	border: 1px solid rgba(255, 255, 255, 0.2);
	transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

body .airea-pie .airea-redes--pie .wp-social-link svg {
	width: 24px;
	height: 24px;
}

body .airea-pie .airea-redes--pie .wp-social-link a:hover,
body .airea-pie .airea-redes--pie .wp-social-link a:focus-visible {
	background: var(--airea-alisio-claro);
	border-color: var(--airea-alisio-claro);
	color: var(--airea-tinta);
}

/* ==========================================================================
   18. WhatsApp flotante
   ========================================================================== */

.airea-wa {
	position: fixed;
	right: 24px;
	bottom: 24px;
	z-index: 95;
	font-family: var(--airea-texto);
}

.airea-wa__boton {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	min-height: 56px;
	padding: 0 20px 0 16px;
	border-radius: 18px;
	background: var(--airea-alisio-claro);
	color: var(--airea-tinta) !important;
	font-weight: 600;
	font-size: 15px;
	text-decoration: none !important;
	box-shadow: 0 12px 30px rgba(13, 43, 62, 0.28);
	transition: transform 0.35s cubic-bezier(0.2, 0.7, 0.2, 1), opacity 0.3s ease, background 0.2s ease;
}

.airea-wa__boton:hover,
.airea-wa__boton:focus-visible {
	background: var(--airea-alisio-hover);
}

.airea-wa__icono {
	position: relative;
	display: inline-flex;
}

/* El píxel que "respira" junto al icono: está vivo */
.airea-wa__px {
	position: absolute;
	top: -5px;
	right: -6px;
	width: 9px;
	height: 9px;
	border-radius: 26%;
	background: var(--airea-tinta);
	animation: airea-wa-respira 2.4s ease-in-out infinite;
}

.airea-wa.tiene-calculo .airea-wa__px {
	background: var(--airea-alisio);
	box-shadow: 0 0 0 0 rgba(18, 166, 142, 0.6);
	animation: airea-wa-latido 1.4s ease-out infinite;
}

@keyframes airea-wa-respira { 0%, 100% { transform: scale(0.75); opacity: 0.55; } 50% { transform: scale(1); opacity: 1; } }
@keyframes airea-wa-latido { 0% { box-shadow: 0 0 0 0 rgba(18, 166, 142, 0.6); } 100% { box-shadow: 0 0 0 10px rgba(18, 166, 142, 0); } }

html.airea-js .airea-wa:not(.is-listo) .airea-wa__boton,
.airea-wa.is-escondido .airea-wa__boton {
	transform: translateY(140%);
	opacity: 0;
	pointer-events: none;
}

.airea-wa.is-abierto .airea-wa__boton {
	background: var(--airea-tinta);
	color: #ffffff !important;
}

.airea-wa.is-abierto .airea-wa__px {
	background: var(--airea-alisio-claro);
}

/* Burbuja de saludo */
.airea-wa__aviso {
	position: absolute;
	right: 0;
	bottom: 72px;
	display: flex;
	align-items: center;
	gap: 10px;
	width: max-content;
	max-width: 280px;
	padding: 14px 16px;
	border: 0;
	border-radius: 16px 16px 4px 16px;
	background: #ffffff;
	color: var(--airea-tinta);
	font: 500 14px/1.4 var(--airea-texto);
	text-align: left;
	box-shadow: 0 14px 34px rgba(13, 43, 62, 0.2);
	cursor: pointer;
	opacity: 0;
	transform: translateY(10px) scale(0.96);
	transform-origin: 100% 100%;
	transition: opacity 0.3s ease, transform 0.35s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.airea-wa__aviso.is-visible {
	opacity: 1;
	transform: none;
}

.airea-wa__aviso.is-texto .airea-wa__escribe,
.airea-wa__aviso:not(.is-texto) .airea-wa__aviso-texto {
	display: none;
}

.airea-wa__aviso-texto {
	animation: entra 0.35s ease both;
}

.airea-b-sr {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	overflow: clip;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* Tres píxeles alineados abajo: Airea "pensando" (cargador del manual) */
.airea-wa__escribe {
	display: inline-flex;
	align-items: flex-end;
	gap: 4px;
	height: 14px;
}

.airea-wa__escribe > span {
	width: 7px;
	height: 7px;
	border-radius: 26%;
	background: var(--airea-alisio);
	animation: estela 1.2s ease-in-out infinite;
}

.airea-wa__escribe > span:nth-child(2) { animation-delay: 0.2s; }
.airea-wa__escribe > span:nth-child(3) { animation-delay: 0.4s; }

/* Panel */
.airea-wa__panel {
	position: absolute;
	right: 0;
	bottom: 72px;
	display: flex;
	flex-direction: column;
	max-height: calc(100vh - 180px);
	width: 352px;
	max-width: calc(100vw - 32px);
	overflow: hidden;
	overflow: clip;
	border-radius: 22px;
	background: #ffffff;
	color: var(--airea-tinta);
	box-shadow: 0 24px 60px rgba(13, 43, 62, 0.28);
	transform-origin: 100% 100%;
	animation: airea-wa-abre 0.35s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.airea-wa__panel[hidden] {
	display: none;
}

.airea-wa__panel > .airea-wa__chat {
	flex: 1 1 auto;
	overflow-y: auto;
}

@keyframes airea-wa-abre { from { opacity: 0; transform: translateY(12px) scale(0.96); } to { opacity: 1; transform: none; } }

.airea-wa__cab {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 16px 16px 16px 18px;
	background: var(--airea-tinta);
	color: #ffffff;
}

.airea-wa__avatar {
	flex: 0 0 40px;
	width: 40px;
	height: 40px;
	border-radius: 12px;
	background: var(--airea-tinta-2) url("../logos/airea-simbolo-blanco.svg") center / 64% no-repeat;
}

.airea-wa__nombre {
	margin: 0;
	font: 400 18px/1.2 var(--airea-display);
}

.airea-wa__estado {
	display: flex;
	align-items: center;
	gap: 6px;
	margin: 2px 0 0;
	font-size: 12px;
	color: rgba(255, 255, 255, 0.72);
}

.airea-wa__estado::before {
	content: "";
	width: 7px;
	height: 7px;
	border-radius: 26%;
	background: var(--airea-alisio-claro);
}

.airea-wa__cerrar {
	margin-inline-start: auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border: 0;
	border-radius: 12px;
	background: transparent;
	color: #ffffff;
	cursor: pointer;
}

.airea-wa__cerrar:hover {
	background: rgba(255, 255, 255, 0.1);
}

.airea-wa__chat {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
	min-height: 120px;
	padding: 18px;
	background: var(--airea-arena);
}

.airea-wa__chat > .airea-wa__escribe {
	padding: 12px 14px;
	border-radius: 14px 14px 14px 4px;
	background: #ffffff;
	height: auto;
}

.airea-wa__chat.is-listo > .airea-wa__escribe {
	display: none;
}

.airea-wa__chat:not(.is-listo) > :not(.airea-wa__escribe) {
	display: none;
}

.airea-wa__burbuja {
	margin: 0;
	max-width: 88%;
	padding: 12px 14px;
	border-radius: 14px 14px 14px 4px;
	background: #ffffff;
	font-size: 15px;
	line-height: 1.45;
	animation: entra 0.4s cubic-bezier(0.2, 0.7, 0.2, 1) both;
}

.airea-wa__burbuja[hidden] {
	display: none;
}

.airea-wa__burbuja--calculo {
	border-left: 3px solid var(--airea-alisio);
}

.airea-wa__opciones {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	align-self: stretch;
	gap: 8px;
	margin-top: 4px;
}

.airea-wa__opcion {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	margin: 0;
	padding: 8px 14px;
	line-height: 1.3;
	border: 1px solid rgba(13, 43, 62, 0.2);
	border-radius: 14px 14px 4px 14px;
	background: #ffffff;
	color: var(--airea-tinta) !important;
	font-size: 14px;
	font-weight: 500;
	text-decoration: none !important;
	animation: entra 0.4s cubic-bezier(0.2, 0.7, 0.2, 1) both;
	transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.airea-wa__opcion:nth-child(2) { animation-delay: 0.08s; }
.airea-wa__opcion:nth-child(3) { animation-delay: 0.16s; }
.airea-wa__opcion:nth-child(4) { animation-delay: 0.24s; }
.airea-wa__opcion:nth-child(5) { animation-delay: 0.32s; }

.airea-wa__opcion[hidden] {
	display: none;
}

.airea-wa__opcion:hover,
.airea-wa__opcion:focus-visible {
	border-color: var(--airea-alisio);
	transform: translateX(-3px);
}

.airea-wa__opcion.is-destacada {
	background: var(--airea-tinta);
	border-color: var(--airea-tinta);
	color: #ffffff !important;
}

.airea-wa__form {
	display: flex;
	gap: 8px;
	padding: 12px 12px 4px;
	background: #ffffff;
}

.airea-wa__form input {
	flex: 1;
	min-width: 0;
	min-height: 44px;
	padding: 0 14px;
	border: 1px solid rgba(13, 43, 62, 0.2);
	border-radius: 12px;
	font: 15px var(--airea-texto);
	color: var(--airea-tinta);
}

.airea-wa__form input:focus {
	outline: 2px solid var(--airea-alisio);
	outline-offset: 1px;
}

.airea-wa__form button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border: 0;
	border-radius: 12px;
	background: var(--airea-alisio-claro);
	color: var(--airea-tinta);
	cursor: pointer;
}

.airea-wa__pie {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 8px 12px 14px 16px;
	background: #ffffff;
	font-size: 13px;
	color: rgba(13, 43, 62, 0.7);
}

.airea-wa__pie > span {
	margin-inline-end: auto;
}

.airea-wa__via {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 40px;
	padding: 0 12px;
	border: 1px solid rgba(13, 43, 62, 0.16);
	border-radius: 12px;
	color: var(--airea-tinta) !important;
	font-weight: 600;
	text-decoration: none !important;
	transition: border-color 0.2s ease, background 0.2s ease;
}

.airea-wa__via:hover,
.airea-wa__via:focus-visible {
	border-color: var(--airea-alisio);
	background: var(--airea-arena);
}

html.has-modal-open .airea-wa {
	display: none;
}

@media (max-width: 600px) {
	.airea-wa {
		right: 16px;
		bottom: 16px;
	}

	.airea-wa__boton {
		padding: 0 16px;
	}

	.airea-wa__texto {
		display: none;
	}

	.airea-wa__panel {
		position: fixed;
		left: 12px;
		right: 12px;
		bottom: 84px;
		width: auto;
		max-width: none;
		max-height: calc(100vh - 160px);
	}
}

/* ==========================================================================
   19. Páginas de texto (aviso legal, privacidad, cookies)
   ========================================================================== */

body .airea-legal__hero {
	padding-bottom: 80px;
}

body .airea-legal__hero > :where(:not(.airea-b-viento):not(.airea-flotan)) {
	box-sizing: border-box;
	max-width: var(--airea-ancho) !important;
	margin-inline: auto !important;
}

body .airea-legal__hero .airea-legal__titulo {
	font-size: clamp(40px, 5vw, 68px);
}

body .wp-block-group.airea-legal {
	padding-bottom: 112px;
}

body .airea-legal__cuerpo {
	box-sizing: border-box;
	max-width: calc(var(--airea-ancho) + 2 * var(--airea-lateral));
	margin: 0 auto;
	padding: 80px var(--airea-lateral) 32px;
}

body .airea-legal.tiene-indice .airea-legal__cuerpo {
	display: grid;
	grid-template-columns: 240px minmax(0, 760px);
	gap: 72px;
	align-items: start;
}

.airea-legal__indice {
	position: sticky;
	top: calc(var(--airea-cab-alto) + 56px);
	padding: 22px;
	border-radius: 20px;
	background: var(--airea-arena);
}

.airea-legal__indice-titulo {
	margin: 0 0 12px;
	font-family: var(--airea-mono);
	font-size: 12px;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: rgba(13, 43, 62, 0.72);
}

.airea-legal__indice ol {
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: indice;
}

.airea-legal__indice li {
	counter-increment: indice;
}

.airea-legal__indice a {
	position: relative;
	display: flex;
	gap: 10px;
	padding: 7px 0;
	font-size: 14px;
	line-height: 1.35;
	color: rgba(13, 43, 62, 0.75) !important;
	text-decoration: none !important;
	transition: color 0.2s ease, transform 0.2s ease;
}

.airea-legal__indice a::before {
	content: counter(indice, decimal-leading-zero);
	flex: 0 0 auto;
	font-family: var(--airea-mono);
	font-size: 12px;
	padding-top: 2px;
	color: var(--airea-alisio);
}

.airea-legal__indice a:hover,
.airea-legal__indice a.is-actual {
	color: var(--airea-tinta) !important;
	transform: translateX(3px);
}

.airea-legal__indice a.is-actual {
	font-weight: 600;
}

body .airea-legal .airea-texto-legal > * {
	max-width: 760px;
}

body .airea-legal .airea-texto-legal h2 {
	position: relative;
	margin-block: 64px 18px;
	padding-top: 28px;
	border-top: 1px solid rgba(13, 43, 62, 0.12);
	font-family: var(--airea-display);
	font-weight: 400;
	font-size: clamp(26px, 3vw, 34px);
	scroll-margin-top: calc(var(--airea-cab-alto) + 24px);
}

body .airea-legal .airea-texto-legal h2::before {
	content: "";
	position: absolute;
	top: -5px;
	left: 0;
	width: 10px;
	height: 10px;
	border-radius: 26%;
	background: var(--airea-alisio);
}

body .airea-legal .airea-texto-legal > h2:first-of-type {
	margin-top: 40px;
}

body .airea-legal .airea-texto-legal h3 {
	margin-block: 32px 10px;
	font-family: var(--airea-display);
	font-weight: 300;
	font-size: 22px;
}

body .airea-legal .airea-texto-legal :is(p, li) {
	font-size: 17px;
	line-height: 1.7;
	color: rgba(13, 43, 62, 0.82);
}

body .airea-legal .airea-texto-legal strong {
	color: var(--airea-tinta);
	font-weight: 600;
}

body .airea-legal .airea-texto-legal ul:not(.airea-hueco) {
	padding-left: 0;
	list-style: none;
}

body .airea-legal .airea-texto-legal ul:not(.airea-hueco) > li {
	position: relative;
	padding-left: 22px;
	margin-block: 8px;
}

body .airea-legal .airea-texto-legal ul:not(.airea-hueco) > li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.72em;
	width: 8px;
	height: 8px;
	border-radius: 26%;
	background: var(--airea-alisio);
}

body .airea-legal .airea-texto-legal a {
	color: var(--airea-tinta);
	text-decoration-color: var(--airea-alisio);
	text-decoration-thickness: 2px;
	text-underline-offset: 3px;
}

body .airea-legal .airea-texto-legal table {
	width: 100%;
	border-collapse: collapse;
	font-size: 15px;
}

body .airea-legal .airea-texto-legal :is(th, td) {
	padding: 12px 14px;
	border-bottom: 1px solid rgba(13, 43, 62, 0.12);
	text-align: left;
	vertical-align: top;
}

body .airea-legal .airea-texto-legal th {
	font-family: var(--airea-mono);
	font-size: 12px;
	font-weight: 400;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	background: var(--airea-arena);
}

body .airea-legal__cierre {
	box-sizing: border-box;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	max-width: var(--airea-ancho);
	margin: 48px auto 0;
	padding: 40px 44px;
	border-radius: 28px;
	background: var(--airea-tinta);
	color: #ffffff;
}

body .airea-legal__cierre > * {
	margin: 0 !important;
}

body .airea-legal__cierre-texto {
	font: 300 clamp(24px, 2.6vw, 32px)/1.2 var(--airea-display);
}

@media (max-width: 960px) {
	body .airea-legal.tiene-indice .airea-legal__cuerpo {
		display: block;
	}

	.airea-legal__indice {
		position: static;
		margin-bottom: 8px;
	}
}

@media (max-width: 782px) {
	body .airea-legal__cuerpo {
		padding-top: 48px;
	}

	body .wp-block-group.airea-legal {
		padding-bottom: 72px;
	}

	body .airea-legal__cierre {
		margin: 32px 20px 0;
		padding: 28px 24px;
	}

	body .airea-legal__cierre .wp-block-buttons,
	body .airea-legal__cierre .wp-block-button,
	body .airea-legal__cierre .wp-block-button__link {
		width: 100%;
	}
}

/* --------------------------------------------------------------------------
   15. Movimiento reducido
   -------------------------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation: none !important;
		transition: none !important;
		scroll-behavior: auto !important;
	}

	html.airea-js .reveal,
	html.airea-js .reveal.is-visible {
		opacity: 1;
		transform: none;
	}

	.lift:hover,
	.lift:focus-within {
		translate: none;
		scale: none;
	}

	html.airea-carga .reveal,
	html.airea-carga .airea-entra-carga,
	html.airea-js .airea-sec:not(.airea-hero) .airea-eyebrow::before {
		opacity: 1;
		transform: none;
	}

	.airea-flotan,
	.airea-progreso {
		display: none;
	}
}

/* --------------------------------------------------------------------------
   Iconos de píxel (propios de la marca; nada de iconos genéricos).
   Uso: añadir a una tarjeta o a un elemento de lista las clases
   «airea-ico airea-ico--<nombre>». Nombres: remoto, vigilancia, seguridad, mejora, apoyo, distancia, presencial, espera, desplazamiento, parche, revision, susto.
   -------------------------------------------------------------------------- */

body .airea-ico--remoto { --airea-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 34 34'%3E%3Cdefs%3E%3Crect id='p' width='4' height='4' rx='1'/%3E%3C/defs%3E%3Cuse href='%23p' x='0' y='0'/%3E%3Cuse href='%23p' x='5' y='0'/%3E%3Cuse href='%23p' x='10' y='0'/%3E%3Cuse href='%23p' x='15' y='0'/%3E%3Cuse href='%23p' x='20' y='0'/%3E%3Cuse href='%23p' x='25' y='0'/%3E%3Cuse href='%23p' x='30' y='0'/%3E%3Cuse href='%23p' x='0' y='5'/%3E%3Cuse href='%23p' x='30' y='5'/%3E%3Cuse href='%23p' x='0' y='10'/%3E%3Cuse href='%23p' x='15' y='10'/%3E%3Cuse href='%23p' x='30' y='10'/%3E%3Cuse href='%23p' x='0' y='15'/%3E%3Cuse href='%23p' x='30' y='15'/%3E%3Cuse href='%23p' x='0' y='20'/%3E%3Cuse href='%23p' x='5' y='20'/%3E%3Cuse href='%23p' x='10' y='20'/%3E%3Cuse href='%23p' x='15' y='20'/%3E%3Cuse href='%23p' x='20' y='20'/%3E%3Cuse href='%23p' x='25' y='20'/%3E%3Cuse href='%23p' x='30' y='20'/%3E%3Cuse href='%23p' x='15' y='25'/%3E%3Cuse href='%23p' x='10' y='30'/%3E%3Cuse href='%23p' x='15' y='30'/%3E%3Cuse href='%23p' x='20' y='30'/%3E%3C/svg%3E"); }
body .airea-ico--vigilancia { --airea-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 34 34'%3E%3Cdefs%3E%3Crect id='p' width='4' height='4' rx='1'/%3E%3C/defs%3E%3Cuse href='%23p' x='10' y='5'/%3E%3Cuse href='%23p' x='15' y='5'/%3E%3Cuse href='%23p' x='20' y='5'/%3E%3Cuse href='%23p' x='5' y='10'/%3E%3Cuse href='%23p' x='25' y='10'/%3E%3Cuse href='%23p' x='0' y='15'/%3E%3Cuse href='%23p' x='15' y='15'/%3E%3Cuse href='%23p' x='30' y='15'/%3E%3Cuse href='%23p' x='5' y='20'/%3E%3Cuse href='%23p' x='25' y='20'/%3E%3Cuse href='%23p' x='10' y='25'/%3E%3Cuse href='%23p' x='15' y='25'/%3E%3Cuse href='%23p' x='20' y='25'/%3E%3C/svg%3E"); }
body .airea-ico--seguridad { --airea-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 34 34'%3E%3Cdefs%3E%3Crect id='p' width='4' height='4' rx='1'/%3E%3C/defs%3E%3Cuse href='%23p' x='0' y='0'/%3E%3Cuse href='%23p' x='5' y='0'/%3E%3Cuse href='%23p' x='10' y='0'/%3E%3Cuse href='%23p' x='15' y='0'/%3E%3Cuse href='%23p' x='20' y='0'/%3E%3Cuse href='%23p' x='25' y='0'/%3E%3Cuse href='%23p' x='30' y='0'/%3E%3Cuse href='%23p' x='0' y='5'/%3E%3Cuse href='%23p' x='30' y='5'/%3E%3Cuse href='%23p' x='0' y='10'/%3E%3Cuse href='%23p' x='15' y='10'/%3E%3Cuse href='%23p' x='30' y='10'/%3E%3Cuse href='%23p' x='0' y='15'/%3E%3Cuse href='%23p' x='30' y='15'/%3E%3Cuse href='%23p' x='5' y='20'/%3E%3Cuse href='%23p' x='25' y='20'/%3E%3Cuse href='%23p' x='10' y='25'/%3E%3Cuse href='%23p' x='20' y='25'/%3E%3Cuse href='%23p' x='15' y='30'/%3E%3C/svg%3E"); }
body .airea-ico--mejora { --airea-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 34 34'%3E%3Cdefs%3E%3Crect id='p' width='4' height='4' rx='1'/%3E%3C/defs%3E%3Cuse href='%23p' x='30' y='0'/%3E%3Cuse href='%23p' x='30' y='5'/%3E%3Cuse href='%23p' x='20' y='10'/%3E%3Cuse href='%23p' x='30' y='10'/%3E%3Cuse href='%23p' x='20' y='15'/%3E%3Cuse href='%23p' x='30' y='15'/%3E%3Cuse href='%23p' x='10' y='20'/%3E%3Cuse href='%23p' x='20' y='20'/%3E%3Cuse href='%23p' x='30' y='20'/%3E%3Cuse href='%23p' x='10' y='25'/%3E%3Cuse href='%23p' x='20' y='25'/%3E%3Cuse href='%23p' x='30' y='25'/%3E%3Cuse href='%23p' x='0' y='30'/%3E%3Cuse href='%23p' x='10' y='30'/%3E%3Cuse href='%23p' x='20' y='30'/%3E%3Cuse href='%23p' x='30' y='30'/%3E%3C/svg%3E"); }
body .airea-ico--apoyo { --airea-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 34 34'%3E%3Cdefs%3E%3Crect id='p' width='4' height='4' rx='1'/%3E%3C/defs%3E%3Cuse href='%23p' x='0' y='0'/%3E%3Cuse href='%23p' x='5' y='0'/%3E%3Cuse href='%23p' x='25' y='0'/%3E%3Cuse href='%23p' x='30' y='0'/%3E%3Cuse href='%23p' x='0' y='5'/%3E%3Cuse href='%23p' x='5' y='5'/%3E%3Cuse href='%23p' x='25' y='5'/%3E%3Cuse href='%23p' x='30' y='5'/%3E%3Cuse href='%23p' x='0' y='15'/%3E%3Cuse href='%23p' x='5' y='15'/%3E%3Cuse href='%23p' x='10' y='15'/%3E%3Cuse href='%23p' x='20' y='15'/%3E%3Cuse href='%23p' x='25' y='15'/%3E%3Cuse href='%23p' x='30' y='15'/%3E%3Cuse href='%23p' x='0' y='20'/%3E%3Cuse href='%23p' x='5' y='20'/%3E%3Cuse href='%23p' x='10' y='20'/%3E%3Cuse href='%23p' x='20' y='20'/%3E%3Cuse href='%23p' x='25' y='20'/%3E%3Cuse href='%23p' x='30' y='20'/%3E%3Cuse href='%23p' x='0' y='25'/%3E%3Cuse href='%23p' x='5' y='25'/%3E%3Cuse href='%23p' x='10' y='25'/%3E%3Cuse href='%23p' x='20' y='25'/%3E%3Cuse href='%23p' x='25' y='25'/%3E%3Cuse href='%23p' x='30' y='25'/%3E%3C/svg%3E"); }
body .airea-ico--distancia { --airea-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 34 34'%3E%3Cdefs%3E%3Crect id='p' width='4' height='4' rx='1'/%3E%3C/defs%3E%3Cuse href='%23p' x='10' y='0'/%3E%3Cuse href='%23p' x='15' y='0'/%3E%3Cuse href='%23p' x='20' y='0'/%3E%3Cuse href='%23p' x='5' y='5'/%3E%3Cuse href='%23p' x='15' y='5'/%3E%3Cuse href='%23p' x='25' y='5'/%3E%3Cuse href='%23p' x='0' y='10'/%3E%3Cuse href='%23p' x='15' y='10'/%3E%3Cuse href='%23p' x='30' y='10'/%3E%3Cuse href='%23p' x='0' y='15'/%3E%3Cuse href='%23p' x='5' y='15'/%3E%3Cuse href='%23p' x='10' y='15'/%3E%3Cuse href='%23p' x='15' y='15'/%3E%3Cuse href='%23p' x='20' y='15'/%3E%3Cuse href='%23p' x='25' y='15'/%3E%3Cuse href='%23p' x='30' y='15'/%3E%3Cuse href='%23p' x='0' y='20'/%3E%3Cuse href='%23p' x='15' y='20'/%3E%3Cuse href='%23p' x='30' y='20'/%3E%3Cuse href='%23p' x='5' y='25'/%3E%3Cuse href='%23p' x='15' y='25'/%3E%3Cuse href='%23p' x='25' y='25'/%3E%3Cuse href='%23p' x='10' y='30'/%3E%3Cuse href='%23p' x='15' y='30'/%3E%3Cuse href='%23p' x='20' y='30'/%3E%3C/svg%3E"); }
body .airea-ico--presencial { --airea-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 34 34'%3E%3Cdefs%3E%3Crect id='p' width='4' height='4' rx='1'/%3E%3C/defs%3E%3Cuse href='%23p' x='10' y='0'/%3E%3Cuse href='%23p' x='15' y='0'/%3E%3Cuse href='%23p' x='20' y='0'/%3E%3Cuse href='%23p' x='5' y='5'/%3E%3Cuse href='%23p' x='25' y='5'/%3E%3Cuse href='%23p' x='5' y='10'/%3E%3Cuse href='%23p' x='15' y='10'/%3E%3Cuse href='%23p' x='25' y='10'/%3E%3Cuse href='%23p' x='5' y='15'/%3E%3Cuse href='%23p' x='25' y='15'/%3E%3Cuse href='%23p' x='10' y='20'/%3E%3Cuse href='%23p' x='20' y='20'/%3E%3Cuse href='%23p' x='15' y='25'/%3E%3C/svg%3E"); }
body .airea-ico--espera { --airea-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 34 34'%3E%3Cdefs%3E%3Crect id='p' width='4' height='4' rx='1'/%3E%3C/defs%3E%3Cuse href='%23p' x='0' y='0'/%3E%3Cuse href='%23p' x='5' y='0'/%3E%3Cuse href='%23p' x='10' y='0'/%3E%3Cuse href='%23p' x='15' y='0'/%3E%3Cuse href='%23p' x='20' y='0'/%3E%3Cuse href='%23p' x='25' y='0'/%3E%3Cuse href='%23p' x='30' y='0'/%3E%3Cuse href='%23p' x='5' y='5'/%3E%3Cuse href='%23p' x='25' y='5'/%3E%3Cuse href='%23p' x='10' y='10'/%3E%3Cuse href='%23p' x='20' y='10'/%3E%3Cuse href='%23p' x='15' y='15'/%3E%3Cuse href='%23p' x='10' y='20'/%3E%3Cuse href='%23p' x='20' y='20'/%3E%3Cuse href='%23p' x='5' y='25'/%3E%3Cuse href='%23p' x='25' y='25'/%3E%3Cuse href='%23p' x='0' y='30'/%3E%3Cuse href='%23p' x='5' y='30'/%3E%3Cuse href='%23p' x='10' y='30'/%3E%3Cuse href='%23p' x='15' y='30'/%3E%3Cuse href='%23p' x='20' y='30'/%3E%3Cuse href='%23p' x='25' y='30'/%3E%3Cuse href='%23p' x='30' y='30'/%3E%3C/svg%3E"); }
body .airea-ico--desplazamiento { --airea-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 34 34'%3E%3Cdefs%3E%3Crect id='p' width='4' height='4' rx='1'/%3E%3C/defs%3E%3Cuse href='%23p' x='20' y='0'/%3E%3Cuse href='%23p' x='0' y='5'/%3E%3Cuse href='%23p' x='5' y='5'/%3E%3Cuse href='%23p' x='10' y='5'/%3E%3Cuse href='%23p' x='15' y='5'/%3E%3Cuse href='%23p' x='20' y='5'/%3E%3Cuse href='%23p' x='25' y='5'/%3E%3Cuse href='%23p' x='30' y='5'/%3E%3Cuse href='%23p' x='20' y='10'/%3E%3Cuse href='%23p' x='10' y='20'/%3E%3Cuse href='%23p' x='0' y='25'/%3E%3Cuse href='%23p' x='5' y='25'/%3E%3Cuse href='%23p' x='10' y='25'/%3E%3Cuse href='%23p' x='15' y='25'/%3E%3Cuse href='%23p' x='20' y='25'/%3E%3Cuse href='%23p' x='25' y='25'/%3E%3Cuse href='%23p' x='30' y='25'/%3E%3Cuse href='%23p' x='10' y='30'/%3E%3C/svg%3E"); }
body .airea-ico--parche { --airea-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 34 34'%3E%3Cdefs%3E%3Crect id='p' width='4' height='4' rx='1'/%3E%3C/defs%3E%3Cuse href='%23p' x='20' y='0'/%3E%3Cuse href='%23p' x='25' y='0'/%3E%3Cuse href='%23p' x='15' y='5'/%3E%3Cuse href='%23p' x='20' y='5'/%3E%3Cuse href='%23p' x='25' y='5'/%3E%3Cuse href='%23p' x='30' y='5'/%3E%3Cuse href='%23p' x='10' y='10'/%3E%3Cuse href='%23p' x='15' y='10'/%3E%3Cuse href='%23p' x='25' y='10'/%3E%3Cuse href='%23p' x='30' y='10'/%3E%3Cuse href='%23p' x='5' y='15'/%3E%3Cuse href='%23p' x='10' y='15'/%3E%3Cuse href='%23p' x='20' y='15'/%3E%3Cuse href='%23p' x='25' y='15'/%3E%3Cuse href='%23p' x='0' y='20'/%3E%3Cuse href='%23p' x='5' y='20'/%3E%3Cuse href='%23p' x='15' y='20'/%3E%3Cuse href='%23p' x='20' y='20'/%3E%3Cuse href='%23p' x='0' y='25'/%3E%3Cuse href='%23p' x='5' y='25'/%3E%3Cuse href='%23p' x='10' y='25'/%3E%3Cuse href='%23p' x='15' y='25'/%3E%3Cuse href='%23p' x='5' y='30'/%3E%3Cuse href='%23p' x='10' y='30'/%3E%3C/svg%3E"); }
body .airea-ico--revision { --airea-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 34 34'%3E%3Cdefs%3E%3Crect id='p' width='4' height='4' rx='1'/%3E%3C/defs%3E%3Cuse href='%23p' x='10' y='0'/%3E%3Cuse href='%23p' x='15' y='0'/%3E%3Cuse href='%23p' x='20' y='0'/%3E%3Cuse href='%23p' x='0' y='5'/%3E%3Cuse href='%23p' x='5' y='5'/%3E%3Cuse href='%23p' x='10' y='5'/%3E%3Cuse href='%23p' x='15' y='5'/%3E%3Cuse href='%23p' x='20' y='5'/%3E%3Cuse href='%23p' x='25' y='5'/%3E%3Cuse href='%23p' x='30' y='5'/%3E%3Cuse href='%23p' x='0' y='10'/%3E%3Cuse href='%23p' x='30' y='10'/%3E%3Cuse href='%23p' x='0' y='15'/%3E%3Cuse href='%23p' x='10' y='15'/%3E%3Cuse href='%23p' x='15' y='15'/%3E%3Cuse href='%23p' x='20' y='15'/%3E%3Cuse href='%23p' x='30' y='15'/%3E%3Cuse href='%23p' x='0' y='20'/%3E%3Cuse href='%23p' x='30' y='20'/%3E%3Cuse href='%23p' x='0' y='25'/%3E%3Cuse href='%23p' x='10' y='25'/%3E%3Cuse href='%23p' x='15' y='25'/%3E%3Cuse href='%23p' x='20' y='25'/%3E%3Cuse href='%23p' x='30' y='25'/%3E%3Cuse href='%23p' x='0' y='30'/%3E%3Cuse href='%23p' x='5' y='30'/%3E%3Cuse href='%23p' x='10' y='30'/%3E%3Cuse href='%23p' x='15' y='30'/%3E%3Cuse href='%23p' x='20' y='30'/%3E%3Cuse href='%23p' x='25' y='30'/%3E%3Cuse href='%23p' x='30' y='30'/%3E%3C/svg%3E"); }
body .airea-ico--susto { --airea-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 34 34'%3E%3Cdefs%3E%3Crect id='p' width='4' height='4' rx='1'/%3E%3C/defs%3E%3Cuse href='%23p' x='15' y='0'/%3E%3Cuse href='%23p' x='10' y='5'/%3E%3Cuse href='%23p' x='20' y='5'/%3E%3Cuse href='%23p' x='10' y='10'/%3E%3Cuse href='%23p' x='20' y='10'/%3E%3Cuse href='%23p' x='5' y='15'/%3E%3Cuse href='%23p' x='15' y='15'/%3E%3Cuse href='%23p' x='25' y='15'/%3E%3Cuse href='%23p' x='5' y='20'/%3E%3Cuse href='%23p' x='25' y='20'/%3E%3Cuse href='%23p' x='0' y='25'/%3E%3Cuse href='%23p' x='15' y='25'/%3E%3Cuse href='%23p' x='30' y='25'/%3E%3Cuse href='%23p' x='0' y='30'/%3E%3Cuse href='%23p' x='5' y='30'/%3E%3Cuse href='%23p' x='10' y='30'/%3E%3Cuse href='%23p' x='15' y='30'/%3E%3Cuse href='%23p' x='20' y='30'/%3E%3Cuse href='%23p' x='25' y='30'/%3E%3Cuse href='%23p' x='30' y='30'/%3E%3C/svg%3E"); }

/* Iconos de píxel de «Qué incluye cada web» (1.2.4): objetivo, diseno, seo, conectada, ia. La seguridad reutiliza «seguridad». */
body .airea-ico--objetivo { --airea-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 34 34'%3E%3Cdefs%3E%3Crect id='p' width='4' height='4' rx='1'/%3E%3C/defs%3E%3Cuse href='%23p' x='5' y='0'/%3E%3Cuse href='%23p' x='10' y='0'/%3E%3Cuse href='%23p' x='15' y='0'/%3E%3Cuse href='%23p' x='20' y='0'/%3E%3Cuse href='%23p' x='25' y='0'/%3E%3Cuse href='%23p' x='0' y='5'/%3E%3Cuse href='%23p' x='30' y='5'/%3E%3Cuse href='%23p' x='0' y='10'/%3E%3Cuse href='%23p' x='15' y='10'/%3E%3Cuse href='%23p' x='30' y='10'/%3E%3Cuse href='%23p' x='0' y='15'/%3E%3Cuse href='%23p' x='10' y='15'/%3E%3Cuse href='%23p' x='15' y='15'/%3E%3Cuse href='%23p' x='20' y='15'/%3E%3Cuse href='%23p' x='30' y='15'/%3E%3Cuse href='%23p' x='0' y='20'/%3E%3Cuse href='%23p' x='15' y='20'/%3E%3Cuse href='%23p' x='30' y='20'/%3E%3Cuse href='%23p' x='0' y='25'/%3E%3Cuse href='%23p' x='30' y='25'/%3E%3Cuse href='%23p' x='5' y='30'/%3E%3Cuse href='%23p' x='10' y='30'/%3E%3Cuse href='%23p' x='15' y='30'/%3E%3Cuse href='%23p' x='20' y='30'/%3E%3Cuse href='%23p' x='25' y='30'/%3E%3C/svg%3E"); }
body .airea-ico--diseno { --airea-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 34 34'%3E%3Cdefs%3E%3Crect id='p' width='4' height='4' rx='1'/%3E%3C/defs%3E%3Cuse href='%23p' x='0' y='0'/%3E%3Cuse href='%23p' x='5' y='0'/%3E%3Cuse href='%23p' x='10' y='0'/%3E%3Cuse href='%23p' x='15' y='0'/%3E%3Cuse href='%23p' x='20' y='0'/%3E%3Cuse href='%23p' x='25' y='0'/%3E%3Cuse href='%23p' x='30' y='0'/%3E%3Cuse href='%23p' x='0' y='5'/%3E%3Cuse href='%23p' x='30' y='5'/%3E%3Cuse href='%23p' x='0' y='10'/%3E%3Cuse href='%23p' x='5' y='10'/%3E%3Cuse href='%23p' x='10' y='10'/%3E%3Cuse href='%23p' x='15' y='10'/%3E%3Cuse href='%23p' x='20' y='10'/%3E%3Cuse href='%23p' x='25' y='10'/%3E%3Cuse href='%23p' x='30' y='10'/%3E%3Cuse href='%23p' x='0' y='15'/%3E%3Cuse href='%23p' x='15' y='15'/%3E%3Cuse href='%23p' x='30' y='15'/%3E%3Cuse href='%23p' x='0' y='20'/%3E%3Cuse href='%23p' x='15' y='20'/%3E%3Cuse href='%23p' x='30' y='20'/%3E%3Cuse href='%23p' x='0' y='25'/%3E%3Cuse href='%23p' x='15' y='25'/%3E%3Cuse href='%23p' x='30' y='25'/%3E%3Cuse href='%23p' x='0' y='30'/%3E%3Cuse href='%23p' x='5' y='30'/%3E%3Cuse href='%23p' x='10' y='30'/%3E%3Cuse href='%23p' x='15' y='30'/%3E%3Cuse href='%23p' x='20' y='30'/%3E%3Cuse href='%23p' x='25' y='30'/%3E%3Cuse href='%23p' x='30' y='30'/%3E%3C/svg%3E"); }
body .airea-ico--seo { --airea-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 34 34'%3E%3Cdefs%3E%3Crect id='p' width='4' height='4' rx='1'/%3E%3C/defs%3E%3Cuse href='%23p' x='5' y='0'/%3E%3Cuse href='%23p' x='10' y='0'/%3E%3Cuse href='%23p' x='15' y='0'/%3E%3Cuse href='%23p' x='0' y='5'/%3E%3Cuse href='%23p' x='20' y='5'/%3E%3Cuse href='%23p' x='0' y='10'/%3E%3Cuse href='%23p' x='20' y='10'/%3E%3Cuse href='%23p' x='0' y='15'/%3E%3Cuse href='%23p' x='20' y='15'/%3E%3Cuse href='%23p' x='5' y='20'/%3E%3Cuse href='%23p' x='10' y='20'/%3E%3Cuse href='%23p' x='15' y='20'/%3E%3Cuse href='%23p' x='20' y='25'/%3E%3Cuse href='%23p' x='25' y='25'/%3E%3Cuse href='%23p' x='25' y='30'/%3E%3Cuse href='%23p' x='30' y='30'/%3E%3C/svg%3E"); }
body .airea-ico--conectada { --airea-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 34 34'%3E%3Cdefs%3E%3Crect id='p' width='4' height='4' rx='1'/%3E%3C/defs%3E%3Cuse href='%23p' x='0' y='0'/%3E%3Cuse href='%23p' x='5' y='0'/%3E%3Cuse href='%23p' x='25' y='0'/%3E%3Cuse href='%23p' x='30' y='0'/%3E%3Cuse href='%23p' x='0' y='5'/%3E%3Cuse href='%23p' x='5' y='5'/%3E%3Cuse href='%23p' x='25' y='5'/%3E%3Cuse href='%23p' x='30' y='5'/%3E%3Cuse href='%23p' x='10' y='10'/%3E%3Cuse href='%23p' x='20' y='10'/%3E%3Cuse href='%23p' x='15' y='15'/%3E%3Cuse href='%23p' x='10' y='20'/%3E%3Cuse href='%23p' x='20' y='20'/%3E%3Cuse href='%23p' x='0' y='25'/%3E%3Cuse href='%23p' x='5' y='25'/%3E%3Cuse href='%23p' x='25' y='25'/%3E%3Cuse href='%23p' x='30' y='25'/%3E%3Cuse href='%23p' x='0' y='30'/%3E%3Cuse href='%23p' x='5' y='30'/%3E%3Cuse href='%23p' x='25' y='30'/%3E%3Cuse href='%23p' x='30' y='30'/%3E%3C/svg%3E"); }
body .airea-ico--ia { --airea-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 34 34'%3E%3Cdefs%3E%3Crect id='p' width='4' height='4' rx='1'/%3E%3C/defs%3E%3Cuse href='%23p' x='0' y='0'/%3E%3Cuse href='%23p' x='5' y='0'/%3E%3Cuse href='%23p' x='10' y='0'/%3E%3Cuse href='%23p' x='15' y='0'/%3E%3Cuse href='%23p' x='20' y='0'/%3E%3Cuse href='%23p' x='25' y='0'/%3E%3Cuse href='%23p' x='30' y='0'/%3E%3Cuse href='%23p' x='0' y='5'/%3E%3Cuse href='%23p' x='30' y='5'/%3E%3Cuse href='%23p' x='0' y='10'/%3E%3Cuse href='%23p' x='10' y='10'/%3E%3Cuse href='%23p' x='20' y='10'/%3E%3Cuse href='%23p' x='30' y='10'/%3E%3Cuse href='%23p' x='0' y='15'/%3E%3Cuse href='%23p' x='30' y='15'/%3E%3Cuse href='%23p' x='0' y='20'/%3E%3Cuse href='%23p' x='5' y='20'/%3E%3Cuse href='%23p' x='10' y='20'/%3E%3Cuse href='%23p' x='15' y='20'/%3E%3Cuse href='%23p' x='20' y='20'/%3E%3Cuse href='%23p' x='25' y='20'/%3E%3Cuse href='%23p' x='30' y='20'/%3E%3Cuse href='%23p' x='5' y='25'/%3E%3Cuse href='%23p' x='10' y='25'/%3E%3Cuse href='%23p' x='0' y='30'/%3E%3C/svg%3E"); }

body .wp-block-group.airea-card.airea-ico::before {
	content: "";
	flex: none;
	width: 40px;
	height: 40px;
	margin-bottom: 4px;
	background: var(--c-pixel);
	-webkit-mask: var(--airea-ico) center / contain no-repeat;
	mask: var(--airea-ico) center / contain no-repeat;
	transition: transform 0.45s cubic-bezier(0.2, 0.7, 0.2, 1);
}

body .wp-block-group.airea-card.airea-ico:is(:hover, :focus-within)::before {
	transform: translateY(-3px);
}

/* Lista con iconos (p. ej. «Apagar fuegos»): el icono sustituye a la viñeta */
body ul.airea-lista-iconos {
	list-style: none;
	padding-left: 0;
}

body .airea-lista-iconos > li.airea-ico {
	position: relative;
	padding-left: 40px;
}

body .airea-lista-iconos > li + li {
	margin-top: 14px;
}

body .airea-lista-iconos > li.airea-ico::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.05em;
	width: 26px;
	height: 26px;
	background: var(--airea-ico-color, var(--c-pixel));
	-webkit-mask: var(--airea-ico) center / contain no-repeat;
	mask: var(--airea-ico) center / contain no-repeat;
}

/* En la tarjeta de los problemas los iconos van en tinta suave, no en verde */
body .airea-card.is-arena .airea-lista-iconos { --airea-ico-color: rgba(13, 43, 62, 0.55); }

@media (prefers-reduced-motion: reduce) {
	body .wp-block-group.airea-card.airea-ico::before { transition: none; }
}

/* ==========================================================================
   20. Efectos de scroll (2026-10-12)
   Cada apartado (20a, 20b…) es independiente: se puede quitar sin tocar el resto.
   ========================================================================== */

/* 20a. Hero con profundidad: al bajar, la ilustración sube algo más rápido
   que el texto, y el texto se queda atrás apagándose. Solo escritorio. */
@supports (animation-timeline: view()) {
	@media (min-width: 782px) and (prefers-reduced-motion: no-preference) {
		body .airea-hero {
			view-timeline: --airea-hero block;
		}

		body .airea-hero > .wp-block-columns > .wp-block-column:first-child:not(:last-child) {
			animation: airea-hero-texto linear both;
			animation-timeline: --airea-hero;
			animation-range: exit 0% exit 100%;
		}

		body .airea-hero > .wp-block-columns > .wp-block-column:last-child:not(:first-child) {
			animation: airea-hero-visual linear both;
			animation-timeline: --airea-hero;
			animation-range: exit 0% exit 100%;
		}
	}
}

/* En el móvil, el texto del hero se apaga un poco al bajar (las columnas van
   una debajo de otra, así que solo se mueve el texto). Sube un poco al
   apagarse, para no montarse sobre la ilustración de debajo. */
@supports (animation-timeline: scroll()) {
	@media (max-width: 781px) and (prefers-reduced-motion: no-preference) {
		body .airea-hero > .wp-block-columns > .wp-block-column:first-child:not(:last-child) {
			animation: airea-hero-texto-m linear both;
			animation-timeline: scroll(root);
			animation-range: 0px 520px;
		}
	}
}

@keyframes airea-hero-texto-m { to { translate: 0 -32px; opacity: 0.15; } }

/* Móvil: algo más de aire entre el texto del hero y su ilustración */
@media (max-width: 781px) {
	body .airea-hero > .wp-block-columns {
		row-gap: 48px;
	}
}

/* "translate" (no "transform") para no pisar la inclinación 3D de 20i.
   El fundido no empieza hasta el 25 %: si el hero es más alto que la pantalla,
   la animación ya ha empezado sin bajar y el texto perdía contraste. */
@keyframes airea-hero-texto {
	0% { translate: 0 0; opacity: 1; }
	25% { opacity: 1; }
	100% { translate: 0 72px; opacity: 0.2; }
}
@keyframes airea-hero-visual { to { translate: 0 -64px; } }

/* 20b. Proceso: la línea se rellena al bajar y los números se encienden
   cuando la línea llega a cada paso (airea.js añade .is-scroll y el relleno) */
.airea-b-proceso.is-scroll .airea-b-proceso__relleno {
	position: absolute;
	inset: 0;
	background: var(--airea-b-alisio);
	transform: scaleX(0);
	transform-origin: 0 0;
}

.airea-b-proceso.is-oscuro.is-scroll .airea-b-proceso__relleno {
	background: var(--airea-b-claro);
}

.airea-b-proceso.is-scroll .airea-b-proceso__px {
	left: 0;
	animation: none;
}

.airea-b-proceso.is-scroll .airea-b-proceso__num {
	opacity: 0.25;
	transition: opacity 0.4s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.airea-b-proceso.is-scroll .airea-b-proceso__paso.is-hecho .airea-b-proceso__num {
	opacity: 1;
}

@media (max-width: 760px) {
	.airea-b-proceso.is-scroll .airea-b-proceso__relleno {
		transform: scaleY(0);
	}

	.airea-b-proceso.is-scroll .airea-b-proceso__px {
		left: -6px;
	}
}

/* 20c. Cajas de una misma fila: entran escalonadas de izquierda a derecha
   (airea.js pone --col: 0, 1, 2…; sin scroll ligado, retrasa .is-visible) */
@supports (animation-timeline: view()) {
	html.airea-js .reveal,
	html.airea-js .reveal.is-visible {
		animation-range: entry calc(var(--col, 0) * 8%) entry calc(45% + var(--col, 0) * 8%);
	}
}

/* 20e. Botones: al pulsar se encogen un pelín (se nota el clic, sobre todo en móvil) */
body .wp-block-button .wp-block-button__link:active,
.airea-wa__boton:active {
	transform: scale(0.97);
	transition-duration: 0.1s;
}

/* 20f. Tarjetas con los tres píxeles (como «Algo nuevo está en el aire»): al
   pasar el ratón, el viento se los lleva un poco a la derecha y vuelven */
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
	body .wp-block-group.airea-card .airea-b-estela .airea-b-estela-px {
		transition: transform 0.7s cubic-bezier(0.2, 0.7, 0.2, 1), gap 0.7s cubic-bezier(0.2, 0.7, 0.2, 1);
	}

	body .wp-block-group.airea-card:hover .airea-b-estela .airea-b-estela-px {
		transform: translateX(22px);
		gap: 18px;
	}
}

/* 20g. Cajas grandes que se abren al bajar (paneles, contacto, calculadora…):
   llegan algo más pequeñas y con las esquinas más redondas, y se ensanchan.
   airea.js marca .airea-abre las cajas anchas con fondo y esquinas redondeadas.
   Usa la propiedad "scale" para no pisar el "transform" de la aparición. */
@supports (animation-timeline: view()) {
	@media (prefers-reduced-motion: no-preference) {
		html.airea-js .airea-sec .airea-abre {
			animation: airea-abre linear both;
			animation-timeline: view();
			animation-range: entry 0% cover 40%;
		}

		html.airea-js .airea-sec .airea-abre.reveal {
			animation: subir linear both, airea-abre linear both;
			animation-timeline: view(), view();
			animation-range: entry calc(var(--col, 0) * 8%) entry calc(45% + var(--col, 0) * 8%), entry 0% cover 40%;
		}
	}
}

/* Sin "to": termina en el radio que ya tenga cada caja */
@keyframes airea-abre {
	from { scale: 0.88; border-radius: 56px; }
}

/* 20h. Luz que sigue al ratón (airea.js añade .airea-luz y la capa, con
   --luz-color según el fondo; --mx/--my solo en la capa, para no recalcular el resto) */
@property --mx { syntax: "<length>"; inherits: false; initial-value: 0px; }
@property --my { syntax: "<length>"; inherits: false; initial-value: 0px; }

body .airea-luz {
	isolation: isolate;
}

body .airea-luz > .airea-luz__capa {
	position: absolute !important;
	inset: 0;
	z-index: -1;
	margin: 0 !important;
	max-width: none !important;
	border-radius: inherit;
	pointer-events: none;
	background: radial-gradient(var(--luz-r, 520px) circle at var(--mx) var(--my), var(--luz-color, rgba(70, 227, 200, 0.14)), transparent 65%);
	opacity: 0;
	transition: opacity 0.5s ease;
}

body .airea-luz:hover > .airea-luz__capa {
	opacity: 1;
}

/* 20i. Hero: la ilustración se inclina un poco hacia el ratón, como un objeto
   real (airea.js pone el "transform"; solo con ratón) */
body .airea-hero .airea-inclina {
	transition: transform 0.6s cubic-bezier(0.2, 0.7, 0.2, 1);
}

/* 20j. Pie: los píxeles del logo llegan volando con su estela (airea.js) */
.airea-firma rect {
	transform-box: fill-box;
	transform-origin: center;
}

.airea-firma .airea-firma__px {
	animation: airea-firma-llega 1.1s cubic-bezier(0.2, 0.7, 0.2, 1) backwards;
}

.airea-firma .airea-firma__estela {
	opacity: 0;
	animation: airea-firma-estela 1.1s cubic-bezier(0.2, 0.7, 0.2, 1) backwards;
}

@keyframes airea-firma-llega {
	from { transform: translate(-90px, 0) scale(0.5); opacity: 0; }
	35% { opacity: 1; }
	to { transform: none; opacity: 1; }
}

@keyframes airea-firma-estela {
	from { transform: translate(-90px, 0) scale(0.5); opacity: 0; }
	35% { opacity: var(--o, 0.4); }
	to { transform: none; opacity: 0; }
}

/* ==========================================================================
   21. Banner de cookies (Complianz) con el estilo de la marca
   Complianz pinta el banner con variables CSS; aquí se sobrescriben en el
   propio banner y en la pestaña «Gestionar consentimiento», sin tocar el plugin.
   ========================================================================== */

body .cmplz-cookiebanner,
body #cmplz-manage-consent {
	--cmplz_banner_width: 520px;
	--cmplz_banner_background_color: #0d2b3e;
	--cmplz_banner_border_color: rgba(70, 227, 200, 0.35);
	--cmplz_banner_border_width: 1px;
	--cmplz_banner_border_radius: 20px;
	--cmplz_banner_margin: 16px;
	--cmplz_title_font_size: 20px;
	--cmplz_text_font_size: 14px;
	--cmplz_text_line_height: 1.55;
	--cmplz_link_font_size: 13px;
	--cmplz_category_body_font_size: 13px;
	--cmplz_text_color: rgba(255, 255, 255, 0.82);
	--cmplz_hyperlink_color: #46e3c8;
	--cmplz_button_font_size: 15px;
	--cmplz_button_border_radius: 12px;
	--cmplz_button_accept_background_color: #46e3c8;
	--cmplz_button_accept_border_color: #46e3c8;
	--cmplz_button_accept_text_color: #0d2b3e;
	--cmplz_button_deny_background_color: transparent;
	--cmplz_button_deny_border_color: rgba(255, 255, 255, 0.35);
	--cmplz_button_deny_text_color: #ffffff;
	--cmplz_button_settings_background_color: transparent;
	--cmplz_button_settings_border_color: rgba(255, 255, 255, 0.35);
	--cmplz_button_settings_text_color: #ffffff;
	--cmplz_category_header_title_font_size: 14px;
	--cmplz_category_header_active_font_size: 12px;
	--cmplz_category_header_always_active_color: #46e3c8;
	--cmplz_slider_active_color: #12a68e;
	--cmplz_slider_inactive_color: rgba(255, 255, 255, 0.25);
	--cmplz_slider_bullet_color: #ffffff;
}

body .cmplz-cookiebanner {
	font-family: var(--airea-texto);
	box-shadow: 0 24px 60px rgba(13, 43, 62, 0.35);
}

/* Sin logo en el banner: el título ocupa su sitio, alineado a la izquierda */
body .cmplz-cookiebanner .cmplz-header {
	grid-template-columns: 1fr auto;
}

body .cmplz-cookiebanner .cmplz-logo {
	display: none;
}

body .cmplz-cookiebanner .cmplz-close {
	grid-column: 2;
}

body .cmplz-cookiebanner .cmplz-title {
	grid-column: 1;
	justify-self: start;
	text-align: left;
	font-family: var(--airea-display);
	font-weight: 400;
	color: #ffffff;
}

/* El píxel de la marca delante del título */
body .cmplz-cookiebanner .cmplz-title::before {
	content: "";
	display: inline-block;
	width: 10px;
	height: 10px;
	margin-right: 10px;
	border-radius: 26%;
	background: #46e3c8;
	vertical-align: 0.12em;
}

body .cmplz-cookiebanner .cmplz-close {
	color: rgba(255, 255, 255, 0.7);
}

body .cmplz-cookiebanner .cmplz-close:hover {
	color: #ffffff;
}

body .cmplz-cookiebanner .cmplz-btn {
	min-height: 46px;
	font-family: var(--airea-texto);
	font-weight: 600;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

body .cmplz-cookiebanner .cmplz-btn.cmplz-accept:hover {
	background-color: #7aeed9;
	border-color: #7aeed9;
}

body .cmplz-cookiebanner .cmplz-btn:not(.cmplz-accept):hover {
	border-color: #46e3c8;
	color: #46e3c8;
}

body .cmplz-cookiebanner .cmplz-btn:active {
	transform: scale(0.97);
}

body .cmplz-cookiebanner .cmplz-btn:focus-visible,
body .cmplz-cookiebanner .cmplz-link:focus-visible {
	outline: 2px solid #46e3c8;
	outline-offset: 2px;
}

body .cmplz-cookiebanner .cmplz-categories .cmplz-category {
	background-color: rgba(255, 255, 255, 0.06);
	border-radius: 12px;
}

body .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-category-title,
body .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-description {
	color: #ffffff;
}

body .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-description {
	opacity: 0.78;
}

body .cmplz-cookiebanner .cmplz-category-toggle,
body .cmplz-cookiebanner .cmplz-icon svg {
	color: #ffffff;
	fill: #ffffff;
}

body .cmplz-cookiebanner .cmplz-divider {
	border-color: rgba(255, 255, 255, 0.12);
}

body .cmplz-cookiebanner .cmplz-links .cmplz-link {
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Pestaña «Gestionar consentimiento» (abajo, tras aceptar o rechazar) */
body #cmplz-manage-consent .cmplz-manage-consent {
	font-family: var(--airea-texto);
	font-size: 13px;
	font-weight: 600;
	color: #ffffff;
}

/* En el móvil, a todo el ancho con su margen y sin sombra tan grande */
@media (max-width: 600px) {
	body .cmplz-cookiebanner,
	body #cmplz-manage-consent {
		--cmplz_banner_width: calc(100% - 24px);
		--cmplz_banner_margin: 12px;
	}

	body .cmplz-cookiebanner {
		box-shadow: 0 12px 32px rgba(13, 43, 62, 0.3);
	}

	/* Enlaces legales del aviso: zona de toque de al menos 24 px de alto */
	body .cmplz-cookiebanner .cmplz-links .cmplz-link {
		display: inline-block;
		padding-block: 4px;
	}
}


/* --------------------------------------------------------------------------
   22. Hover de las cajas (.lift en el contenido, .airea-b-lift en los bloques)
   - Se mueven con translate/scale y no con transform: la animación de entrada
     (.reveal, animation-timeline) deja transform fijado y lo bloquearía.
   - Este bloque va al final y con la misma especificidad que .reveal para
     ganarle su «transition: none»: así la sombra entra y sale suave.
   -------------------------------------------------------------------------- */

.lift,
.airea-b-lift,
html.airea-js .lift,
html.airea-js .airea-b-lift {
	transition:
		opacity 0.8s ease,
		transform 0.8s cubic-bezier(0.2, 0.7, 0.2, 1),
		translate 0.5s cubic-bezier(0.2, 0.7, 0.2, 1),
		scale 0.5s cubic-bezier(0.2, 0.7, 0.2, 1),
		box-shadow 0.5s ease,
		border-color 0.3s ease;
}

.lift:is(:hover, :focus-within),
.airea-b-lift:is(:hover, :focus-within) {
	box-shadow: var(--airea-sombra-lift);
}

/* La caja se viene un poco hacia delante (solo con ratón y sin movimiento reducido) */
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
	.lift:is(:hover, :focus-within),
	.airea-b-lift:is(:hover, :focus-within) {
		translate: 0 -6px;
		scale: 1.02;
	}
}

