/* =====================================================================
   RTPA · Corporativo 2026 — Rediseño (Home)
   Hoja de estilos autónoma. Todo va cableado bajo .corp2026 para no
   colisionar con main.css / Bootstrap 3.
   Paleta (mockup Figma):
     navy #00256A · blue #014BA0 · teal #2B97BA · purple #775FBC
     soft #D4DFEF · near-white #F2F6FA · ink #1F2E40
   ===================================================================== */

/* Fuente corporativa RTPA (MuseoSans = 'fuenteRTPA', la misma que rtpa.es).
   Se usa la copia local del repo (fonts/museo/), ya empaquetada.
   IMPORTANTE: el peso por defecto (400/normal) apunta a MuseoSans-500 (medium),
   igual que el cuerpo de las noticias de rtpa.es. El 300 (light) queda disponible
   solo para quien lo pida explícitamente (p. ej. la miga de pan). Se redeclara
   el peso 400 aquí para ganar la cascada frente a main.css (que lo mapea a -300). */
@font-face {
	font-family: "fuenteRTPA";
	src: url("../fonts/museo/MuseoSans-300.otf") format("opentype");
	font-weight: 300;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "fuenteRTPA";
	src: url("../fonts/museo/MuseoSans_500.otf") format("opentype");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "fuenteRTPA";
	src: url("../fonts/museo/MuseoSans_700.otf") format("opentype");
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

/* Museo (slab display de RTPA) para los títulos de sección */
@font-face {
	font-family: "Museo";
	src: url("../fonts/museo/Museo300-Regular.otf") format("opentype");
	font-weight: 300;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Museo";
	src: url("../fonts/museo/Museo500-Regular.otf") format("opentype");
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Museo";
	src: url("../fonts/museo/Museo700-Regular.otf") format("opentype");
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Museo";
	src: url("../fonts/museo/Museo900.otf") format("opentype");
	font-weight: 900;
	font-style: normal;
	font-display: swap;
}

.corp2026 {
	--c-navy: #00256a;
	--c-navy-800: #00194d;
	--c-blue: #014ba0;
	--c-blue-600: #0a4d94;
	--c-teal: #2b97ba;
	--c-purple: #775fbc;
	--c-soft: #d4dfef;
	--c-near-white: #f2f6fa;
	--c-ink: #1f2e40;
	--c-ink-60: #566178;
	--c-line: #e2e8f2;
	--c-card-bg: #eef2f9;
	--c-bg: #ffffff;

	--radius-pill: 28px;
	--radius-card: 18px;
	--shadow-card: 0 10px 30px rgba(0, 37, 106, 0.08);
	--shadow-card-hover: 0 18px 44px rgba(0, 37, 106, 0.16);

	--font: "fuenteRTPA", "Museo Sans", "Helvetica Neue", Helvetica, Arial, "Segoe UI", Roboto, sans-serif;
	--font-serif: Georgia, "Times New Roman", "Droid Serif", serif;
	--font-title: "Museo", Georgia, "Times New Roman", serif;

	font-family: var(--font);
	color: var(--c-ink);
	-webkit-font-smoothing: antialiased;

	/* Fondo de cabecera (Figma "header-section-bg"): un único degradado
	   navy → blanco anclado arriba y detrás de todo el contenido superior
	   (topbar + nav + breadcrumb). Los tramos van en px sobre una caja de
	   479px: navy sólido sobre topbar y arranque del nav (hasta 60px) y a
	   partir de ahí una caída suave de opacidad. El grueso del azul se
	   apaga hacia los 210px, donde empieza el contenido (topbar 46 + nav
	   102 + breadcrumb ≈ 208px), y el resto es una cola casi invisible
	   (≤8%) para que no se vea el corte al blanco. Muchos tramos juntos y
	   sin saltos de opacidad: así no aparecen bandas.
	   Las secciones van transparentes para dejarlo ver. */
	background-color: var(--c-bg);
	background-image: linear-gradient(180.13deg,
			#1d4287 0px,
			#1d4287 60px,
			rgba(31, 69, 138, 0.97) 88px,
			rgba(38, 77, 145, 0.88) 112px,
			rgba(46, 85, 151, 0.74) 136px,
			rgba(57, 95, 156, 0.57) 160px,
			rgba(70, 106, 161, 0.41) 184px,
			rgba(86, 119, 168, 0.27) 208px,
			rgba(106, 135, 179, 0.16) 232px,
			rgba(132, 158, 194, 0.08) 258px,
			rgba(170, 192, 218, 0.03) 285px,
			rgba(244, 249, 252, 0) 315px);
	background-repeat: no-repeat;
	background-size: 100% 479px;
}

.corp2026 *,
.corp2026 *::before,
.corp2026 *::after {
	box-sizing: border-box;
}

.corp2026 a {
	color: var(--c-blue);
	text-decoration: none;
	transition: color 0.2s ease;
}

.corp2026 a:hover {
	color: var(--c-navy);
}

.corp2026 .c2026-wrap {
	max-width: 1440px;
	margin: 0 auto;
	padding: 0 40px;
}

.corp2026 .corp2026-caret {
	width: 14px;
	height: 14px;
	flex: 0 0 auto;
	opacity: 0.85;
	transition: transform 0.2s ease;
}

/* =====================================================================
   HEADER (degradado navy → blanco)
   ===================================================================== */

.corp2026-header {
	position: relative;
	/* Cabecera plana estilo rtpa.es: la barra (topbar + nav) va en navy sólido
	   #193C7B (rgb 25,60,123, el navy de rtpa.es) y el "cover" funde hacia
	   transparente sobre el breadcrumb (.corp2026-hero). */
	background: transparent;
	color: var(--c-near-white);
}

/* ---- Barra de utilidades superior ---- */
.corp2026-topbar {
	position: relative;
	z-index: 20;
	font-size: 15px;
}

.corp2026-topbar .c2026-wrap {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 41px;
	gap: 20px;
}

.corp2026-topbar__tagline {
	color: var(--c-soft);
	font-weight: 700;
	letter-spacing: 0.01em;
	white-space: nowrap;
}

.corp2026-topbar__right {
	display: flex;
	align-items: center;
	gap: 14px;
	font-weight: 700;
}

.corp2026-topbar__date {
	color: #fff;
	white-space: nowrap;
	opacity:0.85;
}

.corp2026-topbar__sep {
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: rgba(244, 244, 245, 0.5);
	flex: 0 0 auto;
}

/* ---- Dropdowns de la topbar ---- */
.corp2026-dd {
	position: relative;
}

.corp2026-dd__toggle {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	background: transparent;
	border: 0;
	color: #fff;
	font: inherit;
	font-size: 15px;
	line-height: 1;
	padding: 8px 6px;
	cursor: pointer;
	white-space: nowrap;
	transition: color 0.2s ease;
	opacity:0.85;
}

.corp2026-dd__toggle svg {
	flex: 0 0 auto;
}

.corp2026-dd__toggle:hover {
	color: var(--c-soft);
}

.corp2026-dd__menu {
	position: absolute;
	top: calc(100% + 8px);
	right: 0;
	min-width: 190px;
	background: #fff;
	border: 1px solid var(--c-line);
	border-radius: 12px;
	box-shadow: 0 16px 40px rgba(0, 20, 60, 0.22);
	padding: 8px;
	display: none;
	z-index: 60;
}

.corp2026-dd.is-open .corp2026-dd__menu {
	display: block;
}

.corp2026-dd.is-open .corp2026-caret {
	transform: rotate(180deg);
}

.corp2026-dd__menu a {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 9px 12px;
	border-radius: 8px;
	color: var(--c-ink);
	font-size: 14px;
}

.corp2026-dd__menu a:hover {
	background: var(--c-near-white);
	color: var(--c-navy);
}

/* ---- Aviso del selector de idioma (sustituye al menú de idiomas) ---- */
.corp2026-dd__menu.ventana-aviso-idioma {
	width: 256px;
	min-width: 0;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 16px;
	box-shadow: 0 20px 25px rgba(0, 20, 60, 0.15), 0 8px 10px rgba(0, 20, 60, 0.1);
	overflow: hidden;
	cursor: default;
}

.ventana-aviso-idioma__head {
	padding: 16px 16px 12px;
	background: var(--c-navy);
	color: var(--c-soft);
}

.ventana-aviso-idioma__head h3 {
	margin: 0;
	font-family: var(--font-title);
	font-weight: 700;
	font-size: 16px;
	line-height: 1.3;
}

.ventana-aviso-idioma p {
	margin: 0;
	padding: 12px 16px 14px;
	color: var(--c-ink);
	font-size: 14px;
	line-height: 1.45;
}

/* ---- Panel "Síguenos en…" (Figma dropdown-social) ---- */
.corp2026-dd__menu.corp2026-social {
	width: 768px;
	max-width: calc(100vw - 32px);
	min-width: 0;
	padding: 0;
	border: 1px solid #fff;
	border-radius: 16px;
	box-shadow: 0 12px 16px rgba(0, 0, 0, 0.15);
	overflow: hidden;
}

.corp2026-social__head {
	background: var(--c-navy);
	color: var(--c-near-white);
	font-weight: 600;
	font-size: 14px;
	line-height: 20px;
	padding: 16px;
}

.corp2026-social__cols {
	display: flex;
	align-items: stretch;
	gap: 4px;
}

.corp2026-social__col {
	flex: 1 1 0;
	min-width: 0;
	display: flex;
	flex-direction: column;
	padding-bottom: 8px;
}

.corp2026-social__sep {
	width: 1px;
	background: var(--c-soft);
	flex: 0 0 auto;
	align-self: stretch;
}

.corp2026-social__title {
	font-family: var(--font-title);
	font-weight: 600;
	font-size: 16px;
	line-height: 20px;
	letter-spacing: -0.02em;
	color: #121212;
	margin: 0;
	padding: 8px 12px;
}

.corp2026-social__item {
	display: flex;
	align-items: center;
	gap: 13px;
	padding: 8px 12px;
	color: var(--c-blue);
	font-weight: 600;
	font-size: 16px;
	line-height: 24px;
	white-space: nowrap;
}

.corp2026-social__item:hover {
	background: var(--c-near-white);
	color: var(--c-blue);
}

.corp2026-social__ic {
	flex: 0 0 auto;
	width: 32px;
	height: 32px;
	border-radius: 52px;
	background: #7a9ecd;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #fff;
}

.corp2026-social__ic svg {
	width: 18px;
	height: 18px;
	display: block;
}

.corp2026-social__apps {
	background: var(--c-near-white);
	border-top: 1px solid var(--c-soft);
	padding: 8px 0 12px;
}

.corp2026-social__apps-row {
	display: flex;
}

.corp2026-social__apps-row .corp2026-social__item {
	flex: 1 1 0;
}

.corp2026-dd__menu--social {
	min-width: 210px;
}

.corp2026-dd__menu--social img {
	width: 18px;
	height: 18px;
	filter: brightness(0) saturate(100%) invert(13%) sepia(64%) saturate(2600%) hue-rotate(212deg) brightness(70%);
}

/* Badge "Corporativo": enlace al portal corporativo.
   Va prefijado con .corp2026 para ganar la cascada a `.corp2026 a`, que si no
   le impone el azul de enlace sobre el fondo navy. */
.corp2026 .corp2026-topbar__badge {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	background: var(--c-navy);
	color: #fff;
	font-size: 14px;
	line-height: 1;
	padding: 8px 14px;
	border-radius: 12px;
	white-space: nowrap;
}

.corp2026 a.corp2026-topbar__badge:hover {
	color: #fff;
	background: var(--c-navy-800);
}

/* ---- Fila principal: logo + píldora + búsqueda ---- */
.corp2026-nav {
	position: relative;
	z-index: 10;
	padding-top: 18px;
}

.corp2026-nav .c2026-wrap {
	position: relative;
	display: flex;
	align-items: center;
	gap: 24px;
	min-height: 84px;
}

.corp2026-brand {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
}

.corp2026-brand img {
	height: 48px;
	width: auto;
	display: block;
}

/* Píldora nav translúcida */
.corp2026-pill {
	/* Figma "Navigation": píldora absolutamente centrada en la fila */
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	z-index: 2;
	display: flex;
	align-items: center;
	gap: 2px;
	height: 56px;
	padding: 0 8px;
	background: rgba(255, 255, 255, 0.25);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 56px;
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
}

.corp2026-pill__list {
	display: flex;
	align-items: center;
	gap: 2px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.corp2026-pill__item {
	position: relative;
}

.corp2026-pill__list a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: #ffffff;
	font-size: 14px;
	font-weight: 600;
	padding: 10px 12px;
	border-radius: 22px;
	line-height: 1;
	white-space: nowrap;
	transition: background 0.2s ease, color 0.2s ease;
}

.corp2026-pill__list a:hover {
	background: rgba(255, 255, 255, 0.16);
	color: #fff;
}

.corp2026-pill__list a.is-active {
	background: #fff;
	color: var(--c-navy);
	font-weight: 600;
}

/* Submenú desplegable de la píldora */
.corp2026-submenu {
	position: absolute;
	top: calc(100% + 10px);
	left: 0;
	min-width: 260px;
	background: #fff;
	border: 1px solid var(--c-line);
	border-radius: 14px;
	box-shadow: 0 20px 50px rgba(0, 20, 60, 0.22);
	padding: 10px;
	display: none;
	z-index: 40;
}

.corp2026-pill__item.is-open .corp2026-submenu {
	display: block;
}

.corp2026-pill__item.is-open .corp2026-caret {
	transform: rotate(180deg);
}

.corp2026-submenu a {
	display: block;
	padding: 10px 16px;
	border-radius: 40px;
	color: var(--c-ink);
	font-size: 16px;
	font-weight: 500;
}

.corp2026-submenu a:hover {
	background: var(--c-near-white);
	color: var(--c-navy);
}

/* Ítem de submenú de la página actual (Figma "Frame 474") */
.corp2026-submenu a.is-current,
.corp2026-submenu a.is-current:hover {
	background: var(--c-blue);
	color: var(--c-near-white);
	font-weight: 600;
}

.corp2026-icon-btn {
	flex: 0 0 auto;
	width: 50px;
	height: 50px;
	margin-left: auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: rgba(242, 246, 250, 0.20);
	border: 1px solid rgba(255, 255, 255, 0.28);
	color: var(--c-near-white);
	cursor: pointer;
	transition: background 0.2s ease, transform 0.2s ease;
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
}

.corp2026-icon-btn:hover {
	background: rgba(242, 246, 250, 0.34);
	color: #fff;
	transform: translateY(-1px);
}

.corp2026-icon-btn svg {
	width: 22px;
	height: 22px;
}

/* Hamburguesa (solo móvil) */
.corp2026-burger {
	display: none;
	flex: 0 0 auto;
	width: 46px;
	height: 46px;
	margin-left: auto;
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.14);
	border: 1px solid rgba(255, 255, 255, 0.2);
	color: #fff;
	align-items: center;
	justify-content: center;
	cursor: pointer;
}

.corp2026-burger svg {
	width: 24px;
	height: 24px;
}

/* ---- Breadcrumb (sobre el degradado, texto oscuro) ---- */
.corp2026-hero {
	position: relative;
	z-index: 5;
	padding: 30px 0 12px;
	/* Sin fondo propio: el breadcrumb va sobre el degradado global de .corp2026 */
}

.corp2026-breadcrumb {
	/* Figma "breadcrumbs": Museo Sans 12 / 14, mayúsculas, #1F2E40 */
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 10px;
	margin: 0;
	padding: 0;
	font-size: 12px;
	line-height: 16px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--c-ink);
}

.corp2026-breadcrumb a {
	color: var(--c-ink);
	font-weight: 300;
}

.corp2026-breadcrumb a:hover {
	color: var(--c-navy);
}

.corp2026-breadcrumb li + li::before {
	content: "/";
	margin-right: 10px;
	font-weight: 300;
	letter-spacing: 0;
	color: #6f7884;
}

/* =====================================================================
   MAIN
   ===================================================================== */

.corp2026-main {
	position: relative;
	z-index: 1;
	padding: 4px 0 80px;
	background: transparent;
}

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

/* ---- Tarjetas de empleo (3) ---- */
.corp2026-emp-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	margin-top: 8px;
}

.corp2026-emp-card {
	display: flex;
	flex-direction: column;
	background: var(--c-card-bg);
	border: 1px solid var(--c-line);
	border-radius: var(--radius-card);
	padding: 30px 30px 24px;
	min-height: 260px;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.corp2026-emp-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--shadow-card-hover);
}

.corp2026-emp-card__icon {
	width: 36px;
	height: 36px;
	color: var(--c-blue);
	margin-bottom: 26px;
}

.corp2026-emp-card__icon svg {
	width: 100%;
	height: 100%;
}

.corp2026-emp-card__title {
	margin: 0 0 14px;
	font-family: var(--font-title);
	font-size: 27px;
	line-height: 1.15;
	font-weight: 700;
	color: var(--c-ink);
	letter-spacing: -0.01em;
}

.corp2026-emp-card__count {
	margin: 0;
	font-size: 16px;
	color: var(--c-ink-60);
}

.corp2026-emp-card__count strong {
	color: var(--c-navy);
	font-weight: 700;
}

.corp2026-emp-card__count.is-empty {
	color: var(--c-ink-60);
}

.corp2026-emp-card__foot {
	margin-top: auto;
	padding-top: 22px;
	text-align: right;
}

.corp2026-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-weight: 600;
	font-size: 15px;
	color: var(--c-blue);
}

.corp2026-link::after {
	content: "";
	width: 17px;
	height: 17px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
	transition: transform 0.2s ease;
}

.corp2026-link:hover::after {
	transform: translateX(3px);
}

/* ---- Panel Portal de transparencia ---- */
.corp2026-transparency {
	/* Figma "Frame 480" */
	position: relative;
	overflow: hidden;
	margin-top: 24px;
	background: #f2f6fa;
	border-radius: 24px;
	padding: 32px 24px 24px;
	text-align: center;
}

.corp2026-transparency__deco {
	position: absolute;
	left: 60px;
	top: 50%;
	transform: translateY(-50%);
	width: 200px;
	height: auto;
	color: #fff;
	opacity: 0.9;
	pointer-events: none;
}

.corp2026-transparency__inner {
	position: relative;
	z-index: 2;
	max-width: 760px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.corp2026-transparency__badge {
	width: 74px;
	height: 74px;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 10px 26px rgba(0, 37, 106, 0.12);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--c-blue);
	margin-bottom: 22px;
}

.corp2026-transparency__badge svg {
	width: 34px;
	height: 34px;
}

.corp2026-transparency__title {
	/* Figma "Portal de transparencia": Museo 600 / 28 / 32 / #1F2E40 */
	margin: 0 0 16px;
	font-family: var(--font-title);
	font-weight: 600;
	font-size: 28px;
	line-height: 32px;
	letter-spacing: -0.02em;
	color: var(--c-ink);
}

.corp2026-transparency__text {
	margin: 0 0 28px;
	font-size: 17px;
	line-height: 1.55;
	color: var(--c-ink-60);
	max-width: 640px;
}

.corp2026 .corp2026-btn {
	/* Figma "live-cta" */
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 368px;
	max-width: 100%;
	background: var(--c-blue);
	color: #fff;
	font-weight: 600;
	font-size: 16px;
	padding: 10px 32px;
	border-radius: 56px;
	backdrop-filter: blur(12.5px);
	-webkit-backdrop-filter: blur(12.5px);
	transition: background 0.2s ease, transform 0.2s ease;
}

.corp2026 .corp2026-btn:hover {
	background: var(--c-navy);
	color: #fff;
	transform: translateY(-1px);
}

/* ---- Tarjetas de registros (2) ---- */
.corp2026-reg-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 24px;
	margin-top: 24px;
}

.corp2026-reg-card {
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid var(--c-line);
	border-radius: var(--radius-card);
	box-shadow: var(--shadow-card);
	padding: 34px 36px 28px;
	min-height: 250px;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.corp2026-reg-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--shadow-card-hover);
}

.corp2026-reg-card__icon {
	width: 38px;
	height: 38px;
	color: var(--c-blue);
	margin-bottom: 26px;
}

.corp2026-reg-card__icon svg {
	width: 100%;
	height: 100%;
}

.corp2026-reg-card__title {
	margin: 0 0 12px;
	font-family: var(--font-title);
	font-size: 27px;
	font-weight: 700;
	color: var(--c-ink);
}

.corp2026-reg-card__text {
	margin: 0;
	font-size: 16px;
	line-height: 1.55;
	color: var(--c-ink-60);
}

.corp2026-reg-card__foot {
	margin-top: auto;
	padding-top: 22px;
	text-align: right;
}

.m-top-1-em{margin-top:1em!important;}
.m-top-xl{margin-top:2em!important;}
.m-top-xxl{margin-top:3em!important;}

.m-l-top {
    margin-top: 2em;
}

.m-top-0{
	margin-top: 0!important;
}

.m-bottom-1-em{margin-bottom:1em!important;}

.p-l-0{padding-left:0!important;}

.cajetin-importante{
	background-color: #cc3300 !important;
    color:#fff!important;
}

.hde {
    display: none !important;
}

.f-bold{
    font-weight: bold;
}

.back-grey{
	background-color:#fafafa!important;
}


/* =====================================================================
   FOOTER (mockup)
   ===================================================================== */

.corp2026-footer {
	font-family: var(--font);
	color: var(--c-ink);
}

.corp2026-footer a {
	color: var(--c-ink);
}

.corp2026-footer a:hover {
	color: var(--c-navy);
}

/* Bloque superior con degradado suave */
.corp2026-footer__top {
	background: linear-gradient(160deg, #dfe7f4 0%, #e4e2f0 62%, #e9e4f1 100%);
	border-top: 1px solid #d3ddee;
	padding: 60px 0 44px;
}

.corp2026-footer__cols {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 36px;
}

.corp2026-footer__brand {
	height: 30px;
	margin-bottom: 26px;
	display: inline-flex;
	align-items: center;
	color: var(--c-navy);
}

.corp2026-footer__brand img,
.corp2026-footer__brand svg {
	height: 30px;
	width: auto;
	display: block;
}

.corp2026-footer__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.corp2026-footer__list li {
	margin-bottom: 12px;
}

.corp2026-footer__list a {
	font-size: 15px;
	color: #2a3852;
}

.corp2026-footer__col--sub {
	padding-top: 56px;
}

/* Fila de servicios */
.corp2026-footer__services {
	margin-top: 40px;
	padding-top: 32px;
	border-top: 1px solid rgba(0, 37, 106, 0.12);
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 36px;
	align-items: center;
}

.corp2026-footer__services a {
	font-size: 15px;
	color: #2a3852;
}

.corp2026-footer__services .corp2026-footer__brand {
	margin-bottom: 0;
}

/* Banda RTPA (navy) */
.corp2026-footer__band {
	background: var(--c-blue);
	color: #fff;
	padding: 26px 0;
}

.corp2026-footer__band .c2026-wrap {
	display: grid;
	grid-template-columns: auto 1fr 1fr 1fr;
	align-items: center;
	gap: 30px;
}

.corp2026-footer__band-logo img,
.corp2026-footer__band-logo svg {
	height: 40px;
	width: auto;
	display: block;
}

.corp2026-footer__band a {
	color: rgba(255, 255, 255, 0.92);
	font-size: 15px;
	font-weight: 500;
}

.corp2026-footer__band a:hover {
	color: #fff;
}

/* Banda copyright (navy oscuro) */
.corp2026-footer__copy {
	background: var(--c-navy);
	color: rgba(255, 255, 255, 0.7);
	padding: 22px 0 26px;
	text-align: center;
	font-size: 13.5px;
}

.corp2026-footer__legal {
	margin: 0 0 12px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 6px 0;
}

.corp2026-footer__legal a {
	color: rgba(255, 255, 255, 0.82);
	padding: 0 14px;
	position: relative;
}

.corp2026-footer__legal a:hover {
	color: #fff;
}

.corp2026-footer__legal a:not(:last-child)::after {
	content: "•";
	position: absolute;
	right: -3px;
	color: rgba(255, 255, 255, 0.35);
}

.corp2026-footer__rights {
	margin: 0;
	color: rgba(255, 255, 255, 0.55);
}

/* Anagrama inline reutilizable (tpa / rpa) */
.corp2026-anagram {
	display: inline-flex;
	align-items: baseline;
	gap: 9px;
	color: var(--c-navy);
}

.corp2026-anagram svg {
	width: 27px;
	height: 27px;
	flex: 0 0 auto;
}

.corp2026-anagram__word {
	font-weight: 700;
	font-size: 27px;
	line-height: 1;
	letter-spacing: 0.01em;
	color: var(--c-navy);
}

/* =====================================================================
   MENÚ MÓVIL (off-canvas)
   ===================================================================== */

.corp2026-mobile {
	position: fixed;
	inset: 0;
	z-index: 1000;
	display: none;
}

.corp2026-mobile.is-open {
	display: block;
}

.corp2026-mobile__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 20, 60, 0.55);
}

.corp2026-mobile__panel {
	position: absolute;
	top: 0;
	right: 0;
	height: 100%;
	width: min(340px, 86vw);
	background: linear-gradient(160deg, #00256a, #014ba0);
	padding: 24px;
	overflow-y: auto;
	box-shadow: -10px 0 40px rgba(0, 0, 0, 0.3);
}

.corp2026-mobile__close {
	background: transparent;
	border: 0;
	color: #fff;
	font-size: 30px;
	line-height: 1;
	cursor: pointer;
	margin-bottom: 16px;
}

.corp2026-mobile__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.corp2026-mobile__list a {
	display: block;
	color: #fff;
	font-size: 17px;
	padding: 14px 8px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.corp2026-mobile__list .is-sub a {
	font-size: 15px;
	color: rgba(255, 255, 255, 0.78);
	padding-left: 22px;
}

/* =====================================================================
   RESPONSIVE
   ===================================================================== */

/* La píldora centrada tiene ancho fijo; por debajo de 1200px no cabe junto
   al logo y la búsqueda, así que pasamos a menú hamburguesa. */
@media (max-width: 1200px) {
	.corp2026-pill,
	.corp2026-icon-btn {
		display: none;
	}
	.corp2026-burger {
		display: inline-flex;
	}
}

@media (max-width: 1180px) {
	.corp2026-emp-card__title {
		font-size: 24px;
	}
	.corp2026-topbar__tagline {
		display: none;
	}
}

@media (max-width: 992px) {
	.corp2026 .c2026-wrap {
		padding: 0 24px;
	}
	.corp2026-topbar {
		display: none;
	}
	.corp2026-emp-grid {
		grid-template-columns: 1fr;
	}
	.corp2026-reg-grid {
		grid-template-columns: 1fr;
	}
	.corp2026-footer__cols {
		grid-template-columns: repeat(2, 1fr);
		gap: 30px 36px;
	}
	.corp2026-footer__col--sub {
		padding-top: 0;
	}
	.corp2026-footer__services {
		grid-template-columns: repeat(2, 1fr);
		gap: 22px 36px;
	}
	.corp2026-footer__band .c2026-wrap {
		grid-template-columns: 1fr;
		gap: 14px;
		text-align: center;
		justify-items: center;
	}
}

@media (max-width: 640px) {
	.corp2026 .c2026-wrap {
		padding: 0 18px;
	}
	.corp2026-nav .c2026-wrap {
		min-height: 74px;
	}
	.corp2026-transparency {
		padding: 40px 22px;
	}
	.corp2026-transparency__deco {
		display: none;
	}
	.corp2026-transparency__title {
		font-size: 27px;
	}
	.corp2026-btn {
		padding: 14px 40px;
		width: 100%;
	}
	.corp2026-footer__cols {
		grid-template-columns: 1fr;
	}
	.corp2026-footer__services {
		grid-template-columns: 1fr;
		text-align: left;
	}
	.corp2026-emp-card,
	.corp2026-reg-card {
		min-height: 0;
	}
}

/* =====================================================================
   PÁGINAS INTERIORES (Quiénes somos / Organigrama…)
   ===================================================================== */

.corp2026-page-title {
	font-family: var(--font-title);
	font-weight: 600;
	font-size: 28px;
	line-height: 32px;
	letter-spacing: -0.02em;
	color: var(--c-ink);
	margin: 0 0 32px;
}

.corp2026-section {
	margin-bottom: 48px;
}

.corp2026-h2 {
	font-family: var(--font-title);
	font-weight: 600;
	font-size: 20px;
	line-height: 1.1;
	letter-spacing: -0.02em;
	color: #121212;
	margin: 0 0 24px;
}

/* ---- Organigrama ---- */
.corp2026-org__lead {
	margin-bottom: 24px;
}

.corp2026-org__lead .corp2026-org-card {
	width: calc((100% - 48px) / 3);
}

.corp2026-org__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}

.corp2026-org-card {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	gap: 10px;
	padding: 24px 24px 16px;
	border: 1px solid #b6c9e4;
	border-radius: 24px;
	min-height: 135px;
}

.corp2026-org-card__icon {
	width: 40px;
	height: 40px;
	border-radius: 40px;
	background: #f4f9fc;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--c-ink);
	flex: 0 0 auto;
}

.corp2026-org-card__icon svg {
	width: auto;
	height: 22px;
}

.corp2026-org-card__name {
	font-family: var(--font-title);
	font-weight: 600;
	font-size: 18px;
	line-height: 24px;
	letter-spacing: -0.02em;
	color: var(--c-ink);
}

.corp2026-org-card__role {
	font-size: 16px;
	line-height: 22px;
	color: #6f7884;
}

/* ---- Consejo de administración ---- */
.corp2026-council {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
	align-items: start;
}

.corp2026-council__box {
	border: 1px solid var(--c-soft);
	border-radius: 16px;
	overflow: hidden;
}

.corp2026-council__row {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px;
	border-bottom: 1px solid var(--c-soft);
}

.corp2026-council__row:last-child {
	border-bottom: 0;
}

.corp2026-council__row svg {
	width: auto;
	height: 22px;
	color: #6f7884;
	flex: 0 0 auto;
}

.corp2026-council__name {
	font-size: 18px;
	line-height: 24px;
	letter-spacing: -0.02em;
	color: var(--c-ink);
}

/* ---- Contacto ---- */
.corp2026-contact__sub {
	font-weight: 600;
	font-size: 18px;
	line-height: 24px;
	letter-spacing: -0.02em;
	color: var(--c-ink);
	margin: 0 0 8px;
}

.corp2026-contact__row {
	display: flex;
	gap: 24px;
	align-items: stretch;
}

.corp2026-contact__img {
	width: 427px;
	height: 240px;
	border-radius: 16px;
	object-fit: cover;
	flex: 0 0 auto;
	display: block;
}

.corp2026-contact__table {
	flex: 1 1 auto;
	border: 1px solid var(--c-soft);
	border-radius: 16px;
	overflow: hidden;
	align-self: flex-start;
}

.corp2026-contact__line {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	padding: 12px;
	border-bottom: 1px solid var(--c-soft);
	font-size: 18px;
	line-height: 24px;
	letter-spacing: -0.02em;
	color: var(--c-ink);
}

.corp2026-contact__line:last-child {
	border-bottom: 0;
}

.corp2026-contact__line a {
	color: var(--c-blue);
	text-decoration: underline;
}

@media (max-width: 992px) {
	.corp2026-org__grid {
		grid-template-columns: 1fr 1fr;
	}
	.corp2026-org__lead .corp2026-org-card {
		width: calc((100% - 24px) / 2);
	}
	.corp2026-council {
		grid-template-columns: 1fr;
	}
	.corp2026-contact__row {
		flex-direction: column;
	}
	.corp2026-contact__img {
		width: 100%;
	}
}

@media (max-width: 640px) {
	.corp2026-org__grid {
		grid-template-columns: 1fr;
	}
	.corp2026-org__lead .corp2026-org-card {
		width: 100%;
	}
}

/* ---- Texto/prosa de páginas interiores ---- */
.corp2026-prose {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 16px;
}

.corp2026-para {
	font-size: 17px;
	line-height: 24px;
	letter-spacing: -0.02em;
	color: var(--c-ink);
	margin: 0;
	max-width: 1296px;
}

.corp2026-para-margin {
	font-size: 17px;
	line-height: 24px;
	letter-spacing: -0.02em;
	color: var(--c-ink);
	margin:0 0 16px;
	max-width: 1296px;
}

.corp2026-para-mb {
	font-size: 17px;
	line-height: 24px;
	letter-spacing: -0.02em;
	color: var(--c-ink);
	margin-bottom: 16px;
	max-width: 1296px;
}

.corp2026-linkbox {
	display: flex;
	align-items: center;
	gap: 10px;
	width: 100%;
	padding: 12px;
	border: 1px solid var(--c-soft);
	border-radius: 12px;
	color: var(--c-blue);
	font-size: 18px;
	line-height: 24px;
	letter-spacing: -0.02em;
}

.corp2026-linkbox:hover {
	color: var(--c-navy);
	background: var(--c-near-white);
}

.corp2026-linkbox svg {
	width: 24px;
	height: 24px;
	color: #6f7884;
	flex: 0 0 auto;
}

/* ---- Mapa (¿Dónde estamos?) ---- */
.corp2026-mapblock {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 16px;
	margin-bottom: 32px;
}

.corp2026-map {
	display: block;
	width: 100%;
	height: 444px;
	border: 0;
	border-radius: 24px;
	overflow: hidden;
	background: #e8eef4;
}

.corp2026-map.leaflet-container {
	font: inherit;
}

@media (max-width: 640px) {
	.corp2026-map {
		height: 320px;
	}
}

/* ---- Texto a dos columnas + listas (Visita guiada…) ---- */
.corp2026-cols2 {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 64px;
	align-items: start;
}

.corp2026-para a {
	color: var(--c-ink);
	text-decoration: underline;
}

.corp2026-para a:hover {
	color: var(--c-blue);
}

.corp2026-list {
	margin: 0;
	padding-left: 22px;
	font-size: 18px;
	line-height: 24px;
	letter-spacing: -0.02em;
	color: var(--c-ink);
}

.corp2026-list > li {
	margin-bottom: 12px;
	padding-left: 6px;
}

.corp2026-list a {
	color: var(--c-ink);
	text-decoration: underline;
}

.corp2026-list a:hover {
	color: var(--c-blue);
}

.corp2026-list ol {
	margin: 8px 0 0;
	padding-left: 20px;
	list-style: lower-alpha;
}

.corp2026-list ol > li {
	margin-bottom: 4px;
	padding-left: 6px;
}

@media (max-width: 992px) {
	.corp2026-cols2 {
		grid-template-columns: 1fr;
		gap: 32px;
	}
}

/* Columna con bloques apilados */
.corp2026-col {
	display: flex;
	flex-direction: column;
	gap: 32px;
}

/* ---- Columna con varias subsecciones (Accesibilidad…) ---- */
.corp2026-stack {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 48px;
}

/* ---- Portal de transparencia (grid de categorías) ---- */
.corp2026-pt-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 48px 24px;
	align-items: start;
}

.corp2026-pt-cat__title {
	font-family: var(--font-title);
	font-weight: 600;
	font-size: 20px;
	line-height: 1.2;
	letter-spacing: -0.02em;
	color: var(--c-ink);
	margin: 0 0 16px;
}

.corp2026-pt-box {
	border: 1px solid var(--c-soft);
	border-radius: 12px;
	overflow: hidden;
}

.corp2026-pt-row {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 48px;
	padding: 8px 12px;
	border-bottom: 1px solid var(--c-soft);
	color: var(--c-blue);
	font-size: 16px;
	line-height: 22px;
}

.corp2026-pt-row:last-child {
	border-bottom: 0;
}

a.corp2026-pt-row:hover {
	background: var(--c-near-white);
	color: var(--c-navy);
}

.corp2026-pt-row__ic {
	flex: 0 0 auto;
	width: 28px;
	height: 28px;
	border-radius: 8px;
	background: var(--c-near-white);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--c-blue);
}

.corp2026-pt-row__ic svg {
	width: 16px;
	height: 16px;
}

.corp2026-pt-row--disabled {
	color: #9aa4b2;
}

@media (max-width: 992px) {
	.corp2026-pt-grid {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 640px) {
	.corp2026-pt-grid {
		grid-template-columns: 1fr;
	}
}

/* Variante de 2 columnas */
.corp2026-pt-grid--2cols {
	grid-template-columns: repeat(2, 1fr);
}
@media (max-width: 640px) {
	.corp2026-pt-grid--2cols {
		grid-template-columns: 1fr;
	}
}

/* ---- Identidad corporativa ---- */
.corp2026-idc-left {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 24px;
}

.corp2026-idc-right {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 16px;
}

.corp2026-idc-right .corp2026-h2,
.corp2026-idc-right .corp2026-para {
	margin: 0;
}

.corp2026-idc-cover {
	background: var(--c-navy);
	border-radius: 16px;
	padding: 26px 30px 22px;
	color: #fff;
	max-width: 256px;
}

.corp2026-idc-cover__brand {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: #fff;
	font-weight: 700;
	font-size: 30px;
	line-height: 1;
	margin-bottom: 22px;
}

.corp2026-idc-cover__brand svg {
	height: 30px;
	width: auto;
}

.corp2026-idc-cover__label {
	margin: 0;
	font-size: 15px;
	line-height: 1.25;
}

.corp2026-idc-cover__label strong {
	font-weight: 700;
}

/* Marca inline (anagrama + palabra) para las filas de logotipos */
.corp2026-idc-brand {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	color: var(--c-blue);
	font-weight: 700;
	font-size: 18px;
	line-height: 1;
}

.corp2026-idc-brand svg {
	height: 20px;
	width: auto;
}

.corp2026-idc-list {
	border: 1px solid var(--c-soft);
	border-radius: 12px;
	overflow: hidden;
}

.corp2026-idc-row {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 12px 16px;
	border-bottom: 1px solid var(--c-soft);
}

.corp2026-idc-row:last-child {
	border-bottom: 0;
}

.corp2026-idc-row__logo {
	flex: 0 0 auto;
	width: 60px;
}

.corp2026-idc-row__name {
	flex: 1 1 auto;
	color: var(--c-ink);
	font-size: 16px;
}

.corp2026-idc-row__dl {
	flex: 0 0 auto;
	color: var(--c-blue);
	text-decoration: underline;
	font-size: 16px;
	white-space: nowrap;
}

@media (max-width: 640px) {
	.corp2026-idc-row {
		flex-wrap: wrap;
		gap: 6px 16px;
	}
	.corp2026-idc-row__name {
		flex: 1 1 60%;
	}
}

/* ---- Perfil del contratante · Procedimientos ---- */
.corp2026-proc {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 360px;
	gap: 40px;
	align-items: start;
}

.corp2026-proc__intro {
	margin: 0 0 20px;
	color: var(--c-ink-60);
	font-size: 16px;
	line-height: 1.5;
}

.corp2026-proc__intro a {
	text-decoration: underline;
}

.corp2026-proc-list {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.corp2026-proc-item {
	display: block;
	border: 1px solid var(--c-soft);
	border-radius: 12px!important;
	padding: 16px 20px;
	color: var(--c-ink);
	transition: border-color 0.2s ease, background 0.2s ease;
}

a.corp2026-proc-item:hover {
	border-color: var(--c-blue);
	background: var(--c-near-white);
	color: var(--c-ink);
}

.corp2026-proc-item__title {
	display: block;
	font-family: var(--font-title);
	font-weight: 600;
	font-size: 18px;
	line-height: 1.3;
	letter-spacing: -0.02em;
	color: var(--c-navy)!important;
}

.corp2026-proc-item__title svg {
	width: 15px;
	height: 15px;
	color: var(--c-blue);
	vertical-align: -1px;
	margin-left: 2px;
}

.corp2026-proc-prorroga {
	color: var(--c-ink-60);
	font-weight: 400;
}

.corp2026-proc-item__date {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: 8px;
	color: var(--c-ink-60);
	font-size: 15px;
}

.corp2026-proc-item__date svg {
	width: 16px;
	height: 16px;
	flex: 0 0 auto;
}

.corp2026-proc-item__entity {
	display: block;
	margin-top: 4px;
	color: var(--c-ink);
	font-size: 15px;
}

.corp2026-proc-empty {
	border: 1px solid var(--c-soft);
	border-radius: 12px;
	padding: 32px 24px;
	text-align: center;
	color: var(--c-ink-60);
	font-size: 16px;
}

/* Sidebar del perfil del contratante */
.corp2026-side {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.corp2026-side-box {
	border: 1px solid var(--c-soft);
	border-radius: 16px;
	overflow: hidden;
}

.corp2026-side-box__head {
	background: var(--c-near-white);
	border-bottom: 1px solid var(--c-soft);
	padding: 14px 16px;
	font-family: var(--font-title);
	font-weight: 600;
	font-size: 16px;
	line-height: 1.25;
	letter-spacing: -0.02em;
	color: var(--c-ink);
}

.corp2026-side-menu a {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 11px 16px;
	border-bottom: 1px solid var(--c-soft);
	color: var(--c-blue);
	font-size: 15px;
	line-height: 1.35;
}

.corp2026-side-menu a:last-child {
	border-bottom: 0;
}

.corp2026-side-menu a:hover {
	background: var(--c-near-white);
	color: var(--c-navy);
}

.corp2026-side-menu a.is-active {
	background: var(--c-blue);
	color: var(--c-near-white);
	font-weight: 600;
}

.corp2026-side-box__body {
	padding: 14px 16px;
	color: var(--c-ink);
	font-size: 15px;
	line-height: 1.5;
}

.corp2026-side-box__body a {
	text-decoration: underline;
}

@media (max-width: 992px) {
	.corp2026-proc {
		grid-template-columns: 1fr;
	}
}

/* ---- Lista de documentos por año (Plan de Contratación Anual, etc.) ---- */
.corp2026-doclist {
	border: 1px solid var(--c-soft);
	border-radius: 12px;
	overflow: hidden;
}

.corp2026-doclist a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 15px 18px;
	border-bottom: 1px solid var(--c-soft);
	color: var(--c-blue);
	font-size: 16px;
	font-weight: 600;
}

.corp2026-doclist a:last-child {
	border-bottom: 0;
}

.corp2026-doclist a:hover {
	background: var(--c-near-white);
	color: var(--c-navy);
}

.corp2026-doclist a svg {
	width: 18px;
	height: 18px;
	flex: 0 0 auto;
	color: var(--c-blue);
}

/* ============================================================
 * Listado de convocatorias de empleo (indefinido / temporal / bolsas)
 * ============================================================ */
.corp2026-conv {
	margin-bottom: 48px;
}

/* Barra: contador + filtros */
.corp2026-conv__bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
	margin-bottom: 12px;
}

.corp2026-conv__count {
	margin: 0;
	font-family: var(--font-title);
	font-size: 20px;
	line-height: 1.1;
	color: #121212;
}

.corp2026-conv__count strong {
	font-weight: 600;
}

/* Segmented control: contenedor gris con pestaña activa blanca */
.corp2026-conv__filters {
	display: inline-flex;
	align-items: center;
	gap: 2px;
	background: #f2f6fa;
	border-radius: 6px;
	padding: 2px;
}

.corp2026-conv__filter {
	appearance: none;
	border: 0;
	background: transparent;
	cursor: pointer;
	font-family: var(--font);
	font-size: 12px;
	line-height: 14px;
	font-weight: 400;
	letter-spacing: 0.01em;
	text-transform: uppercase;
	color: #6f7884;
	height: 22px;
	padding: 4px 8px;
	border-radius: 4px;
	white-space: nowrap;
	transition: background 0.2s ease, box-shadow 0.2s ease;
}

.corp2026-conv__filter:hover {
	color: var(--c-navy);
}

.corp2026-conv__filter.is-active {
	background: #ffffff;
	font-weight: 700;
	color: #6f7884;
	box-shadow: 0 1px 2px rgba(15, 33, 66, 0.08);
}

/* Tabla */
.corp2026-conv__scroll {
	overflow-x: auto;
}

.corp2026-conv-table {
	width: 100%;
	border-collapse: collapse;
	table-layout: auto;
	/* Fuente base de las filas (Roboto → fallback del sistema) */
	font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

.corp2026-conv-table th,
.corp2026-conv-table td {
	text-align: left;
	vertical-align: middle;
	height: 40px;
	padding: 4px 8px;
	border-bottom: 1px solid #d0e4ef;
}

/* Cabecera: texto Roboto 600 + sombra inferior de 2px + línea separadora */
.corp2026-conv-table thead th {
	font-weight: 600;
	font-size: 14px;
	line-height: 14px;
	color: #3f4855;
	border-bottom: 1px solid #d0e4ef;
	box-shadow: 0 2px 0 #e5e5e5;
	white-space: nowrap;
}

.corp2026-conv-table thead th.corp2026-conv-table__date {
	color: #3f4855;
}

.corp2026-conv-table thead th .corp2026-conv-table__sort {
	vertical-align: middle;
	margin-left: 4px;
	color: #3f4855;
}

/* Columna de fecha: ancho fijo 130px */
.corp2026-conv-table__date {
	width: 130px;
	min-width: 130px;
	white-space: nowrap;
	font-size: 14px;
	color: #3f4855;
}

.corp2026-conv-table tbody td {
	font-weight: 400;
	font-size: 14px;
	line-height: 16px;
	color: #3f4855;
}

/* Enlace de la convocatoria: azul subrayado */
.corp2026-conv-table__link {
	color: #014ba0;
	text-decoration: underline;
}

.corp2026-conv-table__link:hover {
	color: var(--c-navy);
}

/* Fila destacada (convocatoria activa): fondo suave + fuente de marca */
.corp2026-conv-table tbody tr.is-activa td {
	background: #f2f8fb;
	font-family: var(--font);
}

.corp2026-conv-table tbody tr.is-activa .corp2026-conv-table__date {
	font-weight: 600;
}

.corp2026-conv-table tbody tr.is-activa .corp2026-conv-table__link {
	font-weight: 400;
}

.corp2026-conv__empty {
	padding: 24px 8px;
	color: var(--c-ink-60);
	font-size: 15px;
}

@media (max-width: 640px) {
	.corp2026-conv-table__date,
	.corp2026-conv-table th.corp2026-conv-table__date {
		width: 92px;
		min-width: 92px;
	}
	.corp2026-conv__count {
		font-size: 18px;
	}
	.corp2026-conv__bar {
		align-items: flex-start;
		flex-direction: column;
	}
}

/* ============================================================
 * Detalle de convocatoria de empleo
 * ============================================================ */
.corp2026-cdet {
	max-width: 1076px;
}

/* Epígrafe pequeño en mayúsculas (p. ej. "Grupos profesionales") */
.corp2026-cdet__eyebrow {
	margin: 24px 0 16px;
	font-family: var(--font);
	font-weight: 600;
	font-size: 12px;
	line-height: 14px;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: #6f7884;
}

/* Lista superior de grupos profesionales (anclas) */
.corp2026-cdet__groups {
	list-style: none;
	margin: 0 0 8px;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.corp2026-cdet__grouplink {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: var(--font);
	font-weight: 400;
	font-size: 18px;
	line-height: 24px;
	letter-spacing: -0.02em;
	color: #014ba0;
	text-decoration: none;
}

.corp2026-cdet__grouplink:hover {
	text-decoration: underline;
}

/* Círculo con icono (24px en la lista, 32px en las filas de documentos) */
.corp2026-cdet__ico {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	background: #f2f6fa;
	border-radius: 50%;
	color: #014ba0;
}

.corp2026-cdet__ico--sm {
	width: 24px;
	height: 24px;
}

.corp2026-cdet__ico--sm svg {
	width: 16px;
	height: 16px;
}

.corp2026-cdet__ico--md {
	width: 32px;
	height: 32px;
}

.corp2026-cdet__ico--md svg {
	width: 18px;
	height: 18px;
}

/* Sección de un grupo profesional */
.corp2026-cdet__section {
	margin-top: 40px;
	scroll-margin-top: 24px;
}

.corp2026-cdet__grouphead {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
	margin-bottom: 20px;
}

.corp2026-cdet__groupname {
	margin: 0;
	font-family: var(--font-title);
	font-weight: 600;
	font-size: 34px;
	line-height: 38px;
	letter-spacing: -0.02em;
	color: #121212;
}

/* Botón "Copiar enlace" */
.corp2026-cdet__copy {
	display: inline-flex;
	align-items: center;
	gap: 3px;
	background: #f2f6fa;
	border: 0;
	border-radius: 22px;
	padding: 2px 12px 2px 4px;
	cursor: pointer;
	font-family: var(--font);
	font-weight: 400;
	font-size: 14px;
	line-height: 18px;
	letter-spacing: -0.02em;
	color: #014ba0;
}

.corp2026-cdet__copy svg {
	width: 16px;
	height: 16px;
}

.corp2026-cdet__copy:hover {
	background: #e6eef7;
}

/* Título de apartado (Museo 18) */
.corp2026-cdet__subtitle {
	margin: 24px 0 16px;
	font-family: var(--font-title);
	font-weight: 600;
	font-size: 18px;
	line-height: 24px;
	letter-spacing: -0.02em;
	color: #1f2e40;
}

/* Cabecera de fase (1ª Fase concurso / 2ª Fase oposición): más aire arriba */
.corp2026-cdet__phase {
	margin-top: 40px;
}

/* Texto de estado "En proceso" */
.corp2026-cdet__status {
	margin: 0 0 8px;
	font-family: var(--font-title);
	font-weight: 300;
	font-size: 18px;
	line-height: 24px;
	letter-spacing: -0.02em;
	color: #1f2e40;
}

/* Caja con lista de documentos */
.corp2026-cdet__box {
	border: 1px solid #d4dfef;
	border-radius: 16px;
	overflow: hidden;
}

.corp2026-cdet__row {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px;
	min-height: 48px;
	border-bottom: 1px solid #d4dfef;
	text-decoration: none;
}

.corp2026-cdet__row:last-child {
	border-bottom: 0;
}

.corp2026-cdet__row:hover {
	background: #f7fafd;
}

.corp2026-cdet__row-text {
	font-family: var(--font);
	font-weight: 400;
	font-size: 18px;
	line-height: 24px;
	letter-spacing: -0.02em;
	color: #014ba0;
}

.corp2026-cdet__row:hover .corp2026-cdet__row-text {
	text-decoration: underline;
}

/* Separador entre grupos */
.corp2026-cdet__divider {
	height: 1px;
	border: 0;
	background: #bfc2c8;
	margin: 40px 0;
}

/* Puntos de paginación */
.corp2026-cdet__dots {
	display: flex;
	gap: 7px;
	margin-top: 40px;
}

.corp2026-cdet__dots span {
	width: 13px;
	height: 13px;
	border-radius: 50%;
	background: #d9d9d9;
}

@media (max-width: 640px) {
	.corp2026-cdet__grouplink,
	.corp2026-cdet__row-text {
		font-size: 16px;
	}
}

/* Caja de contenido con borde fino y transparente */
.corp2026-content-box {
	border: 1px solid var(--c-soft);
	border-radius: 12px;
	padding: 20px 24px;
	margin-top: 20px;
	background: transparent;
}

.corp2026-content-box h2 {
	font-family: var(--font-title);
	font-weight: 600;
	font-size: 22px;
	color: var(--c-navy);
	margin-bottom: 12px;
}

.corp2026-content-box h3 {
	font-family: var(--font-title);
	font-weight: 600;
	font-size: 18px;
	color: var(--c-navy);
	margin-top: 20px;
	margin-bottom: 10px;
}

.corp2026-content-box ul {
	padding-left: 20px;
	margin-bottom: 16px;
}

.corp2026-content-box li {
	margin-bottom: 6px;
	color: var(--c-ink);
}

.corp2026-content-box p {
	font-size: 18px;
	line-height: 24px;
	letter-spacing: -0.02em;
	color: var(--c-ink);
}

/* =====================================================================
   FORMULARIOS 2026 (estilos compartidos)
   ===================================================================== */

/* Sección de formulario (fieldset con borde redondeado) */
.corp2026-frm-seccion {
	border: 1px solid var(--c-soft);
	background-color: #fff;
	border-radius: 24px;
	padding: 20px;
	margin-top: 24px;
	min-width: 0;
}
@media (min-width: 1024px) {
	.corp2026-frm-seccion { padding: 32px; }
}
.corp2026-frm-seccion::after { content: ""; display: table; clear: both; }
.corp2026-frm-seccion > *:not(legend) { clear: both; }

/* Título de sección */
.corp2026-frm-seccion-titulo {
	float: left;
	width: 100%;
	padding: 0;
	font-family: var(--font-title);
	font-weight: 700;
	font-size: 18px;
	line-height: 1.3;
	margin-bottom: 16px;
	color: var(--c-ink);
}

/* Etiqueta de campo */
.corp2026-frm-label {
	display: block;
	font-size: 14px;
	font-weight: 600;
	color: #566178;
	margin-bottom: 0;
}

/* Texto de ayuda bajo la etiqueta */
.corp2026-frm-ayuda {
	display: block;
	margin-top: 4px;
	font-size: 14px;
	line-height: 1.45;
	color: #6f7884;
}

/* Asterisco obligatorio */
.corp2026-frm-req {
	color: #c53030;
	margin-left: 2px;
}

/* Input, select, textarea */
.corp2026-frm-input {
	display: block;
	width: 100%;
	margin-top: 8px;
	padding: 12px 16px;
	font-size: 16px;
	font-family: inherit;
	color: var(--c-ink);
	background-color: #fff;
	border: 1px solid var(--c-soft);
	border-radius: 16px;
	appearance: none;
	transition: border-color 0.2s ease, outline 0.2s ease;
}
.corp2026-frm-input:focus {
	outline: 2px solid var(--c-blue);
	outline-offset: 1px;
	border-color: var(--c-blue);
}
.corp2026-frm-input.frm-campo-error {
	border-color: #c53030;
}

/* Textarea */
.corp2026 textarea.corp2026-frm-input {
	line-height: 1.5;
	resize: vertical;
}

/* Select con icono flecha */
.corp2026 select.corp2026-frm-input {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%231f2e40'%3E%3Cpath d='M5.5 7.5 10 12l4.5-4.5z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 12px center;
	background-size: 20px 20px;
	padding-right: 40px;
}

/* Grupo de formulario */
.corp2026-frm-grupo {
	margin-bottom: 20px;
}

/* Grid de dos columnas para campos */
.corp2026-frm-row {
	display: grid;
	grid-template-columns: 1fr;
	gap: 20px;
}
@media (min-width: 768px) {
	.corp2026-frm-row { grid-template-columns: 1fr 1fr; }
}

/* Opciones de tipo radio/checkbox en forma de tarjeta */
.corp2026-frm-opciones {
	display: grid;
	grid-template-columns: 1fr;
	gap: 12px;
	margin-top: 12px;
}
@media (min-width: 768px) {
	.corp2026-frm-opciones { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.corp2026-frm-opciones--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

.corp2026-frm-opcion {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 14px 16px;
	border: 1px solid var(--c-soft);
	border-radius: 16px;
	background-color: #fff;
	cursor: pointer;
	transition: border-color 0.2s ease, background-color 0.2s ease;
}
.corp2026-frm-opcion:hover {
	border-color: var(--c-blue);
}
.corp2026-frm-opcion:has(input:checked) {
	border-color: var(--c-blue);
	background-color: #f0f7ff;
}
.corp2026-frm-opcion:has(input:focus-visible) {
	outline: 2px solid var(--c-blue);
	outline-offset: 1px;
}
.corp2026-frm-opcion input {
	margin-top: 3px;
	width: 18px;
	height: 18px;
	accent-color: var(--c-blue);
	flex: none;
}
.corp2026-frm-opcion-titulo {
	display: block;
	font-size: 15px;
	color: var(--c-ink);
}
.corp2026-frm-opcion-ayuda {
	display: block;
	font-size: 13px;
	color: #6f7884;
}
.corp2026-frm-opciones.frm-campo-error .corp2026-frm-opcion {
	border-color: #c53030;
}

/* Aviso informativo */
.corp2026-frm-aviso {
	margin-top: 24px;
	padding: 16px 20px;
	border-radius: 16px;
	border-left: 4px solid var(--c-blue);
	background-color: #f0f7ff;
	color: #566178;
	font-size: 15px;
	line-height: 1.5;
}
.corp2026-frm-aviso--alerta {
	border-left-color: #c53030;
	background-color: #fff5f5;
}
.corp2026-frm-aviso-titulo {
	font-weight: 700;
	color: var(--c-ink);
	margin-bottom: 6px;
}

/* Mensaje de error */
.corp2026-frm-error {
	margin-top: 6px;
	font-size: 14px;
	font-weight: 600;
	color: #c53030;
}

/* Botón de envío */
.corp2026-frm-boton {
	display: block;
	width: 100%;
	padding: 16px 24px;
	border: 0;
	border-radius: 16px;
	background-color: var(--c-blue);
	color: #fff;
	font-family: inherit;
	font-size: 16px;
	font-weight: 600;
	cursor: pointer;
	transition: background-color 0.2s ease;
}
.corp2026-frm-boton:hover {
	background-color: var(--c-navy);
}
.corp2026-frm-boton[disabled] {
	opacity: 0.6;
	cursor: default;
}

/* Checkbox de privacidad */
.corp2026-frm-privacidad {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	cursor: pointer;
}
.corp2026-frm-privacidad input {
	margin-top: 3px;
	width: 18px;
	height: 18px;
	accent-color: var(--c-blue);
	flex: none;
}
.corp2026-frm-privacidad.frm-campo-error {
	color: #c53030;
}

/* Separador horizontal */
.corp2026-frm-hr {
	border: 0;
	border-top: 1px solid var(--c-soft);
	margin: 24px 0;
}

/* Contenedor gris interior */
.corp2026-frm-contenedor-gris {
	background-color: var(--c-near-white);
	padding: 20px;
	border-radius: 16px;
	margin-bottom: 20px;
}

/* Mensaje de éxito/error de envío */
.corp2026-frm-resultado {
	margin-top: 24px;
	padding: 16px 20px;
	border-radius: 16px;
	font-size: 15px;
}
.corp2026-frm-resultado--ok {
	background-color: #d4edda;
	color: #155724;
}
.corp2026-frm-resultado--ko {
	background-color: #fff5f5;
	color: #c53030;
}

/* =====================================================================
   FORMULARIOS MODERNOS (.frm-inc)
   ===================================================================== */

.frm-inc .frm-seccion {
	border: 1px solid var(--c-line, #e5e7eb);
	background-color: #fff;
	border-radius: 24px;
	padding: 20px;
	margin-top: 24px;
	min-width: 0;
}
@media (min-width: 1024px) {
	.frm-inc .frm-seccion { padding: 32px; }
}

.frm-inc .frm-seccion-titulo {
	font-family: var(--font-title);
    font-weight: 700;
    font-size: 18px;
    line-height: 1.3;
    margin-bottom: 16px;

	float: left;
	width: 100%;
	padding: 0;
	
	font-weight: 700;
	font-size: 18px;
	line-height: 1.3;
	margin-bottom: 16px;
	color: var(--c-ink, #1f2937);
}

.frm-inc .frm-label {
	display: block;
    font-size: 17px;
    font-weight: 600;
    color: var(--c-ink-60, #374151);
    margin-bottom: 8px;
    margin-top: 1.5em;
}

.frm-inc .frm-ayuda {
	display: block;
	margin-top: 4px;
	font-size: 14px;
	line-height: 1.45;
	color: var(--c-ink-60, #4b5563);
}

.frm-inc .frm-req {
	color: #be123c;
	margin-left: 2px;
}

.frm-inc .frm-input {
	display: block;
	width: 100%;
	margin-top: 8px;
	padding: 12px 16px;
	font-size: 16px;
	font-family: inherit;
	color: var(--c-ink, #1f2937);
	background-color: #fff;
	border: 1px solid var(--c-line, #e5e7eb);
	border-radius: 16px;
	appearance: none;
	-webkit-appearance: none;
	box-sizing: border-box;
}
.frm-inc .frm-input:focus {
	outline: 2px solid var(--c-blue, #1d4ed8);
	outline-offset: 1px;
	border-color: var(--c-blue, #1d4ed8);
}
.frm-inc .frm-input.frm-campo-error {
	border-color: #be123c;
}

.frm-inc .frm-privacidad {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	cursor: pointer;
	margin-top: 16px;
}
.frm-inc .frm-privacidad input {
	margin-top: 3px;
	width: 18px;
	height: 18px;
	accent-color: var(--c-blue, #1d4ed8);
	flex: none;
}
.frm-inc .frm-privacidad.frm-campo-error {
	color: #881337;
}

.frm-inc .frm-boton {
	display: block;
	width: 100%;
	padding: 16px 24px;
	border: 0;
	border-radius: 16px;
	background-color: var(--c-blue, #1d4ed8);
	color: #fff;
	font-family: inherit;
	font-size: 16px;
	font-weight: 600;
	cursor: pointer;
	text-decoration: none;
	text-align: center;
	margin-top: 24px;
}
.frm-inc .frm-boton:hover {
	background-color: var(--c-navy, #1e40af);
	color: #fff;
}

.frm-inc .frm-aviso {
	margin-top: 24px;
	padding: 16px 20px;
	border-radius: 16px;
	border-left: 4px solid var(--c-blue, #1d4ed8);
	background-color: var(--c-near-white, #eff6ff);
	color: var(--c-ink-60, #374151);
	font-size: 15px;
	line-height: 1.5;
}
.frm-inc .frm-aviso-titulo {
	font-weight: 700;
	color: var(--c-ink, #1f2937);
	margin-bottom: 6px;
}

.frm-inc .frm-error {
	margin-top: 6px;
	font-size: 14px;
	font-weight: 600;
	color: #881337;
}

.frm-inc .frm-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 16px;
}
@media (min-width: 768px) {
	.frm-inc .frm-grid { grid-template-columns: repeat(2, 1fr); }
}

.frm-inc .frm-campo {
	margin-bottom: 0;
}
