/*
 * Área privada de socios: estilo de las piezas que escribe su código.
 *
 * Ese código (plugin «SERV – Área privada») arma sus pantallas con las clases de Elementor
 * (secciones, columnas, botones, separadores...). Aquí se les da forma con los valores del tema,
 * para que se vean bien sin Elementor. Si algún día se reescriben esas pantallas, este archivo sobra.
 */

/* El código escribe colores con el nombre que les daba Elementor; aquí apuntan a los del tema */

.zona-privada {
	--e-global-color-primary: var(--noche);
	--e-global-color-accent: var(--acento);
}

/* Algunas pantallas cargan estilos del panel de WordPress (el editor de ofertas de empleo);
   la barra y el menú lateral no deben cambiar por ello */

.zona-privada .ap-barra ul,
.zona-privada .ap-lateral ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.zona-privada .ap-barra a,
.zona-privada .ap-lateral a {
	color: inherit;
	text-decoration: none;
}

.zona-privada .ap-lateral li a:hover {
	color: var(--noche);
}

.zona-privada .ap-lateral li a[aria-current="page"] {
	color: #0b9ae0;
}

.zona-privada .ap-barra a:hover {
	color: var(--acento);
}

/* El desplegable de la cuenta (Mi perfil, Cerrar sesión) sí lleva su margen interior: sin él, el gris de la opción
   bajo el ratón tocaba el borde de la caja (Jandro, 19-10-2026). Y al pasar el ratón, en azul noche, como el menú
   lateral (serv.css, «.ap-barra__mas») */
.zona-privada .ap-barra .ap-barra__mas ul {
	padding: 8px;
}

.zona-privada .ap-barra .ap-barra__mas li a:hover {
	color: var(--noche);
}

.zona-privada .ap-contenido *,
.zona-privada .ap-contenido *::before,
.zona-privada .ap-contenido *::after {
	box-sizing: border-box;
}

/* En el área privada el margen lateral lo pone la página, no cada pieza: muchas piezas del código
   vienen con «ancho 100 %» escrito a mano y, con margen propio, se saldrían por la derecha */

.zona-privada .ap-contenido {
	padding-right: var(--pagina-margen);
	padding-left: var(--pagina-margen);
}

.zona-privada .ap-contenido > * {
	margin-right: 0;
	margin-left: 0;
}

/* Secciones y columnas */

.zona-privada .elementor-section {
	width: 100%;
}

.zona-privada .elementor-container {
	display: flex;
	flex-wrap: wrap;
	gap: 0 24px;
	width: 100%;
}

.zona-privada .elementor-column {
	flex: 1 1 0;
	min-width: 0;
}

.zona-privada .elementor-col-100 {
	flex-basis: 100%;
}

.zona-privada .elementor-col-50 {
	flex-basis: calc(50% - 12px);
}

.zona-privada .elementor-col-33 {
	flex-basis: calc(33.333% - 16px);
}

.zona-privada .elementor-col-20 {
	flex-basis: calc(20% - 20px);
}

.zona-privada .elementor-widget-wrap {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.zona-privada .elementor-widget:not(:last-child) {
	margin-bottom: 0;
}

.zona-privada .elementor-align-left {
	text-align: left;
}

/* Títulos y textos */

.zona-privada .elementor-heading-title {
	margin: 0;
	color: var(--noche);
	font-weight: 500;
}

.zona-privada .elementor-widget-text-editor p:last-child {
	margin-bottom: 0;
}

.zona-privada .elementor-widget-image img {
	max-width: 100%;
	height: auto;
}

/* Botones */

.zona-privada .ap-contenido a.elementor-button,
.zona-privada .elementor-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	border-radius: 999px;
	padding: 10px 28px;
	background: var(--acento);
	color: var(--blanco);
	font: 500 15px/22px Roboto, sans-serif;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	transition: background-color 0.2s;
}

.zona-privada .ap-contenido a.elementor-button:hover,
.zona-privada .elementor-button:hover {
	background: var(--noche);
	color: var(--blanco);
}

.zona-privada .elementor-button-text {
	color: inherit;
}

/* Separadores */

.zona-privada .elementor-divider {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 8px 0;
}

.zona-privada .elementor-divider-separator {
	display: flex;
	flex: 1;
	align-items: center;
	gap: 12px;
	border-top: 1px solid #e6e8ee;
}

.zona-privada .elementor-divider__svg {
	display: none;
}

/* Listas con icono */

.zona-privada .elementor-icon-list-items {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.zona-privada .elementor-icon-list-item,
.zona-privada .elementor-icon-list-item a {
	display: flex;
	align-items: center;
	gap: 10px;
}

.zona-privada .elementor-icon-list-icon svg,
.zona-privada .elementor-icon svg {
	width: 1em;
	height: 1em;
	fill: currentColor;
}

/* Campos de formulario: blancos, con borde fino, esquinas de la web y un halo azul al escribir.
   Valen para todos los formularios del área privada (empleo, perfil, UTI, buscadores...). */

:where(.zona-privada .ap-contenido) :is(input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="search"], input[type="number"], input[type="date"], input[type="password"], select, textarea) {
	width: 100%;
	max-width: 100%;
	min-height: 48px;
	border: 1px solid #d6dae3;
	border-radius: var(--radio-s);
	padding: 12px 14px;
	background-color: var(--blanco);
	color: var(--noche);
	font: 400 15px/22px Roboto, sans-serif;
	box-shadow: 0 1px 2px rgba(37, 43, 66, 0.04);
	transition: border-color var(--transicion), box-shadow var(--transicion);
}

:where(.zona-privada .ap-contenido) :is(input, select, textarea):hover {
	border-color: #b9c0cd;
}

.zona-privada .ap-contenido :is(input, select, textarea):focus {
	border-color: var(--azul);
	outline: none;
	background-color: var(--blanco);
	box-shadow: 0 0 0 3px rgba(19, 175, 249, 0.18);
}

.zona-privada .ap-contenido :is(input, textarea)::placeholder {
	color: #9aa1ad;
	opacity: 1;
}

/* Desplegables: flecha propia (caret-down de Phosphor) en lugar de la del navegador */
:where(.zona-privada .ap-contenido) select:not([multiple]) {
	appearance: none;
	padding-right: 42px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='%235b6172'%3E%3Cpath d='M213.66,101.66l-80,80a8,8,0,0,1-11.32,0l-80-80A8,8,0,0,1,53.66,90.34L128,164.69l74.34-74.35a8,8,0,0,1,11.32,11.32Z'/%3E%3C/svg%3E");
	background-position: right 14px center;
	background-repeat: no-repeat;
	background-size: 16px;
	cursor: pointer;
}

:where(.zona-privada .ap-contenido) :is(input[type="checkbox"], input[type="radio"]) {
	width: 18px;
	height: 18px;
	accent-color: var(--azul);
}

/* Casillas: las de la web (formulario del pie y «Recordarme» del acceso, serv.css) en vez de las del navegador
   (Jandro, 19-10-2026). Sin especificidad, para no tocar las de los plugins que llevan las suyas */
:where(.zona-privada .ap-contenido) input[type="checkbox"] {
	flex: none;
	width: 20px;
	height: 20px;
	min-height: 0;
	margin: 0;
	border: 1.5px solid #b9c0cd;
	border-radius: 6px;
	background: var(--blanco) center / 13px no-repeat;
	appearance: none;
	cursor: pointer;
	transition: background-color var(--transicion), border-color var(--transicion), box-shadow var(--transicion);
}

:where(.zona-privada .ap-contenido) input[type="checkbox"]:hover {
	border-color: var(--azul);
}

:where(.zona-privada .ap-contenido) input[type="checkbox"]:checked {
	border-color: var(--azul);
	background-color: var(--azul);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='%23fff'%3E%3Cpath d='M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z'/%3E%3C/svg%3E");
}

:where(.zona-privada .ap-contenido) input[type="checkbox"]:focus-visible {
	outline: none;
	box-shadow: 0 0 0 3px rgba(19, 175, 249, 0.18);
}

:where(.zona-privada .ap-contenido) input[type="checkbox"]:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

.zona-privada .ap-contenido label {
	display: block;
	margin-bottom: 6px;
	color: var(--noche);
	font-size: 14px;
	font-weight: 500;
}

/* Nada del contenido puede ensanchar la página */

.zona-privada .ap-contenido img,
.zona-privada .ap-contenido table,
.zona-privada .ap-contenido iframe {
	max-width: 100%;
}

.zona-privada .ap-contenido {
	overflow-wrap: anywhere;
}

@media (max-width: 767px) {
	.zona-privada .elementor-column {
		flex-basis: 100%;
	}
}

/* Piezas marcadas «solo en móvil», «solo en tableta» o «solo en escritorio» */

@media (min-width: 1025px) {
	.zona-privada .elementor-hidden-desktop.elementor-hidden-desktop {
		display: none;
	}
}

@media (min-width: 768px) and (max-width: 1024px) {
	.zona-privada .elementor-hidden-tablet.elementor-hidden-tablet {
		display: none;
	}
}

@media (max-width: 767px) {
	.zona-privada .elementor-hidden-mobile.elementor-hidden-mobile {
		display: none;
	}
}

/* ----------------------------------------------------------------------
   Piezas con nombre propio del código del área privada.
   Vienen del «CSS adicional» del personalizador, que estaba ligado al tema anterior.
   ---------------------------------------------------------------------- */

/* Formularios del área privada (empleo, perfil, UTI): cada campo con su etiqueta encima y aire entre ellos */

.formservclass {
	max-width: 760px;
}

.formservclass .perfillabel {
	margin-bottom: 20px;
}

.formservclass .row {
	--bs-gutter-x: 20px;
}

.formservclass label,
.perfillabel > span {
	display: block;
	margin-bottom: 6px;
	color: var(--noche);
	font-size: 14px;
	font-weight: 500;
	line-height: 20px;
	letter-spacing: 0;
}

/* Editor de texto de la descripción: con el mismo marco que los demás campos (su ancho viene escrito en línea) */
.formservclass #contenedorwpeditor {
	width: 100% !important;
	overflow: hidden;
	border: 1px solid #d6dae3;
	border-radius: var(--radio-s);
	background: var(--blanco) !important;
}

.formservclass #contenedorwpeditor .mce-tinymce {
	border: 0 !important;
	box-shadow: none !important;
}

.formservclass #contenedorwpeditor .mce-toolbar-grp {
	border-bottom: 1px solid var(--borde) !important;
	background: #f7f8fa !important;
}

.formservclass :is(input[type="submit"], button[type="submit"]) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: auto;
	min-width: 200px;
	min-height: 48px;
	border: 0;
	border-radius: var(--radio-boton);
	padding: 12px 32px;
	background: var(--azul);
	color: var(--blanco);
	font: 500 15px/22px Roboto, sans-serif;
	letter-spacing: 0;
	text-transform: none;
	cursor: pointer;
	transition: background-color var(--transicion);
}

.formservclass :is(input[type="submit"], button[type="submit"]):hover {
	background: var(--azul-hondo);
}

#formbusqueda input::placeholder {
	opacity: 0;
}

/* Aviso de «Guardando…» que el código enseña y esconde */

#preloader {
	display: none;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10000;
	width: 100%;
	height: 100%;
	background: var(--blanco);
	opacity: 0.8;
}

#loader {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 120px;
	height: 120px;
	margin: -60px 0 0 -60px;
	border: 16px solid #f3f3f3;
	border-top-color: var(--acento);
	border-radius: 50%;
	animation: ap-girar 2s linear infinite;
}

@keyframes ap-girar {
	to {
		transform: rotate(360deg);
	}
}

/* Ventanas emergentes (cambiar la foto del perfil, detalle de una oferta) */

.zona-privada .exad-modal-item {
	visibility: hidden;
	position: fixed;
	left: 50%;
	z-index: 10001;
	width: min(420px, calc(100vw - 32px));
	border-radius: 16px;
	padding: 24px;
	background: var(--blanco);
	box-shadow: 0 24px 60px -16px rgba(15, 20, 40, 0.45);
	opacity: 0;
	transition: opacity 0.2s;
}

.zona-privada .exad-modal-item.active {
	visibility: visible;
	opacity: 1;
}

/* Centrada de verdad y siempre dentro de la pantalla: el código la coloca a un 30 % de altura (en línea),
   y una ventana larga como «Añadir centro de trabajo» se salía por arriba. Si no cabe, se desplaza por dentro. */
.zona-privada .exad-modal-item[style] {
	top: 50% !important;
	max-height: calc(100vh - 48px);
	overflow-x: hidden !important;
	overflow-y: auto !important;
	transform: translate(-50%, -50%) !important;
}

.zona-privada .exad-modal-item.modal-vimeo:has(form#addcentro) {
	width: min(640px, calc(100vw - 32px)) !important;
}

.zona-privada .exad-modal-item :is(div[style*="margin-top: 50px"], div[style*="min-width: 380px"]) {
	min-width: 0 !important;
	margin-top: 0 !important;
}

.zona-privada .exad-modal-overlay {
	display: none;
	position: fixed;
	inset: 0;
	z-index: 10000;
	background: rgba(15, 20, 40, 0.55);
}

.zona-privada .exad-modal-overlay.active {
	display: block;
}

.zona-privada .exad-close-btn {
	position: absolute;
	top: 8px;
	right: 12px;
	cursor: pointer;
}

/* Ofertas de empleo */

.detalleoferta ul {
	margin-left: 20px;
	list-style: disc;
}

/*
 * Anchos fijos escritos en línea por el código del área privada (buscador, PubMed, Vademécum):
 * «width: 1200px», «width: 1226px» y márgenes a mano pensados para la plantilla de Elementor.
 * Un estilo en línea solo se puede anular con !important: es la excepción admitida en las normas del tema.
 */
.zona-privada .ap-contenido :is(.elementor-section, .elementor-container)[style*="width"] {
	width: auto !important;
	max-width: 100% !important;
	margin-left: 0 !important;
}

/* Barra del buscador (inicio y /area-privada-serv/buscador/): la barra gris es el campo. El texto va sin caja
   propia ni halo azul al escribir (decisión de Jandro); al entrar, la barra solo marca un borde gris. Sin
   esquinas redondeadas en el campo, que recortarían el cursor al principio del texto.
   El botón «Buscar» va pegado al borde derecho de la barra, de arriba abajo y con sus esquinas. Traía en línea
   un relleno desigual (20px arriba, 10px abajo) y una altura fija que descentraban el texto (misma excepción
   de !important que arriba). */
#formulario_buscador > div:first-child:focus-within {
	box-shadow: inset 0 0 0 1px #c3c8d2;
}

#formulario_buscador #form-field-termino,
#formulario_buscador #form-field-termino:hover,
#formulario_buscador #form-field-termino:focus {
	min-height: 0;
	padding: 0 2px;
	border: 0 !important;
	border-radius: 0 !important;
	background: none !important;
	box-shadow: none;
	outline: none;
}

#formulario_buscador > div:first-child {
	overflow: hidden;
}

#formulario_buscador .elementor-widget-button {
	align-self: stretch;
	margin: -1em -1em -1em 0 !important;
}

#formulario_buscador .elementor-widget-button :is(.elementor-widget-container, .elementor-button-wrapper) {
	height: 100%;
}

#formulario_buscador a.elementor-button {
	height: 100% !important;
	min-height: 0;
	padding: 0 28px !important;
	border-radius: 0 !important;
	line-height: 1;
}

/* Botones-pestaña sin fondo (el código les escribe «background-color: unset» al no estar elegidos):
   texto oscuro, para que se lean sobre la página. Al elegirlos, el propio código los pinta. */
.zona-privada .ap-contenido a.elementor-button:is([style*="background-color:unset"], [style*="background-color: unset"]) {
	color: var(--noche);
}

/* Archivo de boletines (MailPoet) en «Novedades»: el código ya pone su punto azul; sin la viñeta del navegador */
.zona-privada .mailpoet_archive {
	padding-left: 0;
	list-style: none;
}

/* ----------------------------------------------------------------------
   Paneles (portada del área privada): caja blanca con su título arriba, como el diseño original.
   Las columnas que lo son llevan la clase «panel» (herramientas/convertir/paneles-inicio-privada.php).
   ---------------------------------------------------------------------- */

.zona-privada .wp-block-columns:has(> .panel) {
	--hueco-columnas: 24px;

	align-items: stretch;
	gap: 24px;
	margin-bottom: 24px;
}

.zona-privada .panel {
	display: flex;
	flex-direction: column;
	min-height: 360px;
	overflow: hidden;
	border: 1px solid var(--borde);
	border-radius: var(--radio-l);
	background: var(--blanco);
	box-shadow: var(--sombra-s);
}

.zona-privada .panel > .texto-pequeno:first-child {
	margin: 0;
	border-bottom: 1px solid var(--borde);
	padding: 18px 22px;
	color: var(--texto-suave);
	font-size: 15px;
}

.zona-privada .panel .wp-block-separator {
	display: none;
}

.zona-privada .panel > :not(:first-child) {
	margin: 0;
	padding: 0 22px;
}

/* Novedades: la lista se desplaza dentro del panel en vez de alargar la página */
.zona-privada .panel .mailpoet_archive {
	max-height: 360px;
	margin: 0;
	overflow-y: auto;
	padding: 4px 22px;
}

.zona-privada .panel .mailpoet_archive li {
	display: flex;
	flex-direction: column;
	gap: 4px;
	margin: 0;
	border-bottom: 1px solid var(--borde);
	padding: 14px 0;
	font-size: 15px;
	line-height: 1.4;
}

/* Como un buzón: el asunto arriba (con «Novedad» si es de los últimos 30 días) y la fecha debajo */
.zona-privada .panel .mailpoet_archive_subject {
	order: -1;
}

.zona-privada .panel .mailpoet_archive_subject a {
	color: var(--noche);
	font-weight: 500;
	text-decoration: none;
	transition: color var(--transicion);
}

.zona-privada .panel .mailpoet_archive_subject a:hover {
	color: var(--azul-hondo);
}

.zona-privada .panel .mailpoet_archive_date {
	color: var(--texto-suave);
	font-size: 13px;
}

.zona-privada .etiqueta-novedad {
	display: inline-block;
	margin-right: 6px;
	border-radius: var(--radio-boton);
	padding: 2px 9px;
	background: rgba(19, 175, 249, 0.12);
	color: #0b7fb8;
	font-size: 12px;
	font-weight: 600;
	line-height: 18px;
	vertical-align: 1px;
}

.zona-privada .panel .mailpoet_archive li:last-child {
	border-bottom: 0;
}

/* La banda oscura del contenido envolvía toda la segunda fila: aquí, solo el panel de Guías es oscuro */
.zona-privada .banda--noche:has(> .wp-block-columns > .panel),
.zona-privada .banda--noche:has(> .wp-block-group__inner-container > .wp-block-columns > .panel) {
	padding: 0;
	background: none;
	color: inherit;
}

.zona-privada .panel:not(:has(> .texto-pequeno:first-child)) {
	justify-content: center;
	border: 0;
	padding: 32px;
	background: var(--noche);
	color: var(--blanco);
}

.zona-privada .panel:not(:has(> .texto-pequeno:first-child)) > * {
	padding: 0;
}

.zona-privada .panel:not(:has(> .texto-pequeno:first-child)) h3 {
	color: var(--blanco);
	font-size: 17px;
	line-height: 1.3;
	text-transform: uppercase;
}

/* Segunda fila (Guías y Patrocinadores): paneles bajos, a la altura de su contenido */
.zona-privada .wp-block-columns:has(> .panel .wp-block-columns) > .panel {
	min-height: 0;
}

/* Guías: texto y botón a la izquierda, imagen de la colección a la derecha. En pantallas muy anchas (2.560px) el
   panel pasa de 1.100px: título e imagen crecen con el panel (unidades cqi) para que no queden en las esquinas
   con un hueco en medio; en un portátil se quedan en su tamaño mínimo, como antes. */
.zona-privada .panel:not(:has(> .texto-pequeno:first-child)) {
	padding: 28px 32px;
}

/* Solo con las columnas en fila: en el móvil se apilan, y como contenedor sus anchos en % se volverían alturas */
@media (min-width: 782px) {
	.zona-privada .panel:not(:has(> .texto-pequeno:first-child)) {
		container-type: inline-size;
	}
}

.zona-privada .panel:not(:has(> .texto-pequeno:first-child)) > .wp-block-columns {
	gap: 24px;
	padding: 0;
}

.zona-privada .panel:not(:has(> .texto-pequeno:first-child)) .wp-block-column {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	justify-content: center;
}

/* Panel ancho: texto e imagen repartidos con el mismo espacio alrededor de cada uno, ni en los extremos ni
   apretados en el centro (los anchos de columna vienen en línea del contenido: misma excepción de !important) */
@container (min-width: 800px) {
	.zona-privada .panel:not(:has(> .texto-pequeno:first-child)) > .wp-block-columns {
		justify-content: space-around;
		gap: 24px;
	}

	.zona-privada .panel:not(:has(> .texto-pequeno:first-child)) > .wp-block-columns > .wp-block-column {
		flex: 0 1 auto !important;
	}
}

.zona-privada .panel:not(:has(> .texto-pequeno:first-child)) h3 {
	margin: 0 0 18px;
	font-size: clamp(17px, 2.3cqi, 26px);
}

.zona-privada .panel:not(:has(> .texto-pequeno:first-child)) .wp-block-buttons {
	justify-content: flex-start;
}

/* Mismo tamaño que el botón del otro panel con botón («Web del congreso») */
.zona-privada .panel:not(:has(> .texto-pequeno:first-child)) .wp-block-button__link {
	min-height: 42px;
	padding: 8px 22px;
}

.zona-privada .panel:not(:has(> .texto-pequeno:first-child)) .wp-block-image {
	margin: 0;
}

/* La figura de colores de la colección (SVG, herramientas/convertir/guias-logos-arriba.php), a la derecha:
   crece con el panel (130-280px) */
.zona-privada .panel:not(:has(> .texto-pequeno:first-child)) .guias-coleccion img {
	display: block;
	width: clamp(130px, 26cqi, 280px);
	max-width: 100%;
	height: auto;
}

@media (min-width: 782px) {
	.zona-privada .panel:not(:has(> .texto-pequeno:first-child)) .guias-coleccion img {
		margin-left: auto;
	}
}

/* Logotipos de los patrocinadores de las guías, encima del título: en blanco sobre el panel, cada uno con el ancho
   que le da el contenido (misma superficie visible, como en Patrocinadores) */
.zona-privada .panel:not(:has(> .texto-pequeno:first-child)) .logos-guias {
	gap: 20px;
	align-items: center;
	margin: 0 0 20px;
}

.zona-privada .panel:not(:has(> .texto-pequeno:first-child)) .logos-guias .wp-block-image {
	flex: none;
	width: auto;
}

.zona-privada .panel:not(:has(> .texto-pequeno:first-child)) .logos-guias img {
	display: block;
	height: auto;
	filter: brightness(0) invert(1);
	opacity: 0.7;
}

/* Patrocinadores: logotipos enteros, a la misma altura y centrados en su panel */
.zona-privada .panel .wp-block-columns {
	flex: 1;
	align-items: center;
	padding-block: 24px;
}

.zona-privada .panel > .wp-block-columns > .wp-block-column {
	display: flex;
	align-items: center;
	justify-content: center;
}

.zona-privada .panel > .wp-block-columns > .wp-block-column .wp-block-image {
	width: 100%;
	margin: 0;
}

/* Todos los patrocinadores pesan lo mismo: cada logotipo lleva en el contenido el ancho que iguala su superficie
   visible con la de los demás (herramientas/convertir/patrocinadores-mismo-peso.php). Aquí solo se respeta. */
.zona-privada .panel:has(> .texto-pequeno:first-child) .wp-block-image a {
	display: block;
}

.zona-privada .panel:has(> .texto-pequeno:first-child) .wp-block-image img {
	display: block;
	max-width: 100%;
	height: auto;
	margin-inline: auto;
}

/* El logotipo de PubSERV va flotando a la derecha: su caja lo envuelve para que no se monte sobre el buscador */
.zona-privada .ap-contenido .wp-block-image:has(> .alignright) {
	display: flow-root;
}

.zona-privada .ap-contenido .wp-block-image > .alignright {
	margin: 0 0 10px;
}

@media (max-width: 1024px) {
	.zona-privada .panel {
		min-height: 0;
	}
}

/* Pestaña «Administración»: accesos directos a las tareas del panel */
.zona-privada .accesos {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 16px;
	margin: 0 0 48px;
	padding: 0;
	list-style: none;
}

.zona-privada .accesos li {
	margin: 0;
}

.zona-privada .ap-contenido a.acceso {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	height: 100%;
	border: 1px solid var(--borde);
	border-radius: var(--radio);
	padding: 18px;
	background: var(--blanco);
	color: var(--texto-suave);
	font-size: 14px;
	line-height: 1.45;
	text-decoration: none;
	box-shadow: var(--sombra-s);
	transition: box-shadow var(--transicion), transform var(--transicion), border-color var(--transicion);
}

.zona-privada .ap-contenido a.acceso:hover {
	border-color: var(--acento);
	box-shadow: var(--sombra);
	transform: translateY(-2px);
}

.acceso__icono {
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: var(--radio-s);
	background: rgba(19, 175, 249, 0.1);
	color: var(--acento);
	font-size: 22px;
}

.acceso__texto {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 2px;
}

.acceso__texto strong {
	color: var(--noche);
	font-size: 16px;
	font-weight: 600;
}

.acceso__fuera {
	flex: 0 0 auto;
	color: #a5aaae;
	font-size: 16px;
}


/* ----------------------------------------------------------------------
   Iconos de Font Awesome que escribe el código del área privada (fa-eye, fa-hospital...).
   Font Awesome lo cargaba Elementor: ahora se pintan con el icono equivalente de Phosphor.
   ---------------------------------------------------------------------- */

.zona-privada :is(.fa-eye, .fa-user-tie, .fa-hospital, .fa-chevron-right, .fa-edit) {
	display: inline-block;
	width: 1em;
	height: 1em;
	font-style: normal;
	vertical-align: -0.125em;
}

.zona-privada :is(.fa-eye, .fa-user-tie, .fa-hospital, .fa-chevron-right, .fa-edit)::before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background: currentColor;
	mask-repeat: no-repeat;
	mask-size: contain;
}

.zona-privada .fa-eye::before {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M247.31%2C124.76c-.35-.79-8.82-19.58-27.65-38.41C194.57%2C61.26%2C162.88%2C48%2C128%2C48S61.43%2C61.26%2C36.34%2C86.35C17.51%2C105.18%2C9%2C124%2C8.69%2C124.76a8%2C8%2C0%2C0%2C0%2C0%2C6.5c.35.79%2C8.82%2C19.57%2C27.65%2C38.4C61.43%2C194.74%2C93.12%2C208%2C128%2C208s66.57-13.26%2C91.66-38.34c18.83-18.83%2C27.3-37.61%2C27.65-38.4A8%2C8%2C0%2C0%2C0%2C247.31%2C124.76ZM128%2C192c-30.78%2C0-57.67-11.19-79.93-33.25A133.47%2C133.47%2C0%2C0%2C1%2C25%2C128%2C133.33%2C133.33%2C0%2C0%2C1%2C48.07%2C97.25C70.33%2C75.19%2C97.22%2C64%2C128%2C64s57.67%2C11.19%2C79.93%2C33.25A133.46%2C133.46%2C0%2C0%2C1%2C231.05%2C128C223.84%2C141.46%2C192.43%2C192%2C128%2C192Zm0-112a48%2C48%2C0%2C1%2C0%2C48%2C48A48.05%2C48.05%2C0%2C0%2C0%2C128%2C80Zm0%2C80a32%2C32%2C0%2C1%2C1%2C32-32A32%2C32%2C0%2C0%2C1%2C128%2C160Z'/%3E%3C/svg%3E");
}

.zona-privada .fa-user-tie::before {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M230.92%2C212c-15.23-26.33-38.7-45.21-66.09-54.16a72%2C72%2C0%2C1%2C0-73.66%2C0C63.78%2C166.78%2C40.31%2C185.66%2C25.08%2C212a8%2C8%2C0%2C1%2C0%2C13.85%2C8c18.84-32.56%2C52.14-52%2C89.07-52s70.23%2C19.44%2C89.07%2C52a8%2C8%2C0%2C1%2C0%2C13.85-8ZM72%2C96a56%2C56%2C0%2C1%2C1%2C56%2C56A56.06%2C56.06%2C0%2C0%2C1%2C72%2C96Z'/%3E%3C/svg%3E");
}

.zona-privada .fa-hospital::before {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M248%2C208h-8V128a16%2C16%2C0%2C0%2C0-16-16H168V48a16%2C16%2C0%2C0%2C0-16-16H56A16%2C16%2C0%2C0%2C0%2C40%2C48V208H32a8%2C8%2C0%2C0%2C0%2C0%2C16H248a8%2C8%2C0%2C0%2C0%2C0-16Zm-24-80v80H168V128ZM56%2C48h96V208H136V160a8%2C8%2C0%2C0%2C0-8-8H80a8%2C8%2C0%2C0%2C0-8%2C8v48H56Zm64%2C160H88V168h32ZM72%2C96a8%2C8%2C0%2C0%2C1%2C8-8H96V72a8%2C8%2C0%2C0%2C1%2C16%2C0V88h16a8%2C8%2C0%2C0%2C1%2C0%2C16H112v16a8%2C8%2C0%2C0%2C1-16%2C0V104H80A8%2C8%2C0%2C0%2C1%2C72%2C96Z'/%3E%3C/svg%3E");
}

.zona-privada .fa-chevron-right::before {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M181.66%2C133.66l-80%2C80a8%2C8%2C0%2C0%2C1-11.32-11.32L164.69%2C128%2C90.34%2C53.66a8%2C8%2C0%2C0%2C1%2C11.32-11.32l80%2C80A8%2C8%2C0%2C0%2C1%2C181.66%2C133.66Z'/%3E%3C/svg%3E");
}

.zona-privada .fa-edit::before {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M227.31%2C73.37%2C182.63%2C28.68a16%2C16%2C0%2C0%2C0-22.63%2C0L36.69%2C152A15.86%2C15.86%2C0%2C0%2C0%2C32%2C163.31V208a16%2C16%2C0%2C0%2C0%2C16%2C16H92.69A15.86%2C15.86%2C0%2C0%2C0%2C104%2C219.31L227.31%2C96a16%2C16%2C0%2C0%2C0%2C0-22.63ZM92.69%2C208H48V163.31l88-88L180.69%2C120ZM192%2C108.68%2C147.31%2C64l24-24L216%2C84.68Z'/%3E%3C/svg%3E");
}

/* ----------------------------------------------------------------------
   Pestaña «Administración»: ofertas de empleo y altas pendientes (código de Óscar, [cabeceraAdmin]),
   dentro del grupo «admin-pendientes». Cada lista en su tarjeta, con la tabla limpia y los botones
   de la web. Los colores de los botones vienen escritos en línea: anularlos exige !important
   (excepción admitida en las normas del tema).
   ---------------------------------------------------------------------- */

.zona-privada .admin-pendientes {
	display: flex;
	flex-direction: column;
	gap: 16px;
	margin-bottom: 40px;
}

.zona-privada .admin-pendientes .elementor-widget-divider {
	display: none;
}

.zona-privada .admin-pendientes .elementor-widget-heading {
	margin: 32px 0 16px !important;
}

.zona-privada .admin-pendientes .elementor-widget-heading:first-child,
.zona-privada .admin-pendientes .wp-block-group__inner-container > .elementor-widget-heading:first-child {
	margin-top: 0 !important;
}

/* Aviso al pie: esta página solo la ve quien administra la web */
.zona-privada .aviso-administracion {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 8px 0 0;
	border-top: 1px solid var(--borde);
	padding-top: 20px;
	color: var(--texto-suave);
	font-size: 14px;
	line-height: 1.5;
}

.zona-privada .aviso-administracion::before {
	content: "";
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
	margin-top: 1px;
	background: var(--acento);
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm0,192a88,88,0,1,1,88-88A88.1,88.1,0,0,1,128,216Zm16-40a8,8,0,0,1-8,8,16,16,0,0,1-16-16V128a8,8,0,0,1,0-16,16,16,0,0,1,16,16v40A8,8,0,0,1,144,176ZM112,84a12,12,0,1,1,12,12A12,12,0,0,1,112,84Z'/%3E%3C/svg%3E") no-repeat center / contain;
}

.zona-privada .admin-pendientes h3.elementor-heading-title {
	display: flex;
	align-items: center;
	gap: 10px;
	color: var(--noche);
	font-size: 19px;
	font-weight: 600;
}

/* Sin pendientes: un aviso tranquilo en su tarjeta */
.zona-privada .admin-pendientes .elementor-widget-wrap:has(> i) {
	justify-content: center;
	border: 1px dashed var(--borde);
	border-radius: var(--radio);
	padding: 28px !important;
	background: var(--blanco);
	color: var(--texto-suave);
	text-align: center;
}

.zona-privada .admin-pendientes .elementor-widget-wrap > i {
	font-style: normal;
}

/* Tabla de altas: tarjeta blanca, cabecera discreta y filas separadas */
.zona-privada .admin-pendientes .elementor-widget-wpr-data-table {
	overflow-x: auto;
	border: 1px solid var(--borde);
	border-radius: var(--radio);
	background: var(--blanco);
	box-shadow: var(--sombra-s);
}

.zona-privada .admin-pendientes .wpr-data-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 15px;
}

.zona-privada .admin-pendientes .wpr-data-table th {
	border-bottom: 1px solid var(--borde);
	padding: 12px 16px;
	background: var(--fondo);
	color: var(--texto-suave);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-align: left;
	text-transform: uppercase;
}

.zona-privada .admin-pendientes .wpr-data-table td {
	border-bottom: 1px solid var(--borde);
	padding: 12px 16px !important;
	color: var(--texto);
	vertical-align: middle;
}

.zona-privada .admin-pendientes .wpr-data-table tbody tr:last-child td {
	border-bottom: 0;
}

.zona-privada .admin-pendientes .wpr-data-table tbody tr:hover td {
	background: #fbfcfe;
}

.zona-privada .admin-pendientes .wpr-data-table td .wpr-td-content-wrapper {
	display: flex;
	align-items: center;
	gap: 8px;
	text-align: left !important;
}

.zona-privada .admin-pendientes .wpr-data-table td a:not(.elementor-button) {
	color: var(--acento);
	font-weight: 500;
}

/* Botones Aceptar / Rechazar */
.zona-privada .admin-pendientes a.elementor-button:is([href*="nuevosocio=aceptar"], [href*="nuevosocio=rechazar"]) {
	min-height: 38px !important;
	margin: 0 !important;
	border: 2px solid transparent !important;
	border-radius: var(--radio-boton) !important;
	padding: 6px 18px !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	line-height: 1.2 !important;
	box-shadow: none !important;
}

.zona-privada .admin-pendientes a.elementor-button[href*="nuevosocio=aceptar"] {
	border-color: var(--acento) !important;
	background: var(--acento) !important;
	color: var(--blanco) !important;
}

.zona-privada .admin-pendientes a.elementor-button[href*="nuevosocio=aceptar"]:hover {
	border-color: var(--azul-hondo) !important;
	background: var(--azul-hondo) !important;
}

/* «Rechazar» en rojo: su texto viene en blanco forzado en línea, así que el botón va relleno */
.zona-privada .admin-pendientes a.elementor-button[href*="nuevosocio=rechazar"] {
	border-color: #d9443f !important;
	background: #d9443f !important;
}

.zona-privada .admin-pendientes a.elementor-button[href*="nuevosocio=rechazar"]:hover {
	border-color: #b8322e !important;
	background: #b8322e !important;
}


/* ----------------------------------------------------------------------
   Tarjetas del área privada (Congresos, Formación, Publicaciones, Junta Directiva...).
   Una fila de columnas cuyas columnas empiezan por una imagen (o una ficha con imagen) pasa a ser una
   rejilla de tarjetas iguales: mismas columnas en todas las filas, la imagen en una caja de proporción
   fija y el texto y los botones debajo, alineados. Los paneles de la portada tienen su propio diseño.
   ---------------------------------------------------------------------- */

.zona-privada .ap-contenido .wp-block-columns:not(.panel *, .banner-guias *, :has(> .panel)):has(> .wp-block-column > :is(.wp-block-image:not(.pictograma, :only-child), .ficha):first-child) {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
	align-items: stretch;
	margin-bottom: 24px;
}

/* Tarjetas fluidas (grupo «tarjetas-fluidas», p. ej. Congresos: herramientas/convertir/congresos-tarjetas-fluidas.php):
   las filas del contenido dejan de contar y todas las tarjetas van en una sola rejilla, tantas por fila como quepan
   con un ancho mínimo. En pantallas grandes caben más, en vez de hacerse más grandes. */
.zona-privada .ap-contenido .tarjetas-fluidas:not(:has(> .wp-block-group__inner-container)),
.zona-privada .ap-contenido .tarjetas-fluidas > .wp-block-group__inner-container {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 24px;
	align-items: stretch;
}

.zona-privada .ap-contenido .tarjetas-fluidas .wp-block-columns:not(.panel *, .banner-guias *, :has(> .panel)):is(:has(> .wp-block-column > :is(.wp-block-image:not(.pictograma, :only-child), .ficha):first-child), :has(> .wp-block-column .video)) {
	display: contents;
}

/* Variante «medianas» (Publicaciones): tarjetas algo más anchas que las de Congresos. El mínimo crece con la
   pantalla (260-330px): 4 por fila a 1.440px, 5 a 1.920px, 6 a 2.560px. */
.zona-privada .ap-contenido .tarjetas-fluidas--medianas:not(:has(> .wp-block-group__inner-container)),
.zona-privada .ap-contenido .tarjetas-fluidas--medianas > .wp-block-group__inner-container {
	grid-template-columns: repeat(auto-fill, minmax(min(100%, clamp(260px, 13vw, 330px)), 1fr));
}

/* Con vídeos (webinars de Formación), columnas más anchas: el vídeo tiene que verse */
.zona-privada .ap-contenido .tarjetas-fluidas:has(.video):not(:has(> .wp-block-group__inner-container)),
.zona-privada .ap-contenido .tarjetas-fluidas:has(.video) > .wp-block-group__inner-container {
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr));
}

/* Filas de vídeos (webinars): tres por fila, el vídeo manda */
.zona-privada .ap-contenido .wp-block-columns:not(.panel *, .banner-guias *, :has(> .panel)):has(> .wp-block-column .video) {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
	align-items: stretch;
	margin-bottom: 24px;
}

.zona-privada .ap-contenido .wp-block-columns:not(.panel *, .banner-guias *, :has(> .panel)):is(:has(> .wp-block-column > :is(.wp-block-image:not(.pictograma, :only-child), .ficha):first-child), :has(> .wp-block-column .video)) > .wp-block-column {
	display: flex;
	flex-direction: column;
	gap: 6px;
	min-width: 0;
	overflow: hidden;
	border: 1px solid var(--borde);
	border-radius: var(--radio);
	padding: 0 0 18px;
	background: var(--blanco);
	box-shadow: var(--sombra-s);
	text-align: left;
	transition: box-shadow var(--transicion), transform var(--transicion);
}

.zona-privada .ap-contenido .wp-block-columns:not(.panel *, .banner-guias *, :has(> .panel)):is(:has(> .wp-block-column > :is(.wp-block-image:not(.pictograma, :only-child), .ficha):first-child), :has(> .wp-block-column .video)) > .wp-block-column:hover {
	box-shadow: var(--sombra);
	transform: translateY(-2px);
}

/* Columnas vacías que algunas filas tenían para cuadrar: fuera de la rejilla */
.zona-privada .ap-contenido .wp-block-columns:not(.panel *, .banner-guias *, :has(> .panel)):has(> .wp-block-column > :is(.wp-block-image:not(.pictograma, :only-child), .ficha):first-child) > .wp-block-column:empty {
	display: none;
}

/* Dentro de la tarjeta: la imagen ocupa todo el ancho y el resto lleva margen.
   Las fichas guardan su contenido en una capa interior (.wp-block-group__inner-container). */
.zona-privada .ap-contenido .wp-block-columns:not(.panel *, .banner-guias *, :has(> .panel)) > .wp-block-column :is(.ficha, .ficha > .wp-block-group__inner-container) {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin: 0;
	text-align: left;
}

.zona-privada .ap-contenido .wp-block-columns:not(.panel *, .banner-guias *, :has(> .panel)) > .wp-block-column > *,
.zona-privada .ap-contenido .wp-block-columns:not(.panel *, .banner-guias *, :has(> .panel)) > .wp-block-column .ficha :is(h3, h4, p) {
	margin: 0;
}

.zona-privada .ap-contenido .wp-block-columns:not(.panel *, .banner-guias *, :has(> .panel)) > .wp-block-column > :not(.wp-block-image, .ficha, .video, .wp-block-shortcode),
.zona-privada .ap-contenido .wp-block-columns:not(.panel *, .banner-guias *, :has(> .panel)) > .wp-block-column .ficha :is(h3, h4, p) {
	padding-inline: 18px;
}

.zona-privada .ap-contenido .wp-block-columns:not(.panel *, .banner-guias *, :has(> .panel)) > .wp-block-column .wp-block-image:not(:only-child) {
	margin: 0 0 8px;
}

.zona-privada .ap-contenido .wp-block-columns:not(.panel *, .banner-guias *, :has(> .panel)) > .wp-block-column .wp-block-image:not(:only-child) > a {
	display: block; /* cartel con enlace: sin el hueco de línea que deja el enlace debajo de la imagen */
}

.zona-privada .ap-contenido .wp-block-columns:not(.panel *, .banner-guias *, :has(> .panel)) > .wp-block-column .wp-block-image:not(:only-child) img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	border-radius: 0;
	background: var(--fondo);
	object-fit: cover;
}

/* Carteles de congresos (imagen y botones, sin texto): formato vertical de cartel */
.zona-privada .ap-contenido .wp-block-column:has(> .wp-block-image:first-child + .wp-block-buttons) > .wp-block-image img {
	aspect-ratio: 3 / 4;
}

/* Fotos de personas (Junta Directiva): cuadradas */
.zona-privada .ap-contenido .ficha:has(p) .wp-block-image img {
	aspect-ratio: 1;
	object-position: top;
}

.zona-privada .ap-contenido .wp-block-columns:not(.panel *, .banner-guias *, :has(> .panel)) > .wp-block-column :is(h3, h4) {
	color: var(--noche);
	font-size: 16px;
	line-height: 1.35;
}

/* La etiqueta pequeña sobre el título (fecha, «PFER», «Libro SERV 2016»...) */
.zona-privada .ap-contenido .wp-block-columns:not(.panel *, .banner-guias *, :has(> .panel)) > .wp-block-column .ficha :is(h3, h4),
.zona-privada .ap-contenido .wp-block-columns:not(.panel *, .banner-guias *, :has(> .panel)) > .wp-block-column > p:first-of-type:has(+ :is(h3, h4)) {
	color: var(--acento);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.zona-privada .ap-contenido .wp-block-columns:not(.panel *, .banner-guias *, :has(> .panel)) > .wp-block-column p {
	color: var(--texto-suave);
	font-size: 14px;
	line-height: 1.45;
}

/* Botones de las tarjetas: uno debajo de otro, a lo ancho, con aire entre ellos */
.zona-privada .ap-contenido .wp-block-columns:not(.panel *, .banner-guias *, :has(> .panel)) > .wp-block-column > .wp-block-buttons {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-top: auto;
	padding-top: 4px;
}

.zona-privada .ap-contenido .wp-block-columns:not(.panel *, .banner-guias *, :has(> .panel)) > .wp-block-column > .wp-block-buttons + .wp-block-buttons {
	margin-top: 0;
	padding-top: 0;
}

.zona-privada .ap-contenido .wp-block-columns:not(.panel *, .banner-guias *, :has(> .panel)) > .wp-block-column .wp-block-button,
.zona-privada .ap-contenido .wp-block-columns:not(.panel *, .banner-guias *, :has(> .panel)) > .wp-block-column .wp-block-button__link {
	width: 100%;
}

.zona-privada .ap-contenido .wp-block-columns:not(.panel *, .banner-guias *, :has(> .panel)) > .wp-block-column .wp-block-button__link {
	min-height: 40px;
	padding: 8px 16px;
	font-size: 14px;
}

/* Congresos: botones pequeños con icono justo debajo del cartel, en vez de una columna de píldoras oscuras
   (herramientas/convertir/congresos-botones-iconos.php). Vídeos, lo principal, en azul y a todo el ancho; debajo,
   Programa y Libro en contorno, repartiéndose la fila (Jandro: sin huecos a la derecha). */
.zona-privada .ap-contenido .wp-block-columns:not(.panel *, .banner-guias *, :has(> .panel)) > .wp-block-column > .wp-block-buttons.botones-congreso {
	flex-direction: row;
	flex-wrap: wrap;
	gap: 6px;
	margin-top: 6px;
	padding-top: 0;
	padding-inline: 14px;
}

.zona-privada .ap-contenido .wp-block-columns:not(.panel *, .banner-guias *, :has(> .panel)) > .wp-block-column .botones-congreso .wp-block-button {
	flex: 1 1 auto; /* de su ancho natural, creciendo hasta llenar la fila */
	width: auto;
}

.zona-privada .ap-contenido .wp-block-columns:not(.panel *, .banner-guias *, :has(> .panel)) > .wp-block-column .botones-congreso .boton-videos {
	flex-basis: 100%;
}

.zona-privada .ap-contenido .wp-block-columns:not(.panel *, .banner-guias *, :has(> .panel)) > .wp-block-column .botones-congreso .wp-block-button__link {
	width: 100%;
}

.zona-privada .ap-contenido .wp-block-columns:not(.panel *, .banner-guias *, :has(> .panel)) > .wp-block-column .botones-congreso .wp-block-button__link {
	gap: 5px;
	min-height: 32px;
	border: 1px solid var(--borde);
	padding: 5px 10px;
	background: var(--blanco);
	color: var(--noche);
	font-size: 13px;
	text-transform: none;
	white-space: nowrap;
}

.zona-privada .ap-contenido .wp-block-columns:not(.panel *, .banner-guias *, :has(> .panel)) > .wp-block-column .botones-congreso .wp-block-button__link:hover {
	border-color: var(--azul);
	background: var(--blanco);
	color: var(--azul);
}

.zona-privada .ap-contenido .wp-block-columns:not(.panel *, .banner-guias *, :has(> .panel)) > .wp-block-column .botones-congreso .boton-videos .wp-block-button__link {
	border-color: var(--azul);
	background: var(--azul);
	color: var(--blanco);
}

.zona-privada .ap-contenido .wp-block-columns:not(.panel *, .banner-guias *, :has(> .panel)) > .wp-block-column .botones-congreso .boton-videos .wp-block-button__link:hover {
	border-color: var(--azul-hondo);
	background: var(--azul-hondo);
	color: var(--blanco);
}

/* Iconos de Phosphor (play, file-text, book-open), del color del texto */
.botones-congreso .boton-icono .wp-block-button__link::before {
	content: "";
	width: 14px;
	height: 14px;
	flex: none;
	background: currentColor;
	mask: var(--icono) center / contain no-repeat;
}

.botones-congreso .boton-videos {
	--icono: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M232.4,114.49,88.32,26.35a16,16,0,0,0-16.2-.3A15.86,15.86,0,0,0,64,39.87V216.13A15.94,15.94,0,0,0,80,232a16.07,16.07,0,0,0,8.36-2.35L232.4,141.51a15.81,15.81,0,0,0,0-27ZM80,215.94V40l143.83,88Z'/%3E%3C/svg%3E");
}

.botones-congreso .boton-programa {
	--icono: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M213.66,82.34l-56-56A8,8,0,0,0,152,24H56A16,16,0,0,0,40,40V216a16,16,0,0,0,16,16H200a16,16,0,0,0,16-16V88A8,8,0,0,0,213.66,82.34ZM160,51.31,188.69,80H160ZM200,216H56V40h88V88a8,8,0,0,0,8,8h48V216Zm-32-80a8,8,0,0,1-8,8H96a8,8,0,0,1,0-16h64A8,8,0,0,1,168,136Zm0,32a8,8,0,0,1-8,8H96a8,8,0,0,1,0-16h64A8,8,0,0,1,168,168Z'/%3E%3C/svg%3E");
}

.botones-congreso .boton-libro {
	--icono: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M232,48H160a40,40,0,0,0-32,16A40,40,0,0,0,96,48H24a8,8,0,0,0-8,8V200a8,8,0,0,0,8,8H96a24,24,0,0,1,24,24,8,8,0,0,0,16,0,24,24,0,0,1,24-24h72a8,8,0,0,0,8-8V56A8,8,0,0,0,232,48ZM96,192H32V64H96a24,24,0,0,1,24,24V200A39.81,39.81,0,0,0,96,192Zm128,0H160a39.81,39.81,0,0,0-24,8V88a24,24,0,0,1,24-24h64Z'/%3E%3C/svg%3E");
}

/* El vídeo de la tarjeta, sin esquinas propias (las pone la tarjeta) */
.zona-privada .ap-contenido .wp-block-columns:not(.panel *, .banner-guias *, :has(> .panel)) > .wp-block-column .video {
	border-radius: 0;
}

@media (max-width: 1279px) {
	.zona-privada .ap-contenido .wp-block-columns:not(.panel *, .banner-guias *, :has(> .panel)):has(> .wp-block-column > :is(.wp-block-image:not(.pictograma, :only-child), .ficha):first-child) {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 1024px) {
	.zona-privada .ap-contenido .wp-block-columns:not(.panel *, .banner-guias *, :has(> .panel)):is(:has(> .wp-block-column > :is(.wp-block-image:not(.pictograma, :only-child), .ficha):first-child), :has(> .wp-block-column .video)) {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 560px) {
	.zona-privada .ap-contenido .wp-block-columns:not(.panel *, .banner-guias *, :has(> .panel)):is(:has(> .wp-block-column > :is(.wp-block-image:not(.pictograma, :only-child), .ficha):first-child), :has(> .wp-block-column .video)) {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* Las frases de presentación que escribe el código del área privada (Empleo, Socios, PubMed) van en un
   span gris #777f89: se ocultan como las demás descripciones de cabecera, sin tocar ese código. */
.zona-privada .ap-contenido p:has(> span[style*="#777f89"]:only-child) {
	display: none;
}

/* ----------------------------------------------------------------------
   Menú segmentado: las parejas de pestañas del área privada (Crear vacante / Encontrar empleo,
   Alfabéticamente / Búsqueda, Datos personales / Profesionales, Alfabéticamente / Notas).
   area-privada.js marca la fila con «segmentado» y la pestaña elegida con «es-activa».
   El código pinta los colores en línea al hacer clic: anularlos exige !important.
   ---------------------------------------------------------------------- */

.zona-privada .segmentado {
	display: inline-flex !important;
	flex-wrap: nowrap;
	width: auto !important;
	max-width: 100%;
	gap: 4px;
	margin-bottom: 28px;
	border-radius: var(--radio-boton);
	padding: 4px;
	background: #eceff4;
}

/* En las páginas que colocan su contenido en rejilla (Perfil, Socios, P.R Vademecum), la rejilla estiraba la píldora
   gris a todo el ancho con las pestañas a la izquierda (Jandro, 19-10-2026): del ancho de sus pestañas, como en Empleo */
.zona-privada .segmentado {
	justify-self: start;
}

.zona-privada .segmentado > * {
	width: auto !important;
	flex: 0 0 auto !important;
}

.zona-privada .segmentado .elementor-widget-wrap {
	padding: 0 !important;
}

.zona-privada .ap-contenido a.segmentado__opcion {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: auto !important;
	height: 40px !important;
	min-height: 0 !important;
	margin: 0 !important;
	border: 0 !important;
	border-radius: var(--radio-boton) !important;
	padding: 0 22px !important;
	background: transparent !important;
	color: var(--texto-suave) !important;
	font: 500 15px/1 Roboto, sans-serif !important;
	letter-spacing: 0 !important;
	text-shadow: none !important;
	box-shadow: none !important;
	transition: background-color var(--transicion), color var(--transicion), box-shadow var(--transicion);
}

.zona-privada .ap-contenido a.segmentado__opcion:hover {
	color: var(--noche) !important;
}

.zona-privada .ap-contenido a.segmentado__opcion.es-activa {
	background: var(--blanco) !important;
	color: var(--noche) !important;
	font-weight: 600 !important;
	box-shadow: 0 1px 3px rgba(37, 43, 66, 0.14) !important;
}

@media (max-width: 560px) {
	.zona-privada .segmentado {
		display: flex !important;
		width: 100% !important;
	}

	.zona-privada .segmentado > * {
		flex: 1 1 0 !important;
	}

	.zona-privada .ap-contenido a.segmentado__opcion {
		width: 100% !important;
		padding: 0 8px !important;
		font-size: 14px !important;
	}

	/* Con tres pestañas (Internos / Personales / Profesionales, la ficha que ve un administrador) no cabían: las
	   pestañas no encogían por debajo de su texto y se salían de la píldora por los dos lados (Jandro, 17-10-2026).
	   Ahora encogen; si aun así no caben, la fila se desliza en vez de salirse. */
	.zona-privada .segmentado {
		overflow-x: auto;
		scrollbar-width: none;
	}

	.zona-privada .segmentado,
	.zona-privada .segmentado * {
		min-width: 0 !important;
	}

	/* Cada pestaña, del ancho de su texto más el sobrante a partes iguales (con anchos iguales, «Profesionales» o
	   «Alfabéticamente» no cabían en su parte) */
	.zona-privada .segmentado > * {
		flex: 1 1 auto !important;
	}
}

/* Empleo: el formulario y el listado iban dentro de una caja de altura fija con su propia barra de
   desplazamiento (escrita en línea); se leen de una vez, como el resto de la página */
.zona-privada #crear,
.zona-privada #encontrar {
	height: auto !important;
	max-height: none !important;
	max-width: none !important;
	overflow: visible !important;
}

/* Botón «Crear vacante»: el de la web, alineado con los campos (sus medidas vienen en línea) */
.zona-privada #botonenviar {
	float: none !important;
	width: auto !important;
	min-width: 200px;
	height: 48px !important;
	margin: 26px 0 0 !important;
	padding: 0 32px !important;
	background: var(--azul) !important;
	font: 500 15px/1 Roboto, sans-serif !important;
	cursor: pointer;
	transition: background-color var(--transicion);
}

.zona-privada #botonenviar:hover {
	background: var(--azul-hondo) !important;
}

.zona-privada .perfillabel:has(> #botonenviar) {
	text-align: left !important;
}

/* Perfil: cada campo trae su fondo gris y cambia el borde en línea al entrar y salir de él.
   Se igualan con los demás formularios (anular estilos en línea exige !important). */
.zona-privada .ap-contenido :is(input, select, textarea)[style*="rgba(37, 43, 66, 0.06)"] {
	min-height: 48px;
	border: 1px solid #d6dae3 !important;
	border-radius: var(--radio-s) !important;
	background-color: var(--blanco) !important;
}

.zona-privada .ap-contenido :is(input, select, textarea)[style*="rgba(37, 43, 66, 0.06)"]:focus {
	border-color: var(--azul) !important;
	box-shadow: 0 0 0 3px rgba(19, 175, 249, 0.18);
}

/* Etiquetas del perfil (un div con el texto, sin el span de los otros formularios) */
.zona-privada div.perfillabel:not(:has(*)) {
	margin-bottom: 6px;
	color: var(--noche);
	font-size: 14px;
	font-weight: 500;
	line-height: 20px;
	letter-spacing: 0;
}

/* Tiras de logotipos (columnas que solo llevan una imagen, como los patrocinadores en móvil):
   logotipos enteros, a la misma altura, dos por fila en pantallas estrechas */
.zona-privada .ap-contenido .wp-block-columns:not(.panel *, .banner-guias *, :has(> .panel)):has(> .wp-block-column > .wp-block-image:only-child) {
	align-items: center;
}

.zona-privada .ap-contenido .wp-block-columns:not(.panel *, .banner-guias *, :has(> .panel)) > .wp-block-column > .wp-block-image:only-child {
	display: flex;
	justify-content: center;
	margin: 0;
}

.zona-privada .ap-contenido .wp-block-columns:not(.panel *, .banner-guias *, :has(> .panel)) > .wp-block-column > .wp-block-image:only-child img {
	width: auto !important;
	max-width: 100%;
	height: 56px;
	object-fit: contain;
}

@media (max-width: 767px) {
	.zona-privada .ap-contenido .wp-block-columns:not(.panel *, .banner-guias *, :has(> .panel)):has(> .wp-block-column > .wp-block-image:only-child) {
		flex-flow: row wrap;
		gap: 24px 16px;
		padding: 24px 0;
	}

	.zona-privada .ap-contenido .wp-block-columns:not(.panel *, .banner-guias *, :has(> .panel)) > .wp-block-column:has(> .wp-block-image:only-child) {
		flex: 0 0 calc(50% - 8px) !important;
		padding: 0 !important;
	}
}

/* Perfil: el de antes (código del área privada) se sustituyó por el del plugin (perfil.php); sus estilos, al final
   de este archivo («Perfil (plugin del área privada…)»). */

/* Contenido de las ventanas emergentes: título limpio (sin los estilos de los apartados del perfil),
   texto legible, campos alineados y una «×» visible para cerrar */
.zona-privada .exad-modal-item .exad-modal-element {
	padding: 0 !important;
}

.zona-privada .exad-modal-item .exad-modal-element-header {
	margin-bottom: 16px;
	border-bottom: 1px solid var(--borde) !important;
	padding: 0 40px 14px 0;
}

.zona-privada .exad-modal-item .exad-modal-element-header h3.elementor-heading-title {
	width: auto;
	margin: 0 !important;
	border: 0 !important;
	padding: 0 !important;
	color: var(--noche) !important;
	font-size: 20px !important;
	font-weight: 600 !important;
	letter-spacing: 0 !important;
}

.zona-privada .exad-modal-item .exad-modal-element-body > p {
	margin: 0 0 16px;
	color: var(--texto-suave);
	font-size: 15px;
	line-height: 1.5;
}

.zona-privada .exad-modal-item .exad-modal-element-body > p:empty {
	display: none;
}

.zona-privada .exad-modal-item #listacentros > div[style*="text-align:right"],
.zona-privada .exad-modal-item #nuevocentro > div[style*="text-align:left"] {
	margin: 8px 0 16px;
	font-size: 14px;
	text-align: left !important;
}

.zona-privada .exad-modal-item #addcentro select,
.zona-privada .exad-modal-item #addcentro input:not([type="submit"], [type="checkbox"]) {
	margin-bottom: 0 !important;
}

.zona-privada .exad-modal-item #addcentro .perfillabel {
	margin-top: 14px;
}

.zona-privada .exad-modal-item #addcentro .row {
	margin-inline: -10px;
}

.zona-privada .exad-modal-item #addcentro .row > [class*="col-"] {
	padding-inline: 10px;
}

.zona-privada .exad-modal-item #addcentro input[type="submit"] {
	width: calc(100% - 20px) !important;
	min-height: 48px;
	height: auto !important;
	margin: 20px 10px 0;
	font: 500 15px/1.2 Roboto, sans-serif;
	text-transform: none;
	cursor: pointer;
}

.zona-privada .exad-close-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	top: 16px;
	right: 16px;
	z-index: 1;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: #eceff4;
	transition: background-color var(--transicion);
}

.zona-privada .exad-close-btn:hover {
	background: #dfe3ea;
}

.zona-privada .exad-close-btn::before {
	content: "";
	width: 16px;
	height: 16px;
	background: var(--noche);
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M205.66,194.34a8,8,0,0,1-11.32,11.32L128,139.31,61.66,205.66a8,8,0,0,1-11.32-11.32L116.69,128,50.34,61.66A8,8,0,0,1,61.66,50.34L128,116.69l66.34-66.35a8,8,0,0,1,11.32,11.32L139.31,128Z'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* ----------------------------------------------------------------------
   Portada del socio (inc/inicio-socio.php): resumen de su cuenta, accesos rápidos,
   próximo evento y lo último del blog
   ---------------------------------------------------------------------- */

.zona-privada .resumen-socio {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px 32px;
	margin-bottom: 24px;
}

/* Perfil completo (sin aviso): en pantallas anchas, el logotipo de PubSERV sube al hueco de la derecha del saludo y
   el buscador queda justo debajo; en el móvil el saludo ocupa todo el ancho y el logotipo sigue en su sitio */
@media (min-width: 900px) {
	.zona-privada .resumen-socio--completo {
		margin-bottom: 0;
	}

	.zona-privada .resumen-socio--completo + .wp-block-group:has(> .wp-block-group__inner-container > .wp-block-image:only-child) {
		margin-top: -14px; /* 24px de hueco bajo el saludo, menos los 38 del logotipo */
	}
}

.zona-privada .resumen-socio__hola {
	margin: 0;
	color: var(--noche);
	font-size: clamp(24px, 2.4vw, 30px);
	font-weight: 700;
	line-height: 1.2;
}

.zona-privada .resumen-socio__datos {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin: 10px 0 0;
	color: var(--texto-suave);
	font-size: 15px;
}

.zona-privada .resumen-socio__dato {
	border-radius: var(--radio-boton);
	padding: 4px 12px;
	background: #eceef2;
	color: #4a5163;
	font-size: 13.5px;
	font-weight: 500;
	line-height: 1.4;
}

.zona-privada .resumen-socio__estado {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	color: #13804b;
	font-weight: 500;
}

.zona-privada .resumen-socio__estado .icono {
	font-size: 17px;
}

.zona-privada .ap-contenido a.resumen-socio__aviso {
	display: flex;
	align-items: center;
	gap: 10px;
	border: 1px solid var(--borde);
	border-radius: var(--radio);
	padding: 12px 16px;
	background: var(--blanco);
	color: var(--texto);
	font-size: 14px;
	text-decoration: none;
	box-shadow: var(--sombra-s);
	transition: border-color var(--transicion), box-shadow var(--transicion);
}

.zona-privada .ap-contenido a.resumen-socio__aviso:hover {
	border-color: var(--azul);
	box-shadow: var(--sombra);
}

.zona-privada .resumen-socio__aviso > .icono {
	flex: 0 0 auto;
	color: var(--azul);
	font-size: 22px;
}

.zona-privada .resumen-socio__aviso--falta {
	border-color: #f3d9a4 !important;
	background: #fffaf0 !important;
}

.zona-privada .resumen-socio__aviso--falta > .icono {
	color: #c07d0a;
}

.zona-privada .resumen-socio__aviso strong {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	margin-left: 6px;
	color: var(--azul-hondo);
	font-weight: 600;
	white-space: nowrap;
}

/* Título de bloque («Accesos rápidos») */
.zona-privada .ap-contenido h2.titulo-bloque {
	margin: 32px 0 14px;
	color: var(--noche);
	font-size: 18px;
	font-weight: 600;
}

/* Accesos rápidos: tarjetas con icono (con el próximo evento, cuatro: dos filas de dos en pantallas medianas) */
.zona-privada .accesos-socio {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
	gap: 16px;
	margin: 0 0 32px;
	padding: 0;
	list-style: none;
}

@media (max-width: 900px) {
	.zona-privada .accesos-socio {
		grid-template-columns: minmax(0, 1fr);
		gap: 10px;
	}
}


.zona-privada .accesos-socio li {
	margin: 0;
}

.zona-privada .ap-contenido .accesos-socio a {
	display: flex;
	align-items: center;
	gap: 14px;
	height: 100%;
	border: 1px solid var(--borde);
	border-radius: var(--radio);
	padding: 18px;
	background: var(--blanco);
	color: var(--texto-suave);
	font-size: 14px;
	line-height: 1.4;
	text-decoration: none;
	box-shadow: var(--sombra-s);
	transition: border-color var(--transicion), box-shadow var(--transicion), transform var(--transicion);
}

.zona-privada .ap-contenido .accesos-socio a:hover {
	border-color: var(--azul);
	box-shadow: var(--sombra);
	transform: translateY(-2px);
}

.zona-privada .accesos-socio__icono {
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	border-radius: var(--radio-s);
	background: rgba(19, 175, 249, 0.1);
	color: var(--azul);
	font-size: 24px;
}

.zona-privada .accesos-socio__texto {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.zona-privada .accesos-socio__texto strong {
	color: var(--noche);
	font-size: 16px;
	font-weight: 600;
}

/* El próximo evento, dentro de los accesos rápidos: la misma tarjeta, con borde azul y la fecha en un bloque azul */
.zona-privada .ap-contenido .accesos-socio__evento a {
	border-color: rgba(19, 175, 249, 0.45);
	background: linear-gradient(135deg, rgba(19, 175, 249, 0.08), var(--blanco) 70%);
}

.zona-privada .accesos-socio__fecha {
	display: flex;
	flex: 0 0 auto;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 56px;
	border-radius: var(--radio-s);
	background: var(--azul);
	color: var(--blanco);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	box-shadow: 0 6px 14px -6px rgba(19, 175, 249, 0.7);
}

.zona-privada .accesos-socio__fecha strong {
	font-size: 22px;
	line-height: 1.05;
	letter-spacing: 0;
}

.zona-privada .accesos-socio__texto small {
	color: var(--azul-hondo, #0b8fd0);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.zona-privada .accesos-socio__cuando {
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

/* Lo último del blog: como la lista de novedades, con la fecha debajo */
.zona-privada .ultimas-entradas {
	margin: 0;
	padding: 4px 22px !important;
	list-style: none;
}

.zona-privada .ultimas-entradas li {
	margin: 0;
	border-bottom: 1px solid var(--borde);
}

.zona-privada .ultimas-entradas li:last-child {
	border-bottom: 0;
}

.zona-privada .ap-contenido .ultimas-entradas a {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 14px 0;
	text-decoration: none;
}

.zona-privada .ultimas-entradas__titulo {
	color: var(--noche);
	font-size: 15px;
	font-weight: 500;
	line-height: 1.4;
	transition: color var(--transicion);
}

.zona-privada .ultimas-entradas a:hover .ultimas-entradas__titulo {
	color: var(--azul-hondo);
}

.zona-privada .ultimas-entradas time {
	color: var(--texto-suave);
	font-size: 13px;
}

.zona-privada .ap-contenido a.ultimas-entradas__todo {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: auto 22px 18px !important;
	padding: 0 !important;
	color: var(--azul-hondo);
	font-size: 14px;
	font-weight: 500;
	text-decoration: none;
}

/* En la portada, las dos filas de paneles se apilan en pantallas estrechas */
@media (max-width: 781px) {
	.zona-privada .wp-block-columns:has(> .panel) {
		flex-direction: column;
	}

	.zona-privada .wp-block-columns:has(> .panel) > .panel {
		flex-basis: auto !important;
	}
}

/* Logotipo de PubSERV pegado a su buscador */
.zona-privada .ap-contenido > .wp-block-group:has(.wp-image-29500) {
	margin-bottom: 0;
}

/* Patrocinadores en pantallas estrechas: dos por fila y a la misma altura */
@media (max-width: 781px) {
	.zona-privada .panel:has(> .texto-pequeno:first-child) > .wp-block-columns {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 24px 16px;
	}

	/* La misma altura para todos, pero sin deformarlos: el logotipo cabe entero en su caja (antes se estiraba al
	   alto: AbbVie salía el doble de alto de lo que es; Jandro, 17-10-2026) */
	.zona-privada .panel:has(> .texto-pequeno:first-child) .wp-block-image img {
		height: 48px;
		object-fit: contain;
	}
}

/* Novedades en páginas (area-privada.js): sin barra propia, y las flechas al pie del panel */
.zona-privada .panel .mailpoet_archive--paginada {
	max-height: none;
	overflow: visible;
}

.zona-privada .panel .mailpoet_archive--paginada li:not([hidden]):nth-last-child(1 of :not([hidden])) {
	border-bottom: 0;
}

.zona-privada .novedades-paginas {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: auto !important;
	border-top: 1px solid var(--borde);
	padding: 12px 22px !important;
	color: var(--texto-suave);
	font-size: 13px;
}

.zona-privada .novedades-paginas__boton {
	display: grid;
	place-items: center;
	width: 36px;
	height: 36px;
	border: 1px solid var(--borde);
	border-radius: var(--radio-s);
	padding: 0;
	background: var(--blanco);
	color: var(--noche);
	cursor: pointer;
	transition: border-color var(--transicion), color var(--transicion);
}

/* La flecha (caret-right de Phosphor; la de «anterior», girada) */
.zona-privada .novedades-paginas__boton::before {
	content: "";
	width: 18px;
	height: 18px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M181.66,133.66l-80,80a8,8,0,0,1-11.32-11.32L164.69,128,90.34,53.66a8,8,0,0,1,11.32-11.32l80,80A8,8,0,0,1,181.66,133.66Z'/%3E%3C/svg%3E") center / 18px no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M181.66,133.66l-80,80a8,8,0,0,1-11.32-11.32L164.69,128,90.34,53.66a8,8,0,0,1,11.32-11.32l80,80A8,8,0,0,1,181.66,133.66Z'/%3E%3C/svg%3E") center / 18px no-repeat;
}

.zona-privada .novedades-paginas__boton--anterior::before {
	transform: scaleX(-1);
}

.zona-privada .novedades-paginas__boton:hover:not(:disabled) {
	border-color: var(--noche);
}

.zona-privada .novedades-paginas__boton:disabled {
	color: var(--texto-suave);
	opacity: 0.4;
	cursor: default;
}

.zona-privada .mailpoet_archive li[hidden],
.zona-privada [id^="formdatos"] li[hidden] {
	display: none;
}

/* Socios: el listado de antes (código del área privada) se sustituyó por el del plugin (socios.php); sus estilos,
   al final de este archivo («Socios (plugin del área privada…)»). */

/* «Descargar Excel de socios» (solo administración) */
.zona-privada .ap-contenido .wp-block-button.is-style-outline .wp-block-button__link {
	min-height: 40px;
	border: 1px solid var(--azul);
	padding: 8px 20px;
	background: var(--blanco);
	color: var(--azul-hondo);
	font-size: 14px;
}

.zona-privada .ap-contenido .wp-block-buttons:has(a[href*="excelSocios"]) :is(.wp-block-button, .wp-block-button__link) {
	width: auto !important;
}

/* ----------------------------------------------------------------------
   Tarjetas con enlace (Publicaciones, Formación; herramientas/convertir/enlaces-tarjetas.php):
   toda la tarjeta se pulsa, y abajo se dice qué pasa al pulsarla (descargar el PDF o ver)
   ---------------------------------------------------------------------- */

.zona-privada .ap-contenido .wp-block-column:has(a.enlace-tarjeta) {
	position: relative;
	cursor: pointer;
}

.zona-privada .ap-contenido a.enlace-tarjeta {
	color: inherit;
	text-decoration: none;
}

.zona-privada .ap-contenido a.enlace-tarjeta::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
}

.zona-privada .ap-contenido .wp-block-column:has(a.enlace-tarjeta:focus-visible) {
	outline: 2px solid var(--azul);
	outline-offset: 2px;
}

.zona-privada .ap-contenido a.enlace-tarjeta:focus-visible {
	outline: 0;
}

.zona-privada .ap-contenido .wp-block-column:has(a.enlace-tarjeta):hover :is(h3, h4) a.enlace-tarjeta {
	color: var(--azul-hondo);
}

.zona-privada .ap-contenido .wp-block-column > p.tarjeta-accion {
	display: flex;
	align-items: center;
	gap: 6px;
	margin-top: auto !important;
	padding-top: 10px;
	color: var(--azul-hondo);
	font-size: 14px;
	font-weight: 500;
}

.zona-privada .ap-contenido p.tarjeta-accion::before {
	content: "";
	width: 16px;
	height: 16px;
	background: currentColor;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M221.66,133.66l-72,72a8,8,0,0,1-11.32-11.32L196.69,136H40a8,8,0,0,1,0-16H196.69L138.34,61.66a8,8,0,0,1,11.32-11.32l72,72A8,8,0,0,1,221.66,133.66Z'/%3E%3C/svg%3E") no-repeat center / contain;
}

.zona-privada .ap-contenido p.tarjeta-accion--pdf::before {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M224,144v64a8,8,0,0,1-8,8H40a8,8,0,0,1-8-8V144a8,8,0,0,1,16,0v56H208V144a8,8,0,0,1,16,0Zm-101.66,5.66a8,8,0,0,0,11.32,0l40-40a8,8,0,0,0-11.32-11.32L136,124.69V32a8,8,0,0,0-16,0v92.69L93.66,98.34a8,8,0,0,0-11.32,11.32Z'/%3E%3C/svg%3E");
}

/* Etiqueta que repite el título (area-privada.js la marca): sobra */
.zona-privada .ap-contenido .etiqueta-repetida {
	display: none !important;
}

/* ----------------------------------------------------------------------
   Publicaciones (/area-privada-serv/biblioteca-digital/)
   ---------------------------------------------------------------------- */

/* Guías de Práctica Clínica: banner oscuro en una fila (publicaciones-guias.php): el icono de las guías a la
   izquierda, sin caja; título y descripción a su lado; el botón a la derecha. En el móvil, el botón baja. */
.zona-privada .ap-contenido .banner-guias {
	margin-bottom: 8px;
}

.zona-privada .ap-contenido .banner-guias .wp-block-columns {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 20px 32px;
	margin: 0;
	border-radius: var(--radio-l);
	padding: 36px 44px;
	background: var(--noche);
	color: var(--blanco);
}

.zona-privada .ap-contenido .banner-guias .wp-block-column {
	flex: none;
	align-self: center; /* WordPress fuerza «align-items: normal !important» en las filas de columnas */
	min-width: 0;
}

.zona-privada .ap-contenido .banner-guias .banner-guias__texto {
	flex: 1 1 260px;
}

.zona-privada .ap-contenido .banner-guias .guias-coleccion {
	margin: 0;
}

.zona-privada .ap-contenido .banner-guias .guias-coleccion img {
	display: block;
	width: 120px;
	height: auto;
}

.zona-privada .ap-contenido .banner-guias h2 {
	margin: 0;
	color: var(--blanco);
	font-size: 26px;
	line-height: 1.25;
}

.zona-privada .ap-contenido .banner-guias p {
	margin: 6px 0 0;
	color: rgba(255, 255, 255, 0.72);
	font-size: 16px;
}

.zona-privada .ap-contenido .banner-guias .wp-block-buttons {
	margin: 0;
}

.zona-privada .ap-contenido .banner-guias .wp-block-button__link {
	gap: 10px;
	min-height: 48px;
	border-color: var(--azul);
	padding: 12px 22px 12px 26px;
	background: var(--azul);
	color: var(--blanco);
}

/* Flecha a la derecha dentro del botón (arrow-right de Phosphor) */
.zona-privada .ap-contenido .banner-guias .wp-block-button__link::after {
	content: "";
	width: 18px;
	height: 18px;
	flex: none;
	background: currentColor;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M221.66,133.66l-72,72a8,8,0,0,1-11.32-11.32L196.69,136H40a8,8,0,0,1,0-16H196.69L138.34,61.66a8,8,0,0,1,11.32-11.32l72,72A8,8,0,0,1,221.66,133.66Z'/%3E%3C/svg%3E") center / contain no-repeat;
	transition: transform var(--transicion);
}

.zona-privada .ap-contenido .banner-guias .wp-block-button__link:hover::after {
	transform: translateX(3px);
}

.zona-privada .ap-contenido .banner-guias .wp-block-button__link:hover {
	border-color: var(--azul-hondo);
	background: var(--azul-hondo);
}

@media (max-width: 781px) {
	.zona-privada .ap-contenido .banner-guias .wp-block-columns {
		gap: 16px 20px;
		padding: 22px;
	}

	.zona-privada .ap-contenido .banner-guias .guias-coleccion img {
		width: 80px;
	}

	.zona-privada .ap-contenido .banner-guias .banner-guias__texto {
		flex: 1 1 0;
	}

	.zona-privada .ap-contenido .banner-guias .banner-guias__accion {
		flex-basis: 100%;
	}
}

/* Buscador y, debajo, filtros por categoría (los pone area-privada.js) */
.zona-privada .publicaciones-mandos {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px 20px;
	margin: 24px 0 8px;
}

.zona-privada .publicaciones-atajos {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.zona-privada .ap-contenido .publicaciones-atajos button {
	display: inline-flex;
	align-items: center;
	min-height: 36px;
	border: 1px solid var(--borde);
	border-radius: var(--radio-boton);
	padding: 0 14px;
	background: var(--blanco);
	color: var(--noche);
	font-size: 14px;
	font: 500 14px/1 Roboto, sans-serif;
	cursor: pointer;
	transition: border-color var(--transicion), background-color var(--transicion);
}

.zona-privada .ap-contenido .publicaciones-atajos button:hover {
	border-color: var(--azul);
}

.zona-privada .ap-contenido .publicaciones-atajos button[aria-pressed="true"] {
	border-color: var(--noche);
	background: var(--noche);
	color: var(--blanco);
}

.zona-privada .publicaciones-filtro {
	flex: 1 1 100%;
	margin: 0;
}

.zona-privada .publicaciones-filtro input {
	padding-left: 42px !important;
	background: var(--blanco) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='%235b6172'%3E%3Cpath d='M229.66,218.34l-50.07-50.06a88.11,88.11,0,1,0-11.31,11.31l50.06,50.07a8,8,0,0,0,11.32-11.32ZM40,112a72,72,0,1,1,72,72A72.08,72.08,0,0,1,40,112Z'/%3E%3C/svg%3E") no-repeat 14px center / 18px;
}

.zona-privada .publicaciones-vacio {
	margin: 16px 0;
	color: var(--texto-suave);
}

/* Títulos de apartado (los que van seguidos de tarjetas), con aire */
.zona-privada .ap-contenido > h3.wp-block-heading:has(+ :is(.wp-block-columns, .tarjetas-fluidas)) {
	margin: 36px 0 16px;
	font-size: 20px;
}

/* Entre apartados, una línea suave (Publicaciones, Formación): sobre cada título salvo el primero que se ve. Al
   filtrar por un solo apartado no queda ninguna. */
.zona-privada .ap-contenido > h3.wp-block-heading:has(+ :is(.wp-block-columns, .tarjetas-fluidas)):not([hidden]) ~ h3.wp-block-heading:has(+ :is(.wp-block-columns, .tarjetas-fluidas)):not([hidden]) {
	margin-top: 40px;
	border-top: 1px solid var(--borde);
	padding-top: 32px;
}

/* Lo que los scripts esconden (filtros) se esconde de verdad, aunque su caja tenga otro «display» */
.zona-privada .ap-contenido [hidden] {
	display: none !important;
}

/* La acción de la tarjeta en azul (la regla general del texto de las tarjetas la ponía gris) */
.zona-privada .ap-contenido .wp-block-columns > .wp-block-column > p.tarjeta-accion {
	color: var(--azul-hondo);
}

/* ----------------------------------------------------------------------
   Empleo, «Crear vacante»: Posición, Jornada y Ciudad en una fila; la descripción con un editor
   discreto como el resto de campos; el botón, solo al final, en su barra
   ---------------------------------------------------------------------- */

@media (min-width: 768px) {
	.zona-privada #formcrear > .row.fila-tres > [class*="col-"] {
		flex: 1 1 0;
		max-width: none;
	}
}

.zona-privada #formcrear #contenedorwpeditor .mce-toolbar-grp {
	padding: 4px 6px !important;
}

.zona-privada #formcrear #contenedorwpeditor .mce-btn {
	border: 0 !important;
	border-radius: var(--radio-s) !important;
	background: none !important;
	box-shadow: none !important;
}

.zona-privada #formcrear #contenedorwpeditor .mce-btn:hover,
.zona-privada #formcrear #contenedorwpeditor .mce-btn.mce-active {
	background: #e8ebf0 !important;
}

.zona-privada #formcrear #contenedorwpeditor .mce-btn button {
	padding: 6px 7px !important;
}

.zona-privada #formcrear #contenedorwpeditor .mce-ico {
	color: var(--texto-suave) !important;
	font-size: 16px !important;
}

.zona-privada #formcrear #contenedorwpeditor .mce-listbox {
	border: 1px solid #d6dae3 !important;
	background: var(--blanco) !important;
}

.zona-privada #formcrear #contenedorwpeditor .mce-listbox button,
.zona-privada #formcrear #contenedorwpeditor .mce-txt {
	color: var(--noche) !important;
	font: 400 13px/1.4 Roboto, sans-serif !important;
}

.zona-privada #formcrear #contenedorwpeditor .mce-edit-area iframe {
	height: 240px !important;
}

.zona-privada #formcrear #contenedorwpeditor .mce-statusbar {
	border-top: 1px solid var(--borde) !important;
	background: #f7f8fa !important;
}

.zona-privada #formcrear #contenedorwpeditor .mce-path {
	display: none !important;
}

.zona-privada #formcrear #contenedorwpeditor:focus-within {
	border-color: var(--azul);
	box-shadow: 0 0 0 3px rgba(19, 175, 249, 0.18);
}

/* El botón, solo y al final, separado por una línea */
.zona-privada #formcrear > .row:last-child {
	margin: 8px 0 0;
	border-top: 1px solid var(--borde);
	padding-top: 20px;
}

.zona-privada #formcrear > .row:last-child > .perfillabel:has(> #botonenviar) {
	flex: 0 0 100%;
	max-width: 100%;
	margin: 0 !important;
	padding: 0;
}

.zona-privada #formcrear #botonenviar {
	margin: 0 !important;
}

/* Sin el marco gris interior del editor: basta con el borde del campo */
.zona-privada #formcrear #contenedorwpeditor :is(.mce-panel, .mce-edit-area, .mce-container-body, .wp-editor-container) {
	border: 0 !important;
	box-shadow: none !important;
}

.zona-privada #formcrear #contenedorwpeditor .mce-top-part::before {
	box-shadow: none !important;
}

/* Móvil: la descripción (un campo de texto sin editor) con sitio para escribir y el botón a lo ancho */
.zona-privada #formcrear #descmobile {
	min-height: 160px;
}

@media (max-width: 767px) {
	.zona-privada #formcrear #botonenviar {
		width: 100% !important;
	}
}


/* Títulos de los paneles de la portada (Novedades, Del blog, Patrocinadores): con su icono en el mismo
   cuadradito azul que los accesos rápidos, y el título como el de esas tarjetas */
.zona-privada .panel > p.texto-pequeno:first-child {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 16px 22px;
	color: var(--noche);
	font-size: 16px;
	font-weight: 600;
}

.zona-privada .panel > p.texto-pequeno:first-child::before {
	content: "";
	flex: 0 0 40px;
	width: 40px;
	height: 40px;
	border-radius: var(--radio-s);
	background:
		var(--icono-panel) no-repeat center / 22px,
		rgba(19, 175, 249, 0.1);
}

.zona-privada .panel:has(.mailpoet_archive) {
	--icono-panel: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='%2313aff9'%3E%3Cpath d='M228.44,89.34l-96-64a8,8,0,0,0-8.88,0l-96,64A8,8,0,0,0,24,96V200a16,16,0,0,0,16,16H216a16,16,0,0,0,16-16V96A8,8,0,0,0,228.44,89.34ZM96.72,152,40,192V111.53Zm16.37,8h29.82l56.63,40H56.46Zm46.19-8L216,111.53V192ZM128,41.61l81.91,54.61-67,47.78H113.11l-67-47.78Z'/%3E%3C/svg%3E");
}

.zona-privada .panel:has(.ultimas-entradas) {
	--icono-panel: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='%2313aff9'%3E%3Cpath d='M88,112a8,8,0,0,1,8-8h80a8,8,0,0,1,0,16H96A8,8,0,0,1,88,112Zm8,40h80a8,8,0,0,0,0-16H96a8,8,0,0,0,0,16ZM232,64V184a24,24,0,0,1-24,24H32A24,24,0,0,1,8,184.11V88a8,8,0,0,1,16,0v96a8,8,0,0,0,16,0V64A16,16,0,0,1,56,48H216A16,16,0,0,1,232,64Zm-16,0H56V184a23.84,23.84,0,0,1-1.37,8H208a8,8,0,0,0,8-8Z'/%3E%3C/svg%3E");
}

.zona-privada .panel:has(> .wp-block-columns .wp-block-image) {
	--icono-panel: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='%2313aff9'%3E%3Cpath d='M254.3,107.91,228.78,56.85a16,16,0,0,0-21.47-7.15L182.44,62.13,130.05,48.27a8.14,8.14,0,0,0-4.1,0L73.56,62.13,48.69,49.7a16,16,0,0,0-21.47,7.15L1.7,107.9a16,16,0,0,0,7.15,21.47l27,13.51,55.49,39.63a8.06,8.06,0,0,0,2.71,1.25l64,16a8,8,0,0,0,7.6-2.1l55.07-55.08,26.42-13.21a16,16,0,0,0,7.15-21.46Zm-54.89,33.37L165,113.72a8,8,0,0,0-10.68.61C136.51,132.27,116.66,130,104,122L147.24,80h31.81l27.21,54.41ZM41.53,64,62,74.22,36.43,125.27,16,115.06Zm116,119.13L99.42,168.61l-49.2-35.14,28-56L128,64.28l9.8,2.59-45,43.68-.08.09a16,16,0,0,0,2.72,24.81c20.56,13.13,45.37,11,64.91-5L188,152.66Zm62-57.87-25.52-51L214.47,64,240,115.06Zm-87.75,92.67a8,8,0,0,1-7.75,6.06,8.13,8.13,0,0,1-1.95-.24L80.41,213.33a7.89,7.89,0,0,1-2.71-1.25L51.35,193.26a8,8,0,0,1,9.3-13l25.11,17.94L126,208.24A8,8,0,0,1,131.82,217.94Z'/%3E%3C/svg%3E");
}

/* ----------------------------------------------------------------------
   Portada: tarjeta del congreso (herramientas/convertir/inicio-congreso.php): la imagen del congreso
   arriba, a todo el ancho; debajo el nombre, la fecha, la sede y el enlace; y las miniaturas de los vídeos
   del último congreso. Más especificidad que las reglas del panel oscuro de Guías, que también le tocaban.
   ---------------------------------------------------------------------- */

.zona-privada .panel.panel--congreso.panel--congreso {
	justify-content: flex-start;
	border: 1px solid var(--borde);
	padding: 0;
	background: var(--blanco);
	color: var(--texto);
}

.zona-privada .panel.panel--congreso.panel--congreso > * {
	padding: 0;
}

.zona-privada .panel--congreso .congreso-destacado,
.zona-privada .panel--congreso .congreso-destacado > .wp-block-group__inner-container {
	display: flex;
	flex-direction: column;
	margin: 0;
}

.zona-privada .panel.panel--congreso.panel--congreso .congreso-destacado__cartel {
	margin: 0 0 18px;
	overflow: hidden;
	aspect-ratio: 16 / 7;
	background: #fdfaf3;
}

.zona-privada .panel.panel--congreso.panel--congreso .congreso-destacado__cartel img {
	width: 100%;
	max-width: none;
	height: 100%;
	margin: 0;
	border-radius: 0 !important;
	object-fit: cover;
	object-position: center bottom;
}

.zona-privada .panel--congreso .congreso-destacado :is(p, h3, .wp-block-buttons) {
	margin-inline: 22px;
}

.zona-privada .panel.panel--congreso.panel--congreso p.congreso-destacado__etiqueta {
	align-self: flex-start;
	margin-bottom: 8px;
	border-radius: var(--radio-boton);
	padding: 3px 10px;
	background: rgba(19, 175, 249, 0.12);
	color: #0b7fb8;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.zona-privada .panel.panel--congreso.panel--congreso h3.congreso-destacado__nombre {
	margin-bottom: 0;
	color: var(--noche);
	font-size: 20px;
	line-height: 1.3;
	text-transform: none;
}

.zona-privada .panel.panel--congreso.panel--congreso p.congreso-destacado__datos {
	margin-top: 6px;
	color: var(--texto-suave);
	font-size: 15px;
}

.zona-privada .panel.panel--congreso.panel--congreso .wp-block-buttons {
	justify-content: flex-start;
	margin-top: 14px;
	margin-bottom: 4px;
}

.zona-privada .panel.panel--congreso.panel--congreso .wp-block-button__link {
	min-height: 42px;
	padding: 8px 22px;
}

/* Vídeos del último congreso */
.zona-privada .panel--congreso .wp-block-shortcode,
.zona-privada .panel--congreso > p.videos-congreso__titulo,
.zona-privada .panel--congreso > .videos-congreso,
.zona-privada .panel--congreso > a.videos-congreso__todos {
	margin-inline: 22px !important;
}

.zona-privada .panel--congreso .videos-congreso__titulo {
	margin: 18px 22px 10px !important;
	color: var(--noche);
	font-size: 15px;
	font-weight: 600;
}

.zona-privada .videos-congreso {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin: 0 22px;
	padding: 0;
	list-style: none;
}

.zona-privada .videos-congreso li {
	margin: 0;
}

.zona-privada .ap-contenido .videos-congreso a {
	display: flex;
	flex-direction: column;
	gap: 6px;
	color: var(--noche);
	text-decoration: none;
}

.zona-privada .videos-congreso__imagen {
	position: relative;
	display: block;
	overflow: hidden;
	border-radius: var(--radio-s);
	aspect-ratio: 16 / 9;
	background: var(--noche);
}

.zona-privada .videos-congreso__imagen img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform var(--transicion);
}

.zona-privada .videos-congreso a:hover .videos-congreso__imagen img {
	transform: scale(1.05);
}

.zona-privada .videos-congreso__imagen .icono {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: rgba(37, 43, 66, 0.55);
	color: var(--blanco);
	transform: translate(-50%, -50%);
}

.zona-privada .videos-congreso__nombre {
	display: -webkit-box;
	overflow: hidden;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.35;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.zona-privada .ap-contenido a.videos-congreso__todos {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 14px 22px 20px !important;
	color: var(--azul-hondo);
	font-size: 14px;
	font-weight: 500;
	text-decoration: none;
}

@media (max-width: 560px) {
	.zona-privada .videos-congreso {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.zona-privada .videos-congreso li:nth-child(3) {
		display: none;
	}
}

.zona-privada .panel.panel--congreso.panel--congreso h3.congreso-destacado__nombre {
	margin-inline: 22px;
}

.zona-privada .panel.panel--congreso.panel--congreso .wp-block-button__link {
	border: 0 !important;
	background: var(--azul) !important;
	color: var(--blanco) !important;
}

.zona-privada .panel.panel--congreso.panel--congreso .wp-block-button__link:hover {
	background: var(--azul-hondo) !important;
}

/* Sin vídeos debajo, la imagen del congreso ocupa el alto que deja Novedades a su lado */
.zona-privada .panel--congreso .congreso-destacado,
.zona-privada .panel--congreso .congreso-destacado > .wp-block-group__inner-container {
	flex: 1;
}

.zona-privada .panel.panel--congreso.panel--congreso .congreso-destacado__cartel {
	flex: 1 1 auto;
	min-height: 240px;
	aspect-ratio: auto;
}

.zona-privada .panel.panel--congreso.panel--congreso .wp-block-buttons {
	margin-bottom: 24px;
}

/* Las dos tarjetas a la misma altura: manda Novedades, y la ilustración del congreso rellena el hueco que
   queda (la imagen no empuja la altura de la tarjeta: va posicionada dentro de su marco) */
.zona-privada .panel.panel--congreso.panel--congreso .congreso-destacado__cartel {
	position: relative;
	flex: 1 1 0;
	min-height: 200px;
}

.zona-privada .panel.panel--congreso.panel--congreso .congreso-destacado__cartel img {
	position: absolute;
	inset: 0;
}

/* Botón a la derecha del texto, a su altura (Jandro): la imagen gana el alto que ocupaba el botón. Solo si la
   tarjeta tiene sitio; en las estrechas (móvil, portátil pequeño) el botón sigue debajo del texto. */
@media (min-width: 782px) {
	.zona-privada .panel.panel--congreso.panel--congreso {
		container-type: inline-size; /* en el móvil, con las tarjetas apiladas, dispararía su altura */
	}
}

@container (min-width: 520px) {
	.zona-privada .panel--congreso .congreso-destacado > .wp-block-group__inner-container {
		display: grid;
		grid-template: 1fr repeat(3, auto) / minmax(0, 1fr) auto;
		column-gap: 24px;
	}

	.zona-privada .panel.panel--congreso.panel--congreso .congreso-destacado__cartel {
		grid-column: 1 / -1;
	}

	.zona-privada .panel--congreso .congreso-destacado :is(.congreso-destacado__etiqueta, .congreso-destacado__nombre, .congreso-destacado__datos) {
		grid-column: 1;
	}

	.zona-privada .panel.panel--congreso.panel--congreso p.congreso-destacado__etiqueta {
		justify-self: start; /* en la cuadrícula, «align-self» ya no la ajusta a su texto */
	}

	.zona-privada .panel.panel--congreso.panel--congreso p.congreso-destacado__datos {
		margin-bottom: 24px;
	}

	.zona-privada .panel.panel--congreso.panel--congreso .wp-block-buttons {
		grid-column: 2;
		grid-row: 2 / 5;
		align-self: center;
		margin: 0 22px 24px 0;
	}
}

/* Cabecera de las páginas de Publicaciones (pub-cabecera) dentro del área: sin la banda blanca de la web pública, que
   aquí quedaba como una caja pegada a la barra superior */
.zona-privada .pagina:has(> .pub-cabecera) {
	padding-top: clamp(24px, 2.5vw, 40px);
}

.zona-privada .pagina > .pub-cabecera {
	border-bottom: 0;
	padding-top: 0;
	padding-bottom: 0;
	background: none;
}

/* Mientras area-privada.js pone el filtro pedido con «?apartado=…» (functions.php) */
.ap-filtrando .ap-contenido {
	visibility: hidden;
}

/* Espacio SERV ([serv_espacio], inc/espacio-socio.php): el «menú de la app» del área privada */
.zona-privada .espacio {
	max-width: 960px;
}

.zona-privada .espacio__titulo {
	margin: 0 0 20px;
	color: var(--noche);
	font-size: clamp(24px, 2.4vw, 30px);
	font-weight: 700;
	line-height: 1.2;
}

.zona-privada .espacio .screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

.zona-privada .espacio__buscador {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 16px;
	border: 1px solid #e6e8ee;
	border-radius: 14px;
	padding: 6px 6px 6px 16px;
	background: var(--blanco);
}

.zona-privada .espacio__buscador > .icono {
	flex: none;
	width: 20px;
	height: 20px;
	color: var(--texto-suave);
}

.zona-privada .espacio .espacio__buscador input[type="search"] {
	flex: 1;
	box-shadow: none;
	-webkit-appearance: none;
	min-width: 0;
	margin: 0;
	border: 0;
	padding: 10px 0;
	background: none;
	color: var(--noche);
	font: inherit;
	outline: none;
}

.zona-privada .espacio__buscador button {
	flex: none;
	border: 0;
	border-radius: 10px;
	padding: 10px 18px;
	background: var(--noche);
	color: var(--blanco);
	font: 500 15px/1 Roboto, sans-serif;
	cursor: pointer;
}

.zona-privada .ap-contenido a.espacio__guias {
	display: flex;
	align-items: center;
	gap: 16px;
	margin: 0 0 32px;
	border-radius: 16px;
	padding: 16px 18px;
	background: var(--noche);
	color: var(--blanco);
	text-decoration: none;
}

.zona-privada .espacio__guias img {
	flex: none;
	width: 56px;
	height: 56px;
}

.zona-privada .espacio__guias > span:not(.espacio__guias-boton) {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 2px;
	color: rgba(255, 255, 255, 0.75);
	font-size: 14px;
	line-height: 1.4;
}

.zona-privada .espacio__guias strong {
	color: var(--blanco);
	font-size: 16px;
	font-weight: 600;
}

.zona-privada .espacio__guias-boton {
	display: inline-flex;
	flex: none;
	align-items: center;
	gap: 6px;
	border-radius: 999px;
	padding: 8px 14px;
	background: var(--azul);
	color: var(--blanco);
	font-size: 14px;
	font-weight: 500;
}

.zona-privada .espacio__guias-boton .icono {
	width: 16px;
	height: 16px;
}

.zona-privada .espacio__seccion {
	margin: 0 0 14px;
	color: var(--noche);
	font-size: 18px;
	font-weight: 600;
}

.zona-privada .espacio__red {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 12px;
	margin: 0 0 32px;
	padding: 0;
	list-style: none;
}

.zona-privada .ap-contenido .espacio .espacio__red > li > a[href] {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	height: 100%;
	border: 1px solid #e6e8ee;
	border-radius: 16px;
	padding: 16px 8px 14px;
	background: var(--blanco);
	color: var(--noche);
	font-size: 14px;
	font-weight: 500;
	line-height: 1.25;
	text-align: center;
	text-decoration: none;
	transition: border-color var(--transicion), box-shadow var(--transicion);
}

.zona-privada .ap-contenido .espacio .espacio__red > li > a[href]:hover {
	border-color: var(--azul);
	box-shadow: 0 8px 20px -14px rgba(15, 20, 40, 0.4);
}

.zona-privada .espacio__icono {
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	border-radius: 14px;
	background: rgba(19, 175, 249, 0.1);
	color: var(--azul);
}

.zona-privada .espacio__icono .icono {
	width: 24px;
	height: 24px;
}

.zona-privada .espacio .espacio__secretaria {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.zona-privada .espacio__app {
	border: 1px solid #e6e8ee;
	border-radius: 16px;
	background: var(--blanco);
}

.zona-privada .espacio__app summary {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 16px 18px;
	color: var(--noche);
	font-weight: 500;
	cursor: pointer;
}

.zona-privada .espacio__app summary .icono {
	width: 20px;
	height: 20px;
	color: var(--azul);
}

.zona-privada .espacio__app p {
	margin: 0 18px 14px;
	color: var(--texto-suave);
	font-size: 15px;
	line-height: 1.55;
}

@media (max-width: 900px) {
	.zona-privada .espacio__red {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 600px) {
	.zona-privada .ap-contenido a.espacio__guias {
		flex-wrap: wrap;
	}

	/* En el móvil, en columna: logotipo, título, la línea de debajo y el botón a todo el ancho (Jandro, 17-10-2026:
	   «maqueta un poco mejor la card de guías»; antes el botón quedaba descolgado a la derecha del logotipo) */
	/* Logotipo grande a la izquierda y el texto a su lado; el botón, debajo a todo el ancho (Jandro: «el icono y el
	   texto en dos columnas, para que se vea un poco más el icono») */
	.zona-privada .ap-contenido a.espacio__guias {
		display: grid;
		grid-template-columns: 72px minmax(0, 1fr);
		align-items: center;
		gap: 16px;
		padding: 20px;
	}

	.zona-privada .espacio__guias img {
		width: 72px;
		height: 72px;
	}

	.zona-privada .espacio__guias > span:not(.espacio__guias-boton) {
		flex: none;
		gap: 4px;
	}

	.zona-privada .espacio__guias strong {
		font-size: 17px;
		line-height: 1.3;
	}

	.zona-privada .espacio__guias-boton {
		grid-column: 1 / -1;
		justify-content: center;
		align-self: stretch;
		margin: 2px 0 0;
		padding: 12px 16px;
		font-size: 15px;
	}

	.zona-privada .espacio .espacio__secretaria {
		grid-template-columns: minmax(0, 1fr);
	}

	.zona-privada .espacio__buscador button {
		padding: 10px 14px;
	}
}

/* Botones de los congresos (Vídeos, Programa, Libro), más grandes en el móvil: 48px de alto, como pide un dedo
   (Jandro, 17-10-2026: «muy pequeños, carecen de usabilidad»). En el escritorio, como estaban (Jandro, 18-10-2026:
   «en desktop me gustaba como se veía antes»): Vídeos a todo el ancho y Programa y Libro compartiendo fila. */
@media (max-width: 767px) {
	.zona-privada .ap-contenido .wp-block-columns:not(.panel *, .banner-guias *, :has(> .panel)) > .wp-block-column > .wp-block-buttons.botones-congreso {
		gap: 8px;
		margin-top: 12px;
		padding-inline: 14px;
		padding-bottom: 14px;
	}

	.zona-privada .ap-contenido .wp-block-columns:not(.panel *, .banner-guias *, :has(> .panel)) > .wp-block-column .botones-congreso .wp-block-button__link {
		gap: 8px;
		min-height: 48px;
		padding: 10px 14px;
		font-size: 15px;
		font-weight: 500;
	}

	.zona-privada .botones-congreso .boton-icono .wp-block-button__link::before {
		width: 18px;
		height: 18px;
	}
}

/* Título de la sección (inc/titulo-socio.php): solo en el móvil y la tableta, donde no está el menú lateral */
.zona-privada .ap-titulo-seccion {
	display: none;
}

@media (max-width: 1024px) {
	.zona-privada .ap-titulo-seccion {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 6px 12px;
		margin: 0 0 20px;
	}

	.zona-privada .ap-titulo-seccion h1 {
		margin: 0;
		color: var(--noche);
		font-size: 26px;
		font-weight: 700;
		line-height: 1.2;
	}

	.zona-privada .ap-titulo-seccion__cuenta {
		border-radius: var(--radio-boton);
		padding: 4px 10px;
		background: #e9ecf1;
		color: var(--texto-suave);
		font-size: 13px;
		font-weight: 500;
		font-variant-numeric: tabular-nums;
	}
}

/* Novedades como buzón (area-privada.js): buscador, boletines por año, cada uno una fila que se pulsa entera */
@media (min-width: 1025px) {
	.zona-privada .ap-titulo-seccion--siempre {
		display: flex;
		align-items: center;
		gap: 12px;
		margin: 0 0 24px;
	}

	.zona-privada .ap-titulo-seccion--siempre h1 {
		margin: 0;
		color: var(--noche);
		font-size: 30px;
		font-weight: 700;
	}

	.zona-privada .ap-titulo-seccion--siempre .ap-titulo-seccion__cuenta {
		border-radius: var(--radio-boton);
		padding: 4px 10px;
		background: #e9ecf1;
		color: var(--texto-suave);
		font-size: 13px;
		font-weight: 500;
	}
}

.zona-privada .buzon-novedades {
	max-width: 820px;
}

.zona-privada .buzon-novedades__buscador input {
	width: 100%;
	margin: 0 0 24px;
	border: 1px solid #e3e6eb;
	border-radius: 14px;
	padding: 14px 16px 14px 46px;
	background: var(--blanco) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='%23777f89'%3E%3Cpath d='M229.66,218.34l-50.07-50.06a88.11,88.11,0,1,0-11.31,11.31l50.06,50.07a8,8,0,0,0,11.32-11.32ZM40,112a72,72,0,1,1,72,72A72.08,72.08,0,0,1,40,112Z'/%3E%3C/svg%3E") 16px center / 20px no-repeat;
	color: var(--noche);
	font: 400 16px/1.3 Roboto, sans-serif;
}

.zona-privada .buzon-novedades .screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
}

.zona-privada .buzon-novedades__vacio {
	color: var(--texto-suave);
}

.zona-privada .buzon-novedades__anio + .buzon-novedades__anio {
	margin-top: 28px;
}

.zona-privada .buzon-novedades__anio h2 {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 10px;
	color: var(--noche);
	font-size: 18px;
	font-weight: 600;
}

.zona-privada .buzon-novedades__anio h2 span {
	border-radius: var(--radio-boton);
	padding: 2px 8px;
	background: #e9ecf1;
	color: var(--texto-suave);
	font-size: 12px;
	font-weight: 500;
}

.zona-privada .buzon-novedades .mailpoet_archive {
	margin: 0;
	border: 1px solid #e6e8ee;
	border-radius: 16px;
	padding: 0;
	background: var(--blanco);
	list-style: none;
	overflow: hidden;
}

.zona-privada .buzon-novedades .mailpoet_archive li {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 4px;
	margin: 0;
	border-bottom: 1px solid #eef0f3;
	padding: 14px 44px 14px 18px;
	transition: background-color var(--transicion);
}

.zona-privada .buzon-novedades .mailpoet_archive li:last-child {
	border-bottom: 0;
}

.zona-privada .buzon-novedades .mailpoet_archive li:hover {
	background: #f6f8fb;
}

/* Flecha a la derecha */
.zona-privada .buzon-novedades .mailpoet_archive li::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 18px;
	width: 8px;
	height: 8px;
	border-top: 2px solid #b4bac5;
	border-right: 2px solid #b4bac5;
	transform: translateY(-50%) rotate(45deg);
}

.zona-privada .buzon-novedades .mailpoet_archive_subject {
	order: -1;
	margin: 0;
	font-size: 15px;
	line-height: 1.4;
}

.zona-privada .buzon-novedades .mailpoet_archive_subject p {
	margin: 0;
}

.zona-privada .ap-contenido .buzon-novedades .mailpoet_archive_subject a {
	color: var(--noche);
	font-weight: 500;
	text-decoration: none;
}

/* Toda la fila se pulsa */
.zona-privada .ap-contenido .buzon-novedades .mailpoet_archive_subject a::before {
	content: "";
	position: absolute;
	inset: 0;
}

.zona-privada .buzon-novedades .mailpoet_archive_date {
	color: var(--texto-suave);
	font-size: 13px;
}

.zona-privada .buzon-novedades .mailpoet_archive_date > :not(time) {
	display: none;
}

/* Junta Directiva dentro del área (mismo contenido que la pública: junta-socios.php): como en la pública. Cada
   fila de personas en flex (la rejilla general de tarjetas del área la pasaba a 4 columnas y en las filas de 5 quedaba
   una suelta) y los vocales sin la sangría de su banda (Jandro, 17-10-2026). */
.zona-privada.pagina-equipo .ap-contenido .wp-block-columns:has(> .wp-block-column img) {
	display: flex !important;
	flex-wrap: wrap !important;
	justify-content: center;
	gap: 16px;
}

.zona-privada.pagina-equipo .ap-contenido .wp-block-columns:has(> .wp-block-column img) > .wp-block-column {
	flex: 1 1 0 !important;
	min-width: 150px;
	max-width: 220px;
}

.zona-privada.pagina-equipo .ap-contenido .banda {
	margin-inline: 0;
	padding-inline: 0;
}

@media (max-width: 767px) {
	.zona-privada.pagina-equipo .ap-contenido .wp-block-columns:has(> .wp-block-column img) {
		gap: 12px !important; /* con los 24px de la regla general, dos tarjetas no cabían y bajaban de una en una */
	}

	.zona-privada.pagina-equipo .ap-contenido .wp-block-columns:has(> .wp-block-column img) > .wp-block-column {
		flex: 0 0 calc(50% - 6px) !important;
		min-width: 0;
		max-width: none;
	}
}

/* Buscador (PubSERV, código de Oscar sin tocarlo): logotipo en el título; los resultados alineados con el título
   (llevaban 28px de margen escrito en línea) y sin caja propia de 440pt con barra (la página no se movía y el título
   parecía fijo); la paginación con botones de verdad (Jandro, 17-10-2026) */
.zona-privada .ap-titulo-seccion__logo {
	width: auto;
	height: 36px;
}

/* (Los resultados y las páginas del buscador antiguo se sustituyeron por los del plugin, buscador.php: al final.) */

/* Inicio del área, en pantallas anchas: el logotipo de PubSERV pasa de encima del buscador a dentro de él, discreto
   y a la derecha, «Con la tecnología de PubSERV» (Jandro, 17-10-2026: «así podemos subir un poco el contenido»).
   En el móvil sigue como estaba. */
@media (min-width: 901px) {
	.zona-privada .ap-contenido:has(.resumen-socio) > .wp-block-group:has(> .wp-block-group__inner-container > .wp-block-image:only-child img[src*="PubSERV"]) {
		display: none;
	}

	/* Menos espacio entre el saludo (o el aviso del perfil) y el buscador */
	.zona-privada .ap-contenido:has(.resumen-socio) > .resumen-socio {
		margin-bottom: 0;
	}

	.zona-privada .ap-contenido:has(.resumen-socio) > .wp-block-group:has(#formulario_buscador) {
		margin-top: 16px;
	}

	.zona-privada .ap-contenido:has(.resumen-socio) #formulario_buscador > div > svg {
		order: 0;
	}

	.zona-privada .ap-contenido:has(.resumen-socio) #formulario_buscador > div > input {
		order: 1;
	}

	.zona-privada .ap-contenido:has(.resumen-socio) #formulario_buscador > div > .elementor-element {
		order: 3;
	}

	.zona-privada .ap-contenido:has(.resumen-socio) #formulario_buscador > div::after {
		content: "Con la tecnología de";
		order: 2;
		flex: none;
		margin-right: 8px;
		padding-right: 84px;
		/* El logotipo en gris, de una tinta (Jandro): ya es discreto, sin más transparencia */
		background: url("../imagenes/pubserv-mono.svg") right center / 76px auto no-repeat;
		color: #bcbcbc; /* el mismo gris que el logotipo */
		font: 400 12px/22px Roboto, sans-serif;
		white-space: nowrap;
		pointer-events: none;
		transition: opacity var(--transicion);
	}

	/* Mientras se escribe, se aparta un poco más */
	.zona-privada .ap-contenido:has(.resumen-socio) #formulario_buscador > div:focus-within::after {
		opacity: 0.6;
	}
}

/* Inicio del área, en el móvil: tampoco el logotipo de PubSERV encima del buscador (Jandro, 17-10-2026). En pantallas
   anchas va dentro del campo («Con la tecnología de»); en el móvil, no cabe y no se pone. */
@media (max-width: 900px) {
	.zona-privada .ap-contenido:has(.resumen-socio) > .wp-block-group:has(> .wp-block-group__inner-container > .wp-block-image:only-child img[src*="PubSERV"]) {
		display: none;
	}
}

/* Inicio del área, en el móvil: el buscador como el de Espacio SERV (campo blanco redondeado, el botón dentro)
   (Jandro, 17-10-2026). El formulario es del código de Oscar: solo se viste. */
@media (max-width: 900px) {
	.zona-privada .ap-contenido:has(.resumen-socio) #formulario_buscador > div {
		height: auto !important;
		gap: 10px !important;
		border: 1px solid #e3e6eb;
		border-radius: 14px !important;
		padding: 6px 6px 6px 16px !important;
		background: var(--blanco) !important;
	}

	.zona-privada .ap-contenido:has(.resumen-socio) #formulario_buscador > div > svg {
		flex: none;
		width: 20px;
		height: 20px;
	}

	.zona-privada .ap-contenido:has(.resumen-socio) #formulario_buscador #form-field-termino {
		min-width: 0;
		padding: 14px 0 !important;
		font-size: 16px !important;
	}

	.zona-privada .ap-contenido:has(.resumen-socio) #formulario_buscador > div > .elementor-element {
		flex: none;
		margin: 0 !important;
	}

	.zona-privada .ap-contenido:has(.resumen-socio) #formulario_buscador .elementor-button {
		height: auto !important;
		border-radius: 10px !important;
		padding: 12px 18px !important;
		background: var(--noche) !important;
		font: 500 15px/1 Roboto, sans-serif !important;
	}
}

/* Aviso para instalar la app (iPhone/iPad; [serv_aviso_app]) */
.zona-privada .aviso-app {
	margin: 24px 0;
	border: 1px solid #e3e6eb;
	border-radius: 18px;
	padding: 18px;
	background: var(--blanco);
	box-shadow: 0 10px 30px -18px rgba(15, 20, 40, 0.35);
}

.zona-privada .aviso-app[hidden] {
	display: none;
}

.zona-privada .aviso-app__cabecera {
	display: grid;
	grid-template-columns: 48px minmax(0, 1fr) auto;
	align-items: start;
	gap: 14px;
}

.zona-privada .aviso-app__cabecera img {
	width: 48px;
	height: 48px;
	border: 1px solid #eef0f3;
	border-radius: 12px;
	padding: 6px;
	background: var(--blanco);
	object-fit: contain;
}

.zona-privada .aviso-app h2 {
	margin: 2px 0 4px;
	color: var(--noche);
	font-size: 17px;
	font-weight: 700;
	line-height: 1.3;
}

.zona-privada .aviso-app__cabecera p {
	margin: 0;
	color: var(--texto-suave);
	font-size: 14px;
	line-height: 1.45;
}

.zona-privada .aviso-app__cerrar {
	display: grid;
	place-items: center;
	width: 32px;
	height: 32px;
	margin: -4px -4px 0 0;
	border: 0;
	border-radius: 50%;
	padding: 0;
	background: #f1f2f4;
	color: var(--texto-suave);
	cursor: pointer;
}

.zona-privada .aviso-app__cerrar .icono {
	width: 16px;
	height: 16px;
}

.zona-privada .aviso-app__pasos {
	display: grid;
	gap: 8px;
	margin: 16px 0 0;
	padding: 0;
	list-style: none;
}

.zona-privada .aviso-app__pasos li {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0;
	border-radius: 12px;
	padding: 10px 12px;
	background: #f5f7fa;
	color: var(--noche);
	font-size: 14px;
	line-height: 1.4;
}

.zona-privada .aviso-app__pasos li > span:nth-child(2) {
	flex: 1;
}

.zona-privada .aviso-app__numero {
	display: grid;
	flex: none;
	place-items: center;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: var(--azul);
	color: var(--blanco);
	font-size: 13px;
	font-weight: 600;
}

.zona-privada .aviso-app__pasos .icono {
	flex: none;
	width: 22px;
	height: 22px;
	color: var(--azul);
}

/* Junta Directiva del área: junta, vocales y ex-presidentes en filas de cuatro (dos en el móvil), y todas las
   tarjetas del mismo tamaño aunque la última fila no se llene: ancho de su columna de la rejilla, foto con la misma
   proporción y, en cada sección, el alto de su tarjeta más alta (Jandro, 18-10-2026; igualarlas con la más alta de
   toda la página dejaba la junta con mucho hueco). Sustituye al reparto en flex de arriba. */
.zona-privada.pagina-equipo .ap-contenido .wp-block-columns:has(> .wp-block-column img) {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	grid-auto-rows: 1fr;
	gap: 20px !important;
	justify-content: stretch;
}

.zona-privada.pagina-equipo .ap-contenido .wp-block-columns:has(> .wp-block-column img) > .wp-block-column {
	display: flex;
	flex-direction: column;
	min-width: 0;
	max-width: none !important;
	box-sizing: border-box;
}

.zona-privada.pagina-equipo .ap-contenido .wp-block-column:has(img) .ficha {
	display: flex !important;
	flex: 1 1 auto;
	flex-direction: column;
}

.zona-privada.pagina-equipo .ap-contenido .wp-block-column:has(img) img {
	aspect-ratio: 4 / 3;
	object-fit: cover;
	object-position: center top;
}

/* Botón «Contactar» (inc/junta-contacto.php): encima de la foto, solo al pasar el ratón por la tarjeta (Jandro,
   18-10-2026); area-privada.js lo mete en la foto. En pantallas táctiles, sin ratón, se ve siempre. Si la persona no
   permite el contacto, no hay botón. */
.zona-privada.pagina-equipo .ap-contenido .wp-block-column:has(img) .wp-block-image:has(.junta-contacto) {
	position: relative;
}

.zona-privada.pagina-equipo .ap-contenido .junta-contacto {
	position: absolute;
	bottom: 10px;
	left: 50%;
	display: inline-flex !important; /* una regla de los enlaces de las imágenes lo ponía en bloque y pegaba el icono */
	align-items: center;
	gap: 7px;
	box-sizing: border-box;
	height: 34px;
	border: 1px solid rgba(255, 255, 255, 0.7);
	border-radius: 100px;
	padding: 0 14px 0 11px;
	background: rgba(255, 255, 255, 0.88);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	box-shadow: 0 8px 20px -10px rgba(15, 20, 40, 0.5);
	color: var(--noche);
	font: 600 12.5px/1 Roboto, sans-serif !important;
	letter-spacing: 0.01em;
	text-decoration: none !important;
	white-space: nowrap;
	opacity: 0;
	transform: translate(-50%, 6px);
	transition: opacity 0.2s ease, transform 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.zona-privada.pagina-equipo .ap-contenido .wp-block-column:has(img):is(:hover, :focus-within) .junta-contacto {
	opacity: 1;
	transform: translate(-50%, 0);
}

.zona-privada.pagina-equipo .ap-contenido .junta-contacto svg {
	flex: none;
	width: 16px;
	height: 16px;
	color: var(--azul-hondo);
	transition: color 0.2s ease;
}

.zona-privada.pagina-equipo .ap-contenido .junta-contacto:hover,
.zona-privada.pagina-equipo .ap-contenido .junta-contacto:focus-visible {
	border-color: var(--azul-hondo);
	background: var(--azul-hondo);
	color: var(--blanco);
}

.zona-privada.pagina-equipo .ap-contenido .junta-contacto:hover svg,
.zona-privada.pagina-equipo .ap-contenido .junta-contacto:focus-visible svg {
	color: var(--blanco);
}

@media (hover: none) {
	.zona-privada.pagina-equipo .ap-contenido .junta-contacto {
		bottom: 8px;
		height: 30px;
		padding: 0 12px 0 10px;
		opacity: 1;
		transform: translate(-50%, 0);
	}
}

@media (prefers-reduced-motion: reduce) {
	.zona-privada.pagina-equipo .ap-contenido .junta-contacto {
		transition: none;
	}
}

@media (max-width: 599px) {
	.zona-privada.pagina-equipo .ap-contenido .wp-block-columns:has(> .wp-block-column img) {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 12px !important;
	}
}

@media (min-width: 600px) and (max-width: 1100px) {
	.zona-privada.pagina-equipo .ap-contenido .wp-block-columns:has(> .wp-block-column img) {
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
		gap: 14px !important;
	}
}

@media (max-width: 1100px) {
	.zona-privada.pagina-equipo .ap-contenido .wp-block-columns:has(> .wp-block-column img) > .wp-block-column {
		flex: none !important;
		width: auto !important;
		padding: 10px 10px 14px;
	}
}

.zona-privada.pagina-equipo .ap-contenido .wp-block-column:has(img) .ficha > .wp-block-group__inner-container {
	flex: 1 1 auto;
}

/* P.R. Vademécum: su logotipo como título (inc/titulo-socio.php), también en el escritorio. Fuera el subtítulo
   «Buscador» del móvil, que ya no va encima del buscador (ahora van primero las pestañas) */
.zona-privada .ap-titulo-seccion__logo--vademecum {
	display: block;
	width: auto;
	height: 64px;
}

.zona-privada .ap-contenido:has(.vademecum) > .ap-titulo-seccion {
	display: block;
	margin: 0 0 28px;
}

.zona-privada .ap-contenido:has(.vademecum) > .ap-titulo-seccion h1 {
	margin: 0;
	line-height: 0;
}

.zona-privada .ap-contenido:has(.vademecum) > .wp-block-group:is(.oculto-escritorio, .oculto-movil):not(:has(:not(h3, .wp-block-group__inner-container))) {
	display: none;
}

@media (max-width: 900px) {
	.zona-privada .ap-titulo-seccion__logo--vademecum {
		height: 52px;
	}

	.zona-privada .ap-contenido:has(.vademecum) > .ap-titulo-seccion {
		margin-bottom: 20px;
	}
}


/* ======================================================================
   Certificación UTI en el área privada (inc/uti.php; Jandro, 18-10-2026: «a nivel UX no están muy allá»):
   la autoevaluación del socio, el panel del comité (Gestión UTI) y la ficha de cada solicitud. Las piezas comunes
   (tarjeta de estado, etiquetas, barra, botones, formulario de alta) están en serv.css.
   ====================================================================== */

/* ---------- Autoevaluación (formulario de Frontend Admin) ---------- */
.uti-checklist {
	max-width: 880px;
}

.uti-checklist__cabecera {
	margin: 0 0 24px;
}

/* El formulario pone «Estado: Abierta - En Proceso» al editar: ya lo dice la cabecera */
.uti-checklist > b,
.uti-checklist > b + br {
	display: none;
}

.zona-privada .uti-checklist__cabecera h1 {
	margin: 0 0 10px;
	color: var(--noche);
	font: 700 30px/1.2 Roboto, sans-serif;
}

.zona-privada .uti-checklist__cabecera p {
	margin: 0 0 12px;
	color: var(--texto);
	font-size: 15.5px;
	line-height: 1.55;
}

.zona-privada .uti-aviso {
	border-radius: var(--radio);
	padding: 12px 16px;
	background: #fff4cc;
	color: #5c4400 !important;
}

.uti-checklist__progreso {
	position: sticky;
	top: 0;
	z-index: 5;
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 16px 0 0;
	border: 1px solid var(--borde);
	border-radius: var(--radio);
	padding: 12px 16px;
	background: var(--blanco);
	color: var(--texto-suave);
	font-size: 14px;
	box-shadow: var(--sombra-s);
}

.zona-privada:has(.ap-barra:not(.es-escondida)) .uti-checklist__progreso {
	top: 96px;
}

.uti-checklist__progreso .icono {
	flex: 0 0 auto;
	width: 20px;
	height: 20px;
	color: var(--azul-hondo);
}

.uti-checklist__cuenta strong {
	color: var(--noche);
}

/* Cada apartado, una tarjeta plegable */
.uti-checklist .frontend-form > .acf-fields,
.uti-checklist form.frontend-form {
	display: block;
}

.uti-checklist .acf-field-accordion {
	margin: 0 0 12px !important;
	border: 1px solid var(--borde) !important;
	border-radius: var(--radio-l);
	padding: 0 !important;
	background: var(--blanco);
	box-shadow: var(--sombra-s);
}

.uti-checklist .acf-accordion-title {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 !important;
	border: 0 !important;
	padding: 18px 22px !important;
	background: none !important;
	cursor: pointer;
}

.uti-checklist .acf-accordion-title label {
	flex: 1;
	margin: 0;
	color: var(--noche);
	font: 600 17px/1.3 Roboto, sans-serif !important;
	cursor: pointer;
}

.uti-checklist .acf-accordion-title .acf-accordion-icon {
	order: 3;
	float: none !important;
	color: var(--texto-suave);
}

.uti-checklist .uti-apartado-cuenta {
	order: 2;
	border-radius: var(--radio-boton);
	padding: 2px 10px;
	background: #eef0f3;
	color: var(--texto-suave);
	font-size: 13px;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
}

.uti-checklist .acf-accordion-content {
	border-top: 1px solid var(--borde) !important;
	padding: 6px 22px 10px !important;
}

/* Cada criterio: el texto a la izquierda y el Sí/No a la derecha */
.uti-checklist .acf-accordion-content > .acf-fields > .acf-field {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 8px 20px;
	margin: 0 !important;
	border: 0 !important;
	border-bottom: 1px solid #f0f2f5 !important;
	padding: 14px 0 !important;
}

.uti-checklist .acf-accordion-content > .acf-fields > .acf-field:last-child {
	border-bottom: 0 !important;
}

.uti-checklist .acf-field .acf-label {
	flex: 1 1 320px;
	margin: 0 !important;
}

.uti-checklist .acf-field .acf-label label {
	margin: 0;
	color: var(--noche);
	font: 500 15px/1.45 Roboto, sans-serif;
}

.uti-checklist .acf-field .acf-label .description,
.uti-checklist .acf-field p.description {
	margin: 4px 0 0;
	color: var(--texto-suave);
	font-size: 13.5px;
}

.uti-checklist .acf-field .acf-input {
	flex: none;
}

/* Mensajes del formulario: el código del criterio («Criterio E08: Análisis de datos») como antetítulo de su pregunta,
   sin la caja vacía; si traen texto, como nota */
.uti-checklist .acf-accordion-content > .acf-fields > .acf-field-message {
	display: block !important;
	border-bottom: 0 !important;
	padding: 16px 0 0 !important;
}

.uti-checklist .acf-field-message + .acf-field {
	padding-top: 6px !important;
}

.uti-checklist .acf-field-message .acf-label label {
	color: var(--azul-hondo);
	font-size: 12.5px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.uti-checklist .acf-field-message .acf-input.uti-vacio {
	display: none;
}

.uti-checklist .acf-field-message .acf-input {
	margin-top: 6px;
	border-radius: var(--radio);
	padding: 10px 14px;
	background: #f6f8fb;
	color: var(--texto);
	font-size: 14px;
	line-height: 1.5;
}

/* Sí / No: un selector de dos opciones en lugar del interruptor de ACF (Jandro, 18-10-2026: «estos toggles son
   horribles»). Las dos opciones a la vista; la elegida, marcada: «Sí» en verde, «No» en blanco. Pulsar la que ya
   está elegida no hace nada (area-privada.js). */
.uti-checklist .acf-true-false label {
	display: inline-block;
	margin: 0;
	cursor: pointer;
}

/* Dos botones separados, no una cápsula: con la píldora deslizándose dentro parecía un interruptor y pedía el «No» a la
   izquierda (Jandro, 19-10-2026). Sin elegir, blancos con borde; «Sí» elegido en verde, «No» elegido en rojo suave. */
.uti-checklist .acf-switch {
	position: static;
	display: inline-flex !important;
	gap: 8px;
	width: auto !important;
	min-width: 0 !important;
	height: auto !important;
	border: 0 !important;
	border-radius: 0 !important;
	padding: 0 !important;
	background: none !important;
	box-shadow: none !important;
	line-height: 1;
}

.uti-checklist .acf-switch .acf-switch-slider {
	display: none !important;
}

.uti-checklist .acf-switch .acf-switch-on,
.uti-checklist .acf-switch .acf-switch-off {
	position: static !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-width: 60px !important;
	height: 34px;
	border: 1px solid #d6dae3;
	border-radius: var(--radio-boton);
	padding: 0 16px !important;
	background: var(--blanco);
	color: var(--texto-suave) !important;
	font: 600 13.5px/1 Roboto, sans-serif !important;
	text-shadow: none !important;
	opacity: 1 !important;
	transition: background-color var(--transicion), border-color var(--transicion), color var(--transicion);
}

.uti-checklist .acf-switch .acf-switch-on:hover,
.uti-checklist .acf-switch .acf-switch-off:hover {
	border-color: #aeb4c2;
	color: var(--noche) !important;
}

/* Elegido «Sí» */
.uti-checklist .acf-switch.-on .acf-switch-on {
	border-color: #1f8a5b;
	background: #1f8a5b;
	color: var(--blanco) !important;
}

/* Elegido «No» */
.uti-checklist .acf-switch:not(.-on) .acf-switch-off {
	border-color: #f0b4b4;
	background: #fdecec;
	color: #b42323 !important;
}

.uti-checklist .acf-switch-input:focus-visible + .acf-switch {
	box-shadow: 0 0 0 3px rgba(19, 175, 249, 0.3) !important;
}

/* Documentos adjuntos */
.uti-checklist .acf-field-file .acf-input {
	flex: 1 1 100%;
}

.uti-checklist .acf-file-uploader .hide-if-value,
.uti-checklist .acf-file-uploader .file-wrap {
	border: 1.5px dashed #c9d0db !important;
	border-radius: var(--radio);
	padding: 14px 16px;
	background: #fafbfc;
}

.uti-checklist .acf-file-uploader .acf-button,
.uti-checklist .acf-file-uploader input[type="file"] {
	font: 500 14px Roboto, sans-serif;
}

/* Guardar y enviar: barra fija abajo */
.uti-checklist .acf-field-save-progress,
.uti-checklist .acf-field-submit-button {
	display: none !important;
}

.uti-acciones-checklist {
	position: sticky;
	bottom: 12px;
	z-index: 6;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 14px;
	margin: 20px 0 0;
	border: 1px solid var(--borde);
	border-radius: var(--radio-l);
	padding: 14px 18px;
	background: rgba(255, 255, 255, 0.96);
	box-shadow: 0 10px 30px -14px rgba(15, 20, 40, 0.35);
	backdrop-filter: blur(6px);
}

.zona-privada .uti-acciones-checklist p {
	flex: 1 1 220px;
	margin: 0;
	color: var(--texto-suave);
	font-size: 13.5px;
	line-height: 1.4;
}

@media (max-width: 900px) {
	.uti-acciones-checklist {
		bottom: 76px; /* por encima de la barra de accesos del móvil */
	}

	.uti-acciones-checklist .uti-boton {
		flex: 1 1 100%;
	}
}

/* ---------- Panel del comité (Gestión UTI) ---------- */
.zona-privada .uti-panel__intro {
	margin: 0 0 20px;
	color: var(--texto-suave);
	font-size: 15px;
}

.uti-resumen {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 10px;
	margin: 0 0 18px;
}

.uti-resumen__item {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 2px;
	border: 1px solid var(--borde);
	border-radius: var(--radio);
	padding: 12px 14px;
	background: var(--blanco);
	color: var(--texto-suave);
	font: 500 13px/1.3 Roboto, sans-serif;
	text-align: left;
	cursor: pointer;
	transition: border-color var(--transicion), box-shadow var(--transicion);
}

.uti-resumen__item strong {
	color: var(--noche);
	font-size: 24px;
	font-weight: 700;
	line-height: 1.1;
	font-variant-numeric: tabular-nums;
}

.uti-resumen__item:hover {
	border-color: #b9c0cd;
}

.uti-resumen__item[aria-selected="true"] {
	border-color: var(--noche);
	box-shadow: inset 0 0 0 1px var(--noche);
}

.uti-resumen__item--azul strong { color: #075f8c; }
.uti-resumen__item--amarillo strong { color: #7a5a00; }
.uti-resumen__item--verde strong { color: #1f6b46; }
.uti-resumen__item--rojo strong { color: #b42318; }

.uti-panel__buscar {
	display: block;
	margin: 0 0 16px;
}

.uti-panel__buscar input {
	width: 100%;
	box-sizing: border-box;
	padding-left: 42px !important;
	background: var(--blanco) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='%235b6172'%3E%3Cpath d='M229.66,218.34l-50.07-50.06a88.11,88.11,0,1,0-11.31,11.31l50.06,50.07a8,8,0,0,0,11.32-11.32ZM40,112a72,72,0,1,1,72,72A72.08,72.08,0,0,1,40,112Z'/%3E%3C/svg%3E") no-repeat 14px center / 18px;
}

.uti-lista {
	margin: 0;
	padding: 0;
	overflow: hidden;
	border: 1px solid var(--borde);
	border-radius: var(--radio-l);
	background: var(--blanco);
	box-shadow: var(--sombra-s);
	list-style: none;
}

.uti-fila {
	display: grid;
	/* Acciones con ancho fijo: con «Ver» + correo o solo el correo, las columnas no se movían igual (Jandro, 18-10-2026) */
	grid-template-columns: minmax(0, 2.2fr) minmax(0, 1.3fr) minmax(0, 1.2fr) 168px;
	align-items: center;
	gap: 16px;
	margin: 0 !important;
	border-bottom: 1px solid var(--borde);
	padding: 16px 20px;
}

.uti-fila:last-child {
	border-bottom: 0;
}

.uti-fila--por_revisar {
	box-shadow: inset 3px 0 0 var(--azul);
}

.uti-fila__centro,
.uti-fila__estado,
.uti-fila__progreso {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
}

.uti-fila__centro strong {
	color: var(--noche);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.35;
}

.uti-fila__centro span,
.uti-fila__fecha,
.uti-fila__nota,
.uti-fila__progreso > span,
.uti-fila__sin {
	color: var(--texto-suave);
	font-size: 13px;
	line-height: 1.35;
}

.uti-fila__estado {
	align-items: flex-start;
}

.uti-fila__nota {
	color: #7a5a00;
}

.uti-fila__progreso .uti-barra {
	flex: none;
	width: 100%;
	max-width: 160px;
}

.uti-fila__acciones {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
}

.uti-panel .uti-boton {
	min-height: 38px;
	padding: 6px 18px;
	font-size: 14px;
}

.uti-panel .uti-boton--icono {
	width: 38px;
	padding: 0;
	border-color: #d6dae3;
	color: var(--texto-suave);
}

.uti-panel .uti-boton--icono:hover {
	border-color: var(--noche);
	color: var(--noche);
}

.zona-privada .uti-panel__vacio {
	margin: 16px 0;
	color: var(--texto-suave);
}

@media (max-width: 1100px) {
	.uti-resumen {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 760px) {
	.uti-resumen {
		display: flex;
		margin-inline: -16px;
		padding: 0 16px 4px;
		overflow-x: auto;
		scrollbar-width: none;
	}

	.uti-resumen__item {
		flex: none;
		min-width: 104px;
	}

	.uti-fila {
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 10px 12px;
		padding: 14px 16px;
	}

	.uti-fila__centro {
		grid-column: 1 / -1;
	}

	.uti-fila__progreso {
		grid-column: 1 / -1;
	}
}

/* ---------- Ficha de una solicitud ---------- */
.uti-ficha {
	max-width: 960px;
}

.zona-privada .uti-volver {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 0 0 16px;
	color: var(--texto-suave);
	font-size: 14px;
	font-weight: 500;
	text-decoration: none;
}

.zona-privada .uti-volver:hover {
	color: var(--noche);
}

.uti-volver .icono {
	width: 16px;
	height: 16px;
}

.uti-ficha__cabecera {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px 24px;
	margin: 0 0 20px;
}

.zona-privada .uti-ficha__cabecera h1 {
	margin: 0 0 6px;
	color: var(--noche);
	font: 700 28px/1.2 Roboto, sans-serif;
}

.zona-privada .uti-ficha__persona {
	margin: 0 0 8px;
	color: var(--texto);
	font-size: 15px;
}

.zona-privada .uti-ficha__contacto {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 18px;
	margin: 0;
	font-size: 14px;
}

.zona-privada .uti-ficha__contacto a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--azul-hondo);
	text-decoration: none;
}

.uti-ficha__contacto .icono {
	width: 16px;
	height: 16px;
}

.uti-ficha__estado {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 6px;
	max-width: 280px;
	color: var(--texto-suave);
	font-size: 13px;
	text-align: right;
}

.uti-ficha__estado .uti-estado {
	padding: 5px 14px;
	font-size: 14px;
}

.uti-ficha__resumen {
	display: grid;
	grid-template-columns: 220px minmax(0, 1fr);
	gap: 20px;
	margin: 0 0 20px;
	border: 1px solid var(--borde);
	border-radius: var(--radio-l);
	padding: 20px 22px;
	background: var(--blanco);
	box-shadow: var(--sombra-s);
}

.uti-ficha__total {
	display: flex;
	flex-direction: column;
	gap: 8px;
	color: var(--texto-suave);
	font-size: 14px;
}

.uti-ficha__total strong {
	color: var(--noche);
	font-size: 38px;
	font-weight: 700;
	line-height: 1;
	font-variant-numeric: tabular-nums;
}

.uti-ficha__total small {
	color: var(--texto-suave);
	font-size: 20px;
	font-weight: 500;
}

.uti-ficha__total .uti-barra {
	flex: none;
	width: 100%;
}

.uti-ficha__cifras {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
	gap: 10px;
	margin: 0;
}

.uti-ficha__cifras > div {
	border-radius: var(--radio);
	padding: 10px 12px;
	background: #f6f8fb;
}

.uti-ficha__cifras dt {
	color: var(--texto-suave);
	font-size: 12.5px;
	font-weight: 500;
}

.uti-ficha__cifras dd {
	margin: 2px 0 0;
	color: var(--noche);
	font-size: 18px;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
}

.uti-ficha__cifras .uti-ficha__nivel {
	background: #eef7fe;
}

/* Decisión */
.uti-decision {
	margin: 0 0 24px;
	border: 1px solid var(--borde);
	border-radius: var(--radio-l);
	padding: 20px 22px;
	background: var(--blanco);
	box-shadow: var(--sombra-s);
}

.zona-privada .uti-decision h2,
.zona-privada .uti-ficha__respuestas h2 {
	margin: 0 0 14px;
	color: var(--noche);
	font: 600 18px/1.3 Roboto, sans-serif;
}

.uti-decision__botones {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0 0 14px;
}

.uti-ficha .uti-boton--verde {
	border-color: #1f8a5b;
	background: #1f8a5b;
	color: var(--blanco);
}

.uti-ficha .uti-boton--verde:hover {
	border-color: #166b46;
	background: #166b46;
}

.uti-ficha .uti-boton--rojo {
	border-color: #e3b4b4;
	color: #b42318;
}

.uti-ficha .uti-boton--rojo:hover {
	border-color: #b42318;
	background: #fdf0ef;
}

.uti-ficha .uti-boton--rojo-borde {
	border-color: transparent;
	color: #b42318;
	text-decoration: underline;
}

/* La decisión ya aplicada: desactivada, sin parecer un botón que falla */
.uti-ficha .uti-decision .uti-boton:disabled {
	border-color: transparent;
	background: #f1f3f6;
	color: var(--texto-suave);
	cursor: default;
}

.zona-privada .uti-decision__sin-correo {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--texto-suave);
	font-size: 14px;
	cursor: pointer;
}

.uti-decision__mas {
	margin-top: 12px;
	color: var(--texto-suave);
	font-size: 14px;
}

.uti-decision__mas summary {
	cursor: pointer;
}

/* Respuestas */
.uti-ficha__respuestas {
	margin: 0 0 24px;
}

.zona-privada .uti-ficha__respuestas h3 {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 22px 0 10px;
	color: var(--noche);
	font: 600 16px/1.3 Roboto, sans-serif;
}

.uti-ficha__respuestas h3 span {
	border-radius: var(--radio-boton);
	padding: 2px 10px;
	background: #eef0f3;
	color: var(--texto-suave);
	font-size: 13px;
}

.uti-criterios {
	margin: 0;
	padding: 0;
	overflow: hidden;
	border: 1px solid var(--borde);
	border-radius: var(--radio);
	background: var(--blanco);
	list-style: none;
}

.zona-privada .uti-criterio {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0;
	border-bottom: 1px solid #f0f2f5;
	padding: 10px 14px;
	color: var(--texto);
	font-size: 14.5px;
	line-height: 1.4;
}

.uti-criterio:last-child {
	border-bottom: 0;
}

.uti-criterio > span:nth-child(2) {
	flex: 1;
}

.uti-criterio__marca {
	display: inline-flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	border-radius: 50%;
}

.uti-criterio__marca .icono {
	width: 14px;
	height: 14px;
}

.uti-criterio--si .uti-criterio__marca {
	background: #e3f5ec;
	color: #1f6b46;
}

.uti-criterio--no {
	color: var(--texto-suave) !important;
}

.uti-criterio--no .uti-criterio__marca {
	background: #f1f3f6;
	color: #8a91a0;
}

.uti-criterio__nivel {
	flex: none;
	border-radius: var(--radio-boton);
	padding: 2px 8px;
	background: #eef7fe;
	color: #075f8c;
	font-size: 12px;
	font-weight: 600;
}

.uti-criterio--archivo .uti-criterio__marca {
	background: #f1f3f6;
	color: #8a91a0;
}

.uti-criterio--adjunto .uti-criterio__marca {
	background: #dff0fc;
	color: var(--azul-hondo);
}

.uti-criterio__archivo {
	display: block;
	margin-top: 2px;
	overflow: hidden;
	color: var(--texto-suave);
	font-size: 13px;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.zona-privada .ap-contenido a.uti-criterio__ver {
	display: inline-flex;
	flex: none;
	align-items: center;
	gap: 6px;
	border: 1px solid #b9dcf5;
	border-radius: var(--radio-boton);
	padding: 6px 14px;
	background: var(--blanco);
	color: #075f8c;
	font-size: 13.5px;
	font-weight: 600;
	text-decoration: none !important;
	transition: background var(--transicion), border-color var(--transicion);
}

.zona-privada .ap-contenido a.uti-criterio__ver:hover {
	border-color: var(--azul-hondo);
	background: #eef7fe;
}

.uti-criterio__ver .icono {
	width: 15px;
	height: 15px;
}

.uti-criterio__sin {
	flex: none;
	border-radius: var(--radio-boton);
	padding: 2px 10px;
	background: #f1f3f6;
	color: #8a91a0;
	font-size: 12px;
	font-style: normal;
	font-weight: 600;
}

/* El formulario original, plegado (los avisos del panel se quitan en origen: inc/administracion.php) */
.uti-ficha__original {
	border: 1px solid var(--borde);
	border-radius: var(--radio);
	padding: 12px 16px;
	background: var(--blanco);
	font-size: 14px;
}

.uti-ficha__original summary {
	color: var(--noche);
	font-weight: 500;
	cursor: pointer;
}


@media (max-width: 760px) {
	.uti-ficha__estado {
		align-items: flex-start;
		max-width: none;
		text-align: left;
	}

	.uti-ficha__resumen {
		grid-template-columns: minmax(0, 1fr);
	}

	.uti-decision__botones .uti-boton {
		flex: 1 1 100%;
	}
}

/* Certificación UTI: ajustes (sin la viñeta de «check» de las listas del área, sin la caja blanca de la página,
   icono del correo visible y contacto sin subrayar) */
.zona-privada .ap-contenido :is(.uti-lista, .uti-criterios) > li {
	padding-left: 20px;
	list-style: none;
}

.zona-privada .ap-contenido .uti-criterios > li {
	padding-left: 14px;
}

.zona-privada .ap-contenido :is(.uti-lista, .uti-criterios) > li::before {
	content: none !important;
	display: none !important;
}

.zona-privada .ap-contenido .banda:has(.uti-panel, .uti-ficha, .uti-checklist) {
	margin: 0;
	padding: 0 !important;
	background: none;
	box-shadow: none;
}

.zona-privada .ap-contenido .uti-panel a.uti-boton--icono {
	flex: none;
	width: 38px;
	height: 38px;
	min-height: 38px;
	border: 2px solid #d6dae3;
	padding: 0;
	background: var(--blanco);
	color: var(--texto-suave);
}

.zona-privada .ap-contenido .uti-panel a.uti-boton--icono:hover {
	border-color: var(--noche);
	background: var(--blanco);
	color: var(--noche);
}

.zona-privada .ap-contenido .uti-panel a.uti-boton--icono .icono {
	flex: none;
	width: 18px;
	height: 18px;
}

.zona-privada .ap-contenido .uti-ficha__contacto a {
	text-decoration: none !important;
}

.zona-privada .uti-decision__nota {
	margin: 0 0 14px;
	border-radius: var(--radio);
	padding: 10px 14px;
	background: #f6f8fb;
	color: var(--texto-suave);
	font-size: 14px;
}

.zona-privada .uti-acciones-checklist p.uti-acciones-checklist__error {
	color: #b42318;
	font-weight: 500;
}

.uti-checklist .acf-field.acf-error {
	border-radius: var(--radio);
	background: #fdf0ef;
	box-shadow: 0 0 0 8px #fdf0ef;
}

.uti-checklist .acf-error-message {
	margin: 6px 0 0 !important;
	border: 0 !important;
	border-radius: var(--radio-s);
	padding: 6px 10px !important;
	background: #b42318 !important;
	color: var(--blanco) !important;
	font-size: 13px;
}

/* Gestión UTI: el título más cerca de su descripción (había 57px: su margen y un bloque vacío de la página) y más
   aire entre la descripción y los contadores (Jandro, 18-10-2026) */
.zona-privada .ap-contenido:has(.uti-panel) > .ap-titulo-seccion {
	margin-bottom: 12px;
}

.zona-privada .ap-contenido:has(.uti-panel) > .wp-block-group:not(.banda):not(:has(:not(.wp-block-group__inner-container))) {
	display: none;
}

.zona-privada .ap-contenido:has(.uti-panel) > .banda {
	margin-top: 0 !important;
}

.zona-privada .uti-panel__intro {
	margin-bottom: 28px;
}

/* Banner de la certificación UTI en el inicio (inc/uti.php, serv_uti_banner_inicio), debajo del saludo, a todo el
   ancho, con el aspecto del aviso del perfil */
.zona-privada .uti-banners {
	display: grid;
	flex: 1 1 100%;
	gap: 10px;
}

.zona-privada .ap-contenido .uti-banner {
	display: flex;
	align-items: center;
	gap: 14px;
	border: 1px solid var(--borde);
	border-radius: var(--radio);
	padding: 14px 18px;
	background: var(--blanco);
	color: var(--texto);
	font-size: 14px;
	line-height: 1.45;
	text-decoration: none;
	box-shadow: var(--sombra-s);
	transition: border-color var(--transicion), box-shadow var(--transicion);
}

.zona-privada .ap-contenido a.uti-banner:hover {
	border-color: var(--azul);
	box-shadow: var(--sombra);
}

.zona-privada .ap-contenido .uti-banner[hidden] {
	display: none !important;
}

.uti-banner__icono {
	display: inline-flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 12px;
	background: #eef7fe;
	color: var(--azul-hondo);
}

.uti-banner__icono .icono {
	width: 22px;
	height: 22px;
}

.uti-banner__texto {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

.uti-banner__texto strong {
	color: var(--noche);
	font-size: 15px;
	font-weight: 600;
}

.uti-banner__progreso {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: 4px;
	color: var(--texto-suave);
	font-size: 13px;
}

.uti-banner__progreso .uti-barra {
	flex: none;
	width: 140px;
	height: 6px;
}

.zona-privada .ap-contenido .uti-banner__ir {
	display: inline-flex;
	flex: none;
	align-items: center;
	gap: 4px;
	color: var(--azul-hondo);
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
}

.uti-banner__ir .icono {
	width: 16px;
	height: 16px;
}

.uti-banner--en_curso .uti-banner__icono,
.uti-banner--sin_empezar .uti-banner__icono {
	background: #fff4cc;
	color: #7a5a00;
}

.uti-banner--aceptada .uti-banner__icono {
	background: #e3f5ec;
	color: #1f6b46;
}

.uti-banner--comite {
	border-color: #cfe9fb !important;
	background: #f5fbff !important;
}

.zona-privada .uti-banner__cerrar {
	display: inline-flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border: 0;
	border-radius: 50%;
	padding: 0;
	background: none;
	color: var(--texto-suave);
	cursor: pointer;
}

.zona-privada .uti-banner__cerrar:hover {
	background: #f1f3f6;
	color: var(--noche);
}

.uti-banner__cerrar .icono {
	width: 16px;
	height: 16px;
}

@media (max-width: 760px) {
	.zona-privada .ap-contenido .uti-banner {
		flex-wrap: wrap;
		align-items: flex-start;
	}

	.uti-banner__texto {
		flex: 1 1 calc(100% - 60px);
	}

	.zona-privada .ap-contenido .uti-banner > .uti-estado {
		margin-left: 54px;
	}

	.zona-privada .ap-contenido .uti-banner__ir {
		margin-left: auto;
	}
}

/* Certificación UTI, en el área: la lista de requisitos de los pasos con su aspecto (sin la caja de las listas del
   área y con su «check» azul; Jandro: «esto está un poco mal maquetado») */
.zona-privada .ap-contenido .uti-paso ul.uti-lista {
	margin: 0 0 14px;
	border: 0;
	border-radius: 0;
	padding: 0;
	background: none;
	box-shadow: none;
}

.zona-privada .ap-contenido .uti-paso ul.uti-lista > li {
	margin: 0 0 8px;
	border: 0;
	padding: 0 0 0 30px;
	background: none;
}

.zona-privada .ap-contenido .uti-paso ul.uti-lista > li::before {
	content: "" !important;
	display: block !important;
	position: absolute;
	top: 1px;
	left: 0;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: rgba(19, 175, 249, 0.14) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='%230b8fd0'%3E%3Cpath d='M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z'/%3E%3C/svg%3E") center / 11px no-repeat;
	mask: none;
	-webkit-mask: none;
}

/* Autoevaluación: sin la segunda línea al empezar cada apartado (el borde que ACF pone a su contenedor interior;
   ya separa la línea bajo el título del apartado) */
.uti-checklist .acf-accordion-content > .acf-fields {
	border-top: 0 !important;
}


/* Documentos: el selector de archivos del dispositivo (subidor básico de Frontend Admin), como zona de la web */
.uti-checklist .acf-field-upload-file .acf-input {
	flex: 1 1 100%;
}
.uti-checklist .acf-basic-uploader.file-drop {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	margin: 0;
	cursor: pointer;
}
.uti-checklist .acf-basic-uploader input[type="file"] {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
}
.uti-checklist .acf-basic-uploader .acf-button {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	border: 1px solid var(--noche) !important;
	border-radius: var(--radio-boton) !important;
	padding: 0 18px !important;
	background: var(--blanco) !important;
	color: var(--noche) !important;
	font: 600 14px Roboto, sans-serif;
	transition: background var(--transicion), color var(--transicion);
}
.uti-checklist .acf-basic-uploader:hover .acf-button,
.uti-checklist .acf-basic-uploader input:focus-visible + .file-custom .acf-button {
	background: var(--noche) !important;
	color: var(--blanco) !important;
}
.uti-checklist .acf-basic-uploader .file-custom {
	position: static;
	display: block;
	width: auto;
	height: auto;
	margin: 0;
	border: 0;
	padding: 0;
	background: none;
	box-shadow: none;
}
.uti-checklist .acf-basic-uploader .file-custom::before,
.uti-checklist .acf-basic-uploader .file-custom::after {
	content: none;
}
.uti-checklist .acf-basic-uploader::after {
	content: "PDF, Word o imagen desde tu ordenador o móvil";
	color: var(--texto-suave);
	font-size: 13px;
}
/* Ya elegido: nombre y tamaño, y quitar; sin «Editar» ni los datos de imagen (título, texto alternativo…) */
.uti-checklist .acf-field-upload-file .file-meta-data,
.uti-checklist .acf-field-upload-file .update-meta,
.uti-checklist .acf-field-upload-file [data-name="edit-preview"],
.uti-checklist .acf-field-upload-file .file-info strong:not([data-name]) {
	display: none !important;
}
.uti-checklist .acf-field-upload-file .file-wrap {
	position: relative;
	align-items: center;
	gap: 12px;
}
.uti-checklist .acf-field-upload-file .file-wrap.show,
.uti-checklist .acf-field-upload-file .acf-file-uploader.has-value .file-wrap {
	display: flex;
}
.uti-checklist .acf-field-upload-file .file-icon {
	position: static;
	flex: 0 0 auto;
	height: auto;
	border: 0;
	background: none;
}
.uti-checklist .acf-field-upload-file .file-icon img {
	max-height: 40px;
}
.uti-checklist .acf-field-upload-file .file-info {
	margin: 0;
	padding: 0;
	font-size: 14px;
}
.uti-checklist .acf-field-upload-file .file-info p {
	margin: 0;
}
.uti-checklist .acf-field-upload-file .file-info [data-name="filename"] {
	color: var(--noche);
	font-weight: 600;
	word-break: break-all;
}
.uti-checklist .acf-field-upload-file .file-info [data-name="filesize"] {
	color: var(--texto-suave);
}
.uti-checklist .acf-field-upload-file .acf-actions {
	position: static;
	display: block !important;
	margin-left: auto;
}
.uti-checklist .acf-field-upload-file .acf-actions .acf-icon {
	border: 0;
	background: #eef0f3;
	color: var(--noche);
}
.uti-checklist .acf-field-upload-file .acf-actions .acf-icon:hover {
	background: #fdf0ef;
	color: #b42318;
}
.uti-checklist .acf-field-upload-file .uploads-progress:not(.frontend-admin-hidden) {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: 10px;
	color: var(--texto-suave);
	font-size: 13px;
}
.uti-checklist .acf-field-upload-file .uploads-progress .bar {
	order: -1;
	max-width: 240px;
	height: 6px;
	border-radius: 3px;
	background: var(--azul);
}
.uti-checklist .acf-field-upload-file p.errors {
	margin: 8px 0 0;
	color: #b42318;
	font-size: 13px;
}

/* «Validación fallida…» encima del formulario: aviso suave, con su cerrar centrado (antes, bloque rojo intenso) */
.uti-checklist form > .acf-notice.-error,
.uti-checklist .frontend-form > .acf-notice.-error {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 16px !important;
	border: 1px solid #f3c7c2 !important;
	border-radius: var(--radio) !important;
	padding: 12px 14px 12px 16px !important;
	background: #fdf0ef !important;
	color: #8a1c12 !important;
	font-size: 15px;
	font-weight: 500;
}
.uti-checklist form > .acf-notice.-error p,
.uti-checklist .frontend-form > .acf-notice.-error p {
	flex: 1;
	margin: 0;
	padding: 0;
	color: inherit;
}
.uti-checklist form > .acf-notice .acf-notice-dismiss {
	position: static;
	flex: 0 0 auto;
	display: grid;
	place-items: center;
	width: 28px;
	height: 28px;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 50%;
	background: rgba(138, 28, 18, 0.08) !important;
	color: #8a1c12 !important;
	transform: none;
}

/* Autoevaluación guardándose o enviándose: rueda en el botón, botones bloqueados y el formulario atenuado */
.uti-acciones-checklist .uti-boton:disabled {
	cursor: progress;
}
.uti-acciones-checklist .uti-boton:disabled:not(:has(.uti-rueda)) {
	opacity: 0.5;
}
.uti-acciones-checklist .uti-boton:has(.uti-rueda) {
	gap: 10px;
	opacity: 1;
}
.uti-rueda {
	display: inline-block;
	width: 16px;
	height: 16px;
	border: 2px solid currentColor;
	border-right-color: transparent;
	border-radius: 50%;
	animation: ap-girar 0.7s linear infinite;
}
.uti-checklist--enviando .acf-field-accordion,
.uti-checklist--enviando > .acf-fields,
.uti-checklist--enviando .acf-notice {
	opacity: 0.55;
	pointer-events: none;
	transition: opacity var(--transicion);
}

/* Decisión del comité: mensaje para el centro (va en el correo), el último enviado, y el aviso al volver al listado */
.uti-decision__mensaje {
	display: grid;
	gap: 6px;
	margin: 18px 0 12px;
}
.uti-decision__mensaje > span {
	color: var(--noche);
	font-size: 14px;
	font-weight: 600;
}
.uti-decision__mensaje > span small {
	color: var(--texto-suave);
	font-weight: 400;
}
.uti-decision__mensaje textarea {
	width: 100%;
	min-height: 96px;
	border: 1px solid var(--borde) !important;
	border-radius: var(--radio) !important;
	padding: 12px 14px !important;
	background: var(--blanco) !important;
	color: var(--texto);
	font: 15px/1.5 Roboto, sans-serif;
	resize: vertical;
}
.uti-decision__mensaje textarea:focus {
	border-color: var(--azul) !important;
	outline: 0;
	box-shadow: 0 0 0 3px rgba(19, 175, 249, 0.18);
}
.uti-decision__mensaje > small {
	color: var(--texto-suave);
	font-size: 13px;
}
.uti-decision__anterior {
	margin: 0 0 16px;
	font-size: 14px;
}
.uti-decision__anterior p {
	margin: 0 0 6px;
	color: var(--texto-suave);
}
.uti-decision__anterior blockquote,
.uti-mensaje-comite {
	margin: 0;
	border-left: 3px solid var(--azul);
	border-radius: 0 var(--radio-s) var(--radio-s) 0;
	padding: 10px 14px;
	background: #f3f9fe;
	color: var(--texto);
	font-size: 14.5px;
	font-style: normal;
	line-height: 1.5;
}
.uti-mensaje-comite {
	margin: 12px 0 4px;
}
.uti-mensaje-comite p {
	margin: 0;
}
.uti-mensaje-comite .uti-mensaje-comite__titulo {
	display: flex;
	align-items: center;
	gap: 6px;
	margin-bottom: 4px;
	color: var(--noche);
	font-weight: 600;
}
.uti-mensaje-comite .icono {
	width: 16px;
	height: 16px;
	color: var(--azul-hondo);
}
.uti-hecho {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 20px !important;
	border: 1px solid #bfe5cf;
	border-radius: var(--radio);
	padding: 12px 16px;
	background: #effaf3;
	color: #1f6b46 !important;
	font-size: 14.5px;
	font-weight: 500;
	animation: serv-confirmar-entra 0.25s ease-out;
}
.uti-hecho .icono {
	flex: none;
	width: 20px;
	height: 20px;
}

/* Autoevaluación reabierta: aviso y mensaje del comité juntos, separados del título y del texto */
.uti-checklist .uti-reabierta {
	margin: 20px 0 28px;
	border: 1px solid #f1dc9c;
	border-radius: var(--radio);
	padding: 16px 20px;
	background: #fff8e1;
	color: #5c4400;
}
.uti-checklist .uti-reabierta p {
	margin: 0;
	color: inherit;
}
.uti-checklist .uti-reabierta__titulo {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 15.5px;
	font-weight: 600;
}
.uti-checklist .uti-reabierta__titulo .icono {
	flex: none;
	width: 20px;
	height: 20px;
}
.uti-checklist .uti-reabierta__etiqueta {
	margin-top: 14px !important;
	border-top: 1px solid #f1dc9c;
	padding-top: 12px;
	font-size: 12.5px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	opacity: 0.8;
}
.uti-checklist .uti-reabierta__mensaje {
	margin-top: 6px !important;
	color: var(--texto) !important;
	font-size: 15px;
	line-height: 1.55;
}

/* «← Publicaciones» encima de Consentimientos (inc/titulo-socio.php), alineado con el contenido de su cabecera */
.zona-privada .ap-volver:has(+ .pub-cabecera) {
	margin-left: 24px;
}

/* Estado vacío (Empleo sin ofertas abiertas, functions.php): icono, título y qué hacer */
.zona-privada .estado-vacio {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin: 8px 0;
	border: 1px dashed #d5dae3;
	border-radius: var(--radio-l);
	padding: 40px 24px;
	background: var(--blanco);
	text-align: center;
}
.zona-privada .estado-vacio__icono {
	display: grid;
	place-items: center;
	width: 56px;
	height: 56px;
	margin-bottom: 14px;
	border-radius: 50%;
	background: #eef7fe;
	color: var(--azul-hondo);
}
.zona-privada .estado-vacio__icono .icono {
	width: 28px;
	height: 28px;
}
.zona-privada .ap-contenido .estado-vacio__titulo {
	margin: 0 0 6px;
	color: var(--noche);
	font-size: 17px;
	font-weight: 600;
}
.zona-privada .ap-contenido .estado-vacio__texto {
	max-width: 440px;
	margin: 0;
	color: var(--texto-suave);
	font-size: 14.5px;
	line-height: 1.55;
}

/* Administración: ofertas de empleo pendientes de revisar ([cabeceraAdmin], inc/administracion.php) */
.zona-privada .admin-ofertas {
	display: grid;
	gap: 10px;
	width: 100%;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none;
}
.zona-privada .ap-contenido .admin-ofertas > li.admin-oferta {
	display: block;
	margin: 0;
	border: 1px solid var(--borde);
	border-radius: var(--radio);
	padding: 14px 16px;
	background: var(--blanco);
	box-shadow: var(--sombra-s);
}
.zona-privada .ap-contenido .admin-ofertas > li::before {
	content: none !important;
}
.admin-oferta__icono {
	display: grid;
	flex: none;
	place-items: center;
	width: 42px;
	height: 42px;
	border-radius: var(--radio-s);
	background: #eef7fe;
	color: var(--azul-hondo);
}
.admin-oferta__icono .icono {
	width: 22px;
	height: 22px;
}
.admin-oferta__texto {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}
.admin-oferta__texto strong {
	color: var(--noche);
	font-size: 15.5px;
	font-weight: 600;
}
.admin-oferta__texto span {
	color: var(--texto);
	font-size: 14px;
}
.admin-oferta__texto small {
	color: var(--texto-suave);
	font-size: 13px;
}
.zona-privada .ap-contenido a.admin-oferta__revisar {
	display: inline-flex;
	flex: none;
	align-items: center;
	gap: 6px;
	border-radius: var(--radio-boton);
	padding: 9px 18px;
	background: var(--noche);
	color: var(--blanco);
	font-size: 14px;
	font-weight: 600;
	text-decoration: none !important;
	transition: background var(--transicion);
}
.zona-privada .ap-contenido a.admin-oferta__revisar:hover {
	background: var(--azul-hondo);
}
.admin-oferta__revisar .icono {
	width: 15px;
	height: 15px;
}
.zona-privada .ap-contenido .admin-ofertas__vacio {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 12px;
	border: 1px solid var(--borde);
	border-radius: var(--radio);
	padding: 16px 18px;
	background: var(--blanco);
	box-shadow: var(--sombra-s);
	color: var(--texto);
	font-size: 15px;
}
.admin-ofertas__vacio .icono {
	width: 20px;
	height: 20px;
	color: #1f6b46;
}
.admin-cuenta {
	display: inline-grid;
	place-items: center;
	min-width: 24px;
	height: 24px;
	margin-left: 6px;
	border-radius: 999px;
	padding: 0 7px;
	background: #e5484d;
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	vertical-align: 2px;
}
@media (max-width: 600px) {
	.admin-oferta__fila {
		flex-wrap: wrap;
	}
	.admin-oferta__acciones {
		width: 100%;
	}
	.admin-oferta__acciones .admin-oferta__form {
		flex: 1;
	}
	.zona-privada .ap-contenido .admin-oferta__boton {
		width: 100%;
		justify-content: center;
	}
}
/* Sin el aire de las cajas de Elementor del código original (40px arriba y abajo y una altura mínima) */
.zona-privada .elementor-section:has(.admin-ofertas, .admin-ofertas__vacio),
.zona-privada .elementor-section:has(.admin-ofertas, .admin-ofertas__vacio) > .elementor-container {
	min-height: 0 !important;
}
.zona-privada .elementor-widget-wrap:has(> .admin-ofertas, > .admin-ofertas__vacio) {
	padding: 14px 0 8px !important;
}
.zona-privada .elementor-widget-heading:has(.admin-cuenta) .elementor-heading-title,
.zona-privada h3:has(> .admin-cuenta) {
	display: flex;
	align-items: center;
	gap: 10px;
}
.admin-cuenta {
	margin-left: 0;
}

.admin-oferta__fila {
	display: flex;
	align-items: center;
	gap: 14px;
}
.admin-oferta__acciones {
	display: flex;
	flex: none;
	gap: 8px;
}
.admin-oferta__form {
	margin: 0;
}
.zona-privada .ap-contenido .admin-oferta__boton {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 40px;
	border: 1px solid transparent;
	border-radius: var(--radio-boton);
	padding: 0 18px;
	font: 600 14px Roboto, sans-serif;
	cursor: pointer;
	transition: background var(--transicion), border-color var(--transicion), color var(--transicion);
}
.admin-oferta__boton .icono {
	width: 16px;
	height: 16px;
}
.zona-privada .ap-contenido .admin-oferta__boton--publicar {
	background: #1f8a5b;
	color: var(--blanco);
}
.zona-privada .ap-contenido .admin-oferta__boton--publicar:hover {
	background: #187049;
}
.zona-privada .ap-contenido .admin-oferta__boton--peligro {
	border-color: #f0c4c0;
	background: var(--blanco);
	color: #b42318;
}
.zona-privada .ap-contenido .admin-oferta__boton--peligro:hover {
	border-color: #b42318;
	background: #fdf0ef;
}
.admin-oferta__detalle {
	margin: 12px 0 0 56px;
	border-top: 1px solid #f0f2f5;
	padding-top: 10px;
}
.admin-oferta__detalle summary {
	width: max-content;
	color: var(--azul-hondo);
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
}
.admin-oferta__descripcion {
	margin: 10px 0 0;
	border-radius: var(--radio-s);
	padding: 12px 16px;
	background: var(--fondo);
	color: var(--texto);
	font-size: 14.5px;
	line-height: 1.55;
}
.zona-privada .ap-contenido .admin-oferta__descripcion p {
	margin: 0 0 8px;
}
.zona-privada .ap-contenido .admin-oferta__descripcion p:last-child {
	margin-bottom: 0;
}
.zona-privada .ap-contenido p.admin-oferta__pie {
	margin: 10px 0 0;
	color: var(--texto-suave);
	font-size: 13px;
}
.admin-oferta__pie a {
	color: var(--azul-hondo);
}
.admin-oferta__pie .icono {
	width: 13px;
	height: 13px;
	vertical-align: -1px;
}
@media (max-width: 600px) {
	.admin-oferta__detalle {
		margin-left: 0;
	}
}

/* Empleo: una tarjeta por oferta que se despliega con la descripción ([ofertasEmpleo], functions.php) */
.zona-privada .ofertas-empleo {
	display: grid;
	gap: 12px;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none;
}
.zona-privada .ap-contenido .ofertas-empleo > li {
	margin: 0;
	padding: 0;
}
.zona-privada .ap-contenido .ofertas-empleo > li::before {
	content: none !important;
}
.oferta-empleo {
	border: 1px solid var(--borde);
	border-radius: var(--radio);
	background: var(--blanco);
	box-shadow: var(--sombra-s);
	transition: border-color var(--transicion), box-shadow var(--transicion);
}
.oferta-empleo:hover,
.oferta-empleo[open] {
	border-color: #cfd6e0;
	box-shadow: var(--sombra);
}
.oferta-empleo summary {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 18px 20px;
	cursor: pointer;
	list-style: none;
}
.oferta-empleo summary::-webkit-details-marker {
	display: none;
}
.oferta-empleo__icono {
	display: grid;
	flex: none;
	place-items: center;
	width: 48px;
	height: 48px;
	border-radius: var(--radio);
	background: #eef7fe;
	color: var(--azul-hondo);
}
.oferta-empleo__icono .icono {
	width: 24px;
	height: 24px;
}
.oferta-empleo__cabecera {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 3px;
	min-width: 0;
}
.oferta-empleo__cabecera strong {
	color: var(--noche);
	font-size: 18px;
	font-weight: 600;
	line-height: 1.3;
}
.oferta-empleo__titulo {
	color: var(--texto);
	font-size: 14.5px;
}
.oferta-empleo__datos {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 8px;
	margin-top: 6px;
}
.oferta-empleo__dato {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	border-radius: var(--radio-boton);
	padding: 3px 10px;
	background: #f1f3f6;
	color: #4a5163;
	font-size: 13px;
	font-weight: 500;
}
.oferta-empleo__dato .icono {
	width: 14px;
	height: 14px;
}
.oferta-empleo__fecha {
	color: var(--texto-suave);
	font-size: 13px;
}
.oferta-empleo__ver {
	display: inline-flex;
	flex: none;
	align-items: center;
	gap: 6px;
	color: var(--azul-hondo);
	font-size: 14px;
	font-weight: 600;
}
.oferta-empleo__ver .icono {
	width: 16px;
	height: 16px;
	transition: transform var(--transicion);
}
.oferta-empleo[open] .oferta-empleo__ver .icono {
	transform: rotate(180deg);
}
.oferta-empleo__descripcion {
	/* Aire a la derecha y líneas no más largas de lo cómodo de leer (Jandro: «muy pegado al lado derecho») */
	margin: 0 48px 22px 84px;
	max-width: 72ch;
	border-top: 1px solid #f0f2f5;
	padding-top: 14px;
	color: var(--texto);
	font-size: 15px;
	line-height: 1.6;
}
.zona-privada .ap-contenido .oferta-empleo__descripcion p {
	margin: 0 0 10px;
}
.zona-privada .ap-contenido .oferta-empleo__descripcion p:last-child {
	margin-bottom: 0;
}
.oferta-empleo__descripcion ul {
	margin: 0 0 10px 20px;
	list-style: disc;
}
@media (max-width: 600px) {
	.oferta-empleo summary {
		align-items: flex-start;
		gap: 12px;
		padding: 16px;
	}
	.oferta-empleo__icono {
		width: 40px;
		height: 40px;
	}
	/* En el móvil, solo la flecha (el texto no cabe junto a las etiquetas) */
	.oferta-empleo__ver {
		font-size: 0;
	}
	.oferta-empleo__descripcion {
		margin: 0 16px 16px;
	}
}

/* Número de ofertas en la pestaña «Encontrar empleo» */
.segmentado__cuenta {
	display: inline-grid;
	place-items: center;
	min-width: 20px;
	height: 20px;
	margin-left: 6px;
	border-radius: 999px;
	padding: 0 6px;
	background: #e5484d;
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
	vertical-align: 1px;
}

/* Ofertas de empleo en Administración: estado de cada una y los botones de gestión */
.admin-oferta__titular {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 10px;
}
.admin-oferta__estado {
	border-radius: var(--radio-boton);
	padding: 2px 10px;
	font-size: 12px;
	font-weight: 600;
}
.admin-oferta--pendiente .admin-oferta__estado {
	background: #fff4cc;
	color: #7a5a00;
}
.admin-oferta--publicada .admin-oferta__estado {
	background: #e3f5ec;
	color: #1f6b46;
}
.admin-oferta--desactivada .admin-oferta__estado {
	background: #eef0f3;
	color: var(--texto-suave);
}
.zona-privada .ap-contenido .admin-ofertas > li.admin-oferta--pendiente {
	box-shadow: inset 3px 0 0 #e9b600, var(--sombra-s);
}
.zona-privada .ap-contenido .admin-ofertas > li.admin-oferta--desactivada .admin-oferta__texto strong {
	color: var(--texto-suave);
}
.admin-oferta__acciones {
	flex-wrap: wrap;
	justify-content: flex-end;
}
.zona-privada .ap-contenido a.admin-oferta__boton,
.zona-privada .ap-contenido .admin-oferta__boton--borde {
	border-color: var(--borde);
	background: var(--blanco);
	color: var(--noche);
	text-decoration: none !important;
}
.zona-privada .ap-contenido a.admin-oferta__boton:hover,
.zona-privada .ap-contenido .admin-oferta__boton--borde:hover {
	border-color: var(--noche);
}
/* Entre el aviso, «No hay pendientes» y las ofertas, 10px: la caja de Elementor del código original añadía su hueco */
.zona-privada .elementor-widget-wrap:has(> .admin-ofertas, > .admin-ofertas__vacio) {
	display: block !important;
}
.zona-privada .elementor-widget-wrap:has(> .admin-ofertas, > .admin-ofertas__vacio) > .uti-hecho,
.zona-privada .ap-contenido .elementor-widget-wrap > .admin-ofertas__vacio {
	margin: 0 0 10px !important;
}

/* Administración: título de cada sección (Ofertas de empleo, Altas pendientes de validar) a 12px de su contenido.
   Las cajas de Elementor del código original sumaban margen, hueco y relleno (unos 40-60px) (Jandro, 18-10-2026) */
.zona-privada .admin-pendientes .elementor-widget-heading {
	margin-bottom: 12px !important;
}
.zona-privada .admin-pendientes .elementor-widget-wrap:has(> .elementor-widget-heading) {
	row-gap: 0 !important;
}
.zona-privada .admin-pendientes .elementor-inner-section > .elementor-container > .elementor-column > .elementor-widget-wrap {
	padding-top: 0 !important;
}

/* Perfil: «Mis cursos», la tercera pestaña (perfil.php del plugin del área privada; la lista la pinta serv-cursos).
   Antes era un bloque debajo de los datos (cursos-enlaces.php), que quita perfil-cursos-pestana.php */
.zona-privada .perfil-cursos:not(.perfil-panel) {
	margin-top: 32px;
}
.zona-privada .perfil-cursos > h3,
.zona-privada .perfil-cursos > .wp-block-group__inner-container > h3 {
	margin: 0 0 12px;
	font-size: 20px;
}
.zona-privada .ap-contenido .perfil-cursos a.mis-cursos__titulo {
	color: var(--noche);
	font-weight: 600;
	text-decoration: none;
}
.zona-privada .ap-contenido .perfil-cursos a.mis-cursos__titulo:hover {
	color: var(--azul-hondo);
}

/* Administración (plugin del área privada, administracion.php): cada sección con su título a 12px y aire entre ellas */
.zona-privada .admin-seccion + .admin-seccion {
	margin-top: 40px;
}
.zona-privada .ap-contenido .admin-seccion > h3 {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 12px;
	font-size: 20px;
}
.zona-privada .ap-contenido .admin-pendientes > .uti-hecho,
.zona-privada .ap-contenido .admin-pendientes .wp-block-group__inner-container > .uti-hecho {
	margin-bottom: 20px !important;
}
/* Altas: el nombre lleva a su ficha; sus documentos, como enlaces con icono */
.zona-privada .ap-contenido a.admin-alta__nombre {
	color: var(--noche);
	text-decoration: none;
}
.zona-privada .ap-contenido a.admin-alta__nombre:hover strong {
	color: var(--azul-hondo);
}
.admin-alta__docs {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 14px;
	margin-top: 6px;
}
.zona-privada .ap-contenido .admin-alta__docs a {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	color: var(--azul-hondo);
	font-size: 13.5px;
	font-weight: 600;
	text-decoration: none;
}
.admin-alta__docs .icono {
	width: 15px;
	height: 15px;
}
.admin-alta__docs--falta {
	color: #b42318;
	font-size: 13px;
}
.admin-altas .admin-oferta__estado {
	background: #eef7fe !important;
	color: #075f8c !important;
}
/* Altas: filtro Activas / Archivadas / Todas (Jandro 03-11-2026), con el menú segmentado del área privada */
.zona-privada .admin-altas__filtro {
	margin-bottom: 14px;
}
.zona-privada .ap-contenido .admin-altas__filtro a.segmentado__opcion {
	text-decoration: none;
	white-space: nowrap;
	gap: 7px;
}
@media (max-width: 560px) {
	/* En el móvil «Archivadas» se partía en «Archivada / s» */
	.zona-privada .ap-contenido .admin-altas__filtro a.segmentado__opcion {
		padding: 0 6px !important;
		gap: 5px;
	}
}
.admin-altas__n {
	min-width: 20px;
	padding: 2px 6px;
	border-radius: 999px;
	background: #dfe4eb;
	color: var(--texto);
	font-size: 12px;
	font-weight: 600;
	text-align: center;
}
.es-activa .admin-altas__n {
	background: #eef7fe;
	color: #075f8c;
}
.zona-privada .ap-contenido .admin-altas__nota {
	margin: 0 0 14px;
	color: var(--texto-suave);
	font-size: 14px;
}

/* Avisos en rojo (Empleo: falta algo o no se pudo guardar) */
.uti-hecho.uti-hecho--error {
	border-color: #f3c7c2;
	background: #fdf0ef;
	color: #8a1c12 !important;
}

/* Empleo (plugin del área privada, empleo.php): formulario de «Crear vacante» en rejilla */
.zona-privada .empleo-form {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0 20px;
	max-width: 900px;
}
.zona-privada .empleo-form > .perfillabel,
.zona-privada .empleo-form > div {
	margin-bottom: 18px;
}
.zona-privada .empleo-form > .empleo-form__ancho,
.zona-privada .ap-contenido .empleo-form > .empleo-form__intro {
	grid-column: 1 / -1;
}
.zona-privada .ap-contenido .empleo-form__intro {
	margin: 0 0 18px;
	color: var(--texto-suave);
	font-size: 15px;
}
.zona-privada .empleo-form textarea {
	min-height: 180px;
	resize: vertical;
}
.zona-privada .ap-contenido .empleo-form__enviar {
	min-height: 48px;
	border: 0;
	border-radius: var(--radio-boton);
	padding: 0 32px;
	background: var(--azul);
	color: var(--blanco);
	font: 600 15px/1 Roboto, sans-serif;
	cursor: pointer;
	transition: background var(--transicion);
}
.zona-privada .ap-contenido .empleo-form__enviar:hover {
	background: var(--azul-hondo);
}
@media (max-width: 700px) {
	.zona-privada .empleo-form {
		grid-template-columns: minmax(0, 1fr);
	}
	.zona-privada .ap-contenido .empleo-form__enviar {
		width: 100%;
	}
}

/* ----------------------------------------------------------------------
   Perfil (plugin del área privada, perfil.php): cabecera con la foto, pestañas y una tarjeta por bloque de datos.
   Cada campo se guarda al salir de él; «Guardado» sale junto a su etiqueta.
   ---------------------------------------------------------------------- */
.zona-privada .perfil {
	display: grid;
	gap: 16px;
	max-width: 1000px;
}
.zona-privada .ap-contenido .perfil > .uti-hecho {
	margin: 0 !important;
}
.zona-privada .ap-contenido .perfil__ajeno {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	border-radius: var(--radio);
	padding: 10px 14px;
	background: #fff8e1;
	color: #5c4400;
	font-size: 14px;
}
.perfil__ajeno .icono {
	width: 18px;
	height: 18px;
}
.perfil-cabecera {
	display: flex;
	align-items: center;
	gap: 20px;
	border: 1px solid var(--borde);
	border-radius: var(--radio-l);
	padding: 22px 24px;
	background: var(--blanco);
	box-shadow: var(--sombra-s);
}
.perfil-cabecera__foto {
	position: relative;
	flex: none;
}
.perfil-cabecera__foto img {
	display: block;
	width: 96px;
	height: 96px;
	border-radius: 50%;
	object-fit: cover;
}
.zona-privada .ap-contenido .perfil-cabecera__cambiar {
	position: absolute;
	right: -2px;
	bottom: -2px;
	display: grid;
	place-items: center;
	width: 34px;
	height: 34px;
	border: 2px solid var(--blanco);
	border-radius: 50%;
	padding: 0;
	background: var(--noche);
	color: var(--blanco);
	cursor: pointer;
}
.perfil-cabecera__cambiar .icono {
	width: 16px;
	height: 16px;
}
.zona-privada .ap-contenido .perfil-cabecera__texto h2 {
	margin: 0;
	color: var(--noche);
	font-size: 24px;
	line-height: 1.25;
}
.zona-privada .ap-contenido .perfil-cabecera__texto p {
	margin: 4px 0 0;
	color: var(--texto-suave);
	font-size: 15px;
}
.zona-privada .perfil__pestanas {
	margin-bottom: 0 !important;
}
.perfil-panel {
	display: grid;
	gap: 16px;
}
.perfil-panel[hidden] {
	display: none !important;
}
.zona-privada .ap-contenido .perfil-tarjeta {
	margin: 0;
	border: 1px solid var(--borde);
	border-radius: var(--radio);
	padding: 20px 22px;
	background: var(--blanco);
	box-shadow: var(--sombra-s);
}
.zona-privada .ap-contenido .perfil-tarjeta > h3 {
	margin: 0 0 14px;
	color: var(--noche);
	font-size: 17px;
}
.perfil-rejilla {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px 18px;
}
.perfil-campo--ancho {
	grid-column: 1 / -1;
}
.zona-privada .ap-contenido .perfil-campo label {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 8px;
	margin: 0 0 6px;
	color: var(--noche);
	font-size: 14px;
	font-weight: 500;
}
.perfil-guardado {
	font-size: 12.5px;
	font-weight: 500;
}
.perfil-guardado--guardando {
	color: var(--texto-suave);
}
.perfil-guardado--ok {
	color: #1f6b46;
}
.perfil-guardado--error {
	color: #b42318;
}
.zona-privada .ap-contenido .perfil-casilla {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 10px;
	color: var(--texto);
	font-size: 15px;
	cursor: pointer;
}
.zona-privada .ap-contenido .perfil-explica,
.zona-privada .ap-contenido .perfil-vacio {
	margin: 0;
	color: var(--texto-suave);
	font-size: 14.5px;
}
/* Documentos, histórico y subida */
.zona-privada .ap-contenido .perfil-documentos,
.zona-privada .ap-contenido .perfil-historico {
	display: grid;
	gap: 6px;
	margin: 0 0 14px;
	padding: 0;
	list-style: none;
}
.zona-privada .ap-contenido .perfil-documentos li,
.zona-privada .ap-contenido .perfil-historico li {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin: 0;
	border-bottom: 1px solid #f0f2f5;
	padding: 6px 0;
	font-size: 14.5px;
}
.zona-privada .ap-contenido .perfil-documentos li::before,
.zona-privada .ap-contenido .perfil-historico li::before {
	content: none !important;
}
.zona-privada .ap-contenido .perfil-documentos a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--azul-hondo);
	font-weight: 500;
	text-decoration: none;
}
.perfil-documentos .icono {
	width: 16px;
	height: 16px;
}
.zona-privada .ap-contenido .perfil-historico li {
	color: var(--texto-suave);
}
/* Actividad (registro.php): qué ha pasado, y debajo cuándo, quién y desde dónde */
.perfil-tarjeta h3 small {
	color: var(--texto-suave);
	font-size: 13px;
	font-weight: 400;
}
.zona-privada .ap-contenido .perfil-actividad {
	display: grid;
	margin: 0 0 14px;
	padding: 0;
	list-style: none;
}
.zona-privada .ap-contenido .perfil-actividad li {
	display: grid;
	grid-template-columns: 18px 1fr;
	column-gap: 10px;
	margin: 0;
	border-bottom: 1px solid #f0f2f5;
	padding: 8px 0;
	font-size: 14.5px;
}
.zona-privada .ap-contenido .perfil-actividad li::before {
	content: none !important;
}
.zona-privada .ap-contenido .perfil-actividad li[hidden] {
	display: none;
}
.perfil-actividad .icono {
	grid-row: span 2;
	width: 18px;
	height: 18px;
	margin-top: 2px;
	color: var(--azul-hondo);
}
.perfil-actividad__texto {
	overflow-wrap: anywhere;
}
.perfil-actividad__cuando {
	grid-column: 2;
	color: var(--texto-suave);
	font-size: 13px;
}
.perfil-actividad__fila--mal .icono,
.perfil-actividad__fila--mal .perfil-actividad__texto {
	color: #b42323;
}
.perfil-subida {
	display: grid;
	gap: 12px;
}
.perfil-subida--fila {
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: end;
	margin-top: 8px;
}
.zona-privada .ap-contenido .perfil-subida__campo {
	display: grid;
	gap: 6px;
	color: var(--texto-suave);
	font-size: 13.5px;
}
.zona-privada .ap-contenido .perfil-subida__campo input[type="file"] {
	min-height: 0;
	padding: 8px;
}
/* Botones */
.zona-privada .ap-contenido .perfil-boton {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	min-height: 44px;
	border: 1px solid transparent;
	border-radius: var(--radio-boton);
	padding: 0 22px;
	background: var(--azul);
	color: var(--blanco);
	font: 600 14.5px/1 Roboto, sans-serif;
	cursor: pointer;
	transition: background var(--transicion), border-color var(--transicion);
}
.zona-privada .ap-contenido .perfil-boton:hover {
	background: var(--azul-hondo);
}
.zona-privada .ap-contenido .perfil-boton--borde {
	border-color: var(--borde);
	background: var(--blanco);
	color: var(--noche);
}
.zona-privada .ap-contenido .perfil-boton--borde:hover {
	border-color: var(--noche);
	background: var(--blanco);
}
.zona-privada .ap-contenido .perfil-boton--peque {
	min-height: 36px;
	padding: 0 14px;
	font-size: 13.5px;
}
.zona-privada .ap-contenido .perfil-enlace-peligro {
	border: 0;
	padding: 0;
	background: none;
	color: #b42318;
	font: 500 14px Roboto, sans-serif;
	cursor: pointer;
}
.zona-privada .ap-contenido .perfil-enlace-peligro:hover {
	text-decoration: underline;
}
.perfil-enlace-peligro .icono {
	width: 16px;
	height: 16px;
}
/* Centros */
.zona-privada .ap-contenido .perfil-centros {
	display: grid;
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.zona-privada .ap-contenido .perfil-centros > li::before {
	content: none !important;
}
.zona-privada .ap-contenido .perfil-centro--ref {
	box-shadow: inset 3px 0 0 var(--azul), var(--sombra-s);
}
.perfil-centro__cabeza {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 14px;
}
.zona-privada .ap-contenido .perfil-centro__cabeza h3 {
	margin: 0;
	font-size: 17px;
}
.zona-privada .ap-contenido .perfil-centro__cabeza p {
	margin: 2px 0 0;
	color: var(--texto-suave);
	font-size: 14px;
}
.perfil-centro__estrella {
	display: inline-flex;
	flex: none;
	align-items: center;
	gap: 5px;
	border-radius: var(--radio-boton);
	padding: 4px 12px;
	background: #e3f5ec;
	color: #1f6b46;
	font-size: 13px;
	font-weight: 600;
}
.perfil-centro__estrella .icono {
	width: 15px;
	height: 15px;
}
.zona-privada .ap-contenido .perfil-centro .perfil-enlace-peligro {
	margin-top: 14px;
}
.zona-privada .ap-contenido .perfil-anadir summary {
	display: flex;
	align-items: center;
	gap: 8px;
	color: var(--azul-hondo);
	font-weight: 600;
	cursor: pointer;
}
.perfil-anadir summary .icono {
	width: 20px;
	height: 20px;
}
.perfil-anadir__form {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px 18px;
	margin-top: 16px;
}
.perfil-anadir__form > .perfil-rejilla {
	grid-column: 1 / -1;
}
.zona-privada .ap-contenido .perfil-anadir__otro summary {
	color: var(--texto-suave);
	font-size: 14px;
	font-weight: 500;
}
.perfil-anadir__otro[open] summary {
	margin-bottom: 12px;
}
.zona-privada .ap-contenido .perfil-anadir__error {
	grid-column: 1 / -1;
	margin: 0;
	color: #b42318;
	font-size: 14px;
}
/* Ventana de la foto */
.perfil-ventana {
	width: min(440px, calc(100% - 32px));
	border: 0;
	border-radius: var(--radio-l);
	padding: 28px;
	background: var(--blanco);
	box-shadow: 0 30px 70px -20px rgba(15, 20, 40, 0.45);
}
.perfil-ventana::backdrop {
	background: rgba(37, 43, 66, 0.55);
	backdrop-filter: blur(3px);
}
.perfil-ventana h3 {
	margin: 0 0 16px;
	color: var(--noche);
	font-size: 19px;
}
.perfil-ventana__cerrar {
	position: absolute;
	top: 14px;
	right: 14px;
	display: grid;
	place-items: center;
	width: 34px;
	height: 34px;
	border: 0;
	border-radius: 50%;
	background: #f1f2f4;
	color: var(--noche);
	cursor: pointer;
}
.perfil-ventana__cerrar .icono {
	width: 16px;
	height: 16px;
}
.perfil-ventana__otra {
	margin: 18px 0 0;
	border-top: 1px solid #f0f2f5;
	padding-top: 14px;
	color: var(--texto-suave);
	font-size: 14px;
}
@media (max-width: 760px) {
	.perfil-rejilla,
	.perfil-anadir__form {
		grid-template-columns: minmax(0, 1fr);
	}
	.perfil-cabecera {
		padding: 18px;
	}
	.perfil-cabecera__foto img {
		width: 72px;
		height: 72px;
	}
	.zona-privada .ap-contenido .perfil-cabecera__texto h2 {
		font-size: 20px;
	}
	.perfil-subida--fila {
		grid-template-columns: minmax(0, 1fr);
	}
	.perfil-centro__cabeza {
		flex-direction: column;
	}
}

/* ----------------------------------------------------------------------
   Socios (plugin del área privada, socios.php): letras, filtro, fichas que se abren y búsqueda
   ---------------------------------------------------------------------- */
.zona-privada .socios {
	display: grid;
	gap: 16px;
	max-width: 1000px;
}
.zona-privada .socios .segmentado {
	margin-bottom: 0 !important;
}
.socios__panel {
	display: grid;
	gap: 14px;
}
.socios__panel[hidden] {
	display: none !important;
}
.zona-privada .ap-contenido .socios-letras {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}
.zona-privada .ap-contenido .socios-letras a {
	display: grid;
	place-items: center;
	min-width: 36px;
	height: 36px;
	border: 1px solid var(--borde);
	border-radius: var(--radio-s);
	background: var(--blanco);
	color: var(--noche);
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	transition: background var(--transicion), border-color var(--transicion), color var(--transicion);
}
.zona-privada .ap-contenido .socios-letras a:hover {
	border-color: var(--noche);
}
.zona-privada .ap-contenido .socios-letras a[aria-current="page"] {
	border-color: var(--noche);
	background: var(--noche);
	color: var(--blanco);
}
.socios-filtro {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 16px;
}
.socios-filtro label {
	flex: 1 1 320px;
}
.zona-privada .ap-contenido .socios-filtro__cuenta,
.zona-privada .ap-contenido .socios-vacio {
	margin: 0;
	color: var(--texto-suave);
	font-size: 14px;
}
.zona-privada .ap-contenido .socios-lista {
	display: grid;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.zona-privada .ap-contenido .socios-lista > li {
	margin: 0;
}
.zona-privada .ap-contenido .socios-lista > li::before {
	content: none !important;
}
.socio[hidden] {
	display: none !important;
}
.socio details {
	border: 1px solid var(--borde);
	border-radius: var(--radio);
	background: var(--blanco);
	transition: border-color var(--transicion), box-shadow var(--transicion);
}
.socio details:hover,
.socio details[open] {
	border-color: #cfd6e0;
	box-shadow: var(--sombra-s);
}
.socio summary {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 12px 16px;
	cursor: pointer;
	list-style: none;
}
.socio summary::-webkit-details-marker {
	display: none;
}
.socio__foto {
	flex: none;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	object-fit: cover;
}
.socio__nombre {
	flex: 1;
	min-width: 0;
	color: var(--texto);
	font-size: 15px;
}
.socio__nombre strong {
	color: var(--noche);
	font-weight: 600;
}
.socio__modalidad,
.socio__marca {
	flex: none;
	border-radius: var(--radio-boton);
	padding: 3px 10px;
	background: #f1f3f6;
	color: #4a5163;
	font-size: 12.5px;
	font-weight: 600;
}
.socio__marca--baja {
	background: #fdf0ef;
	color: #b42318;
}
.socio__marca--pendiente {
	background: #fff4cc;
	color: #7a5a00;
}
.socio__flecha {
	display: grid;
	flex: none;
	color: var(--texto-suave);
	transition: transform var(--transicion);
}
.socio__flecha .icono {
	width: 16px;
	height: 16px;
}
.socio details[open] .socio__flecha {
	transform: rotate(180deg);
}
.socio__datos {
	display: grid;
	gap: 6px;
	margin: 0 16px 14px 74px;
	border-top: 1px solid #f0f2f5;
	padding-top: 12px;
}
.zona-privada .ap-contenido .socio__datos p {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin: 0;
	color: var(--texto);
	font-size: 14.5px;
}
.socio__datos .icono {
	flex: none;
	width: 17px;
	height: 17px;
	margin-top: 2px;
	color: var(--texto-suave);
}
.socio__centro span {
	display: flex;
	flex-direction: column;
}
.socio__centro strong {
	color: var(--noche);
}
.zona-privada .ap-contenido .socio__datos a {
	color: var(--azul-hondo);
	text-decoration: none !important;
}
.zona-privada .ap-contenido .socio__datos .socio__sin {
	color: var(--texto-suave);
}
.zona-privada .ap-contenido .socio__ficha a {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	margin-top: 4px;
	font-weight: 600;
}
.socio__ficha .icono {
	width: 14px;
	height: 14px;
	margin: 0;
	color: inherit;
}
/* Búsqueda */
.socios-busqueda {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px 18px;
	border: 1px solid var(--borde);
	border-radius: var(--radio);
	padding: 20px 22px;
	background: var(--blanco);
}
.zona-privada .ap-contenido .socios-busqueda label > span {
	display: block;
	margin-bottom: 6px;
	color: var(--noche);
	font-size: 14px;
	font-weight: 500;
}
.socios-busqueda__ancho {
	grid-column: 1 / -1;
}
.zona-privada .ap-contenido .socios-busqueda button {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 46px;
	border: 0;
	border-radius: var(--radio-boton);
	padding: 0 26px;
	background: var(--azul);
	color: var(--blanco);
	font: 600 15px/1 Roboto, sans-serif;
	cursor: pointer;
}
.zona-privada .ap-contenido .socios-busqueda button:hover {
	background: var(--azul-hondo);
}
.socios-busqueda button .icono {
	width: 18px;
	height: 18px;
}
@media (max-width: 700px) {
	.socios-busqueda {
		grid-template-columns: minmax(0, 1fr);
	}
	.socio__modalidad {
		display: none;
	}
	.socio__datos {
		margin-left: 16px;
	}
}

/* ----------------------------------------------------------------------
   Buscador PubSERV (plugin del área privada, buscador.php): barra, filtros, resultados y páginas
   ---------------------------------------------------------------------- */
.zona-privada .buscador {
	display: grid;
	gap: 16px;
	max-width: 960px;
}
.buscador__form {
	display: flex;
	gap: 10px;
}
.zona-privada .ap-contenido .buscador__campo {
	position: relative;
	flex: 1;
	margin: 0;
}
.buscador__campo .icono {
	position: absolute;
	top: 50%;
	left: 14px;
	width: 20px;
	height: 20px;
	color: var(--texto-suave);
	transform: translateY(-50%);
	pointer-events: none;
}
.zona-privada .ap-contenido .buscador__campo input {
	min-height: 50px;
	padding-left: 44px;
	font-size: 16px;
}
.zona-privada .ap-contenido .buscador__form button {
	flex: none;
	min-height: 50px;
	border: 0;
	border-radius: var(--radio-boton);
	padding: 0 28px;
	background: var(--azul);
	color: var(--blanco);
	font: 600 15px/1 Roboto, sans-serif;
	cursor: pointer;
}
.zona-privada .ap-contenido .buscador__form button:hover {
	background: var(--azul-hondo);
}
.buscador__filtros {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 16px;
}
.zona-privada .ap-contenido .buscador__total {
	flex: 1 1 260px;
	margin: 0;
	color: var(--texto-suave);
	font-size: 14.5px;
}
.zona-privada .ap-contenido .buscador__filtros label {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	color: var(--texto-suave);
	font-size: 14px;
}
.zona-privada .ap-contenido .buscador__filtros label span {
	flex: none;
	white-space: nowrap; /* en el móvil se partía en «Mostr / ar» */
}
.zona-privada .ap-contenido .buscador__filtros select {
	width: auto;
	min-width: 180px;
	min-height: 40px;
	padding-top: 8px;
	padding-bottom: 8px;
	font-size: 14px;
}
.zona-privada .ap-contenido .buscador__aviso,
.zona-privada .ap-contenido .buscador__ayuda {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	color: var(--texto-suave);
	font-size: 14.5px;
}
.buscador__aviso .icono {
	width: 18px;
	height: 18px;
	color: #b7791f;
}
.zona-privada .ap-contenido .buscador__resultados {
	display: grid;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.zona-privada .ap-contenido .buscador__resultados > li {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	margin: 0;
	border: 1px solid var(--borde);
	border-radius: var(--radio);
	padding: 16px 18px;
	background: var(--blanco);
}
.zona-privada .ap-contenido .buscador__resultados > li::before {
	content: none !important;
}
.buscador__icono {
	display: grid;
	flex: none;
	place-items: center;
	width: 40px;
	height: 40px;
	border-radius: var(--radio-s);
	background: #eef7fe;
	color: var(--azul-hondo);
}
.buscador__icono .icono {
	width: 21px;
	height: 21px;
}
.zona-privada .ap-contenido a.buscador__titulo {
	color: var(--noche);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.35;
	text-decoration: none;
}
.zona-privada .ap-contenido a.buscador__titulo:hover {
	color: var(--azul-hondo);
}
.zona-privada .ap-contenido .buscador__descripcion {
	margin: 4px 0 0;
	color: var(--texto);
	font-size: 14.5px;
	line-height: 1.5;
}
.zona-privada .ap-contenido .buscador__datos {
	margin: 6px 0 0;
	color: var(--texto-suave);
	font-size: 13px;
}
.buscador__paginas {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 6px;
	margin-top: 4px;
}
.zona-privada .ap-contenido .buscador__paginas :is(a, span) {
	display: grid;
	place-items: center;
	min-width: 40px;
	height: 40px;
	border: 1px solid var(--borde);
	border-radius: var(--radio-s);
	background: var(--blanco);
	color: var(--noche);
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
}
.zona-privada .ap-contenido .buscador__paginas a:hover {
	border-color: var(--noche);
}
.zona-privada .ap-contenido .buscador__paginas span[aria-current] {
	border-color: var(--noche);
	background: var(--noche);
	color: var(--blanco);
}
.zona-privada .ap-contenido .buscador__paginas span:not([aria-current]) {
	border: 0;
	background: none;
}
.buscador__paginas .icono {
	width: 18px;
	height: 18px;
}
@media (max-width: 600px) {
	.buscador__form {
		flex-direction: column;
	}
	.zona-privada .ap-contenido .buscador__filtros label {
		flex: 1 1 100%;
		width: 100%;
	}
	.zona-privada .ap-contenido .buscador__filtros select {
		flex: 1 1 auto;
		width: auto;
		min-width: 0;
	}
}

/* ----------------------------------------------------------------------
   PubMed (plugin del área privada, pubmed.php): la búsqueda en una tarjeta con el logotipo, los resultados en
   tarjetas con sus botones (Citar, Copiar enlace, Ver en PubMed) y el artículo entero en su tarjeta
   ---------------------------------------------------------------------- */
.zona-privada .pubmed {
	display: grid;
	gap: 16px;
	max-width: 960px;
}
.zona-privada .ap-contenido .pubmed-cabecera {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 14px;
	margin: 0;
	border: 1px solid var(--borde);
	border-radius: var(--radio-l);
	padding: 28px 32px;
	background: var(--blanco);
	box-shadow: var(--sombra-s);
}
/* En el artículo sobra: arriba va «Volver a los resultados» */
.zona-privada .ap-contenido .pubmed-cabecera:has(+ .pubmed-volver) {
	display: none;
}
/* Con el formulario debajo, una sola tarjeta: la cabecera arriba, separada por una línea */
.zona-privada .ap-contenido .pubmed-cabecera:has(+ .pubmed-form) {
	border-bottom-color: transparent;
	border-radius: var(--radio-l) var(--radio-l) 0 0;
	padding-bottom: 0;
	box-shadow: none;
}
.zona-privada .ap-contenido .pubmed-cabecera:has(+ .pubmed-form) > div {
	align-self: stretch;
	border-bottom: 1px solid var(--borde);
	padding-bottom: 22px;
}
.pubmed-cabecera + .pubmed-form {
	margin-top: -16px;
	border-top: 0;
	border-radius: 0 0 var(--radio-l) var(--radio-l);
	padding-top: 24px;
}
.pubmed-cabecera img {
	width: 120px;
	height: auto;
}
.zona-privada .ap-contenido .pubmed-cabecera h2 {
	margin: 0;
	color: var(--noche);
	font-size: 22px;
	line-height: 1.25;
}
.zona-privada .ap-contenido .pubmed-cabecera p {
	margin: 4px 0 0;
	color: var(--texto-suave);
	font-size: 14px;
	line-height: 1.45;
}
/* Tarjeta: cabecera y formulario. Título a lo ancho; Autor, Libro, ISBN e Idioma de dos en dos */
.pubmed-form,
.pubmed-articulo {
	border: 1px solid var(--borde);
	border-radius: var(--radio-l);
	padding: 28px 32px;
	background: var(--blanco);
	box-shadow: var(--sombra-s);
}
.pubmed-form {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px 20px;
}
.zona-privada .ap-contenido .pubmed-form label {
	display: grid;
	gap: 6px;
	margin: 0;
}
.zona-privada .ap-contenido .pubmed-form label > span {
	color: var(--noche);
	font-size: 14px;
	font-weight: 500;
}
.pubmed-form__ancho {
	grid-column: 1 / -1;
}
.zona-privada .ap-contenido .pubmed-form button {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 48px;
	border: 0;
	border-radius: var(--radio-boton);
	padding: 0 28px;
	background: var(--azul);
	color: var(--blanco);
	font: 600 15px/1 Roboto, sans-serif;
	cursor: pointer;
}
.zona-privada .ap-contenido .pubmed-form button:hover {
	background: var(--azul-hondo);
}
.pubmed-form button .icono {
	width: 18px;
	height: 18px;
}
/* Lo buscado, en palabras, y cuántos hay */
.pubmed-busqueda {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 6px 16px;
}
.zona-privada .ap-contenido .pubmed-busqueda p {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	color: var(--texto-suave);
	font-size: 14.5px;
}
.zona-privada .ap-contenido .pubmed-busqueda__total {
	font-variant-numeric: tabular-nums;
}
.pubmed-busqueda .icono {
	width: 18px;
	height: 18px;
}
.zona-privada .ap-contenido .pubmed-aviso {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	border: 1px solid var(--borde);
	border-radius: var(--radio);
	padding: 16px 18px;
	background: var(--blanco);
	color: var(--texto-suave);
	font-size: 14.5px;
}
.pubmed-aviso .icono {
	flex: none;
	width: 18px;
	height: 18px;
	color: #b7791f;
}
/* Resultados */
.zona-privada .ap-contenido .pubmed-resultados {
	display: grid;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.zona-privada .ap-contenido .pubmed-resultados > li {
	margin: 0;
	border: 1px solid var(--borde);
	border-radius: var(--radio);
	padding: 18px 20px;
	background: var(--blanco);
}
.zona-privada .ap-contenido .pubmed-resultados > li::before {
	content: none !important;
}
.pubmed-marca {
	display: inline-block;
	margin: 0 6px 8px 0;
	border-radius: 100px;
	padding: 3px 10px;
	background: #f1f3f6;
	color: var(--texto-suave);
	font-size: 12px;
	font-weight: 500;
	line-height: 1.4;
}
.pubmed-marca--libre {
	background: #e6f4ea;
	color: #23703f;
}
.zona-privada .ap-contenido a.pubmed-resultado__titulo {
	display: block;
	color: var(--noche);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.4;
	text-decoration: none;
}
.zona-privada .ap-contenido a.pubmed-resultado__titulo:hover {
	color: var(--azul-hondo);
}
.zona-privada .ap-contenido .pubmed-resultado__datos {
	margin: 6px 0 0;
	color: var(--texto-suave);
	font-size: 13.5px;
	line-height: 1.5;
	overflow-wrap: anywhere;
}
/* Botones del resultado y del artículo: pequeños, con borde; «Ver en PubMed», el de la web */
.pubmed-acciones {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin-top: 12px;
}
.zona-privada .ap-contenido .pubmed-acciones :is(button, a) {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 34px;
	border: 1px solid var(--borde);
	border-radius: 100px;
	padding: 0 14px;
	background: var(--blanco);
	color: var(--noche);
	font: 500 13px/1 Roboto, sans-serif;
	text-decoration: none;
	cursor: pointer;
	transition: border-color var(--transicion), background-color var(--transicion), color var(--transicion);
}
.zona-privada .ap-contenido .pubmed-acciones :is(button, a):hover {
	border-color: var(--noche);
}
.zona-privada .ap-contenido .pubmed-acciones a {
	border-color: var(--azul);
	background: var(--azul);
	color: var(--blanco);
}
.zona-privada .ap-contenido .pubmed-acciones a:hover {
	border-color: var(--azul-hondo);
	background: var(--azul-hondo);
}
.zona-privada .ap-contenido .pubmed-acciones button.es-copiado {
	border-color: #2f855a;
	color: #2f855a;
}
.pubmed-acciones .icono {
	width: 15px;
	height: 15px;
}
/* Artículo */
.zona-privada .ap-contenido a.pubmed-volver {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	justify-self: start;
	color: var(--noche);
	font-size: 14.5px;
	font-weight: 500;
	text-decoration: none;
}
.zona-privada .ap-contenido a.pubmed-volver:hover {
	color: var(--azul-hondo);
}
.pubmed-volver .icono {
	width: 18px;
	height: 18px;
}
.zona-privada .ap-contenido .pubmed-articulo h3 {
	margin: 0;
	color: var(--noche);
	font-size: 22px;
	line-height: 1.3;
}
.zona-privada .ap-contenido .pubmed-articulo p {
	margin: 8px 0 0;
	font-size: 15px;
	line-height: 1.6;
}
.zona-privada .ap-contenido .pubmed-articulo__autores {
	color: var(--noche);
}
.zona-privada .ap-contenido .pubmed-articulo__cita {
	color: var(--texto-suave);
	font-size: 14px;
	overflow-wrap: anywhere;
}
.pubmed-articulo section {
	margin-top: 24px;
	border-top: 1px solid var(--borde);
	padding-top: 20px;
}
.zona-privada .ap-contenido .pubmed-articulo h4 {
	margin: 0 0 4px;
	color: var(--noche);
	font-size: 16px;
}
.zona-privada .ap-contenido .pubmed-articulo__resumen strong {
	color: var(--noche);
}
.pubmed-articulo__palabras p {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}
.pubmed-articulo__palabras p > * {
	border-radius: 100px;
	padding: 4px 10px;
	background: #f1f3f6;
	color: var(--noche);
	font-size: 13px;
	line-height: 1.35;
}
.pubmed-articulo__texto p {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.zona-privada .ap-contenido .pubmed-articulo__texto a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 36px;
	border: 1px solid var(--borde);
	border-radius: 100px;
	padding: 0 14px;
	color: var(--noche);
	font-size: 13.5px;
	font-weight: 500;
	text-decoration: none;
}
.zona-privada .ap-contenido .pubmed-articulo__texto a:hover {
	border-color: var(--noche);
}
.pubmed-articulo__texto .icono {
	width: 15px;
	height: 15px;
}
@media (max-width: 600px) {
	.pubmed-form,
	.pubmed-articulo {
		padding: 20px;
	}
	.pubmed-form {
		grid-template-columns: minmax(0, 1fr);
	}
	.zona-privada .ap-contenido .pubmed-form button {
		justify-content: center;
		width: 100%;
	}
	.zona-privada .ap-contenido .pubmed-articulo h3 {
		font-size: 19px;
	}
}

/* ----------------------------------------------------------------------
   P.R. Vademécum (plugin del área privada, vademecum.php): pestañas, buscador (abre prvademecum.es), letras,
   lista de medicamentos en dos columnas y notas de seguridad en tarjetas
   ---------------------------------------------------------------------- */
.zona-privada .vademecum {
	display: grid;
	gap: 16px;
	max-width: 1000px;
}
.zona-privada .vademecum .segmentado {
	margin-bottom: 0 !important;
}
.vademecum-buscar {
	display: flex;
	gap: 10px;
}
.zona-privada .ap-contenido .vademecum-buscar label {
	position: relative;
	flex: 1;
	margin: 0;
}
.vademecum-buscar label .icono {
	position: absolute;
	top: 50%;
	left: 14px;
	width: 20px;
	height: 20px;
	color: var(--texto-suave);
	transform: translateY(-50%);
	pointer-events: none;
}
.zona-privada .ap-contenido .vademecum-buscar input {
	min-height: 48px;
	padding-left: 44px;
	font-size: 15px;
}
.zona-privada .ap-contenido .vademecum-buscar button {
	display: inline-flex;
	flex: none;
	align-items: center;
	gap: 8px;
	min-height: 48px;
	border: 0;
	border-radius: var(--radio-boton);
	padding: 0 24px;
	background: var(--azul);
	color: var(--blanco);
	font: 600 15px/1 Roboto, sans-serif;
	cursor: pointer;
}
.zona-privada .ap-contenido .vademecum-buscar button:hover {
	background: var(--azul-hondo);
}
.vademecum-buscar button .icono {
	width: 16px;
	height: 16px;
}
.zona-privada .ap-contenido .vademecum-aviso {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	border: 1px solid var(--borde);
	border-radius: var(--radio);
	padding: 16px 18px;
	background: var(--blanco);
	color: var(--texto-suave);
	font-size: 14.5px;
}
.vademecum-aviso .icono {
	flex: none;
	width: 18px;
	height: 18px;
	color: #b7791f;
}
/* Medicamentos: dos columnas, cada uno una fila que se pulsa entera, con la flecha de «se abre fuera» */
.zona-privada .ap-contenido .vademecum-lista {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.zona-privada .ap-contenido .vademecum-lista > li {
	margin: 0;
}
.zona-privada .ap-contenido .vademecum-lista > li::before {
	content: none !important;
}
.zona-privada .ap-contenido .vademecum-lista a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	box-sizing: border-box;
	height: 100%;
	min-height: 52px;
	border: 1px solid var(--borde);
	border-radius: var(--radio);
	padding: 12px 16px;
	background: var(--blanco);
	color: var(--noche);
	font: 500 13.5px/1.4 Roboto, sans-serif;
	text-decoration: none;
	transition: border-color var(--transicion), box-shadow var(--transicion);
}
.zona-privada .ap-contenido .vademecum-lista a::after {
	content: "";
	flex: none;
	width: 16px;
	height: 16px;
	background: var(--texto-suave);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M200,64V168a8,8,0,0,1-16,0V83.31L69.66,197.66a8,8,0,0,1-11.32-11.32L172.69,72H88a8,8,0,0,1,0-16H192A8,8,0,0,1,200,64Z'/%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 256 256'%3E%3Cpath d='M200,64V168a8,8,0,0,1-16,0V83.31L69.66,197.66a8,8,0,0,1-11.32-11.32L172.69,72H88a8,8,0,0,1,0-16H192A8,8,0,0,1,200,64Z'/%3E%3C/svg%3E") center / contain no-repeat;
	transition: background-color var(--transicion);
}
.zona-privada .ap-contenido .vademecum-lista a:hover {
	border-color: var(--azul);
	box-shadow: 0 8px 20px -14px rgba(37, 43, 66, 0.35);
}
.zona-privada .ap-contenido .vademecum-lista a:hover::after {
	background: var(--azul);
}
/* Notas de seguridad: tarjetas en dos columnas; fecha, título y los medicamentos como etiquetas */
.zona-privada .ap-contenido .vademecum-notas {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: start;
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.zona-privada .ap-contenido .vademecum-nota {
	display: grid;
	gap: 10px;
	margin: 0;
	border: 1px solid var(--borde);
	border-radius: var(--radio-l);
	padding: 20px 22px;
	background: var(--blanco);
}
.zona-privada .ap-contenido .vademecum-nota::before {
	content: none !important;
}
.zona-privada .ap-contenido .vademecum-nota[hidden] {
	display: none;
}
.zona-privada .ap-contenido .vademecum-nota p {
	margin: 0;
}
.zona-privada .ap-contenido .vademecum-nota__fecha {
	color: var(--texto-suave);
	font-size: 12.5px;
	font-variant-numeric: tabular-nums;
}
.zona-privada .ap-contenido .vademecum-nota__titulo a {
	color: var(--noche);
	font: 600 15.5px/1.4 Roboto, sans-serif;
	text-decoration: none;
}
.zona-privada .ap-contenido .vademecum-nota__titulo a:hover {
	color: var(--azul-hondo);
	text-decoration: underline;
	text-underline-offset: 3px;
}
.zona-privada .ap-contenido .vademecum-nota__meds {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}
.zona-privada .ap-contenido .vademecum-nota__meds a {
	border-radius: 100px;
	padding: 5px 10px;
	background: #f1f3f6;
	color: var(--noche);
	font: 400 12px/1.35 Roboto, sans-serif;
	text-decoration: none;
	transition: background-color var(--transicion);
}
.zona-privada .ap-contenido .vademecum-nota__meds a:hover {
	background: #e3e8ef;
}
.vademecum-nota__mas summary {
	display: inline-block;
	padding: 2px 0;
	color: var(--azul-hondo);
	font: 500 12.5px/1.35 Roboto, sans-serif;
	list-style: none;
	cursor: pointer;
}
.vademecum-nota__mas summary::-webkit-details-marker {
	display: none;
}
.vademecum-nota__mas summary:hover {
	text-decoration: underline;
}
.vademecum-nota__mas[open] summary {
	display: none;
}
.zona-privada .ap-contenido .vademecum-mas-notas {
	justify-self: center;
	border: 1px solid var(--borde);
	border-radius: 100px;
	padding: 11px 22px;
	background: var(--blanco);
	color: var(--noche);
	font: 500 14px/1 Roboto, sans-serif;
	cursor: pointer;
	transition: border-color var(--transicion);
}
.zona-privada .ap-contenido .vademecum-mas-notas:hover {
	border-color: var(--noche);
}
@media (max-width: 900px) {
	/* Las letras en una fila que se desliza (vademecum.js deja la elegida a la vista) */
	.zona-privada .ap-contenido .vademecum-letras {
		flex-wrap: nowrap;
		margin-inline: -16px;
		padding: 2px 16px;
		overflow-x: auto;
		scrollbar-width: none;
	}
	.zona-privada .ap-contenido .vademecum-letras a {
		flex: none;
	}
	.zona-privada .ap-contenido :is(.vademecum-lista, .vademecum-notas) {
		grid-template-columns: minmax(0, 1fr);
	}
}
@media (max-width: 600px) {
	.vademecum-buscar {
		flex-direction: column;
	}
	.zona-privada .ap-contenido .vademecum-buscar button {
		justify-content: center;
	}
}

/* ----------------------------------------------------------------------
   Vídeos de cada congreso (inc/videos-congreso.php y videos-congreso.js): cabecera con «← Congresos», buscador y
   píldoras por categoría (las de Publicaciones y Formación), rejilla de tarjetas iguales y el vídeo en una ventana
   grande con «Anterior» y «Siguiente». En el móvil, filas compactas con la portada a la izquierda.
   ---------------------------------------------------------------------- */
.zona-privada .congreso-videos {
	display: grid;
	grid-template-columns: minmax(0, 1fr); /* sin esto, la fila de píldoras ensancharía la página en el móvil */
	gap: 20px;
}
.congreso-videos__cabecera {
	display: grid;
	gap: 6px;
}
.zona-privada .ap-contenido a.congreso-videos__volver {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	justify-self: start;
	margin-bottom: 6px;
	color: var(--texto-suave);
	font-size: 14px;
	font-weight: 500;
	text-decoration: none;
}
.zona-privada .ap-contenido a.congreso-videos__volver:hover {
	color: var(--noche);
}
.congreso-videos__volver .icono {
	width: 16px;
	height: 16px;
}
.zona-privada .ap-contenido .congreso-videos__cabecera h1 {
	margin: 0;
	color: var(--noche);
	font-size: 28px;
	line-height: 1.2;
}
.zona-privada .ap-contenido .congreso-videos__cabecera p {
	margin: 0;
	color: var(--texto-suave);
	font-size: 15px;
}
/* Buscador arriba y, debajo, las píldoras (como Publicaciones y Formación) */
.zona-privada .congreso-videos__mandos {
	margin: 0;
}
.zona-privada .ap-contenido .congreso-videos__filtros button {
	gap: 8px;
	white-space: nowrap;
}
.congreso-videos__cuenta {
	color: var(--texto-suave);
	font-size: 12.5px;
	font-variant-numeric: tabular-nums;
}
.congreso-videos__filtros button[aria-pressed="true"] .congreso-videos__cuenta {
	color: rgba(255, 255, 255, 0.7);
}
.zona-privada .ap-contenido .congreso-videos__vacio {
	margin: 0;
	border: 1px solid var(--borde);
	border-radius: var(--radio);
	padding: 20px;
	background: var(--blanco);
	color: var(--texto-suave);
	text-align: center;
}
.congreso-videos__seccion {
	display: grid;
	gap: 14px;
}
.zona-privada .ap-contenido .congreso-videos__seccion h2 {
	margin: 12px 0 0;
	color: var(--noche);
	font-size: 20px;
	line-height: 1.3;
}
/* Tarjetas iguales: tantas columnas como quepan (al menos 240px), también si la categoría tiene un solo vídeo */
.zona-privada .ap-contenido .congreso-videos__rejilla {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 20px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.zona-privada .ap-contenido .video-tarjeta {
	display: flex;
	flex-direction: column;
	min-width: 0;
	margin: 0;
	overflow: hidden;
	border: 1px solid var(--borde);
	border-radius: var(--radio);
	background: var(--blanco);
	box-shadow: var(--sombra-s);
	transition: box-shadow var(--transicion), transform var(--transicion);
}
.zona-privada .ap-contenido .video-tarjeta::before {
	content: none !important;
}
.zona-privada .ap-contenido .video-tarjeta:hover {
	box-shadow: var(--sombra);
	transform: translateY(-2px);
}
.video-tarjeta .video {
	flex: none;
	border-radius: 0;
}
/* Sin portada guardada: un fondo de la web con el botón de reproducir */
.video__portada--sin-imagen {
	background: radial-gradient(circle at 30% 20%, #2c3550, var(--noche));
}
.video-tarjeta__texto {
	display: flex;
	flex: 1;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 6px 10px;
	padding: 12px 16px 14px;
}
.zona-privada .ap-contenido .video-tarjeta__titulo {
	flex: 1 1 0;
	min-width: 0;
	margin: 0;
	color: var(--noche);
	font-size: 14.5px;
	font-weight: 500;
	line-height: 1.4;
}
.video-tarjeta__numero {
	flex: none;
	border-radius: var(--radio-s);
	padding: 2px 7px;
	background: #f1f3f6;
	color: var(--texto-suave);
	font-size: 12.5px;
	font-weight: 600;
	line-height: 1.5;
	font-variant-numeric: tabular-nums;
}
.video-tarjeta__visto {
	display: inline-flex;
	flex-basis: 100%;
	align-items: center;
	gap: 4px;
	color: #23703f;
	font-size: 12.5px;
	font-weight: 500;
}
.video-tarjeta__visto[hidden] {
	display: none;
}
.video-tarjeta__visto .icono {
	width: 15px;
	height: 15px;
}
.video-tarjeta.es-visto .video__portada img {
	opacity: 0.72;
}
/* Portadas con estilo (inc/videos-congreso.php, Jandro 22-10-2026): un solo color por congreso (--cartela-color, el
   de su cartel) en distintos tonos, la figura de ese congreso y, encima, el título. Los de SERV ≤ 40, al revés: fondo
   claro del mismo color, su sello y la misma figura. El tamaño de la letra va con el ancho de la portada (cqi),
   para que se lea igual en la rejilla y en las filas del móvil. */
.congreso-videos .video {
	container-type: inline-size;
}
.video-cartela {
	--tono-oscuro: color-mix(in srgb, var(--cartela-color) 52%, #000);
	--tono-claro: color-mix(in srgb, var(--cartela-color) 38%, #fff);
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 2cqi;
	overflow: hidden;
	padding: 6cqi 7cqi 5.5cqi;
	background: linear-gradient(135deg, var(--cartela-color), var(--tono-oscuro));
	color: #fff;
	text-align: left;
}
.video-cartela > * {
	position: relative;
}
.video-cartela > .video-cartela__figura {
	position: absolute;
	right: -6%;
	bottom: -16%;
	width: 60%;
	height: auto;
	color: var(--tono-claro);
	opacity: 0.055;
}
.video-cartela__congreso {
	max-width: calc(100% - 40px);
	color: var(--tono-claro);
	font-size: 4.4cqi;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1.2;
	text-transform: uppercase;
}
.video-cartela__titulo {
	display: -webkit-box;
	flex: none;
	overflow: hidden;
	margin-top: auto;
	font-size: 7.6cqi;
	font-weight: 700;
	line-height: 1.14;
	text-wrap: balance;
	overflow-wrap: normal;
	hyphens: auto;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	line-clamp: 3;
}
.video-cartela__numero {
	color: var(--tono-claro);
	font-variant-numeric: tabular-nums;
}
.video-cartela__pie {
	overflow: hidden;
	max-width: 70%;
	font-size: 4.2cqi;
	font-weight: 500;
	white-space: nowrap;
	text-overflow: ellipsis;
	opacity: 0.8;
}
/* SERV ≤ 40: la reunión de los menores de 40, como un subcongreso dentro del congreso */
.video-cartela--serv40 {
	background: linear-gradient(135deg, color-mix(in srgb, var(--cartela-color) 8%, #fff), color-mix(in srgb, var(--cartela-color) 22%, #fff));
	color: var(--tono-oscuro);
}
.video-cartela--serv40 .video-cartela__congreso,
.video-cartela--serv40 .video-cartela__numero {
	color: var(--cartela-color);
}
.video-cartela__sello {
	padding: 0.8cqi 2.6cqi;
	border-radius: 999px;
	background: var(--cartela-color);
	color: #fff;
	font-size: 4.4cqi;
	font-weight: 800;
	letter-spacing: 0.04em;
	line-height: 1.3;
}
.video-cartela--serv40 > .video-cartela__figura {
	color: var(--cartela-color);
}
/* En las filas del móvil la portada es pequeña: el título, más grande, y el sello de SERV ≤ 40 */
@container (max-width: 220px) {
	.video-cartela__congreso,
	.video-cartela__pie {
		display: none;
	}
	.video-cartela__sello {
		font-size: 6cqi;
	}
	.video-cartela__titulo {
		margin: auto 0;
		font-size: 9.6cqi;
		-webkit-line-clamp: 3;
		line-clamp: 3;
	}
}
/* El botón de reproducir y el candado (solo el icono), arriba a la derecha, para no tapar el título */
.video__portada--cartela::after,
.video--escaparate .video-cartela ~ .video__candado-aviso {
	top: 10px;
	right: 10px;
	bottom: auto;
	left: auto;
	width: 36px;
	height: 36px;
	transform: none;
}
.video__portada--cartela::after {
	/* El triángulo, centrado a ojo: su centro está a la izquierda de su caja (el 56 % del botón grande es para 68px) */
	background-position: 53% 50%;
	background-size: 14px;
}
/* Sin el fondo negro del reproductor detrás: en las de fondo claro (SERV ≤ 40) asomaba por las esquinas redondeadas */
.congreso-videos .video:has(.video-cartela),
.congreso-videos .video:has(.video-cartela) .video__portada,
.congreso-videos .video:has(.video-cartela) .video__candado {
	background: transparent;
}
.video--escaparate .video-cartela ~ .video__candado-aviso {
	justify-content: center;
	padding: 0;
}
.video--escaparate .video-cartela ~ .video__candado-aviso .video__candado-texto {
	display: none;
}
.video__portada--cartela:hover::after,
.video__portada--cartela:focus-visible::after {
	transform: scale(1.08);
}
@container (max-width: 220px) {
	.video__portada--cartela::after,
	.video--escaparate .video-cartela ~ .video__candado-aviso {
		top: 6px;
		right: 6px;
		width: 22px;
		height: 22px;
	}
	.video__portada--cartela::after {
		background-size: 9px;
	}
	.video--escaparate .video-cartela ~ .video__candado-aviso .icono {
		width: 11px;
		height: 11px;
	}
	.video-cartela {
		padding: 6cqi 19cqi 6cqi 7cqi;
	}
}
.video-tarjeta.es-visto .video-cartela {
	opacity: 0.72;
}

/* La ventana del vídeo */
.video-ventana {
	/* Lo más grande que quepa: también a lo alto (el vídeo es 16:9 y la cabecera y el pie suman unos 170px) */
	width: min(1100px, calc(100% - 32px), calc((100vh - 200px) * 16 / 9));
	max-height: calc(100% - 32px);
	border: 0;
	border-radius: var(--radio-l);
	padding: 0;
	overflow: auto;
	background: var(--noche);
	box-shadow: 0 30px 70px -20px rgba(15, 20, 40, 0.6);
	color: var(--blanco);
}
.video-ventana[open] {
	animation: serv-confirmar-entra 0.18s ease-out;
}
.video-ventana::backdrop {
	background: rgba(15, 20, 40, 0.8);
	backdrop-filter: blur(3px);
}
.video-ventana__cabecera {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	padding: 18px 20px 14px 24px;
}
.zona-privada .video-ventana__categoria {
	margin: 0 0 2px;
	color: rgba(255, 255, 255, 0.65);
	font-size: 13px;
}
.zona-privada .video-ventana h2 {
	margin: 0;
	color: var(--blanco);
	font-size: 18px;
	line-height: 1.35;
}
.video-ventana__cerrar {
	display: grid;
	flex: none;
	place-items: center;
	width: 40px;
	height: 40px;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.1);
	color: var(--blanco);
	cursor: pointer;
}
.video-ventana__cerrar:hover {
	background: rgba(255, 255, 255, 0.2);
}
.video-ventana__cerrar .icono {
	width: 20px;
	height: 20px;
}
.video-ventana .video-ventana__video {
	border-radius: 0;
}
.video-ventana__pie {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 14px 20px;
}
.video-ventana__pie button {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 40px;
	border: 1px solid rgba(255, 255, 255, 0.25);
	border-radius: var(--radio-boton);
	padding: 0 16px;
	background: none;
	color: var(--blanco);
	font: 500 14px/1 Roboto, sans-serif;
	cursor: pointer;
}
.video-ventana__pie button:hover:not(:disabled) {
	border-color: var(--blanco);
}
.video-ventana__pie button:disabled {
	opacity: 0.35;
	cursor: default;
}
.video-ventana__pie .icono {
	width: 16px;
	height: 16px;
}
.video-ventana__posicion {
	color: rgba(255, 255, 255, 0.65);
	font-size: 13px;
	font-variant-numeric: tabular-nums;
}
@media (max-width: 781px) {
	.zona-privada .ap-contenido .congreso-videos__cabecera h1 {
		font-size: 23px;
	}
	/* Las píldoras en una fila que se desliza */
	.zona-privada .ap-contenido .congreso-videos__filtros {
		flex: 0 0 calc(100% + 32px);
		flex-wrap: nowrap;
		min-width: 0;
		max-width: calc(100% + 32px);
		margin-inline: -16px;
		padding-inline: 16px;
		overflow-x: auto;
		scrollbar-width: none;
	}
	.zona-privada .ap-contenido .congreso-videos__filtros::-webkit-scrollbar {
		display: none;
	}
	.zona-privada .ap-contenido .congreso-videos__filtros button {
		flex: none;
	}
	/* Filas compactas: portada a la izquierda, título a la derecha */
	.zona-privada .ap-contenido .congreso-videos__rejilla {
		grid-template-columns: minmax(0, 1fr);
		gap: 10px;
	}
	.zona-privada .ap-contenido .video-tarjeta {
		flex-direction: row;
		align-items: center;
	}
	.zona-privada .ap-contenido .video-tarjeta:hover {
		transform: none;
	}
	.video-tarjeta .video {
		width: 42%;
		max-width: 180px;
	}
	.video-tarjeta .video__portada::after {
		width: 38px;
		height: 38px;
		background-size: 16px;
	}
	.video-tarjeta__texto {
		align-content: center;
		padding: 10px 12px;
	}
	.zona-privada .ap-contenido .video-tarjeta__titulo {
		font-size: 14px;
	}
	/* La ventana, a lo ancho de la pantalla */
	.video-ventana {
		width: 100%;
		max-width: none;
		border-radius: 0;
	}
	.video-ventana__cabecera {
		padding: 14px 12px 12px 16px;
	}
	.zona-privada .video-ventana h2 {
		font-size: 16px;
	}
	.video-ventana__pie {
		padding: 12px 16px;
	}
}

/* ----------------------------------------------------------------------
   Gestión de secretaría (plugin del área privada, gestion.php): Socios, Pagos de cuotas, Formularios recibidos y
   Boletines, dentro de Administración. Cabecera con «← Administración», buscador, píldoras de filtro, tablas que en
   el móvil pasan a tarjetas, y el informe de un boletín con diseño para imprimir («Descargar PDF»).
   ---------------------------------------------------------------------- */
.zona-privada .gestion {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 18px;
	max-width: 1100px;
}
.gestion-cabecera {
	display: grid;
	gap: 8px;
}
.zona-privada .ap-contenido a.gestion-volver {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	justify-self: start;
	color: var(--texto-suave);
	font-size: 14px;
	font-weight: 500;
	text-decoration: none;
}
.zona-privada .ap-contenido a.gestion-volver:hover {
	color: var(--noche);
}
.gestion-volver .icono {
	width: 16px;
	height: 16px;
}
.gestion-cabecera__fila {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 12px 24px;
}
.zona-privada .ap-contenido .gestion-cabecera h1 {
	margin: 0;
	color: var(--noche);
	font-size: 28px;
	line-height: 1.2;
}
.zona-privada .ap-contenido .gestion-cabecera p {
	margin: 4px 0 0;
	color: var(--texto-suave);
	font-size: 15px;
}
.gestion-cabecera__acciones {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
/* Botones: el de la web (azul) y el de borde */
.zona-privada .ap-contenido .gestion-boton {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 44px;
	border: 1px solid var(--azul);
	border-radius: var(--radio-boton);
	padding: 0 20px;
	background: var(--azul);
	color: var(--blanco);
	font: 600 14.5px/1 Roboto, sans-serif;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	transition: background-color var(--transicion), border-color var(--transicion);
}
.zona-privada .ap-contenido .gestion-boton:hover {
	border-color: var(--azul-hondo);
	background: var(--azul-hondo);
}
.zona-privada .ap-contenido .gestion-boton--borde {
	border-color: var(--borde);
	background: var(--blanco);
	color: var(--noche);
}
.zona-privada .ap-contenido .gestion-boton--borde:hover {
	border-color: var(--noche);
	background: var(--blanco);
}
.gestion-boton .icono {
	width: 17px;
	height: 17px;
}
/* Buscador y desplegable en una fila */
.gestion-filtros {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
.zona-privada .ap-contenido .gestion-buscar {
	position: relative;
	flex: 1 1 280px;
	margin: 0;
}
.gestion-buscar .icono {
	position: absolute;
	top: 50%;
	left: 14px;
	width: 19px;
	height: 19px;
	color: var(--texto-suave);
	transform: translateY(-50%);
	pointer-events: none;
}
.zona-privada .ap-contenido .gestion-buscar input {
	min-height: 44px;
	padding-left: 42px;
}
.zona-privada .ap-contenido .gestion-select {
	flex: 0 1 220px;
	margin: 0;
}
.zona-privada .ap-contenido .gestion-select select {
	min-height: 44px;
}
/* Píldoras (enlaces): como las de Publicaciones */
.zona-privada .ap-contenido .gestion-pildoras {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
}
.zona-privada .ap-contenido .gestion-pildoras a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 36px;
	border: 1px solid var(--borde);
	border-radius: var(--radio-boton);
	padding: 0 14px;
	background: var(--blanco);
	color: var(--noche);
	font: 500 14px/1 Roboto, sans-serif;
	text-decoration: none;
	white-space: nowrap;
	transition: border-color var(--transicion), background-color var(--transicion);
}
.zona-privada .ap-contenido .gestion-pildoras a:hover {
	border-color: var(--azul);
}
.zona-privada .ap-contenido .gestion-pildoras a[aria-current] {
	border-color: var(--noche);
	background: var(--noche);
	color: var(--blanco);
}
.gestion-pildoras__cuenta {
	color: var(--texto-suave);
	font-size: 12.5px;
	font-variant-numeric: tabular-nums;
}
.gestion-pildoras a[aria-current] .gestion-pildoras__cuenta {
	color: rgba(255, 255, 255, 0.7);
}
.zona-privada .ap-contenido .gestion-total {
	margin: 0;
	color: var(--texto-suave);
	font-size: 14px;
}
.zona-privada .ap-contenido .gestion-vacio,
.zona-privada .ap-contenido .gestion-nota {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	border: 1px solid var(--borde);
	border-radius: var(--radio);
	padding: 18px 20px;
	background: var(--blanco);
	color: var(--texto-suave);
	font-size: 14.5px;
}
.zona-privada .ap-contenido .gestion-nota {
	padding: 12px 16px;
	font-size: 13.5px;
	line-height: 1.5;
}
.gestion-vacio .icono,
.gestion-nota .icono {
	flex: none;
	width: 20px;
	height: 20px;
}
/* Cifras de resumen */
.gestion-resumen {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
	gap: 12px;
}
.gestion-resumen > div {
	display: grid;
	align-content: start;
	gap: 4px;
	border: 1px solid var(--borde);
	border-radius: var(--radio);
	padding: 16px 18px;
	background: var(--blanco);
}
.gestion-resumen span {
	color: var(--texto-suave);
	font-size: 13px;
}
.gestion-resumen strong {
	color: var(--noche);
	font-size: 24px;
	line-height: 1.2;
	font-variant-numeric: tabular-nums;
}
.gestion-resumen small {
	color: var(--texto-suave);
	font-size: 12.5px;
	line-height: 1.4;
}
/* Tablas */
.gestion-tabla-marco {
	overflow-x: auto;
	border: 1px solid var(--borde);
	border-radius: var(--radio);
	background: var(--blanco);
}
.zona-privada .ap-contenido .gestion-tabla {
	width: 100%;
	margin: 0;
	border-collapse: collapse;
	font-size: 14.5px;
}
.zona-privada .ap-contenido .gestion-tabla :is(th, td) {
	border: 0;
	border-bottom: 1px solid var(--borde);
	padding: 12px 16px;
	background: none;
	text-align: left;
	vertical-align: middle;
}
.zona-privada .ap-contenido .gestion-tabla th {
	color: var(--texto-suave);
	font-size: 12.5px;
	font-weight: 600;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	white-space: nowrap;
}
.zona-privada .ap-contenido .gestion-tabla tbody tr:last-child td {
	border-bottom: 0;
}
.zona-privada .ap-contenido .gestion-tabla tbody tr:hover td {
	background: #fafbfc;
}
.zona-privada .ap-contenido .gestion-tabla__nombre {
	display: block;
	color: var(--noche);
	font-weight: 600;
	text-decoration: none;
}
.zona-privada .ap-contenido a.gestion-tabla__nombre:hover {
	color: var(--azul-hondo);
}
.gestion-tabla__dato {
	display: block;
	margin-top: 2px;
	color: var(--texto-suave);
	font-size: 13px;
	overflow-wrap: anywhere;
}
.zona-privada .ap-contenido .gestion-tabla .gestion-tabla__numero {
	text-align: right;
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
}
.zona-privada .ap-contenido .gestion-tabla .gestion-tabla__accion {
	text-align: right;
	white-space: nowrap;
}
.zona-privada .ap-contenido .gestion-tabla__accion a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--azul-hondo);
	font-size: 14px;
	font-weight: 500;
	text-decoration: none;
}
.zona-privada .ap-contenido .gestion-tabla__accion a:hover {
	color: var(--noche);
}
.gestion-tabla__accion .icono {
	width: 15px;
	height: 15px;
}
.gestion-tabla__enlace {
	max-width: 520px;
	overflow-wrap: anywhere;
}
.zona-privada .ap-contenido .gestion-tabla__enlace a {
	color: var(--azul-hondo);
	text-decoration: none;
}
/* Etiqueta de estado */
.gestion-estado {
	display: inline-block;
	border-radius: 100px;
	padding: 3px 10px;
	background: #f1f3f6;
	color: var(--texto-suave);
	font-size: 12.5px;
	font-weight: 600;
	line-height: 1.4;
	white-space: nowrap;
}
.gestion-estado--activo,
.gestion-estado--pagado {
	background: #e6f4ea;
	color: #23703f;
}
.gestion-estado--permanente {
	background: #e8f4fd;
	color: var(--azul-hondo);
}
.gestion-estado--pendiente,
.gestion-estado--iniciado {
	background: #fdf3e1;
	color: #8a5a00;
}
.gestion-estado--baja,
.gestion-estado--error {
	background: #fdecec;
	color: #b42318;
}
/* Formularios recibidos: cada uno se despliega */
.zona-privada .ap-contenido .gestion-mensajes {
	display: grid;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.zona-privada .ap-contenido .gestion-mensaje {
	margin: 0;
	border: 1px solid var(--borde);
	border-radius: var(--radio);
	background: var(--blanco);
}
.zona-privada .ap-contenido .gestion-mensaje::before {
	content: none !important;
}
.gestion-mensaje summary {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto auto 20px;
	align-items: center;
	gap: 6px 16px;
	padding: 14px 18px;
	list-style: none;
	cursor: pointer;
}
.gestion-mensaje summary::-webkit-details-marker {
	display: none;
}
.gestion-mensaje__de {
	color: var(--noche);
	font-weight: 600;
	overflow-wrap: anywhere;
}
.gestion-mensaje__formulario {
	border-radius: 100px;
	padding: 3px 10px;
	background: #f1f3f6;
	color: var(--texto-suave);
	font-size: 12.5px;
	white-space: nowrap;
}
.gestion-mensaje__fecha {
	color: var(--texto-suave);
	font-size: 13px;
	white-space: nowrap;
}
.gestion-mensaje summary .icono {
	width: 18px;
	height: 18px;
	color: var(--texto-suave);
	transition: transform var(--transicion);
}
.gestion-mensaje details[open] summary .icono {
	transform: rotate(180deg);
}
.zona-privada .ap-contenido .gestion-mensaje__campos {
	display: grid;
	grid-template-columns: minmax(120px, max-content) minmax(0, 1fr);
	gap: 8px 18px;
	margin: 0;
	border-top: 1px solid var(--borde);
	padding: 16px 18px;
	font-size: 14.5px;
}
.zona-privada .ap-contenido .gestion-mensaje__campos dt {
	color: var(--texto-suave);
	font-weight: 500;
}
.zona-privada .ap-contenido .gestion-mensaje__campos dd {
	margin: 0;
	color: var(--noche);
	overflow-wrap: anywhere;
}
.zona-privada .ap-contenido .gestion-mensaje__acciones {
	margin: 0;
	padding: 0 18px 16px;
}
/* Informe de un boletín */
.gestion-bloque {
	display: grid;
	gap: 10px;
}
.zona-privada .ap-contenido .gestion-bloque h2 {
	margin: 8px 0 0;
	color: var(--noche);
	font-size: 19px;
}
.zona-privada .ap-contenido .gestion-bloque__texto {
	margin: 0;
	color: var(--texto-suave);
	font-size: 14px;
}
.zona-privada .ap-contenido .gestion-barras {
	display: grid;
	gap: 8px;
	margin: 0;
	border: 1px solid var(--borde);
	border-radius: var(--radio);
	padding: 16px 18px;
	background: var(--blanco);
	list-style: none;
}
.zona-privada .ap-contenido .gestion-barras li {
	display: grid;
	grid-template-columns: 64px minmax(0, 1fr) 56px;
	align-items: center;
	gap: 12px;
	margin: 0;
	font-size: 13.5px;
}
.zona-privada .ap-contenido .gestion-barras li::before {
	content: none !important;
}
.gestion-barras__dia {
	color: var(--texto-suave);
	text-transform: capitalize;
}
.gestion-barras__barra {
	height: 12px;
	border-radius: 100px;
	background: #f1f3f6;
	overflow: hidden;
}
.gestion-barras__barra span {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: var(--azul);
	-webkit-print-color-adjust: exact;
	print-color-adjust: exact;
}
.gestion-barras__num {
	color: var(--noche);
	font-weight: 600;
	text-align: right;
	font-variant-numeric: tabular-nums;
}
/* Informe de un boletín: una hoja blanca con cabecera oscura y el logotipo en negativo (diseño de Jandro) */
.gestion-informe__barra {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	max-width: 860px;
}
.zona-privada .informe {
	max-width: 860px;
	overflow: hidden;
	border: 1px solid var(--borde);
	border-radius: var(--radio-l);
	background: var(--blanco);
	box-shadow: var(--sombra-s);
}
.informe__cabecera {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 28px 56px;
	background: var(--noche);
	-webkit-print-color-adjust: exact;
	print-color-adjust: exact;
}
.informe__cabecera img {
	display: block;
	width: auto;
	height: 96px;
}
.informe__cabecera span {
	color: var(--blanco);
	font-size: 26px;
	font-weight: 700;
	letter-spacing: -0.01em;
}
.informe__cuerpo {
	padding: 40px 56px 44px;
}
.zona-privada .ap-contenido .informe__titulo {
	max-width: 700px;
	margin: 0;
	color: var(--noche);
	font-size: 28px;
	line-height: 1.2;
}
.zona-privada .ap-contenido .informe__fecha {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 14px 0 0;
	padding-bottom: 32px;
	border-bottom: 2px dashed #d9dde3;
	color: var(--texto-suave);
	font-size: 17px;
}
.informe__fecha .icono {
	width: 22px;
	height: 22px;
}
/* Tres tarjetas iguales: el nombre con su icono, la cifra grande y el detalle debajo */
.informe__cifras {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	padding: 32px 0;
	border-bottom: 2px dashed #d9dde3;
}
.informe__cifra {
	display: flex;
	flex-direction: column;
	gap: 10px;
	border-radius: 16px;
	padding: 22px 24px 20px;
	background: #eaf5fe;
	-webkit-print-color-adjust: exact;
	print-color-adjust: exact;
}
.informe__cifra-nombre {
	display: flex;
	align-items: center;
	gap: 10px;
	color: var(--noche);
	font-size: 15px;
	font-weight: 600;
}
.informe__cifra-nombre .icono {
	box-sizing: content-box;
	flex: none;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	padding: 7px;
	background: var(--blanco);
	color: var(--azul-hondo);
}
.informe__cifra strong {
	color: #1f9cf0;
	font-size: 46px;
	font-weight: 800;
	line-height: 1;
	letter-spacing: -0.02em;
	font-variant-numeric: tabular-nums;
}
.informe__cifra-detalle {
	margin-top: auto;
	border-top: 1px solid rgba(31, 156, 240, 0.18);
	padding-top: 10px;
	color: var(--texto-suave);
	font-size: 13.5px;
	line-height: 1.45;
}
.informe__seccion {
	padding-top: 32px;
}
.zona-privada .ap-contenido .informe__seccion h2 {
	margin: 0 0 14px;
	color: var(--noche);
	font-size: 22px;
}
.zona-privada .ap-contenido .informe__tabla-cabecera {
	display: flex;
	justify-content: space-between;
	gap: 24px;
}
/* Enlaces con sus clics únicos */
.zona-privada .ap-contenido .informe__enlaces {
	display: grid;
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}
.zona-privada .ap-contenido .informe__enlaces li {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 110px;
	align-items: center;
	gap: 24px;
	margin: 0;
	padding: 11px 0;
}
.zona-privada .ap-contenido .informe__enlaces li::before {
	content: none !important;
}
.zona-privada .ap-contenido .informe__enlaces a {
	overflow: hidden;
	color: var(--noche);
	font-size: 16px;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.zona-privada .ap-contenido .informe__enlaces a:hover {
	color: var(--azul-hondo);
}
.informe__enlaces span {
	color: var(--noche);
	font-size: 16px;
	text-align: center;
	font-variant-numeric: tabular-nums;
}
.zona-privada .ap-contenido .informe__nota {
	margin: 0 0 12px;
	color: var(--texto-suave);
	font-size: 14px;
	line-height: 1.5;
}
.zona-privada .ap-contenido .informe__nota--pie {
	margin: 28px 0 0;
	border-top: 1px solid var(--borde);
	padding-top: 14px;
	font-size: 12.5px;
}
@media (max-width: 781px) {
	.zona-privada .ap-contenido .gestion-cabecera h1 {
		font-size: 23px;
	}
	.gestion-cabecera__acciones,
	.gestion-cabecera__acciones .gestion-boton {
		width: 100%;
	}
	.zona-privada .ap-contenido .gestion-select {
		flex: 1 1 100%;
	}
	.zona-privada .ap-contenido .gestion-filtros > .gestion-boton {
		flex: 1 1 100%;
	}
	/* Píldoras en una fila que se desliza */
	.zona-privada .ap-contenido .gestion-pildoras {
		flex-wrap: nowrap;
		margin-inline: -16px;
		padding-inline: 16px;
		overflow-x: auto;
		scrollbar-width: none;
	}
	.zona-privada .ap-contenido .gestion-pildoras a {
		flex: none;
	}
	/* Tablas: cada fila, una tarjeta; cada dato con su nombre delante (data-titulo) */
	.gestion-tabla-marco {
		overflow: visible;
		border: 0;
		background: none;
	}
	.zona-privada .ap-contenido .gestion-tabla thead {
		display: none;
	}
	.zona-privada .ap-contenido .gestion-tabla,
	.zona-privada .ap-contenido .gestion-tabla tbody {
		display: grid;
		gap: 10px;
	}
	.zona-privada .ap-contenido .gestion-tabla tr {
		display: grid;
		gap: 6px;
		border: 1px solid var(--borde);
		border-radius: var(--radio);
		padding: 14px 16px;
		background: var(--blanco);
	}
	.zona-privada .ap-contenido .gestion-tabla :is(th, td) {
		border: 0;
		padding: 0;
	}
	.zona-privada .ap-contenido .gestion-tabla tbody tr:hover td {
		background: none;
	}
	.zona-privada .ap-contenido .gestion-tabla td[data-titulo] {
		display: flex;
		justify-content: space-between;
		gap: 12px;
		font-size: 14px;
	}
	.zona-privada .ap-contenido .gestion-tabla td[data-titulo]::before {
		content: attr(data-titulo);
		color: var(--texto-suave);
	}
	.zona-privada .ap-contenido .gestion-tabla td[data-titulo] .gestion-tabla__dato {
		display: none;
	}
	.zona-privada .ap-contenido .gestion-tabla .gestion-tabla__accion {
		margin-top: 4px;
		text-align: left;
	}
	.gestion-mensaje summary {
		grid-template-columns: minmax(0, 1fr) 20px;
	}
	.gestion-mensaje__formulario,
	.gestion-mensaje__fecha {
		grid-column: 1;
		justify-self: start;
	}
	.gestion-mensaje summary .icono {
		grid-column: 2;
		grid-row: 1;
	}
	.zona-privada .ap-contenido .gestion-mensaje__campos {
		grid-template-columns: minmax(0, 1fr);
		gap: 2px;
	}
	.zona-privada .ap-contenido .gestion-mensaje__campos dd {
		margin-bottom: 10px;
	}
}
/* Informe en el móvil */
@media (max-width: 781px) {
	.informe__cabecera {
		padding: 18px 20px;
	}
	.informe__cabecera img {
		height: 60px;
	}
	.informe__cabecera span {
		font-size: 17px;
	}
	.informe__cuerpo {
		padding: 24px 20px 28px;
	}
	.zona-privada .ap-contenido .informe__titulo {
		font-size: 21px;
	}
	.zona-privada .ap-contenido .informe__fecha {
		padding-bottom: 22px;
		font-size: 15px;
	}
	.informe__cifras {
		grid-template-columns: minmax(0, 1fr);
		gap: 12px;
		padding: 22px 0;
	}
	.informe__cifra {
		padding: 18px 20px 16px;
	}
	.informe__cifra strong {
		font-size: 38px;
	}
	.zona-privada .ap-contenido .informe__enlaces li {
		grid-template-columns: minmax(0, 1fr) 48px;
		gap: 12px;
	}
	.zona-privada .ap-contenido .informe__enlaces a,
	.informe__enlaces span {
		font-size: 14.5px;
	}
	.gestion-informe__barra .gestion-cabecera__acciones {
		width: 100%;
	}
	.gestion-informe__barra .gestion-boton {
		flex: 1;
	}
}
/* Informe en PDF («Descargar PDF» → Imprimir → Guardar como PDF): solo la hoja del informe, en A4 */
@media print {
	@page {
		size: A4;
		margin: 0;
	}
	html:has(.gestion-informe),
	body.zona-privada:has(.gestion-informe),
	body.zona-privada:has(.gestion-informe) :is(.ap-cuerpo, .ap-contenido) {
		background: #fff !important;
	}
	body.zona-privada:has(.gestion-informe) :is(.ap-barra, .ap-lateral, .ap-barra-inferior, .cli-bar-container, #cookie-law-info-bar, .cky-consent-container, .grecaptcha-badge) {
		display: none !important;
	}
	body.zona-privada:has(.gestion-informe) :is(.ap-cuerpo, .ap-contenido) {
		display: block;
		max-width: none;
		margin: 0;
		padding: 0;
	}
	.gestion-informe .gestion-informe__barra {
		display: none !important;
	}
	.zona-privada .gestion-informe,
	.zona-privada .informe {
		max-width: none;
	}
	.zona-privada .informe {
		border: 0;
		border-radius: 0;
		box-shadow: none;
	}
	.informe__cuerpo {
		padding: 34px 48px 30px;
	}
	.informe__cabecera {
		padding: 26px 48px;
	}
	/* Las cifras y los datos, enteros; los enlaces pueden seguir en la página siguiente, pero cada uno entero */
	.informe__cifras,
	.zona-privada .ap-contenido .informe__seccion h2,
	.gestion-barras {
		break-inside: avoid;
		break-after: avoid;
	}
	/* Sin una página en blanco al final: nada de altos mínimos de pantalla */
	html:has(.gestion-informe),
	body.zona-privada:has(.gestion-informe),
	body.zona-privada:has(.gestion-informe) :is(.ap-cuerpo, .ap-contenido, .gestion-informe) {
		height: auto !important;
		min-height: 0 !important;
	}
	.zona-privada .ap-contenido .informe__enlaces li {
		break-inside: avoid;
	}
}

/* ----------------------------------------------------------------------
   Portada del área: la ilustración del congreso (30 Congreso, 2027) entera sobre un fondo cálido, abajo y
   centrada, y bolitas con destello que flotan encima (las pone area-privada.js). Sin movimiento si se ha
   pedido menos movimiento.
   ---------------------------------------------------------------------- */
.zona-privada .panel.panel--congreso.panel--congreso .congreso-destacado__cartel {
	background:
		radial-gradient(circle at 72% 30%, rgba(233, 170, 60, 0.16), transparent 55%),
		linear-gradient(180deg, #fffaf2 0%, #fdf1e0 100%);
}

.zona-privada .panel.panel--congreso.panel--congreso .congreso-destacado__cartel img[src*="congreso30"] {
	top: 8%;
	height: 92%;
	object-fit: contain;
	object-position: center bottom;
}

/* Bolitas con destello */
.congreso-destello {
	position: absolute;
	z-index: 1;
	width: var(--tam);
	height: var(--tam);
	border-radius: 50%;
	background: var(--color);
	box-shadow: 0 0 calc(var(--tam) * 1.2) calc(var(--tam) * 0.3) color-mix(in srgb, var(--color) 70%, transparent);
	opacity: 0.85;
	pointer-events: none;
	animation:
		congreso-flota var(--ciclo) ease-in-out var(--retraso) infinite alternate,
		congreso-brilla calc(var(--ciclo) * 0.55) ease-in-out var(--retraso) infinite;
}

/* El destello: una cruz de luz fina que aparece y se va */
.congreso-destello::after {
	content: "";
	position: absolute;
	inset: calc(var(--tam) * -1.4);
	background:
		linear-gradient(90deg, transparent 45%, rgba(255, 255, 255, 0.9) 50%, transparent 55%),
		linear-gradient(0deg, transparent 45%, rgba(255, 255, 255, 0.9) 50%, transparent 55%);
	border-radius: 50%;
	opacity: 0;
	transform: scale(0.4) rotate(45deg);
	animation: congreso-destella calc(var(--ciclo) * 0.9) ease-in-out var(--retraso) infinite;
}

@keyframes congreso-flota {
	from {
		transform: translate3d(0, 0, 0);
	}
	to {
		transform: translate3d(6px, -16px, 0);
	}
}

@keyframes congreso-brilla {
	0%,
	100% {
		opacity: 0.55;
	}
	50% {
		opacity: 1;
	}
}

@keyframes congreso-destella {
	0%,
	70%,
	100% {
		opacity: 0;
		transform: scale(0.4) rotate(45deg);
	}
	82% {
		opacity: 0.9;
		transform: scale(1) rotate(45deg);
	}
}

@media (prefers-reduced-motion: reduce) {
	.congreso-destello,
	.congreso-destello::after {
		animation: none;
	}
}

/* ----------------------------------------------------------------------
   Portada del área, tarjeta del congreso: el rótulo del 30 Congreso (número, nombre, sede y fechas) a la izquierda
   de la ilustración, en horizontal, cuando el marco tiene sitio (Jandro, 19-10-2026). Si es compacto, solo la
   ilustración, como hasta ahora.
   ---------------------------------------------------------------------- */
.zona-privada .panel.panel--congreso.panel--congreso .congreso-destacado__cartel {
	container: cartel-congreso / inline-size;
}

.zona-privada .panel.panel--congreso.panel--congreso .congreso-destacado__cartel figure {
	margin: 0;
}

.zona-privada .panel.panel--congreso.panel--congreso .congreso-destacado__cartel .congreso-destacado__rotulo {
	display: none;
}

@container cartel-congreso (min-width: 600px) {
	.zona-privada .panel.panel--congreso.panel--congreso .congreso-destacado__cartel > .wp-block-group__inner-container {
		position: absolute;
		inset: 0;
		display: grid;
		grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
		align-items: center;
		column-gap: 4%;
		padding: 0 4% 0 6%;
	}

	.zona-privada .panel.panel--congreso.panel--congreso .congreso-destacado__cartel .congreso-destacado__rotulo {
		display: block;
	}

	.zona-privada .panel.panel--congreso.panel--congreso .congreso-destacado__cartel .congreso-destacado__rotulo img {
		position: static;
		height: auto;
		object-fit: fill;
	}

	.zona-privada .panel.panel--congreso.panel--congreso .congreso-destacado__cartel .congreso-destacado__ilustracion {
		position: relative;
		align-self: stretch;
	}
}
