/**
 * plugins/themes/favetPro/styles/favet-pro.css
 *
 * Tema FAVET Pro (hijo del tema default de OJS 3.5).
 * CSS plano. Se imprime DESPUÉS del LESS compilado del tema default, así que
 * todo lo que aparece aquí sobreescribe al padre. Solo se carga en el frontend
 * (contexto "frontend" de ThemePlugin::addStyle), nunca en el backend.
 *
 * Dirección de diseño: "consultorio editorial". Cabecera blanca con línea
 * roja arriba y barra de navegación roja a ancho completo; portada tipo
 * landing con hero rojo degradado; tarjetas blancas con bordes suaves;
 * tipografía Fraunces (títulos) + Plus Jakarta Sans (cuerpo).
 *
 * Breakpoints del tema default que respetamos: 480 / 768 / 992 / 1200.
 *
 * Índice: 0 tokens · 1 base · 2 cabecera · 3 utilidades (.favet-btn, .favet-link,
 * .favet-eyebrow) · 4-10 portada · 11 pie · 12 reducción de movimiento ·
 * 13 artículo, número y archivo · 14 formularios, avisos y búsqueda ·
 * 15 páginas de contenido, barra lateral, cabecera interior y menú ·
 * parche final de contraste de botones (siempre el último bloque).
 */

/* =========================================================================
   0. Tokens
   ========================================================================= */
:root {
	--favet-red: #B3282D;
	--favet-red-dark: #8E1F23;
	--favet-red-deep: #6F171B;
	--favet-red-soft: #FBEDEE;
	--favet-red-tint: #F5D3D5;
	--favet-ink: #23272B;
	--favet-ink-2: #4A4F55;
	--favet-line: #D5D9DE;
	--favet-bg: #F6F7F9;
	--favet-white: #FFFFFF;
	--favet-footer: #1E2124;
	--favet-footer-2: #16181B;

	--favet-display: "Fraunces", "Iowan Old Style", Georgia, "Times New Roman", serif;
	--favet-body: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;

	--favet-radius: 18px;
	--favet-radius-sm: 12px;
	--favet-shadow: 0 1px 2px rgba(35, 39, 43, 0.06), 0 10px 30px -12px rgba(35, 39, 43, 0.18);
	--favet-shadow-lg: 0 2px 4px rgba(35, 39, 43, 0.08), 0 30px 60px -24px rgba(142, 31, 35, 0.45);
	--favet-container: 1160px;
	--favet-gutter: 16px;
	--favet-nav-h: 56px;
	--favet-user-h: 40px;
	--favet-mobile-head-h: 64px;
	--favet-tap: 44px; /* objetivo táctil mínimo */
}

/* =========================================================================
   1. Base
   ========================================================================= */
html {
	font-size: 16px;
	-webkit-text-size-adjust: 100%;
}

html,
body {
	font-family: var(--favet-body);
	color: var(--favet-ink);
	background: var(--favet-white);
	line-height: 1.55;
}

body {
	margin: 0;
}

.pkp_structure_page {
	overflow-x: hidden;
	overflow-x: clip;
}

.pkp_structure_page a {
	color: var(--favet-red);
}

.pkp_structure_page a:hover,
.pkp_structure_page a:focus {
	color: var(--favet-red-dark);
}

.pkp_structure_page :focus-visible {
	outline: 3px solid var(--favet-red);
	outline-offset: 2px;
}

/* Sobre fondos rojos/oscuros el anillo de foco pasa a blanco */
.favet-hero :focus-visible,
.favet-cta :focus-visible,
.pkp_site_nav_menu :focus-visible {
	outline-color: var(--favet-white);
}

.pkp_structure_page img,
.pkp_structure_page svg {
	max-width: 100%;
}

.pkp_structure_main h1,
.pkp_structure_main h2,
.pkp_structure_main h3 {
	font-family: var(--favet-display);
	font-weight: 600;
	letter-spacing: -0.01em;
	color: var(--favet-ink);
}

.pkp_structure_main h1 {
	font-size: 2.1rem;
	line-height: 1.15;
}

.pkp_structure_main h2 {
	font-size: 1.6rem;
	line-height: 1.2;
}

.pkp_structure_main h3 {
	font-size: 1.25rem;
	line-height: 1.3;
}

.pkp_structure_main::before,
.pkp_structure_main::after {
	background: var(--favet-line);
}

/* Botones del tema default, en rojo FAVET */
.pkp_structure_page .cmp_button,
.pkp_structure_page .pkp_button,
.pkp_structure_page .block_make_submission a {
	display: inline-block;
	padding: 0 1.25em;
	background: var(--favet-red);
	border: 1px solid var(--favet-red);
	border-radius: 999px;
	box-shadow: none;
	font-family: var(--favet-body);
	font-size: 0.92rem;
	font-weight: 700;
	line-height: 2.75rem;
	color: var(--favet-white);
	text-decoration: none;
	transition: background-color 0.18s ease, border-color 0.18s ease, transform 0.18s ease;
}

.pkp_structure_page .cmp_button:hover,
.pkp_structure_page .cmp_button:focus,
.pkp_structure_page .pkp_button:hover,
.pkp_structure_page .pkp_button:focus,
.pkp_structure_page .block_make_submission a:hover,
.pkp_structure_page .block_make_submission a:focus {
	background: var(--favet-red-dark);
	border-color: var(--favet-red-dark);
	color: var(--favet-white);
	box-shadow: none;
}

.pkp_structure_page .cmp_button_wire,
.pkp_structure_page .obj_galley_link {
	display: inline-block;
	padding: 0 1.1em;
	background: var(--favet-white);
	border: 1.5px solid var(--favet-red);
	border-radius: 999px;
	font-family: var(--favet-body);
	font-size: 0.88rem;
	font-weight: 700;
	line-height: 2.75rem; /* 44px: objetivo táctil */
	color: var(--favet-red);
	text-decoration: none;
	transition: background-color 0.18s ease, color 0.18s ease;
}

.pkp_structure_page .cmp_button_wire:hover,
.pkp_structure_page .cmp_button_wire:focus,
.pkp_structure_page .obj_galley_link:hover,
.pkp_structure_page .obj_galley_link:focus {
	background: var(--favet-red);
	color: var(--favet-white);
}

.pkp_structure_page .obj_galley_link.restricted {
	border-color: var(--favet-ink-2);
	color: var(--favet-ink-2);
}

/* Campos de formulario del frontend (login, registro, búsqueda) */
.pkp_structure_main input[type="text"]:focus,
.pkp_structure_main input[type="email"]:focus,
.pkp_structure_main input[type="password"]:focus,
.pkp_structure_main input[type="search"]:focus,
.pkp_structure_main textarea:focus,
.pkp_structure_main select:focus {
	border-color: var(--favet-red);
	box-shadow: 0 0 0 3px rgba(179, 40, 45, 0.18);
	outline: none;
}

/* =========================================================================
   2. Cabecera: blanca, línea roja arriba, barra de navegación roja
   ========================================================================= */
.pkp_structure_head {
	background: var(--favet-white);
	border-top: 4px solid var(--favet-red);
	border-bottom: 1px solid var(--favet-line);
}

/* En la portada la cabecera se funde con el hero rojo: sin costura gris */
.pkp_page_index.pkp_op_index .pkp_structure_head {
	border-bottom: 0;
}

/* El wrapper de la cabecera pasa a ancho completo; los hijos se limitan al
   ancho del contenedor para que la barra roja pueda ser de borde a borde. */
.pkp_head_wrapper,
.has_site_logo .pkp_head_wrapper {
	width: 100%;
	max-width: none;
	margin: 0;
	padding-left: 0;
	padding-right: 0;
}

.pkp_site_name_wrapper,
.has_site_logo .pkp_navigation_primary_wrapper,
.pkp_navigation_primary_wrapper,
.pkp_navigation_user {
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	padding-left: 0;
	padding-right: 0;
}

/* En móvil el gutter lo da .pkp_site_nav_menu (ver abajo); aquí solo el nombre/logo */
.pkp_site_name_wrapper {
	padding-left: var(--favet-gutter);
	padding-right: var(--favet-gutter);
}

@media (min-width: 768px) {
	.pkp_site_name_wrapper,
	.has_site_logo .pkp_navigation_primary_wrapper,
	.pkp_navigation_primary_wrapper,
	.pkp_navigation_user {
		width: 728px;
		padding-left: 0;
		padding-right: 0;
	}
}

@media (min-width: 992px) {
	.pkp_site_name_wrapper,
	.has_site_logo .pkp_navigation_primary_wrapper,
	.pkp_navigation_primary_wrapper,
	.pkp_navigation_user {
		width: 952px;
	}
}

@media (min-width: 1200px) {
	.pkp_site_name_wrapper,
	.has_site_logo .pkp_navigation_primary_wrapper,
	.pkp_navigation_primary_wrapper,
	.pkp_navigation_user {
		width: var(--favet-container);
	}
}

/* --- Logo / nombre del sitio --- */
.pkp_site_name_wrapper {
	height: var(--favet-mobile-head-h);
}

.pkp_site_name {
	position: absolute;
	top: 0;
	left: var(--favet-mobile-head-h);
	right: var(--favet-gutter);
	display: flex;
	align-items: center;
	height: var(--favet-mobile-head-h);
	padding-left: 12px;
	color: var(--favet-ink);
	font-family: var(--favet-display);
}

.pkp_site_name > a {
	padding: 0;
}

.pkp_site_name .is_img {
	margin: 0;
	line-height: 0;
}

.pkp_site_name .is_img:focus {
	outline: 3px solid var(--favet-red);
	outline-offset: 2px;
}

.pkp_site_name .is_img img {
	display: block;
	max-height: 44px;
	width: auto;
}

.pkp_site_name .is_text {
	font-family: var(--favet-display);
	font-size: 1.15rem;
	font-weight: 700;
	line-height: 1.2;
	color: var(--favet-ink);
	white-space: normal;
}

/* --- Botón hamburguesa (móvil) --- */
.pkp_site_nav_toggle {
	width: var(--favet-mobile-head-h);
	height: var(--favet-mobile-head-h);
	background: var(--favet-red-soft);
	box-shadow: none;
	border-right: 1px solid var(--favet-red-tint);
	cursor: pointer;
}

.pkp_site_nav_toggle:focus {
	outline: 3px solid var(--favet-red);
	outline-offset: -3px;
	box-shadow: none;
}

.pkp_site_nav_toggle > span {
	border-bottom-color: var(--favet-red);
}

.pkp_site_nav_toggle > span::before,
.pkp_site_nav_toggle > span::after {
	background: var(--favet-red);
}

/* --- Panel de navegación (móvil) --- */
/* Nota: la sección 15.8 (frente C) redefine este panel como panel blanco con
   línea roja; estas reglas quedan como base para los ítems que 15.8 no toca. */
.pkp_site_nav_menu {
	background: linear-gradient(160deg, var(--favet-red-dark) 0%, var(--favet-red) 100%);
	padding: 20px var(--favet-gutter) 24px;
	box-sizing: border-box;
	box-shadow: 0 24px 40px -20px rgba(35, 39, 43, 0.5);
}

.pkp_site_nav_menu a {
	display: block;
	padding: 9px 0;
	min-height: var(--favet-tap);
	box-sizing: border-box;
	color: var(--favet-white);
	font-size: 1.05rem;
	font-weight: 600;
	text-decoration: none;
}

.pkp_site_nav_menu a:hover,
.pkp_site_nav_menu a:focus {
	color: var(--favet-white);
	text-decoration: underline;
	text-underline-offset: 4px;
}

.pkp_site_nav_menu ul ul {
	padding-left: 14px;
	border-left: 2px solid rgba(255, 255, 255, 0.25);
	margin-left: 4px;
}

.pkp_site_nav_menu ul ul a {
	font-size: 0.95rem;
	font-weight: 500;
	padding: 10px 0;
}

/* Separadores del menú de usuario y del buscador: ahora arrancan en el mismo
   x que los ítems, porque el gutter lo da el panel y no cada bloque */
.pkp_navigation_user.pkp_navigation_user,
.pkp_navigation_search_wrapper {
	margin-top: 14px;
	padding-top: 14px;
	border-top: 1px solid rgba(255, 255, 255, 0.22);
}

.pkp_navigation_user .task_count {
	background: rgba(255, 255, 255, 0.22);
	color: var(--favet-white);
}

.pkp_navigation_search_wrapper .pkp_search {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

@media (min-width: 768px) {
	.pkp_navigation_search_wrapper {
		width: 728px;
		margin-left: auto;
		margin-right: auto;
	}
}

/* --- Escritorio --- */
@media (min-width: 992px) {
	.pkp_head_wrapper,
	.has_site_logo .pkp_head_wrapper {
		padding-top: var(--favet-user-h);
	}

	.pkp_site_name_wrapper {
		height: auto;
		padding-top: 14px;
		padding-bottom: 14px;
		padding-left: 0;
		padding-right: 0;
	}

	.pkp_site_name {
		position: relative;
		top: auto;
		left: auto;
		right: auto;
		display: block;
		width: auto;
		height: auto;
		padding: 0;
		font-size: 1rem;
	}

	.pkp_site_name .is_img img {
		max-height: 76px;
	}

	.pkp_site_name .is_text {
		font-size: 1.9rem;
		line-height: 1.15;
	}

	/* Menú de usuario: franja superior discreta (fondo blanco: foco rojo) */
	.pkp_navigation_user_wrapper {
		height: var(--favet-user-h);
		padding: 0;
	}

	.pkp_navigation_user_wrapper :focus-visible {
		outline-color: var(--favet-red);
	}

	.pkp_navigation_user,
	.pkp_navigation_user.pkp_navigation_user {
		margin: 0;
		padding: 0;
		border: 0;
		font-size: 0.85rem;
	}

	.pkp_site_nav_menu .pkp_navigation_user > li > a {
		display: inline-block;
		padding: 10px 12px;
		min-height: 0;
		line-height: 20px;
		color: var(--favet-ink-2);
		font-size: 0.85rem;
		font-weight: 600;
		text-decoration: none;
	}

	/* El default empuja el último ítem 10px fuera del contenedor: lo anulamos */
	.pkp_site_nav_menu .pkp_navigation_user > li:last-child > a {
		margin-right: 0;
	}

	.pkp_site_nav_menu .pkp_navigation_user > li > a:hover {
		color: var(--favet-red);
		text-decoration: none;
	}

	.pkp_site_nav_menu .pkp_navigation_user > li > a:focus {
		background: var(--favet-red-soft);
		color: var(--favet-red-dark);
		border-radius: 8px;
	}

	.pkp_navigation_user > li > a .task_count {
		background: var(--favet-red);
		color: var(--favet-white);
	}

	.pkp_navigation_user > li > a:focus .task_count {
		background: var(--favet-red-dark);
		color: var(--favet-white);
	}

	/* El desplegable del usuario se abre justo debajo del enlace (40px), no a 30px */
	.pkp_navigation_user > li:hover ul {
		transform: translate3d(0, var(--favet-user-h), 0);
	}

	/* Barra de navegación principal: roja, a ancho completo */
	.pkp_site_nav_menu {
		background: none;
		padding: 0;
		box-shadow: none;
	}

	.pkp_navigation_primary_row {
		position: relative;
		z-index: 3;
		background: linear-gradient(90deg, var(--favet-red-dark) 0%, var(--favet-red) 55%, #C4363B 100%);
		border-top: 1px solid rgba(255, 255, 255, 0.12);
		box-shadow: 0 1px 0 rgba(0, 0, 0, 0.28);
	}

	.pkp_navigation_primary_wrapper {
		display: flex;
		align-items: stretch;
		min-height: var(--favet-nav-h);
	}

	.pkp_navigation_primary_wrapper::before,
	.pkp_navigation_primary_wrapper::after {
		display: none;
	}

	.pkp_navigation_primary {
		display: flex;
		flex-wrap: wrap;
		align-items: stretch;
		max-width: none;
		margin: 0;
		text-align: left;
	}

	.pkp_navigation_primary > li {
		display: flex;
	}

	.pkp_navigation_primary > li:first-child a,
	.pkp_navigation_primary > li:last-child a {
		margin-left: 0;
		margin-right: 0;
	}

	.pkp_site_nav_menu .pkp_navigation_primary > li > a {
		position: relative;
		display: inline-flex;
		align-items: center;
		margin: 0;
		padding: 0 16px;
		min-height: var(--favet-nav-h);
		border: 0;
		border-radius: 0;
		color: var(--favet-white);
		font-size: 0.92rem;
		font-weight: 600;
		letter-spacing: 0.01em;
		text-decoration: none;
	}

	.pkp_site_nav_menu .pkp_navigation_primary > li > a::after {
		content: "";
		position: absolute;
		left: 16px;
		right: 16px;
		bottom: 11px;
		height: 2px;
		background: var(--favet-white);
		border-radius: 2px;
		transform: scaleX(0);
		transform-origin: left center;
		transition: transform 0.22s ease;
	}

	.pkp_site_nav_menu .pkp_navigation_primary > li > a:hover::after,
	.pkp_site_nav_menu .pkp_navigation_primary > li > a:focus::after {
		transform: scaleX(1);
	}

	.pkp_site_nav_menu .pkp_navigation_primary > li > a:hover,
	.pkp_site_nav_menu .pkp_navigation_primary > li > a:focus {
		color: var(--favet-white);
		background: rgba(255, 255, 255, 0.12);
		border-color: transparent;
		text-decoration: none;
	}

	.pkp_site_nav_menu .pkp_navigation_primary > li > a:focus-visible {
		outline: 3px solid var(--favet-white);
		outline-offset: -3px;
	}

	/* Flecha de los desplegables */
	.pkp_navigation_primary [aria-haspopup]::after {
		border-top-color: currentColor;
	}

	.pkp_navigation_primary > li:hover ul {
		transform: translate3d(0, var(--favet-nav-h), 0);
	}

	/* Desplegables (menú principal y de usuario): fondo blanco, foco rojo */
	.pkp_site_nav_menu .pkp_nav_list ul {
		padding: 6px;
		background: var(--favet-white);
		border: 1px solid var(--favet-line);
		border-radius: var(--favet-radius-sm);
		box-shadow: var(--favet-shadow-lg);
	}

	.pkp_site_nav_menu .pkp_nav_list ul :focus-visible {
		outline-color: var(--favet-red);
	}

	.pkp_site_nav_menu .pkp_nav_list ul a {
		display: block;
		padding: 9px 12px;
		min-height: 0;
		border: 0;
		border-radius: 8px;
		color: var(--favet-ink);
		font-size: 0.92rem;
		font-weight: 500;
		text-decoration: none;
	}

	.pkp_site_nav_menu .pkp_nav_list ul a:hover,
	.pkp_site_nav_menu .pkp_nav_list ul a:focus {
		background: var(--favet-red-soft);
		color: var(--favet-red-dark);
		border-color: transparent;
	}

	.pkp_site_nav_menu .pkp_nav_list ul li:first-child a,
	.pkp_site_nav_menu .pkp_nav_list ul li:last-child a {
		border-radius: 8px;
	}

	/* Buscador a la derecha de la barra roja */
	.pkp_navigation_search_wrapper {
		float: none;
		width: auto;
		margin: 0 0 0 auto;
		padding: 0;
		border: 0;
		display: flex;
		align-items: stretch;
	}

	.pkp_site_nav_menu .pkp_navigation_search_wrapper a {
		display: inline-flex;
		align-items: center;
		gap: 8px;
		margin: 0;
		padding: 0 4px 0 16px;
		min-height: var(--favet-nav-h);
		border: 0;
		color: var(--favet-white);
		font-size: 0.92rem;
		font-weight: 600;
		text-decoration: none;
	}

	.pkp_site_nav_menu .pkp_navigation_search_wrapper a:hover,
	.pkp_site_nav_menu .pkp_navigation_search_wrapper a:focus {
		color: var(--favet-white);
		background: rgba(255, 255, 255, 0.12);
		border-color: transparent;
		text-decoration: none;
	}
}

/* =========================================================================
   3. Elementos compartidos de la portada
   ========================================================================= */
.favet-wrap {
	width: 100%;
	max-width: var(--favet-container);
	margin: 0 auto;
	padding-left: var(--favet-gutter);
	padding-right: var(--favet-gutter);
	box-sizing: border-box;
}

@media (min-width: 768px) {
	.favet-wrap {
		padding-left: 24px;
		padding-right: 24px;
	}
}

.favet-eyebrow,
.pkp_structure_main .favet-eyebrow {
	margin: 0 0 8px;
	font-size: 0.76rem;
	font-weight: 800;
	line-height: 1.3;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--favet-red);
}

.favet-eyebrow--light,
.pkp_structure_main .favet-eyebrow--light {
	color: var(--favet-red-tint);
}

.favet-section__head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 12px 24px;
	margin-bottom: 28px;
}

.pkp_structure_main .favet-section__title {
	margin: 0;
	font-family: var(--favet-display);
	font-size: clamp(1.9rem, 3.2vw, 2.6rem);
	font-weight: 600;
	line-height: 1.08;
	letter-spacing: -0.015em;
	color: var(--favet-ink);
}

.pkp_structure_main .favet-section__sub {
	margin: 8px 0 0;
	font-weight: 500;
	line-height: 1.5;
	color: var(--favet-ink-2);
}

.favet-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: var(--favet-tap);
	padding: 4px 0;
	box-sizing: border-box;
	font-weight: 700;
	font-size: 0.95rem;
	color: var(--favet-red);
	text-decoration: none;
}

.favet-link:hover,
.favet-link:focus {
	color: var(--favet-red-dark);
	text-decoration: underline;
	text-underline-offset: 4px;
}

.favet-link__icon {
	width: 18px;
	height: 18px;
	transition: transform 0.2s ease;
}

.favet-link:hover .favet-link__icon {
	transform: translateX(3px);
}

/* Botones de la portada */
.favet-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 50px;
	padding: 0 26px;
	border-radius: 999px;
	border: 1.5px solid transparent;
	font-family: var(--favet-body);
	font-size: 0.98rem;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
	cursor: pointer;
	box-sizing: border-box;
	transition: transform 0.18s ease, background-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}

.favet-btn:hover {
	transform: translateY(-2px);
}

.favet-btn__icon {
	width: 20px;
	height: 20px;
}

.favet-btn--light {
	background: var(--favet-white);
	color: var(--favet-red-dark);
	box-shadow: 0 10px 24px -10px rgba(0, 0, 0, 0.45);
}

.favet-btn--light:hover,
.favet-btn--light:focus {
	background: var(--favet-red-soft);
	color: var(--favet-red-deep);
}

.favet-btn--ghost {
	background: transparent;
	color: var(--favet-white);
	border-color: rgba(255, 255, 255, 0.7);
}

.favet-btn--ghost:hover,
.favet-btn--ghost:focus {
	background: rgba(255, 255, 255, 0.12);
	border-color: var(--favet-white);
	color: var(--favet-white);
}

.favet-btn--primary {
	background: var(--favet-red);
	color: var(--favet-white);
	box-shadow: 0 12px 28px -12px rgba(179, 40, 45, 0.8);
}

.favet-btn--primary:hover,
.favet-btn--primary:focus {
	background: #C4363B;
	color: var(--favet-white);
}

.favet-btn--outline {
	background: var(--favet-white);
	color: var(--favet-red);
	border-color: var(--favet-red);
}

.favet-btn--outline:hover,
.favet-btn--outline:focus {
	background: var(--favet-red);
	color: var(--favet-white);
}

/* En pantallas angostas los pares de botones van apilados a ancho completo */
@media (max-width: 479px) {
	.favet-hero__actions .favet-btn,
	.favet-cta__actions .favet-btn {
		flex: 1 1 100%;
	}
}

/* =========================================================================
   4. Portada: estructura de página (sin columna lateral flotante)
   ========================================================================= */
.pkp_page_index.pkp_op_index .pkp_structure_content,
.pkp_page_index.pkp_op_index .pkp_structure_content.has_sidebar {
	width: 100%;
	max-width: none;
	padding: 0;
}

.pkp_page_index.pkp_op_index .pkp_structure_main,
.pkp_page_index.pkp_op_index .pkp_structure_main:first-child:last-child {
	float: none;
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
}

.pkp_page_index.pkp_op_index .pkp_structure_main::before,
.pkp_page_index.pkp_op_index .pkp_structure_main::after {
	display: none;
}

/* El índice del SITIO (lista de revistas, sin .favet-home) también recibe
   body.pkp_page_index.pkp_op_index: le devolvemos un contenedor con aire. */
.pkp_page_index.pkp_op_index .pkp_structure_content:not(:has(.favet-home)) .pkp_structure_main {
	max-width: var(--favet-container);
	margin: 0 auto;
	padding: 24px var(--favet-gutter) 48px;
	box-sizing: border-box;
}

/* El bloque lateral (p. ej. "Patrocinadores") pasa a ser una franja debajo */
.pkp_page_index.pkp_op_index .pkp_structure_sidebar {
	float: none;
	width: 100%;
	background: var(--favet-bg);
	border-top: 1px solid var(--favet-line);
}

.pkp_page_index.pkp_op_index .pkp_structure_sidebar .pkp_block {
	max-width: var(--favet-container);
	margin: 0 auto;
	padding: 36px var(--favet-gutter);
	text-align: center;
	box-sizing: border-box;
}

.pkp_page_index.pkp_op_index .pkp_structure_sidebar .pkp_block .title {
	margin: 0 0 16px;
	font-family: var(--favet-body);
	font-size: 0.76rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--favet-ink-2);
}

.pkp_page_index.pkp_op_index .pkp_structure_sidebar .pkp_block .content img {
	display: inline-block;
	max-height: 72px;
	width: auto;
	margin: 8px 18px;
	vertical-align: middle;
}

.pkp_page_index.pkp_op_index .pkp_structure_sidebar .pkp_block .content p {
	margin: 0;
}

/* =========================================================================
   5. (a) Hero
   ========================================================================= */
.favet-hero {
	position: relative;
	isolation: isolate;
	color: var(--favet-white);
	background:
		radial-gradient(900px 520px at 88% 8%, rgba(255, 255, 255, 0.16), transparent 62%),
		radial-gradient(700px 400px at 5% 100%, rgba(0, 0, 0, 0.22), transparent 60%),
		linear-gradient(128deg, var(--favet-red-deep) 0%, var(--favet-red-dark) 28%, var(--favet-red) 64%, #C63A3F 100%);
	overflow: hidden;
}

/* Trama de puntos que se desvanece hacia abajo */
.favet-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background-image: radial-gradient(rgba(255, 255, 255, 0.16) 1px, transparent 1.6px);
	background-size: 22px 22px;
	-webkit-mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.9), transparent 78%);
	mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.9), transparent 78%);
	pointer-events: none;
}

/* Gran "huella" tipográfica decorativa */
.favet-hero::after {
	content: "FAVET";
	position: absolute;
	right: -0.1em;
	bottom: -0.32em;
	z-index: -1;
	font-family: var(--favet-display);
	font-weight: 700;
	font-size: clamp(9rem, 26vw, 22rem);
	line-height: 1;
	letter-spacing: -0.04em;
	color: rgba(255, 255, 255, 0.05);
	pointer-events: none;
	user-select: none;
}

.favet-hero__inner {
	display: grid;
	grid-template-columns: 1fr;
	gap: 32px;
	width: 100%;
	max-width: var(--favet-container);
	margin: 0 auto;
	padding: 40px var(--favet-gutter) 88px;
	box-sizing: border-box;
	align-items: center;
}

.pkp_structure_main .favet-hero__kicker {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	max-width: 100%;
	margin: 0 0 18px;
	padding: 7px 14px 7px 10px;
	border: 1px solid rgba(255, 255, 255, 0.3);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.08);
	font-size: 0.8rem;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: 0.02em;
	color: rgba(255, 255, 255, 0.92);
	box-sizing: border-box;
}

.favet-hero__dot {
	flex: 0 0 auto;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #FFD5D7;
	box-shadow: 0 0 0 4px rgba(255, 213, 215, 0.25);
}

.pkp_structure_main .favet-hero__title {
	margin: 0 0 18px;
	font-family: var(--favet-display);
	font-size: clamp(2.35rem, 5.2vw, 4.2rem);
	font-weight: 700;
	line-height: 1.02;
	letter-spacing: -0.025em;
	color: var(--favet-white);
	max-width: 14ch;
}

.favet-hero__title em {
	font-style: italic;
	font-weight: 500;
	color: #FFD9DB;
}

.pkp_structure_main .favet-hero__lead {
	margin: 0 0 28px;
	max-width: 36rem;
	font-size: 1.08rem;
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.9);
}

.favet-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

/* Imagen destacada / logo a la derecha */
.favet-hero__media {
	display: flex;
	justify-content: center;
}

.favet-hero__poster {
	display: block;
	position: relative;
	max-width: 280px;
	width: 100%;
	padding: 10px;
	background: var(--favet-white);
	border-radius: var(--favet-radius);
	box-shadow: var(--favet-shadow-lg), 0 0 0 1px rgba(0, 0, 0, 0.06);
	transform: rotate(-2deg);
	text-decoration: none;
	color: var(--favet-ink);
	box-sizing: border-box;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

a.favet-hero__poster:hover,
a.favet-hero__poster:focus {
	transform: rotate(0deg) translateY(-4px);
	color: var(--favet-ink);
}

.favet-hero__poster img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: var(--favet-radius-sm);
}

.favet-hero__poster-label {
	display: block;
	padding: 12px 8px 6px;
}

.favet-hero__poster-title {
	display: block;
	font-family: var(--favet-display);
	font-size: 1.05rem;
	font-weight: 600;
	line-height: 1.25;
	color: var(--favet-ink);
}

.favet-hero__poster-cta {
	display: inline-block;
	margin-top: 6px;
	font-size: 0.82rem;
	font-weight: 700;
	color: var(--favet-red);
}

.favet-hero__poster-cta::after {
	content: " →";
}

.favet-hero__poster--static {
	transform: rotate(-1.5deg);
}

.favet-hero__logo-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 14px;
	max-width: 280px;
	width: 100%;
	padding: 32px 28px;
	background: var(--favet-white);
	border-radius: var(--favet-radius);
	box-shadow: var(--favet-shadow-lg);
	transform: rotate(-2deg);
	box-sizing: border-box;
}

.favet-hero__logo-card img {
	display: block;
	max-height: 110px;
	width: auto;
}

.favet-hero__logo-tag {
	font-family: var(--favet-display);
	font-style: italic;
	font-size: 0.95rem;
	color: var(--favet-ink-2);
	text-align: center;
}

@media (min-width: 768px) {
	.favet-hero__inner {
		gap: 40px;
		padding: 64px 24px 112px;
	}

	.favet-hero__poster,
	.favet-hero__logo-card {
		max-width: 380px;
	}
}

@media (min-width: 992px) {
	.favet-hero__inner {
		grid-template-columns: 1.15fr 0.85fr;
		gap: 56px;
		padding: 80px 24px 128px;
	}

	.favet-hero__media {
		justify-content: flex-end;
		padding-right: 24px;
	}

	.favet-hero__poster,
	.favet-hero__logo-card {
		max-width: 400px;
	}
}

/* Entrada escalonada al cargar */
@media (prefers-reduced-motion: no-preference) {
	.favet-hero__kicker,
	.favet-hero__title,
	.favet-hero__lead,
	.favet-hero__actions,
	.favet-hero__media {
		animation: favet-rise 0.7s cubic-bezier(0.2, 0.7, 0.2, 1) both;
	}

	.favet-hero__title { animation-delay: 0.08s; }
	.favet-hero__lead { animation-delay: 0.16s; }
	.favet-hero__actions { animation-delay: 0.24s; }
	.favet-hero__media { animation-delay: 0.2s; }

	@keyframes favet-rise {
		from {
			opacity: 0;
			transform: translateY(18px);
		}
		to {
			opacity: 1;
			transform: translateY(0);
		}
	}
}

/* =========================================================================
   6. (b) Pilares
   ========================================================================= */
.favet-pillars {
	position: relative;
	z-index: 2;
	margin-top: -56px;
	padding-bottom: 8px;
}

.favet-pillars__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 16px;
}

.favet-pillar {
	display: flex;
	gap: 18px;
	padding: 24px 22px;
	background: var(--favet-white);
	border: 1px solid var(--favet-line);
	border-radius: var(--favet-radius);
	box-shadow: var(--favet-shadow);
	transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}

.favet-pillar:hover {
	transform: translateY(-3px);
	border-color: var(--favet-red-tint);
	box-shadow: var(--favet-shadow-lg);
}

.favet-pillar__icon {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	border-radius: 16px;
	background: var(--favet-red-soft);
	color: var(--favet-red);
}

.favet-pillar__icon svg {
	width: 28px;
	height: 28px;
}

.favet-pillar__text {
	min-width: 0;
}

.pkp_structure_main .favet-pillar__text h3 {
	margin: 4px 0 6px;
	font-family: var(--favet-display);
	font-size: 1.22rem;
	font-weight: 600;
	line-height: 1.25;
	color: var(--favet-ink);
}

.pkp_structure_main .favet-pillar__text p {
	margin: 0;
	font-size: 0.95rem;
	line-height: 1.6;
	color: var(--favet-ink-2);
}

.pkp_structure_main .favet-pillar__text p + p {
	margin-top: 8px;
}

.favet-pillars__raw {
	padding: 28px;
	background: var(--favet-white);
	border: 1px solid var(--favet-line);
	border-radius: var(--favet-radius);
	box-shadow: var(--favet-shadow);
}

/* Texto que el editor escribió antes del primer <h3> */
.favet-pillars__raw--intro {
	margin-bottom: 16px;
}

@media (min-width: 768px) {
	.favet-pillars__grid {
		grid-template-columns: repeat(3, 1fr);
		gap: 20px;
	}

	/* Con un solo pilar no se dibuja un grid de 3 columnas vacío */
	.favet-pillars__grid--single {
		grid-template-columns: 1fr;
	}

	.favet-pillars__grid--single .favet-pillar {
		flex-direction: row;
		align-items: flex-start;
	}

	.favet-pillar {
		flex-direction: column;
		gap: 16px;
		padding: 28px 26px 30px;
	}
}

/* =========================================================================
   7. (c) Últimos casos: tarjetas
   ========================================================================= */
.favet-cases {
	padding: 56px 0 32px;
}

.pkp_structure_main .favet-cases__section-title {
	margin: 0 0 16px;
	padding-bottom: 10px;
	border-bottom: 1px solid var(--favet-line);
	font-family: var(--favet-body);
	font-size: 0.82rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--favet-ink-2);
}

.favet-cases__section + .favet-cases__section {
	margin-top: 36px;
}

.pkp_structure_main .favet-cards {
	display: grid;
	grid-template-columns: 1fr;
	gap: 20px;
	margin: 0;
	padding: 0;
	list-style: none;
	line-height: inherit;
}

.pkp_structure_main .favet-cards > li {
	margin: 0;
	min-width: 0;
}

/* --- Modo tarjeta: solo en la portada (favetCard=true) --- */
.favet-card--grid.obj_article_summary {
	display: flex;
	flex-direction: column;
	height: 100%;
	background: var(--favet-white);
	border: 1px solid var(--favet-line);
	border-radius: var(--favet-radius);
	overflow: hidden;
	box-sizing: border-box;
	transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}

.favet-card--grid.obj_article_summary:hover,
.favet-card--grid.obj_article_summary:focus-within {
	transform: translateY(-4px);
	border-color: var(--favet-red-tint);
	box-shadow: var(--favet-shadow-lg);
}

.favet-card--grid.obj_article_summary::after,
.favet-card--grid.obj_article_summary::before {
	display: none;
}

.favet-card--grid .cover.favet-card__cover {
	float: none;
	width: 100%;
	max-height: none;
	margin: 0;
	aspect-ratio: 16 / 10;
	background: var(--favet-bg);
	overflow: hidden;
}

.favet-card--grid .favet-card__cover a {
	display: block;
	width: 100%;
	height: 100%;
}

.favet-card--grid .cover.favet-card__cover img {
	display: block;
	width: 100%;
	height: 100%;
	max-height: none;
	object-fit: cover;
	transition: transform 0.4s ease;
}

.favet-card--grid:hover .cover.favet-card__cover img {
	transform: scale(1.04);
}

/* Placeholder cuando no hay portada */
.favet-card__placeholder {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	height: 100%;
	color: var(--favet-white);
	background:
		radial-gradient(360px 200px at 100% 0%, rgba(255, 255, 255, 0.18), transparent 60%),
		linear-gradient(135deg, var(--favet-red-dark) 0%, var(--favet-red) 60%, #C63A3F 100%);
}

.favet-card__placeholder::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: radial-gradient(rgba(255, 255, 255, 0.18) 1px, transparent 1.6px);
	background-size: 18px 18px;
	-webkit-mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.8), transparent);
	mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.8), transparent);
}

.favet-card__placeholder-icon {
	position: relative;
	width: 54px;
	height: 54px;
	opacity: 0.9;
}

.favet-card__placeholder-label {
	position: relative;
	padding: 4px 12px;
	border-radius: 999px;
	background: rgba(0, 0, 0, 0.22);
	font-size: 0.74rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.favet-card--grid .favet-card__body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	padding: 18px 20px 20px;
}

/* --- Tipografía y meta: aplica a la portada y a las listas (sumario, archivo, búsqueda) --- */
.pkp_structure_main .favet-card__title,
.pkp_structure_main .favet-card .title {
	margin: 0 0 8px;
	font-family: var(--favet-display);
	font-size: 1.22rem;
	font-weight: 600;
	line-height: 1.25;
	border: 0;
}

.favet-card .title a {
	color: var(--favet-ink);
	text-decoration: none;
}

.favet-card .title a:hover,
.favet-card .title a:focus {
	color: var(--favet-red);
}

.favet-card .subtitle {
	display: block;
	margin-top: 4px;
	font-family: var(--favet-body);
	font-size: 0.92rem;
	font-weight: 500;
	color: var(--favet-ink-2);
}

.favet-card .meta.favet-card__meta {
	padding-top: 0;
	font-size: 0.9rem;
	line-height: 1.5;
}

.favet-card .authors.favet-card__authors {
	padding-right: 0;
	margin-bottom: 8px;
	font-weight: 600;
	color: var(--favet-ink-2);
}

.favet-card__meta-row {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 16px;
	font-size: 0.82rem;
	color: var(--favet-ink-2);
}

.favet-card .published.favet-card__date {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--favet-ink-2);
}

.favet-card .published.favet-card__date svg {
	width: 16px;
	height: 16px;
	color: var(--favet-red);
}

.favet-card .pages.favet-card__pages {
	position: static;
	line-height: inherit;
	color: var(--favet-ink-2);
}

.favet-card .pages.favet-card__pages::before {
	content: "pp. ";
}

.favet-card .galleys_links.favet-card__galleys {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 12px 0 0;
	padding: 0;
	list-style: none;
}

.favet-card--grid .galleys_links.favet-card__galleys {
	margin: auto 0 0;
	padding-top: 16px;
}

.favet-card .galleys_links.favet-card__galleys li {
	margin: 0;
}

.favet-card .obj_galley_link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: var(--favet-tap);
	padding: 0 16px 0 14px;
	background: var(--favet-red);
	border-color: var(--favet-red);
	color: var(--favet-white);
	font-size: 0.84rem;
	line-height: 2.75rem;
	box-sizing: border-box;
}

.favet-card .obj_galley_link:hover,
.favet-card .obj_galley_link:focus {
	background: var(--favet-red-dark);
	border-color: var(--favet-red-dark);
	color: var(--favet-white);
}

.favet-card .obj_galley_link::before {
	margin-right: 0;
	font-size: 1rem;
}

.favet-card .obj_galley_link.restricted {
	background: var(--favet-white);
	border-color: var(--favet-ink-2);
	color: var(--favet-ink-2);
}

/* Listas del sumario / archivo / búsqueda: portada real (si existe) como en el default */
.favet-card:not(.favet-card--grid) .cover.favet-card__cover img {
	display: block;
	max-height: 250px;
	width: auto;
	border-radius: var(--favet-radius-sm);
}

@media (min-width: 768px) {
	.pkp_structure_main .favet-cards {
		grid-template-columns: repeat(2, 1fr);
		gap: 22px;
	}
}

@media (min-width: 992px) {
	.favet-cases {
		padding: 72px 0 40px;
	}

	.pkp_structure_main .favet-cards {
		grid-template-columns: repeat(3, 1fr);
		gap: 24px;
	}
}

/* =========================================================================
   8. (d) Avisos como tarjetas
   ========================================================================= */
.favet-news {
	padding: 48px 0 56px;
	background: var(--favet-bg);
	border-top: 1px solid var(--favet-line);
}

.favet-news__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 20px;
}

.favet-news__card.obj_announcement_summary {
	display: flex;
	flex-direction: column;
	background: var(--favet-white);
	border: 1px solid var(--favet-line);
	border-radius: var(--favet-radius);
	overflow: hidden;
	box-shadow: var(--favet-shadow);
	transition: transform 0.22s ease, box-shadow 0.22s ease;
}

.favet-news__card.obj_announcement_summary:hover,
.favet-news__card.obj_announcement_summary:focus-within {
	transform: translateY(-3px);
	box-shadow: var(--favet-shadow-lg);
}

.favet-news__img.obj_announcement_summary_image {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 8;
	object-fit: cover;
}

.favet-news__body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	padding: 20px 22px 22px;
}

.favet-news__card .date.favet-news__date {
	margin-bottom: 8px;
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	color: var(--favet-red);
}

.favet-news__card .date.favet-news__date::before {
	color: var(--favet-red);
	font-size: 0.9rem;
}

.pkp_structure_main .favet-news__card h3.favet-news__title {
	margin: 0 0 8px;
	font-family: var(--favet-display);
	font-size: 1.25rem;
	font-weight: 600;
	line-height: 1.25;
}

.favet-news__card h3.favet-news__title a {
	color: var(--favet-ink);
	text-decoration: none;
}

.favet-news__card h3.favet-news__title a:hover,
.favet-news__card h3.favet-news__title a:focus {
	color: var(--favet-red);
}

.favet-news__card .summary.favet-news__summary {
	margin: 0 0 8px;
	font-size: 0.95rem;
	line-height: 1.6;
	color: var(--favet-ink-2);
}

.favet-news__card .favet-link {
	margin-top: auto;
	align-self: flex-start;
}

@media (min-width: 768px) {
	.favet-news__grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 22px;
	}

	.favet-news__card.favet-news__card--has-image {
		grid-column: span 2;
		flex-direction: row;
	}

	.favet-news__card--has-image .favet-news__img.obj_announcement_summary_image {
		width: 42%;
		height: auto;
		max-height: none;
		aspect-ratio: 4 / 3;
		align-self: stretch;
	}
}

@media (min-width: 992px) {
	.favet-news {
		padding: 64px 0 72px;
	}

	.favet-news__grid {
		grid-template-columns: repeat(3, 1fr);
		gap: 24px;
	}

	.favet-news__card.favet-news__card--has-image {
		grid-column: span 3;
	}

	.favet-news__card--has-image .favet-news__img.obj_announcement_summary_image {
		width: 38%;
	}

	.favet-news__card--has-image .favet-news__body {
		padding: 32px 36px;
		justify-content: center;
	}
}

/* =========================================================================
   9. (e) Sobre la revista
   ========================================================================= */
.favet-about {
	padding: 56px 0;
	background: var(--favet-white);
}

.favet-about__inner {
	display: grid;
	grid-template-columns: 1fr;
	gap: 36px;
	align-items: center;
}

.pkp_structure_main .favet-about__body {
	margin: 18px 0 24px;
	font-size: 1.02rem;
	line-height: 1.7;
	color: var(--favet-ink-2);
}

.pkp_structure_main .favet-about__body p {
	margin: 0 0 14px;
	line-height: 1.7;
}

.pkp_structure_main .favet-about__body p:last-child {
	margin-bottom: 0;
}

.favet-about__media {
	position: relative;
	display: flex;
	justify-content: center;
	padding: 24px 24px 40px;
}

.favet-about__media::before {
	content: "";
	position: absolute;
	inset: 0 10% 10% 0;
	border-radius: 28px;
	background: var(--favet-red-soft);
	z-index: 0;
}

.favet-about__media img {
	position: relative;
	z-index: 1;
	display: block;
	width: 100%;
	max-width: 440px;
	height: auto;
	border-radius: 20px;
	box-shadow: var(--favet-shadow-lg);
	transform: rotate(1.5deg);
}

.favet-about__logo {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: 440px;
	min-height: 240px;
	padding: 32px;
	background: var(--favet-white);
	border: 1px solid var(--favet-line);
	border-radius: 20px;
	box-shadow: var(--favet-shadow-lg);
	box-sizing: border-box;
	transform: rotate(1.5deg);
}

.favet-about__logo img {
	max-height: 120px;
	box-shadow: none;
	transform: none;
	border-radius: 0;
}

.favet-about__stamp {
	position: absolute;
	right: 4px;
	bottom: 0;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 132px;
	height: 132px;
	border-radius: 50%;
	background: var(--favet-red);
	color: var(--favet-white);
	font-family: var(--favet-display);
	font-style: italic;
	font-size: 0.86rem;
	line-height: 1.25;
	text-align: center;
	box-shadow: 0 14px 30px -10px rgba(142, 31, 35, 0.7), inset 0 0 0 4px var(--favet-white), inset 0 0 0 5px rgba(255, 255, 255, 0.35);
	transform: rotate(-8deg);
	padding: 12px;
	box-sizing: border-box;
}

@media (min-width: 992px) {
	.favet-about {
		padding: 80px 0;
	}

	.favet-about__inner {
		grid-template-columns: 1.1fr 0.9fr;
		gap: 64px;
	}

	/* Sin imagen propia (el hero ya usó la única disponible): una sola columna legible */
	.favet-about__inner--single {
		grid-template-columns: minmax(0, 760px);
		justify-content: center;
	}

	.favet-about__media {
		padding: 32px 32px 48px;
	}

	.favet-about__stamp {
		width: 150px;
		height: 150px;
		font-size: 0.95rem;
		right: 8px;
	}
}

/* =========================================================================
   10. (f) Llamada final
   ========================================================================= */
.favet-cta {
	position: relative;
	padding: 56px 0;
	color: var(--favet-white);
	background:
		radial-gradient(700px 360px at 90% 0%, rgba(179, 40, 45, 0.55), transparent 65%),
		radial-gradient(500px 300px at 0% 100%, rgba(179, 40, 45, 0.25), transparent 60%),
		var(--favet-ink);
	overflow: hidden;
}

.favet-cta::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: radial-gradient(rgba(255, 255, 255, 0.08) 1px, transparent 1.6px);
	background-size: 22px 22px;
	-webkit-mask-image: linear-gradient(90deg, transparent, rgba(0, 0, 0, 0.9));
	mask-image: linear-gradient(90deg, transparent, rgba(0, 0, 0, 0.9));
	pointer-events: none;
}

.favet-cta__inner {
	position: relative;
	display: grid;
	grid-template-columns: 1fr;
	gap: 28px;
	align-items: center;
}

.pkp_structure_main .favet-cta__title {
	margin: 0 0 12px;
	font-family: var(--favet-display);
	font-size: clamp(2rem, 4vw, 3rem);
	font-weight: 600;
	line-height: 1.05;
	letter-spacing: -0.02em;
	color: var(--favet-white);
}

.pkp_structure_main .favet-cta__lead {
	margin: 0;
	max-width: 36rem;
	font-size: 1.05rem;
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.78);
}

.favet-cta__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

@media (min-width: 992px) {
	.favet-cta {
		padding: 80px 0;
	}

	.favet-cta__inner {
		grid-template-columns: 1.3fr auto;
		gap: 48px;
	}

	.favet-cta__actions {
		flex-direction: column;
		align-items: stretch;
	}
}

/* =========================================================================
   11. Pie de página
   ========================================================================= */
.pkp_structure_footer_wrapper {
	background: var(--favet-footer);
	color: #C9CED4;
}

.favet-footer {
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.favet-footer__inner {
	display: grid;
	grid-template-columns: 1fr;
	gap: 36px;
	width: 100%;
	max-width: var(--favet-container);
	margin: 0 auto;
	padding: 52px var(--favet-gutter) 44px;
	box-sizing: border-box;
}

.favet-footer__logo {
	display: inline-block;
	padding: 10px 14px;
	background: var(--favet-white);
	border-radius: var(--favet-radius-sm);
	line-height: 0;
	text-decoration: none;
}

.favet-footer__logo img {
	display: block;
	max-height: 56px;
	width: auto;
}

.favet-footer__logo-text {
	display: block;
	font-family: var(--favet-display);
	font-weight: 700;
	font-size: 1.2rem;
	line-height: 1.2;
	color: var(--favet-red-dark);
}

.favet-footer__tagline {
	margin: 18px 0 8px;
	max-width: 22rem;
	font-family: var(--favet-display);
	font-size: 1.25rem;
	font-weight: 600;
	line-height: 1.3;
	color: var(--favet-white);
}

.favet-footer__tagline em {
	font-style: italic;
	font-weight: 500;
	color: #F5B7BA;
}

.favet-footer__note {
	margin: 0;
	font-size: 0.9rem;
	line-height: 1.5;
	color: #A9B0B8;
}

.favet-footer__address {
	margin-bottom: 18px;
}

.favet-footer__heading {
	margin: 0 0 14px;
	font-family: var(--favet-body);
	font-size: 0.76rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--favet-white);
}

.favet-footer__links ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.favet-footer__links li + li {
	margin-top: 2px;
}

.pkp_structure_page .favet-footer__links a {
	display: inline-block;
	padding: 10px 0;
	min-height: var(--favet-tap);
	box-sizing: border-box;
	color: #E6E8EB;
	font-size: 0.98rem;
	font-weight: 500;
	text-decoration: none;
}

.pkp_structure_page .favet-footer__links a:hover,
.pkp_structure_page .favet-footer__links a:focus {
	color: var(--favet-white);
	text-decoration: underline;
	text-underline-offset: 4px;
	text-decoration-color: var(--favet-red);
}

.favet-footer__mail {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 12px;
	font-size: 0.98rem;
	color: #E6E8EB;
}

.favet-footer__mail svg {
	flex: 0 0 auto;
	width: 20px;
	height: 20px;
	color: #F5B7BA;
}

.pkp_structure_page .favet-footer__mail a,
.pkp_structure_page .favet-footer__note a {
	display: inline-block;
	padding: 8px 0;
	color: #E6E8EB;
	text-decoration: none;
	overflow-wrap: anywhere;
}

.pkp_structure_page .favet-footer__mail a:hover,
.pkp_structure_page .favet-footer__mail a:focus,
.pkp_structure_page .favet-footer__note a:hover,
.pkp_structure_page .favet-footer__note a:focus {
	color: var(--favet-white);
	text-decoration: underline;
	text-underline-offset: 4px;
	text-decoration-color: var(--favet-red);
}

.favet-footer__social {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.pkp_structure_page .favet-footer__social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--favet-tap);
	height: var(--favet-tap);
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.08);
	color: var(--favet-white);
	transition: background-color 0.18s ease, transform 0.18s ease;
}

.pkp_structure_page .favet-footer__social a:hover,
.pkp_structure_page .favet-footer__social a:focus {
	background: var(--favet-red);
	color: var(--favet-white);
	transform: translateY(-2px);
}

.pkp_structure_page .favet-footer :focus-visible {
	outline-color: var(--favet-white);
}

.favet-footer__social svg {
	width: 21px;
	height: 21px;
}

@media (min-width: 768px) {
	.favet-footer__inner {
		grid-template-columns: 1.4fr 1fr 1fr;
		gap: 40px;
		padding: 60px 24px 52px;
	}
}

/* Pie estándar de OJS (texto del editor + marca) */
.pkp_structure_footer {
	text-align: center;
}

.pkp_footer_content {
	padding: 28px var(--favet-gutter) 8px;
	text-align: center;
	font-size: 0.88rem;
	color: #A9B0B8;
}

.pkp_footer_content p {
	margin: 0 0 8px;
}

.pkp_structure_page .pkp_footer_content a {
	color: #F5B7BA;
}

.pkp_structure_page .pkp_footer_content a:hover,
.pkp_structure_page .pkp_footer_content a:focus {
	color: var(--favet-white);
}

.pkp_brand_footer {
	padding: 16px var(--favet-gutter) 28px;
	text-align: center;
}

.pkp_brand_footer a {
	float: none;
	display: inline-block;
	max-width: 150px;
	padding: 6px 10px;
	background: var(--favet-white);
	border-radius: 8px;
	line-height: 0;
}

.pkp_brand_footer a img {
	display: block;
	max-height: 40px;
	width: auto;
}

/* =========================================================================
   12. Accesibilidad y reducción de movimiento
   ========================================================================= */
@media (prefers-reduced-motion: reduce) {
	.pkp_structure_page *,
	.pkp_structure_page *::before,
	.pkp_structure_page *::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}

	.favet-hero__poster,
	.favet-hero__logo-card,
	.favet-about__media img,
	.favet-about__logo,
	.favet-about__stamp {
		transform: none;
	}
}

/* =========================================================================
   13. FRENTE A: página del artículo, página del número y archivo de números
   -------------------------------------------------------------------------
   Se apoya en los tokens y utilidades ya definidos arriba (--favet-*,
   .favet-eyebrow, .favet-link, .favet-btn, .favet-cards / .favet-card--grid).
   Las plantillas conservan las clases del core (.obj_article_details,
   .main_entry, .entry_details, .item, .label, .value, .obj_issue_toc,
   .obj_issue_summary, .issues_archive...) para que los plugins sigan
   funcionando; aquí se neutralizan los floats/bordes del LESS del tema
   default y se aplica el diseño FAVET con selectores de mayor especificidad.
   ========================================================================= */

/* --- 13.0 Comunes: avisos en las tres vistas ---------------------------- */
/* Las migas de pan de estas páginas usan el diseño global de la sección 15.3
   (chevron, enlace rojo de 44px, actual en gris); no se redefinen aquí.
   El aviso de vista previa / versión antigua sí tiene un tratamiento propio
   (rojo suave) que gana a la notificación genérica de 15.5 por especificidad. */
.pkp_structure_main .favet-article__notice.cmp_notification,
.pkp_structure_main .favet-issue .cmp_notification,
.pkp_structure_main .favet-issue-page .cmp_notification {
	margin: 0 0 24px;
	padding: 16px 18px;
	background: var(--favet-red-soft);
	border: 1px solid var(--favet-red-tint);
	border-left: 4px solid var(--favet-red);
	border-radius: 12px;
	box-shadow: none;
	color: var(--favet-red-deep);
	font-size: 0.98rem;
	font-weight: 500;
	line-height: 1.5;
	box-sizing: border-box;
}

/* =========================================================================
   13.1 Página del artículo (.favet-article)
   ========================================================================= */

/* --- Cabecera del caso -------------------------------------------------- */
.favet-article__head {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 28px;
	padding-bottom: 32px;
	border-bottom: 1px solid var(--favet-line);
}

.favet-article__head-copy {
	min-width: 0;
}

/* Etiqueta de sección (badge rojo) */
.pkp_structure_main .favet-article__badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 16px;
	padding: 7px 14px 7px 11px;
	border-radius: 999px;
	background: var(--favet-red);
	color: var(--favet-white);
	font-size: 0.74rem;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	box-shadow: 0 8px 18px -10px rgba(179, 40, 45, 0.8);
}

.favet-article__badge-dot {
	flex: 0 0 auto;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--favet-white);
	opacity: 0.85;
}

.pkp_structure_main .favet-article .favet-article__title {
	margin: 0 0 10px;
	font-family: var(--favet-display);
	font-size: clamp(1.85rem, 3.6vw, 2.75rem);
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: -0.02em;
	color: var(--favet-ink);
	overflow-wrap: anywhere;
}

.pkp_structure_main .favet-article .favet-article__subtitle {
	margin: 0 0 6px;
	font-family: var(--favet-display);
	font-style: italic;
	font-size: 1.2rem;
	font-weight: 500;
	line-height: 1.35;
	color: var(--favet-ink-2);
}

/* Autores: en línea, con afiliación debajo del nombre */
.obj_article_details.favet-article .favet-article__authors {
	margin: 18px 0 0;
	padding: 0;
}

.obj_article_details.favet-article .favet-article__authors ul.authors {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 26px;
	margin: 0;
	padding: 0;
	list-style: none;
	line-height: 1.4;
}

.obj_article_details.favet-article .favet-article__authors ul.authors li {
	margin: 0;
	min-width: 0;
	max-width: 100%;
}

.obj_article_details.favet-article .favet-article__authors .name {
	display: block;
	font-weight: 700;
	font-size: 1rem;
	color: var(--favet-ink);
}

.obj_article_details.favet-article .favet-article__authors .affiliation,
.obj_article_details.favet-article .favet-article__authors .userGroup {
	display: block;
	font-size: 0.86rem;
	line-height: 1.4;
	color: var(--favet-ink-2);
}

.obj_article_details.favet-article .favet-article__authors .orcid {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	margin-top: 2px;
	font-size: 0.82rem;
	line-height: 1.4;
}

.obj_article_details.favet-article .favet-article__authors .orcid a {
	color: var(--favet-ink-2);
	text-decoration: none;
}

.obj_article_details.favet-article .favet-article__authors .orcid a:hover,
.obj_article_details.favet-article .favet-article__authors .orcid a:focus {
	color: var(--favet-red);
	text-decoration: underline;
}

/* Fecha · número · páginas */
.pkp_structure_main .favet-article__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 20px;
	margin: 18px 0 0;
	font-size: 0.9rem;
	font-weight: 600;
	line-height: 1.4;
	color: var(--favet-ink-2);
}

.favet-article__meta-item {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-width: 0;
}

.favet-article__meta-item svg {
	flex: 0 0 auto;
	width: 17px;
	height: 17px;
	color: var(--favet-red);
}

.pkp_structure_page .favet-article__meta-item a {
	color: var(--favet-ink-2);
	text-decoration: underline;
	text-decoration-color: var(--favet-line);
	text-underline-offset: 3px;
}

.pkp_structure_page .favet-article__meta-item a:hover,
.pkp_structure_page .favet-article__meta-item a:focus {
	color: var(--favet-red);
	text-decoration-color: currentColor;
}

/* Botones de lectura ("Leer el PDF", otras galeradas, "Descargar") */
.obj_article_details.favet-article .favet-article__read {
	margin: 26px 0 0;
	padding: 0;
}

.obj_article_details.favet-article .favet-article__galleys {
	display: flex;
	flex-flow: row wrap;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
	line-height: 1;
}

.obj_article_details.favet-article .favet-article__galleys li,
.favet-article__galley {
	margin: 0;
	min-width: 0;
}

/* Galeradas secundarias y "Descargar": botón de contorno, 52px de alto */
.pkp_structure_page .favet-article__galley .obj_galley_link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 52px;
	padding: 0 22px;
	border-radius: 999px;
	font-size: 0.95rem;
	line-height: 1.2;
	box-sizing: border-box;
	transition: background-color 0.18s ease, color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}

.pkp_structure_page .favet-article__galley .obj_galley_link:hover {
	transform: translateY(-2px);
}

/* El ícono FontAwesome del tema default ya no necesita margen: lo da el gap */
.pkp_structure_page .favet-article__galley .obj_galley_link::before,
.pkp_structure_page .favet-issue__galleys-list .obj_galley_link::before {
	margin-right: 0;
}

.pkp_structure_page .favet-article__download {
	min-height: 52px;
	padding: 0 22px;
	font-size: 0.95rem;
}

/* Primera galerada: botón principal rojo con ícono y prefijo "Leer el" */
.pkp_structure_page .favet-article__galley--primary .obj_galley_link {
	padding: 0 26px 0 22px;
	background: var(--favet-red);
	border-color: var(--favet-red);
	color: var(--favet-white);
	font-size: 1rem;
	box-shadow: 0 12px 28px -12px rgba(179, 40, 45, 0.8);
}

.pkp_structure_page .favet-article__galley--primary .obj_galley_link:hover,
.pkp_structure_page .favet-article__galley--primary .obj_galley_link:focus {
	background: var(--favet-red-dark);
	border-color: var(--favet-red-dark);
	color: var(--favet-white);
}

/* Ícono (documento) dibujado con una máscara SVG inline: sin recursos externos */
.pkp_structure_page .favet-article__galley--primary .obj_galley_link::after {
	content: "";
	order: -1;
	flex: 0 0 auto;
	width: 20px;
	height: 20px;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 3v5h5M9 13h6M9 17h6'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 3v5h5M9 13h6M9 17h6'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* "Leer el" + etiqueta de la galerada (p. ej. "PDF") -> "Leer el PDF" */
/* El tema default dibuja un ícono FontAwesome en ::before; aquí el ::before
   pasa a ser texto con la fuente del cuerpo (el ícono lo aporta ::after).
   En las galeradas restringidas se conserva el candado de FontAwesome. */
.pkp_structure_page .favet-article__galley--primary .obj_galley_link.pdf:not(.restricted)::before {
	content: "Leer el";
	margin: 0;
	font-family: var(--favet-body);
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
}

.pkp_structure_page .favet-article__galley--primary .obj_galley_link.file:not(.restricted)::before {
	content: "Ver";
	margin: 0;
	font-family: var(--favet-body);
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
}

.pkp_structure_page .favet-article__galley--primary .obj_galley_link.restricted::after {
	display: none;
}

/* Galerada restringida (suscripción): botón gris de contorno */
.pkp_structure_page .favet-article__galley--primary .obj_galley_link.restricted {
	background: var(--favet-white);
	border-color: var(--favet-ink-2);
	color: var(--favet-ink-2);
	box-shadow: none;
}

.pkp_structure_page .favet-article__galley .obj_galley_link .purchase_cost {
	font-size: 0.82rem;
	font-weight: 600;
	opacity: 0.85;
}

@media (max-width: 479px) {
	.obj_article_details.favet-article .favet-article__galleys li {
		flex: 1 1 100%;
	}

	.pkp_structure_page .favet-article__galley .obj_galley_link,
	.pkp_structure_page .favet-article__download {
		width: 100%;
	}
}

/* Portada del caso: encima en móvil, a la derecha en escritorio */
.obj_article_details.favet-article .favet-article__cover {
	order: -1;
	width: 100%;
	max-width: 300px;
	margin: 0 auto;
	padding: 0;
}

.obj_article_details.favet-article .favet-article__cover .sub_item {
	margin: 0;
	padding: 8px;
	background: var(--favet-white);
	border-radius: var(--favet-radius);
	box-shadow: var(--favet-shadow-lg), 0 0 0 1px rgba(35, 39, 43, 0.06);
	transform: rotate(1.5deg);
	transition: transform 0.25s ease;
}

.obj_article_details.favet-article .favet-article__cover .sub_item:hover {
	transform: rotate(0deg) translateY(-3px);
}

.obj_article_details.favet-article .favet-article__cover a {
	display: block;
	line-height: 0;
}

.obj_article_details.favet-article .favet-article__cover img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: var(--favet-radius-sm);
}

@media (min-width: 768px) {
	.favet-article__head {
		gap: 36px;
		padding-bottom: 40px;
	}

	.favet-article__head--has-cover {
		grid-template-columns: minmax(0, 1fr) 220px;
		align-items: start;
	}

	.obj_article_details.favet-article .favet-article__cover {
		order: 0;
		max-width: none;
		margin: 6px 0 0;
	}
}

@media (min-width: 1200px) {
	.favet-article__head--has-cover {
		grid-template-columns: minmax(0, 1fr) 280px;
		gap: 48px;
	}
}

/* --- Cuerpo en dos columnas -------------------------------------------- */
.obj_article_details.favet-article .row {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 28px;
	margin: 28px 0 0;
	border: 0;
}

/* El clearfix del tema default (.row::before/::after con display: table)
   se convertiría en una celda fantasma de la cuadrícula: se anula. */
.obj_article_details.favet-article .row::before,
.obj_article_details.favet-article .row::after {
	display: none;
	content: none;
}

.obj_article_details.favet-article .main_entry,
.obj_article_details.favet-article .entry_details {
	float: none;
	width: auto;
	min-width: 0;
	margin: 0;
	border: 0;
}

@media (min-width: 992px) {
	.obj_article_details.favet-article .row {
		grid-template-columns: minmax(0, 1fr) 260px;
		gap: 32px;
		align-items: start;
	}
}

@media (min-width: 1200px) {
	.obj_article_details.favet-article .row {
		grid-template-columns: minmax(0, 1fr) 300px;
		gap: 40px;
	}
}

/* Columna principal: bloques sin bordes, etiquetas tipo "eyebrow" rojas */
.obj_article_details.favet-article .main_entry .item {
	margin: 0 0 28px;
	padding: 0;
}

.obj_article_details.favet-article .main_entry .item:last-child {
	margin-bottom: 0;
}

.obj_article_details.favet-article .main_entry .item .label,
.obj_article_details.favet-article .main_entry .item.keywords .label {
	display: block;
	margin: 0 0 12px;
	font-family: var(--favet-body);
	font-size: 0.78rem;
	font-weight: 800;
	line-height: 1.3;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--favet-red);
}

/* Sub-ítems (biografías de autores): nombre en Fraunces */
.obj_article_details.favet-article .main_entry .sub_item .label {
	margin: 0 0 4px;
	font-family: var(--favet-display);
	font-size: 1.05rem;
	font-weight: 600;
	letter-spacing: 0;
	text-transform: none;
	color: var(--favet-ink);
}

.obj_article_details.favet-article .main_entry .sub_item {
	margin: 0 0 18px;
}

.obj_article_details.favet-article .main_entry .sub_item:last-child {
	margin-bottom: 0;
}

/* Texto corrido (resumen, biografías, referencias, disponibilidad de datos) */
.pkp_structure_main .favet-article__prose {
	font-size: 1.02rem;
	line-height: 1.7;
	color: var(--favet-ink);
}

.pkp_structure_main .favet-article__prose p {
	margin: 0 0 14px;
	line-height: 1.7;
}

.pkp_structure_main .favet-article__prose p:last-child {
	margin-bottom: 0;
}

.pkp_structure_main .favet-article__prose ul,
.pkp_structure_main .favet-article__prose ol {
	margin: 0 0 14px;
	padding-left: 1.4em;
	line-height: 1.7;
}

/* Resumen en tarjeta */
.obj_article_details.favet-article .main_entry .favet-article__abstract {
	padding: 24px 24px 26px;
	background: var(--favet-white);
	border: 1px solid var(--favet-line);
	border-left: 4px solid var(--favet-red);
	border-radius: var(--favet-radius);
	box-shadow: var(--favet-shadow);
}

/* Palabras clave como chips */
.pkp_structure_main .favet-article__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
	line-height: 1.3;
}

.favet-article__chip {
	display: inline-flex;
	align-items: center;
	margin: 0;
	padding: 8px 14px;
	border-radius: 999px;
	background: var(--favet-red-soft);
	color: var(--favet-red-dark);
	font-size: 0.86rem;
	font-weight: 700;
	line-height: 1.3;
	overflow-wrap: anywhere;
}

/* DOI: etiqueta y valor en una línea */
.obj_article_details.favet-article .main_entry .favet-article__doi {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 6px 10px;
	font-size: 0.92rem;
}

.obj_article_details.favet-article .main_entry .favet-article__doi .favet-article__doi-label {
	display: inline;
	margin: 0;
}

.obj_article_details.favet-article .main_entry .favet-article__doi .value a {
	color: var(--favet-ink-2);
	font-weight: 600;
	overflow-wrap: anywhere;
}

/* Referencias con sangría francesa */
.pkp_structure_main .favet-article__references .favet-article__prose p {
	padding-left: 1.4em;
	text-indent: -1.4em;
	font-size: 0.92rem;
	line-height: 1.6;
	color: var(--favet-ink-2);
	overflow-wrap: anywhere;
}

/* Gráfico de estadísticas */
.obj_article_details.favet-article .downloads_chart .value {
	padding: 16px;
	background: var(--favet-bg);
	border-radius: var(--favet-radius-sm);
}

/* --- Columna lateral: fichas de metadatos ------------------------------- */
.obj_article_details.favet-article .entry_details .item,
.obj_article_details.favet-article .entry_details .favet-article__card {
	margin: 0 0 14px;
	padding: 18px 20px;
	background: var(--favet-white);
	border: 1px solid var(--favet-line);
	border-bottom: 1px solid var(--favet-line);
	border-radius: 14px;
	word-wrap: break-word;
	overflow-wrap: anywhere;
}

.obj_article_details.favet-article .entry_details .item:last-child {
	margin-bottom: 0;
	border-bottom: 1px solid var(--favet-line);
}

.obj_article_details.favet-article .entry_details .item .label,
.obj_article_details.favet-article .entry_details .favet-article__card-label {
	margin: 0 0 6px;
	font-family: var(--favet-body);
	font-size: 0.72rem;
	font-weight: 800;
	line-height: 1.3;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--favet-ink-2);
}

.obj_article_details.favet-article .entry_details .value,
.obj_article_details.favet-article .entry_details .favet-article__card-value {
	font-size: 0.96rem;
	font-weight: 600;
	line-height: 1.5;
	color: var(--favet-ink);
}

.obj_article_details.favet-article .entry_details .sub_item {
	margin: 0 0 14px;
}

.obj_article_details.favet-article .entry_details .sub_item:last-child {
	margin-bottom: 0;
}

.obj_article_details.favet-article .entry_details .value a,
.obj_article_details.favet-article .entry_details .favet-article__card-value a {
	color: var(--favet-red);
	text-decoration: none;
}

.obj_article_details.favet-article .entry_details .value a:hover,
.obj_article_details.favet-article .entry_details .value a:focus,
.obj_article_details.favet-article .entry_details .favet-article__card-value a:hover,
.obj_article_details.favet-article .entry_details .favet-article__card-value a:focus {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.obj_article_details.favet-article .entry_details .versions ul,
.obj_article_details.favet-article .entry_details .categories {
	margin: 0;
	padding: 0;
	list-style: none;
	line-height: 1.5;
}

/* Archivos suplementarios */
.obj_article_details.favet-article .entry_details .favet-article__supp {
	margin: 0;
	padding: 0;
	list-style: none;
	line-height: 1.4;
}

.obj_article_details.favet-article .entry_details .favet-article__supp li + li {
	margin-top: 6px;
}

.pkp_structure_page .favet-article__supp .obj_galley_link_supplementary {
	display: inline-block;
	padding: 8px 0;
	min-height: var(--favet-tap);
	box-sizing: border-box;
	font-weight: 600;
	color: var(--favet-red);
}

/* Licencia */
.obj_article_details.favet-article .entry_details .favet-article__license .favet-article__card-value {
	font-size: 0.86rem;
	font-weight: 500;
	line-height: 1.5;
	color: var(--favet-ink-2);
}

.obj_article_details.favet-article .entry_details .favet-article__license img {
	display: block;
	margin: 0 0 8px;
}

.obj_article_details.favet-article .entry_details .favet-article__license p {
	margin: 0 0 8px;
	line-height: 1.5;
}

.obj_article_details.favet-article .entry_details .favet-article__license p:last-child {
	margin-bottom: 0;
}

/* Compartir */
.obj_article_details.favet-article .entry_details .favet-article__share {
	background: var(--favet-bg);
}

.pkp_structure_page .favet-share__whatsapp,
.obj_article_details.favet-article .entry_details .favet-article__share .favet-share__whatsapp {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 48px;
	padding: 0 18px;
	border-radius: 999px;
	background: #128C7E; /* verde WhatsApp oscuro: blanco encima cumple AA */
	color: var(--favet-white);
	font-size: 0.95rem;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	box-sizing: border-box;
	transition: background-color 0.18s ease, transform 0.18s ease;
}

.pkp_structure_page .favet-share__whatsapp:hover,
.pkp_structure_page .favet-share__whatsapp:focus,
.obj_article_details.favet-article .entry_details .favet-article__share .favet-share__whatsapp:hover,
.obj_article_details.favet-article .entry_details .favet-article__share .favet-share__whatsapp:focus {
	background: #0B6B60;
	color: var(--favet-white);
	transform: translateY(-2px);
}

.favet-share__whatsapp svg {
	flex: 0 0 auto;
	width: 22px;
	height: 22px;
}

.favet-share__label {
	display: block;
	margin: 16px 0 6px;
	font-size: 0.76rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	color: var(--favet-ink-2);
}

.favet-share__row {
	display: flex;
	gap: 8px;
	min-width: 0;
}

.pkp_structure_main .favet-share__input {
	flex: 1 1 auto;
	width: 100%;
	min-width: 0;
	height: var(--favet-tap);
	margin: 0;
	padding: 0 12px;
	border: 1px solid var(--favet-line);
	border-radius: 10px;
	background: var(--favet-white);
	font-family: var(--favet-body);
	font-size: 0.84rem;
	font-weight: 500;
	color: var(--favet-ink-2);
	box-sizing: border-box;
	text-overflow: ellipsis;
}

.pkp_structure_page .favet-share__copy {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	min-height: var(--favet-tap);
	margin: 0;
	padding: 0 14px;
	border: 1.5px solid var(--favet-red);
	border-radius: 10px;
	background: var(--favet-white);
	color: var(--favet-red);
	font-family: var(--favet-body);
	font-size: 0.86rem;
	font-weight: 700;
	line-height: 1;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
	transition: background-color 0.18s ease, color 0.18s ease, border-color 0.18s ease;
}

.pkp_structure_page .favet-share__copy:hover,
.pkp_structure_page .favet-share__copy:focus {
	background: var(--favet-red);
	color: var(--favet-white);
}

.pkp_structure_page .favet-share__copy.is-copied {
	background: var(--favet-ink);
	border-color: var(--favet-ink);
	color: var(--favet-white);
}

.favet-share__copy svg {
	width: 18px;
	height: 18px;
}

/* --- "Más casos de este número" ---------------------------------------- */
.favet-article__more {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 20px;
	align-items: center;
	margin: 40px 0 0;
	padding: 28px 24px;
	border-radius: var(--favet-radius);
	color: var(--favet-white);
	background:
		radial-gradient(520px 260px at 100% 0%, rgba(255, 255, 255, 0.16), transparent 60%),
		linear-gradient(128deg, var(--favet-red-deep) 0%, var(--favet-red-dark) 35%, var(--favet-red) 100%);
	overflow: hidden;
	isolation: isolate;
}

.favet-article__more::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background-image: radial-gradient(rgba(255, 255, 255, 0.16) 1px, transparent 1.6px);
	background-size: 20px 20px;
	-webkit-mask-image: linear-gradient(90deg, transparent 30%, rgba(0, 0, 0, 0.9));
	mask-image: linear-gradient(90deg, transparent 30%, rgba(0, 0, 0, 0.9));
	pointer-events: none;
}

.favet-article__more :focus-visible {
	outline-color: var(--favet-white);
}

/* Botón fantasma sobre rojo: gana a ".pkp_structure_page a" (texto rojo) */
.pkp_structure_page .favet-article__more a.favet-btn--ghost {
	color: var(--favet-white);
	border: 2px solid rgba(255, 255, 255, 0.8);
	background: transparent;
}

.pkp_structure_page .favet-article__more a.favet-btn--ghost:hover,
.pkp_structure_page .favet-article__more a.favet-btn--ghost:focus {
	color: var(--favet-white);
	border-color: var(--favet-white);
	background: rgba(255, 255, 255, 0.14);
}

.favet-article__more-cover {
	display: block;
	width: 96px;
	padding: 5px;
	background: var(--favet-white);
	border-radius: 12px;
	box-shadow: 0 16px 30px -12px rgba(0, 0, 0, 0.6);
	transform: rotate(-3deg);
	line-height: 0;
}

.favet-article__more-cover img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 8px;
}

.favet-article__more-copy {
	min-width: 0;
}

.pkp_structure_main .favet-article__more-title {
	margin: 0;
	font-family: var(--favet-display);
	font-size: clamp(1.5rem, 2.6vw, 1.9rem);
	font-weight: 600;
	line-height: 1.15;
	letter-spacing: -0.01em;
	color: var(--favet-white);
}

.pkp_structure_main .favet-article__more-sub {
	margin: 6px 0 0;
	font-size: 0.95rem;
	font-weight: 500;
	line-height: 1.4;
	color: rgba(255, 255, 255, 0.82);
}

.favet-article__more-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

@media (max-width: 479px) {
	.favet-article__more-actions .favet-btn {
		flex: 1 1 100%;
	}
}

@media (min-width: 768px) {
	.favet-article__more {
		grid-template-columns: auto minmax(0, 1fr) auto;
		gap: 28px;
		padding: 32px 36px;
	}

	.favet-article__more-actions {
		flex-direction: column;
		align-items: stretch;
	}
}

/* =========================================================================
   13.2 Página del número (.favet-issue)
   ========================================================================= */
.obj_issue_toc.favet-issue .heading::before,
.obj_issue_toc.favet-issue .heading::after {
	display: none;
	content: none;
}

.favet-issue__head {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 28px;
	margin: 0 0 36px;
	padding-bottom: 32px;
	border-bottom: 1px solid var(--favet-line);
}

.favet-issue__head-copy {
	min-width: 0;
}

.pkp_structure_main .favet-issue__eyebrow {
	margin-bottom: 10px;
}

.pkp_structure_main .favet-issue__title {
	margin: 0 0 14px;
	font-family: var(--favet-display);
	font-size: clamp(2rem, 4vw, 3rem);
	font-weight: 700;
	line-height: 1.05;
	letter-spacing: -0.02em;
	color: var(--favet-ink);
	overflow-wrap: anywhere;
}

.pkp_structure_main .favet-issue__description {
	max-width: 62ch;
	font-size: 1.05rem;
	line-height: 1.65;
	color: var(--favet-ink-2);
}

.pkp_structure_main .favet-issue__description p {
	margin: 0 0 12px;
	line-height: 1.65;
}

.pkp_structure_main .favet-issue__description p:last-child {
	margin-bottom: 0;
}

/* Fichas: publicado, cantidad de casos, DOI, pubIds */
.pkp_structure_main .favet-issue__facts {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 22px 0 0;
	padding: 0;
}

.obj_issue_toc.favet-issue .favet-issue__fact {
	flex: 0 1 auto;
	min-width: 0;
	max-width: 100%;
	margin: 0;
	padding: 10px 16px;
	background: var(--favet-bg);
	border: 1px solid var(--favet-line);
	border-radius: 12px;
	box-sizing: border-box;
}

.obj_issue_toc.favet-issue .favet-issue__fact-label {
	margin: 0 0 2px;
	font-size: 0.7rem;
	font-weight: 800;
	line-height: 1.3;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--favet-ink-2);
}

.obj_issue_toc.favet-issue .favet-issue__fact-value {
	margin: 0;
	font-size: 0.95rem;
	font-weight: 600;
	line-height: 1.4;
	color: var(--favet-ink);
	overflow-wrap: anywhere;
}

.obj_issue_toc.favet-issue .favet-issue__fact-value a {
	color: var(--favet-red);
	text-decoration: none;
}

.obj_issue_toc.favet-issue .favet-issue__fact-value a:hover,
.obj_issue_toc.favet-issue .favet-issue__fact-value a:focus {
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Número completo (galeradas del número) */
.obj_issue_toc.favet-issue .favet-issue__galleys {
	position: static;
	margin: 24px 0 0;
	padding: 0;
}

.obj_issue_toc.favet-issue .favet-issue__galleys::before {
	display: none;
}

.pkp_structure_main .favet-issue .favet-issue__galleys-label {
	display: block;
	position: static;
	left: auto;
	margin: 0 0 10px;
	padding: 0;
	background: transparent;
	font-family: var(--favet-body);
	font-size: 0.78rem;
	font-weight: 800;
	line-height: 1.3;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--favet-red);
}

.obj_issue_toc.favet-issue .favet-issue__galleys-list {
	display: flex;
	flex-flow: row wrap;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
	line-height: 1;
}

.obj_issue_toc.favet-issue .favet-issue__galleys-list li {
	margin: 0;
}

.pkp_structure_page .favet-issue__galleys-list .obj_galley_link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 48px;
	padding: 0 20px;
	background: var(--favet-red);
	border-color: var(--favet-red);
	color: var(--favet-white);
	font-size: 0.92rem;
	line-height: 1.2;
	box-sizing: border-box;
}

.pkp_structure_page .favet-issue__galleys-list .obj_galley_link:hover,
.pkp_structure_page .favet-issue__galleys-list .obj_galley_link:focus {
	background: var(--favet-red-dark);
	border-color: var(--favet-red-dark);
	color: var(--favet-white);
}

.pkp_structure_page .favet-issue__galleys-list .obj_galley_link.restricted {
	background: var(--favet-white);
	border-color: var(--favet-ink-2);
	color: var(--favet-ink-2);
}

/* Portada del número: encima en móvil, a la derecha en escritorio */
.obj_issue_toc.favet-issue .favet-issue__cover {
	order: -1;
	float: none;
	width: 100%;
	max-width: 260px;
	height: auto;
	max-height: none;
	margin: 0 auto;
	padding: 8px;
	background: var(--favet-white);
	border-radius: var(--favet-radius);
	box-shadow: var(--favet-shadow-lg), 0 0 0 1px rgba(35, 39, 43, 0.06);
	box-sizing: border-box;
	transform: rotate(-1.5deg);
}

.obj_issue_toc.favet-issue .favet-issue__cover img {
	display: block;
	width: 100%;
	height: auto;
	max-height: none;
	border-radius: var(--favet-radius-sm);
}

@media (min-width: 768px) {
	.favet-issue__head {
		gap: 36px;
		padding-bottom: 40px;
	}

	.favet-issue__head--has-cover {
		grid-template-columns: minmax(0, 1fr) 220px;
		align-items: start;
	}

	.obj_issue_toc.favet-issue .favet-issue__cover {
		order: 0;
		max-width: none;
		margin: 6px 0 0;
	}
}

@media (min-width: 1200px) {
	.favet-issue__head--has-cover {
		grid-template-columns: minmax(0, 1fr) 260px;
		gap: 48px;
	}
}

/* Secciones con la cuadrícula de tarjetas de la portada */
.obj_issue_toc.favet-issue .favet-issue__sections {
	margin-top: 0;
}

.obj_issue_toc.favet-issue .favet-issue__section {
	position: static;
	margin: 0;
	padding: 0;
}

.obj_issue_toc.favet-issue .favet-issue__section::before {
	display: none;
}

.obj_issue_toc.favet-issue .favet-issue__section + .favet-issue__section {
	margin-top: 40px;
}

.favet-issue__section-head {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 18px;
	padding-bottom: 10px;
	border-bottom: 1px solid var(--favet-line);
}

.pkp_structure_main .favet-issue .favet-issue__section-title {
	display: block;
	position: static;
	left: auto;
	margin: 0;
	padding: 0;
	background: transparent;
	font-family: var(--favet-body);
	font-size: 0.82rem;
	font-weight: 800;
	line-height: 1.3;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--favet-ink-2);
}

.favet-issue__section-count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 26px;
	height: 26px;
	padding: 0 8px;
	border-radius: 999px;
	background: var(--favet-red-soft);
	color: var(--favet-red-dark);
	font-size: 0.74rem;
	font-weight: 800;
	line-height: 1;
	box-sizing: border-box;
}

.pkp_structure_main .favet-issue .favet-issue__cards {
	margin: 0;
}

/* La columna principal comparte ancho con la barra lateral: 2 columnas de
   tarjetas; 3 solo cuando no hay barra lateral y la pantalla es grande. */
@media (min-width: 992px) {
	.pkp_structure_main .favet-issue .favet-cards {
		grid-template-columns: repeat(2, 1fr);
		gap: 22px;
	}
}

@media (min-width: 1200px) {
	.pkp_structure_main:first-child:last-child .favet-issue .favet-cards {
		grid-template-columns: repeat(3, 1fr);
		gap: 24px;
	}
}

.favet-issue__foot {
	margin-top: 36px;
	padding-top: 16px;
	border-top: 1px solid var(--favet-line);
}

/* =========================================================================
   13.3 Archivo de números (.favet-archive)
   ========================================================================= */
.favet-archive__head {
	margin: 0 0 28px;
}

.pkp_structure_main .favet-archive__page-title {
	margin: 0 0 10px;
	font-family: var(--favet-display);
	font-size: clamp(2rem, 4vw, 2.8rem);
	font-weight: 700;
	line-height: 1.05;
	letter-spacing: -0.02em;
	color: var(--favet-ink);
}

.pkp_structure_main .favet-archive__lead {
	max-width: 60ch;
	margin: 0;
	font-size: 1.02rem;
	line-height: 1.6;
	color: var(--favet-ink-2);
}

.pkp_structure_main .favet-archive__empty {
	padding: 20px 22px;
	background: var(--favet-bg);
	border: 1px solid var(--favet-line);
	border-radius: 14px;
	color: var(--favet-ink-2);
}

/* Cuadrícula (sustituye la lista con bordes del tema default) */
.page_issue_archive.favet-archive .issues_archive {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 20px;
	margin: 0;
	padding: 0;
	border: 0;
	list-style: none;
	line-height: inherit;
}

.page_issue_archive.favet-archive .issues_archive > li {
	margin: 0;
	padding: 0;
	border: 0;
	min-width: 0;
}

@media (min-width: 768px) {
	.page_issue_archive.favet-archive .issues_archive {
		grid-template-columns: repeat(2, 1fr);
		gap: 22px;
	}
}

@media (min-width: 1200px) {
	.pkp_structure_main:first-child:last-child .favet-archive .issues_archive {
		grid-template-columns: repeat(3, 1fr);
		gap: 24px;
	}
}

/* Tarjeta de número */
.obj_issue_summary.favet-archive__card {
	display: flex;
	flex-direction: column;
	height: 100%;
	background: var(--favet-white);
	border: 1px solid var(--favet-line);
	border-radius: var(--favet-radius);
	overflow: hidden;
	box-sizing: border-box;
	transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}

.obj_issue_summary.favet-archive__card::before,
.obj_issue_summary.favet-archive__card::after {
	display: none;
	content: none;
}

.obj_issue_summary.favet-archive__card:hover,
.obj_issue_summary.favet-archive__card:focus-within {
	transform: translateY(-4px);
	border-color: var(--favet-red-tint);
	box-shadow: var(--favet-shadow-lg);
}

/* Portada: se muestra completa (sin recortar) sobre fondo suave */
.obj_issue_summary.favet-archive__card .cover {
	display: block;
	float: none;
	width: 100%;
	margin: 0;
	aspect-ratio: 16 / 10;
	background: var(--favet-red-soft);
	overflow: hidden;
}

.obj_issue_summary.favet-archive__card .cover img {
	display: block;
	width: 100%;
	height: 100%;
	max-height: none;
	padding: 14px;
	object-fit: contain;
	box-sizing: border-box;
	transition: transform 0.4s ease;
}

.obj_issue_summary.favet-archive__card:hover .cover img {
	transform: scale(1.03);
}

.favet-archive__placeholder {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 6px;
	width: 100%;
	height: 100%;
	color: var(--favet-white);
	background:
		radial-gradient(360px 200px at 100% 0%, rgba(255, 255, 255, 0.18), transparent 60%),
		linear-gradient(135deg, var(--favet-red-dark) 0%, var(--favet-red) 60%, #C63A3F 100%);
}

.favet-archive__placeholder::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: radial-gradient(rgba(255, 255, 255, 0.18) 1px, transparent 1.6px);
	background-size: 18px 18px;
	-webkit-mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.8), transparent);
	mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.8), transparent);
}

.favet-archive__placeholder-icon {
	position: relative;
	width: 44px;
	height: 44px;
	opacity: 0.9;
}

.favet-archive__placeholder-num {
	position: relative;
	font-family: var(--favet-display);
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: -0.01em;
	text-align: center;
	padding: 0 12px;
}

.favet-archive__placeholder-year {
	position: relative;
	padding: 4px 12px;
	border-radius: 999px;
	background: rgba(0, 0, 0, 0.22);
	font-size: 0.74rem;
	font-weight: 700;
	letter-spacing: 0.1em;
}

.favet-archive__body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	padding: 20px 22px 22px;
	min-width: 0;
}

.pkp_structure_main .obj_issue_summary.favet-archive__card .favet-archive__series {
	margin: 0 0 6px;
	font-size: 0.76rem;
	font-weight: 800;
	line-height: 1.3;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--favet-red);
}

.pkp_structure_main .obj_issue_summary.favet-archive__card .favet-archive__title {
	margin: 0 0 8px;
	font-family: var(--favet-display);
	font-size: 1.35rem;
	font-weight: 600;
	line-height: 1.25;
	letter-spacing: -0.01em;
}

.obj_issue_summary.favet-archive__card .title {
	font-family: var(--favet-display);
	font-weight: 600;
	color: var(--favet-ink);
	text-decoration: none;
}

.obj_issue_summary.favet-archive__card .title:hover,
.obj_issue_summary.favet-archive__card .title:focus {
	color: var(--favet-red);
}

.obj_issue_summary.favet-archive__card .favet-archive__description {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
	margin: 0 0 16px;
	font-size: 0.95rem;
	line-height: 1.6;
	color: var(--favet-ink-2);
	overflow: hidden;
}

.obj_issue_summary.favet-archive__card .favet-archive__description p {
	margin: 0 0 8px;
	line-height: 1.6;
}

.obj_issue_summary.favet-archive__card .favet-archive__description p:last-child {
	margin-bottom: 0;
}

.favet-archive__foot {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px 16px;
	margin-top: auto;
	padding-top: 14px;
	border-top: 1px solid var(--favet-line);
}

.favet-archive__date {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 0.84rem;
	font-weight: 600;
	color: var(--favet-ink-2);
}

.favet-archive__date svg {
	width: 16px;
	height: 16px;
	color: var(--favet-red);
}

.pkp_structure_page .favet-archive__btn {
	min-height: var(--favet-tap);
	padding: 0 18px;
	font-size: 0.9rem;
}

/* Paginación del archivo */
.favet-archive .cmp_pagination {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 8px 16px;
	margin-top: 28px;
	padding-top: 18px;
	border-top: 1px solid var(--favet-line);
	font-size: 0.9rem;
	font-weight: 600;
	color: var(--favet-ink-2);
	text-align: left;
}

.favet-archive .cmp_pagination .prev,
.favet-archive .cmp_pagination .next {
	display: inline-flex;
	align-items: center;
	float: none;
	min-height: var(--favet-tap);
	margin: 0;
	padding: 0 4px;
	box-sizing: border-box;
	color: var(--favet-red);
}

.favet-archive .cmp_pagination .next {
	margin-left: auto;
}

/* --- Reducción de movimiento (frente A) -------------------------------- */
@media (prefers-reduced-motion: reduce) {
	.obj_article_details.favet-article .favet-article__cover .sub_item,
	.obj_issue_toc.favet-issue .favet-issue__cover,
	.favet-article__more-cover {
		transform: none;
	}
}

/* =========================================================================
   14. FRENTE B: formularios, avisos y búsqueda
   -------------------------------------------------------------------------
   Páginas: registro (.page_register), ingreso (.page_login), recuperar
   contraseña (.page_lost_password), registro completo
   (.page_register_complete), avisos (.favet-ann*), búsqueda (.page_search).
   Todo va con namespace de página: no toca la cabecera, el pie ni la
   estructura de columnas (eso es de otros frentes). Reutiliza los tokens y
   los botones .favet-btn definidos arriba.
   ========================================================================= */

/* --- 14.0 Título de página compartido ------------------------------------ */
/* El <h1> de registro, ingreso, recuperar contraseña, registro completo y
   búsqueda es hijo directo de .page, así que lo estiliza la regla global de
   títulos de la sección 15.3 (Fraunces + barra roja debajo). El título de la
   página de avisos (.favet-ann__title, dentro de <header>) está incluido en
   esa misma regla para que todos los títulos interiores sean iguales. */

/* Nota "Los campos obligatorios..." y textos introductorios bajo el título */
.pkp_structure_main .page_register > p,
.pkp_structure_main .page_login > p,
.pkp_structure_main .page_lost_password > p,
.pkp_structure_main .page_register_complete > p,
.page_register .required_label {
	margin: 0 0 22px;
	max-width: 60ch;
	font-size: 0.93rem;
	line-height: 1.55;
	color: var(--favet-ink-2);
}

.page_register > p .required,
.page_login > p .required,
.page_lost_password > p .required {
	color: var(--favet-red);
	font-weight: 700;
	text-decoration: none;
	border: 0;
}

/* --- 14.1 Tarjeta de formulario ------------------------------------------ */
.page_register,
.page_login,
.page_lost_password,
.page_register_complete {
	max-width: 820px;
}

.page_register .cmp_form,
.page_login .cmp_form,
.page_lost_password .cmp_form {
	position: relative;
	margin: 0 0 32px;
	padding: 30px 18px 22px;
	background: var(--favet-white);
	border: 1px solid var(--favet-line);
	border-radius: var(--favet-radius);
	box-shadow: var(--favet-shadow);
	box-sizing: border-box;
	overflow: hidden;
}

/* Filete rojo arriba de la tarjeta (eco de la línea roja de la cabecera) */
.page_register .cmp_form::before,
.page_login .cmp_form::before,
.page_lost_password .cmp_form::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 5px;
	background: linear-gradient(90deg, var(--favet-red-dark) 0%, var(--favet-red) 55%, #C4363B 100%);
}

/* El default limita el formulario de ingreso a 17em: lo soltamos */
.page_login .login,
.page_lost_password .lost_password {
	max-width: 100%;
}

.page_login .cmp_form,
.page_lost_password .cmp_form {
	max-width: 540px;
}

@media (min-width: 768px) {
	.page_register .cmp_form,
	.page_login .cmp_form,
	.page_lost_password .cmp_form {
		padding: 38px 40px 30px;
	}
}

/* --- 14.2 Secciones del formulario (fieldset + legend numerada) ---------- */
.page_register .cmp_form {
	counter-reset: favet-step;
}

.page_register .cmp_form fieldset,
.page_login .cmp_form fieldset,
.page_lost_password .cmp_form fieldset {
	min-width: 0;
	margin: 0 0 6px;
	padding: 0;
	border: 0;
}

.page_register .cmp_form fieldset + fieldset {
	margin-top: 10px;
}

.page_register .cmp_form legend:not(.pkp_screen_reader) {
	display: flex;
	align-items: baseline;
	gap: 12px;
	width: 100%;
	margin: 0 0 18px;
	padding: 0 0 10px;
	border-bottom: 1px solid var(--favet-line);
	font-family: var(--favet-body);
	font-size: 0.8rem;
	font-weight: 800;
	line-height: 1.3;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--favet-ink-2);
	counter-increment: favet-step;
}

/* Número de sección en serifa itálica roja: "01 Perfil", "02 Entrar" */
.page_register .cmp_form legend:not(.pkp_screen_reader)::before {
	content: counter(favet-step, decimal-leading-zero);
	font-family: var(--favet-display);
	font-style: italic;
	font-weight: 500;
	font-size: 1.5rem;
	line-height: 1;
	letter-spacing: 0;
	text-transform: none;
	color: var(--favet-red);
}

/* --- 14.3 Campos --------------------------------------------------------- */
.page_register .cmp_form .fields > div,
.page_login .cmp_form .fields > div,
.page_lost_password .cmp_form .fields > div {
	position: relative;
	padding-bottom: 18px;
}

/* "Intereses de revisión" se despliega por JS del tema default (.is_visible) */
.page_register .cmp_form .fields > .reviewer_interests {
	padding-bottom: 0;
}

.page_register .cmp_form .fields > .reviewer_interests.is_visible {
	padding-bottom: 18px;
}

.page_register .cmp_form .label,
.page_login .cmp_form .label,
.page_lost_password .cmp_form .label {
	display: block;
	margin-bottom: 6px;
	font-size: 0.9rem;
	font-weight: 600;
	line-height: 1.4;
	color: var(--favet-ink);
}

.page_register .cmp_form .label .required,
.page_login .cmp_form .label .required,
.page_lost_password .cmp_form .label .required {
	margin-left: 2px;
	color: var(--favet-red);
	font-weight: 700;
}

.page_register .cmp_form input[type="text"],
.page_register .cmp_form input[type="email"],
.page_register .cmp_form input[type="password"],
.page_register .cmp_form input[type="url"],
.page_register .cmp_form input[type="tel"],
.page_register .cmp_form select,
.page_register .cmp_form textarea,
.page_login .cmp_form input[type="text"],
.page_login .cmp_form input[type="password"],
.page_lost_password .cmp_form input[type="text"],
.page_lost_password .cmp_form input[type="email"] {
	display: block;
	width: 100%;
	max-width: 100%;
	height: 46px;
	margin: 0;
	padding: 0 14px;
	background: var(--favet-white);
	border: 1.5px solid var(--favet-line);
	border-radius: 10px;
	font-family: var(--favet-body);
	font-size: 1rem;
	line-height: normal;
	color: var(--favet-ink);
	box-sizing: border-box;
	-webkit-appearance: none;
	appearance: none;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.page_register .cmp_form textarea {
	height: auto;
	min-height: 120px;
	padding: 10px 14px;
	line-height: 1.5;
}

.page_register .cmp_form select {
	padding-right: 42px;
	background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%234A4F55' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 14px center;
	cursor: pointer;
}

.page_register .cmp_form input:hover,
.page_register .cmp_form select:hover,
.page_login .cmp_form input:hover,
.page_lost_password .cmp_form input:hover {
	border-color: #AEB4BB;
}

/* Foco: borde rojo + anillo suave (reemplaza al outline global del tema) */
.page_register .cmp_form input:focus,
.page_register .cmp_form select:focus,
.page_register .cmp_form textarea:focus,
.page_login .cmp_form input:focus,
.page_lost_password .cmp_form input:focus {
	outline: 2px solid transparent;
	outline-offset: 0;
	border-color: var(--favet-red);
	box-shadow: 0 0 0 4px rgba(179, 40, 45, 0.16);
}

.page_register .cmp_form input::placeholder,
.page_login .cmp_form input::placeholder,
.page_lost_password .cmp_form input::placeholder {
	color: #6F757C;
	opacity: 1;
}

/* Dos columnas en "Perfil" (nombre/apellidos) y en las contraseñas */
@media (min-width: 640px) {
	.page_register .identity .fields,
	.page_register .login .fields {
		display: grid;
		grid-template-columns: 1fr 1fr;
		column-gap: 18px;
	}

	.page_register .identity .fields > .affiliation,
	.page_register .login .fields > .email,
	.page_register .login .fields > .username {
		grid-column: 1 / -1;
	}
}

/* "¿Has olvidado tu contraseña?" debajo del campo */
.page_login .cmp_form .password a {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	margin-top: 2px;
	font-size: 0.88rem;
	font-style: normal;
	font-weight: 600;
	color: var(--favet-red);
	text-decoration: none;
}

.page_login .cmp_form .password a:hover,
.page_login .cmp_form .password a:focus {
	color: var(--favet-red-dark);
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* --- 14.4 Casillas: consentimientos, "mantenerme conectado", revisor ----- */
.page_register .cmp_form .fields > .optin,
.page_login .cmp_form .fields > .remember {
	padding-bottom: 12px;
}

.page_register .cmp_form .optin label,
.page_login .cmp_form .remember label {
	position: relative;
	display: block;
	min-height: var(--favet-tap);
	padding: 12px 14px 12px 46px;
	background: var(--favet-bg);
	border: 1px solid var(--favet-line);
	border-radius: 12px;
	font-size: 0.95rem;
	line-height: 1.5;
	color: var(--favet-ink);
	cursor: pointer;
	box-sizing: border-box;
	transition: border-color 0.15s ease, background-color 0.15s ease;
}

.page_register .cmp_form .optin label:hover,
.page_login .cmp_form .remember label:hover {
	border-color: var(--favet-red-tint);
}

.page_register .cmp_form .optin label:has(input:checked),
.page_login .cmp_form .remember label:has(input:checked) {
	background: var(--favet-red-soft);
	border-color: var(--favet-red-tint);
}

.page_register .cmp_form .optin label:has(input:focus-visible),
.page_login .cmp_form .remember label:has(input:focus-visible) {
	border-color: var(--favet-red);
	box-shadow: 0 0 0 4px rgba(179, 40, 45, 0.16);
}

.page_register .cmp_form .optin label > input[type="checkbox"],
.page_login .cmp_form .remember label > input[type="checkbox"] {
	position: absolute;
	top: 14px;
	left: 14px;
	width: 20px;
	height: 20px;
	margin: 0;
	accent-color: var(--favet-red);
	cursor: pointer;
}

.page_register .cmp_form .optin .label,
.page_login .cmp_form .remember .label {
	display: inline;
	margin: 0;
	font-size: inherit;
	font-style: normal;
	font-weight: 500;
}

.page_register .cmp_form .optin a {
	color: var(--favet-red);
	font-weight: 600;
}

.page_register .consent {
	margin-top: 8px;
}

.page_register .consent .fields + .fields {
	margin-top: 0;
}

/* Registro sin revista concreta (índice del sitio): lista de revistas y roles */
.page_register .context_optin .contexts > li {
	margin-bottom: 14px;
	padding: 14px 16px;
	background: var(--favet-bg);
	border: 1px solid var(--favet-line);
	border-radius: 12px;
}

.page_register .context_optin .contexts .name {
	margin-bottom: 6px;
	font-family: var(--favet-display);
	font-size: 1.1rem;
	font-weight: 600;
}

.page_register .context_optin .roles label {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: var(--favet-tap);
	margin-right: 16px;
	font-size: 0.93rem;
}

.page_register .context_optin .roles label > input[type="checkbox"] {
	width: 20px;
	height: 20px;
	margin: 0;
	accent-color: var(--favet-red);
}

/* --- 14.5 Errores -------------------------------------------------------- */
.page_register #formErrors,
.page_login .cmp_form .pkp_form_error,
.page_lost_password .cmp_form .pkp_form_error {
	margin: 0 0 22px;
	padding: 14px 16px 14px 18px;
	background: var(--favet-red-soft);
	border: 1px solid var(--favet-red-tint);
	border-left: 4px solid var(--favet-red);
	border-radius: 12px;
	font-size: 0.95rem;
	font-weight: 600;
	line-height: 1.5;
	color: var(--favet-red-deep);
}

.page_register #formErrors .pkp_form_error {
	display: block;
	margin: 0 0 6px;
	padding: 0;
	background: transparent;
	border: 0;
	font-size: 0.95rem;
	font-weight: 700;
	line-height: 1.5;
	color: var(--favet-red-deep);
}

.page_register #formErrors .pkp_form_error_list {
	margin: 0;
	padding-left: 18px;
	font-size: 0.92rem;
	line-height: 1.55;
}

.page_register #formErrors .pkp_form_error_list a {
	color: var(--favet-red-dark);
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Error pegado a un campo (el default lo posiciona en absoluto) */
.page_register .cmp_form .fields > div .error,
.page_login .cmp_form .fields > div .error,
.page_lost_password .cmp_form .fields > div .error {
	position: static;
	display: inline-block;
	margin-top: 6px;
	padding: 3px 10px;
	background: var(--favet-red);
	border-radius: 6px;
	font-size: 0.82rem;
	font-weight: 700;
	line-height: 1.5;
	color: var(--favet-white);
}

/* --- 14.6 Botones del formulario ----------------------------------------- */
.page_register .cmp_form .buttons,
.page_login .cmp_form .buttons,
.page_lost_password .cmp_form .buttons {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 22px;
	margin-top: 8px;
	padding: 20px 0 0;
	border-top: 1px solid var(--favet-line);
}

.page_register .cmp_form .buttons::after,
.page_login .cmp_form .buttons::after,
.page_lost_password .cmp_form .buttons::after {
	content: none;
}

.page_register .cmp_form .buttons button,
.page_login .cmp_form .buttons button,
.page_lost_password .cmp_form .buttons button {
	float: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 50px;
	margin: 0;
	padding: 0 30px;
	background: var(--favet-red);
	border: 1.5px solid var(--favet-red);
	border-radius: 999px;
	box-shadow: 0 12px 28px -12px rgba(179, 40, 45, 0.8);
	font-family: var(--favet-body);
	font-size: 1rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.01em;
	color: var(--favet-white);
	cursor: pointer;
	box-sizing: border-box;
	transition: background-color 0.18s ease, border-color 0.18s ease, transform 0.18s ease;
}

.page_register .cmp_form .buttons button:hover,
.page_login .cmp_form .buttons button:hover,
.page_lost_password .cmp_form .buttons button:hover {
	background: #C4363B;
	border-color: #C4363B;
	transform: translateY(-1px);
}

.page_register .cmp_form .buttons button:focus-visible,
.page_login .cmp_form .buttons button:focus-visible,
.page_lost_password .cmp_form .buttons button:focus-visible {
	outline: 3px solid var(--favet-red);
	outline-offset: 3px;
}

/* Enlace secundario: "Entrar" en el registro, "Registrarse" en el ingreso */
.page_register .cmp_form .buttons a,
.page_login .cmp_form .buttons a,
.page_lost_password .cmp_form .buttons a {
	float: none;
	display: inline-flex;
	align-items: center;
	min-height: var(--favet-tap);
	margin: 0;
	padding: 0 4px;
	font-size: 0.95rem;
	font-weight: 700;
	line-height: 1.3;
	color: var(--favet-red);
	text-decoration: none;
	box-sizing: border-box;
}

.page_register .cmp_form .buttons a:hover,
.page_login .cmp_form .buttons a:hover,
.page_lost_password .cmp_form .buttons a:hover,
.page_register .cmp_form .buttons a:focus,
.page_login .cmp_form .buttons a:focus,
.page_lost_password .cmp_form .buttons a:focus {
	color: var(--favet-red-dark);
	text-decoration: underline;
	text-underline-offset: 4px;
}

@media (max-width: 479px) {
	.page_register .cmp_form .buttons button,
	.page_login .cmp_form .buttons button,
	.page_lost_password .cmp_form .buttons button {
		width: 100%;
	}

	.page_register .cmp_form .buttons a,
	.page_login .cmp_form .buttons a,
	.page_lost_password .cmp_form .buttons a {
		width: 100%;
		justify-content: center;
	}
}

/* --- 14.7 Captcha ALTCHA dentro de la tarjeta ---------------------------- */
.page_register .cmp_form .altcha_wrapper,
.page_login .cmp_form .altcha_wrapper,
.page_lost_password .cmp_form .altcha_wrapper {
	margin: 4px 0 0;
}

.page_register .cmp_form .altcha_wrapper .fields,
.page_login .cmp_form .altcha_wrapper .fields,
.page_lost_password .cmp_form .altcha_wrapper .fields {
	padding-bottom: 8px;
}

.page_register altcha-widget,
.page_login altcha-widget,
.page_lost_password altcha-widget {
	--altcha-border-width: 1.5px;
	--altcha-border-radius: 12px;
	--altcha-color-base: #FFFFFF;
	--altcha-color-border: #D5D9DE;
	--altcha-color-border-focus: #B3282D;
	--altcha-color-text: #23272B;
	--altcha-max-width: 100%;
}

/* --- 14.8 Registro completado: acciones como tarjetas -------------------- */
.page_register_complete .registration_complete_actions {
	display: grid;
	grid-template-columns: 1fr;
	gap: 12px;
	margin: 26px 0 0;
	padding: 0;
	list-style: none;
}

.page_register_complete .registration_complete_actions li {
	margin: 0;
}

.pkp_structure_page .page_register_complete .registration_complete_actions a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	min-height: 60px;
	padding: 14px 20px;
	background: var(--favet-white);
	border: 1px solid var(--favet-line);
	border-radius: var(--favet-radius-sm);
	font-weight: 700;
	line-height: 1.35;
	color: var(--favet-ink);
	text-decoration: none;
	box-sizing: border-box;
	transition: border-color 0.18s ease, box-shadow 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

.pkp_structure_page .page_register_complete .registration_complete_actions a::after {
	content: "";
	flex: 0 0 auto;
	width: 10px;
	height: 10px;
	margin-right: 4px;
	border-right: 2px solid var(--favet-red);
	border-bottom: 2px solid var(--favet-red);
	transform: rotate(-45deg);
}

.pkp_structure_page .page_register_complete .registration_complete_actions a:hover,
.pkp_structure_page .page_register_complete .registration_complete_actions a:focus {
	border-color: var(--favet-red-tint);
	box-shadow: var(--favet-shadow);
	color: var(--favet-red-dark);
	transform: translateY(-2px);
}

.pkp_structure_page .page_register_complete .registration_complete_actions .new_submission a {
	background: var(--favet-red);
	border-color: var(--favet-red);
	color: var(--favet-white);
}

.pkp_structure_page .page_register_complete .registration_complete_actions .new_submission a::after {
	border-color: var(--favet-white);
}

.pkp_structure_page .page_register_complete .registration_complete_actions .new_submission a:hover,
.pkp_structure_page .page_register_complete .registration_complete_actions .new_submission a:focus {
	background: var(--favet-red-dark);
	border-color: var(--favet-red-dark);
	color: var(--favet-white);
}

@media (min-width: 768px) {
	.page_register_complete .registration_complete_actions {
		grid-template-columns: 1fr 1fr;
		gap: 16px;
	}
}

/* --- 14.9 Avisos: lista (.favet-ann) ------------------------------------ */
.favet-ann__head {
	margin-bottom: 28px;
}

.pkp_structure_main .favet-ann__intro {
	max-width: 62ch;
	margin: 0;
	font-size: 1.02rem;
	line-height: 1.6;
	color: var(--favet-ink-2);
}

.pkp_structure_main .favet-ann__intro p {
	margin: 0 0 10px;
}

.pkp_structure_main .favet-ann__intro p:last-child {
	margin-bottom: 0;
}

.favet-ann .cmp_announcements.cmp_announcements {
	display: grid;
	grid-template-columns: 1fr;
	gap: 18px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.favet-ann .cmp_announcements.cmp_announcements > li {
	margin: 0;
	padding: 0;
	border: 0;
	min-width: 0;
}

/* Gana a la notificación genérica de 15.5 por especificidad */
.pkp_structure_main .favet-ann__empty.cmp_notification {
	margin: 0;
	padding: 18px 20px;
	background: var(--favet-bg);
	border: 1px solid var(--favet-line);
	border-left: 4px solid var(--favet-red);
	border-radius: 12px;
	box-shadow: none;
	font-weight: 500;
	color: var(--favet-ink-2);
}

/* Tarjeta de aviso: badge de fecha + cuerpo (+ imagen opcional) */
.favet-ann-card.obj_announcement_summary {
	display: grid;
	grid-template-columns: 64px minmax(0, 1fr);
	grid-template-areas: "badge body";
	gap: 16px 18px;
	padding: 20px 18px;
	background: var(--favet-white);
	border: 1px solid var(--favet-line);
	border-radius: var(--favet-radius);
	box-shadow: 0 1px 2px rgba(35, 39, 43, 0.04);
	box-sizing: border-box;
	transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}

.favet-ann-card.obj_announcement_summary:hover,
.favet-ann-card.obj_announcement_summary:focus-within {
	transform: translateY(-3px);
	border-color: var(--favet-red-tint);
	box-shadow: var(--favet-shadow-lg);
}

.favet-ann-card--has-image.obj_announcement_summary {
	grid-template-areas:
		"media media"
		"badge body";
}

.favet-ann-card__media {
	grid-area: media;
	display: block;
	overflow: hidden;
	border-radius: var(--favet-radius-sm);
	background: var(--favet-bg);
}

.favet-ann-card .favet-ann-card__img.obj_announcement_summary_image {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	transition: transform 0.4s ease;
}

.favet-ann-card:hover .favet-ann-card__img.obj_announcement_summary_image {
	transform: scale(1.03);
}

.favet-ann-card__badge {
	grid-area: badge;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	align-self: start;
	width: 64px;
	padding: 10px 4px 8px;
	background: var(--favet-red-soft);
	border: 1px solid var(--favet-red-tint);
	border-radius: 14px;
	line-height: 1;
	text-align: center;
	color: var(--favet-red-dark);
	box-sizing: border-box;
}

.favet-ann-card__day {
	font-family: var(--favet-display);
	font-size: 1.75rem;
	font-weight: 700;
	letter-spacing: -0.02em;
	color: var(--favet-red);
}

.favet-ann-card__month {
	margin-top: 5px;
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.favet-ann-card__year {
	width: 100%;
	margin-top: 7px;
	padding-top: 6px;
	border-top: 1px solid var(--favet-red-tint);
	font-size: 0.7rem;
	font-weight: 600;
	color: var(--favet-ink-2);
}

.favet-ann-card__body {
	grid-area: body;
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.pkp_structure_main .favet-ann-card .favet-ann-card__title {
	margin: 2px 0 8px;
	font-family: var(--favet-display);
	font-size: 1.35rem;
	font-weight: 600;
	line-height: 1.25;
	letter-spacing: -0.01em;
	overflow-wrap: anywhere;
}

.favet-ann-card .favet-ann-card__title a {
	color: var(--favet-ink);
	text-decoration: none;
}

.favet-ann-card .favet-ann-card__title a:hover,
.favet-ann-card .favet-ann-card__title a:focus {
	color: var(--favet-red);
}

.favet-ann-card .summary.favet-ann-card__summary {
	margin: 0;
	font-size: 0.97rem;
	line-height: 1.6;
	color: var(--favet-ink-2);
	overflow-wrap: anywhere;
}

.favet-ann-card .summary.favet-ann-card__summary p {
	margin: 0 0 8px;
}

.favet-ann-card .summary.favet-ann-card__summary p:last-child {
	margin-bottom: 0;
}

.favet-ann-card__foot {
	margin-top: 8px;
}

/* "Leer más": quitamos el chevrón FontAwesome y el azul del default; usamos .favet-link */
.favet-ann-card .read_more.favet-link {
	position: static;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 4px 0;
	font-size: 0.95rem;
	font-weight: 700;
	line-height: 1.3;
	color: var(--favet-red);
}

.favet-ann-card .read_more.favet-link:hover,
.favet-ann-card .read_more.favet-link:focus {
	color: var(--favet-red-dark);
}

.favet-ann-card .read_more.favet-link::after {
	content: none;
}

@media (min-width: 768px) {
	.favet-ann-card.obj_announcement_summary {
		padding: 24px 26px;
		gap: 18px 22px;
	}

	.favet-ann-card--has-image.obj_announcement_summary {
		grid-template-columns: 64px minmax(0, 1fr) 220px;
		grid-template-areas: "badge body media";
		align-items: start;
	}

	.favet-ann-card--has-image .favet-ann-card__img.obj_announcement_summary_image {
		aspect-ratio: 4 / 3;
	}
}

@media (min-width: 992px) {
	.favet-ann-card--has-image.obj_announcement_summary {
		grid-template-columns: 64px minmax(0, 1fr) 260px;
	}
}

/* --- 14.10 Aviso completo (.favet-ann-full) ------------------------------ */
.favet-ann-full__head {
	position: relative;
	isolation: isolate;
	margin: 0 0 28px;
	padding: 28px 22px 26px;
	background:
		radial-gradient(520px 260px at 100% 0%, rgba(179, 40, 45, 0.12), transparent 65%),
		var(--favet-red-soft);
	border: 1px solid var(--favet-red-tint);
	border-radius: var(--favet-radius);
	overflow: hidden;
}

/* Trama de puntos rojos muy suave, se desvanece hacia abajo */
.favet-ann-full__head::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background-image: radial-gradient(rgba(179, 40, 45, 0.16) 1px, transparent 1.6px);
	background-size: 20px 20px;
	-webkit-mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.9), transparent 80%);
	mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.9), transparent 80%);
	pointer-events: none;
}

.pkp_structure_main .favet-ann-full__eyebrow {
	margin-bottom: 10px;
}

.pkp_structure_main .favet-ann-full__title {
	margin: 0 0 14px;
	max-width: 26ch;
	font-family: var(--favet-display);
	font-size: clamp(1.8rem, 3.6vw, 2.5rem);
	font-weight: 600;
	line-height: 1.12;
	letter-spacing: -0.015em;
	color: var(--favet-ink);
	overflow-wrap: anywhere;
}

.pkp_structure_main .favet-ann-full__date {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	font-size: 0.9rem;
	font-weight: 600;
	color: var(--favet-red-dark);
}

.favet-ann-full__date svg {
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
	color: var(--favet-red);
}

.favet-ann-full__figure {
	margin: 0 0 28px;
}

.favet-ann-full .favet-ann-full__img.obj_announcement_full_image {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
	border-radius: var(--favet-radius);
	box-shadow: var(--favet-shadow);
}

/* Cuerpo del aviso: tipografía de lectura, sin desbordes en móvil */
.pkp_structure_main .favet-ann-full__body {
	max-width: 68ch;
	margin: 0;
	font-size: 1.06rem;
	line-height: 1.75;
	color: var(--favet-ink);
	overflow-wrap: anywhere;
}

.pkp_structure_main .favet-ann-full__body p {
	margin: 0 0 1.1em;
}

.pkp_structure_main .favet-ann-full__body p:last-child {
	margin-bottom: 0;
}

.pkp_structure_main .favet-ann-full__body h2,
.pkp_structure_main .favet-ann-full__body h3,
.pkp_structure_main .favet-ann-full__body h4 {
	margin: 1.6em 0 0.5em;
	font-family: var(--favet-display);
	font-weight: 600;
	line-height: 1.25;
	color: var(--favet-ink);
}

.pkp_structure_main .favet-ann-full__body h2 { font-size: 1.5rem; }
.pkp_structure_main .favet-ann-full__body h3 { font-size: 1.25rem; }
.pkp_structure_main .favet-ann-full__body h4 { font-size: 1.1rem; }

.pkp_structure_main .favet-ann-full__body ul,
.pkp_structure_main .favet-ann-full__body ol {
	margin: 0 0 1.1em;
	padding-left: 1.4em;
}

.pkp_structure_main .favet-ann-full__body li {
	margin-bottom: 0.4em;
}

.pkp_structure_main .favet-ann-full__body li::marker {
	color: var(--favet-red);
}

.pkp_structure_main .favet-ann-full__body a {
	color: var(--favet-red);
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 3px;
	text-decoration-thickness: 1.5px;
}

.pkp_structure_main .favet-ann-full__body a:hover,
.pkp_structure_main .favet-ann-full__body a:focus {
	color: var(--favet-red-dark);
}

.pkp_structure_main .favet-ann-full__body strong {
	font-weight: 700;
}

.pkp_structure_main .favet-ann-full__body blockquote {
	margin: 1.2em 0;
	padding: 4px 0 4px 18px;
	border-left: 4px solid var(--favet-red-tint);
	font-family: var(--favet-display);
	font-style: italic;
	font-size: 1.12rem;
	color: var(--favet-ink-2);
}

.pkp_structure_main .favet-ann-full__body img {
	max-width: 100%;
	height: auto;
	border-radius: var(--favet-radius-sm);
}

.pkp_structure_main .favet-ann-full__body table {
	display: block;
	max-width: 100%;
	margin: 0 0 1.1em;
	overflow-x: auto;
	border-collapse: collapse;
	font-size: 0.95rem;
}

.pkp_structure_main .favet-ann-full__body th,
.pkp_structure_main .favet-ann-full__body td {
	padding: 8px 12px;
	border: 1px solid var(--favet-line);
	text-align: left;
	vertical-align: top;
}

.pkp_structure_main .favet-ann-full__body th {
	background: var(--favet-bg);
	font-weight: 700;
}

.favet-ann-full__foot {
	margin-top: 36px;
	padding-top: 24px;
	border-top: 1px solid var(--favet-line);
}

/* Botón volver: .favet-btn--outline ya definido; aquí solo el ícono */
.favet-ann-full__back .favet-btn__icon {
	width: 18px;
	height: 18px;
	transition: transform 0.2s ease;
}

.favet-ann-full__back:hover .favet-btn__icon {
	transform: translateX(-3px);
}

@media (max-width: 479px) {
	.favet-ann-full__back.favet-btn {
		width: 100%;
	}
}

@media (min-width: 768px) {
	.favet-ann-full__head {
		padding: 40px 40px 36px;
	}
}

/* --- 14.11 Búsqueda (.page_search) --------------------------------------- */
.page_search .cmp_form {
	position: relative;
	margin: 0 0 28px;
	padding: 20px 16px 20px;
	background: var(--favet-white);
	border: 1px solid var(--favet-line);
	border-radius: var(--favet-radius);
	box-shadow: var(--favet-shadow);
	box-sizing: border-box;
}

/* Campo principal grande con lupa */
.page_search .search_input {
	position: relative;
	margin: 0 0 16px;
}

.page_search .search_input::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 18px;
	width: 22px;
	height: 22px;
	transform: translateY(-50%);
	background: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B3282D' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3.5-3.5'/%3E%3C/svg%3E") center / contain no-repeat;
	pointer-events: none;
}

.page_search .search_input .query {
	display: block;
	width: 100%;
	max-width: 100%;
	height: 58px;
	margin: 0;
	padding: 0 16px 0 52px;
	background: var(--favet-white);
	border: 1.5px solid var(--favet-line);
	border-radius: 14px;
	font-family: var(--favet-body);
	font-size: 1.1rem;
	line-height: normal;
	color: var(--favet-ink);
	box-sizing: border-box;
	-webkit-appearance: none;
	appearance: none;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.page_search .search_input .query::placeholder {
	color: #6F757C;
	opacity: 1;
}

.page_search .search_input .query:hover {
	border-color: #AEB4BB;
}

.page_search .search_input .query:focus,
.page_search .search_advanced input:focus,
.page_search .search_advanced select:focus {
	outline: 2px solid transparent;
	outline-offset: 0;
	border-color: var(--favet-red);
	box-shadow: 0 0 0 4px rgba(179, 40, 45, 0.16);
}

/* Filtros avanzados: secundarios, en una franja gris dentro de la tarjeta */
.page_search .search_advanced {
	display: block;
	min-width: 0;
	margin: 0;
	padding: 14px 16px 16px;
	background: var(--favet-bg);
	border: 1px solid var(--favet-line);
	border-radius: 12px;
}

.page_search .search_advanced::after {
	content: "";
	display: table;
	clear: both;
}

/* El legend queda a caballo del borde superior: lo tratamos como una etiqueta */
.page_search .search_advanced > legend {
	display: inline-block;
	float: none;
	width: auto;
	margin: 0 0 6px -4px;
	padding: 5px 12px;
	background: var(--favet-white);
	border: 1px solid var(--favet-line);
	border-radius: 999px;
	font-size: 0.72rem;
	font-weight: 800;
	line-height: 1.3;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--favet-ink-2);
}

.page_search .search_advanced .date_range,
.page_search .search_advanced .author {
	float: none;
	width: auto;
	min-width: 0;
	box-sizing: border-box;
}

.page_search .search_advanced .author {
	margin-top: 16px;
}

.page_search .date_range {
	display: grid;
	grid-template-columns: 1fr;
	gap: 12px;
}

.page_search .date_range fieldset {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	min-width: 0;
	margin: 0;
	padding: 0;
	border: 0;
}

.page_search .date_range legend {
	display: block;
	float: none;
	width: 100%;
	margin: 0 0 6px;
	padding: 0;
	font-size: 0.9rem;
	font-weight: 600;
	line-height: 1.4;
	color: var(--favet-ink);
}

.page_search .search_advanced .label {
	display: block;
	margin: 0 0 6px;
	font-size: 0.9rem;
	font-weight: 600;
	font-style: normal;
	line-height: 1.4;
	color: var(--favet-ink);
}

.page_search .search_advanced .label_contexts {
	margin-top: 14px;
}

.page_search .search_advanced select,
.page_search .search_advanced input[type="text"] {
	display: block;
	width: 100%;
	max-width: 100%;
	height: 46px;
	margin: 0;
	padding: 0 12px;
	background: var(--favet-white);
	border: 1.5px solid var(--favet-line);
	border-radius: 10px;
	font-family: var(--favet-body);
	font-size: 0.97rem;
	line-height: normal;
	color: var(--favet-ink);
	box-sizing: border-box;
	-webkit-appearance: none;
	appearance: none;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.page_search .search_advanced select {
	padding-right: 34px;
	background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%234A4F55' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 10px center;
	cursor: pointer;
}

/* Año / mes / día en una fila; en 390px entran sin desbordar */
.page_search .date_range select {
	width: auto;
	min-width: 0;
}

.page_search .date_range select + label + select {
	margin-left: 0;
}

.page_search .date_range [name*="Year"] {
	flex: 0 0 5.5em;
	width: 5.5em;
}

.page_search .date_range [name*="Month"] {
	flex: 1 1 6em;
	width: auto;
}

.page_search .date_range [name*="Day"] {
	flex: 0 0 4.6em;
	width: 4.6em;
}

/* Botón "Buscar": píldora roja con lupa propia (sin el ícono FA del default) */
.page_search .submit {
	margin-top: 18px;
	text-align: left;
}

.page_search .submit button {
	position: static;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 50px;
	margin: 0;
	padding: 0 30px 0 24px;
	background: var(--favet-red);
	border: 1.5px solid var(--favet-red);
	border-radius: 999px;
	box-shadow: 0 12px 28px -12px rgba(179, 40, 45, 0.8);
	font-family: var(--favet-body);
	font-size: 1rem;
	font-weight: 700;
	line-height: 1;
	color: var(--favet-white);
	cursor: pointer;
	box-sizing: border-box;
	transition: background-color 0.18s ease, border-color 0.18s ease, transform 0.18s ease;
}

.page_search .submit button::after {
	content: none;
}

.page_search .submit button::before {
	content: "";
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
	background: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3.5-3.5'/%3E%3C/svg%3E") center / contain no-repeat;
}

.page_search .submit button:hover {
	background: #C4363B;
	border-color: #C4363B;
	transform: translateY(-1px);
}

.page_search .submit button:focus-visible {
	outline: 3px solid var(--favet-red);
	outline-offset: 3px;
}

/* Resultados como tarjetas (usa objects/article_summary.tpl del tema, sin galeradas) */
.page_search .search_results {
	display: grid;
	grid-template-columns: 1fr;
	gap: 16px;
	margin: 28px 0 24px;
	padding: 0;
	list-style: none;
}

.page_search .search_results:empty {
	display: none;
}

.page_search .search_results > li {
	margin: 0;
	min-width: 0;
}

.page_search .search_results .obj_article_summary {
	margin: 0;
	padding: 20px 18px 22px;
	background: var(--favet-white);
	border: 1px solid var(--favet-line);
	border-radius: var(--favet-radius);
	box-sizing: border-box;
	transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}

.page_search .search_results .obj_article_summary:hover,
.page_search .search_results .obj_article_summary:focus-within {
	transform: translateY(-3px);
	border-color: var(--favet-red-tint);
	box-shadow: var(--favet-shadow-lg);
}

.page_search .search_results .favet-card .cover.favet-card__cover {
	margin-bottom: 14px;
}

.pkp_structure_main .page_search .search_results .favet-card__title {
	font-size: 1.3rem;
}

.page_search .search_results .favet-card .subtitle {
	margin-top: 6px;
}

/* Aviso "No hay resultados" / error (gana a la notificación genérica de 15.5) */
.pkp_structure_main .page_search .cmp_notification {
	margin: 24px 0;
	padding: 18px 20px;
	background: var(--favet-bg);
	border: 1px solid var(--favet-line);
	border-left: 4px solid var(--favet-red);
	border-radius: 12px;
	box-shadow: none;
	font-weight: 500;
	line-height: 1.5;
	color: var(--favet-ink-2);
}

.pkp_structure_main .page_search .cmp_notification.error {
	background: var(--favet-red-soft);
	border-color: var(--favet-red-tint);
	border-left-color: var(--favet-red);
	color: var(--favet-red-deep);
}

/* Paginación */
.page_search .cmp_pagination {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 8px 16px;
	margin-top: 4px;
	font-size: 0.9rem;
	line-height: 1.4;
	color: var(--favet-ink-2);
	text-align: left;
}

.page_search .cmp_pagination::after {
	content: none;
}

.pkp_structure_page .page_search .cmp_pagination a {
	display: inline-flex;
	align-items: center;
	min-height: var(--favet-tap);
	padding: 0 10px;
	font-weight: 700;
	color: var(--favet-red);
	text-decoration: none;
	box-sizing: border-box;
}

.pkp_structure_page .page_search .cmp_pagination a:hover,
.pkp_structure_page .page_search .cmp_pagination a:focus {
	color: var(--favet-red-dark);
	text-decoration: underline;
	text-underline-offset: 4px;
}

@media (max-width: 479px) {
	.page_search .submit button {
		width: 100%;
	}
}

@media (min-width: 768px) {
	.page_search .cmp_form {
		padding: 28px 32px 28px;
	}

	.page_search .search_advanced {
		padding: 18px 22px 22px;
	}

	.page_search .search_advanced .date_range {
		float: left;
		width: 56%;
		padding-right: 24px;
	}

	.page_search .search_advanced .author {
		float: right;
		width: 44%;
		margin-top: 0;
	}

	.page_search .search_results .obj_article_summary {
		padding: 24px 26px 26px;
	}
}

@media (min-width: 992px) {
	.page_search .search_results {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 20px;
	}
}

/* =========================================================================
   15. FRENTE C: páginas de contenido, barra lateral, cabecera, migas y títulos
   -------------------------------------------------------------------------
   Namespace: todo lo nuevo lleva prefijo .favet-c-* o se cuelga de las clases
   del core (.page_*, .cmp_*, .pkp_*). Se apoya en los tokens --favet-* de la
   sección 0 y en .favet-btn de la sección 3.

   Alcance de "página de lectura" (texto largo del editor):
     .page_about       about
     .page_submissions about/submissions (plantilla propia del tema)
     .page_contact     about/contact
     .page_privacy     about/privacy
     .page_masthead    about/editorialMasthead
     .page_information / .page_message / .page_error
     .page[class="page"]  páginas del plugin staticPages (su content.tpl imprime
                          <div class="page"> a secas; el body lleva
                          pkp_page_<ruta>, p. ej. pkp_page_competencia)
   Se repite como :is(...) en cada regla para no depender de un wrapper que
   no podemos agregar al HTML de esas páginas.
   ========================================================================= */

/* -------------------------------------------------------------------------
   15.1 Rejilla de contenido + barra lateral
   El tema default flota main/sidebar y dibuja dos líneas verticales con
   ::before/::after; aquí pasa a grid y las líneas desaparecen. La portada
   (body.pkp_page_index) conserva su propio tratamiento (sección 4).
   ------------------------------------------------------------------------- */
body:not(.pkp_page_index) .pkp_structure_content {
	box-sizing: border-box;
}

body:not(.pkp_page_index) .pkp_structure_main::before,
body:not(.pkp_page_index) .pkp_structure_main::after,
body:not(.pkp_page_index) .pkp_structure_content.has_sidebar::before,
body:not(.pkp_page_index) .pkp_structure_content.has_sidebar::after {
	display: none;
}

body:not(.pkp_page_index) .pkp_structure_main {
	padding: 20px var(--favet-gutter) 48px;
}

@media (min-width: 480px) {
	body:not(.pkp_page_index) .pkp_structure_main {
		padding: 24px var(--favet-gutter) 56px;
	}
}

@media (min-width: 768px) {
	body:not(.pkp_page_index) .pkp_structure_main {
		padding: 32px 0 64px;
	}
}

@media (min-width: 992px) {
	body:not(.pkp_page_index) .pkp_structure_content.has_sidebar {
		display: grid;
		grid-template-columns: minmax(0, 1fr) 300px;
		column-gap: 44px;
		align-items: start;
		padding-top: 36px;
	}

	body:not(.pkp_page_index) .pkp_structure_content.has_sidebar .pkp_structure_main {
		float: none;
		width: auto;
		min-width: 0;
		margin: 0;
		padding: 0 0 80px;
	}

	body:not(.pkp_page_index) .pkp_structure_content.has_sidebar .pkp_structure_sidebar {
		float: none;
		width: auto;
		position: sticky;
		top: 24px;
	}

	/* Sin barra lateral: columna centrada con el mismo aire */
	body:not(.pkp_page_index) .pkp_structure_main:first-child:last-child {
		margin-top: 36px;
		padding: 0 0 80px;
	}
}

@media (min-width: 1200px) {
	body:not(.pkp_page_index) .pkp_structure_content.has_sidebar {
		column-gap: 64px;
	}
}

/* -------------------------------------------------------------------------
   15.2 Barra lateral: tarjeta con borde superior rojo, ícono, texto y botón
   En móvil queda al final del contenido, como tarjeta acotada (no una franja
   a todo lo ancho). En la portada sigue siendo la franja de la sección 4.
   ------------------------------------------------------------------------- */
body:not(.pkp_page_index) .pkp_structure_sidebar {
	margin: 0 auto 40px;
	padding: 0 var(--favet-gutter);
	max-width: 520px;
	box-sizing: border-box;
}

@media (min-width: 992px) {
	body:not(.pkp_page_index) .pkp_structure_sidebar {
		max-width: none;
		margin: 0;
		padding: 0;
	}
}

body:not(.pkp_page_index) .pkp_structure_sidebar .pkp_block {
	position: relative;
	margin: 0 0 20px;
	padding: 26px 24px 24px;
	background: var(--favet-white);
	border: 1px solid var(--favet-line);
	border-top: 4px solid var(--favet-red);
	border-radius: var(--favet-radius);
	box-shadow: var(--favet-shadow);
	font-size: 0.95rem;
	line-height: 1.6;
	color: var(--favet-ink-2);
}

/* Ícono (medalla) para el bloque personalizado "Patrocinadores" */
body:not(.pkp_page_index) .pkp_structure_sidebar .block_custom::before {
	content: "";
	display: block;
	width: 44px;
	height: 44px;
	margin-bottom: 14px;
	border-radius: 14px;
	background-color: var(--favet-red-soft);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B3282D' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='6'/%3E%3Cpath d='M8.5 13.5 7 22l5-3 5 3-1.5-8.5'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 24px 24px;
}

body:not(.pkp_page_index) .pkp_structure_sidebar .pkp_block .title {
	margin: 0 0 10px;
	font-family: var(--favet-body);
	font-size: 0.76rem;
	font-weight: 800;
	line-height: 1.3;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--favet-red);
}

body:not(.pkp_page_index) .pkp_structure_sidebar .pkp_block .content p {
	margin: 0 0 10px;
	line-height: 1.6;
}

body:not(.pkp_page_index) .pkp_structure_sidebar .pkp_block .content p:last-child {
	margin-bottom: 0;
}

body:not(.pkp_page_index) .pkp_structure_sidebar .pkp_block .content strong {
	color: var(--favet-ink);
}

/* Cualquier enlace del bloque personalizado se vuelve botón (p. ej. un
   mailto: al correo de patrocinios). El editor lo escribe en el bloque. */
body:not(.pkp_page_index) .pkp_structure_sidebar .block_custom .content a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: var(--favet-tap);
	margin-top: 6px;
	padding: 0 18px;
	border-radius: 999px;
	background: var(--favet-red);
	color: var(--favet-white);
	font-size: 0.92rem;
	font-weight: 700;
	text-decoration: none;
	box-sizing: border-box;
	overflow-wrap: anywhere;
	transition: background-color 0.18s ease;
}

body:not(.pkp_page_index) .pkp_structure_sidebar .block_custom .content a:hover,
body:not(.pkp_page_index) .pkp_structure_sidebar .block_custom .content a:focus {
	background: var(--favet-red-dark);
	color: var(--favet-white);
}

/* Otros bloques laterales (idioma, información, buscar, etc.) */
body:not(.pkp_page_index) .pkp_structure_sidebar .pkp_block .content ul li {
	padding: 6px 0;
}

body:not(.pkp_page_index) .pkp_structure_sidebar .pkp_block:not(.block_custom) .content a {
	color: var(--favet-red);
	font-weight: 600;
	text-decoration: none;
}

body:not(.pkp_page_index) .pkp_structure_sidebar .block_make_submission a {
	width: 100%;
	text-align: center;
	box-sizing: border-box;
}

/* -------------------------------------------------------------------------
   15.3 Migas de pan y títulos de página
   ------------------------------------------------------------------------- */
.pkp_structure_main .cmp_breadcrumbs {
	display: block;
	margin: 0 0 14px;
}

.pkp_structure_main .cmp_breadcrumbs ol {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 0.82rem;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: 0.01em;
}

.pkp_structure_main .cmp_breadcrumbs li {
	display: inline-flex;
	align-items: center;
	margin: 0;
	min-width: 0;
}

.pkp_structure_page .cmp_breadcrumbs a {
	display: inline-flex;
	align-items: center;
	min-height: var(--favet-tap);
	color: var(--favet-red);
	text-decoration: none;
}

.pkp_structure_page .cmp_breadcrumbs a:hover,
.pkp_structure_page .cmp_breadcrumbs a:focus {
	color: var(--favet-red-dark);
	text-decoration: underline;
	text-underline-offset: 4px;
}

/* La barra "/" del core se sustituye visualmente por un chevron */
.pkp_structure_main .cmp_breadcrumbs .separator {
	position: relative;
	display: inline-block;
	width: 18px;
	height: 18px;
	margin: 0 4px;
	padding: 0;
	font-size: 0;
	color: transparent;
}

.pkp_structure_main .cmp_breadcrumbs .separator::before {
	content: "";
	position: absolute;
	top: 5px;
	left: 5px;
	width: 6px;
	height: 6px;
	border-top: 2px solid var(--favet-line);
	border-right: 2px solid var(--favet-line);
	transform: rotate(45deg);
}

.pkp_structure_main .cmp_breadcrumbs .current {
	color: var(--favet-ink-2);
	font-weight: 500;
	overflow-wrap: anywhere;
}

.pkp_structure_main .cmp_breadcrumbs .current h1 {
	margin: 0;
	font-family: var(--favet-body);
	font-size: 0.82rem;
	font-weight: 500;
	line-height: 1.3;
	color: var(--favet-ink-2);
}

/* Título de página: h1 del core, el h2 inicial de las páginas estáticas y el
   título de la lista de avisos (14.9). Regla compartida por todas las páginas
   interiores (registro, ingreso, búsqueda, avisos, acerca, envíos...). */
.pkp_structure_main .page > h1,
.pkp_structure_main .page[class="page"] > h2:first-child,
.pkp_structure_main .page > h1.page_title,
.pkp_structure_main .favet-ann__title {
	position: relative;
	max-width: 22ch;
	margin: 0 0 30px;
	padding: 0 0 20px;
	font-family: var(--favet-display);
	font-size: clamp(2rem, 1.35rem + 2.4vw, 2.85rem);
	font-weight: 600;
	line-height: 1.08;
	letter-spacing: -0.02em;
	color: var(--favet-ink);
	overflow-wrap: anywhere;
}

.pkp_structure_main .page > h1::after,
.pkp_structure_main .page[class="page"] > h2:first-child::after,
.pkp_structure_main .favet-ann__title::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 48px;
	height: 4px;
	border-radius: 2px;
	background: var(--favet-red);
}

/* -------------------------------------------------------------------------
   15.4 Páginas de lectura: columna de ~72ch y tipografía
   ------------------------------------------------------------------------- */
.pkp_structure_main :is(.page_about, .page_submissions, .page_contact, .page_privacy, .page_masthead, .page_information, .page_message, .page_error, .page[class="page"]) {
	max-width: 46rem; /* ≈ 72 caracteres de Plus Jakarta Sans a 1.02rem */
	font-size: 1.02rem;
	line-height: 1.7;
	color: var(--favet-ink);
}

.pkp_structure_main :is(.page_about, .page_submissions, .page_contact, .page_privacy, .page_masthead, .page_information, .page_message, .page_error, .page[class="page"]) p {
	margin: 0 0 1.1em;
	line-height: 1.7;
}

/* Párrafo de entrada: el que sigue al título */
.pkp_structure_main :is(.page_about, .page_submissions, .page_privacy, .page_masthead, .page_information) > h1 + p,
.pkp_structure_main .page[class="page"] > h2:first-child + p {
	font-size: 1.12rem;
	font-weight: 500;
	line-height: 1.65;
	color: var(--favet-ink-2);
}

/* h2: sección con barra roja arriba */
.pkp_structure_main :is(.page_about, .page_submissions, .page_contact, .page_privacy, .page_masthead, .page_information, .page_message, .page_error, .page[class="page"]) h2 {
	position: relative;
	margin: 2.8rem 0 1rem;
	padding-top: 16px;
	font-family: var(--favet-display);
	font-size: 1.6rem;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: -0.015em;
	color: var(--favet-ink);
}

.pkp_structure_main :is(.page_about, .page_submissions, .page_contact, .page_privacy, .page_masthead, .page_information, .page_message, .page_error, .page[class="page"]) h2::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 36px;
	height: 3px;
	border-radius: 2px;
	background: var(--favet-red);
}

/* El h2 que hace de título en las páginas estáticas no lleva la barra de sección */
.pkp_structure_main .page[class="page"] > h2:first-child::before {
	display: none;
}

/* h3: subtítulo */
.pkp_structure_main :is(.page_about, .page_submissions, .page_contact, .page_privacy, .page_masthead, .page_information, .page_message, .page_error, .page[class="page"]) h3 {
	margin: 2rem 0 0.7rem;
	font-family: var(--favet-display);
	font-size: 1.25rem;
	font-weight: 600;
	line-height: 1.3;
	color: var(--favet-ink);
}

.pkp_structure_main :is(.page_about, .page_submissions, .page_contact, .page_privacy, .page_masthead, .page_information, .page_message, .page_error, .page[class="page"]) h2 + h3 {
	margin-top: 1.2rem;
}

/* h4: etiqueta pequeña en mayúsculas (p. ej. "Perfil", "Inicio de sesión") */
.pkp_structure_main :is(.page_about, .page_submissions, .page_contact, .page_privacy, .page_masthead, .page_information, .page_message, .page_error, .page[class="page"]) h4 {
	margin: 1.6rem 0 0.5rem;
	font-family: var(--favet-body);
	font-size: 0.78rem;
	font-weight: 800;
	line-height: 1.3;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--favet-red);
}

.pkp_structure_main :is(.page_about, .page_submissions, .page_contact, .page_privacy, .page_masthead, .page_information, .page_message, .page_error, .page[class="page"]) strong {
	font-weight: 700;
	color: var(--favet-ink);
}

/* Acotaciones editoriales en cursiva al final de un ítem ("(propuesta...)") */
.pkp_structure_main :is(.page_about, .page_submissions, .page_contact, .page_privacy, .page_masthead, .page_information, .page_message, .page_error, .page[class="page"]) :is(li, p) > em:last-child {
	color: var(--favet-ink-2);
}

/* Enlaces con subrayado suave */
.pkp_structure_page :is(.page_about, .page_submissions, .page_contact, .page_privacy, .page_masthead, .page_information, .page_message, .page_error, .page[class="page"]) :is(p, li, td, th, blockquote) a:not(.favet-btn) {
	color: var(--favet-red);
	font-weight: 600;
	text-decoration: underline;
	text-decoration-color: rgba(179, 40, 45, 0.35);
	text-decoration-thickness: 1.5px;
	text-underline-offset: 3px;
	overflow-wrap: anywhere;
	transition: text-decoration-color 0.15s ease, color 0.15s ease;
}

.pkp_structure_page :is(.page_about, .page_submissions, .page_contact, .page_privacy, .page_masthead, .page_information, .page_message, .page_error, .page[class="page"]) :is(p, li, td, th, blockquote) a:not(.favet-btn):hover,
.pkp_structure_page :is(.page_about, .page_submissions, .page_contact, .page_privacy, .page_masthead, .page_information, .page_message, .page_error, .page[class="page"]) :is(p, li, td, th, blockquote) a:not(.favet-btn):focus {
	color: var(--favet-red-dark);
	text-decoration-color: var(--favet-red-dark);
}

/* Listas con viñeta propia */
.pkp_structure_main :is(.page_about, .page_submissions, .page_contact, .page_privacy, .page_masthead, .page_information, .page_message, .page_error, .page[class="page"]) ul {
	margin: 0 0 1.3em;
	padding: 0;
	list-style: none;
	line-height: 1.65;
}

.pkp_structure_main :is(.page_about, .page_submissions, .page_contact, .page_privacy, .page_masthead, .page_information, .page_message, .page_error, .page[class="page"]) ul > li {
	position: relative;
	margin: 0 0 0.55em;
	padding-left: 24px;
}

.pkp_structure_main :is(.page_about, .page_submissions, .page_contact, .page_privacy, .page_masthead, .page_information, .page_message, .page_error, .page[class="page"]) ul > li::before {
	content: "";
	position: absolute;
	top: 0.66em;
	left: 4px;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--favet-red);
}

.pkp_structure_main :is(.page_about, .page_submissions, .page_contact, .page_privacy, .page_masthead, .page_information, .page_message, .page_error, .page[class="page"]) ul ul,
.pkp_structure_main :is(.page_about, .page_submissions, .page_contact, .page_privacy, .page_masthead, .page_information, .page_message, .page_error, .page[class="page"]) ol ul {
	margin: 0.5em 0 0.6em;
}

.pkp_structure_main :is(.page_about, .page_submissions, .page_contact, .page_privacy, .page_masthead, .page_information, .page_message, .page_error, .page[class="page"]) :is(ul ul, ol ul) > li::before {
	width: 6px;
	height: 6px;
	left: 5px;
	background: var(--favet-red-tint);
	outline: 1.5px solid var(--favet-red);
	outline-offset: -1.5px;
}

/* Pasos numerados: círculos rojos unidos por una línea */
.pkp_structure_main :is(.page_about, .page_submissions, .page_contact, .page_privacy, .page_masthead, .page_information, .page_message, .page_error, .page[class="page"]) ol {
	margin: 0.4em 0 1.6em;
	padding: 0;
	list-style: none;
	counter-reset: favet-step;
	line-height: 1.65;
}

.pkp_structure_main :is(.page_about, .page_submissions, .page_contact, .page_privacy, .page_masthead, .page_information, .page_message, .page_error, .page[class="page"]) ol > li {
	position: relative;
	margin: 0 0 14px;
	padding: 2px 0 2px 46px;
	min-height: 32px;
	counter-increment: favet-step;
}

.pkp_structure_main :is(.page_about, .page_submissions, .page_contact, .page_privacy, .page_masthead, .page_information, .page_message, .page_error, .page[class="page"]) ol > li::before {
	content: counter(favet-step);
	position: absolute;
	top: 0;
	left: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: var(--favet-red);
	color: var(--favet-white);
	font-family: var(--favet-body);
	font-size: 0.86rem;
	font-weight: 800;
	line-height: 1;
	box-shadow: 0 6px 14px -6px rgba(179, 40, 45, 0.7);
}

.pkp_structure_main :is(.page_about, .page_submissions, .page_contact, .page_privacy, .page_masthead, .page_information, .page_message, .page_error, .page[class="page"]) ol > li:not(:last-child)::after {
	content: "";
	position: absolute;
	top: 36px;
	bottom: -12px;
	left: 15px;
	width: 2px;
	background: var(--favet-red-tint);
}

/* Pasos anidados: círculos pequeños, sin línea */
.pkp_structure_main :is(.page_about, .page_submissions, .page_contact, .page_privacy, .page_masthead, .page_information, .page_message, .page_error, .page[class="page"]) ol ol {
	margin: 0.6em 0 0.4em;
}

.pkp_structure_main :is(.page_about, .page_submissions, .page_contact, .page_privacy, .page_masthead, .page_information, .page_message, .page_error, .page[class="page"]) ol ol > li {
	margin-bottom: 8px;
	padding-left: 36px;
	min-height: 24px;
}

.pkp_structure_main :is(.page_about, .page_submissions, .page_contact, .page_privacy, .page_masthead, .page_information, .page_message, .page_error, .page[class="page"]) ol ol > li::before {
	top: 1px;
	width: 24px;
	height: 24px;
	background: var(--favet-red-soft);
	color: var(--favet-red-dark);
	font-size: 0.76rem;
	box-shadow: none;
}

.pkp_structure_main :is(.page_about, .page_submissions, .page_contact, .page_privacy, .page_masthead, .page_information, .page_message, .page_error, .page[class="page"]) ol ol > li::after {
	display: none;
}

/* Tablas legibles (sin desborde: las celdas parten palabras largas) */
.pkp_structure_main :is(.page_about, .page_submissions, .page_contact, .page_privacy, .page_masthead, .page_information, .page_message, .page_error, .page[class="page"]) table {
	width: 100%;
	max-width: 100%;
	margin: 1.2em 0 1.6em;
	border-collapse: separate;
	border-spacing: 0;
	border: 1px solid var(--favet-line);
	border-radius: var(--favet-radius-sm);
	overflow: hidden;
	font-size: 0.95rem;
	line-height: 1.5;
	table-layout: auto;
}

.pkp_structure_main :is(.page_about, .page_submissions, .page_contact, .page_privacy, .page_masthead, .page_information, .page_message, .page_error, .page[class="page"]) :is(th, td) {
	padding: 11px 14px;
	border-bottom: 1px solid var(--favet-line);
	text-align: left;
	vertical-align: top;
	overflow-wrap: anywhere;
}

.pkp_structure_main :is(.page_about, .page_submissions, .page_contact, .page_privacy, .page_masthead, .page_information, .page_message, .page_error, .page[class="page"]) th {
	background: var(--favet-red-soft);
	color: var(--favet-red-dark);
	font-size: 0.8rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.pkp_structure_main :is(.page_about, .page_submissions, .page_contact, .page_privacy, .page_masthead, .page_information, .page_message, .page_error, .page[class="page"]) tr:last-child td {
	border-bottom: 0;
}

.pkp_structure_main :is(.page_about, .page_submissions, .page_contact, .page_privacy, .page_masthead, .page_information, .page_message, .page_error, .page[class="page"]) tbody tr:nth-child(even) td {
	background: var(--favet-bg);
}

@media (max-width: 479px) {
	.pkp_structure_main :is(.page_about, .page_submissions, .page_contact, .page_privacy, .page_masthead, .page_information, .page_message, .page_error, .page[class="page"]) table {
		font-size: 0.88rem;
	}

	.pkp_structure_main :is(.page_about, .page_submissions, .page_contact, .page_privacy, .page_masthead, .page_information, .page_message, .page_error, .page[class="page"]) :is(th, td) {
		padding: 9px 10px;
	}
}

/* Las migas de pan viven dentro de .page: no heredan viñetas, pasos ni subrayado */
.pkp_structure_page .pkp_structure_main .page .cmp_breadcrumbs ol {
	margin: 0;
	padding: 0;
	counter-reset: none;
	line-height: 1.3;
}

.pkp_structure_page .pkp_structure_main .page .cmp_breadcrumbs ol > li {
	margin: 0;
	padding: 0;
	min-height: 0;
	counter-increment: none;
}

.pkp_structure_page .pkp_structure_main .page .cmp_breadcrumbs ol > li::before,
.pkp_structure_page .pkp_structure_main .page .cmp_breadcrumbs ol > li::after {
	content: none;
	display: none;
}

.pkp_structure_page .pkp_structure_main .page .cmp_breadcrumbs li a {
	font-weight: 600;
	text-decoration: none;
}

.pkp_structure_page .pkp_structure_main .page .cmp_breadcrumbs li a:hover,
.pkp_structure_page .pkp_structure_main .page .cmp_breadcrumbs li a:focus {
	text-decoration: underline;
	text-underline-offset: 4px;
}

/* Imágenes sueltas del editor */
.pkp_structure_main :is(.page_about, .page_submissions, .page_contact, .page_privacy, .page_masthead, .page_information, .page_message, .page_error, .page[class="page"]) img {
	max-width: 100%;
	height: auto;
	border-radius: var(--favet-radius-sm);
}

.pkp_structure_main :is(.page_about, .page_submissions, .page_contact, .page_privacy, .page_masthead, .page_information, .page_message, .page_error, .page[class="page"]) hr {
	margin: 2.4rem 0;
	border: 0;
	border-top: 1px solid var(--favet-line);
}

/* -------------------------------------------------------------------------
   15.5 Cajas de aviso
   CSS no puede leer el texto de un párrafo ("Nota", "[A COMPLETAR]"), así
   que las cajas se cuelgan de marcas que sí existen en el HTML del editor:
     <blockquote>          botón "cita" del editor de OJS (Nota / aclaración)
     p.favet-nota          igual que blockquote (vía "Código fuente")
     p.favet-importante    aviso destacado en rojo
     p.favet-pendiente     texto pendiente de completar: gris, borde punteado
   El editor solo tiene que envolver el párrafo; no hace falta más HTML.
   ------------------------------------------------------------------------- */
.pkp_structure_main :is(.page_about, .page_submissions, .page_contact, .page_privacy, .page_masthead, .page_information, .page_message, .page_error, .page[class="page"]) blockquote,
.pkp_structure_main :is(.page_about, .page_submissions, .page_contact, .page_privacy, .page_masthead, .page_information, .page_message, .page_error, .page[class="page"]) .favet-nota,
.pkp_structure_main :is(.page_about, .page_submissions, .page_contact, .page_privacy, .page_masthead, .page_information, .page_message, .page_error, .page[class="page"]) .favet-importante,
.pkp_structure_main :is(.page_about, .page_submissions, .page_contact, .page_privacy, .page_masthead, .page_information, .page_message, .page_error, .page[class="page"]) .favet-pendiente {
	position: relative;
	margin: 1.4em 0 1.6em;
	padding: 16px 20px 16px 58px;
	background: var(--favet-red-soft);
	border: 1px solid var(--favet-red-tint);
	border-left: 4px solid var(--favet-red);
	border-radius: var(--favet-radius-sm);
	font-size: 0.98rem;
	line-height: 1.6;
	color: var(--favet-ink);
}

.pkp_structure_main :is(.page_about, .page_submissions, .page_contact, .page_privacy, .page_masthead, .page_information, .page_message, .page_error, .page[class="page"]) blockquote::before,
.pkp_structure_main :is(.page_about, .page_submissions, .page_contact, .page_privacy, .page_masthead, .page_information, .page_message, .page_error, .page[class="page"]) .favet-nota::before,
.pkp_structure_main :is(.page_about, .page_submissions, .page_contact, .page_privacy, .page_masthead, .page_information, .page_message, .page_error, .page[class="page"]) .favet-importante::before,
.pkp_structure_main :is(.page_about, .page_submissions, .page_contact, .page_privacy, .page_masthead, .page_information, .page_message, .page_error, .page[class="page"]) .favet-pendiente::before {
	content: "";
	position: absolute;
	top: 16px;
	left: 18px;
	width: 24px;
	height: 24px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 24px 24px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B3282D' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 11v5M12 8h.01'/%3E%3C/svg%3E");
}

.pkp_structure_main :is(.page_about, .page_submissions, .page_contact, .page_privacy, .page_masthead, .page_information, .page_message, .page_error, .page[class="page"]) blockquote p {
	margin: 0 0 0.6em;
}

.pkp_structure_main :is(.page_about, .page_submissions, .page_contact, .page_privacy, .page_masthead, .page_information, .page_message, .page_error, .page[class="page"]) blockquote p:last-child {
	margin-bottom: 0;
}

.pkp_structure_main :is(.page_about, .page_submissions, .page_contact, .page_privacy, .page_masthead, .page_information, .page_message, .page_error, .page[class="page"]) .favet-importante {
	background: var(--favet-red);
	border-color: var(--favet-red-dark);
	color: var(--favet-white);
}

.pkp_structure_main :is(.page_about, .page_submissions, .page_contact, .page_privacy, .page_masthead, .page_information, .page_message, .page_error, .page[class="page"]) .favet-importante strong,
.pkp_structure_main :is(.page_about, .page_submissions, .page_contact, .page_privacy, .page_masthead, .page_information, .page_message, .page_error, .page[class="page"]) .favet-importante a:not(.favet-btn) {
	color: var(--favet-white);
}

.pkp_structure_main :is(.page_about, .page_submissions, .page_contact, .page_privacy, .page_masthead, .page_information, .page_message, .page_error, .page[class="page"]) .favet-importante::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 2.5 20h19L12 3z'/%3E%3Cpath d='M12 10v4M12 17h.01'/%3E%3C/svg%3E");
}

.pkp_structure_main :is(.page_about, .page_submissions, .page_contact, .page_privacy, .page_masthead, .page_information, .page_message, .page_error, .page[class="page"]) .favet-pendiente {
	background: var(--favet-bg);
	border: 1.5px dashed var(--favet-line);
	color: var(--favet-ink-2);
	font-style: italic;
}

.pkp_structure_main :is(.page_about, .page_submissions, .page_contact, .page_privacy, .page_masthead, .page_information, .page_message, .page_error, .page[class="page"]) .favet-pendiente::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234A4F55' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 20h4l10-10-4-4L4 16v4z'/%3E%3Cpath d='M12.5 7.5 16.5 11.5'/%3E%3C/svg%3E");
}

/* Notificación genérica del core (mensajes, errores): tarjeta con línea roja.
   Los avisos con tratamiento propio (13.0 artículo/número, 14.9 avisos,
   14.11 búsqueda) la sobreescriben con selectores más específicos. */
.pkp_structure_main .cmp_notification {
	box-sizing: border-box;
	margin: 0 0 32px;
	padding: 18px 20px;
	background: var(--favet-white);
	border: 1px solid var(--favet-line);
	border-left: 4px solid var(--favet-red);
	border-radius: var(--favet-radius-sm);
	box-shadow: var(--favet-shadow);
	font-size: 0.98rem;
	line-height: 1.6;
	color: var(--favet-ink);
}

/* -------------------------------------------------------------------------
   15.6 Página "Envíos" (templates/frontend/pages/submissions.tpl del tema)
   ------------------------------------------------------------------------- */

/* Aviso "necesitas una cuenta" como tarjeta con botones */
.pkp_structure_main .cmp_notification.favet-c-notice {
	display: grid;
	grid-template-columns: 1fr;
	gap: 14px;
	margin: 0 0 28px;
	padding: 22px 22px 24px;
	border-left-width: 1px;
	border-color: var(--favet-red-tint);
	background:
		radial-gradient(420px 220px at 100% 0%, rgba(179, 40, 45, 0.08), transparent 70%),
		var(--favet-white);
}

.favet-c-notice__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	border-radius: 14px;
	background: var(--favet-red-soft);
	color: var(--favet-red);
}

.favet-c-notice__icon svg {
	width: 24px;
	height: 24px;
}

.pkp_structure_main .page_submissions p.favet-c-notice__title {
	margin: 0 0 6px;
	font-family: var(--favet-display);
	font-size: 1.25rem;
	font-weight: 600;
	line-height: 1.25;
	color: var(--favet-ink);
}

.pkp_structure_main .page_submissions p.favet-c-notice__text {
	margin: 0;
	font-size: 0.96rem;
	line-height: 1.6;
	color: var(--favet-ink-2);
}

.favet-c-notice__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 4px;
}

.favet-c-notice__actions .favet-btn {
	min-height: var(--favet-tap);
	padding: 0 22px;
	font-size: 0.94rem;
}

@media (max-width: 479px) {
	.favet-c-notice__actions .favet-btn {
		flex: 1 1 100%;
	}
}

@media (min-width: 600px) {
	.pkp_structure_main .cmp_notification.favet-c-notice {
		grid-template-columns: 46px minmax(0, 1fr);
		column-gap: 18px;
		padding: 24px 26px 26px;
	}

	.favet-c-notice__actions {
		grid-column: 2;
	}
}

/* Índice "En esta página": chips con ancla a cada sección */
.favet-c-jump {
	margin: 0 0 8px;
}

.pkp_structure_main .page_submissions p.favet-c-jump__label {
	margin: 0 0 10px;
	font-size: 0.76rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--favet-ink-2);
}

.pkp_structure_main .page_submissions .favet-c-jump ul {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.pkp_structure_main .page_submissions .favet-c-jump ul > li {
	margin: 0;
	padding: 0;
}

.pkp_structure_main .page_submissions .favet-c-jump ul > li::before {
	display: none;
}

.pkp_structure_page .favet-c-jump a {
	display: inline-flex;
	align-items: center;
	min-height: var(--favet-tap);
	padding: 0 16px;
	border: 1px solid var(--favet-line);
	border-radius: 999px;
	background: var(--favet-white);
	color: var(--favet-ink);
	font-size: 0.88rem;
	font-weight: 600;
	text-decoration: none;
	box-sizing: border-box;
	transition: border-color 0.15s ease, background-color 0.15s ease, color 0.15s ease;
}

.pkp_structure_page .favet-c-jump a:hover,
.pkp_structure_page .favet-c-jump a:focus {
	border-color: var(--favet-red);
	background: var(--favet-red-soft);
	color: var(--favet-red-dark);
}

/* Secciones: aire entre bloques y margen para las anclas */
.page_submissions :is(.author_guidelines, .submission_checklist, .section_policy, .copyright_notice, .privacy_statement) {
	scroll-margin-top: 24px;
}

.page_submissions :is(.author_guidelines, .submission_checklist, .section_policy, .copyright_notice, .privacy_statement) > h2:first-child {
	margin-top: 2.6rem;
}

.page_submissions .favet-c-jump + .author_guidelines > h2:first-child {
	margin-top: 2rem;
}

/* Lista de comprobación: tarjeta gris con casillas marcadas */
.page_submissions .submission_checklist {
	margin-top: 2.4rem;
	padding: 24px 24px 20px;
	background: var(--favet-bg);
	border: 1px solid var(--favet-line);
	border-radius: var(--favet-radius);
}

.pkp_structure_main .page_submissions .submission_checklist > h2:first-child {
	margin-top: 0;
}

.pkp_structure_main .page_submissions .submission_checklist ul > li {
	padding-left: 36px;
	margin-bottom: 10px;
}

.pkp_structure_main .page_submissions .submission_checklist ul > li::before {
	top: 0.2em;
	left: 0;
	width: 22px;
	height: 22px;
	border-radius: 7px;
	background: var(--favet-white);
	border: 1.5px solid var(--favet-red);
	box-sizing: border-box;
	outline: 0;
}

.pkp_structure_main .page_submissions .submission_checklist ul > li::after {
	content: "";
	position: absolute;
	top: calc(0.2em + 5px);
	left: 8px;
	width: 5px;
	height: 9px;
	border-right: 2.5px solid var(--favet-red);
	border-bottom: 2.5px solid var(--favet-red);
	transform: rotate(45deg);
}

/* Política de sección: tarjeta blanca */
.page_submissions .section_policy {
	margin-top: 2.4rem;
	padding: 4px 24px 22px;
	border: 1px solid var(--favet-line);
	border-radius: var(--favet-radius);
}

.pkp_structure_main .page_submissions .section_policy > h2:first-child {
	margin-top: 1.4rem;
}

/* Derechos y privacidad: bloque final más discreto */
.page_submissions :is(.copyright_notice, .privacy_statement) {
	font-size: 0.97rem;
	color: var(--favet-ink-2);
}

/* -------------------------------------------------------------------------
   15.7 Página "Contacto": tarjetas
   ------------------------------------------------------------------------- */
.page_contact .contact_section {
	display: grid;
	grid-template-columns: 1fr;
	gap: 18px;
}

.page_contact .contact_section::before,
.page_contact .contact_section::after {
	display: none;
}

.page_contact .address {
	grid-column: 1 / -1;
	margin: 0;
	padding: 18px 22px;
	background: var(--favet-bg);
	border: 1px solid var(--favet-line);
	border-radius: var(--favet-radius-sm);
	font-size: 0.98rem;
	line-height: 1.6;
	color: var(--favet-ink-2);
}

.page_contact .contact,
.page_contact .contact.primary,
.page_contact .contact.support {
	float: none;
	width: auto;
	margin: 0;
	padding: 26px 24px 24px;
	background: var(--favet-white);
	border: 1px solid var(--favet-line);
	border-radius: var(--favet-radius);
	box-shadow: var(--favet-shadow);
}

.pkp_structure_main .page_contact .contact h2 {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 16px;
	padding-top: 0;
	font-size: 1.3rem;
}

.pkp_structure_main .page_contact .contact h2::before {
	position: static;
	flex: 0 0 auto;
	width: 40px;
	height: 40px;
	border-radius: 12px;
	background-color: var(--favet-red-soft);
	background-repeat: no-repeat;
	background-position: center;
	background-size: 22px 22px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B3282D' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c0-4 3.6-7 8-7s8 3 8 7'/%3E%3C/svg%3E");
}

.pkp_structure_main .page_contact .contact.support h2::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B3282D' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 13a8 8 0 0 1 16 0'/%3E%3Cpath d='M4 13h3v5H5a1 1 0 0 1-1-1v-4zM17 13h3v4a1 1 0 0 1-1 1h-2v-5z'/%3E%3Cpath d='M12 21h3'/%3E%3C/svg%3E");
}

.page_contact .contact .name {
	font-size: 1.08rem;
	font-weight: 700;
	color: var(--favet-ink);
}

.page_contact .contact .title,
.page_contact .contact .affiliation {
	margin-top: 2px;
	font-size: 0.95rem;
	color: var(--favet-ink-2);
}

.page_contact .contact .phone {
	margin: 12px 0 0;
	font-size: 0.98rem;
}

.page_contact .contact .phone .label {
	display: block;
	margin-bottom: 2px;
	font-size: 0.74rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--favet-ink-2);
}

.page_contact .contact .email {
	margin: 16px 0 0;
	font-size: 0.95rem;
}

.pkp_structure_page .page_contact .contact .email a {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	max-width: 100%;
	min-height: var(--favet-tap);
	padding: 0 18px 0 14px;
	border: 1.5px solid var(--favet-red);
	border-radius: 999px;
	background: var(--favet-white);
	color: var(--favet-red);
	font-weight: 700;
	text-decoration: none;
	box-sizing: border-box;
	overflow-wrap: anywhere;
	transition: background-color 0.18s ease, color 0.18s ease;
}

.pkp_structure_page .page_contact .contact .email a::before {
	content: "";
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E") center / 18px 18px no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E") center / 18px 18px no-repeat;
}

.pkp_structure_page .page_contact .contact .email a:hover,
.pkp_structure_page .page_contact .contact .email a:focus {
	background: var(--favet-red);
	color: var(--favet-white);
}

@media (min-width: 640px) {
	.page_contact .contact_section {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 20px;
	}
}

/* -------------------------------------------------------------------------
   15.8 Cabecera: estado activo, botones de usuario, desplegable y móvil
   Las clases favet-nav-* las imprime templates/frontend/components/
   navigationMenu.tpl del tema (OJS no marca el ítem actual). Los selectores
   por href sirven de respaldo si esa plantilla no está.
   ------------------------------------------------------------------------- */

/* --- Escritorio --- */
@media (min-width: 992px) {
	/* Ítem activo del menú principal: fondo más oscuro y subrayado fijo */
	.pkp_site_nav_menu .pkp_navigation_primary > li.favet-nav-current > a {
		background: rgba(0, 0, 0, 0.16);
		color: var(--favet-white);
	}

	.pkp_site_nav_menu .pkp_navigation_primary > li.favet-nav-current > a::after {
		transform: scaleX(1);
	}

	/* Chevron para los ítems con desplegable (el ::after ya es el subrayado) */
	.pkp_site_nav_menu .pkp_navigation_primary > li > a[aria-haspopup]::before {
		content: "";
		order: 2;
		flex: 0 0 auto;
		width: 7px;
		height: 7px;
		margin-left: 8px;
		margin-top: -3px;
		border-right: 2px solid currentColor;
		border-bottom: 2px solid currentColor;
		transform: rotate(45deg);
		transition: transform 0.2s ease;
	}

	.pkp_site_nav_menu .pkp_navigation_primary > li > a[aria-haspopup]::after {
		width: auto;
		height: 2px;
		margin: 0;
		border: 0;
		vertical-align: baseline;
	}

	.pkp_site_nav_menu .pkp_navigation_primary > li > a[aria-expanded="true"] {
		background: rgba(255, 255, 255, 0.14);
	}

	.pkp_site_nav_menu .pkp_navigation_primary > li > a[aria-expanded="true"]::before {
		transform: rotate(-135deg);
		margin-top: 3px;
	}

	/* Desplegable "Acerca de": panel blanco con pestaña roja y flecha */
	.pkp_site_nav_menu .pkp_navigation_primary ul.dropdown-menu {
		min-width: 16rem;
		padding: 10px 8px 8px;
		border: 1px solid var(--favet-line);
		border-top: 3px solid var(--favet-red);
		border-radius: 12px;
		box-shadow: var(--favet-shadow-lg);
	}

	.pkp_site_nav_menu .pkp_navigation_primary ul.dropdown-menu::before {
		content: "";
		position: absolute;
		top: -9px;
		left: 24px;
		width: 14px;
		height: 14px;
		border-radius: 2px;
		background: var(--favet-red);
		transform: rotate(45deg);
	}

	.pkp_site_nav_menu .pkp_navigation_primary ul.dropdown-menu a {
		display: flex;
		align-items: center;
		gap: 10px;
		padding: 10px 12px 10px 14px;
		border-radius: 8px;
		color: var(--favet-ink);
		font-size: 0.94rem;
		font-weight: 500;
		line-height: 1.3;
	}

	.pkp_site_nav_menu .pkp_navigation_primary ul.dropdown-menu a::before {
		content: "";
		flex: 0 0 auto;
		width: 6px;
		height: 6px;
		border-radius: 50%;
		background: var(--favet-red-tint);
		transition: background-color 0.15s ease, transform 0.15s ease;
	}

	.pkp_site_nav_menu .pkp_navigation_primary ul.dropdown-menu a:hover::before,
	.pkp_site_nav_menu .pkp_navigation_primary ul.dropdown-menu a:focus::before {
		background: var(--favet-red);
		transform: scale(1.3);
	}

	.pkp_site_nav_menu .pkp_navigation_primary ul.dropdown-menu li.favet-nav-current > a {
		background: var(--favet-red-soft);
		color: var(--favet-red-dark);
		font-weight: 700;
	}

	.pkp_site_nav_menu .pkp_navigation_primary ul.dropdown-menu li.favet-nav-current > a::before {
		background: var(--favet-red);
	}

	/* "Registrarse" (relleno) y "Entrar" (borde) como botones pequeños */
	.pkp_site_nav_menu .pkp_navigation_user > li.favet-nav-item--nmi_type_user_register > a,
	.pkp_site_nav_menu .pkp_navigation_user > li.favet-nav-item--nmi_type_user_login > a,
	.pkp_site_nav_menu .pkp_navigation_user > li > a[href$="/user/register"],
	.pkp_site_nav_menu .pkp_navigation_user > li > a[href$="/login"] {
		display: inline-flex;
		align-items: center;
		height: 30px;
		margin: 5px 0 5px 8px;
		padding: 0 16px;
		border: 1.5px solid var(--favet-red);
		border-radius: 999px;
		background: var(--favet-white);
		color: var(--favet-red);
		font-size: 0.82rem;
		font-weight: 700;
		line-height: 1;
		text-decoration: none;
		transition: background-color 0.18s ease, color 0.18s ease, border-color 0.18s ease;
	}

	.pkp_site_nav_menu .pkp_navigation_user > li.favet-nav-item--nmi_type_user_register > a,
	.pkp_site_nav_menu .pkp_navigation_user > li > a[href$="/user/register"] {
		background: var(--favet-red);
		color: var(--favet-white);
	}

	.pkp_site_nav_menu .pkp_navigation_user > li.favet-nav-item--nmi_type_user_register > a:hover,
	.pkp_site_nav_menu .pkp_navigation_user > li.favet-nav-item--nmi_type_user_register > a:focus,
	.pkp_site_nav_menu .pkp_navigation_user > li > a[href$="/user/register"]:hover,
	.pkp_site_nav_menu .pkp_navigation_user > li > a[href$="/user/register"]:focus {
		background: var(--favet-red-dark);
		border-color: var(--favet-red-dark);
		color: var(--favet-white);
		border-radius: 999px;
	}

	.pkp_site_nav_menu .pkp_navigation_user > li.favet-nav-item--nmi_type_user_login > a:hover,
	.pkp_site_nav_menu .pkp_navigation_user > li.favet-nav-item--nmi_type_user_login > a:focus,
	.pkp_site_nav_menu .pkp_navigation_user > li > a[href$="/login"]:hover,
	.pkp_site_nav_menu .pkp_navigation_user > li > a[href$="/login"]:focus {
		background: var(--favet-red-soft);
		color: var(--favet-red-dark);
		border-radius: 999px;
	}

	/* Ítem activo del menú de usuario (p. ej. estando en Registrarse) */
	.pkp_site_nav_menu .pkp_navigation_user > li.favet-nav-current:not(.favet-nav-item--nmi_type_user_register):not(.favet-nav-item--nmi_type_user_login) > a {
		color: var(--favet-red);
	}
}

/* --- Móvil y tablet: hamburguesa y panel blanco --- */
@media (max-width: 991.98px) {
	/* La X del botón abierto, dibujada limpia (el default la desalinea) */
	.pkp_site_nav_toggle--transform > span {
		border-bottom: 0;
	}

	.pkp_site_nav_toggle--transform > span::before {
		top: 8px;
		transform: rotate(45deg);
	}

	.pkp_site_nav_toggle--transform > span::after {
		top: 8px;
		transform: rotate(-45deg);
	}

	.pkp_site_nav_toggle--transform {
		background: var(--favet-red);
	}

	.pkp_site_nav_toggle--transform > span::before,
	.pkp_site_nav_toggle--transform > span::after {
		background: var(--favet-white);
	}

	/* Panel */
	.pkp_site_nav_menu {
		max-height: calc(100vh - var(--favet-mobile-head-h) - 4px);
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		padding: 4px var(--favet-gutter) 22px;
		background: var(--favet-white);
		border-top: 3px solid var(--favet-red);
		box-shadow: 0 30px 40px -20px rgba(35, 39, 43, 0.35);
	}

	.pkp_site_nav_menu :focus-visible {
		outline-color: var(--favet-red);
	}

	.pkp_site_nav_menu--isOpen {
		animation: favet-c-menu-in 0.22s ease both; /* 0.01ms con prefers-reduced-motion (sección 12) */
	}

	.pkp_site_nav_menu .pkp_navigation_primary > li {
		border-bottom: 1px solid var(--favet-line);
	}

	.pkp_site_nav_menu .pkp_navigation_primary > li > a {
		display: flex;
		align-items: center;
		justify-content: space-between;
		min-height: 52px;
		padding: 12px 0;
		color: var(--favet-ink);
		font-size: 1.02rem;
		font-weight: 600;
	}

	.pkp_site_nav_menu .pkp_navigation_primary > li > a::after {
		content: "";
		flex: 0 0 auto;
		width: 8px;
		height: 8px;
		margin-left: 12px;
		border-top: 2px solid var(--favet-line);
		border-right: 2px solid var(--favet-line);
		transform: rotate(45deg);
	}

	.pkp_site_nav_menu .pkp_navigation_primary > li > a:hover,
	.pkp_site_nav_menu .pkp_navigation_primary > li > a:focus {
		color: var(--favet-red);
		text-decoration: none;
	}

	.pkp_site_nav_menu .pkp_navigation_primary > li.favet-nav-current > a {
		color: var(--favet-red);
		font-weight: 700;
	}

	.pkp_site_nav_menu .pkp_navigation_primary > li.favet-nav-current > a::after {
		border-color: var(--favet-red);
	}

	/* Ítem padre ("Acerca de"): en móvil su enlace es "#", así que se ve como
	   etiqueta de grupo y sus hijos quedan siempre visibles debajo */
	.pkp_site_nav_menu .pkp_navigation_primary > li.favet-nav-item--has-children > a {
		min-height: 40px;
		padding: 14px 0 4px;
		font-size: 0.74rem;
		font-weight: 800;
		letter-spacing: 0.14em;
		text-transform: uppercase;
		color: var(--favet-ink-2);
		pointer-events: none;
	}

	.pkp_site_nav_menu .pkp_navigation_primary > li.favet-nav-item--has-children > a::after {
		display: none;
	}

	.pkp_site_nav_menu .pkp_navigation_primary ul {
		margin: 0 0 10px 6px;
		padding-left: 14px;
		border-left: 2px solid var(--favet-red-tint);
	}

	.pkp_site_nav_menu .pkp_navigation_primary ul a {
		display: flex;
		align-items: center;
		min-height: var(--favet-tap);
		padding: 10px 0;
		color: var(--favet-ink);
		font-size: 0.98rem;
		font-weight: 500;
	}

	.pkp_site_nav_menu .pkp_navigation_primary ul li.favet-nav-current > a {
		color: var(--favet-red);
		font-weight: 700;
	}

	/* Buscar: botón con borde a todo el ancho */
	.pkp_navigation_search_wrapper {
		margin-top: 16px;
		padding-top: 0;
		border-top: 0;
	}

	.pkp_site_nav_menu .pkp_navigation_search_wrapper a {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 10px;
		min-height: var(--favet-tap);
		padding: 0 18px;
		border: 1.5px solid var(--favet-line);
		border-radius: 999px;
		color: var(--favet-ink);
		font-size: 0.95rem;
		font-weight: 700;
		text-decoration: none;
		box-sizing: border-box;
	}

	.pkp_site_nav_menu .pkp_navigation_search_wrapper a:hover,
	.pkp_site_nav_menu .pkp_navigation_search_wrapper a:focus {
		border-color: var(--favet-red);
		color: var(--favet-red);
		text-decoration: none;
	}

	.pkp_site_nav_menu .pkp_navigation_search_wrapper .fa {
		color: var(--favet-red);
	}

	/* Menú de usuario: "Registrarse" y "Entrar" como par de botones */
	.pkp_navigation_user.pkp_navigation_user {
		margin-top: 14px;
		padding-top: 14px;
		border-top: 1px solid var(--favet-line);
	}

	.pkp_site_nav_menu .pkp_navigation_user > li > a {
		display: flex;
		align-items: center;
		min-height: var(--favet-tap);
		padding: 8px 0;
		color: var(--favet-ink);
		font-size: 0.98rem;
		font-weight: 600;
	}

	.pkp_site_nav_menu .pkp_navigation_user > li > ul a {
		color: var(--favet-ink-2);
		font-weight: 500;
		min-height: var(--favet-tap);
		padding: 8px 0;
	}

	.pkp_navigation_user .task_count {
		background: var(--favet-red-soft);
		color: var(--favet-red-dark);
	}

	/* Solo cuando el menú de usuario es la pareja Registrarse/Entrar (sin
	   submenús) se muestra como dos botones lado a lado */
	.pkp_site_nav_menu .pkp_navigation_user:not(:has(ul)) {
		display: flex;
		gap: 10px;
	}

	.pkp_site_nav_menu .pkp_navigation_user:not(:has(ul)) > li {
		flex: 1 1 0;
		min-width: 0;
	}

	.pkp_site_nav_menu .pkp_navigation_user > li.favet-nav-item--nmi_type_user_register > a,
	.pkp_site_nav_menu .pkp_navigation_user > li.favet-nav-item--nmi_type_user_login > a,
	.pkp_site_nav_menu .pkp_navigation_user > li > a[href$="/user/register"],
	.pkp_site_nav_menu .pkp_navigation_user > li > a[href$="/login"] {
		justify-content: center;
		padding: 0 16px;
		border: 1.5px solid var(--favet-red);
		border-radius: 999px;
		background: var(--favet-white);
		color: var(--favet-red);
		font-size: 0.95rem;
		font-weight: 700;
		text-decoration: none;
		box-sizing: border-box;
	}

	.pkp_site_nav_menu .pkp_navigation_user > li.favet-nav-item--nmi_type_user_register > a,
	.pkp_site_nav_menu .pkp_navigation_user > li > a[href$="/user/register"] {
		background: var(--favet-red);
		color: var(--favet-white);
	}

	.pkp_site_nav_menu .pkp_navigation_user > li.favet-nav-item--nmi_type_user_register > a:hover,
	.pkp_site_nav_menu .pkp_navigation_user > li.favet-nav-item--nmi_type_user_register > a:focus,
	.pkp_site_nav_menu .pkp_navigation_user > li > a[href$="/user/register"]:hover,
	.pkp_site_nav_menu .pkp_navigation_user > li > a[href$="/user/register"]:focus {
		background: var(--favet-red-dark);
		border-color: var(--favet-red-dark);
		color: var(--favet-white);
		text-decoration: none;
	}

	.pkp_site_nav_menu .pkp_navigation_user > li.favet-nav-item--nmi_type_user_login > a:hover,
	.pkp_site_nav_menu .pkp_navigation_user > li.favet-nav-item--nmi_type_user_login > a:focus,
	.pkp_site_nav_menu .pkp_navigation_user > li > a[href$="/login"]:hover,
	.pkp_site_nav_menu .pkp_navigation_user > li > a[href$="/login"]:focus {
		background: var(--favet-red-soft);
		color: var(--favet-red-dark);
		text-decoration: none;
	}
}

@keyframes favet-c-menu-in {
	from {
		opacity: 0;
		transform: translateY(-8px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* Tablet (768–991): el panel móvil hereda el ancho del contenedor de 728px
   del default para el buscador; aquí vuelve al ancho del panel */
@media (min-width: 768px) and (max-width: 991.98px) {
	.pkp_navigation_search_wrapper {
		width: auto;
	}
}

/* === Parche FAVET: contraste de botones sobre fondos rojos/oscuros === */
a.favet-btn, .favet-btn { text-decoration: none !important; }
a.favet-btn--primary, .favet-btn--primary { color: #fff !important; background: #B3282D !important; border-color: #B3282D !important; }
a.favet-btn--primary:hover, .favet-btn--primary:hover { background: #8E1F23 !important; border-color: #8E1F23 !important; color: #fff !important; }
a.favet-btn--light, .favet-btn--light { color: #B3282D !important; background: #fff !important; }
.favet-hero a.favet-btn--ghost, .favet-cta a.favet-btn--ghost, [class*="favet-cta"] a.favet-btn--ghost, .favet-hero .favet-btn--ghost { color: #fff !important; border: 2px solid rgba(255,255,255,0.8) !important; background: transparent !important; }
.favet-hero a.favet-btn--ghost:hover, .favet-cta a.favet-btn--ghost:hover { background: rgba(255,255,255,0.14) !important; color: #fff !important; }

/* =========================================================================
   16. Correcciones de la revisión 1.1 (páginas interiores)
   Bloque autocontenido que se APPENDE al final de la hoja (después del
   parche de contraste): corrige contraste/estados de botones, chips del
   índice de Envíos, WhatsApp AA, jerarquía del título del caso con barra
   lateral, portada en móvil, paginación del archivo, píldora del correo,
   etiquetas de fecha en búsqueda, tap de 44 px en "olvidé mi contraseña" y
   el párrafo de entrada. Todas las reglas ganan por especificidad igual o
   mayor + orden posterior; solo --light usa !important porque el parche
   anterior fija su color/fondo con !important.
   ========================================================================= */

/* --- 16.1 Botón de contorno: hover/focus legible ---------------------------
   .pkp_structure_page a:hover (0,2,1) pisaba el color blanco de
   .favet-btn--outline:hover (0,2,0): texto rojo oscuro sobre fondo rojo.
   Aquí (0,3,1) gana en reposo y en hover/focus/focus-visible. */
.pkp_structure_page a.favet-btn--outline,
.pkp_structure_page .favet-btn--outline {
	background: var(--favet-white);
	color: var(--favet-red);
	border-color: var(--favet-red);
	text-decoration: none;
}

.pkp_structure_page a.favet-btn--outline:hover,
.pkp_structure_page a.favet-btn--outline:focus,
.pkp_structure_page a.favet-btn--outline:focus-visible,
.pkp_structure_page .favet-btn--outline:hover,
.pkp_structure_page .favet-btn--outline:focus,
.pkp_structure_page .favet-btn--outline:focus-visible {
	background: var(--favet-red);
	color: var(--favet-white);
	border-color: var(--favet-red);
	text-decoration: none;
}

/* --- 16.2 Botón claro (hero / "Ver todos los casos"): estado hover/focus --
   El parche final fija color y fondo con !important y anulaba el hover. */
.pkp_structure_page a.favet-btn--light:hover,
.pkp_structure_page a.favet-btn--light:focus,
.pkp_structure_page .favet-btn--light:hover,
.pkp_structure_page .favet-btn--light:focus {
	background: var(--favet-red-soft) !important; /* #FBEDEE */
	color: var(--favet-red-deep) !important;      /* #6F171B: 9,9:1 sobre #FBEDEE */
}

/* --- 16.3 Índice "En esta página" (Envíos): chips sin subrayado -----------
   La regla de enlaces de lectura de 15.4 (0,4,2) imponía color rojo,
   subrayado y peso; estos selectores son (0,4,3). */
.pkp_structure_page .pkp_structure_main .page_submissions .favet-c-jump li a {
	display: inline-flex;
	align-items: center;
	min-height: var(--favet-tap);
	padding: 0 16px;
	border: 1px solid var(--favet-line);
	border-radius: 999px;
	background: var(--favet-white);
	color: var(--favet-ink);
	font-size: 0.88rem;
	font-weight: 600;
	text-decoration: none;
	overflow-wrap: normal;
	box-sizing: border-box;
	transition: border-color 0.15s ease, background-color 0.15s ease, color 0.15s ease;
}

.pkp_structure_page .pkp_structure_main .page_submissions .favet-c-jump li a:hover,
.pkp_structure_page .pkp_structure_main .page_submissions .favet-c-jump li a:focus {
	border-color: var(--favet-red);
	background: var(--favet-red-soft);
	color: var(--favet-red-dark);
	text-decoration: none;
}

/* --- 16.4 WhatsApp: contraste AA real -------------------------------------
   #128C7E con blanco a 15,2 px bold daba 4,13:1 (< 4,5:1). Base #0B6B60
   (6,4:1) y hover/focus #075E54 (7,7:1). Misma especificidad que 13.1, más
   abajo en la hoja. */
.pkp_structure_page .favet-share__whatsapp,
.obj_article_details.favet-article .entry_details .favet-article__share .favet-share__whatsapp {
	background: #0B6B60;
	color: var(--favet-white);
}

.pkp_structure_page .favet-share__whatsapp:hover,
.pkp_structure_page .favet-share__whatsapp:focus,
.obj_article_details.favet-article .entry_details .favet-article__share .favet-share__whatsapp:hover,
.obj_article_details.favet-article .entry_details .favet-article__share .favet-share__whatsapp:focus {
	background: #075E54;
	color: var(--favet-white);
}

/* --- 16.5 Título del caso: jerarquía en escritorio ------------------------
   Con barra lateral (300 px + 64 px) la columna del título quedaba en
   ~490 px y un título largo ocupaba 7 líneas a 44 px. Se baja el tamaño
   máximo a 36 px y, cuando hay barra lateral, la portada pasa a 200 px. */
.pkp_structure_page .pkp_structure_main .favet-article .favet-article__title {
	font-size: clamp(1.7rem, 1.1rem + 1.6vw, 2.25rem);
	line-height: 1.12;
}

@media (min-width: 1200px) {
	.pkp_structure_content.has_sidebar .favet-article__head--has-cover {
		grid-template-columns: minmax(0, 1fr) 200px;
		gap: 36px;
	}
}

/* --- 16.6 Portada del caso / del número en móvil --------------------------
   Antes iba arriba (order: -1) a 300/260 px y girada: el primer pantallazo
   era solo la imagen y el título empezaba a ~480 px. Ahora el título va
   primero y la portada, más chica y sin giro, cierra la cabecera. */
@media (max-width: 767.98px) {
	.obj_article_details.favet-article .favet-article__cover,
	.obj_issue_toc.favet-issue .favet-issue__cover {
		order: 0;
		max-width: 200px;
		margin: 4px 0 0;
		transform: none;
	}

	.obj_article_details.favet-article .favet-article__cover .sub_item {
		transform: none;
	}

	.obj_article_details.favet-article .favet-article__cover .sub_item:hover {
		transform: none;
	}
}

/* --- 16.7 Paginación del archivo en móvil ---------------------------------
   HTML del core: a.prev · span.current · a.next. En 390 px el contador va
   arriba centrado y los dos enlaces flanquean debajo. */
@media (max-width: 479.98px) {
	.favet-archive .cmp_pagination .current {
		order: -1;
		flex: 1 1 100%;
		margin-bottom: 4px;
		text-align: center;
	}

	.favet-archive .cmp_pagination .prev {
		margin-right: auto;
	}
}

/* --- 16.8 Contacto: el correo como botón apto para dos líneas -------------
   La píldora inline partía la dirección a mitad de palabra; ahora es un
   rectángulo redondeado a todo el ancho de la tarjeta, con el ícono arriba
   a la izquierda y corte prolijo de direcciones largas. */
.pkp_structure_page .page_contact .contact .email a {
	display: flex;
	align-items: flex-start;
	width: 100%;
	padding: 10px 16px 10px 14px;
	border-radius: 14px;
	font-size: 0.92rem;
	line-height: 1.35;
	overflow-wrap: anywhere;
	word-break: break-all;
}

.pkp_structure_page .page_contact .contact .email a::before {
	margin-top: 2px;
}

/* --- 16.9 Búsqueda: etiquetas Año / Mes / Día visibles --------------------
   El tema default las oculta con .pkp_screen_reader() (position: absolute
   !important; left: -2000px; clip) y la primera <option> está vacía: el
   usuario veía tres cajas en blanco. Se muestran como rótulos pequeños. */
.pkp_structure_page .page_search .date_range label {
	position: static !important;
	left: auto;
	width: auto;
	height: auto;
	margin: 0;
	padding: 0;
	clip: auto;
	overflow: visible;
	flex: 0 0 auto;
	align-self: center;
	font-size: 0.8rem;
	font-weight: 600;
	line-height: 1.2;
	color: var(--favet-ink-2);
}

.pkp_structure_page .page_search .date_range label:focus {
	box-shadow: none;
}

.pkp_structure_page .page_search .date_range [name*="Year"] {
	flex: 0 0 5em;
	width: 5em;
}

.pkp_structure_page .page_search .date_range [name*="Day"] {
	flex: 0 0 4.2em;
	width: 4.2em;
}

/* --- 16.10 "¿Has olvidado tu contraseña?": objetivo táctil de 44 px ------- */
.pkp_structure_page .page_login .cmp_form .password a {
	min-height: var(--favet-tap);
	margin-top: 0;
}

/* --- 16.11 Párrafo de entrada: mismo color que el cuerpo -----------------
   Un lead largo (p. ej. 12 líneas en "Sobre la revista") en gris y más
   grande invertía la jerarquía; queda apenas mayor y en tinta plena. */
.pkp_structure_main :is(.page_about, .page_submissions, .page_privacy, .page_masthead, .page_information) > h1 + p,
.pkp_structure_main .page[class="page"] > h2:first-child + p {
	font-size: 1.06rem;
	font-weight: 500;
	color: var(--favet-ink);
}

/* --- 16.12 Reducción de movimiento: también los botones ------------------- */
@media (prefers-reduced-motion: reduce) {
	.favet-btn:hover,
	.pkp_structure_page .favet-article__galley .obj_galley_link:hover,
	.pkp_structure_page .favet-share__whatsapp:hover,
	.pkp_structure_page .favet-share__whatsapp:focus {
		transform: none;
	}
}


/* === favet-auth (registro/ingreso v2) === */

/* =========================================================================
   17. Registro e ingreso en dos paneles, "cuenta lista" y botón "Enviar mi caso"
   -------------------------------------------------------------------------
   Bloque autocontenido que se APPENDE al final de la hoja. Namespace:
     .favet-auth*     userRegister.tpl y userLogin.tpl (panel rojo + tarjeta)
     .favet-regdone*  userRegisterComplete.tpl
     .favet-nav-cta*  ítem "Enviar mi caso" del menú principal
   Se apoya en la sección 14 (campos, legends numeradas, cajas de
   consentimiento, errores, altcha, botones): no la reemplaza, solo anula lo
   que hace de "tarjeta" al <form> (ahora la tarjeta es .favet-auth__card) con
   selectores más específicos (.page_register.favet-auth ..., 0,3,0 frente a
   0,2,0) y agrega el panel de marca. Móvil primero.
   ========================================================================= */

/* --- 17.0 Página a ancho completo: la barra lateral pasa debajo ----------
   15.1 arma un grid main + 300 px en ≥ 992. En estas tres páginas el main
   ocupa todo el ancho y el bloque lateral queda como tarjeta centrada
   debajo. Especificidad (0,4,1) > (0,3,1) de 15.1. */
@media (min-width: 992px) {
	body:not(.pkp_page_index) .pkp_structure_content.has_sidebar:has(.favet-auth, .favet-regdone) {
		grid-template-columns: minmax(0, 1fr);
		column-gap: 0;
	}

	body:not(.pkp_page_index) .pkp_structure_content.has_sidebar:has(.favet-auth, .favet-regdone) .pkp_structure_main {
		padding-bottom: 40px;
	}

	body:not(.pkp_page_index) .pkp_structure_content.has_sidebar:has(.favet-auth, .favet-regdone) .pkp_structure_sidebar {
		position: static;
		width: 100%;
		max-width: 720px;
		margin: 0 auto;
		padding-bottom: 64px;
	}
}

/* Sin límite de 820 px (14.1): el ancho lo pone .favet-auth__layout */
.pkp_structure_main .page_register.favet-auth,
.pkp_structure_main .page_login.favet-auth,
.pkp_structure_main .page_register_complete.favet-regdone {
	max-width: none;
}

.favet-auth .cmp_breadcrumbs {
	margin-bottom: 18px;
}

/* --- 17.1 Disposición: panel rojo + tarjeta ------------------------------ */
.favet-auth__layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	max-width: 1040px;
	margin: 0 auto;
	border-radius: 24px;
	box-shadow: var(--favet-shadow-lg);
}

.favet-auth--login .favet-auth__layout {
	max-width: 920px;
}

/* --- 17.2 Panel rojo (marca y beneficios) ------------------------------- */
.favet-auth__brand {
	position: relative;
	isolation: isolate;
	padding: 22px 20px 20px;
	border-radius: 24px 24px 0 0;
	color: var(--favet-white);
	background:
		radial-gradient(520px 320px at 100% 0%, rgba(255, 255, 255, 0.16), transparent 62%),
		radial-gradient(420px 300px at 0% 100%, rgba(0, 0, 0, 0.24), transparent 60%),
		linear-gradient(152deg, var(--favet-red-deep) 0%, var(--favet-red-dark) 36%, var(--favet-red) 76%, #C63A3F 100%);
	overflow: clip;
}

/* Trama de puntos que se desvanece hacia abajo (eco del hero de la portada) */
.favet-auth__brand::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: radial-gradient(rgba(255, 255, 255, 0.2) 1px, transparent 1.6px) 0 0 / 22px 22px;
	-webkit-mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.9), transparent 70%);
	mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.9), transparent 70%);
}

/* Anillo decorativo abajo a la derecha */
.favet-auth__brand::after {
	content: "";
	position: absolute;
	right: -90px;
	bottom: -120px;
	z-index: -1;
	width: 300px;
	height: 300px;
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 50%;
	box-shadow: inset 0 0 0 34px rgba(255, 255, 255, 0.05);
}

.favet-auth__brand-inner {
	position: relative;
	z-index: 1;
}

.favet-auth__brand :focus-visible {
	outline-color: var(--favet-white);
}

/* Logo sobre chip blanco (el logo FAVET es rojo sobre blanco) */
.favet-auth .favet-auth__logo {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	margin: 0 0 16px;
	padding: 6px 12px;
	background: var(--favet-white);
	border-radius: 12px;
	box-shadow: 0 10px 24px -12px rgba(0, 0, 0, 0.5);
	text-decoration: none;
	box-sizing: border-box;
}

.favet-auth .favet-auth__logo img {
	display: block;
	width: auto;
	height: 32px;
	max-width: 160px;
	object-fit: contain;
}

.favet-auth .favet-auth__logo--text {
	padding: 6px 14px;
	font-family: var(--favet-display);
	font-size: 1.15rem;
	font-weight: 600;
	letter-spacing: -0.01em;
	color: var(--favet-red-dark);
}

.favet-auth .favet-auth__logo:hover,
.favet-auth .favet-auth__logo:focus {
	background: var(--favet-red-soft);
	color: var(--favet-red-deep);
}

/* Textos cortos para que quepa en una línea en el panel de 340-390 px; si
   se partiera, el punto queda alineado con la primera línea (flex-start) */
.favet-auth .favet-auth__kicker {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin: 0 0 10px;
	font-size: 0.72rem;
	font-weight: 800;
	line-height: 1.3;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--favet-red-tint);
}

.favet-auth__dot {
	flex: 0 0 auto;
	width: 8px;
	height: 8px;
	margin-top: 4px; /* centrado con la primera línea del kicker (15 px) */
	border-radius: 50%;
	background: var(--favet-white);
	box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.18);
}

.favet-auth .favet-auth__headline {
	margin: 0 0 10px;
	font-family: var(--favet-display);
	font-size: clamp(1.6rem, 1.15rem + 1.9vw, 2.35rem);
	font-weight: 600;
	line-height: 1.08;
	letter-spacing: -0.015em;
	color: var(--favet-white);
}

.favet-auth .favet-auth__headline em {
	font-style: italic;
	font-weight: 500;
	color: var(--favet-red-tint);
}

.favet-auth .favet-auth__intro {
	max-width: 36ch;
	margin: 0 0 16px;
	font-size: 0.95rem;
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.92); /* 4.57:1 sobre #C63A3F, el extremo claro del degradado */
}

/* Beneficios */
.favet-auth .favet-auth__benefits {
	margin: 0;
	padding: 0;
	list-style: none;
}

.favet-auth .favet-auth__benefit {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin: 0;
	padding: 10px 0;
	border-top: 1px solid rgba(255, 255, 255, 0.16);
}

.favet-auth__benefit-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 40px;
	height: 40px;
	border: 1px solid rgba(255, 255, 255, 0.24);
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.12);
	color: var(--favet-white);
}

.favet-auth__benefit-icon svg {
	width: 22px;
	height: 22px;
}

.favet-auth__benefit-text {
	min-width: 0;
	padding-top: 2px;
}

.favet-auth__benefit-text strong {
	display: block;
	font-size: 0.95rem;
	font-weight: 700;
	line-height: 1.35;
	color: var(--favet-white);
}

.favet-auth__benefit-text > span {
	display: block;
	margin-top: 2px;
	font-size: 0.85rem;
	line-height: 1.45;
	color: rgba(255, 255, 255, 0.92); /* AA también sobre #C63A3F */
}

/* "¿Ya tienes cuenta? Entrar" / "¿Aún no tienes cuenta? Registrarse" */
.favet-auth .favet-auth__switch {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 10px;
	margin: 6px 0 0;
	padding-top: 14px;
	border-top: 1px solid rgba(255, 255, 255, 0.18);
	font-size: 0.95rem;
	font-weight: 500;
	line-height: 1.4;
	color: rgba(255, 255, 255, 0.92);
}

.favet-auth .favet-auth__switch-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: var(--favet-tap);
	padding: 0 16px;
	border-radius: 999px;
	background: var(--favet-white);
	font-weight: 800;
	color: var(--favet-red-dark);
	text-decoration: none;
	box-sizing: border-box;
	transition: background-color 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

.favet-auth .favet-auth__switch-link:hover,
.favet-auth .favet-auth__switch-link:focus {
	background: var(--favet-red-soft);
	color: var(--favet-red-deep);
	text-decoration: none;
	transform: translateY(-1px);
}

.favet-auth__switch-icon {
	width: 16px;
	height: 16px;
	transition: transform 0.2s ease;
}

.favet-auth .favet-auth__switch-link:hover .favet-auth__switch-icon {
	transform: translateX(3px);
}

/* Versión dentro de la tarjeta (móvil: el panel rojo queda arriba, lejos del
   final del formulario) */
.favet-auth .favet-auth__switch--inline {
	justify-content: center;
	margin: 16px 0 0;
	padding-top: 16px;
	border-top: 1px solid var(--favet-line);
	color: var(--favet-ink-2);
	text-align: center;
}

.favet-auth .favet-auth__switch--inline a {
	display: inline-flex;
	align-items: center;
	min-height: var(--favet-tap);
	padding: 0 6px;
	font-weight: 800;
	color: var(--favet-red);
	text-decoration: none;
}

.favet-auth .favet-auth__switch--inline a:hover,
.favet-auth .favet-auth__switch--inline a:focus {
	color: var(--favet-red-dark);
	text-decoration: underline;
	text-underline-offset: 4px;
}

/* Móvil: panel compacto (sin descripciones ni intro) para que la tarjeta
   asome en el primer pantallazo. En el ingreso tampoco se listan los
   beneficios: quien entra a diario no los necesita y el campo de usuario
   entra en la primera pantalla. */
@media (max-width: 599.98px) {
	.favet-auth .favet-auth__intro,
	.favet-auth__benefit-text > span,
	.favet-auth--login .favet-auth__benefits {
		display: none;
	}

	.favet-auth--login .favet-auth__switch {
		margin-top: 0;
		padding-top: 12px;
	}

	/* El chip del logo conserva los 44 px (--favet-tap) de la regla base */
	.favet-auth .favet-auth__logo {
		margin-bottom: 12px;
	}

	.favet-auth .favet-auth__logo img {
		height: 28px;
	}

	.favet-auth .favet-auth__headline {
		margin-bottom: 12px;
	}

	.favet-auth .favet-auth__benefit {
		align-items: center;
		padding: 6px 0;
	}

	.favet-auth__benefit-icon {
		width: 32px;
		height: 32px;
		border-radius: 10px;
	}

	.favet-auth__benefit-icon svg {
		width: 18px;
		height: 18px;
	}

	.favet-auth__benefit-text {
		padding-top: 0;
	}

	.favet-auth__benefit-text strong {
		font-size: 0.92rem;
	}
}

/* --- 17.3 Tarjeta del formulario ----------------------------------------- */
.favet-auth__main {
	background: var(--favet-white);
	border: 1px solid var(--favet-line);
	border-top: 0;
	border-radius: 0 0 24px 24px;
}

.favet-auth__card {
	padding: 26px 18px 24px;
}

.pkp_structure_main .favet-auth .favet-auth__title {
	margin: 0 0 6px;
	font-family: var(--favet-display);
	font-size: clamp(1.75rem, 1.35rem + 1.6vw, 2.15rem);
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: -0.02em;
	color: var(--favet-ink);
}

/* Nota "Los campos obligatorios...": pequeña, para que no se lea como subtítulo */
.pkp_structure_main .favet-auth .favet-auth__note {
	max-width: 60ch;
	margin: 2px 0 20px;
	font-size: 0.82rem;
	line-height: 1.5;
	color: var(--favet-ink-2);
}

.pkp_structure_main .favet-auth .favet-auth__note .required {
	color: var(--favet-red);
	font-weight: 700;
}

/* El <form> deja de ser tarjeta (14.1): la tarjeta es .favet-auth__card */
.page_register.favet-auth .cmp_form,
.page_login.favet-auth .cmp_form {
	max-width: none;
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	overflow: visible;
}

.page_register.favet-auth .cmp_form::before,
.page_login.favet-auth .cmp_form::before {
	content: none;
}

/* Mensaje de contexto del ingreso ("Debes iniciar sesión para...") */
.pkp_structure_main .favet-auth .favet-auth__message {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 0 0 18px;
	padding: 12px 14px;
	background: var(--favet-red-soft);
	border: 1px solid var(--favet-red-tint);
	border-radius: 12px;
	font-size: 0.93rem;
	font-weight: 600;
	line-height: 1.5;
	color: var(--favet-red-deep);
}

.favet-auth__message-icon {
	flex: 0 0 auto;
	width: 20px;
	height: 20px;
	margin-top: 1px;
	color: var(--favet-red);
}

/* Ayuda breve bajo usuario y contraseña */
.favet-auth .favet-auth__hints {
	display: grid;
	gap: 8px;
	margin: 0 0 22px;
	padding: 12px 14px;
	background: var(--favet-bg);
	border: 1px solid var(--favet-line);
	border-radius: 12px;
}

.pkp_structure_main .favet-auth .favet-auth__hint {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	max-width: none;
	margin: 0;
	font-size: 0.86rem;
	line-height: 1.5;
	color: var(--favet-ink-2);
}

.pkp_structure_main .favet-auth .favet-auth__hint strong {
	font-weight: 700;
	color: var(--favet-ink);
}

.favet-auth__hint-icon {
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
	margin-top: 2px;
	color: var(--favet-red);
}

/* Botón grande a todo el ancho: "Crear mi cuenta" / "Entrar" */
.page_register.favet-auth .cmp_form .buttons,
.page_login.favet-auth .cmp_form .buttons {
	margin-top: 12px;
	padding-top: 22px;
}

.favet-auth .cmp_form .buttons .favet-auth__submit {
	width: 100%;
	min-height: 56px;
	gap: 10px;
	padding: 0 26px;
	font-size: 1.05rem;
	box-shadow: 0 16px 32px -14px rgba(179, 40, 45, 0.75);
}

.favet-auth__submit-icon {
	flex: 0 0 auto;
	width: 20px;
	height: 20px;
	transition: transform 0.2s ease;
}

.favet-auth .cmp_form .buttons .favet-auth__submit:hover .favet-auth__submit-icon {
	transform: translateX(3px);
}

/* "Después de registrarte podrás enviar tu caso de inmediato." */
.pkp_structure_main .favet-auth .favet-auth__after {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	gap: 8px;
	max-width: none;
	margin: 14px 0 0;
	font-size: 0.9rem;
	font-weight: 600;
	line-height: 1.45;
	text-align: left;
	color: var(--favet-ink-2);
}

.favet-auth__after-icon {
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
	margin-top: 1px;
	color: var(--favet-red);
}

/* --- 17.4 Escritorio: dos columnas, panel rojo pegajoso ------------------ */
/* Entre 900 y 1199 px el formulario mide ~280 px: las dos columnas de 14.3
   (nombre/apellidos, contraseñas) dejarían inputs de 130 px, así que vuelven a
   una columna y la tarjeta reduce su padding. (0,3,0) > (0,2,0) de 14.3. */
@media (min-width: 900px) and (max-width: 1199.98px) {
	.page_register.favet-auth .identity .fields,
	.page_register.favet-auth .login .fields {
		grid-template-columns: 1fr;
	}

	.favet-auth__card {
		padding: 36px 32px 32px;
	}
}

@media (min-width: 900px) {
	.favet-auth__layout {
		grid-template-columns: 360px minmax(0, 1fr);
		align-items: stretch;
	}

	.favet-auth--login .favet-auth__layout {
		grid-template-columns: 340px minmax(0, 1fr);
	}

	.favet-auth__brand {
		padding: 34px 32px 30px;
		border-radius: 24px 0 0 24px;
	}

	.favet-auth__brand::after {
		right: -110px;
		bottom: -140px;
		width: 360px;
		height: 360px;
	}

	.favet-auth__brand-inner {
		position: sticky;
		top: 24px;
	}

	.favet-auth .favet-auth__logo {
		margin-bottom: 26px;
	}

	.favet-auth .favet-auth__headline {
		margin-bottom: 12px;
	}

	.favet-auth .favet-auth__intro {
		margin-bottom: 20px;
	}

	.favet-auth .favet-auth__switch {
		margin-top: 10px;
		padding-top: 18px;
	}

	.favet-auth__main {
		border-top: 1px solid var(--favet-line);
		border-left: 0;
		border-radius: 0 24px 24px 0;
	}

	.favet-auth--login .favet-auth__card {
		max-width: 560px;
		padding: 46px 48px 40px;
	}

	/* El enlace de cambio ya está en el panel rojo, siempre a la vista */
	.favet-auth .favet-auth__switch--inline {
		display: none;
	}
}

@media (min-width: 1200px) {
	.favet-auth__layout {
		grid-template-columns: 390px minmax(0, 1fr);
	}

	.favet-auth__card {
		padding: 40px 44px 36px;
	}

	.favet-auth__brand {
		padding: 40px 38px 34px;
	}
}

/* --- 17.5 "¡Tu cuenta está lista!" (.favet-regdone) ---------------------- */
.pkp_structure_main .page_register_complete.favet-regdone {
	max-width: 900px;
	margin-left: auto;
	margin-right: auto;
}

.favet-regdone__hero {
	padding: 10px 0 28px;
	text-align: center;
}

.favet-regdone__check {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 76px;
	height: 76px;
	border-radius: 50%;
	background: linear-gradient(135deg, var(--favet-red-dark), var(--favet-red) 70%, #C63A3F);
	color: var(--favet-white);
	box-shadow: 0 18px 36px -16px rgba(179, 40, 45, 0.75), 0 0 0 10px var(--favet-red-soft);
	animation: favet-regdone-pop 0.55s cubic-bezier(0.2, 0.9, 0.3, 1.25) both;
}

.favet-regdone__check svg {
	width: 38px;
	height: 38px;
}

@keyframes favet-regdone-pop {
	from {
		opacity: 0;
		transform: scale(0.6);
	}
	to {
		opacity: 1;
		transform: scale(1);
	}
}

.pkp_structure_main .favet-regdone .favet-regdone__title {
	max-width: none;
	margin: 20px 0 10px;
	padding: 0;
	font-family: var(--favet-display);
	font-size: clamp(2rem, 1.4rem + 2.6vw, 3rem);
	font-weight: 600;
	line-height: 1.08;
	letter-spacing: -0.02em;
	color: var(--favet-ink);
}

.pkp_structure_main .favet-regdone .favet-regdone__lead {
	max-width: 48ch;
	margin: 0 auto;
	font-size: 1.05rem;
	line-height: 1.55;
	color: var(--favet-ink-2);
}

/* Tarjeta destacada: CTA + resumen de 3 pasos */
.favet-regdone__card {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 22px;
	margin: 0;
	padding: 28px 20px 24px;
	background:
		radial-gradient(520px 260px at 100% 0%, rgba(179, 40, 45, 0.08), transparent 70%),
		var(--favet-white);
	border: 1px solid var(--favet-red-tint);
	border-radius: 22px;
	box-shadow: var(--favet-shadow-lg);
	overflow: clip;
}

.favet-regdone__card::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 5px;
	background: linear-gradient(90deg, var(--favet-red-dark) 0%, var(--favet-red) 55%, #C4363B 100%);
}

.pkp_structure_main .favet-regdone .favet-regdone__card-title {
	margin: 0 0 10px;
	font-family: var(--favet-display);
	font-size: clamp(1.45rem, 1.15rem + 1.2vw, 1.85rem);
	font-weight: 600;
	line-height: 1.15;
	letter-spacing: -0.015em;
	color: var(--favet-ink);
}

.pkp_structure_main .favet-regdone .favet-regdone__card-text {
	margin: 0 0 22px;
	font-size: 0.98rem;
	line-height: 1.6;
	color: var(--favet-ink-2);
}

.pkp_structure_page .favet-regdone .favet-regdone__cta {
	width: 100%;
	min-height: 56px;
	padding: 0 30px;
	font-size: 1.05rem;
}

.favet-regdone__card-side {
	padding: 18px 16px;
	background: var(--favet-bg);
	border: 1px solid var(--favet-line);
	border-radius: 16px;
}

.pkp_structure_main .favet-regdone .favet-regdone__steps-label {
	margin: 0 0 12px;
	font-size: 0.74rem;
	font-weight: 800;
	line-height: 1.3;
	letter-spacing: 0.13em;
	text-transform: uppercase;
	color: var(--favet-ink-2);
}

.favet-regdone .favet-regdone__steps {
	display: grid;
	gap: 12px;
	margin: 0 0 12px;
	padding: 0;
	list-style: none;
}

.favet-regdone .favet-regdone__step {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin: 0;
	padding: 0;
}

.favet-regdone__num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 30px;
	height: 30px;
	border: 1.5px solid var(--favet-red);
	border-radius: 50%;
	background: var(--favet-white);
	font-family: var(--favet-display);
	font-style: italic;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1;
	color: var(--favet-red);
}

.favet-regdone__step-text {
	min-width: 0;
	padding-top: 4px;
}

.favet-regdone__step-text strong {
	display: block;
	font-size: 0.95rem;
	font-weight: 700;
	line-height: 1.35;
	color: var(--favet-ink);
}

.favet-regdone__step-text > span {
	display: block;
	margin-top: 2px;
	font-size: 0.85rem;
	line-height: 1.45;
	color: var(--favet-ink-2);
}

.pkp_structure_page .favet-regdone .favet-regdone__guidelines {
	margin-top: 2px;
	font-size: 0.92rem;
}

/* Rótulo "También puedes": anula el max-width: 60ch de 14.0
   (.page_register_complete > p) para que se centre sobre las píldoras */
.pkp_structure_main .favet-regdone .favet-regdone__more {
	max-width: none;
	margin: 30px 0 10px;
	font-size: 0.76rem;
	font-weight: 800;
	line-height: 1.3;
	letter-spacing: 0.13em;
	text-transform: uppercase;
	text-align: center;
	color: var(--favet-ink-2);
}

/* Acciones secundarias como píldoras (anula la rejilla de tarjetas de 14.8) */
.page_register_complete.favet-regdone .registration_complete_actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	margin: 0;
	padding: 0;
}

.pkp_structure_page .page_register_complete.favet-regdone .registration_complete_actions a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: var(--favet-tap);
	padding: 0 18px;
	background: var(--favet-white);
	border: 1.5px solid var(--favet-line);
	border-radius: 999px;
	font-size: 0.92rem;
	font-weight: 700;
	line-height: 1.3;
	color: var(--favet-ink);
	text-decoration: none;
}

.pkp_structure_page .page_register_complete.favet-regdone .registration_complete_actions a::after {
	width: 7px;
	height: 7px;
	margin: 0 0 0 2px;
}

.pkp_structure_page .page_register_complete.favet-regdone .registration_complete_actions a:hover,
.pkp_structure_page .page_register_complete.favet-regdone .registration_complete_actions a:focus {
	background: var(--favet-red-soft);
	border-color: var(--favet-red);
	color: var(--favet-red-dark);
	box-shadow: none;
	transform: none;
}

@media (min-width: 768px) {
	.favet-regdone__hero {
		padding: 16px 0 34px;
	}

	.favet-regdone__card {
		grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
		gap: 32px;
		padding: 38px 40px 36px;
	}

	.favet-regdone__card-main {
		align-self: center;
	}

	.pkp_structure_page .favet-regdone .favet-regdone__cta {
		width: auto;
	}

	.favet-regdone__card-side {
		padding: 22px 22px 20px;
	}

	.page_register_complete.favet-regdone .registration_complete_actions {
		gap: 12px;
	}
}

/* --- 17.6 Botón "Enviar mi caso" en el menú principal (.favet-nav-cta) --- */
.favet-nav-cta__icon {
	flex: 0 0 auto;
	width: 22px;
	height: 22px;
	padding: 4px;
	border-radius: 50%;
	background: var(--favet-red);
	color: var(--favet-white);
	box-sizing: border-box;
}

/* Escritorio: píldora blanca al final de la barra roja, junto a "Buscar" */
@media (min-width: 992px) {
	.pkp_navigation_primary {
		flex: 1 1 auto;
	}

	.pkp_site_nav_menu .pkp_navigation_primary > li.favet-nav-cta {
		margin-left: auto;
		align-items: center;
	}

	.pkp_site_nav_menu .pkp_navigation_primary > li.favet-nav-cta > a {
		gap: 8px;
		min-height: 38px;
		margin: 9px 0 9px 16px;
		padding: 0 18px 0 12px;
		border-radius: 999px;
		background: var(--favet-white);
		color: var(--favet-red-dark);
		font-size: 0.88rem;
		font-weight: 800;
		letter-spacing: 0;
		box-shadow: 0 8px 18px -10px rgba(0, 0, 0, 0.55);
		transition: background-color 0.18s ease, color 0.18s ease, transform 0.18s ease;
	}

	.pkp_site_nav_menu .pkp_navigation_primary > li.favet-nav-cta > a::after {
		content: none;
	}

	.pkp_site_nav_menu .pkp_navigation_primary > li.favet-nav-cta > a:hover,
	.pkp_site_nav_menu .pkp_navigation_primary > li.favet-nav-cta > a:focus {
		background: var(--favet-red-soft);
		color: var(--favet-red-deep);
		transform: translateY(-1px);
	}

	.pkp_site_nav_menu .pkp_navigation_primary > li.favet-nav-cta > a:focus-visible {
		outline: 3px solid var(--favet-white);
		outline-offset: 2px;
	}
}

/* Móvil y tablet: botón rojo destacado al final del panel desplegable */
@media (max-width: 991.98px) {
	.pkp_site_nav_menu .pkp_navigation_primary > li.favet-nav-cta {
		margin-top: 16px;
		border-bottom: 0;
	}

	.pkp_site_nav_menu .pkp_navigation_primary > li.favet-nav-cta > a {
		justify-content: center;
		gap: 10px;
		min-height: 52px;
		padding: 0 18px;
		border-radius: 999px;
		background: var(--favet-red);
		color: var(--favet-white);
		font-size: 1rem;
		font-weight: 700;
		text-decoration: none;
		box-shadow: 0 12px 28px -12px rgba(179, 40, 45, 0.8);
		box-sizing: border-box;
	}

	.pkp_site_nav_menu .pkp_navigation_primary > li.favet-nav-cta > a::after {
		content: none;
	}

	.pkp_site_nav_menu .pkp_navigation_primary > li.favet-nav-cta > a:hover,
	.pkp_site_nav_menu .pkp_navigation_primary > li.favet-nav-cta > a:focus {
		background: var(--favet-red-dark);
		color: var(--favet-white);
		text-decoration: none;
	}

	.pkp_site_nav_menu .pkp_navigation_primary > li.favet-nav-cta .favet-nav-cta__icon {
		background: var(--favet-white);
		color: var(--favet-red);
	}
}

/* --- 17.7 Reducción de movimiento ---------------------------------------- */
@media (prefers-reduced-motion: reduce) {
	.favet-regdone__check {
		animation: none;
	}

	.favet-auth .favet-auth__switch-link:hover,
	.favet-auth .favet-auth__switch-link:hover .favet-auth__switch-icon,
	.favet-auth .cmp_form .buttons .favet-auth__submit:hover .favet-auth__submit-icon,
	.pkp_site_nav_menu .pkp_navigation_primary > li.favet-nav-cta > a:hover {
		transform: none;
	}
}

/* === 17.8 Arreglo: barra de navegación en anchos medios (992-1200px) y botones de una sola línea === */
.pkp_site_nav_menu .pkp_navigation_primary > li.favet-nav-cta > a,
.pkp_site_nav_menu .pkp_navigation_user > li > a,
.favet-auth__switch-link,
.pkp_navigation_user > li.profile > a {
	white-space: nowrap !important;
	flex-shrink: 0 !important;
	width: auto !important;
}
@media (min-width: 992px) {
	/* La fila del menú no debe partirse: los ítems se achican antes que saltar de línea */
	.pkp_site_nav_menu .pkp_navigation_primary_row,
	.pkp_site_nav_menu .pkp_navigation_primary_wrapper { flex-wrap: nowrap !important; }
	.pkp_site_nav_menu .pkp_navigation_primary { flex-wrap: nowrap !important; min-width: 0; }
	.pkp_site_nav_menu .pkp_navigation_primary > li > a { white-space: nowrap; }
	.pkp_site_nav_menu .pkp_navigation_primary > li.favet-nav-cta > a { display: inline-flex !important; align-items: center; white-space: nowrap !important; line-height: 1 !important; height: 38px; }
}
@media (min-width: 992px) and (max-width: 1200px) {
	.pkp_site_nav_menu .pkp_navigation_primary > li > a { padding-left: 9px !important; padding-right: 9px !important; font-size: 0.86rem !important; }
	.pkp_site_nav_menu .pkp_navigation_primary > li.favet-nav-cta > a { margin-left: 8px !important; padding: 0 12px 0 8px !important; font-size: 0.82rem !important; }
	/* "Buscar": solo la lupa */
	.pkp_navigation_search_wrapper .pkp_search span:not(.fa), .pkp_navigation_search_wrapper .pkp_search .pkp_search_label { display: none; }
	.pkp_navigation_search_wrapper .pkp_search { padding-left: 8px; padding-right: 8px; }
}
@media (max-width: 991.98px) {
	/* Panel del celular: Registrarse / Entrar como botones claros */
	.pkp_site_nav_menu .pkp_navigation_user > li > a { display: flex; justify-content: center; min-height: 48px; border-radius: 999px; border: 1.5px solid #D5D9DE; background: #fff; color: #23272B; font-weight: 700; margin: 8px 0; }
	.pkp_site_nav_menu .pkp_navigation_user > li:first-child > a { background: #FBEDEE; border-color: #F0B9BC; color: #8E1F23; }
}

/* =========================================================================
   19. Cabecera compacta, tarjetas de casos v2 y pie de página v2
   (pedido del cliente: menos espacio arriba, tarjetas y pie más cuidados)
   ========================================================================= */

/* --- 19.1 Cabecera compacta (escritorio): una sola fila blanca con el logo
   a la izquierda y "Registrarse / Entrar" a la derecha; debajo, la barra
   roja más baja (50px). Antes: franja de usuario (40px) + logo (104px) +
   barra (56px). Ahora: fila (72px) + barra (50px). ------------------------ */
@media (min-width: 992px) {
	:root {
		--favet-nav-h: 50px;
	}

	.pkp_head_wrapper,
	.has_site_logo .pkp_head_wrapper {
		padding-top: 0;
	}

	.pkp_site_name_wrapper {
		display: flex;
		align-items: center;
		min-height: 72px;
		padding-top: 10px;
		padding-bottom: 10px;
		box-sizing: border-box;
	}

	.pkp_site_name .is_img img {
		max-height: 50px;
	}

	.pkp_site_name .is_text {
		font-size: 1.5rem;
	}

	/* El menú de usuario ocupa la misma fila que el logo, centrado en vertical */
	.pkp_site_nav_menu .pkp_navigation_user_wrapper {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		height: 72px;
		padding: 0;
		box-sizing: border-box;
	}

	.pkp_site_nav_menu .pkp_navigation_user > li > a {
		padding-top: 9px;
		padding-bottom: 9px;
		line-height: 20px;
	}

	/* Botones de la fila: un poco más altos que antes (fila más generosa) */
	.pkp_site_nav_menu .pkp_navigation_user > li.favet-nav-item--nmi_type_user_register > a,
	.pkp_site_nav_menu .pkp_navigation_user > li.favet-nav-item--nmi_type_user_login > a,
	.pkp_site_nav_menu .pkp_navigation_user > li > a[href$="/user/register"],
	.pkp_site_nav_menu .pkp_navigation_user > li > a[href$="/login"] {
		height: 36px;
		margin: 0 0 0 8px;
		padding: 0 18px;
		font-size: 0.86rem;
	}

	/* Barra roja: píldora "Enviar mi caso" centrada en los 50px */
	.pkp_site_nav_menu .pkp_navigation_primary > li.favet-nav-cta > a {
		margin-top: 6px;
		margin-bottom: 6px;
	}
}

/* --- 19.2 Tarjetas de casos v2 (solo modo tarjeta: portada) -------------- */
.favet-card--grid.obj_article_summary {
	position: relative;
	border-color: rgba(35, 39, 43, 0.08);
	border-radius: 20px;
	box-shadow: 0 1px 2px rgba(35, 39, 43, 0.05), 0 14px 34px -22px rgba(35, 39, 43, 0.3);
}

.favet-card--grid.obj_article_summary:hover,
.favet-card--grid.obj_article_summary:focus-within {
	border-color: rgba(179, 40, 45, 0.25);
}

/* Toda la tarjeta es clicable: el enlace del título se estira sobre ella */
.favet-card--grid .favet-card__title a::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	border-radius: 20px;
}

.favet-card--grid .favet-card__title a:focus-visible {
	outline: none;
}

.favet-card--grid.obj_article_summary:focus-within {
	outline: 3px solid var(--favet-red);
	outline-offset: 3px;
}

.favet-card--grid .cover.favet-card__cover {
	position: relative;
	background: var(--favet-red-soft);
}

/* Velo suave al pie de la foto: da profundidad y separa la etiqueta */
.favet-card--grid .cover.favet-card__cover::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 42%;
	background: linear-gradient(180deg, rgba(35, 39, 43, 0) 0%, rgba(35, 39, 43, 0.26) 100%);
	pointer-events: none;
}

.favet-card--grid .cover.favet-card__cover a {
	position: relative;
}

/* Etiqueta de la sección sobre la foto */
.favet-card__tag {
	position: absolute;
	top: 14px;
	left: 14px;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 6px 12px 6px 10px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.94);
	color: var(--favet-red-dark);
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	line-height: 1.2;
	box-shadow: 0 6px 14px -8px rgba(0, 0, 0, 0.55);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
}

.favet-card__tag::before {
	content: "";
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--favet-red);
	box-shadow: 0 0 0 3px rgba(179, 40, 45, 0.15);
}

/* Placeholder sin foto: degradado rojo, huella grande como marca de agua e
   insignia translúcida con el estetoscopio */
.favet-card__placeholder {
	gap: 0;
	overflow: hidden;
}

.favet-card__placeholder::before {
	-webkit-mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.55), transparent 85%);
	mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.55), transparent 85%);
}

.favet-card__placeholder-mark.favet-ico {
	position: absolute;
	right: -22px;
	bottom: -30px;
	width: 168px;
	height: 168px;
	color: var(--favet-white);
	opacity: 0.16;
	transform: rotate(-16deg);
	transition: transform 0.5s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.favet-card--grid:hover .favet-card__placeholder-mark.favet-ico {
	transform: rotate(-8deg) scale(1.06);
}

.favet-card__placeholder-badge.favet-badge {
	position: relative;
	z-index: 1;
}

.favet-card--grid .favet-card__body {
	padding: 20px 22px 20px;
}

.pkp_structure_main .favet-card--grid .favet-card__title {
	margin-bottom: 10px;
	font-size: 1.16rem;
	line-height: 1.3;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.favet-card__excerpt {
	margin: 0 0 16px;
	color: var(--favet-ink-2);
	font-size: 0.92rem;
	line-height: 1.55;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.favet-card--grid .meta.favet-card__meta {
	margin-top: auto;
	padding-top: 14px;
	border-top: 1px solid var(--favet-line);
}

.favet-card--grid .authors.favet-card__authors {
	margin-bottom: 6px;
	font-size: 0.86rem;
}

.favet-card--grid .favet-card__meta-row {
	align-items: center;
	justify-content: space-between;
}

.favet-card--grid .published.favet-card__date {
	font-weight: 600;
}

.favet-card__more {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-left: auto;
	color: var(--favet-red);
	font-size: 0.86rem;
	font-weight: 700;
	white-space: nowrap;
}

.favet-card__more .favet-ico {
	width: 16px;
	height: 16px;
	transition: transform 0.2s ease;
}

.favet-card--grid:hover .favet-card__more .favet-ico {
	transform: translateX(4px);
}

.favet-card--grid .galleys_links.favet-card__galleys {
	position: relative;
	z-index: 2;
}

/* --- 19.3 Pie de página v2 ---------------------------------------------- */
.favet-footer {
	position: relative;
	border-bottom: 0;
	background:
		radial-gradient(900px 420px at 0% 0%, rgba(179, 40, 45, 0.28), transparent 62%),
		radial-gradient(700px 360px at 100% 100%, rgba(255, 255, 255, 0.035), transparent 60%),
		var(--favet-footer);
}

.favet-footer::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 4px;
	background: linear-gradient(90deg, var(--favet-red-dark) 0%, var(--favet-red) 55%, #C4363B 100%);
}

.favet-footer__inner {
	gap: 36px 32px;
	padding: 56px var(--favet-gutter) 40px;
}

.favet-footer__logo {
	padding: 8px 12px;
	border-radius: 12px;
	box-shadow: 0 10px 24px -14px rgba(0, 0, 0, 0.7);
}

.favet-footer__logo img {
	max-height: 46px;
}

.favet-footer__tagline {
	margin-top: 20px;
	max-width: 20rem;
	font-size: 1.3rem;
}

.favet-footer__note {
	max-width: 22rem;
}

.favet-footer__social {
	margin-top: 22px;
}

.pkp_structure_page .favet-footer__social a {
	background: rgba(255, 255, 255, 0.07);
	border: 1px solid rgba(255, 255, 255, 0.1);
}

.favet-footer__heading {
	position: relative;
	padding-bottom: 12px;
	margin-bottom: 10px;
}

.favet-footer__heading::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 28px;
	height: 2px;
	border-radius: 2px;
	background: var(--favet-red);
}

.favet-footer__links li + li {
	margin-top: 0;
}

.pkp_structure_page .favet-footer__links a {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	padding: 6px 0;
	color: #D7DBE0;
	font-size: 0.95rem;
	transition: color 0.15s ease;
}

/* Punto rojo que aparece al pasar el cursor */
.pkp_structure_page .favet-footer__links a::before {
	content: "";
	flex: 0 0 auto;
	width: 0;
	height: 6px;
	margin-right: 0;
	border-radius: 50%;
	background: var(--favet-red);
	opacity: 0;
	transition: width 0.18s ease, margin 0.18s ease, opacity 0.18s ease;
}

.pkp_structure_page .favet-footer__links a:hover,
.pkp_structure_page .favet-footer__links a:focus {
	text-decoration: none;
	color: var(--favet-white);
}

.pkp_structure_page .favet-footer__links a:hover::before,
.pkp_structure_page .favet-footer__links a:focus::before {
	width: 6px;
	margin-right: 8px;
	opacity: 1;
}

.favet-footer__mail {
	align-items: flex-start;
	margin-bottom: 8px;
}

.favet-footer__mail .favet-ico {
	margin-top: 8px;
}

.favet-footer__address span {
	display: inline-block;
	padding: 8px 0;
	line-height: 1.5;
}

.favet-footer__contact-note {
	margin-top: 10px;
}

.pkp_structure_page .favet-footer__contact-note a {
	padding: 0;
	color: #F5B7BA;
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 3px;
	text-decoration-color: rgba(245, 183, 186, 0.5);
}

.pkp_structure_page .favet-footer__contact-note a:hover,
.pkp_structure_page .favet-footer__contact-note a:focus {
	color: var(--favet-white);
	text-decoration-color: var(--favet-red);
}

/* Línea inferior: © + licencia + texto del editor + marca OJS */
.favet-footer__bottom {
	border-top: 1px solid rgba(255, 255, 255, 0.08);
	background: rgba(0, 0, 0, 0.22);
}

.favet-footer__bottom-inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 24px;
	width: 100%;
	max-width: var(--favet-container);
	margin: 0 auto;
	padding: 16px var(--favet-gutter);
	box-sizing: border-box;
	font-size: 0.84rem;
	line-height: 1.5;
	color: #A9B0B8;
}

.favet-footer__copy {
	margin: 0;
	flex: 1 1 320px;
}

.pkp_structure_page .favet-footer__copy a {
	color: #E6E8EB;
	text-decoration: underline;
	text-underline-offset: 3px;
	text-decoration-color: rgba(230, 232, 235, 0.35);
}

.pkp_structure_page .favet-footer__copy a:hover,
.pkp_structure_page .favet-footer__copy a:focus {
	color: var(--favet-white);
	text-decoration-color: var(--favet-red);
}

.favet-footer__custom.pkp_footer_content {
	flex: 1 1 100%;
	padding: 0;
	text-align: left;
}

.favet-footer__brandmark.pkp_brand_footer {
	padding: 0;
	text-align: right;
}

.favet-footer__brandmark.pkp_brand_footer a {
	padding: 5px 9px;
	border-radius: 8px;
	opacity: 0.85;
	transition: opacity 0.15s ease;
}

.favet-footer__brandmark.pkp_brand_footer a:hover,
.favet-footer__brandmark.pkp_brand_footer a:focus {
	opacity: 1;
}

.favet-footer__brandmark.pkp_brand_footer a img {
	max-height: 30px;
}

@media (min-width: 768px) {
	.favet-footer__inner {
		grid-template-columns: 1.3fr 1fr 1fr;
		gap: 40px 32px;
		padding: 60px 24px 44px;
	}

	.favet-footer__contact {
		grid-column: 1 / -1;
	}
}

@media (min-width: 992px) {
	.favet-footer__inner {
		grid-template-columns: 1.5fr 0.9fr 0.9fr 1.3fr;
		gap: 40px;
		padding: 68px 24px 48px;
	}

	.favet-footer__contact {
		grid-column: auto;
	}

	.favet-footer__bottom-inner {
		padding: 18px 24px;
	}
}

/* --- 19.4 Registro: la nota "campos obligatorios" en una sola línea con su asterisco --- */
.favet-auth__note .required,
.favet-auth__note span {
	display: inline;
	margin-left: 2px;
}

/* --- 19.5 Registro e ingreso compactos en PC: el formulario entra en la
   pantalla sin desplazarse (pedido del cliente). Sin miga de pan, tarjeta
   pegada a la cabecera, menos aire entre secciones y campos en dos columnas
   (correo + celular, contraseña + repetir). ------------------------------- */
@media (min-width: 900px) {
	/* La miga de pan "Inicio > Registrarse" no aporta aquí: el logo ya lleva al inicio */
	.favet-auth .cmp_breadcrumbs {
		display: none;
	}

	body:not(.pkp_page_index) .pkp_structure_content:has(.favet-auth) .pkp_structure_main {
		padding-top: 18px;
	}

	.favet-auth__brand {
		padding: 28px 30px 26px;
	}

	.favet-auth .favet-auth__logo {
		margin-bottom: 18px;
	}

	.favet-auth .favet-auth__intro {
		margin-bottom: 14px;
	}

	.favet-auth__card,
	.favet-auth--login .favet-auth__card {
		padding: 26px 34px 26px;
	}

	.pkp_structure_main .favet-auth .favet-auth__title {
		font-size: 1.7rem;
	}

	.pkp_structure_main .favet-auth .favet-auth__note {
		margin: 2px 0 12px;
	}

	.page_register .cmp_form fieldset + fieldset {
		margin-top: 4px;
	}

	.page_register .cmp_form legend:not(.pkp_screen_reader) {
		margin: 0 0 12px;
		padding: 0 0 7px;
		gap: 10px;
	}

	.page_register .cmp_form legend:not(.pkp_screen_reader)::before {
		font-size: 1.3rem;
	}

	.page_register .cmp_form .fields > div,
	.page_login .cmp_form .fields > div {
		padding-bottom: 12px;
	}

	/* Correo + celular y contraseña + repetir en la misma fila */
	.page_register.favet-auth .identity .fields,
	.page_register.favet-auth .login .fields {
		grid-template-columns: 1fr 1fr;
		column-gap: 16px;
	}

	.page_register.favet-auth .login .fields > .email {
		grid-column: auto;
	}

	.favet-auth .favet-auth__hints {
		margin: 0 0 14px;
		padding: 9px 12px;
	}

	.pkp_structure_main .favet-auth .favet-auth__after {
		margin-top: 10px;
	}
}

@media (min-width: 1200px) {
	.favet-auth__layout {
		grid-template-columns: 350px minmax(0, 1fr);
	}

	.favet-auth__card {
		padding: 28px 40px 28px;
	}

	.favet-auth__brand {
		padding: 30px 34px 28px;
	}
}

/* 19.5 (cont.) Registro/ingreso en PC: la tarjeta arranca justo debajo de la
   barra roja (el main de estas páginas pierde su aire superior) y la sección
   "03 Opciones de privacidad" queda solo como casilla (el rótulo pasa a
   lectores de pantalla): menos alto, mismo contenido. */
@media (min-width: 900px) {
	body.pkp_page_user.pkp_op_register .pkp_structure_main,
	body.pkp_page_login .pkp_structure_main,
	body.pkp_page_login.pkp_op_lostpassword .pkp_structure_main {
		padding-top: 14px;
	}

	.page_register .cmp_form fieldset.consent legend:not(.pkp_screen_reader) {
		position: absolute;
		width: 1px;
		height: 1px;
		margin: 0;
		padding: 0;
		border: 0;
		overflow: hidden;
		clip: rect(0 0 0 0);
		white-space: nowrap;
	}

	.page_register .cmp_form fieldset.consent {
		margin-top: 2px;
	}
}

/* 19.5 (cont.) El aire que quedaba sobre la tarjeta lo ponían el contenedor
   (.pkp_structure_content, 34 px) y el margen del main (36 px) del tema default. */
@media (min-width: 900px) {
	body.pkp_page_user.pkp_op_register .pkp_structure_content,
	body.pkp_page_login .pkp_structure_content {
		padding-top: 0;
	}

	body.pkp_page_user.pkp_op_register .pkp_structure_main,
	body.pkp_page_login .pkp_structure_main,
	body:not(.pkp_page_index) .pkp_structure_content:has(.favet-auth) .pkp_structure_main {
		margin-top: 0;
		padding-top: 16px;
	}
}

/* =========================================================================
   20. Número: casos primero, archivo y portada reordenada
   (pedido del cliente: "quiero ver todo al principio los artículos,
   facilidad de navegación"). Anula reglas de 13.2/13.3 y de la portada.
   ========================================================================= */

/* --- 20.1 Barra compacta del número (objects/issue_toc.tpl) ------------- */
.favet-issue--v2 .favet-issue__bar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px 16px;
	margin: 0 0 20px;
	padding: 6px 0 14px;
	border-bottom: 1px solid var(--favet-line);
}

.favet-issue__bar-main {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 12px;
	flex: 1 1 320px;
	min-width: 0;
}

.favet-issue__bar-line {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 12px;
}

.favet-issue__kicker {
	display: inline-flex;
	align-items: center;
	min-height: 24px;
	padding: 0 10px;
	border-radius: 999px;
	background: var(--favet-red-soft);
	color: var(--favet-red-dark);
	font-size: 0.68rem;
	font-weight: 800;
	line-height: 1;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	white-space: nowrap;
	box-sizing: border-box;
}

.pkp_structure_main .favet-issue--v2 .favet-issue__name {
	margin: 0;
	font-family: var(--favet-display);
	font-size: clamp(1.2rem, 1.9vw, 1.38rem);
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: -0.01em;
	color: var(--favet-ink);
	overflow-wrap: anywhere;
}

.pkp_structure_main .favet-issue--v2 .favet-issue__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 10px;
	margin: 0;
	font-size: 0.86rem;
	font-weight: 600;
	line-height: 1.3;
	color: var(--favet-ink-2);
}

.favet-issue__meta-item {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 0;
}

.favet-issue__meta-item + .favet-issue__meta-item::before {
	content: "\00b7";
	margin-right: 10px;
	color: var(--favet-line);
	font-weight: 800;
}

.favet-issue__meta-item .favet-ico {
	width: 16px;
	height: 16px;
	color: var(--favet-red);
}

.favet-issue__nav {
	flex: 0 0 auto;
	max-width: 100%;
}

.pkp_structure_page .favet-issue__nav-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: var(--favet-tap);
	padding: 0 15px;
	border: 1px solid var(--favet-line);
	border-radius: 999px;
	background: var(--favet-white);
	color: var(--favet-red);
	font-size: 0.88rem;
	font-weight: 700;
	text-decoration: none;
	box-sizing: border-box;
	transition: background 0.2s ease, border-color 0.2s ease;
}

.pkp_structure_page .favet-issue__nav-link .favet-ico {
	width: 18px;
	height: 18px;
}

.pkp_structure_page .favet-issue__nav-link:hover,
.pkp_structure_page .favet-issue__nav-link:focus {
	background: var(--favet-red-soft);
	border-color: var(--favet-red-tint);
	color: var(--favet-red-dark);
	text-decoration: none;
}

.pkp_structure_page .favet-issue__nav-link:focus-visible {
	outline: 2px solid var(--favet-red);
	outline-offset: 2px;
}

/* --- 20.2 Chips de secciones (solo con más de una sección) --------------- */
.favet-issue__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 18px;
}

.pkp_structure_page .favet-issue__chip {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: var(--favet-tap);
	padding: 0 14px;
	border: 1px solid var(--favet-line);
	border-radius: 999px;
	background: var(--favet-bg);
	color: var(--favet-ink);
	font-size: 0.86rem;
	font-weight: 700;
	text-decoration: none;
	box-sizing: border-box;
}

.pkp_structure_page .favet-issue__chip:hover,
.pkp_structure_page .favet-issue__chip:focus {
	border-color: var(--favet-red-tint);
	background: var(--favet-red-soft);
	color: var(--favet-red-dark);
	text-decoration: none;
}

.pkp_structure_page .favet-issue__chip:focus-visible {
	outline: 2px solid var(--favet-red);
	outline-offset: 2px;
}

.favet-issue__chip-count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 22px;
	height: 22px;
	padding: 0 7px;
	border-radius: 999px;
	background: var(--favet-white);
	color: var(--favet-red-dark);
	font-size: 0.72rem;
	font-weight: 800;
	line-height: 1;
	box-sizing: border-box;
}

.favet-issue__chip[hidden] {
	display: none;
}

.obj_issue_toc.favet-issue--v2 .favet-issue__section {
	scroll-margin-top: 24px;
}

/* --- 20.3 Buscador rápido en el número ---------------------------------- */
.favet-issue__search {
	margin: 0 0 20px;
}

.favet-issue__search[hidden],
.favet-issue__section[hidden],
.favet-issue__cards > li[hidden],
.favet-issue__empty[hidden] {
	display: none;
}

.pkp_structure_main .favet-issue__search-label {
	display: block;
	margin: 0 0 6px;
	font-size: 0.76rem;
	font-weight: 800;
	line-height: 1.3;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--favet-ink-2);
}

.favet-issue__search-field {
	position: relative;
	max-width: 480px;
}

.favet-issue__search-ico {
	position: absolute;
	left: 16px;
	top: 50%;
	width: 18px;
	height: 18px;
	transform: translateY(-50%);
	color: var(--favet-ink-2);
	pointer-events: none;
}

.pkp_structure_page .favet-issue__search-input {
	display: block;
	width: 100%;
	min-height: 48px;
	margin: 0;
	padding: 0 50px 0 44px;
	border: 1px solid var(--favet-line);
	border-radius: 999px;
	background: var(--favet-white);
	color: var(--favet-ink);
	font-family: var(--favet-body);
	font-size: 1rem;
	line-height: 1.3;
	box-sizing: border-box;
	-webkit-appearance: none;
	appearance: none;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.pkp_structure_page .favet-issue__search-input::-webkit-search-decoration,
.pkp_structure_page .favet-issue__search-input::-webkit-search-cancel-button {
	-webkit-appearance: none;
	appearance: none;
}

.pkp_structure_page .favet-issue__search-input::placeholder {
	color: #7A8089;
	opacity: 1;
}

.pkp_structure_page .favet-issue__search-input:focus {
	outline: none;
	border-color: var(--favet-red);
	box-shadow: 0 0 0 3px var(--favet-red-tint);
}

.pkp_structure_page .favet-issue__search-clear {
	position: absolute;
	right: 2px;
	top: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px; /* táctil (el input mide 48 px y deja 50 px a la derecha) */
	height: 44px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: var(--favet-bg);
	color: var(--favet-ink-2);
	transform: translateY(-50%);
	cursor: pointer;
}

.pkp_structure_page .favet-issue__search-clear .favet-ico {
	width: 16px;
	height: 16px;
}

.pkp_structure_page .favet-issue__search-clear:hover,
.pkp_structure_page .favet-issue__search-clear:focus {
	background: var(--favet-red-soft);
	color: var(--favet-red-dark);
}

.pkp_structure_page .favet-issue__search-clear:focus-visible {
	outline: 2px solid var(--favet-red);
	outline-offset: 1px;
}

.pkp_structure_page .favet-issue__search-clear[hidden] {
	display: none;
}

.pkp_structure_main .favet-issue__search-status {
	margin: 8px 0 0;
	font-size: 0.86rem;
	font-weight: 600;
	line-height: 1.3;
	color: var(--favet-ink-2);
}

.pkp_structure_main .favet-issue__search-status:empty {
	display: none;
}

.pkp_structure_main .favet-issue__empty {
	margin: 4px 0 8px;
	padding: 18px 20px;
	border: 1px dashed var(--favet-line);
	border-radius: 14px;
	background: var(--favet-bg);
	color: var(--favet-ink-2);
	font-weight: 600;
}

.pkp_structure_main .favet-issue--v2 .favet-card__excerpt {
	margin: 0 0 14px;
	font-size: 0.92rem;
	line-height: 1.55;
}

/* --- 20.4 Tarjetas: 2 columnas de 992 a 1199 px (la columna principal mide
   652 px: con 3 el título se partía en 3 palabras por línea), 3 desde 1200 px
   (columna de ~860 px). 2 en tablet, 1 en móvil. */
@media (min-width: 992px) {
	.favet-issue--v2 .favet-card--grid .favet-card__body {
		padding: 16px 18px 16px;
	}

	.pkp_structure_main .favet-issue--v2 .favet-card--grid .favet-card__title {
		font-size: 1.06rem;
	}
}

@media (min-width: 1200px) {
	.pkp_structure_main .favet-issue--v2 .favet-cards {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 18px;
	}

	.pkp_structure_main:first-child:last-child .favet-issue--v2 .favet-cards {
		gap: 22px;
	}
}

/* --- 20.5 "Sobre este número": descripción, portada chica, galeradas, DOI */
.obj_issue_toc.favet-issue--v2 .favet-issue__about {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 20px;
	margin: 32px 0 0;
	padding: 20px 22px 22px;
	border: 1px solid var(--favet-line);
	border-radius: var(--favet-radius);
	background: var(--favet-bg);
}

.favet-issue__about-copy {
	min-width: 0;
}

.pkp_structure_main .favet-issue--v2 .favet-issue__about-title {
	display: block;
	position: static;
	left: auto;
	margin: 0 0 10px;
	padding: 0;
	background: transparent;
	font-family: var(--favet-body);
	font-size: 0.78rem;
	font-weight: 800;
	line-height: 1.3;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--favet-red);
}

.pkp_structure_main .favet-issue--v2 .favet-issue__description {
	max-width: 70ch;
	font-size: 0.98rem;
	line-height: 1.6;
}

.obj_issue_toc.favet-issue--v2 .favet-issue__galleys {
	margin: 16px 0 0;
}

.favet-issue__ids {
	margin: 14px 0 0;
	font-size: 0.9rem;
	line-height: 1.5;
	color: var(--favet-ink-2);
	overflow-wrap: anywhere;
}

.favet-issue__ids .favet-issue__id {
	margin: 0 0 4px;
	padding: 0;
	background: transparent;
	border: 0;
}

.favet-issue__id-type {
	font-weight: 800;
	color: var(--favet-ink);
}

.favet-issue__id-value a {
	color: var(--favet-red);
	text-decoration: none;
}

.favet-issue__id-value a:hover,
.favet-issue__id-value a:focus {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.obj_issue_toc.favet-issue--v2 .favet-issue__cover {
	order: 0;
	max-width: 160px;
	margin: 0;
	padding: 6px;
	transform: none;
	box-shadow: var(--favet-shadow), 0 0 0 1px rgba(35, 39, 43, 0.06);
}

@media (min-width: 768px) {
	.obj_issue_toc.favet-issue--v2 .favet-issue__about--has-cover {
		grid-template-columns: minmax(0, 1fr) 150px;
		gap: 28px;
		align-items: start;
	}

	.obj_issue_toc.favet-issue--v2 .favet-issue__cover {
		max-width: none;
		margin: 4px 0 0;
	}
}

/* --- 20.6 Archivo de números: descripción en 2 líneas ------------------- */
.obj_issue_summary.favet-archive__card .favet-archive__description {
	-webkit-line-clamp: 2;
	margin-bottom: 14px;
}

.pkp_structure_page .favet-archive__btn {
	gap: 8px;
}

/* --- 20.7 Portada reordenada: hero → últimos casos → pilares ------------
   .favet-lead envuelve el hero y la sección de casos y lleva el degradado
   rojo; el hero queda transparente (conserva su trama y la huella "FAVET").
   La cabecera de "Últimos casos" va en blanco sobre el rojo y el cuerpo de
   las tarjetas pinta blanco a partir de 56 px: las tarjetas salen del hero
   sin depender de la altura de la cabecera. Los pilares pasan a una banda
   normal debajo. */
.favet-lead {
	position: relative;
	isolation: isolate;
	background:
		radial-gradient(900px 520px at 88% 8%, rgba(255, 255, 255, 0.16), transparent 62%),
		radial-gradient(700px 400px at 5% 100%, rgba(0, 0, 0, 0.22), transparent 60%),
		linear-gradient(128deg, var(--favet-red-deep) 0%, var(--favet-red-dark) 28%, var(--favet-red) 64%, #C63A3F 100%);
	overflow: hidden;
}

.favet-lead .favet-hero {
	background: transparent;
}

.favet-lead .favet-hero__inner {
	padding-bottom: 28px;
}

.favet-lead .favet-hero::after {
	bottom: -0.22em;
}

.favet-home .favet-cases--lead {
	padding: 0;
}

.favet-cases--lead .favet-cases__body {
	padding-bottom: 36px;
}

.favet-cases--lead .favet-cases__top {
	padding-top: 4px;
	padding-bottom: 22px;
}

.favet-cases--lead .favet-cases__top .favet-section__head {
	margin-bottom: 0;
}

.favet-cases--lead .favet-cases__top .favet-eyebrow,
.pkp_structure_main .favet-cases--lead .favet-cases__top .favet-eyebrow {
	color: var(--favet-red-tint);
}

.pkp_structure_main .favet-cases--lead .favet-cases__top .favet-section__title {
	color: var(--favet-white);
}

.pkp_structure_main .favet-cases--lead .favet-cases__top .favet-section__sub {
	color: rgba(255, 255, 255, 0.82);
}

.favet-cases--lead .favet-cases__top .favet-link,
.pkp_structure_page .favet-cases--lead .favet-cases__top .favet-link {
	color: var(--favet-white);
}

.favet-cases--lead .favet-cases__top .favet-link:hover,
.favet-cases--lead .favet-cases__top .favet-link:focus {
	color: var(--favet-white);
	text-decoration: underline;
	text-underline-offset: 4px;
}

.favet-cases--lead .favet-cases__top .favet-link:focus-visible {
	outline: 2px solid var(--favet-white);
	outline-offset: 3px;
}

.favet-cases--lead .favet-cases__top .cmp_notification {
	margin: 16px 0 0;
}

.favet-cases--lead .favet-cases__body {
	background: linear-gradient(180deg, transparent 56px, var(--favet-white) 56px);
}

/* Con varias secciones el primer rótulo (h3) también va sobre el rojo */
.favet-cases--lead .favet-cases__body--titled {
	background: linear-gradient(180deg, transparent 100px, var(--favet-white) 100px);
}

.pkp_structure_main .favet-cases--lead .favet-cases__body--titled .favet-cases__section:first-child .favet-cases__section-title {
	color: var(--favet-white);
	border-bottom-color: rgba(255, 255, 255, 0.3);
}

.favet-home .favet-lead + .favet-pillars {
	margin-top: 0;
	padding: 12px 0 56px;
}

@media (min-width: 768px) {
	.favet-lead .favet-hero__inner {
		padding-bottom: 36px;
	}

	.favet-cases--lead .favet-cases__body {
		padding-bottom: 44px;
	}
}

@media (min-width: 992px) {
	.favet-lead .favet-hero__inner {
		padding-bottom: 44px;
	}

	.favet-cases--lead .favet-cases__body {
		padding-bottom: 52px;
	}

	.favet-cases--lead .favet-cases__top {
		padding-bottom: 26px;
	}

	.favet-home .favet-lead + .favet-pillars {
		padding: 16px 0 64px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.pkp_structure_page .favet-issue__nav-link,
	.pkp_structure_page .favet-issue__search-input {
		transition: none;
	}
}

/* --- 20.8 Ajustes tras la revisión: menos aire arriba del número, título
   de tarjeta sin recortar y hero más bajo en la portada para que las
   tarjetas de casos entren en la primera pantalla (1366×768). ----------- */

/* Página del número: hueco entre la barra roja y las migas, migas y barra */
.favet-issue-page .cmp_breadcrumbs {
	margin-bottom: 8px;
}

.favet-issue--v2 .favet-issue__bar {
	margin-bottom: 16px;
	padding: 4px 0 10px;
}

/* Como en 19.5: el tema default suma 34 px de padding al contenedor y 36 px
   de margen al main; aquí queda un solo aire de 20 px. */
@media (min-width: 992px) {
	body.pkp_page_issue .pkp_structure_content {
		padding-top: 0;
	}

	body.pkp_page_issue .pkp_structure_main:first-child:last-child {
		margin-top: 20px;
	}

	body.pkp_page_issue .pkp_structure_content.has_sidebar {
		padding-top: 20px;
	}
}

/* Lista de galeradas vacía (el core la imprime aunque ningún archivo sea
   primario): sin esto deja un hueco de 16 px al pie de la tarjeta */
.favet-issue--v2 .favet-card--grid .galleys_links.favet-card__galleys:not(:has(li)) {
	display: none;
}

/* En el número el título es lo que decide qué leer: hasta 5 líneas (13.2
   recortaba a 3 y se perdía el final: "…mejoría", "…(caso …") */
.pkp_structure_main .favet-issue--v2 .favet-card--grid .favet-card__title {
	-webkit-line-clamp: 5;
}

/* Portada en escritorio: hero más compacto (título en 3 líneas, afiche de
   300 px, menos padding) y cabecera de "Últimos casos" más chica. Objetivo:
   la primera fila de tarjetas empieza antes de 620 px a 1366×768. */
@media (min-width: 992px) {
	.favet-lead .favet-hero__inner {
		gap: 40px;
		padding: 24px 24px 16px;
	}

	.favet-lead .favet-hero__title {
		max-width: 16ch;
		font-size: clamp(2.1rem, 3.6vw, 3rem);
	}

	.pkp_structure_main .favet-lead .favet-hero__lead {
		margin-bottom: 22px;
		font-size: 1.02rem;
	}

	.favet-lead .favet-hero__poster,
	.favet-lead .favet-hero__logo-card {
		max-width: 270px;
	}

	.favet-cases--lead .favet-cases__top {
		padding-top: 0;
		padding-bottom: 16px;
	}

	.pkp_structure_main .favet-cases--lead .favet-section__title {
		font-size: 1.6rem;
	}

	.pkp_structure_main .favet-cases--lead .favet-cases__top .favet-section__sub {
		margin-top: 4px;
	}
}

/* =========================================================================
   21. Ajustes del 27-sep-2026 (noche), a pedido del cliente
   ========================================================================= */

/* --- 21.1 El logo de la cabecera vuelve a ser clicable (escritorio).
   La fila del menú de usuario (19.1) ocupa todo el ancho y quedaba encima
   del logo, invisible, tragándose el clic. Ahora solo sus botones reciben
   el puntero. --------------------------------------------------------- */
@media (min-width: 992px) {
	.pkp_site_nav_menu .pkp_navigation_user_wrapper,
	.pkp_site_nav_menu .pkp_navigation_user_wrapper .pkp_navigation_user {
		pointer-events: none;
	}

	.pkp_site_nav_menu .pkp_navigation_user_wrapper .pkp_navigation_user > li {
		pointer-events: auto;
	}

	.pkp_site_name .is_img,
	.pkp_site_name .is_text {
		position: relative;
		z-index: 2;
	}
}

/* --- 21.2 Portada: "Últimos casos" va sobre blanco. El rojo termina con el
   hero; la cabecera de la sección pasa a texto oscuro y las tarjetas quedan
   debajo, sin montarse sobre el rojo. --------------------------------- */
.favet-home .favet-lead {
	background: none;
	overflow: visible;
}

.favet-home .favet-lead .favet-hero {
	overflow: hidden;
	background:
		radial-gradient(900px 520px at 88% 8%, rgba(255, 255, 255, 0.16), transparent 62%),
		radial-gradient(700px 400px at 5% 100%, rgba(0, 0, 0, 0.22), transparent 60%),
		linear-gradient(128deg, var(--favet-red-deep) 0%, var(--favet-red-dark) 28%, var(--favet-red) 64%, #C63A3F 100%);
}

.favet-home .favet-lead .favet-hero__inner {
	padding-bottom: 36px;
}

.favet-home .favet-cases--lead {
	padding: 36px 0 0;
	background: var(--favet-white);
}

.favet-home .favet-cases--lead .favet-cases__top {
	padding-top: 0;
	padding-bottom: 20px;
}

.favet-home .favet-cases--lead .favet-cases__body,
.favet-home .favet-cases--lead .favet-cases__body--titled {
	background: none;
}

.favet-home .favet-cases--lead .favet-cases__top .favet-eyebrow,
.pkp_structure_main .favet-home .favet-cases--lead .favet-cases__top .favet-eyebrow {
	color: var(--favet-red);
}

.pkp_structure_main .favet-home .favet-cases--lead .favet-cases__top .favet-section__title {
	color: var(--favet-ink);
}

.pkp_structure_main .favet-home .favet-cases--lead .favet-cases__top .favet-section__sub {
	color: var(--favet-ink-2);
}

.favet-home .favet-cases--lead .favet-cases__top .favet-link,
.pkp_structure_page .favet-home .favet-cases--lead .favet-cases__top .favet-link {
	color: var(--favet-red);
}

.favet-home .favet-cases--lead .favet-cases__top .favet-link:hover,
.favet-home .favet-cases--lead .favet-cases__top .favet-link:focus {
	color: var(--favet-red-dark);
}

.favet-home .favet-cases--lead .favet-cases__top .favet-link:focus-visible {
	outline-color: var(--favet-red);
}

.pkp_structure_main .favet-home .favet-cases--lead .favet-cases__body--titled .favet-cases__section:first-child .favet-cases__section-title {
	color: var(--favet-ink-2);
	border-bottom-color: var(--favet-line);
}

@media (min-width: 992px) {
	.favet-home .favet-lead .favet-hero__inner {
		padding-bottom: 44px;
	}

	.favet-home .favet-cases--lead {
		padding-top: 44px;
	}

	.favet-home .favet-cases--lead .favet-cases__top {
		padding-bottom: 22px;
	}
}

/* --- 21.3 Botón "Panel del editor" en la fila de la cuenta (solo editores) ---- */
.pkp_site_nav_menu .pkp_navigation_user > li.favet-nav-panel > a {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	white-space: nowrap;
	text-decoration: none;
	font-weight: 700;
}

.pkp_site_nav_menu .pkp_navigation_user > li.favet-nav-panel > a .favet-ico {
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
	--favet-ico-2: var(--favet-white);
}

@media (min-width: 992px) {
	.pkp_site_nav_menu .pkp_navigation_user > li.favet-nav-panel > a {
		height: 36px;
		margin: 0 10px 0 0;
		padding: 0 16px 0 12px;
		border: 1.5px solid var(--favet-red);
		border-radius: 999px;
		background: var(--favet-white);
		color: var(--favet-red-dark);
		font-size: 0.86rem;
		line-height: 1;
		transition: background-color 0.18s ease, color 0.18s ease;
	}

	.pkp_site_nav_menu .pkp_navigation_user > li.favet-nav-panel > a:hover,
	.pkp_site_nav_menu .pkp_navigation_user > li.favet-nav-panel > a:focus,
	.pkp_site_nav_menu .pkp_navigation_user > li.favet-nav-panel > a[aria-current="page"] {
		background: var(--favet-red);
		border-radius: 999px;
		color: var(--favet-white);
	}

	.pkp_site_nav_menu .pkp_navigation_user > li.favet-nav-panel > a:hover .favet-ico,
	.pkp_site_nav_menu .pkp_navigation_user > li.favet-nav-panel > a:focus .favet-ico,
	.pkp_site_nav_menu .pkp_navigation_user > li.favet-nav-panel > a[aria-current="page"] .favet-ico {
		--favet-ico-2: var(--favet-red);
	}
}

@media (max-width: 991.98px) {
	.pkp_site_nav_menu .pkp_navigation_user > li.favet-nav-panel > a {
		background: var(--favet-red);
		border-color: var(--favet-red);
		color: var(--favet-white);
	}

	.pkp_site_nav_menu .pkp_navigation_user > li.favet-nav-panel > a .favet-ico {
		--favet-ico-2: var(--favet-red);
	}
}

/* --- 21.4 Menú principal con un ítem más ("Ranking"): en anchos medios el
   buscador queda solo con la lupa y los ítems un poco más juntos, para que
   la barra roja no se desborde ni se encime con "Enviar mi caso". -------- */
@media (min-width: 992px) and (max-width: 1439.98px) {
	.pkp_site_nav_menu .pkp_navigation_search_wrapper a.pkp_search {
		gap: 0;
		padding-left: 12px;
		padding-right: 4px;
		font-size: 0;
	}

	.pkp_site_nav_menu .pkp_navigation_search_wrapper a.pkp_search .fa {
		font-size: 1.05rem;
	}
}

@media (min-width: 1200px) and (max-width: 1439.98px) {
	.pkp_site_nav_menu .pkp_navigation_primary > li > a {
		padding-left: 13px;
		padding-right: 13px;
	}
}

@media (min-width: 992px) and (max-width: 1199.98px) {
	.pkp_site_nav_menu .pkp_navigation_primary > li > a {
		padding-left: 8px !important;
		padding-right: 8px !important;
		font-size: 0.84rem !important;
		letter-spacing: 0;
	}

	.pkp_site_nav_menu .pkp_navigation_primary > li.favet-nav-cta > a {
		margin-left: 6px !important;
		padding: 0 12px !important;
	}

	.pkp_site_nav_menu .pkp_navigation_primary > li.favet-nav-cta .favet-nav-cta__icon {
		display: none;
	}
}
