/*
Theme Name: Renhata
Theme URI: https://renhata.es/
Description: Tema del buscador de ayudas para reformar y rehabilitar viviendas. Necesita el plugin Renhata Ayudas.
Version: 1.0.0
Requires PHP: 7.4
Author: Renhata
Text Domain: renhata
*/


:root {
	--papel: #F4F5F1;
	--superficie: #FFFFFF;
	--tinta: #16202A;
	--tinta-2: #4B5661;
	--linea: #D3D8D1;
	--obra: #1D5A4C;
	--obra-fuerte: #123F35;
	--obra-claro: #E2EDE8;
	--sobre-obra: #FFFFFF;
	--marca: #FFE14A;
	--sobre-marca: #16202A;
	--urgente: #B42318;
	--display: "Bricolage Grotesque", "Public Sans", system-ui, sans-serif;
	--texto: "Public Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
	--mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;
	--ancho: 74rem;
	--lectura: 42rem;
	--hueco: clamp(1rem, 3vw, 2rem);
	color-scheme: light;
}
@media (prefers-color-scheme: dark) {
	:root:not([data-theme="light"]) {
		--papel: #0F1518; --superficie: #161F24; --tinta: #E5EAE5; --tinta-2: #A7B2AC; --linea: #2A353A;
		--obra: #5DBEA2; --obra-fuerte: #8AD8C0; --obra-claro: #15302A; --sobre-obra: #0F1518;
		--marca: #EBD03C; --urgente: #FF8C7C; color-scheme: dark;
	}
}
:root[data-theme="dark"] {
	--papel: #0F1518; --superficie: #161F24; --tinta: #E5EAE5; --tinta-2: #A7B2AC; --linea: #2A353A;
	--obra: #5DBEA2; --obra-fuerte: #8AD8C0; --obra-claro: #15302A; --sobre-obra: #0F1518;
	--marca: #EBD03C; --urgente: #FF8C7C; color-scheme: dark;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body {
	margin: 0; background: var(--papel); color: var(--tinta);
	font-family: var(--texto); font-size: 1.0625rem; line-height: 1.6;
	font-feature-settings: "kern", "liga"; -webkit-font-smoothing: antialiased; overflow-x: hidden;
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--obra); text-decoration-thickness: 1px; text-underline-offset: .18em; }
a:hover { color: var(--obra-fuerte); text-decoration-thickness: 2px; }
:focus-visible { outline: 3px solid var(--obra); outline-offset: 2px; border-radius: 2px; }
h1, h2, h3, h4 { font-family: var(--display); color: var(--tinta); font-weight: 700; line-height: 1.12; letter-spacing: -.015em; margin: 0 0 .5em; text-wrap: balance; }
h1 { font-size: clamp(2.25rem, 1.4rem + 3.6vw, 4rem); font-weight: 760; letter-spacing: -.028em; line-height: 1.02; }
h2 { font-size: clamp(1.5rem, 1.2rem + 1.2vw, 2rem); }
h3 { font-size: 1.2rem; letter-spacing: -.008em; }
p, ul, ol, dl, figure, table { margin: 0 0 1.1em; }
ul, ol { padding-left: 1.25em; }
li + li { margin-top: .3em; }
strong { font-weight: 650; }
.screen-reader-text, .sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.saltar { position: absolute; left: -999px; top: 0; background: var(--obra); color: var(--sobre-obra); padding: .6em 1em; z-index: 10; }
.saltar:focus { left: 1rem; }

.contenedor { width: 100%; max-width: var(--ancho); margin: 0 auto; padding: 0 var(--hueco); }
.lectura { max-width: var(--lectura); }

/* ---------- Cabecera ---------- */
.cabecera { background: var(--superficie); border-bottom: 1px solid var(--linea); }
.cabecera__fila { display: flex; align-items: center; justify-content: space-between; gap: 1rem 2rem; padding-top: .9rem; padding-bottom: .9rem; flex-wrap: wrap; }
.logo { display: inline-flex; align-items: baseline; gap: .6rem; text-decoration: none; color: var(--tinta); }
.logo:hover { color: var(--tinta); }
.logo__nombre { font-family: var(--display); font-weight: 800; font-size: 1.65rem; letter-spacing: -.04em; line-height: 1; }
.logo__nombre::after { content: ""; display: inline-block; width: .32em; height: .32em; margin-left: .06em; background: var(--marca); border-radius: 1px; transform: translateY(-.02em) rotate(-8deg); }
.logo__lema { font-size: .875rem; color: var(--tinta-2); }
.menu { list-style: none; margin: 0; padding: 0; display: flex; gap: .25rem 1.4rem; flex-wrap: wrap; }
.menu li { margin: 0; }
.menu a { color: var(--tinta); text-decoration: none; font-weight: 550; font-size: .97rem; padding: .3rem 0; border-bottom: 2px solid transparent; }
.menu a:hover, .menu .current-menu-item > a, .menu .current-menu-ancestor > a, .menu .current_page_item > a { border-bottom-color: var(--marca); color: var(--tinta); }
@media (max-width: 40rem) {
	.cabecera__fila { gap: .6rem; }
	.logo__lema { display: none; }
	.navegacion { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
	.menu { flex-wrap: nowrap; white-space: nowrap; gap: 1.1rem; padding-bottom: .2rem; }
}

/* ---------- Migas ---------- */
.migas { font-size: .875rem; color: var(--tinta-2); margin: 1.4rem 0 .6rem; }
.migas a { color: var(--tinta-2); }
.migas .separator { margin: 0 .35em; }

/* ---------- Botones y formulario ---------- */
.rh-boton {
	display: inline-flex; align-items: center; justify-content: center; gap: .4em;
	background: var(--obra); color: var(--sobre-obra); border: 2px solid var(--obra);
	font: 650 1rem/1.2 var(--texto); padding: .75em 1.25em; border-radius: 6px; text-decoration: none; cursor: pointer;
}
.rh-boton:hover { background: var(--obra-fuerte); border-color: var(--obra-fuerte); color: var(--sobre-obra); }
.rh-boton--claro { background: transparent; color: var(--obra); }
.rh-boton--claro:hover { background: var(--obra-claro); color: var(--obra-fuerte); }

.rh-form { display: grid; gap: 1rem; }
.rh-form__campo label { display: block; font-weight: 600; font-size: .95rem; margin-bottom: .35rem; }
.rh-form input, .rh-form select {
	width: 100%; font: 500 1.0625rem/1.3 var(--texto); color: var(--tinta); background: var(--superficie);
	border: 2px solid var(--linea); border-radius: 6px; padding: .7em .8em; min-height: 3rem;
}
.rh-form input:focus, .rh-form select:focus { border-color: var(--obra); outline: none; box-shadow: 0 0 0 3px var(--obra-claro); }
.rh-form__campo--cp input { font-family: var(--mono); font-size: 1.6rem; letter-spacing: .14em; padding: .45em .6em; }
.rh-form .rh-boton { min-height: 3.2rem; font-size: 1.0625rem; }
.rh-buscador .rh-form--grande { grid-template-columns: minmax(9rem, 13rem) minmax(12rem, 1fr) auto; align-items: end; background: var(--superficie); border: 1px solid var(--linea); border-radius: 10px; padding: 1.25rem; }
@media (max-width: 46rem) { .rh-buscador .rh-form--grande { grid-template-columns: 1fr; } }
.rh-error { color: var(--urgente); font-weight: 600; margin-top: 1rem; }

/* ---------- Marca de plazo (seña de la web) ---------- */
.rh-plazo {
	font-family: var(--mono); font-weight: 500; font-size: .95em; white-space: nowrap; color: var(--sobre-marca);
	padding: .08em .4em; margin: 0 -.1em; border-radius: .25em .6em .35em .7em;
	background: linear-gradient(100deg, transparent .2em, var(--marca) .5em, var(--marca) calc(100% - .4em), transparent 100%),
		linear-gradient(transparent 70%, rgba(0,0,0,.05) 70%);
	-webkit-box-decoration-break: clone; box-decoration-break: clone;
}
.rh-plazo--urgente { box-shadow: inset 0 -.2em 0 var(--urgente); }
.rh-plazo--futuro { background: var(--obra-claro); color: var(--tinta); }
.rh-plazo--cerrado, .rh-plazo--sin { background: none; color: var(--tinta-2); padding: 0; margin: 0; }
.rh-plazo__pre { color: var(--tinta-2); font-size: .85em; }
.rh-plazo__resta { display: block; font-size: .85rem; color: var(--tinta-2); margin-top: .2rem; }
.rh-fila--abierta .rh-plazo--urgente + .rh-plazo__resta, .rh-plazo--urgente ~ .rh-plazo__resta { color: var(--urgente); font-weight: 600; }

/* ---------- Filas de convocatorias ---------- */
.rh-lista { border-top: 2px solid var(--tinta); }
.rh-fila {
	display: grid; grid-template-columns: 11.5rem minmax(0, 1fr) 9rem; gap: .4rem 1.5rem;
	padding: 1.05rem 0; border-bottom: 1px solid var(--linea); align-items: start;
}
.rh-fila__titulo { font-family: var(--texto); font-size: 1.08rem; font-weight: 650; line-height: 1.35; letter-spacing: 0; margin: 0 0 .2rem; }
.rh-fila__titulo a { color: var(--tinta); text-decoration: none; }
.rh-fila__titulo a:hover { color: var(--obra); text-decoration: underline; }
.rh-fila__quien { margin: 0; color: var(--tinta-2); font-size: .94rem; }
.rh-fila__obras { margin: .15rem 0 0; font-size: .88rem; color: var(--tinta-2); }
.rh-fila__cuantia { text-align: right; font-size: .9rem; color: var(--tinta-2); }
.rh-fila__cuantia strong { display: block; font-family: var(--display); font-size: 1.35rem; color: var(--tinta); font-weight: 700; letter-spacing: -.01em; }
.rh-cuantia__ver { font-size: 1rem !important; font-family: var(--texto) !important; font-weight: 600 !important; }
.rh-fila--cerrada .rh-fila__titulo a, .rh-fila--cerrada .rh-fila__cuantia strong { color: var(--tinta-2); }
@media (max-width: 46rem) {
	.rh-fila { grid-template-columns: 1fr auto; }
	.rh-fila__plazo { grid-column: 1 / -1; }
	.rh-fila__cuerpo { grid-column: 1 / 2; }
	.rh-fila__cuantia strong { font-size: 1.1rem; }
}
.rh-vacio { padding: 1.2rem; background: var(--superficie); border: 1px dashed var(--linea); border-radius: 8px; color: var(--tinta-2); }

/* ---------- Resultados del buscador ---------- */
.rh-resultados { margin-top: 2rem; }
.rh-resultados__resumen { font-size: 1.15rem; max-width: 46rem; }
.rh-grupo { margin: 2.2rem 0; }
.rh-grupo__titulo { font-size: 1.4rem; display: flex; align-items: baseline; gap: .6rem; }
.rh-grupo__n { font-family: var(--mono); font-size: .95rem; color: var(--tinta-2); font-weight: 500; }
.rh-grupo__nota { color: var(--tinta-2); margin-top: -.3rem; }
.rh-cerradas { margin-top: 1.5rem; }
.rh-siempre { margin-top: 2.5rem; padding: 1.4rem 1.5rem; background: var(--obra-claro); border-radius: 10px; }
.rh-siempre__titulo { font-size: 1.25rem; }
.rh-siempre ul { margin: 0; }

/* ---------- Ficha ---------- */
.ficha__cabecera { padding: .5rem 0 1.5rem; }
.ficha__cabecera h1 { font-size: clamp(1.9rem, 1.3rem + 2.4vw, 3rem); max-width: 52rem; }
.ficha__convoca { color: var(--tinta-2); font-size: 1.05rem; margin: 0; }
.estado { display: inline-block; font-weight: 650; font-size: .85rem; padding: .25em .7em; border-radius: 999px; margin-bottom: .9rem; background: var(--obra-claro); color: var(--obra-fuerte); }
.estado--abierta { background: var(--obra); color: var(--sobre-obra); }
.estado--cerrada, .estado--sin_fecha { background: var(--linea); color: var(--tinta); }
.ficha__cuerpo { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2rem; padding-bottom: 3rem; }
.rh-datos { margin: 0 0 2rem; background: var(--superficie); border: 1px solid var(--linea); border-radius: 10px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.rh-datos__item { padding: 1.1rem 1.25rem; border-bottom: 1px solid var(--linea); }
.rh-datos__item:nth-child(even):not(:last-child) { border-right: 1px solid var(--linea); }
.rh-datos__item:nth-child(even):last-child { grid-column: 1 / -1; }
.rh-datos__item:last-child, .rh-datos__item:nth-last-child(2):nth-child(even) { border-bottom: 0; }
.rh-datos__item--plazo { grid-column: 1 / -1; border-right: 0 !important; font-size: 1.25rem; }
.rh-datos dt { font-size: .85rem; font-weight: 600; color: var(--tinta-2); margin-bottom: .25rem; }
.rh-datos dd { margin: 0; }
.rh-datos__detalle { display: block; font-size: .92rem; color: var(--tinta-2); margin-top: .3rem; }
.rh-datos__item--plazo .rh-datos__detalle { font-size: .95rem; }
@media (max-width: 46rem) { .rh-datos { grid-template-columns: 1fr; } .rh-datos__item:nth-child(even) { border-right: 0 !important; } .rh-datos__item:nth-last-child(2):nth-child(even) { border-bottom: 1px solid var(--linea); } }
.rh-ficha { max-width: 52rem; }
.rh-ficha__bloque { margin: 2rem 0; }
.rh-ficha__bloque h2 { font-size: 1.45rem; }
.rh-enlaces { display: flex; flex-wrap: wrap; gap: .6rem; }
.rh-nota { border-left: 4px solid var(--marca); padding: .4rem 0 .4rem 1.1rem; color: var(--tinta-2); font-size: .95rem; margin: 2rem 0; }
.rh-nota p { margin-bottom: .6em; }
.rh-nota__oficial { font-size: .88rem; }
.rh-codigo { font-family: var(--mono); font-size: .92em; color: var(--tinta); white-space: nowrap; }

/* ---------- Portada ---------- */
.portada { padding: clamp(2.2rem, 6vw, 4.5rem) 0 clamp(2rem, 5vw, 3.5rem); }
.portada__rejilla { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(19rem, 1fr); gap: 2.5rem 4rem; align-items: center; }
.portada h1 { max-width: 16ch; margin-bottom: 1.2rem; }
.portada__entradilla { font-size: 1.15rem; max-width: 34rem; color: var(--tinta-2); }
.portada__panel { background: var(--obra); color: var(--sobre-obra); border-radius: 14px; padding: 1.6rem; }
.portada__panel .rh-form__campo label { color: var(--sobre-obra); }
.portada__panel .rh-form input, .portada__panel .rh-form select { border-color: transparent; }
.portada__panel .rh-boton { background: var(--marca); border-color: var(--marca); color: var(--sobre-marca); width: 100%; }
.portada__panel .rh-boton:hover { filter: brightness(.95); }
.portada__hoy { margin: 1.1rem 0 0; font-size: .95rem; }
.portada__hoy strong { font-family: var(--display); font-size: 1.15rem; }
@media (max-width: 52rem) { .portada__rejilla { grid-template-columns: 1fr; } }

.seccion { padding: clamp(2rem, 5vw, 3.5rem) 0; border-top: 1px solid var(--linea); }
.seccion__cabeza { display: flex; justify-content: space-between; align-items: baseline; gap: .5rem 1.5rem; flex-wrap: wrap; margin-bottom: 1.2rem; }
.seccion__cabeza h2 { margin: 0; }
.seccion__intro { max-width: 44rem; color: var(--tinta-2); margin-top: -.4rem; }

.planes { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 21rem), 1fr)); gap: 0 2.5rem; border-top: 2px solid var(--tinta); }
.planes li { margin: 0; padding: 1rem 0 1.1rem; border-bottom: 1px solid var(--linea); }
.planes a { font-family: var(--display); font-weight: 700; font-size: 1.15rem; color: var(--tinta); text-decoration: none; line-height: 1.25; }
.planes a:hover { color: var(--obra); text-decoration: underline; }
.planes p { margin: .3rem 0 0; font-size: .95rem; color: var(--tinta-2); }
.planes .estado-plan { display: inline-block; margin-top: .45rem; font-size: .82rem; font-weight: 650; color: var(--obra-fuerte); background: var(--obra-claro); padding: .15em .6em; border-radius: 999px; }

.rh-obras { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: .55rem; }
.rh-obras li { margin: 0; }
.rh-obras a { display: inline-block; padding: .45em .85em; border: 1.5px solid var(--linea); border-radius: 999px; background: var(--superficie); color: var(--tinta); text-decoration: none; font-weight: 550; font-size: .95rem; }
.rh-obras a:hover { border-color: var(--obra); color: var(--obra); }
.rh-obras__n { display: none; }

.rh-ccaa { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 15rem), 1fr)); gap: 0 2rem; }
.rh-ccaa li { margin: 0; border-bottom: 1px solid var(--linea); }
.rh-ccaa a { display: flex; justify-content: space-between; gap: 1rem; padding: .7rem 0; text-decoration: none; color: var(--tinta); }
.rh-ccaa a:hover .rh-ccaa__nombre { color: var(--obra); text-decoration: underline; }
.rh-ccaa__nombre { font-weight: 600; }
.rh-ccaa__n { color: var(--tinta-2); font-size: .88rem; text-align: right; }

.pasos { list-style: none; padding: 0; counter-reset: paso; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem 2.5rem; }
.pasos li { counter-increment: paso; margin: 0; }
.pasos li::before { content: counter(paso); display: block; font-family: var(--display); font-weight: 800; font-size: 2.6rem; line-height: 1; color: var(--obra); margin-bottom: .5rem; }
.pasos h3 { font-size: 1.15rem; margin-bottom: .35rem; }
.pasos p { color: var(--tinta-2); margin: 0; font-size: .98rem; }
@media (max-width: 46rem) { .pasos { grid-template-columns: 1fr; } }
.aviso-oficial { margin-top: 2rem; font-size: .95rem; color: var(--tinta-2); max-width: 46rem; }

/* ---------- Páginas y entradas ---------- */
.pagina { padding-top: .5rem; padding-bottom: 3.5rem; }
.pagina__cabecera { margin-bottom: 1.6rem; }
.pagina__entradilla { font-size: 1.15rem; color: var(--tinta-2); max-width: var(--lectura); }
.entrada__meta { color: var(--tinta-2); font-size: .92rem; }
.contenido { max-width: var(--lectura); }
.contenido h2 { margin-top: 2.2rem; }
.contenido h3 { margin-top: 1.6rem; }
.contenido img { border-radius: 8px; }
.contenido figure.wp-block-table, .contenido .tabla { overflow-x: auto; margin: 1.5rem 0; }
.contenido table { width: 100%; border-collapse: collapse; font-size: .95rem; background: var(--superficie); }
.contenido th, .contenido td { text-align: left; padding: .6rem .75rem; border-bottom: 1px solid var(--linea); vertical-align: top; }
.contenido th { font-weight: 650; background: var(--obra-claro); }
.contenido blockquote { margin: 1.5rem 0; padding-left: 1.1rem; border-left: 4px solid var(--marca); color: var(--tinta-2); }
.ancho-completo { max-width: none; }

.rh-resumen-plan { margin: 0 0 2rem; background: var(--superficie); border: 1px solid var(--linea); border-radius: 10px; }
.rh-resumen-plan dl { margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.rh-resumen-plan dl > div { padding: 1rem 1.2rem; border-bottom: 1px solid var(--linea); }
.rh-resumen-plan dl > div:nth-child(odd) { border-right: 1px solid var(--linea); }
.rh-resumen-plan dl > div.ancho { grid-column: 1 / -1; border-right: 0; }
.rh-resumen-plan dt { font-size: .85rem; font-weight: 600; color: var(--tinta-2); margin-bottom: .2rem; }
.rh-resumen-plan dd { margin: 0; }
.rh-resumen-plan .rh-resumen-plan__estado { font-weight: 650; }
.rh-resumen-plan p.actualizado { margin: 0; padding: .7rem 1.2rem; font-size: .88rem; color: var(--tinta-2); }
@media (max-width: 46rem) { .rh-resumen-plan dl { grid-template-columns: 1fr; } .rh-resumen-plan dl > div:nth-child(odd) { border-right: 0; } }
.rh-fuentes { font-size: .92rem; }
.rh-faq h3 { font-family: var(--texto); font-size: 1.08rem; font-weight: 650; margin-top: 1.4rem; }

.lista-entradas { list-style: none; padding: 0; border-top: 2px solid var(--tinta); }
.lista-entradas li { margin: 0; padding: 1.1rem 0; border-bottom: 1px solid var(--linea); }
.lista-entradas a { font-family: var(--display); font-weight: 700; font-size: 1.2rem; color: var(--tinta); text-decoration: none; }
.lista-entradas a:hover { color: var(--obra); text-decoration: underline; }
.lista-entradas p { margin: .3rem 0 0; color: var(--tinta-2); }

.filtros { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0 0 1.4rem; padding: 0; list-style: none; }
.filtros li { margin: 0; }
.filtros a { display: inline-block; padding: .4em .9em; border-radius: 999px; border: 1.5px solid var(--linea); text-decoration: none; color: var(--tinta); font-weight: 550; font-size: .95rem; background: var(--superficie); }
.filtros a[aria-current="page"] { background: var(--tinta); border-color: var(--tinta); color: var(--papel); }
.paginacion { display: flex; gap: 1rem; margin-top: 1.5rem; }

/* ---------- Pie ---------- */
.pie { background: var(--superficie); border-top: 1px solid var(--linea); padding: 2.5rem 0 3rem; font-size: .94rem; color: var(--tinta-2); }
.pie__rejilla { display: grid; grid-template-columns: minmax(0, 1.4fr) repeat(2, minmax(0, 1fr)); gap: 1.5rem 3rem; }
.pie h2 { font-family: var(--texto); font-size: .95rem; font-weight: 650; color: var(--tinta); margin-bottom: .5rem; letter-spacing: 0; }
.pie ul { list-style: none; padding: 0; margin: 0; }
.pie a { color: var(--tinta-2); }
.pie a:hover { color: var(--obra); }
@media (max-width: 46rem) { .pie__rejilla { grid-template-columns: 1fr; } }

@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; transition: none !important; animation: none !important; } }
@media print { .cabecera, .pie, .rh-form, .rh-relacionadas { display: none; } body { background: #fff; } }

/* ---------- Portada en tablas ---------- */
.portada { padding: clamp(2rem, 5vw, 3.5rem) 0 clamp(1.2rem, 3vw, 2rem); }
.portada__entradilla { max-width: 44rem; }
.portada__atajos { list-style: none; padding: 0; margin: 1.4rem 0 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.portada__atajos li { margin: 0; }
.portada__atajos a { display: inline-block; padding: .5em 1em; border-radius: 999px; background: var(--superficie); border: 1.5px solid var(--linea); color: var(--tinta); text-decoration: none; font-weight: 600; font-size: .95rem; }
.portada__atajos a:hover { border-color: var(--obra); color: var(--obra); }
.seccion--primera { border-top: 0; padding-top: .5rem; }
.rh-tabla-envoltorio { overflow-x: auto; border: 1px solid var(--linea); border-radius: 10px; background: var(--superficie); }
.rh-tabla { width: 100%; border-collapse: collapse; font-size: .97rem; }
.rh-tabla thead th { text-align: left; font-size: .85rem; font-weight: 650; color: var(--tinta-2); padding: .75rem 1rem; border-bottom: 2px solid var(--tinta); background: var(--superficie); white-space: nowrap; }
.rh-tabla td, .rh-tabla tbody th { text-align: left; padding: .85rem 1rem; border-bottom: 1px solid var(--linea); vertical-align: top; }
.rh-tabla tbody tr:last-child td, .rh-tabla tbody tr:last-child th { border-bottom: 0; }
.rh-tabla tbody th { font-weight: 650; min-width: 14rem; }
.rh-tabla tbody th a { color: var(--tinta); text-decoration: none; }
.rh-tabla tbody th a:hover, .rh-tabla td a:hover { color: var(--obra); text-decoration: underline; }
.rh-tabla td a { color: var(--tinta); }
.rh-tabla .rh-num { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.rh-tabla td strong { font-weight: 650; }
.rh-tabla mark.rh-plazo { font-size: .88rem; }
.rh-tabla--planes td:nth-child(3) { min-width: 12rem; }
.rh-semaforo { display: inline-block; font-size: .86rem; font-weight: 600; line-height: 1.35; padding: .2em .6em; border-radius: 6px; background: var(--linea); color: var(--tinta); }
.rh-semaforo--verde { background: var(--obra); color: var(--sobre-obra); }
.rh-semaforo--ambar { background: var(--marca); color: var(--sobre-marca); }
.rh-semaforo--gris { background: var(--linea); color: var(--tinta); }
.rh-todas-ccaa { margin-top: 1rem; font-size: .95rem; color: var(--tinta-2); }
.seccion--buscar { background: var(--obra-claro); border-top: 0; }
.buscar-banda { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr); gap: 1.5rem 3rem; align-items: center; }
.buscar-banda h2 { margin-bottom: .4rem; }
.buscar-banda p { margin: 0; color: var(--tinta-2); }
.buscar-banda .rh-form { grid-template-columns: 9rem minmax(0, 1fr) auto; align-items: end; }
.buscar-banda .rh-form__campo--cp input { font-size: 1.2rem; }
@media (max-width: 52rem) { .buscar-banda, .buscar-banda .rh-form { grid-template-columns: 1fr; } }
@media (max-width: 46rem) {
	.rh-tabla-envoltorio { border: 0; background: none; overflow: visible; }
	.rh-tabla thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
	.rh-tabla, .rh-tabla tbody, .rh-tabla tr, .rh-tabla td, .rh-tabla tbody th { display: block; width: 100%; }
	.rh-tabla tr { background: var(--superficie); border: 1px solid var(--linea); border-radius: 10px; margin-bottom: .8rem; padding: .3rem 0; }
	.rh-tabla td, .rh-tabla tbody th { border-bottom: 0; padding: .35rem 1rem; min-width: 0 !important; }
	.rh-tabla tbody th { font-size: 1.02rem; padding-top: .7rem; }
	.rh-tabla td::before { content: attr(data-label); display: block; font-size: .78rem; font-weight: 600; color: var(--tinta-2); }
	.rh-tabla .rh-num { text-align: left; }
}
.portada:not(.portada--foto) .portada__rejilla { grid-template-columns: 1fr; }
.portada--foto .portada__rejilla { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); align-items: center; }
.portada__foto { order: 2; margin: 0; position: relative; }
.portada__foto img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 14px; }
.portada__foto::after { content: ""; position: absolute; left: -.9rem; bottom: -.9rem; width: 38%; height: 38%; background: var(--marca); border-radius: 10px; z-index: -1; }
.portada--foto h1 { font-size: clamp(2.25rem, 1.3rem + 3.2vw, 3.6rem); }
@media (max-width: 52rem) {
	.portada--foto .portada__rejilla { grid-template-columns: 1fr; }
	.portada__foto { order: 0; }
	.portada__foto img { aspect-ratio: 16 / 9; }
	.portada__foto::after { display: none; }
}
