/**
 * UNLPam — identidad visual institucional (fase final)
 * Paleta gris + azul secundario para acciones
 */

:root {
	--bs-font-sans-serif: "Nunito", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
	--unlpam-primary: #4b5563;
	--unlpam-secondary: #6b7280;
	--unlpam-bg: #f8fafc;
	--unlpam-text: #1f2937;
	--unlpam-action: #005a9c;
	--unlpam-action-hover: #0a66b2;
	--unlpam-border: #d1d5db;
	--unlpam-white: #ffffff;
	--unlpam-radius: 12px;
	--unlpam-container: 1320px;
	--unlpam-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
	--unlpam-shadow-md: 0 4px 14px rgba(15, 23, 42, 0.08);
	--unlpam-shadow-hover: 0 10px 28px rgba(15, 23, 42, 0.12);
	--unlpam-cover-height: 240px;
	--unlpam-transition: 200ms ease;
	--unlpam-nav-bg: #e8edf2;
	--unlpam-nav-border: #cbd5e1;
}

/* ===== OVERFLOW & BOX MODEL ===== */
html,
body.unlpam-theme,
body.pkp_page_index {
	overflow-x: hidden !important;
	width: 100%;
	max-width: 100%;
}

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

.pkp_structure_page {
	overflow-x: hidden;
	width: 100%;
	max-width: 100%;
}

/* ===== BASE ===== */
body.unlpam-theme,
body.pkp_page_index {
	background: var(--unlpam-bg) !important;
	color: var(--unlpam-text) !important;
	font-family: var(--bs-font-sans-serif) !important;
	font-size: 16px !important;
	line-height: 1.5 !important;
}

body.unlpam-theme input,
body.unlpam-theme button,
body.unlpam-theme select,
body.unlpam-theme textarea {
	font-family: var(--bs-font-sans-serif) !important;
}

h1,
h2,
h3,
h4,
h5,
h6,
.title,
.pkp_site_name {
	font-family: var(--bs-font-sans-serif) !important;
}

.pkp_structure_page {
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}

/* Shared content width — centered blocks (nav uses full-width band separately) */
.unlpam_topbar__inner,
.unlpam_header__main,
.unlpam_hero__inner,
.pkp_structure_content,
.unlpam_footer__inner {
	max-width: var(--unlpam-container);
	width: calc(100% - 32px);
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
}

/* ===== LAYOUT ===== */
.pkp_structure_content {
	width: calc(100% - 32px) !important;
	max-width: var(--unlpam-container) !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding: 0.875rem 0 1.5rem !important;
	box-sizing: border-box !important;
	float: none !important;
}

.pkp_structure_content.has_sidebar {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 0.875rem !important;
	align-items: flex-start !important;
}

.pkp_structure_main {
	width: 100% !important;
	max-width: 100% !important;
	float: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

.page_index_site {
	width: 100%;
	max-width: var(--unlpam-container);
	margin-left: auto;
	margin-right: auto;
	overflow-x: hidden;
}

.pkp_structure_main::before,
.pkp_structure_main::after {
	display: none !important;
}

.pkp_page_index .pkp_structure_content {
	padding-top: 0 !important;
}

/* Alinea inicio de main y sidebar en home de revista */
.pkp_page_index .pkp_structure_content.has_sidebar {
	padding-top: 1.25rem !important;
}

/* Fix: evita solapamiento de portada con la barra de navegación */
.pkp_page_index .homepage_image {
	margin-top: 0 !important;
	margin-bottom: 1.5rem !important;
}

@media (min-width: 1024px) {
	.pkp_structure_content.has_sidebar {
		flex-wrap: nowrap !important;
		gap: 1.25rem !important;
	}

	.pkp_structure_content.has_sidebar .pkp_structure_main {
		flex: 1 1 calc(100% - 240px) !important;
		min-width: 0 !important;
		width: auto !important;
	}

	.pkp_structure_sidebar {
		flex: 0 0 240px !important;
		width: 240px !important;
		float: none !important;
		order: 2 !important;
	}
}

@media (max-width: 1023px) {
	.pkp_structure_sidebar {
		width: 100% !important;
		float: none !important;
		order: 2 !important;
	}
}

.pkp_structure_sidebar .block_language_toggle {
	display: none !important;
}

/* ===== HEADER — full-width bands like footer ===== */
.pkp_structure_head {
	background: var(--unlpam-white) !important;
	border-bottom: none !important;
	box-shadow: var(--unlpam-shadow) !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.pkp_structure_head,
.pkp_structure_head.is-sticky {
	position: relative !important;
	top: auto !important;
	z-index: 100 !important;
}

.pkp_head_wrapper,
.unlpam_header {
	position: relative;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow-x: hidden;
}

/* Topbar — full width band */
.unlpam_topbar {
	position: relative !important;
	background: var(--unlpam-primary);
	color: rgba(255, 255, 255, 0.92);
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	min-height: 28px;
}

.unlpam_topbar__inner {
	display: block !important;
	min-height: 28px;
	padding: 0 24px;
	width: 100% !important;
	max-width: var(--unlpam-container) !important;
	margin-left: auto !important;
	margin-right: auto !important;
	box-sizing: border-box !important;
}

.unlpam_topbar__institutional {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	min-width: 0;
	min-height: 28px;
	padding-right: 11rem;
	font-size: 0.625rem;
	font-weight: 600;
	line-height: 1.2;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.unlpam_topbar__uni {
	color: #fff;
	white-space: nowrap;
}

.unlpam_topbar__divider {
	width: 1px;
	height: 10px;
	background: rgba(255, 255, 255, 0.35);
	flex-shrink: 0;
}

.unlpam_topbar__sec {
	color: rgba(255, 255, 255, 0.78);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* Botones — alineados al borde derecho del viewport/contenedor */
.unlpam_topbar > .unlpam_topbar__right,
.unlpam_topbar__inner > .unlpam_topbar__right {
	position: absolute !important;
	top: 0 !important;
	bottom: 0 !important;
	right: max(16px, calc((100vw - var(--unlpam-container)) / 2 + 16px)) !important;
	left: auto !important;
	display: inline-flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	justify-content: flex-end !important;
	gap: 0.35rem;
	z-index: 5;
	margin: 0 !important;
	padding: 0 !important;
	width: auto !important;
	max-width: none !important;
	transform: none !important;
}

.unlpam_topbar__right .unlpam_lang--topbar,
.unlpam_topbar__right .unlpam_topbar__user,
.unlpam_topbar__right .unlpam_profile--topbar {
	flex: 0 0 auto !important;
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	float: none !important;
}

.unlpam_topbar__user,
.unlpam_topbar .unlpam_profile--topbar {
	position: relative !important;
	top: auto !important;
	left: auto !important;
	right: auto !important;
	transform: none !important;
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.unlpam_topbar__right .unlpam_lang--topbar {
	position: relative !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Brand row — logo protagonista, centered */
.unlpam_header__main {
	display: flex;
	align-items: center;
	gap: 0.625rem 0.875rem;
	padding: 0.3rem 24px;
}

.unlpam_header__brand {
	display: flex;
	align-items: center;
	gap: 0.875rem;
	flex: 1 1 auto;
	min-width: 0;
}

.unlpam_header__logo a {
	display: flex;
	align-items: center;
	line-height: 0;
}

.unlpam_header__logo img {
	height: 96px;
	width: auto;
	display: block;
	object-fit: contain;
}

.unlpam_header__portal {
	margin: 0;
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.2;
	color: var(--unlpam-primary) !important;
}

.unlpam_header__portal a {
	color: var(--unlpam-primary) !important;
	text-decoration: none !important;
}

.unlpam_header__portal a:hover {
	color: var(--unlpam-text) !important;
}

.unlpam_header_search {
	flex-shrink: 0;
	margin-left: auto;
}

.unlpam_header_search .unlpam_search__form {
	display: flex !important;
	align-items: stretch;
	width: min(260px, 28vw);
	background: var(--unlpam-bg);
	border: 1px solid var(--unlpam-border);
	border-radius: var(--unlpam-radius);
	overflow: hidden;
}

.unlpam_header_search .unlpam_search__input {
	flex: 1;
	border: none !important;
	padding: 0.35rem 0.55rem !important;
	font-size: 0.8125rem !important;
	min-width: 0;
	outline: none !important;
	background: transparent !important;
	color: var(--unlpam-text) !important;
}

.unlpam_header_search .unlpam_search__submit {
	border: none !important;
	background: var(--unlpam-action) !important;
	color: #fff !important;
	padding: 0 0.6rem !important;
	cursor: pointer;
	transition: background var(--unlpam-transition);
}

.unlpam_header_search .unlpam_search__submit:hover {
	background: var(--unlpam-action-hover) !important;
}

/* Idiomas — 🌐 Español ▼ */
.unlpam_lang {
	position: relative;
}

.unlpam_topbar .unlpam_lang--topbar {
	flex: 0 0 auto;
}

.unlpam_lang--topbar .unlpam_lang__toggle {
	display: inline-flex;
	align-items: center;
	gap: 0.25rem;
	padding: 0.15rem 0.45rem;
	border: 1px solid rgba(255, 255, 255, 0.25);
	border-radius: 4px;
	background: rgba(255, 255, 255, 0.06);
	color: #fff !important;
	font-size: 0.625rem;
	font-weight: 600;
	cursor: pointer;
	white-space: nowrap;
}

.unlpam_lang--topbar .unlpam_lang__toggle::after {
	content: "▼";
	font-size: 0.5rem;
	opacity: 0.75;
	margin-left: 0.1rem;
}

.unlpam_lang--topbar .unlpam_lang__toggle:hover {
	background: rgba(255, 255, 255, 0.12);
}

.unlpam_lang__menu {
	display: none;
	position: absolute;
	right: 0;
	top: calc(100% + 4px);
	min-width: 120px;
	margin: 0;
	padding: 0.2rem 0;
	list-style: none !important;
	background: var(--unlpam-white);
	border: 1px solid var(--unlpam-border);
	border-radius: 8px;
	box-shadow: var(--unlpam-shadow-md);
	z-index: 1100;
}

.unlpam_lang__menu.is-open {
	display: block;
}

.unlpam_lang__menu li {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.unlpam_lang__menu a {
	display: block;
	padding: 0.35rem 0.65rem;
	color: var(--unlpam-text) !important;
	text-decoration: none !important;
	font-size: 0.75rem;
}

.unlpam_lang__menu a:hover,
.unlpam_lang__menu a.is-active {
	background: var(--unlpam-bg);
	color: var(--unlpam-action) !important;
}

/* Perfil — junto al selector de idioma en topbar */
.unlpam_topbar .unlpam_topbar__user,
.unlpam_topbar .unlpam_profile--topbar {
	position: relative;
	flex-shrink: 0;
}

.unlpam_topbar .unlpam_topbar__user .pkp_navigation_user,
.unlpam_topbar .unlpam_profile--topbar .pkp_navigation_user {
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
	list-style: none !important;
	white-space: nowrap;
}

.unlpam_topbar .unlpam_topbar__user .pkp_navigation_user > li,
.unlpam_topbar .unlpam_profile--topbar .pkp_navigation_user > li {
	display: inline-block !important;
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	position: relative;
	vertical-align: middle;
}

.unlpam_topbar .unlpam_topbar__user .pkp_navigation_user > li.profile > a,
.unlpam_topbar .unlpam_profile--topbar .pkp_navigation_user > li.profile > a,
.unlpam_topbar .unlpam_profile__toggle {
	display: inline-flex !important;
	align-items: center;
	gap: 0.25rem;
	padding: 0.15rem 0.45rem !important;
	border-radius: 4px;
	color: #fff !important;
	font-size: 0.625rem !important;
	font-weight: 600;
	text-decoration: none !important;
	white-space: nowrap;
	border: 1px solid rgba(255, 255, 255, 0.25);
	background: rgba(255, 255, 255, 0.06);
	cursor: pointer;
}

.unlpam_topbar .unlpam_topbar__user .pkp_navigation_user > li.profile > a::before,
.unlpam_topbar .unlpam_profile__toggle::before {
	content: "\f007";
	font-family: "FontAwesome";
	font-weight: normal;
	font-size: 0.625rem;
	opacity: 0.9;
}

.unlpam_topbar .unlpam_topbar__user .pkp_navigation_user > li.profile > a::after,
.unlpam_topbar .unlpam_profile__toggle::after {
	content: "▼";
	font-size: 0.5rem;
	opacity: 0.75;
	margin-left: 0.1rem;
}

.unlpam_topbar .unlpam_topbar__user .pkp_navigation_user > li.profile > a:hover,
.unlpam_topbar .unlpam_profile__toggle:hover {
	background: rgba(255, 255, 255, 0.12);
}

.unlpam_topbar .unlpam_topbar__user .pkp_navigation_user > li.profile > ul,
.unlpam_topbar .unlpam_profile__menu,
.unlpam_topbar .unlpam_topbar__user .pkp_navigation_user .dropdown-menu {
	display: none;
	position: absolute !important;
	right: 0 !important;
	left: auto !important;
	top: calc(100% + 4px) !important;
	transform: none !important;
	float: none !important;
	list-style: none !important;
	margin: 0 !important;
	padding: 0.2rem 0 !important;
	background: var(--unlpam-white);
	border: 1px solid var(--unlpam-border);
	border-radius: 8px;
	box-shadow: var(--unlpam-shadow-md);
	min-width: 160px;
	z-index: 1100;
}

.unlpam_topbar .unlpam_topbar__user .pkp_navigation_user > li.profile > ul.is-open,
.unlpam_topbar .unlpam_profile__menu.is-open,
.unlpam_topbar .unlpam_topbar__user .pkp_navigation_user .dropdown-menu.show {
	display: block !important;
}

.unlpam_topbar .unlpam_topbar__user .pkp_navigation_user ul li,
.unlpam_topbar .unlpam_profile__menu li {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.unlpam_topbar .unlpam_topbar__user .pkp_navigation_user ul a,
.unlpam_topbar .unlpam_profile__menu a {
	color: var(--unlpam-text) !important;
	font-size: 0.75rem !important;
	padding: 0.35rem 0.65rem !important;
	display: block;
	text-decoration: none !important;
}

.unlpam_topbar .unlpam_topbar__user .pkp_navigation_user ul a:hover,
.unlpam_topbar .unlpam_profile__menu a:hover {
	background: var(--unlpam-bg);
	color: var(--unlpam-action) !important;
}

/* Ocultar menú usuario duplicado fuera del topbar */
.pkp_structure_head .pkp_navigation_user_wrapper,
.pkp_head_wrapper .pkp_navigation_user_wrapper,
.pkp_site_nav_menu .pkp_navigation_user_wrapper,
.unlpam_header__main .pkp_navigation_user_wrapper {
	display: none !important;
}

/* Nav — same pattern as .pkp_structure_footer_wrapper */
.unlpam_header__nav,
.full-width-nav {
	display: block;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0.5rem 0 !important;
	background: var(--unlpam-nav-bg) !important;
	border-top: 1px solid var(--unlpam-nav-border) !important;
	border-bottom: 1px solid var(--unlpam-nav-border) !important;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.65);
	clear: both;
	box-sizing: border-box;
}

.pkp_navigation_primary_wrapper,
.pkp_navigation_primary_row,
.pkp_site_nav_menu,
.pkp_navigation_primary,
.unlpam_nav {
	position: relative !important;
	top: auto !important;
	left: auto !important;
	right: auto !important;
}

.pkp_site_name_wrapper {
	display: none !important;
}

.pkp_site_nav_menu {
	width: 100% !important;
	max-width: none !important;
	background: var(--unlpam-nav-bg) !important;
}

.pkp_navigation_primary_row,
.full-width-nav-inner {
	max-width: var(--unlpam-container) !important;
	width: calc(100% - 32px) !important;
	margin-left: auto !important;
	margin-right: auto !important;
	display: flex !important;
	justify-content: center !important;
	align-items: center !important;
	padding: 0 16px !important;
	box-sizing: border-box;
	min-height: 44px;
}

.pkp_navigation_primary_wrapper {
	width: 100%;
	max-width: 100%;
	overflow-x: auto;
	overflow-y: hidden;
	display: flex;
	justify-content: center;
	scrollbar-width: none;
}

.pkp_navigation_primary_wrapper::-webkit-scrollbar {
	display: none;
}

.pkp_navigation_primary,
.unlpam_nav {
	display: flex !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	justify-content: center !important;
	gap: clamp(0.75rem, 2.5vw, 2rem) !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	float: none !important;
	width: auto !important;
	max-width: 100%;
}

.pkp_navigation_primary > li,
.unlpam_nav > li {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	flex-shrink: 0;
}

.pkp_navigation_primary > li > a,
.unlpam_nav > li > a {
	display: block !important;
	padding: 0.45rem 0.65rem !important;
	color: var(--unlpam-primary) !important;
	font-size: 0.8125rem !important;
	font-weight: 600;
	text-decoration: none !important;
	white-space: nowrap !important;
	line-height: 1.3 !important;
	border-radius: 6px;
	border-bottom: none !important;
	transition: color var(--unlpam-transition), background var(--unlpam-transition);
}

.pkp_navigation_primary > li > a:hover,
.pkp_navigation_primary > li > a:focus,
.unlpam_nav > li > a:hover,
.unlpam_nav > li > a:focus {
	color: var(--unlpam-action) !important;
	background: rgba(255, 255, 255, 0.72) !important;
}

.pkp_navigation_search_wrapper {
	display: none !important;
}

@media (min-width: 1024px) {
	.pkp_navigation_primary_row,
	.full-width-nav-inner,
	.pkp_navigation_primary_wrapper {
		overflow: visible !important;
	}

	.pkp_site_nav_toggle {
		display: none !important;
	}

	.pkp_site_nav_menu {
		display: block !important;
		position: static !important;
		background: transparent !important;
		padding: 0 !important;
	}

	.pkp_navigation_primary > li {
		position: relative !important;
	}

	.pkp_navigation_primary > li > .dropdown-menu {
		display: none !important;
	}

	.pkp_navigation_primary > li > .dropdown-menu.show,
	.pkp_navigation_primary .dropdown-menu.show[data-popper-placement] {
		display: block !important;
		left: 0 !important;
		right: auto !important;
		top: calc(100% + 4px) !important;
		transform: none !important;
		margin: 0 !important;
		min-width: 240px !important;
		max-width: min(420px, 92vw) !important;
		padding: 0.35rem 0 !important;
		background: #fff !important;
		border: 1px solid var(--unlpam-border) !important;
		border-radius: 8px !important;
		box-shadow: var(--unlpam-shadow-md) !important;
		z-index: 1300 !important;
	}

	.pkp_navigation_primary > li > .dropdown-menu > li {
		display: block !important;
	}

	.pkp_navigation_primary > li > .dropdown-menu > li > a {
		display: block !important;
		padding: 0.45rem 0.75rem !important;
		color: var(--unlpam-text) !important;
		white-space: normal !important;
		line-height: 1.35 !important;
		text-decoration: none !important;
	}

	.pkp_navigation_primary > li > .dropdown-menu > li > a:hover,
	.pkp_navigation_primary > li > .dropdown-menu > li > a:focus {
		background: var(--unlpam-bg) !important;
		color: var(--unlpam-action) !important;
	}
}

@media (max-width: 1023px) {
	.unlpam_topbar > .unlpam_topbar__right,
	.unlpam_topbar__inner > .unlpam_topbar__right {
		right: 16px !important;
	}

	.unlpam_topbar__institutional {
		flex-direction: column;
		align-items: flex-start;
		gap: 0.1rem;
		padding-right: 7rem;
	}

	.unlpam_topbar__divider {
		display: none;
	}

	.unlpam_topbar__sec {
		white-space: normal;
	}

	.unlpam_header__logo img {
		height: 72px;
	}

	.unlpam_header__portal {
		font-size: 1rem;
	}

	.unlpam_header_search {
		display: none !important;
	}

	.pkp_site_nav_toggle {
		order: -1;
		flex-shrink: 0;
		background: var(--unlpam-bg);
		border: 1px solid var(--unlpam-border);
		border-radius: 8px;
		color: var(--unlpam-primary);
		padding: 0.3rem 0.55rem;
		cursor: pointer;
		font-size: 0.75rem;
		font-weight: 600;
	}

	.pkp_site_nav_menu {
		display: none;
		position: relative !important;
		left: auto !important;
		right: auto !important;
		top: auto !important;
		width: 100%;
		background: var(--unlpam-nav-bg) !important;
		border-bottom: 1px solid var(--unlpam-nav-border);
		box-shadow: none;
		z-index: 1;
	}

	.unlpam_header__nav {
		margin: 0;
		padding: 0;
	}

	.pkp_site_nav_menu.pkp_site_nav_menu--isOpen {
		display: block !important;
	}

	.pkp_navigation_primary,
	.unlpam_nav {
		flex-direction: column !important;
		align-items: stretch !important;
		justify-content: flex-start !important;
		gap: 0 !important;
		width: 100%;
	}

	.pkp_navigation_primary > li > a,
	.unlpam_nav > li > a {
		padding: 0.65rem 1.25rem !important;
		border-bottom: 1px solid var(--unlpam-border) !important;
	}
}

/* ===== BUSCADOR PRINCIPAL ===== */
.unlpam_hero {
	width: 100%;
	max-width: 100%;
	margin: 0;
	padding: 1.25rem 0 0.5rem;
	background: transparent !important;
	border-bottom: none !important;
}

.unlpam_hero::before {
	display: none !important;
}

.unlpam_hero__inner {
	padding: 0 24px;
}

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

.unlpam_hero .unlpam_search__form {
	display: flex !important;
	align-items: stretch;
	width: 100%;
	background: var(--unlpam-white);
	border: 1px solid #e2e8f0;
	border-radius: 999px !important;
	overflow: hidden;
	box-shadow: 0 4px 12px rgba(15, 23, 42, 0.05);
	transition: box-shadow var(--unlpam-transition), border-color var(--unlpam-transition);
}

.unlpam_hero .unlpam_search__form:focus-within {
	border-color: #cbd5e1;
	box-shadow: 0 6px 20px rgba(15, 23, 42, 0.08);
}

.unlpam_hero .unlpam_search__icon {
	display: none !important;
}

.unlpam_hero .unlpam_search__input {
	flex: 1;
	border: none !important;
	padding: 0.9rem 1.2rem !important;
	font-size: 1rem !important;
	outline: none !important;
	min-width: 0;
	background: transparent !important;
	color: var(--unlpam-text) !important;
}

.unlpam_hero .unlpam_search__input::placeholder {
	color: #64748b;
	font-style: italic;
	opacity: 1;
}

.unlpam_hero .unlpam_search__submit {
	border: none !important;
	background: var(--unlpam-action) !important;
	color: #fff !important;
	padding: 0 2.25rem !important;
	font-size: 0.875rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	cursor: pointer;
	white-space: nowrap;
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	transition: background var(--unlpam-transition);
}

.unlpam_hero .unlpam_search__submit::before {
	content: "\f002";
	font-family: "FontAwesome";
	font-weight: normal;
	font-size: 0.95rem;
}

.unlpam_hero .unlpam_search__submit:hover {
	background: var(--unlpam-action-hover) !important;
	filter: none !important;
}

@media (max-width: 640px) {
	.unlpam_hero .unlpam_search__submit {
		padding: 0 1.3rem !important;
	}
}

/* ===== GRID DE REVISTAS ===== */
.pkp_page_index .journals {
	margin: 1.125rem 0 1.25rem !important;
	padding: 0 !important;
}

.pkp_page_index .journals > h2 {
	font-size: 1.25rem !important;
	font-weight: 700 !important;
	text-align: left;
	margin: 0 0 0.875rem !important;
	padding-bottom: 0.4rem;
	color: var(--unlpam-primary) !important;
	border-bottom: 2px solid var(--unlpam-border);
}

.pkp_page_index .journals > ul {
	display: grid !important;
	grid-template-columns: 1fr !important;
	gap: 0.875rem !important;
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	width: 100% !important;
	align-items: stretch !important;
}

.pkp_page_index .journals > ul > li {
	display: flex !important;
	flex-direction: column !important;
	height: 100% !important;
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 1px solid var(--unlpam-border) !important;
	border-radius: var(--unlpam-radius) !important;
	background: var(--unlpam-white) !important;
	box-shadow: var(--unlpam-shadow) !important;
	overflow: hidden !important;
	list-style: none !important;
	transition: transform var(--unlpam-transition), box-shadow var(--unlpam-transition);
}

.pkp_page_index .journals > ul > li:hover {
	transform: translateY(-4px);
	box-shadow: var(--unlpam-shadow-hover) !important;
}

.pkp_page_index .journals .thumb {
	float: none !important;
	width: 100% !important;
	padding: 0 !important;
	margin: 0 !important;
	height: var(--unlpam-cover-height);
	flex-shrink: 0;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	background: var(--unlpam-white) !important;
	border-bottom: 1px solid var(--unlpam-border) !important;
	overflow: hidden;
}

.pkp_page_index .journals .thumb a {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100%;
	height: 100%;
	padding: 0.875rem;
	box-sizing: border-box;
	text-decoration: none !important;
}

.pkp_page_index .journals .thumb img {
	display: block !important;
	max-width: 94% !important;
	max-height: 94% !important;
	width: auto !important;
	height: auto !important;
	object-fit: contain !important;
	float: none !important;
}

.journal-thumb-placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	padding: 0.75rem;
	box-sizing: border-box;
	text-align: center;
	font-size: 0.8125rem;
	font-weight: 600;
	line-height: 1.3;
	color: var(--unlpam-secondary);
	background: var(--unlpam-white);
}

.pkp_page_index .journals .body {
	float: none !important;
	width: 100% !important;
	padding: 0.75rem 0.875rem 0.875rem !important;
	box-sizing: border-box;
	flex: 1 1 auto;
	display: flex !important;
	flex-direction: column !important;
}

.pkp_page_index .journals .body h3 {
	margin: 0 0 0.25rem !important;
	font-family: var(--bs-font-sans-serif) !important;
	font-size: 0.9375rem !important;
	line-height: 1.35 !important;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	min-height: calc(2 * 1.35 * 0.9375rem);
}

.pkp_page_index .journals .body h3 a {
	font-family: inherit !important;
	color: var(--unlpam-text) !important;
	text-decoration: none !important;
	font-weight: 700 !important;
}

.pkp_page_index .journals .body h3 a:hover {
	color: var(--unlpam-action) !important;
}

.pkp_page_index .journals .issn {
	margin: 0 0 0.25rem !important;
	font-size: 0.6875rem !important;
	font-weight: 600;
	color: var(--unlpam-secondary) !important;
	min-height: 1rem;
}

.pkp_page_index .journals .issn--empty {
	visibility: hidden;
}

.pkp_page_index .journals .description {
	color: var(--unlpam-secondary) !important;
	font-size: 0.75rem !important;
	line-height: 1.45 !important;
	margin-bottom: 0.5rem !important;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	flex: 1 1 auto;
	min-height: calc(2 * 1.45 * 0.75rem);
}

.pkp_page_index .journals .links {
	list-style: none !important;
	margin: auto 0 0 !important;
	padding: 0 !important;
}

.pkp_page_index .journals .links li {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.pkp_page_index .journals .links li::before,
.pkp_page_index .journals .links li::marker,
.pkp_page_index .journals .links .current {
	display: none !important;
	content: none !important;
}

.pkp_page_index .journals .links a {
	display: block;
	width: 100%;
	box-sizing: border-box;
	text-align: center;
	padding: 0.4rem 0.65rem;
	border-radius: 8px;
	font-size: 0.75rem;
	font-weight: 700;
	text-decoration: none !important;
	background: var(--unlpam-action) !important;
	color: #fff !important;
	transition: background var(--unlpam-transition);
}

.pkp_page_index .journals .links a:hover {
	background: var(--unlpam-action-hover) !important;
}

/* Responsive: 1 / 2 / 4 columnas */
@media (min-width: 768px) {
	.pkp_page_index .journals > ul {
		grid-template-columns: repeat(2, 1fr) !important;
	}

	.pkp_page_index .journals .thumb {
		height: 250px;
	}
}

@media (min-width: 1200px) {
	.pkp_page_index .journals > ul {
		grid-template-columns: repeat(4, 1fr) !important;
	}

	.pkp_page_index .journals .thumb {
		height: 270px;
	}
}

/* ===== SIDEBAR ===== */
.pkp_structure_sidebar .pkp_block {
	background: var(--unlpam-white) !important;
	border: 1px solid var(--unlpam-border) !important;
	border-radius: var(--unlpam-radius) !important;
	padding: 0.75rem 0.875rem !important;
	margin-bottom: 0.625rem !important;
	box-shadow: var(--unlpam-shadow) !important;
}

.pkp_structure_sidebar .pkp_block .title {
	font-size: 0.875rem !important;
	font-weight: 700 !important;
	color: var(--unlpam-primary) !important;
	border-bottom: 1px solid var(--unlpam-border) !important;
	padding-bottom: 0.3rem !important;
	margin-bottom: 0.5rem !important;
}

.pkp_structure_sidebar .pkp_block .content ul {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.pkp_structure_sidebar .pkp_block .content ul li {
	list-style: none !important;
	padding: 0.2rem 0 !important;
}

.pkp_structure_sidebar .pkp_block .content a {
	color: #fff !important;
	text-decoration: none !important;
	font-size: 0.8125rem;
}

.pkp_structure_sidebar .pkp_block.block_language .content a {
	color: var(--unlpam-action) !important;
}

.pkp_structure_sidebar .pkp_block.block_language .content li.current a {
	color: var(--unlpam-primary) !important;
	font-weight: 700;
}

/* ===== ANNOUNCEMENTS & ABOUT ===== */
.pkp_page_index .about_site,
.pkp_page_index .cmp_announcements {
	background: var(--unlpam-white) !important;
	border: 1px solid var(--unlpam-border) !important;
	border-radius: var(--unlpam-radius) !important;
	padding: 0.875rem 1rem !important;
	margin-bottom: 0.875rem !important;
	box-shadow: var(--unlpam-shadow) !important;
}

/* ===== FOOTER ===== */
.pkp_structure_footer_wrapper {
	background: var(--unlpam-primary) !important;
	margin-top: 0.875rem !important;
	width: 100% !important;
	max-width: 100% !important;
	overflow-x: hidden;
}

.pkp_structure_footer {
	padding: 0 !important;
	width: 100%;
	max-width: 100%;
	overflow-x: hidden;
}

.unlpam_footer__inner {
	padding: 1rem 24px 0;
}

.unlpam_footer {
	color: rgba(255, 255, 255, 0.85) !important;
}

.unlpam_footer a {
	color: rgba(255, 255, 255, 0.92) !important;
	text-decoration: none !important;
}

.unlpam_footer a:hover {
	color: #fff !important;
	text-decoration: underline !important;
}

.unlpam_footer__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.875rem;
}

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

.unlpam_footer__heading {
	margin: 0 0 0.4rem;
	font-size: 0.8125rem;
	font-weight: 700;
	color: #fff;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.unlpam_footer__text,
.unlpam_footer__contact {
	margin: 0;
	font-size: 0.75rem;
	line-height: 1.5;
	color: rgba(255, 255, 255, 0.75);
}

.unlpam_footer ul {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.unlpam_footer ul li {
	list-style: none !important;
	margin: 0 !important;
	padding: 0.15rem 0 !important;
}

.unlpam_footer ul li::before,
.unlpam_footer ul li::marker {
	display: none !important;
	content: none !important;
}

.unlpam_footer__links a {
	font-size: 0.75rem;
}

.unlpam_footer__bottom {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 1rem !important;
	margin-top: 0.75rem;
	padding: 0.75rem 0 0.65rem;
	border-top: 1px solid rgba(255, 255, 255, 0.12);
	font-size: 0.6875rem;
	color: rgba(255, 255, 255, 0.55);
	text-align: center !important;
}

.unlpam_footer__bottom > .pkp_footer_content {
	order: 1 !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	text-align: center !important;
}

.unlpam_footer__bottom > .pkp_footer_content img {
	max-width: 100% !important;
	height: auto !important;
}

.unlpam_footer__bottom > span {
	order: 2 !important;
	display: block !important;
	width: 100% !important;
	margin-top: 0.2rem !important;
	padding-top: 0.65rem !important;
	border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
	font-size: 0.6875rem !important;
	color: rgba(255, 255, 255, 0.5) !important;
}

.pkp_brand_footer {
	padding: 0.4rem 24px 0.5rem !important;
	text-align: center;
	background: rgba(0, 0, 0, 0.08);
	width: 100%;
	max-width: 100%;
	overflow-x: hidden;
}

.pkp_brand_footer img {
	opacity: 0.65;
	max-height: 22px;
	width: auto;
}

/* ===== ACCESSIBILITY ===== */
a:focus-visible,
button:focus-visible,
input:focus-visible {
	outline: 2px solid var(--unlpam-action) !important;
	outline-offset: 2px !important;
}

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

/* =========================================================
   FIX TOPBAR: idioma + perfil juntos a la derecha
   Este bloque pisa reglas anteriores con position:absolute.
   ========================================================= */

.unlpam_topbar {
	position: relative !important;
	width: 100% !important;
	background: var(--unlpam-primary) !important;
	overflow: visible !important;
}

.unlpam_topbar__inner {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 1rem !important;
	min-height: 32px !important;
	width: calc(100% - 32px) !important;
	max-width: var(--unlpam-container) !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding: 0 16px !important;
	box-sizing: border-box !important;
	position: relative !important;
	overflow: visible !important;
}

/* Texto institucional a la izquierda */
.unlpam_topbar__institutional {
	display: flex !important;
	align-items: center !important;
	gap: 0.5rem !important;
	min-width: 0 !important;
	min-height: 32px !important;
	padding-right: 0 !important;
	flex: 1 1 auto !important;
	font-size: 0.6875rem !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.04em !important;
	white-space: nowrap !important;
	overflow: hidden !important;
}

/* Controles a la derecha: idioma + usuario */
.unlpam_topbar__right,
.unlpam_topbar > .unlpam_topbar__right,
.unlpam_topbar__inner > .unlpam_topbar__right {
	position: relative !important;
	inset: auto !important;
	top: auto !important;
	right: auto !important;
	bottom: auto !important;
	left: auto !important;
	transform: none !important;
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	justify-content: flex-end !important;
	gap: 0.4rem !important;
	flex: 0 0 auto !important;
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	z-index: 20 !important;
	overflow: visible !important;
}

/* En caso de que .unlpam_topbar__right haya quedado como hijo directo de .unlpam_topbar */
.unlpam_topbar > .unlpam_topbar__right {
	position: absolute !important;
	top: 50% !important;
	right: max(16px, calc((100% - var(--unlpam-container)) / 2 + 16px)) !important;
	transform: translateY(-50%) !important;
}

/* Botones iguales y compactos */
.unlpam_topbar__right .unlpam_lang--topbar,
.unlpam_topbar__right .unlpam_topbar__user,
.unlpam_topbar__right .unlpam_profile--topbar {
	position: relative !important;
	display: inline-flex !important;
	align-items: center !important;
	flex: 0 0 auto !important;
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
	overflow: visible !important;
}

.unlpam_lang--topbar .unlpam_lang__toggle,
.unlpam_topbar .unlpam_topbar__user .pkp_navigation_user > li.profile > a,
.unlpam_topbar .unlpam_profile--topbar .pkp_navigation_user > li.profile > a,
.unlpam_topbar .unlpam_profile__toggle {
	min-height: 22px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 0.25rem !important;
	padding: 0.2rem 0.5rem !important;
	border-radius: 5px !important;
	border: 1px solid rgba(255, 255, 255, 0.28) !important;
	background: rgba(255, 255, 255, 0.08) !important;
	color: #fff !important;
	font-size: 0.6875rem !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	text-decoration: none !important;
	white-space: nowrap !important;
	cursor: pointer !important;
}

.unlpam_lang--topbar .unlpam_lang__toggle:hover,
.unlpam_topbar .unlpam_topbar__user .pkp_navigation_user > li.profile > a:hover,
.unlpam_topbar .unlpam_profile--topbar .pkp_navigation_user > li.profile > a:hover,
.unlpam_topbar .unlpam_profile__toggle:hover {
	background: rgba(255, 255, 255, 0.16) !important;
}

/* Menús desplegables por encima del header/nav */
.unlpam_lang__menu,
.unlpam_topbar .unlpam_topbar__user .pkp_navigation_user > li.profile > ul,
.unlpam_topbar .unlpam_profile__menu,
.unlpam_topbar .unlpam_topbar__user .pkp_navigation_user .dropdown-menu {
	z-index: 5000 !important;
	top: calc(100% + 6px) !important;
	right: 0 !important;
	left: auto !important;
}

/* No ocultar el usuario cuando está dentro de la topbar */
.unlpam_topbar .pkp_navigation_user_wrapper,
.unlpam_topbar__right .pkp_navigation_user_wrapper {
	display: block !important;
	position: relative !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Seguir ocultando duplicados fuera de la topbar */
.pkp_structure_head > .pkp_navigation_user_wrapper,
.pkp_head_wrapper > .pkp_navigation_user_wrapper,
.pkp_site_nav_menu .pkp_navigation_user_wrapper,
.unlpam_header__main .pkp_navigation_user_wrapper {
	display: none !important;
}

/* Mobile: conservar ambos controles juntos y compactos */
@media (max-width: 768px) {
	.unlpam_topbar__inner {
		width: calc(100% - 20px) !important;
		padding: 0 10px !important;
		gap: 0.5rem !important;
	}

	.unlpam_topbar__institutional {
		font-size: 0.55rem !important;
		flex-direction: row !important;
		white-space: nowrap !important;
		overflow: hidden !important;
		text-overflow: ellipsis !important;
	}

	.unlpam_topbar__sec {
		display: none !important;
	}

	.unlpam_topbar__right {
		gap: 0.25rem !important;
	}

	.unlpam_lang--topbar .unlpam_lang__toggle,
	.unlpam_topbar .unlpam_topbar__user .pkp_navigation_user > li.profile > a,
	.unlpam_topbar .unlpam_profile__toggle {
		font-size: 0.6rem !important;
		padding: 0.18rem 0.4rem !important;
	}
}

