/*
 * triibu · estilos del tema
 * Sistema de diseño "Papel · técnico" (aprobado el 02-10-2026).
 * Portada, menú y anchos del 28-10-2026 (brief de Erika, ronda 1): columna centrada de 1.100 px con bloques de lectura de 720 px,
 * seis cifras, tres herramientas, menú sin caja de suscripción (la paleta ciruela de comparación se retiró el 29-10-2026).
 * Rediseño de la portada y la barra lateral del 14-10-2026 (dirección D, «panel de trabajo»):
 * barra lateral estilo SaaS con buscador e iconos, barra superior en escritorio y portada en rejilla de tarjetas.
 * Los colores y tamaños salen de theme.json (variables --wp--preset--*);
 * aquí van las fuentes alojadas, el menú lateral y los componentes.
 */

/* ------------------------------------------------------------------
 * 1 · Fuentes alojadas en el tema (licencia OFL; ver assets/fonts/)
 * Tipografía del 22-10-2026: Bricolage Grotesque (títulos), DM Sans (texto) y DM Mono (cifras y datos).
 * Se sirven desde este mismo servidor (no desde Google), con font-display: swap y solo los pesos usados.
 * Subconjunto latino: cubre todo el español (tildes, ñ, ¿, ¡).
 * Epilogue 800 se queda solo para el logotipo «triibu», que no cambia.
 * Para cambiar una familia en todo el sitio basta con tocar las variables --font-* de :root (sección 2).
 * ------------------------------------------------------------------ */
@font-face {
	font-family: "Bricolage Grotesque";
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url("../fonts/bricolage-grotesque-latin-600-normal.woff2") format("woff2");
}
@font-face {
	font-family: "Bricolage Grotesque";
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url("../fonts/bricolage-grotesque-latin-700-normal.woff2") format("woff2");
}
@font-face {
	font-family: "DM Sans";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("../fonts/dm-sans-latin-400-normal.woff2") format("woff2");
}
@font-face {
	font-family: "DM Sans";
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url("../fonts/dm-sans-latin-500-normal.woff2") format("woff2");
}
@font-face {
	font-family: "DM Sans";
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url("../fonts/dm-sans-latin-600-normal.woff2") format("woff2");
}
@font-face {
	font-family: "DM Mono";
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url("../fonts/dm-mono-latin-500-normal.woff2") format("woff2");
}
/* Letras desde el 28-10-2026 (brief de Erika): Archivo para títulos, texto, botones y menú; JetBrains Mono solo en cifras y tablas.
   Archivos de Fontsource 5.3.0 (latín), licencia SIL OFL 1.1, alojados en assets/fonts. Bricolage, DM Sans y DM Mono quedan declaradas por si se vuelve atrás. */
@font-face {
	font-family: "Archivo";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("../fonts/archivo-latin-400-normal.woff2") format("woff2");
}
@font-face {
	font-family: "Archivo";
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url("../fonts/archivo-latin-500-normal.woff2") format("woff2");
}
@font-face {
	font-family: "Archivo";
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url("../fonts/archivo-latin-600-normal.woff2") format("woff2");
}
@font-face {
	font-family: "Archivo";
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url("../fonts/archivo-latin-700-normal.woff2") format("woff2");
}
@font-face {
	font-family: "Archivo";
	font-style: normal;
	font-weight: 800;
	font-display: swap;
	src: url("../fonts/archivo-latin-800-normal.woff2") format("woff2");
}
@font-face {
	font-family: "JetBrains Mono";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("../fonts/jetbrains-mono-latin-400-normal.woff2") format("woff2");
}
@font-face {
	font-family: "JetBrains Mono";
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url("../fonts/jetbrains-mono-latin-500-normal.woff2") format("woff2");
}
@font-face {
	font-family: "JetBrains Mono";
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url("../fonts/jetbrains-mono-latin-600-normal.woff2") format("woff2");
}
@font-face {
	font-family: "JetBrains Mono";
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url("../fonts/jetbrains-mono-latin-700-normal.woff2") format("woff2");
}
@font-face {
	font-family: "Epilogue";
	font-style: normal;
	font-weight: 800;
	font-display: swap;
	src: url("../fonts/epilogue-latin-800-normal.woff2") format("woff2");
}

/* ------------------------------------------------------------------
 * 2 · Base
 * ------------------------------------------------------------------ */
:root {
	/* Familias tipográficas del sitio (theme.json las usa con sus slugs de siempre: epilogue = títulos,
	   plex-sans = texto, plex-mono = cifras). Se cambian aquí, en un solo lugar. */
	--font-titulos: "Archivo", "Segoe UI", system-ui, sans-serif;
	--font-texto: "Archivo", "Segoe UI", system-ui, sans-serif;
	--font-cifras: "JetBrains Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;
	--font-logo: Epilogue, "Segoe UI", system-ui, sans-serif;
	--triibu-menu-ancho: 260px;
	--triibu-cabecera-alto: 56px;
	--triibu-radio: 4px;
	--triibu-radio-tarjeta: 10px;
	--triibu-campo-alto: 44px;
	/* Dos anchos en todo el sitio, centrados y sin anchos intermedios (brief de Erika del 28-10-2026):
	   lectura 720 px (textos, preguntas, comentario de la contadora, suscripción) y ancho 1.100 px (herramientas,
	   calculadoras, tablas, tarjetas de la portada y calendario). Tienen su par en theme.json (contentSize y wideSize). */
	--triibu-ancho-lectura: 720px;
	--triibu-ancho: 1100px;
}

html {
	scroll-padding-top: calc(var(--triibu-cabecera-alto) + 1rem);
}

body {
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

/* Datos: NIT, fechas, valores. Siempre en Plex Mono con cifras alineadas. */
.triibu-dato,
.triibu-rotulo {
	font-family: var(--wp--preset--font-family--plex-mono);
	font-variant-numeric: tabular-nums;
}

/* Rótulo de sección: Plex Mono 11 px, mayúsculas, +0,1 em. */
.triibu-rotulo {
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	line-height: 1.4;
	color: var(--wp--preset--color--secundario);
	margin: 0;
}

/* Enfoque visible para quien navega con teclado. */
:where(a, button, summary, input, select, textarea, [tabindex]):focus-visible {
	outline: 2px solid var(--wp--preset--color--azul);
	outline-offset: 2px;
}

.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}

.triibu-saltar {
	/* Oculto de verdad (no solo fuera de pantalla): solo se ve al recibir el foco con el teclado. */
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
	z-index: 300;
	padding: 0;
	background: var(--wp--preset--color--tinta);
	color: var(--wp--preset--color--blanco);
	border-radius: var(--triibu-radio);
	font-weight: 600;
	text-decoration: none;
}
.triibu-saltar:focus {
	position: fixed;
	left: 0.75rem;
	top: 0.75rem;
	width: auto;
	height: auto;
	overflow: visible;
	clip-path: none;
	padding: 0.6rem 1rem;
}

/* ------------------------------------------------------------------
 * 3 · Campos de formulario (44 px de alto)
 * ------------------------------------------------------------------ */
input[type="text"],
input[type="search"],
input[type="email"],
input[type="number"],
input[type="tel"],
input[type="date"],
select {
	box-sizing: border-box;
	min-height: var(--triibu-campo-alto);
	width: 100%;
	padding: 0 0.75rem;
	background: var(--wp--preset--color--blanco);
	color: var(--wp--preset--color--tinta);
	border: 1px solid var(--wp--preset--color--borde);
	border-radius: var(--triibu-radio);
	font: inherit;
	font-size: var(--wp--preset--font-size--base);
}
textarea {
	box-sizing: border-box;
	width: 100%;
	padding: 0.6rem 0.75rem;
	background: var(--wp--preset--color--blanco);
	color: var(--wp--preset--color--tinta);
	border: 1px solid var(--wp--preset--color--borde);
	border-radius: var(--triibu-radio);
	font: inherit;
}
input:focus,
select:focus,
textarea:focus {
	border-color: var(--wp--preset--color--azul);
	box-shadow: 0 0 0 3px var(--wp--preset--color--anillo);
	outline: 2px solid transparent; /* visible en modo de alto contraste */
	outline-offset: 0;
}
label {
	font-weight: 500;
}

/* ------------------------------------------------------------------
 * 4 · Botones
 *  - Primario: relleno azul (por defecto, desde theme.json)
 *  - Secundario: contorno de tinta 1,5 px  (estilo "Contorno" de WordPress)
 *  - Terciario: texto con subrayado azul   (estilo "Terciario")
 * ------------------------------------------------------------------ */
.wp-block-button__link,
.triibu-boton {
	box-sizing: border-box;
	min-height: var(--triibu-campo-alto);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: var(--triibu-radio);
	font-family: var(--wp--preset--font-family--plex-sans);
	font-weight: 600;
	text-decoration: none;
	transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.triibu-boton {
	padding: 0 1.25rem;
}
.triibu-boton--primario {
	background: var(--wp--preset--color--azul);
	color: var(--wp--preset--color--blanco);
}
.triibu-boton--primario:hover {
	background: var(--wp--preset--color--azul-hover);
	color: var(--wp--preset--color--blanco);
}

.wp-block-button.is-style-outline > .wp-block-button__link,
.triibu-boton--secundario {
	background: transparent;
	color: var(--wp--preset--color--tinta);
	border: 1.5px solid var(--wp--preset--color--tinta);
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover,
.triibu-boton--secundario:hover {
	background: var(--wp--preset--color--tinta);
	color: var(--wp--preset--color--papel);
}

.wp-block-button.is-style-terciario > .wp-block-button__link {
	background: transparent;
	color: var(--wp--preset--color--azul);
	padding-left: 0;
	padding-right: 0;
	border-radius: 0;
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 0.3em;
}
.wp-block-button.is-style-terciario > .wp-block-button__link:hover {
	background: transparent;
	color: var(--wp--preset--color--azul-hover);
}

/* ------------------------------------------------------------------
 * 5 · Estructura: barra lateral (estilo panel) + columna de contenido
 * ------------------------------------------------------------------ */
.triibu-cabecera {
	margin: 0;
}
.triibu-columna {
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}
.triibu-main {
	flex: 1 0 auto;
	padding-left: 1rem;
	padding-right: 1rem;
}
@media (min-width: 1024px) {
	.triibu-main {
		padding-left: clamp(1.5rem, 3vw, 2.5rem);
		padding-right: clamp(1.5rem, 3vw, 2.5rem);
	}
}

/* Logo */
.triibu-logo {
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	color: var(--wp--preset--color--tinta);
	text-decoration: none;
}
.triibu-logo__icono {
	display: block;
	width: 32px;
	height: 32px;
}
.triibu-logo__texto {
	font-family: var(--font-logo);
	font-weight: 800;
	font-size: 1.6rem;
	letter-spacing: -0.035em;
	line-height: 1;
}
.triibu-logo__ii {
	color: var(--wp--preset--color--azul);
}

/* Cabecera de celular */
.triibu-cabecera-movil {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: var(--triibu-cabecera-alto);
	box-sizing: border-box;
	padding: 0 1rem;
}
.triibu-cabecera {
	position: sticky;
	top: 0;
	z-index: 90;
	background: var(--wp--preset--color--papel);
	border-bottom: 1px solid var(--wp--preset--color--borde);
}
.triibu-hamburguesa,
.triibu-menu__cerrar {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	min-height: var(--triibu-campo-alto);
	padding: 0 0.75rem;
	background: transparent;
	color: var(--wp--preset--color--tinta);
	border: 1.5px solid var(--wp--preset--color--tinta);
	border-radius: var(--triibu-radio);
	font: inherit;
	font-weight: 600;
	cursor: pointer;
}
.triibu-menu__cerrar {
	border-color: var(--wp--preset--color--borde);
	min-width: var(--triibu-campo-alto);
	justify-content: center;
	padding: 0;
}
.triibu-velo {
	position: fixed;
	inset: 0;
	z-index: 110;
	background: rgba(21, 25, 43, 0.45);
}
.triibu-velo[hidden] {
	display: none;
}

/* Barra lateral */
.triibu-menu {
	position: fixed;
	top: 0;
	left: 0;
	bottom: 0;
	z-index: 120;
	width: var(--triibu-menu-ancho);
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	background: var(--wp--preset--color--alterno);
	border-right: 1px solid var(--wp--preset--color--borde);
	font-size: 0.9375rem;
	padding: 1rem 0.75rem 0.75rem;
}
.triibu-menu__cabecera {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0.35rem 0.5rem 0.9rem;
}
.triibu-menu__cerrar {
	display: none;
}

/* Buscador (usa la búsqueda normal de WordPress) */
.triibu-menu__buscar {
	position: relative;
	margin: 0 0.25rem 0.75rem;
}
.triibu-menu__buscar .triibu-menu__icono {
	position: absolute;
	left: 0.65rem;
	top: 50%;
	transform: translateY(-50%);
	color: var(--wp--preset--color--secundario);
	pointer-events: none;
}
.triibu-menu__buscar input[type="search"] {
	min-height: 38px;
	padding-left: 2.1rem;
	font-size: 0.875rem;
	border-radius: 6px;
}
.triibu-menu__buscar input[type="search"]::placeholder {
	color: var(--wp--preset--color--secundario);
}

.triibu-menu__cuerpo {
	flex: 1 1 auto;
	overflow-y: auto;
	padding: 0.25rem 0 1rem;
}
.triibu-menu__lista,
.triibu-menu__sublista {
	list-style: none;
	margin: 0;
	padding: 0;
}
.triibu-menu__lista > li + li {
	margin-top: 2px;
}
.triibu-menu__sublista {
	margin: 2px 0 6px 1.55rem;
	padding-left: 0.6rem;
	border-left: 1px solid var(--wp--preset--color--borde);
}
.triibu-menu__rotulo {
	padding: 0 0.75rem;
	margin: 1rem 0 0.35rem;
}

.triibu-menu__enlace,
.triibu-menu__resumen {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	box-sizing: border-box;
	min-height: 38px;
	padding: 0.35rem 0.75rem;
	border-radius: 6px;
	color: var(--wp--preset--color--tinta);
	font-weight: 500;
	line-height: 1.3;
	text-decoration: none;
	cursor: pointer;
}
.triibu-menu__icono {
	flex: 0 0 auto;
	color: var(--wp--preset--color--secundario);
}
.triibu-menu__enlace:hover,
.triibu-menu__resumen:hover {
	background: rgba(255, 255, 255, 0.6);
	color: var(--wp--preset--color--tinta);
}
.triibu-menu__enlace[aria-current="page"] {
	background: var(--wp--preset--color--blanco);
	box-shadow: 0 1px 2px rgba(21, 25, 43, 0.08), inset 3px 0 0 var(--wp--preset--color--azul);
	font-weight: 600;
	color: var(--wp--preset--color--tinta);
}
.triibu-menu__enlace[aria-current="page"] .triibu-menu__icono {
	color: var(--wp--preset--color--azul);
}
.triibu-menu__pronto {
	margin-left: auto;
	font-family: var(--wp--preset--font-family--plex-mono);
	font-size: 10px;
	font-weight: 500;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--wp--preset--color--secundario);
	border: 1px solid var(--wp--preset--color--borde);
	border-radius: 4px;
	padding: 1px 5px;
	line-height: 1.5;
}
.triibu-menu__sublista .triibu-menu__enlace,
.triibu-menu__sublista .triibu-menu__resumen {
	font-size: 0.875rem;
	min-height: 32px;
	font-weight: 400;
	color: var(--wp--preset--color--secundario);
}
.triibu-menu__sublista .triibu-menu__enlace:hover,
.triibu-menu__sublista .triibu-menu__resumen:hover {
	color: var(--wp--preset--color--tinta);
}
.triibu-menu__sublista .triibu-menu__enlace[aria-current="page"] {
	color: var(--wp--preset--color--azul);
	font-weight: 600;
	box-shadow: none;
}
.triibu-menu__resumen {
	list-style: none;
}
.triibu-menu__resumen::-webkit-details-marker {
	display: none;
}
/* Flecha de despliegue, al final */
.triibu-menu__resumen::after {
	content: "";
	flex: 0 0 auto;
	width: 7px;
	height: 7px;
	margin-left: auto;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg) translateY(-2px);
	transition: transform 0.15s ease;
	opacity: 0.6;
}
.triibu-menu__grupo[open] > .triibu-menu__resumen::after {
	transform: rotate(-135deg) translateY(-2px);
}
.triibu-menu__grupo[open] > .triibu-menu__resumen {
	font-weight: 600;
}

/* Base de la barra: solo los enlaces. Desde el 28-10-2026 ya no hay tarjeta «Avísame cuando abra»; la suscripción es
   una opción del menú con la etiqueta «Pronto». */
.triibu-menu__pie {
	padding: 0.5rem 0.25rem 0;
}
/* Opción «Pronto» sin página todavía: se ve, pero no se puede abrir. */
.triibu-menu__enlace--inactivo {
	cursor: default;
	opacity: 0.85;
}
.triibu-menu__enlace--inactivo:hover {
	background: transparent;
}
.triibu-menu__sublista .triibu-menu__enlace--inactivo:hover {
	color: var(--wp--preset--color--secundario);
}
.triibu-menu__enlaces-pie {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 0.25rem 0.75rem;
	margin: 0.75rem 0.5rem 0;
	font-size: 0.8125rem;
}
.triibu-menu__enlaces-pie a {
	color: var(--wp--preset--color--secundario);
	text-decoration: none;
}
.triibu-menu__enlaces-pie a:hover {
	color: var(--wp--preset--color--tinta);
	text-decoration: underline;
}

/* Barra superior (solo escritorio) */
.triibu-barra-superior {
	display: none;
}

/* Escritorio: barra fija a la izquierda y barra superior pegajosa */
@media (min-width: 1024px) {
	/*
	 * La barra es fija (ocupa la altura de la ventana). Para que su fondo ocupe TODA la altura
	 * de la página, aunque se capture entera o la página sea larga, la franja de la barra también
	 * se pinta como fondo de la página (misma anchura, mismo color y mismo borde derecho).
	 */
	body {
		background-image: linear-gradient(
			to right,
			var(--wp--preset--color--alterno) 0,
			var(--wp--preset--color--alterno) calc(var(--triibu-menu-ancho) - 1px),
			var(--wp--preset--color--borde) calc(var(--triibu-menu-ancho) - 1px),
			var(--wp--preset--color--borde) var(--triibu-menu-ancho),
			transparent var(--triibu-menu-ancho)
		);
		background-repeat: no-repeat;
		background-size: 100% 100%;
	}
	.triibu-cabecera {
		display: none;
	}
	.wp-site-blocks {
		display: flex;
		align-items: flex-start;
	}
	.triibu-menu-envoltura {
		position: sticky;
		top: 0;
		align-self: flex-start;
		flex: 0 0 var(--triibu-menu-ancho);
		width: var(--triibu-menu-ancho);
		height: 100vh;
		margin: 0;
		z-index: 120;
	}
	.triibu-menu-envoltura .triibu-menu {
		position: static;
		width: 100%;
		height: 100%;
	}
	.triibu-columna {
		flex: 1 1 0;
		min-width: 0;
		margin-left: 0;
	}
	html {
		scroll-padding-top: 4.5rem;
	}

	.triibu-barra-superior {
		position: sticky;
		top: 0;
		z-index: 80;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 1rem;
		padding: 0.7rem 2rem;
		background: var(--wp--preset--color--papel);
		border-bottom: 1px solid var(--wp--preset--color--borde);
	}
	.triibu-barra-superior__estado {
		display: flex;
		align-items: center;
		gap: 0.55rem;
		margin: 0;
		font-size: 0.875rem;
		color: var(--wp--preset--color--secundario);
		min-width: 0;
	}
	.triibu-barra-superior__estado .triibu-dato {
		font-size: 12px;
		color: var(--wp--preset--color--tinta);
		white-space: nowrap;
	}
	.triibu-barra-superior__punto {
		flex: 0 0 auto;
		width: 8px;
		height: 8px;
		border-radius: 50%;
		background: var(--wp--preset--color--presentado);
	}
	.triibu-barra-superior__derecha {
		display: flex;
		align-items: center;
		gap: 1rem;
		flex: 0 0 auto;
	}
	.triibu-barra-superior__fecha {
		font-size: 12px;
		letter-spacing: 0.04em;
		text-transform: uppercase;
		color: var(--wp--preset--color--secundario);
	}
	.triibu-barra-superior__boton {
		min-height: 38px;
		font-size: 0.9rem;
	}
	/* En escritorio la frase de confianza ya va en la barra superior. */
	.triibu-saludo__confianza {
		display: none;
	}
}

/* Celular y tableta: panel lateral que se abre con la hamburguesa */
@media (max-width: 1023.98px) {
	.triibu-menu {
		width: min(86vw, 320px);
		transform: translateX(-100%);
		visibility: hidden;
		transition: transform 0.2s ease, visibility 0s linear 0.2s;
	}
	.triibu-menu-abierto .triibu-menu {
		transform: none;
		visibility: visible;
		transition: transform 0.2s ease, visibility 0s;
	}
	.triibu-menu__cerrar {
		display: inline-flex;
	}
	.triibu-menu-abierto {
		overflow: hidden;
	}
}

/* Con la sesión iniciada, WordPress pone arriba su barra negra (32 px en
   escritorio, 46 px en celular) y tapaba el logo al bajar por la página.
   Lo que se queda fijo arriba se baja esa altura. Los visitantes no tienen
   esa barra y no les cambia nada. */
.admin-bar .triibu-cabecera,
.admin-bar .triibu-menu {
	top: 32px;
}
@media (min-width: 1024px) {
	.admin-bar .triibu-menu-envoltura,
	.admin-bar .triibu-barra-superior {
		top: 32px;
	}
	.admin-bar .triibu-menu-envoltura {
		height: calc(100vh - 32px);
	}
}
@media (max-width: 782px) {
	.admin-bar .triibu-cabecera,
	.admin-bar .triibu-menu {
		top: 46px;
	}
}
/* En celular pequeño la barra negra se va al bajar: la cabecera vuelve arriba. */
@media (max-width: 600px) {
	.admin-bar .triibu-cabecera {
		top: 0;
	}
}
@media (prefers-reduced-motion: reduce) {
	.triibu-menu,
	.triibu-menu__resumen::after {
		transition: none !important;
	}
}

/* ------------------------------------------------------------------
 * 6 · Contenido
 * ------------------------------------------------------------------ */
.triibu-seccion {
	padding-top: var(--wp--preset--spacing--40);
	padding-bottom: var(--wp--preset--spacing--40);
}
.triibu-hero {
	padding-top: var(--wp--preset--spacing--40);
	padding-bottom: var(--wp--preset--spacing--30);
}
.triibu-hero__subtitulo {
	max-width: 40rem;
	font-size: var(--wp--preset--font-size--media);
	color: var(--wp--preset--color--secundario);
}

/* Tarjeta blanca genérica */
.triibu-tarjeta {
	background: var(--wp--preset--color--blanco);
	border: 1px solid var(--wp--preset--color--borde);
	border-radius: var(--triibu-radio-tarjeta);
	padding: 1.25rem;
}

/* Página de herramienta */
.triibu-respuesta {
	background: var(--wp--preset--color--blanco);
	border: 1px solid var(--wp--preset--color--borde);
	border-radius: var(--triibu-radio-tarjeta);
	padding: 1.25rem 1.35rem;
}
.triibu-respuesta p {
	margin: 0.4rem 0 0;
}
.triibu-herramienta-lugar {
	border: 1.5px dashed var(--wp--preset--color--borde);
	border-radius: var(--triibu-radio-tarjeta);
	padding: 1.5rem;
	color: var(--wp--preset--color--secundario);
}
.triibu-comentario {
	background: var(--wp--preset--color--blanco);
	border: 1px solid var(--wp--preset--color--borde);
	border-radius: var(--triibu-radio-tarjeta);
	padding: 1.25rem 1.5rem;
}
.triibu-comentario__foto img {
	border-radius: 50%;
	display: block;
}
.triibu-suscripcion {
	background: var(--wp--preset--color--alterno);
	border-radius: var(--triibu-radio-tarjeta);
	padding: 1.25rem 1.5rem;
}
.triibu-normas {
	font-size: 0.875rem;
}

/* Preguntas frecuentes (bloque Detalles) */
.wp-block-details {
	border-bottom: 1px solid var(--wp--preset--color--borde);
	padding: 0.25rem 0;
}
.wp-block-details summary {
	cursor: pointer;
	font-weight: 600;
	padding: 0.6rem 0;
}

/* Pie de página */
.triibu-pie {
	margin-top: var(--wp--preset--spacing--50);
	border-top: 1px solid var(--wp--preset--color--borde);
	padding-top: var(--wp--preset--spacing--30);
	padding-bottom: var(--wp--preset--spacing--30);
	font-size: var(--wp--preset--font-size--pequena);
	color: var(--wp--preset--color--secundario);
}
.triibu-pie a {
	color: var(--wp--preset--color--tinta);
}
.triibu-pie p {
	margin: 0;
}

/* Lista de entradas (Actualidad) */
.triibu-entrada {
	background: var(--wp--preset--color--blanco);
	border: 1px solid var(--wp--preset--color--borde);
	border-radius: var(--triibu-radio-tarjeta);
	padding: 1.25rem;
}
.triibu-entrada .wp-block-post-title a {
	color: var(--wp--preset--color--tinta);
	text-decoration: none;
}
.triibu-entrada .wp-block-post-title a:hover {
	color: var(--wp--preset--color--azul);
}

/* ------------------------------------------------------------------
 * 7 · Ajustes de espaciado entre las piezas de la estructura
 * ------------------------------------------------------------------ */
.wp-site-blocks > .triibu-columna,
.wp-site-blocks > .triibu-cabecera,
.wp-site-blocks > .wp-block-template-part {
	margin-block-start: 0;
}
.triibu-columna > .triibu-main,
.triibu-columna > .triibu-pie,
.triibu-columna > footer,
.triibu-columna > .triibu-barra-superior {
	margin-block-start: 0;
}
.triibu-columna > footer {
	margin-top: var(--wp--preset--spacing--50);
}
.triibu-columna > footer .triibu-pie {
	margin-top: 0;
}

/* Separación entre bloques de la plantilla de herramienta */
.triibu-respuesta,
.triibu-herramienta-lugar,
.triibu-comentario,
.triibu-suscripcion {
	margin-block-start: 1.5rem;
}

/* ------------------------------------------------------------------
 * 8 · Marcadores de posición y avisos de página en construcción
 * ------------------------------------------------------------------ */

/* Texto por redactar: se ve claramente que falta (lo reemplaza la etapa de contenido, con revisión de Erika). */
.triibu-por-redactar {
	background: #fbf1d9;
	border: 1.5px dashed var(--wp--preset--color--proximo);
	border-radius: var(--triibu-radio);
	color: var(--wp--preset--color--proximo-texto);
	padding: 0.75rem 1rem;
}

/* Páginas legales: solo la estructura; el texto lo redacta y revisa otra persona. */
.triibu-en-preparacion {
	background: var(--wp--preset--color--blanco);
	border: 1px solid var(--wp--preset--color--borde);
	border-left: 4px solid var(--wp--preset--color--proximo);
	border-radius: var(--triibu-radio);
	padding: 1rem 1.25rem;
	margin-block-end: 1.5rem;
}
.triibu-en-preparacion p {
	margin: 0.25rem 0 0;
}

/* Título de página al ancho del texto (720 px), aunque el contenedor sea más ancho para las herramientas. */
.triibu-ancho-texto {
	max-width: 720px;
	margin-left: auto;
	margin-right: auto;
}

/* En las páginas, los rótulos de sección («La herramienta») llevan aire arriba y abajo. */
.wp-block-post-content > p.triibu-rotulo {
	margin-top: 2.25rem;
	margin-bottom: 0.5rem;
}

/* ------------------------------------------------------------------
 * 9 · Fase 2: pie y página «Quién está detrás»
 * ------------------------------------------------------------------ */
.triibu-pie__aviso {
	margin: 0 !important;
	max-width: 46rem;
}
.triibu-pie__enlaces {
	margin-left: 0 !important;
}
.triibu-pie__enlaces {
	margin: 0.6rem 0 0;
}

/* Página «Quién está detrás»: foto con el nombre visible al lado */
.triibu-presentacion__nombre {
	margin: 0 0 0.25rem;
	font-family: var(--wp--preset--font-family--epilogue);
	font-weight: 600;
	font-size: var(--wp--preset--font-size--grande);
	line-height: 1.15;
}
.triibu-presentacion__cargo {
	margin: 0;
	color: var(--wp--preset--color--secundario);
}

/* ------------------------------------------------------------------
 * 10 · Textos de las páginas: tablas, ejemplos, normas y fuentes
 * ------------------------------------------------------------------ */
/* Si la cifra de 2027 ya está publicada, el párrafo de «mientras se publica» queda vacío y no se ve. */
.wp-block-post-content p:empty {
	display: none;
}
.wp-block-table {
	overflow-x: auto;
	margin-block: 1rem;
}
.wp-block-table table {
	width: 100%;
	border-collapse: collapse;
	background: var(--wp--preset--color--blanco);
	border: 1px solid var(--wp--preset--color--borde);
	font-size: var(--wp--preset--font-size--pequena);
}
.wp-block-table th,
.wp-block-table td {
	padding: 0.6rem 0.75rem;
	text-align: left;
	vertical-align: top;
	border: 1px solid var(--wp--preset--color--borde);
}
.wp-block-table thead th {
	background: var(--wp--preset--color--alterno);
	font-family: var(--wp--preset--font-family--plex-mono);
	font-size: 0.6875rem;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--wp--preset--color--secundario);
}
@media (max-width: 639.98px) {
	.wp-block-table table {
		min-width: 36rem;
	}
}
.wp-block-table td .triibu-dato,
.wp-block-table td strong {
	font-family: var(--wp--preset--font-family--plex-mono);
}
.triibu-ejemplo {
	background: var(--wp--preset--color--blanco);
	border: 1px solid var(--wp--preset--color--borde);
	border-radius: var(--triibu-radio-tarjeta);
	padding: 1rem 1.25rem;
	margin-block-start: 1rem;
}
.triibu-ejemplo > h3 {
	margin-top: 0;
}
.triibu-ejemplo p {
	margin-bottom: 0;
}
.triibu-ver-tambien {
	margin-top: 0.75rem;
}
.triibu-fuentes {
	font-size: var(--wp--preset--font-size--pequena);
}
.triibu-fuentes a {
	overflow-wrap: anywhere;
}
.triibu-normas li {
	margin-bottom: 0.4rem;
}
/* Marcador de fecha de revisión (lo completa quien revisa la página). */
.triibu-por-redactar-en-linea {
	background: #fbf1d9;
	border-bottom: 1.5px dashed var(--wp--preset--color--proximo);
	color: var(--wp--preset--color--proximo-texto);
	padding: 0 0.25rem;
}
/* Los estados dentro de los textos se alinean con la línea. */
.wp-block-post-content .triibu-estado {
	vertical-align: baseline;
	margin-left: 0.15rem;
}

/* Página «Herramientas» (antes «Calculadoras»): tarjetas de las herramientas y lista «Próximamente» */
.triibu-lista-tarjetas {
	list-style: none;
	margin: 1.25rem 0;
	padding: 0;
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
}
@media (min-width: 640px) {
	.triibu-lista-tarjetas {
		grid-template-columns: 1fr 1fr;
	}
}
.triibu-lista-tarjetas li {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	margin: 0;
	background: var(--wp--preset--color--blanco);
	border: 1px solid var(--wp--preset--color--borde);
	border-radius: var(--triibu-radio-tarjeta);
	padding: 1.25rem;
}
.triibu-lista-tarjetas li:hover,
.triibu-lista-tarjetas li:focus-within {
	border-color: var(--wp--preset--color--azul);
}
.triibu-lista-tarjetas li a {
	color: var(--wp--preset--color--azul);
	text-decoration: none;
}
.triibu-lista-tarjetas li a::after {
	content: "";
	position: absolute;
	inset: 0;
}
.triibu-lista-tarjetas li span {
	color: var(--wp--preset--color--secundario);
	line-height: 1.5;
}
.triibu-lista-proximamente {
	margin: 0.75rem 0 1.5rem;
	padding-left: 1.25rem;
	color: var(--wp--preset--color--secundario);
}

/* ------------------------------------------------------------------
 * 11 · Portada «panel de trabajo» (dirección D, 14-10-2026)
 * La portada es el escritorio del contador: saludo, acciones rápidas y una rejilla de
 * tarjetas blancas con borde fino. Las tarjetas del plugin (cifras, semana, lista de espera)
 * se ajustan aquí para que todas compartan radio, borde y padding. Desde el 22-10-2026 las reglas de
 * cifra, semana, lista de espera y conversor valen en todo .triibu-main (también en las páginas interiores). El ámbar solo marca lo
 * que vence (regla del resaltador): ya no hay franjas de color decorativas.
 * ------------------------------------------------------------------ */
/* Portada: una columna centrada de 1.100 px, igual que las páginas interiores (la fija la plantilla front-page.html con
   layout «constrained»). Los bloques de lectura (suscripción, quién está detrás, preguntas) llevan .triibu-ancho-texto
   (720 px, centrados dentro de la columna). Entre bloques va más aire que el de las páginas interiores. */
.triibu-portada {
	box-sizing: border-box;
	padding-bottom: 1rem;
}
.triibu-portada.is-layout-constrained > * {
	margin-block-start: 0;
}
.triibu-portada.is-layout-constrained > * + * {
	margin-block-start: 3rem;
}

/* Saludo */
.triibu-saludo > * {
	margin-block-start: 0;
}
.triibu-saludo h1 {
	font-size: clamp(1.75rem, 1.2rem + 1.6vw, 2.25rem);
	letter-spacing: -0.03em;
	line-height: 1.12;
	max-width: 28ch;
	text-wrap: balance;
}
.triibu-saludo__subtitulo {
	margin-top: 0.5rem;
	max-width: 52rem;
	color: var(--wp--preset--color--secundario);
}
.triibu-saludo__confianza {
	margin-top: 1rem;
	max-width: 40rem;
}

/* Acciones rápidas: píldoras */
.triibu-acciones {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
	margin-top: 1.25rem;
}
.triibu-pildora {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	box-sizing: border-box;
	min-height: 38px;
	padding: 0 0.95rem;
	border-radius: 999px;
	background: var(--wp--preset--color--blanco);
	border: 1px solid var(--wp--preset--color--borde);
	color: var(--wp--preset--color--tinta);
	text-decoration: none;
	font-weight: 500;
	font-size: 0.9rem;
	transition: border-color 0.15s ease, background-color 0.15s ease;
}
.triibu-pildora svg {
	color: var(--wp--preset--color--azul);
	flex: 0 0 auto;
}
.triibu-pildora:hover {
	border-color: var(--wp--preset--color--azul);
	color: var(--wp--preset--color--tinta);
}
.triibu-pildora--primaria {
	background: var(--wp--preset--color--azul);
	border-color: var(--wp--preset--color--azul);
	color: var(--wp--preset--color--blanco);
}
.triibu-pildora--primaria svg {
	color: var(--wp--preset--color--blanco);
}
.triibu-pildora--primaria:hover {
	background: var(--wp--preset--color--azul-hover);
	border-color: var(--wp--preset--color--azul-hover);
	color: var(--wp--preset--color--blanco);
}

/* Tarjeta base del panel: la comparten los bloques del plugin (en la portada y en las páginas
 * interiores) y los grupos de la portada. */
.triibu-main .triibu-cifra,
.triibu-main .triibu-semana,
.triibu-main .triibu-espera,
.triibu-main .triibu-comentarios,
.triibu-main .triibu-conversor,
.triibu-portada .triibu-quien-soy {
	box-sizing: border-box;
	background: var(--wp--preset--color--blanco);
	border: 1px solid var(--wp--preset--color--borde);
	border-radius: var(--triibu-radio-tarjeta);
	padding: 1.25rem 1.35rem;
}

/* Tarjetas de cifra: sin franja ámbar arriba (la etiqueta «2027: por publicar» ya lo dice). */
.triibu-main .triibu-cifra--pendiente {
	border-top: 1px solid var(--wp--preset--color--borde);
}
.triibu-main .triibu-cifra--vencida {
	border-top: 1px solid var(--wp--preset--color--vencido);
}
.triibu-main .triibu-cifra:has(.triibu-cifra__enlace):hover {
	border-color: var(--wp--preset--color--azul);
}
.triibu-main .triibu-cifra__valor {
	font-size: clamp(1.75rem, 1.3rem + 1vw, 2.1rem);
	letter-spacing: -0.02em;
}
.triibu-main .triibu-cifra__valor--texto {
	font-size: 1.05rem;
	font-weight: 500;
	line-height: 1.45;
}
.triibu-main .triibu-cifra__vigencia {
	margin-top: 0.5rem;
	padding-top: 0.6rem;
	border-top: 1px solid var(--wp--preset--color--borde);
	font-size: 12px;
}
.triibu-main .triibu-cifra__pendiente {
	font-size: 12px;
	color: var(--wp--preset--color--secundario);
}
/* Qué cálculo vive dentro de la página de la cifra (solo en /cifras/): texto pequeño con una línea fina encima, como la de la vigencia. */
.triibu-main .triibu-cifra__dentro {
	margin: 0.6rem 0 0;
	padding-top: 0.6rem;
	border-top: 1px solid var(--wp--preset--color--borde);
	font-size: 0.875rem;
	line-height: 1.5;
	color: var(--wp--preset--color--secundario);
}
/* El enlace «Ver …» cierra la tarjeta abajo (el plugin ya le da margin-top:auto). */
.triibu-main .triibu-cifra__enlace {
	padding-top: 0.75rem;
}
.triibu-main .triibu-cifra__enlace a {
	text-decoration: none;
}
.triibu-main .triibu-cifra__enlace a:hover {
	text-decoration: underline;
}

/* «Vence esta semana»: tarjeta con filas por día; hoy en ámbar, lo pasado en gris. */
.triibu-main .triibu-semana--proximo,
.triibu-main .triibu-semana--al-dia {
	border-left: 1px solid var(--wp--preset--color--borde);
}
.triibu-main .triibu-semana__icono {
	display: none;
}
.triibu-main .triibu-semana__titulo {
	font-size: 1.1rem;
}
.triibu-main .triibu-semana__texto {
	font-size: 0.875rem;
	margin: 0.3rem 0 0.75rem;
}
.triibu-main .triibu-semana__dia {
	display: grid;
	grid-template-columns: 170px minmax(0, 1fr);
	gap: 1rem;
	padding: 0.7rem 0;
	border-top: 1px solid var(--wp--preset--color--borde);
	font-size: 0.9rem;
}
.triibu-main .triibu-semana__dia + .triibu-semana__dia {
	margin-top: 0;
}
.triibu-main .triibu-semana__fecha {
	margin: 0;
	font-family: var(--wp--preset--font-family--plex-sans);
	font-weight: 600;
	line-height: 1.35;
}
.triibu-main .triibu-semana__fecha-numerica {
	display: block;
	font-family: var(--wp--preset--font-family--plex-mono);
	font-size: 11px;
}
.triibu-main .triibu-semana__fecha .triibu-estado {
	display: inline-block;
	margin-top: 0.35rem;
}
.triibu-main .triibu-semana__entradas li {
	padding: 0.1rem 0;
	line-height: 1.45;
}
.triibu-main .triibu-semana__periodo,
.triibu-main .triibu-semana__digitos {
	font-size: 0.875rem;
}
.triibu-main .triibu-semana__dia--pasado {
	color: var(--wp--preset--color--secundario);
}
.triibu-main .triibu-semana__dia--pasado strong {
	font-weight: 500;
}
.triibu-main .triibu-semana__dia--hoy {
	background: #fbf1d9;
	margin-left: -1.35rem;
	margin-right: -1.35rem;
	padding-left: 1.35rem;
	padding-right: 1.35rem;
	box-shadow: inset 3px 0 0 var(--wp--preset--color--proximo);
	border-top-color: transparent;
}
.triibu-main .triibu-semana__dia--hoy + .triibu-semana__dia {
	border-top-color: transparent;
}
.triibu-main .triibu-semana__enlace {
	margin-top: 0.75rem;
	padding-top: 0.75rem;
	border-top: 1px solid var(--wp--preset--color--borde);
	font-size: 0.9rem;
}
.triibu-main .triibu-semana__enlace a {
	text-decoration: none;
}
.triibu-main .triibu-semana__enlace a::after {
	content: " \2192";
}
@media (max-width: 639.98px) {
	.triibu-main .triibu-semana__dia {
		grid-template-columns: 1fr;
		gap: 0.25rem;
	}
}

/* Lista de espera (portada e invitación): misma tarjeta que el resto, sin filete azul. */
.triibu-main .triibu-espera--portada {
	border-left: 1px solid var(--wp--preset--color--borde);
}
.triibu-main .triibu-espera__titulo {
	font-size: 1.1rem;
}
.triibu-main .triibu-espera__texto {
	font-size: 0.9375rem;
}

/* Quién soy: foto redonda al lado del texto */
.triibu-portada .triibu-quien-soy {
	display: grid;
	grid-template-columns: 96px minmax(0, 1fr);
	gap: 1.25rem;
	align-items: start;
}
.triibu-portada .triibu-quien-soy > * {
	margin-block-start: 0;
}
.triibu-portada .triibu-quien-soy__foto {
	margin: 0;
}
.triibu-portada .triibu-quien-soy__foto img {
	display: block;
	width: 96px;
	height: 96px;
	object-fit: cover;
	object-position: center top;
	border-radius: 50%;
	border: 1px solid var(--wp--preset--color--borde);
}
.triibu-portada .triibu-quien-soy__texto > * + * {
	margin-block-start: 0.5rem;
}
.triibu-portada .triibu-quien-soy h2 {
	font-size: 1.1rem;
}
.triibu-portada .triibu-quien-soy p {
	font-size: 0.9375rem;
}
@media (max-width: 479.98px) {
	.triibu-portada .triibu-quien-soy {
		grid-template-columns: 1fr;
	}
}

/* Preguntas frecuentes de la portada (contenido de la página «Inicio»): columna de lectura de 720 px, sin tarjeta. */
.triibu-portada .triibu-portada-contenido > * {
	margin-block-start: 0;
}
.triibu-portada .triibu-portada-contenido > h2 {
	font-size: 1.25rem;
	letter-spacing: -0.015em;
	margin-bottom: 0.5rem;
}
.triibu-portada .triibu-portada-contenido .wp-block-details {
	border-bottom: 0;
	border-top: 1px solid var(--wp--preset--color--borde);
	padding: 0.15rem 0;
}
.wp-block-post-content .wp-block-details:last-of-type {
	border-bottom: 1px solid var(--wp--preset--color--borde);
}
.wp-block-post-content .wp-block-details + .triibu-espera {
	margin-top: 2rem;
}
.triibu-portada .triibu-portada-contenido .wp-block-details:last-child {
	border-bottom: 1px solid var(--wp--preset--color--borde);
}
.triibu-portada .triibu-portada-contenido .wp-block-details summary {
	font-size: 0.9375rem;
	padding: 0.55rem 0;
}
.triibu-portada .triibu-portada-contenido .wp-block-details p {
	font-size: 0.9375rem;
	margin: 0 0 0.75rem;
}

/* ------------------------------------------------------------------
 * 12 · Páginas interiores con el lenguaje del panel (22-10-2026)
 * Las herramientas del plugin usan la misma tarjeta que la portada: radio de 10 px y borde fino.
 * Los campos y botones conservan el radio de 4 px. El color solo informa (regla del resaltador):
 * el rojo de lo vencido y el ámbar de lo que vence se quedan, pero como línea fina, no como franja.
 * ------------------------------------------------------------------ */
.triibu-main .triibu-conversor--vencida {
	border-top: 1px solid var(--wp--preset--color--vencido);
}
/* La operación del conversor ya se distingue por el fondo papel: sin franja azul. */
.triibu-main .triibu-conversor__operacion {
	border-left: 0;
	border-radius: var(--triibu-radio);
}
.triibu-main :is(
	.triibu-calendario__filtros,
	.triibu-calendario__vacio,
	.triibu-cuenta__form fieldset,
	.triibu-cuenta__memoria,
	.triibu-carta,
	.triibu-tope,
	.triibu-retencion__vacio,
	.triibu-tabla tr
) {
	border-radius: var(--triibu-radio-tarjeta);
}
/* Aviso del sismo: anuncia plazos que cambian, así que conserva el ámbar como en la fila de hoy. */
.triibu-main .triibu-aviso-sismo {
	border-left: 1px solid var(--wp--preset--color--borde);
	border-radius: var(--triibu-radio-tarjeta);
	box-shadow: inset 3px 0 0 var(--wp--preset--color--proximo);
	padding: 1.25rem 1.35rem;
}
/* Nota de privacidad de la cuenta de cobro: no es algo «cumplido», así que no lleva verde. */
.triibu-main .triibu-cuenta__privacidad {
	border: 1px solid var(--wp--preset--color--borde);
	border-radius: var(--triibu-radio-tarjeta);
	padding: 0.75rem 1.1rem;
}
/* «Quién está detrás»: la foto pasa a ser una firma discreta (foto redonda pequeña con nombre
   y cargo al lado) encima del texto, en escritorio y en celular. La portada no cambia. */
.triibu-main:not(.triibu-portada) .wp-block-columns:has(.triibu-quien-soy__foto) {
	flex-direction: column;
	gap: 1.25rem;
}
.triibu-main:not(.triibu-portada) .wp-block-columns:has(.triibu-quien-soy__foto) > .wp-block-column {
	flex-basis: auto !important;
	width: 100%;
}
.triibu-main:not(.triibu-portada) .wp-block-column:has(> .triibu-quien-soy__foto) {
	display: grid;
	grid-template-columns: 56px minmax(0, 1fr);
	column-gap: 0.85rem;
	align-items: center;
}
.triibu-main:not(.triibu-portada) .wp-block-column:has(> .triibu-quien-soy__foto) > * {
	margin: 0;
}
.triibu-main:not(.triibu-portada) .triibu-quien-soy__foto {
	grid-row: 1 / span 2;
}
.triibu-main:not(.triibu-portada) .triibu-quien-soy__foto img {
	display: block;
	width: 56px;
	height: 56px;
	object-fit: cover;
	object-position: 50% 20%;
	border-radius: 50%;
	border: 1px solid var(--wp--preset--color--borde);
}
.triibu-main:not(.triibu-portada) .wp-block-column:has(> .triibu-quien-soy__foto) .triibu-presentacion__nombre {
	align-self: end;
	font-size: 1.05rem;
}
.triibu-main:not(.triibu-portada) .wp-block-column:has(> .triibu-quien-soy__foto) .triibu-presentacion__cargo {
	align-self: start;
	font-size: 0.875rem;
}
/* Filas de la tabla en celular (tarjetas): el estado se marca con una línea interior de 3 px,
   igual que la fila de hoy en «Vence esta semana», en vez de la franja de 4 px. */
@media (max-width: 720px) {
	.triibu-main :is(.triibu-fila--vencido, .triibu-fila--proximo, .triibu-fila--presentado) {
		border-left: 1px solid var(--wp--preset--color--borde);
	}
	.triibu-main .triibu-fila--vencido {
		box-shadow: inset 3px 0 0 var(--wp--preset--color--vencido);
	}
	.triibu-main .triibu-fila--proximo {
		box-shadow: inset 3px 0 0 var(--wp--preset--color--proximo);
	}
	.triibu-main .triibu-fila--presentado {
		box-shadow: inset 3px 0 0 var(--wp--preset--color--presentado);
	}
}
/* Calendario: la rejilla de resultados no crece con su contenido (en celular desbordaba 14 px). */
.triibu-main .triibu-calendario__bloque {
	grid-template-columns: minmax(0, 1fr);
}

/* ------------------------------------------------------------------
 * 13 · Portada por secciones (22-10-2026)
 * Hero con ilustración animada, cifras vigentes, accesos a retención y renta, quién está detrás,
 * aviso de la suscripción, calendario del mes y preguntas frecuentes. Los bloques de datos son
 * del plugin (includes/portada.php); aquí solo va su aspecto.
 * ------------------------------------------------------------------ */
.triibu-portada-titulo {
	margin: 0 0 0.9rem;
	font-size: 1.25rem;
	letter-spacing: -0.015em;
}

/* Hero: texto a la izquierda, imagen a la derecha. La imagen (assets/img/hero-provisional.png) es PROVISIONAL: la definitiva se
   regenera con la paleta final. Ya no hay animación (se quitó lottie el 28-10-2026). */
.triibu-hero-portada {
	display: grid;
	grid-template-columns: minmax(0, 1fr) clamp(260px, 38%, 420px);
	gap: 2rem;
	align-items: center;
}
.triibu-hero-portada__texto > * {
	margin: 0;
}
.triibu-hero-portada h1 {
	font-size: clamp(1.9rem, 1.1rem + 2.2vw, 2.85rem);
	letter-spacing: -0.03em;
	line-height: 1.08;
	max-width: 23ch;
	text-wrap: balance;
}
.triibu-hero-portada__descripcion {
	margin-top: 1rem !important;
	max-width: 36rem;
	font-size: 1.125rem;
	line-height: 1.55;
	color: var(--wp--preset--color--secundario);
}
.triibu-hero-portada__imagen {
	width: 100%;
}
.triibu-hero-portada__imagen img {
	display: block;
	width: 100%;
	height: auto;
}
@media (max-width: 719.98px) {
	.triibu-hero-portada {
		grid-template-columns: 1fr;
		gap: 0.5rem;
	}
	.triibu-hero-portada__imagen {
		justify-self: center;
		width: min(260px, 70vw);
	}
}

/* Cifras del año: seis tarjetas de formato idéntico, en dos filas de tres. Las columnas dependen del ancho del bloque
   (no de la ventana), así que con el menú lateral abierto se reparten bien. */
.triibu-vigentes,
.triibu-herramientas-portada {
	container-type: inline-size;
}
.triibu-vigentes__lista {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 1rem;
}
@container (min-width: 440px) {
	.triibu-vigentes__lista {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@container (min-width: 700px) {
	.triibu-vigentes__lista {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}
.triibu-vigente {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: 0.3rem;
	margin: 0;
	padding: 1.1rem 1.15rem;
	background: var(--wp--preset--color--blanco);
	border: 1px solid var(--wp--preset--color--borde);
	border-radius: var(--triibu-radio-tarjeta);
	min-width: 0;
}
.triibu-vigente p {
	margin: 0;
}
.triibu-vigente__nombre {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.3;
}
.triibu-portada-icono {
	flex: 0 0 auto;
	color: var(--wp--preset--color--azul);
}
/* Mes de vigencia en grande (interés moratorio; Erika, 30-10-2026) */
.triibu-vigente__mes {
	margin-top: 0.5rem !important;
	font-size: clamp(1.05rem, 0.9rem + 0.4vw, 1.2rem);
	font-weight: 600;
	letter-spacing: -0.01em;
	line-height: 1.2;
}
.triibu-vigente__mes + .triibu-vigente__valor {
	margin-top: 0.15rem !important;
}
.triibu-vigente__valor {
	margin-top: 0.4rem !important;
	font-size: clamp(1.3rem, 0.95rem + 0.75vw, 1.6rem);
	font-weight: 600;
	letter-spacing: -0.02em;
	line-height: 1.15;
	white-space: nowrap;
}
.triibu-vigente__norma {
	font-size: 0.8125rem;
	line-height: 1.45;
}
.triibu-vigente__norma a {
	color: var(--wp--preset--color--azul);
}
.triibu-vigente__periodo {
	margin-top: auto !important;
	padding-top: 0.6rem;
	border-top: 1px solid var(--wp--preset--color--borde);
	font-size: 12px;
	color: var(--wp--preset--color--secundario);
}
.triibu-vigente__accion {
	margin-top: 0.6rem !important;
}
.triibu-vigente__accion .triibu-boton {
	min-height: 38px;
	padding: 0 1.1rem;
	font-size: 0.9rem;
}
.triibu-vigente__aviso,
.triibu-vigente__nota {
	font-size: 0.8125rem;
	color: var(--wp--preset--color--vencido);
}
.triibu-vigente--vencida {
	border-top-color: var(--wp--preset--color--vencido);
}

/* Herramientas de la portada: tres tarjetas, tres por fila cuando el bloque mide 700 px o más. */
.triibu-accesos {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 1rem;
}
@container (min-width: 700px) {
	.triibu-accesos {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}
.triibu-acceso {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
	padding: 1.25rem 1.35rem;
	background: var(--wp--preset--color--blanco);
	border: 1px solid var(--wp--preset--color--borde);
	border-radius: var(--triibu-radio-tarjeta);
	min-width: 0;
}
.triibu-acceso > * {
	margin: 0;
}
.triibu-acceso__icono {
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	border-radius: 8px;
	background: #eef0fc;
}
.triibu-acceso__titulo {
	font-size: 1.15rem;
	margin-top: 0.2rem;
}
.triibu-acceso__texto {
	font-size: 0.9375rem;
	color: var(--wp--preset--color--secundario);
}
.triibu-acceso__datos {
	list-style: none;
	padding: 0.7rem 0.9rem;
	background: var(--wp--preset--color--papel);
	border-radius: var(--triibu-radio);
	font-size: 0.875rem;
	line-height: 1.45;
}
.triibu-acceso__datos li + li {
	margin-top: 0.3rem;
}
.triibu-acceso__norma {
	font-size: 12px;
	color: var(--wp--preset--color--secundario);
}
.triibu-acceso__accion {
	margin-top: auto;
	padding-top: 0.35rem;
}

/* «Ver todo» (29-10-2026): enlace discreto, alineado a la derecha, bajo las seis cifras y las tres herramientas de la portada y al
   final del bloque «También te sirve» de cada página. */
.triibu-ver-todo {
	margin: 0.75rem 0 0;
	text-align: right;
	font-size: 0.875rem;
	line-height: 1.4;
}
.triibu-ver-todo a {
	color: var(--wp--preset--color--azul);
	font-weight: 500;
	text-decoration: none;
}
.triibu-ver-todo a:hover {
	color: var(--wp--preset--color--azul-hover);
	text-decoration: underline;
	text-underline-offset: 0.25em;
}

/* «También te sirve» (29-10-2026): caja corta de ancho de lectura entre la caja de comentarios y «Qué dice la norma». Rótulo pequeño
   en mayúsculas con la fuente de cifras, lista sin viñetas, enlaces azules y la frase de por qué en gris. */
.triibu-relacionadas {
	box-sizing: border-box;
	margin-block-start: 1.5rem;
	padding: 1rem 1.35rem 0.9rem;
	background: var(--wp--preset--color--blanco);
	border: 1px solid var(--wp--preset--color--borde);
	border-radius: var(--triibu-radio-tarjeta);
}
.triibu-relacionadas > * {
	margin-block: 0;
}
.triibu-relacionadas .triibu-rotulo {
	margin-bottom: 0.5rem;
}
.triibu-relacionadas__lista {
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: 0.9375rem;
	line-height: 1.45;
	color: var(--wp--preset--color--secundario);
}
.triibu-relacionadas__lista li {
	margin: 0;
	padding: 0.4rem 0;
	border-top: 1px solid var(--wp--preset--color--borde);
}
.triibu-relacionadas__lista li:first-child {
	border-top: 0;
	padding-top: 0.1rem;
}
.triibu-relacionadas__lista a {
	color: var(--wp--preset--color--azul);
	font-weight: 500;
	text-decoration: none;
}
.triibu-relacionadas__lista a:hover {
	color: var(--wp--preset--color--azul-hover);
	text-decoration: underline;
	text-underline-offset: 0.25em;
}
.triibu-relacionadas .triibu-ver-todo {
	margin-top: 0.4rem;
}

/* Quién está detrás: foto pequeña y texto breve */
.triibu-detras {
	box-sizing: border-box;
	display: grid;
	grid-template-columns: 64px minmax(0, 1fr);
	gap: 1rem;
	align-items: start;
	padding: 1.25rem 1.35rem;
	background: var(--wp--preset--color--blanco);
	border: 1px solid var(--wp--preset--color--borde);
	border-radius: var(--triibu-radio-tarjeta);
}
.triibu-detras__foto {
	display: block;
	width: 64px;
	height: 64px;
	object-fit: cover;
	object-position: 50% 20%;
	border-radius: 50%;
	border: 1px solid var(--wp--preset--color--borde);
}
.triibu-detras__texto > * {
	margin: 0;
}
.triibu-detras__texto > * + * {
	margin-top: 0.5rem;
}
.triibu-detras__titulo {
	font-size: 1.25rem;
	letter-spacing: -0.015em;
}
.triibu-detras__texto p {
	font-size: 0.9375rem;
	line-height: 1.55;
}
.triibu-detras__enlace a {
	text-decoration: none;
	font-weight: 600;
}
.triibu-detras__enlace a::after {
	content: " \2192";
}
.triibu-detras__enlace a:hover {
	text-decoration: underline;
}

/* Calendario del mes */
.triibu-mes {
	box-sizing: border-box;
	padding: 1.25rem 1.35rem;
	background: var(--wp--preset--color--blanco);
	border: 1px solid var(--wp--preset--color--borde);
	border-radius: var(--triibu-radio-tarjeta);
}
.triibu-mes p {
	margin: 0;
}
.triibu-mes__cabecera {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1rem;
}
.triibu-mes__cabecera .triibu-portada-titulo {
	margin-bottom: 0.25rem;
}
.triibu-mes__texto {
	font-size: 0.875rem;
	color: var(--wp--preset--color--secundario);
	max-width: 44rem;
}
.triibu-mes__nav {
	display: flex;
	gap: 0.4rem;
	flex: 0 0 auto;
}
.triibu-mes__flecha {
	width: 38px;
	height: 38px;
	border: 1px solid var(--wp--preset--color--borde);
	border-radius: 8px;
	background: var(--wp--preset--color--blanco);
	color: var(--wp--preset--color--tinta);
	font: inherit;
	font-size: 1.35rem;
	line-height: 1;
	cursor: pointer;
}
.triibu-mes__flecha:hover:not(:disabled) {
	border-color: var(--wp--preset--color--azul);
}
.triibu-mes__flecha:disabled {
	opacity: 0.35;
	cursor: default;
}
.triibu-mes__nombre {
	margin: 1rem 0 0.6rem !important;
	font-weight: 600;
}
.triibu-mes__resumen {
	font-weight: 400;
	font-size: 0.875rem;
	color: var(--wp--preset--color--secundario);
}
.triibu-mes__semana,
.triibu-mes__dias {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	gap: 4px;
}
.triibu-mes__semana li {
	padding: 0.2rem 0 0.35rem;
	text-align: center;
	font-family: var(--wp--preset--font-family--plex-mono);
	font-size: 11px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--secundario);
}
.triibu-mes__dias li {
	position: relative;
	box-sizing: border-box;
	min-height: 64px;
	margin: 0;
	padding: 0.4rem 0.5rem;
	border-radius: 8px;
	background: var(--wp--preset--color--papel);
	font-family: var(--wp--preset--font-family--plex-mono);
	font-variant-numeric: tabular-nums;
	font-size: 0.875rem;
}
.triibu-mes__dias .triibu-mes__vacio {
	background: transparent;
}
.triibu-mes__dia--finde,
.triibu-mes__dia--pasado {
	color: var(--wp--preset--color--secundario);
}
.triibu-mes__num {
	display: inline-grid;
	place-items: center;
	min-width: 26px;
	height: 26px;
	border-radius: 50%;
}
/* Día con vencimientos: fondo ámbar claro y una marca ámbar (lo que vence). Los ya pasados, en gris. */
.triibu-mes__dias .triibu-mes__dia--vence {
	padding: 0;
	background: #fbf1d9;
}
.triibu-mes__dias .triibu-mes__dia--vence.triibu-mes__dia--pasado {
	background: var(--wp--preset--color--alterno);
}
.triibu-mes__boton {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: flex-start;
	width: 100%;
	height: 100%;
	min-height: 64px;
	padding: 0.4rem 0.5rem;
	border: 0;
	border-radius: 8px;
	background: transparent;
	color: inherit;
	font: inherit;
	text-align: left;
	cursor: pointer;
}
.triibu-mes__boton:hover,
.triibu-mes__boton[aria-expanded="true"] {
	box-shadow: inset 0 0 0 1.5px var(--wp--preset--color--azul);
}
.triibu-mes__marca {
	display: block;
	width: 22px;
	height: 4px;
	border-radius: 2px;
	background: var(--wp--preset--color--proximo);
}
.triibu-mes__dia--pasado .triibu-mes__marca {
	background: var(--wp--preset--color--secundario);
	opacity: 0.45;
}
/* Hoy: número en un círculo rojo (pedido del 22-10-2026). */
.triibu-mes__dia--hoy .triibu-mes__num {
	background: var(--wp--preset--color--vencido);
	color: var(--wp--preset--color--blanco);
	font-weight: 600;
}
.triibu-mes__pie {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem 1.5rem;
	margin-top: 1rem;
	padding-top: 0.85rem;
	border-top: 1px solid var(--wp--preset--color--borde);
	font-size: 0.875rem;
}
.triibu-mes__leyenda {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1.25rem;
	color: var(--wp--preset--color--secundario);
}
.triibu-mes__ley {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
}
.triibu-mes__ley::before {
	content: "";
	display: inline-block;
}
.triibu-mes__ley--hoy::before {
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: var(--wp--preset--color--vencido);
}
.triibu-mes__ley--vence::before {
	width: 18px;
	height: 4px;
	border-radius: 2px;
	background: var(--wp--preset--color--proximo);
}
.triibu-mes__enlace a {
	text-decoration: none;
	font-weight: 600;
}
.triibu-mes__enlace a::after {
	content: " \2192";
}
.triibu-mes__enlace a:hover {
	text-decoration: underline;
}
/* Ventana flotante del día (popover nativo). Sin JavaScript sale centrada; con JavaScript, junto al día. */
.triibu-mes__ventana {
	box-sizing: border-box;
	width: min(340px, calc(100vw - 16px));
	max-height: min(70vh, 440px);
	overflow: auto;
	margin: auto;
	padding: 0.9rem 1rem 1rem;
	background: var(--wp--preset--color--blanco);
	color: var(--wp--preset--color--tinta);
	border: 1px solid var(--wp--preset--color--borde);
	border-radius: var(--triibu-radio-tarjeta);
	box-shadow: 0 14px 36px rgba(21, 25, 43, 0.16);
	font-size: 0.875rem;
	line-height: 1.45;
}
.triibu-mes__ventana::backdrop {
	background: transparent;
}
.triibu-mes__ventana--anclada {
	inset: auto;
	margin: 0;
}
.triibu-mes__ventana-cabecera {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 0.75rem;
}
.triibu-mes__ventana-titulo {
	font-weight: 600;
	font-size: 0.9375rem;
}
.triibu-mes__ventana-titulo .triibu-estado {
	margin-left: 0.3rem;
	vertical-align: 1px;
}
.triibu-mes__cerrar {
	flex: 0 0 auto;
	width: 28px;
	height: 28px;
	margin: -0.25rem -0.35rem 0 0;
	border: 0;
	border-radius: 6px;
	background: transparent;
	color: var(--wp--preset--color--secundario);
	font-size: 1.25rem;
	line-height: 1;
	cursor: pointer;
}
.triibu-mes__cerrar:hover {
	background: var(--wp--preset--color--alterno);
	color: var(--wp--preset--color--tinta);
}
.triibu-mes__grupo {
	margin-top: 0.65rem;
	padding-top: 0.6rem;
	border-top: 1px solid var(--wp--preset--color--borde);
}
.triibu-mes__digito {
	margin: 0 0 0.3rem !important;
	font-size: 11px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--wp--preset--color--secundario);
}
.triibu-mes__grupo ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.triibu-mes__grupo li + li {
	margin-top: 0.35rem;
}
.triibu-mes__form {
	font-size: 12px;
	white-space: nowrap;
	color: var(--wp--preset--color--secundario);
}
.triibu-mes__periodo {
	display: block;
	font-size: 0.8125rem;
	color: var(--wp--preset--color--secundario);
}
/* Navegadores sin ventanas flotantes: el detalle de cada día queda en lista debajo del mes. */
.triibu-mes--sin-popover .triibu-mes__ventana {
	width: auto;
	max-height: none;
	margin-top: 0.75rem;
	box-shadow: none;
}
.triibu-mes--sin-popover .triibu-mes__cerrar {
	display: none;
}
@media (max-width: 639.98px) {
	.triibu-mes {
		padding: 1rem;
	}
	.triibu-mes__cabecera {
		flex-direction: column;
		gap: 0.6rem;
	}
	.triibu-mes__semana,
	.triibu-mes__dias {
		gap: 3px;
	}
	.triibu-mes__dias li,
	.triibu-mes__boton {
		min-height: 46px;
		padding: 0.2rem;
		font-size: 0.8125rem;
	}
	.triibu-mes__boton {
		align-items: center;
	}
	.triibu-mes__dias li {
		text-align: center;
	}
	.triibu-mes__num {
		min-width: 24px;
		height: 24px;
	}
	.triibu-mes__marca {
		width: 14px;
		height: 3px;
	}
	.triibu-mes__semana li {
		font-size: 10px;
		letter-spacing: 0.04em;
	}
}

/* Pie dinámico: marca y aviso a la izquierda, columnas de enlaces a la derecha */
.triibu-pie__cuerpo {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 2.4fr);
	gap: 1.5rem 2.5rem;
}
.triibu-pie__marca > * {
	margin: 0 !important;
}
.triibu-pie__logo .triibu-logo__texto {
	font-size: 1.35rem;
	color: var(--wp--preset--color--tinta);
}
.triibu-pie__marca .triibu-pie__aviso {
	margin-top: 0.6rem !important;
	max-width: 22rem;
	line-height: 1.55;
}
.triibu-pie__columnas {
	display: grid;
	grid-template-columns: repeat(4, auto);
	gap: 1.25rem 1.5rem;
}
.triibu-pie__columna a[href^="mailto:"] {
	overflow-wrap: normal;
	white-space: nowrap;
}
.triibu-pie__columna .triibu-rotulo {
	margin-bottom: 0.55rem;
}
.triibu-pie__columna ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.triibu-pie__columna li + li {
	margin-top: 0.4rem;
}
.triibu-pie__columna a {
	text-decoration: none;
	overflow-wrap: anywhere;
}
.triibu-pie__columna a:hover {
	text-decoration: underline;
}
.triibu-pie > p.triibu-pie__enlaces {
	margin-top: 1.5rem !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-top: 1rem;
	border-top: 1px solid var(--wp--preset--color--borde);
}
@media (max-width: 1023.98px) {
	.triibu-pie__cuerpo {
		grid-template-columns: 1fr;
	}
}
@media (max-width: 639.98px) {
	.triibu-pie__columnas {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* ------------------------------------------------------------------
 * 14 · Ajustes del 22-10-2026 (segunda ronda de la portada)
 * Tipografía nueva, frase del equipo en el hero, tarjetas de cifras alineadas, íconos propios,
 * «Quién está detrás» a su altura y leyenda completa del calendario.
 * ------------------------------------------------------------------ */

/* Solo hay los pesos cargados: el navegador no inventa negritas (usa el peso más cercano). */
body {
	font-synthesis: style;
}

/* Títulos de tarjetas, del calendario y de la ventana del día: Bricolage Grotesque 600. */
.triibu-vigente__nombre,
.triibu-mes__nombre,
.triibu-mes__ventana-titulo,
.triibu-espera__titulo,
.triibu-semana__titulo,
.triibu-detras__titulo,
.triibu-acceso__titulo,
.triibu-portada-titulo {
	font-family: var(--font-titulos);
	font-weight: 600;
}
.triibu-hero-portada h1 {
	font-weight: 700;
}

/* Cifras, valores y etiquetas de datos: DM Mono 500. */
.triibu-dato,
.triibu-rotulo,
.triibu-vigente__mes,
.triibu-vigente__valor,
.triibu-vigente__periodo,
.triibu-cifra__valor,
.triibu-estado {
	font-family: var(--font-cifras);
	font-weight: 500;
}

/* Hero: frase del equipo debajo del párrafo */
.triibu-hero-portada__equipo {
	margin-top: 0.85rem !important;
	max-width: 36rem;
	font-size: 0.9375rem;
	font-weight: 500;
	line-height: 1.5;
	color: var(--wp--preset--color--tinta);
}
/* Bricolage es más ancha: el H1 baja un poco en celular para no partir mal las palabras. */
@media (max-width: 479.98px) {
	.triibu-hero-portada h1 {
		font-size: 1.75rem;
		letter-spacing: -0.025em;
	}
}

/* Cifras: el nombre ocupa siempre dos líneas de alto (tres cuando el bloque es angosto), así el valor queda a la misma
   altura en todas las tarjetas de la fila. */
@container (min-width: 440px) {
	.triibu-vigentes__lista .triibu-vigente__nombre {
		min-height: 2.6em;
	}
}
@container (min-width: 440px) and (max-width: 999.98px) {
	.triibu-vigentes__lista .triibu-vigente__nombre {
		min-height: 3.9em;
	}
}

/* Íconos (propios o de línea): mismo tamaño en tarjetas, accesos y menú lateral, con el color de la marca. */
.triibu-portada-icono,
.triibu-icono-propio,
.triibu-menu__icono {
	flex: 0 0 auto;
	width: 20px;
	height: 20px;
}
.triibu-icono-propio {
	color: var(--wp--preset--color--azul);
}
.triibu-menu__sublista .triibu-menu__enlace {
	gap: 0.5rem;
}


/* Calendario: leyenda con todos los estados */
.triibu-mes__ley--pasado::before {
	width: 18px;
	height: 4px;
	border-radius: 2px;
	background: var(--wp--preset--color--secundario);
	opacity: 0.45;
}
.triibu-mes__ley--normal::before {
	width: 14px;
	height: 14px;
	border-radius: 4px;
	background: var(--wp--preset--color--papel);
	box-shadow: inset 0 0 0 1px var(--wp--preset--color--borde);
}

/* Menú y preguntas frecuentes en DM Sans 400 y 500 (los botones siguen en 600). */
.triibu-menu__enlace,
.triibu-menu__resumen,
.wp-block-details summary {
	font-weight: 500;
}
.triibu-menu__enlace[aria-current="page"] {
	font-weight: 500;
}
.triibu-menu__enlaces-pie {
	font-size: 0.75rem;
}

/* Quién está detrás sin foto (pedido del 22-10-2026): el texto ocupa toda la tarjeta. */
.triibu-detras {
	grid-template-columns: minmax(0, 1fr);
}

/* Íconos propios en PNG usados como máscara: toman el color de la marca (currentColor). */
.triibu-icono-mascara {
	display: inline-block;
	flex: 0 0 auto;
	width: 20px;
	height: 20px;
	background-color: currentColor;
	-webkit-mask: var(--triibu-icono) center / contain no-repeat;
	mask: var(--triibu-icono) center / contain no-repeat;
}
.triibu-acceso__icono .triibu-icono-mascara {
	width: 22px;
	height: 22px;
}

/* ------------------------------------------------------------------
 * 14b · Llamada a la suscripción en el calendario tributario (28-10-2026)
 * Bloque corto justo después de la respuesta directa: texto y botón «Avísame cuando abra» hacia /#suscripcion.
 * ------------------------------------------------------------------ */
.triibu-llamada {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem 1.5rem;
	margin-block-start: 1.5rem;
	padding: 1rem 1.35rem;
	background: var(--wp--preset--color--blanco);
	border: 1px solid var(--wp--preset--color--borde);
	border-radius: var(--triibu-radio-tarjeta);
}
.triibu-llamada > * {
	margin: 0;
}
.triibu-llamada p {
	flex: 1 1 22rem;
	font-weight: 500;
}
.triibu-llamada .wp-block-buttons {
	flex: 0 0 auto;
}
/* Las tarjetas de «Herramientas» y «Cifras» que aún no son enlace (por ejemplo «Próximamente») no cambian al pasar el cursor. */
.triibu-lista-tarjetas li:not(:has(a)):hover {
	border-color: var(--wp--preset--color--borde);
}

/* Paleta ciruela de comparación retirada el 29-10-2026 (Erika eligió el azul); copia en BORRAR/paleta-ciruela-retirada-2026-10-29 */
