/*
 * Aeroahorro UI · v1.2.1
 * Concepto: la ficha técnica de una instalación. Papel claro, tinta verde pino,
 * verde de etiqueta energética para la acción. Ámbar (calor) y azul (aire) solo en el esquema.
 * Tipografía única: Archivo variable (ancho 62–125 %). Condensada y pesada en titulares, normal en lectura.
 */

@font-face {
	font-family: "Archivo";
	font-style: normal;
	font-weight: 100 900;
	font-stretch: 62% 125%;
	font-display: swap;
	src: url("fonts/archivo-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
	--aa-paper: #fafbf9;
	--aa-white: #ffffff;
	--aa-surface: #eef3ef;
	--aa-line: #d6e0d9;
	--aa-ink: #173229;
	--aa-text: #33433d;
	--aa-muted: #5b6b64;
	--aa-green: #0d7a4a;
	--aa-green-dark: #09603a;
	--aa-green-tint: #e2efe7;
	--aa-heat: #e0952b;
	--aa-cool: #7fb1c4;

	--aa-font: "Archivo", "Helvetica Neue", Arial, system-ui, sans-serif;
	--aa-display-stretch: 78%;

	/* Escala tipográfica (tercera mayor sobre 18 px) */
	--aa-step--1: 0.889rem;
	--aa-step-0: 1.125rem;
	--aa-step-1: 1.406rem;
	--aa-step-2: 1.758rem;
	--aa-step-3: 2.197rem;
	--aa-step-4: clamp(2.2rem, 4.4vw, 2.75rem);
	--aa-step-5: clamp(2.7rem, 7vw, 5rem);

	--aa-radius-s: 6px;
	--aa-radius-m: 10px;
	--aa-gutter: clamp(16px, 4vw, 32px);
	--aa-band: clamp(48px, 6.5vw, 88px);
	--aa-ease: cubic-bezier(0.2, 0.7, 0.2, 1);
	--aa-fast: 160ms;
	--aa-med: 320ms;
}

/* ---------- Base ---------- */

html {
	overflow-x: clip;
	scroll-padding-top: 96px;
}

/* Astra pone overflow-x: hidden en body, que impide la cabecera fija. clip recorta igual sin romperla. */
body {
	overflow-x: clip !important;
}

body,
body.ast-separate-container {
	font-family: var(--aa-font);
	font-size: 17px;
	line-height: 1.7;
	color: var(--aa-text);
	background: var(--aa-paper) !important;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

@media (min-width: 922px) {
	body,
	body.ast-separate-container {
		font-size: 18px;
	}
}

h1, h2, h3, h4, h5, h6,
.entry-content :where(h1, h2, h3, h4, h5, h6),
.entry-title,
.entry-title a {
	font-family: var(--aa-font);
	color: var(--aa-ink);
	font-weight: 700;
	font-stretch: 86%;
	letter-spacing: -0.005em;
	line-height: 1.15;
	text-wrap: balance;
}

a {
	color: var(--aa-green);
	transition: color var(--aa-fast) ease, text-decoration-color var(--aa-fast) ease;
}

a:hover {
	color: var(--aa-green-dark);
}

::selection {
	background: var(--aa-green);
	color: #fff;
}

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 3px solid var(--aa-green) !important;
	outline-offset: 2px !important;
	border-radius: 2px;
}

.screen-reader-text:focus {
	background: var(--aa-white);
	color: var(--aa-ink);
}

/* ---------- Cabecera ---------- */

#masthead {
	position: sticky;
	top: var(--wp-admin--admin-bar--height, 0px);
	z-index: 99;
	view-transition-name: aa-header;
}

.main-header-bar,
.ast-primary-header-bar,
.ast-mobile-header-wrap .ast-primary-header-bar {
	background: var(--aa-white) !important;
	border-bottom: 1px solid transparent !important;
	box-shadow: none !important;
	transition: border-color var(--aa-med) ease, box-shadow var(--aa-med) ease;
}

.aa-scrolled .main-header-bar,
.aa-scrolled .ast-primary-header-bar {
	border-bottom-color: var(--aa-line) !important;
	box-shadow: 0 6px 18px -14px rgba(23, 50, 41, 0.45) !important;
}

.site-title,
.site-title a,
.ast-site-identity .site-title a {
	font-family: var(--aa-font);
	font-weight: 800 !important;
	font-stretch: 112%;
	letter-spacing: -0.02em;
	color: var(--aa-ink) !important;
	-webkit-text-fill-color: currentColor;
	background: none !important;
	text-decoration: none;
}

.main-header-menu > .menu-item > .menu-link {
	position: relative;
	font-weight: 500;
	font-size: 0.95rem;
	color: var(--aa-ink) !important;
	background: none !important;
	padding: 0 14px !important;
}

#ast-desktop-header .main-header-menu > .menu-item > .menu-link::after {
	content: "";
	position: absolute;
	left: 14px;
	right: 14px;
	bottom: calc(50% - 0.95em);
	height: 2px;
	background: var(--aa-green);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform var(--aa-med) var(--aa-ease);
}

#ast-desktop-header .main-header-menu > .menu-item > .menu-link:hover::after,
#ast-desktop-header .main-header-menu > .menu-item.current-menu-item > .menu-link::after,
#ast-desktop-header .main-header-menu > .menu-item.current-menu-ancestor > .menu-link::after {
	transform: scaleX(1);
}

.main-header-menu > .menu-item.current-menu-item > .menu-link,
.main-header-menu > .menu-item.current-menu-ancestor > .menu-link {
	color: var(--aa-green) !important;
}

/* "Guías" enlaza a la portada: no se marca como página actual, solo "Inicio" */
.main-header-menu > .menu-item-has-children.menu-item-home > .menu-link {
	color: var(--aa-ink) !important;
}

#ast-desktop-header .main-header-menu > .menu-item-has-children.menu-item-home > .menu-link::after {
	transform: scaleX(0);
}

#ast-desktop-header .main-header-menu > .menu-item-has-children.menu-item-home > .menu-link:hover::after {
	transform: scaleX(1);
}

.main-header-menu .sub-menu {
	border: 1px solid var(--aa-line) !important;
	border-radius: var(--aa-radius-m);
	box-shadow: 0 16px 32px -20px rgba(23, 50, 41, 0.4);
	padding: 6px 0;
}

.main-header-menu .sub-menu .menu-link {
	font-size: 0.95rem;
	color: var(--aa-text) !important;
}

.main-header-menu .sub-menu .menu-link:hover {
	color: var(--aa-green) !important;
	background: var(--aa-surface) !important;
}

/* Menú móvil */
.ast-mobile-header-content,
.ast-mobile-popup-drawer .ast-mobile-popup-inner {
	background: var(--aa-white) !important;
}

.ast-main-header-nav-open .ast-mobile-header-content {
	animation: aa-drop var(--aa-med) var(--aa-ease) both;
	border-bottom: 1px solid var(--aa-line);
}

.ast-mobile-header-content .menu-link,
.ast-mobile-header-content .main-header-menu .menu-item .menu-link {
	font-size: 1.05rem;
	font-weight: 500;
	color: var(--aa-ink) !important;
	padding-top: 14px !important;
	padding-bottom: 14px !important;
	border-color: var(--aa-line) !important;
}

.ast-mobile-header-content .main-header-menu > .menu-item > .menu-link {
	padding-left: var(--aa-gutter) !important;
	padding-right: var(--aa-gutter) !important;
	border-bottom: 1px solid var(--aa-line) !important;
}

.ast-mobile-header-content .current-menu-item > .menu-link {
	color: var(--aa-green) !important;
	font-weight: 650;
}

.ast-mobile-header-content .ast-menu-toggle,
.ast-header-break-point .ast-mobile-header-wrap .ast-menu-toggle {
	color: var(--aa-ink) !important;
	background: none !important;
	border: 0 !important;
}

.ast-mobile-menu-trigger-minimal svg,
.ast-button-wrap .menu-toggle svg,
.ast-mobile-svg {
	fill: var(--aa-ink) !important;
	color: var(--aa-ink) !important;
}

.menu-toggle,
.ast-mobile-menu-trigger-minimal {
	color: var(--aa-ink) !important;
	background: none !important;
	box-shadow: none !important;
	transition: transform var(--aa-fast) ease;
}

.menu-toggle:active {
	transform: scale(0.94);
}

@keyframes aa-drop {
	from { opacity: 0; transform: translateY(-8px); }
	to { opacity: 1; transform: none; }
}

/* Barra de progreso de lectura (la crea aa-ui.js en los artículos) */
.aa-progress {
	position: fixed;
	left: 0;
	right: 0;
	top: var(--wp-admin--admin-bar--height, 0px);
	height: 3px;
	z-index: 100;
	background: var(--aa-green);
	transform: scaleX(0);
	transform-origin: left;
	pointer-events: none;
}

/* ---------- Botones ---------- */

.aa-btn,
.wp-block-button__link,
.wpcf7-submit,
input[type="submit"],
.ast-button,
.search-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5em;
	min-height: 48px;
	padding: 12px 24px !important;
	font-family: var(--aa-font);
	font-weight: 600;
	font-size: 1rem;
	line-height: 1.2;
	text-decoration: none !important;
	border-radius: var(--aa-radius-s) !important;
	border: 2px solid var(--aa-green) !important;
	background: var(--aa-green) !important;
	color: var(--aa-white) !important;
	box-shadow: none !important;
	cursor: pointer;
	transition: background-color var(--aa-fast) ease, border-color var(--aa-fast) ease, color var(--aa-fast) ease, transform var(--aa-fast) ease;
}

.aa-btn:hover,
.wp-block-button__link:hover,
.wpcf7-submit:hover,
input[type="submit"]:hover,
.ast-button:hover,
.search-submit:hover {
	background: var(--aa-green-dark) !important;
	border-color: var(--aa-green-dark) !important;
	color: var(--aa-white) !important;
}

.aa-btn:active,
.wp-block-button__link:active,
.wpcf7-submit:active,
input[type="submit"]:active {
	transform: scale(0.97);
}

.aa-btn--ghost {
	background: transparent !important;
	color: var(--aa-ink) !important;
	border-color: var(--aa-ink) !important;
}

.aa-btn--ghost:hover {
	background: var(--aa-ink) !important;
	border-color: var(--aa-ink) !important;
	color: var(--aa-white) !important;
}

.aa-btn svg {
	width: 1em;
	height: 1em;
	transition: transform var(--aa-fast) ease;
}

.aa-btn:hover svg {
	transform: translateX(3px);
}

/* ---------- Formularios ---------- */

input[type="text"],
input[type="email"],
input[type="search"],
input[type="tel"],
input[type="url"],
input[type="number"],
textarea,
select {
	font-family: var(--aa-font);
	font-size: 1rem;
	color: var(--aa-ink);
	background: var(--aa-white);
	border: 1px solid var(--aa-line) !important;
	border-radius: var(--aa-radius-s) !important;
	padding: 12px 14px !important;
	transition: border-color var(--aa-fast) ease, box-shadow var(--aa-fast) ease;
}

input:focus,
textarea:focus,
select:focus {
	border-color: var(--aa-green) !important;
	box-shadow: 0 0 0 3px var(--aa-green-tint) !important;
	outline: 0;
}

/* ---------- Artículos y páginas ---------- */

.ast-separate-container .ast-article-single,
.ast-separate-container .ast-article-post,
.ast-separate-container .comments-area,
.ast-separate-container .ast-author-box {
	background: var(--aa-white);
	border: 1px solid var(--aa-line);
	border-radius: var(--aa-radius-m);
	box-shadow: none;
}

@media (min-width: 922px) {
	.single-post .site-content > .ast-container,
	.page:not(.home) .site-content > .ast-container {
		max-width: 920px;
	}

	.ast-separate-container .ast-article-single {
		padding: 56px 64px;
	}
}

@media (max-width: 921px) {
	html body .ast-separate-container .ast-article-single:not(.ast-related-post),
	html body.ast-separate-container article.ast-article-single:not(.ast-related-post) {
		padding: 1.4em 1.1em !important;
	}
}

.single .entry-header .entry-title,
.page .entry-header .entry-title {
	font-size: clamp(2rem, 4.6vw, 3.1rem);
	font-weight: 800;
	font-stretch: var(--aa-display-stretch);
	line-height: 1.04;
	letter-spacing: -0.012em;
	margin-bottom: 0.4em;
}

.entry-meta,
.entry-meta * {
	color: var(--aa-muted) !important;
	font-weight: 500;
	font-size: var(--aa-step--1);
}

.entry-meta a:hover {
	color: var(--aa-green) !important;
}

.entry-content {
	font-size: 1em;
	line-height: 1.75;
}

.entry-content > p,
.entry-content > ul,
.entry-content > ol {
	max-width: 68ch;
}

.entry-content :where(h2) {
	font-size: var(--aa-step-3);
	margin: 2.1em 0 0.6em;
	padding: 0 !important;
	border: 0 !important;
}

.entry-content :where(h3) {
	font-size: var(--aa-step-2);
	font-stretch: 92%;
	margin: 1.7em 0 0.5em;
}

.entry-content a {
	color: var(--aa-green);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
	text-decoration-color: rgba(13, 122, 74, 0.45);
}

.entry-content a:hover {
	text-decoration-thickness: 2px;
	text-decoration-color: currentColor;
}

.entry-content ul li::marker,
.entry-content ol li::marker {
	color: var(--aa-green);
	font-weight: 700;
}

.entry-content strong {
	color: var(--aa-ink);
	font-weight: 650;
}

.entry-content blockquote,
.entry-content .wp-block-quote {
	margin: 1.8em 0;
	padding: 18px 22px;
	background: var(--aa-surface);
	border: 0;
	border-left: 3px solid var(--aa-green);
	border-radius: 0 var(--aa-radius-s) var(--aa-radius-s) 0;
	font-style: normal;
	color: var(--aa-ink);
}

.entry-content img {
	border-radius: var(--aa-radius-s);
	box-shadow: none;
}

/* Tablas: la ficha técnica de cada artículo */
.entry-content .wp-block-table {
	margin: 1.8em 0;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	border: 1px solid var(--aa-line);
	border-radius: var(--aa-radius-m);
}

.entry-content table {
	width: 100%;
	margin: 0;
	border: 0 !important;
	border-collapse: collapse;
	border-spacing: 0;
	font-size: 0.94rem;
	font-variant-numeric: tabular-nums;
	line-height: 1.5;
}

.entry-content th {
	background: var(--aa-ink) !important;
	color: var(--aa-white) !important;
	font-weight: 600;
	text-align: left;
	padding: 12px 14px !important;
	border: 0 !important;
}

.entry-content td {
	padding: 11px 14px !important;
	border: 0 !important;
	border-top: 1px solid var(--aa-line) !important;
	background: var(--aa-white);
	vertical-align: top;
}

.entry-content tbody tr:nth-child(even) td {
	background: #f6f9f7;
}

@media (max-width: 768px) {
	.entry-content .wp-block-table table {
		min-width: 540px;
		font-size: 0.88rem;
	}
}

/* Categoría y navegación entre entradas */
.ast-blog-single-element.ast-taxonomy-container a,
.cat-links a {
	display: inline-block;
	background: var(--aa-green-tint) !important;
	color: var(--aa-green-dark) !important;
	font-size: var(--aa-step--1);
	font-weight: 600;
	text-transform: none;
	letter-spacing: 0;
	padding: 3px 10px;
	border-radius: var(--aa-radius-s);
	text-decoration: none !important;
}

.post-navigation a {
	font-weight: 600;
}

/* ---------- Listados (categorías, archivo, relacionados) ---------- */

.ast-article-post .post-thumb-img-content,
.ast-article-post .ast-blog-featured-section {
	overflow: hidden;
	border-radius: var(--aa-radius-s);
}

.ast-article-post .post-thumb img,
.ast-article-post .ast-blog-featured-section img {
	transition: transform 600ms var(--aa-ease);
}

.ast-separate-container .ast-article-post {
	transition: border-color var(--aa-med) ease;
}

.ast-article-post:hover {
	border-color: #a9c4b4;
}

.ast-article-post:hover .post-thumb img {
	transform: scale(1.03);
}

.ast-article-post .entry-title {
	font-size: var(--aa-step-1);
	font-stretch: 90%;
}

.ast-article-post .entry-title a {
	text-decoration: none;
}

.ast-article-post .entry-title a:hover {
	color: var(--aa-green);
}

.ast-archive-description {
	background: transparent !important;
	border: 0 !important;
	padding-left: 0 !important;
}

.ast-archive-description .ast-archive-title {
	font-size: var(--aa-step-4);
	font-weight: 800;
	font-stretch: var(--aa-display-stretch);
	color: var(--aa-ink);
}

/* ---------- Banner de cookies (Complianz) con los colores de la marca ---------- */

.cmplz-cookiebanner,
.cmplz-cookiebanner * {
	font-family: var(--aa-font) !important;
}

.cmplz-cookiebanner .cmplz-btn {
	border-radius: var(--aa-radius-s) !important;
	font-weight: 600 !important;
}

.cmplz-cookiebanner .cmplz-btn.cmplz-accept {
	background-color: var(--aa-green) !important;
	border-color: var(--aa-green) !important;
	color: var(--aa-white) !important;
}

.cmplz-cookiebanner .cmplz-btn.cmplz-deny,
.cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences,
.cmplz-cookiebanner .cmplz-btn.cmplz-save-preferences {
	background-color: var(--aa-white) !important;
	border: 1px solid var(--aa-line) !important;
	color: var(--aa-ink) !important;
}

.cmplz-cookiebanner a,
.cmplz-cookiebanner .cmplz-link {
	color: var(--aa-green) !important;
}

/* ---------- Pie ---------- */

.site-footer,
.site-primary-footer-wrap,
.site-below-footer-wrap,
.site-above-footer-wrap {
	background: var(--aa-ink) !important;
	color: #c3d2ca !important;
	border: 0 !important;
}

.site-footer a {
	color: var(--aa-white) !important;
	text-decoration: underline;
	text-decoration-color: rgba(255, 255, 255, 0.3);
	text-underline-offset: 3px;
}

.site-footer a:hover {
	text-decoration-color: var(--aa-white);
}

.ast-footer-copyright,
.ast-footer-copyright p,
.site-footer .ast-footer-copyright * {
	font-size: var(--aa-step--1);
	color: #c3d2ca !important;
}

.site-footer .ast-footer-copyright a {
	color: var(--aa-white) !important;
}

/* Botón de volver arriba */
#ast-scroll-top {
	background: var(--aa-ink) !important;
	color: var(--aa-white) !important;
	border-radius: var(--aa-radius-s) !important;
	transition: background-color var(--aa-fast) ease, transform var(--aa-fast) ease;
}

#ast-scroll-top:hover {
	background: var(--aa-green) !important;
	transform: translateY(-2px);
}


/* =========================================================
   PORTADA
   ========================================================= */

body.home .ast-separate-container .ast-article-single,
body.home article.ast-article-single,
body.home .ast-article-single {
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
}

body.home .site-content > .ast-container {
	max-width: 100%;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

body.home #primary {
	margin: 0 !important;
	padding: 0 !important;
}

body.home .entry-content > * {
	margin-top: 0;
	margin-bottom: 0;
}

.aa-wrap {
	box-sizing: border-box;
	width: 100%;
	max-width: 1180px;
	margin: 0 auto;
	padding: 0 var(--aa-gutter);
}

.aa-band {
	box-sizing: border-box;
	width: 100%;
	padding-block: var(--aa-band);
}

.aa-band--tint {
	background: var(--aa-surface);
}

.aa-band--line {
	border-top: 1px solid var(--aa-line);
}

.aa-questions,
.aa-topics,
.aa-trust ul,
.aa-ficha dl {
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding-left: 0 !important;
}

.aa-latest-band {
	padding-inline: 0 !important;
}

.aa-latest-band > .wp-block-group.aa-wrap {
	padding: 0 var(--aa-gutter) !important;
	max-width: 1180px !important;
	margin-inline: auto !important;
}

.aa-head {
	max-width: 720px;
	margin-bottom: clamp(28px, 4vw, 44px);
}

.aa-head h2,
.aa-home-h2 {
	font-size: var(--aa-step-4);
	font-weight: 800;
	font-stretch: var(--aa-display-stretch);
	line-height: 1.02;
	letter-spacing: -0.012em;
	margin: 0 0 0.35em;
	padding: 0 !important;
	border: 0 !important;
}

.aa-head p {
	color: var(--aa-muted);
	font-size: var(--aa-step-0);
	margin: 0;
	max-width: 56ch;
}

/* ---------- Hero ---------- */

.aa-hero {
	padding-block: clamp(40px, 7vw, 96px) clamp(48px, 7vw, 88px);
}

.aa-hero__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
	gap: clamp(32px, 5vw, 72px);
	align-items: center;
}

.aa-hero h1 {
	font-size: var(--aa-step-5);
	font-weight: 800;
	font-stretch: 72%;
	line-height: 0.96;
	letter-spacing: -0.015em;
	color: var(--aa-ink);
	margin: 0 0 0.42em;
}

.aa-hero h1 .aa-line {
	display: block;
	overflow: hidden;
	padding-bottom: 0.06em;
}

.aa-hero h1 .aa-line > span {
	display: block;
}

.aa-hero__lead {
	font-size: clamp(1.08rem, 1.6vw, 1.25rem);
	line-height: 1.6;
	color: var(--aa-text);
	max-width: 44ch;
	margin: 0 0 1.6em;
}

.aa-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.aa-diagram {
	margin: 0;
}

.aa-diagram svg {
	display: block;
	width: 100%;
	height: auto;
	max-width: 560px;
	margin-left: auto;
	overflow: visible;
}

.aa-diagram figcaption {
	max-width: 560px;
	margin: 14px 0 0 auto;
	padding-top: 12px;
	border-top: 1px solid var(--aa-line);
	font-size: var(--aa-step--1);
	color: var(--aa-muted);
	line-height: 1.55;
}

.aa-diagram figcaption strong {
	color: var(--aa-ink);
	font-weight: 650;
}

/* Piezas del esquema */
.aa-d-struct {
	fill: none;
	stroke: var(--aa-ink);
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.aa-d-fill {
	fill: var(--aa-white);
}

.aa-d-pipe {
	fill: none;
	stroke: var(--aa-line);
	stroke-width: 6;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.aa-d-flow {
	fill: none;
	stroke: var(--aa-heat);
	stroke-width: 3;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-dasharray: 3 11;
}

.aa-d-flow--return {
	stroke: var(--aa-cool);
}

.aa-d-air {
	fill: none;
	stroke: var(--aa-cool);
	stroke-width: 2.5;
	stroke-linecap: round;
	stroke-dasharray: 10 8;
}

.aa-d-heat {
	fill: none;
	stroke: var(--aa-heat);
	stroke-width: 2;
	stroke-linecap: round;
	opacity: 0.55;
}

.aa-d-label {
	font-family: var(--aa-font);
	font-size: 15px;
	font-weight: 650;
	font-stretch: 90%;
	fill: var(--aa-ink);
}

.aa-d-note {
	font-family: var(--aa-font);
	font-size: 13px;
	font-weight: 400;
	fill: var(--aa-muted);
}

.aa-fan {
	transform-box: fill-box;
	transform-origin: center;
}

/* ---------- Ficha en cifras ---------- */

.aa-ficha {
	display: grid;
	grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
	gap: clamp(24px, 5vw, 72px);
	align-items: start;
}

.aa-ficha dl {
	margin: 0;
	border-top: 2px solid var(--aa-ink);
}

.aa-ficha__row {
	display: flex;
	align-items: baseline;
	gap: 12px;
	padding: 16px 0;
	border-bottom: 1px solid var(--aa-line);
}

.aa-ficha dt {
	color: var(--aa-text);
	font-size: var(--aa-step-0);
	white-space: nowrap;
}

.aa-ficha__row::before {
	content: "";
	order: 2;
	flex: 1 1 24px;
	min-width: 24px;
	border-bottom: 2px dotted #b8c7bf;
	transform: translateY(-0.3em);
}

.aa-ficha dd {
	order: 3;
	margin: 0;
	font-size: var(--aa-step-2);
	font-weight: 750;
	font-stretch: 80%;
	color: var(--aa-ink);
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

.aa-ficha__note {
	margin: 14px 0 0;
	font-size: var(--aa-step--1);
	color: var(--aa-muted);
}

/* ---------- Preguntas de entrada ---------- */

.aa-questions {
	list-style: none;
	margin: 0;
	padding: 0;
	border-top: 2px solid var(--aa-ink);
}

.aa-questions li {
	margin: 0;
	border-bottom: 1px solid var(--aa-line);
}

.aa-q {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr) 44px;
	gap: clamp(12px, 3vw, 40px);
	align-items: center;
	padding: clamp(20px, 3vw, 30px) 12px;
	margin: 0 -12px;
	border-radius: var(--aa-radius-s);
	color: var(--aa-text) !important;
	text-decoration: none !important;
	transition: background-color var(--aa-med) ease;
}

.aa-q h3 {
	margin: 0;
	font-size: clamp(1.6rem, 3.2vw, 2.3rem);
	font-weight: 750;
	font-stretch: 76%;
	line-height: 1.02;
	color: var(--aa-ink);
	transition: color var(--aa-fast) ease;
}

.aa-q p {
	margin: 0;
	color: var(--aa-muted);
	max-width: 46ch;
}

.aa-q__go {
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border: 2px solid var(--aa-line);
	border-radius: 50%;
	color: var(--aa-ink);
	transition: border-color var(--aa-fast) ease, background-color var(--aa-fast) ease, color var(--aa-fast) ease, transform var(--aa-med) var(--aa-ease);
}

.aa-q__go svg {
	width: 18px;
	height: 18px;
}

.aa-q:hover {
	background: var(--aa-white);
}

.aa-q:hover h3 {
	color: var(--aa-green);
}

.aa-q:hover .aa-q__go {
	background: var(--aa-green);
	border-color: var(--aa-green);
	color: var(--aa-white);
	transform: translateX(4px);
}

/* ---------- Temas ---------- */

.aa-topics {
	list-style: none;
	margin: 0;
	padding: 0;
	columns: 2;
	column-gap: clamp(24px, 5vw, 64px);
}

.aa-topics li {
	break-inside: avoid;
	margin: 0;
}

.aa-topic {
	display: block;
	padding: 18px 0 18px;
	border-bottom: 1px solid #cddad2;
	text-decoration: none !important;
	color: var(--aa-text) !important;
}

.aa-topic strong {
	display: block;
	font-size: var(--aa-step-1);
	font-weight: 700;
	font-stretch: 86%;
	color: var(--aa-ink);
	line-height: 1.2;
	margin-bottom: 4px;
	background-image: linear-gradient(var(--aa-green), var(--aa-green));
	background-size: 0 2px;
	background-position: 0 100%;
	background-repeat: no-repeat;
	transition: background-size var(--aa-med) var(--aa-ease), color var(--aa-fast) ease;
	width: fit-content;
}

.aa-topic span {
	display: block;
	color: var(--aa-muted);
	font-size: 0.97rem;
}

.aa-topic:hover strong {
	color: var(--aa-green);
	background-size: 100% 2px;
}

/* ---------- Últimas guías ---------- */

.aa-latest-band .wp-block-latest-posts.aa-latest {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(20px, 3vw, 36px) clamp(16px, 2.5vw, 28px);
	margin: 0 !important;
	padding: 0;
}

.aa-latest li {
	margin: 0 !important;
	width: auto !important;
	background: none !important;
	border: 0 !important;
	padding: 0 !important;
	box-shadow: none !important;
	position: relative;
}

.aa-latest .wp-block-latest-posts__featured-image {
	margin: 0 0 14px !important;
	overflow: hidden;
	border-radius: var(--aa-radius-s);
	aspect-ratio: 1200 / 630;
	background: var(--aa-surface);
}

.aa-latest .wp-block-latest-posts__featured-image img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	display: block;
	border-radius: 0;
	transition: transform 600ms var(--aa-ease);
}

.aa-latest .wp-block-latest-posts__post-title {
	display: block;
	padding: 0 !important;
	font-size: 1.12rem;
	font-weight: 650;
	font-stretch: 92%;
	line-height: 1.3;
	color: var(--aa-ink) !important;
	text-decoration: none !important;
}

/* El título cubre toda la tarjeta: imagen y texto llevan al mismo artículo */
.aa-latest .wp-block-latest-posts__post-title::after {
	content: "";
	position: absolute;
	inset: 0;
}

.aa-latest li:hover img {
	transform: scale(1.035);
}

.aa-latest li:hover .wp-block-latest-posts__post-title {
	color: var(--aa-green) !important;
}

/* ---------- Confianza ---------- */

.aa-trust {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(24px, 5vw, 72px);
	align-items: start;
}

.aa-trust p {
	margin: 0;
	max-width: 46ch;
	color: var(--aa-text);
}

.aa-trust ul {
	list-style: none;
	margin: 0;
	padding: 0;
	border-top: 2px solid var(--aa-ink);
}

.aa-trust li {
	position: relative;
	margin: 0;
	padding: 14px 0 14px 30px;
	border-bottom: 1px solid #cddad2;
}

.aa-trust li::before {
	content: "";
	position: absolute;
	left: 2px;
	top: 1.15em;
	width: 14px;
	height: 8px;
	border-left: 2.5px solid var(--aa-green);
	border-bottom: 2.5px solid var(--aa-green);
	transform: rotate(-45deg);
}

/* ---------- Portada: móvil ---------- */

@media (max-width: 921px) {
	.aa-hero__grid,
	.aa-ficha,
	.aa-trust {
		grid-template-columns: minmax(0, 1fr);
	}

	.aa-diagram svg,
	.aa-diagram figcaption {
		margin-left: 0;
	}

	.aa-latest-band .wp-block-latest-posts.aa-latest {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.aa-d-label {
		font-size: 21px;
	}

	.aa-d-note {
		display: none;
	}

	.aa-hero h1 {
		font-size: clamp(2.6rem, 13vw, 3.4rem);
	}

	.aa-actions .aa-btn {
		flex: 1 1 auto;
	}

	.aa-q {
		grid-template-columns: minmax(0, 1fr) 40px;
		row-gap: 6px;
	}

	.aa-q h3 {
		grid-column: 1;
	}

	.aa-q p {
		grid-column: 1;
		grid-row: 2;
	}

	.aa-q__go {
		grid-column: 2;
		grid-row: 1 / span 2;
		width: 40px;
		height: 40px;
	}

	.aa-topics {
		columns: 1;
	}

	.aa-latest-band .wp-block-latest-posts.aa-latest {
		grid-template-columns: minmax(0, 1fr);
	}

	.aa-ficha__row {
		flex-wrap: wrap;
	}

	.aa-ficha dt {
		white-space: normal;
		flex: 1 1 100%;
	}

	.aa-ficha__row::before {
		display: none;
	}
}

/* =========================================================
   MOVIMIENTO
   Una sola secuencia de entrada (portada) + el calor circulando por el esquema.
   El resto: respuestas a la interacción y revelados discretos.
   ========================================================= */

@media (prefers-reduced-motion: no-preference) {

	/* Entrada del titular, línea a línea */
	.aa-js .aa-hero h1 .aa-line > span {
		animation: aa-rise 760ms var(--aa-ease) both;
	}

	.aa-js .aa-hero h1 .aa-line:nth-child(2) > span {
		animation-delay: 90ms;
	}

	.aa-js .aa-hero__lead {
		animation: aa-fade-up 600ms var(--aa-ease) 260ms both;
	}

	.aa-js .aa-actions {
		animation: aa-fade-up 600ms var(--aa-ease) 360ms both;
	}

	.aa-js .aa-diagram figcaption {
		animation: aa-fade 600ms ease 1100ms both;
	}

	/* El esquema se dibuja */
	.aa-js .aa-d-draw {
		stroke-dasharray: 1;
		stroke-dashoffset: 1;
		animation: aa-draw 1100ms var(--aa-ease) 200ms forwards;
	}

	.aa-js .aa-d-fadein {
		animation: aa-fade 500ms ease 700ms both;
	}

	/* Calor y aire en movimiento: explica cómo funciona */
	.aa-js .aa-d-flow {
		animation: aa-flow 1.1s linear infinite, aa-fade 500ms ease 1000ms both;
	}

	.aa-js .aa-d-flow--return {
		animation: aa-flow-rev 1.6s linear infinite, aa-fade 500ms ease 1000ms both;
	}

	.aa-js .aa-d-air {
		animation: aa-flow-air 1.8s linear infinite, aa-fade 500ms ease 600ms both;
	}

	.aa-js .aa-fan {
		animation: aa-spin 2.4s linear infinite;
	}

	.aa-js .aa-d-heat {
		animation: aa-heat 3.2s ease-in-out infinite;
	}

	.aa-js .aa-d-heat:nth-of-type(2) { animation-delay: 0.6s; }
	.aa-js .aa-d-heat:nth-of-type(3) { animation-delay: 1.2s; }
	.aa-js .aa-d-heat:nth-of-type(4) { animation-delay: 1.8s; }

	/* Fuera de pantalla, el esquema se detiene */
	.aa-hero.is-paused .aa-d-flow,
	.aa-hero.is-paused .aa-d-air,
	.aa-hero.is-paused .aa-fan,
	.aa-hero.is-paused .aa-d-heat {
		animation-play-state: paused;
	}

	/* Revelados al hacer scroll (solo si aa-ui.js está activo) */
	.aa-io [data-aa-reveal] > * {
		opacity: 0;
		transform: translateY(14px);
		transition: opacity 520ms var(--aa-ease), transform 520ms var(--aa-ease);
		transition-delay: calc(var(--aa-i, 0) * 70ms);
	}

	.aa-io [data-aa-reveal].is-in > * {
		opacity: 1;
		transform: none;
	}

	/* Transición suave entre páginas (navegadores compatibles) */
	@view-transition {
		navigation: auto;
	}

	::view-transition-old(root),
	::view-transition-new(root) {
		animation-duration: 200ms;
		animation-timing-function: ease;
	}
}

@keyframes aa-rise {
	from { transform: translateY(105%); }
	to { transform: none; }
}

@keyframes aa-fade-up {
	from { opacity: 0; transform: translateY(12px); }
	to { opacity: 1; transform: none; }
}

@keyframes aa-fade {
	from { opacity: 0; }
	to { opacity: 1; }
}

@keyframes aa-draw {
	to { stroke-dashoffset: 0; }
}

@keyframes aa-flow {
	to { stroke-dashoffset: -28; }
}

@keyframes aa-flow-rev {
	to { stroke-dashoffset: 28; }
}

@keyframes aa-flow-air {
	to { stroke-dashoffset: -36; }
}

@keyframes aa-spin {
	to { transform: rotate(360deg); }
}

@keyframes aa-heat {
	0%, 100% { opacity: 0.15; transform: translateY(4px); }
	50% { opacity: 0.7; transform: translateY(-4px); }
}

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

	.aa-progress {
		display: none;
	}
}

/* ---------- Calculadora de ahorro [aeroahorro_calculadora] ---------- */

.aa-calc,
.aa-calc * {
	box-sizing: border-box;
}

.aa-calc {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 400px), 1fr));
	gap: clamp(20px, 3vw, 40px);
	margin: 32px 0;
	padding: clamp(18px, 3vw, 32px);
	background: var(--aa-white);
	border: 1px solid var(--aa-line);
	border-radius: var(--aa-radius-m);
	font-family: var(--aa-font);
	color: var(--aa-text);
}

.aa-calc__step {
	margin: 0 0 22px;
	padding: 0;
	border: 0;
	min-width: 0;
}

.aa-calc legend {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 12px;
	padding: 0;
	font-weight: 700;
	font-size: var(--aa-step-0);
	line-height: 1.3;
	color: var(--aa-ink);
}

.aa-calc__n {
	flex: none;
	display: inline-grid;
	place-items: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: var(--aa-green-tint);
	color: var(--aa-green-dark);
	font-size: 0.875rem;
	font-weight: 800;
}

.aa-calc__choices {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.aa-calc__choices label {
	position: relative;
	margin: 0;
	cursor: pointer;
}

.aa-calc__choices input {
	position: absolute;
	opacity: 0;
	width: 1px;
	height: 1px;
}

.aa-calc__choices span {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 10px 16px;
	border: 1.5px solid var(--aa-line);
	border-radius: 999px;
	background: var(--aa-paper);
	font-weight: 600;
	font-size: 0.95rem;
	line-height: 1.2;
	color: var(--aa-ink);
	transition: background-color var(--aa-fast) ease, border-color var(--aa-fast) ease, color var(--aa-fast) ease;
}

.aa-calc__choices label:hover span {
	border-color: var(--aa-green);
}

.aa-calc__choices input:checked + span {
	background: var(--aa-green);
	border-color: var(--aa-green);
	color: var(--aa-white);
}

.aa-calc__choices input:focus-visible + span {
	outline: 3px solid var(--aa-heat);
	outline-offset: 2px;
}

.aa-calc__choices--mode {
	margin-bottom: 14px;
}

.aa-calc__field label {
	display: block;
	margin-bottom: 6px;
	font-weight: 600;
	font-size: 0.95rem;
	color: var(--aa-ink);
}

.aa-calc__input {
	display: flex;
	align-items: stretch;
	max-width: 280px;
	border: 1.5px solid var(--aa-line);
	border-radius: var(--aa-radius-s);
	background: var(--aa-white);
	overflow: hidden;
	transition: border-color var(--aa-fast) ease;
}

.aa-calc__input:focus-within {
	border-color: var(--aa-green);
}

.aa-calc .aa-calc__input input {
	flex: 1;
	min-width: 0;
	margin: 0;
	padding: 10px 12px !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	font-family: var(--aa-font);
	font-size: 1.25rem;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	color: var(--aa-ink);
	background: transparent;
}

.aa-calc .aa-calc__input input:focus {
	outline: none;
}

.aa-calc__suffix {
	display: grid;
	place-items: center;
	padding: 0 12px;
	background: var(--aa-surface);
	font-weight: 600;
	font-size: 0.875rem;
	color: var(--aa-muted);
	white-space: nowrap;
}

.aa-calc__hint,
.aa-calc__note {
	margin: 8px 0 0;
	font-size: var(--aa-step--1);
	line-height: 1.5;
	color: var(--aa-muted);
}

.aa-calc__more {
	border-top: 1px solid var(--aa-line);
	padding-top: 14px;
}

.aa-calc__more summary {
	cursor: pointer;
	font-weight: 600;
	color: var(--aa-green-dark);
}

.aa-calc__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 14px;
	margin-top: 14px;
}

/* Resultado */

.aa-calc__result {
	align-self: start;
	padding: clamp(18px, 2.5vw, 28px);
	border-radius: var(--aa-radius-m);
	background: var(--aa-ink);
	color: #e6eee9;
}

.aa-calc__kicker {
	margin: 0 0 16px;
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--aa-cool);
}

.aa-calc__bars {
	display: grid;
	gap: 14px;
	margin-bottom: 22px;
}

.aa-calc__bar {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 6px 12px;
	align-items: baseline;
}

.aa-calc__bar-label {
	font-size: 0.9rem;
	color: #c4d3cb;
}

.aa-calc__bar-value {
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	color: var(--aa-white);
}

.aa-calc__bar-fill {
	grid-column: 1 / -1;
	height: 12px;
	border-radius: 999px;
	transform-origin: left;
	transform: scaleX(0);
	transition: transform var(--aa-med) var(--aa-ease);
}

.aa-calc__bar--now .aa-calc__bar-fill {
	background: var(--aa-heat);
}

.aa-calc__bar--aero .aa-calc__bar-fill {
	background: #3fbf7f;
}

.aa-calc__figures {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin: 0 0 16px;
	padding: 16px 0;
	border-block: 1px solid rgba(255, 255, 255, 0.14);
}

.aa-calc__figures div {
	min-width: 0;
}

.aa-calc__figures dt {
	margin: 0 0 4px;
	font-size: 0.8rem;
	line-height: 1.3;
	color: #c4d3cb;
}

.aa-calc__figures dd {
	margin: 0;
	font-weight: 800;
	font-stretch: var(--aa-display-stretch);
	font-size: clamp(1.3rem, 2.4vw, 1.75rem);
	line-height: 1.1;
	font-variant-numeric: tabular-nums;
	color: var(--aa-white);
	overflow-wrap: anywhere;
}

.aa-calc__figures div:first-child dd {
	color: #6fe0a6;
}

.aa-calc.is-negative .aa-calc__figures div:first-child dd {
	color: var(--aa-heat);
}

.aa-calc__summary {
	margin: 0 0 12px;
	font-size: 0.98rem;
	line-height: 1.5;
	color: var(--aa-white);
}

.aa-calc__result .aa-calc__note {
	color: #a9bbb1;
}

@media (max-width: 420px) {
	.aa-calc__figures {
		grid-template-columns: 1fr 1fr;
	}

	.aa-calc__figures div:last-child {
		grid-column: 1 / -1;
	}
}

@media (prefers-reduced-motion: reduce) {
	.aa-calc__bar-fill {
		transition: none;
	}
}
