/*
===============================================================================
JLA EDICIONES — ESTILO VISUAL PARA OPEN MONOGRAPH PRESS 3.5
Versión 4
===============================================================================

Paleta solicitada:
- Fondo general: #F0FFFF
- Botones y enlaces institucionales: #324887
- Texto de botones: #FFFFFF

Este archivo ordena la cabecera, evita que la navegación se monte en varias
filas, estructura el contenido y da formato al pie institucional incluido en
jla-omp-footer-v4.html.
===============================================================================
*/

:root {
  --jla-bg: #F0FFFF;
  --jla-blue: #324887;
  --jla-blue-dark: #243665;
  --jla-blue-soft: #e9edf8;
  --jla-heading: #222a3b;
  --jla-text: #465064;
  --jla-muted: #70788a;
  --jla-border: #d8deea;
  --jla-white: #ffffff;
  --jla-soft: #f8fbff;
  --jla-shadow: 0 6px 24px rgba(37, 52, 91, 0.08);
  --jla-radius: 8px;
  --jla-width: 1180px;
}

/* ==========================================================================
   1. BASE
   ========================================================================== */

html,
body {
  background: var(--jla-bg) !important;
}

body {
  margin: 0 !important;
  color: var(--jla-text) !important;
  font-family:
    "Segoe UI",
    Roboto,
    Helvetica,
    Arial,
    sans-serif !important;
  font-size: 15px !important;
  line-height: 1.62 !important;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

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

a {
  color: var(--jla-blue);
  text-decoration: none;
  text-underline-offset: 3px;
}

a:hover,
a:focus {
  color: var(--jla-blue-dark);
  text-decoration: underline;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid rgba(50, 72, 135, 0.24) !important;
  outline-offset: 3px !important;
}

/* Sitio contenido, como el modelo de referencia */

.pkp_structure_page {
  width: min(calc(100% - 28px), var(--jla-width)) !important;
  max-width: var(--jla-width) !important;
  margin: 18px auto 30px !important;
  overflow: visible !important;
  border: 1px solid var(--jla-border) !important;
  border-radius: 3px !important;
  background: var(--jla-white) !important;
  box-shadow: var(--jla-shadow) !important;
}

/* ==========================================================================
   2. CABECERA
   ========================================================================== */

.pkp_structure_head {
  position: relative !important;
  z-index: 20 !important;
  border-bottom: 1px solid var(--jla-border) !important;
  background: var(--jla-white) !important;
}

.pkp_head_wrapper {
  position: relative !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 20px 26px 0 !important;
}

/* Nombre o logotipo */

.pkp_site_name {
  min-height: 72px !important;
  margin: 0 !important;
  padding: 0 190px 16px 0 !important;
}

.pkp_site_name > a {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 68px !important;
  color: var(--jla-heading) !important;
  font-family:
    Georgia,
    "Times New Roman",
    serif !important;
  font-size: 29px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
}

.pkp_site_name .is_img {
  display: inline-flex !important;
  align-items: center !important;
}

.pkp_site_name .is_img img {
  display: block !important;
  width: auto !important;
  max-width: 480px !important;
  max-height: 92px !important;
  margin: 0 !important;
  object-fit: contain !important;
}

/* Usuario conectado: arriba a la derecha, no sobre el menú */

.pkp_navigation_user_wrapper {
  position: absolute !important;
  top: 12px !important;
  right: 24px !important;
  z-index: 30 !important;
}

.pkp_navigation_user {
  display: flex !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  gap: 4px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.pkp_navigation_user > li {
  margin: 0 !important;
}

.pkp_navigation_user > li > a {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 34px !important;
  padding: 0 9px !important;
  color: var(--jla-muted) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
  text-decoration: none !important;
}

.pkp_navigation_user > li > a:hover {
  color: var(--jla-blue) !important;
}

/* Menú principal: una sola línea en escritorio */

.pkp_navigation_primary_row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  width: 100% !important;
  min-height: 54px !important;
  margin: 0 !important;
  padding: 0 !important;
  border-top: 1px solid var(--jla-border) !important;
  background: var(--jla-white) !important;
}

.pkp_navigation_primary_wrapper {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  overflow-x: auto !important;
  overflow-y: visible !important;
  scrollbar-width: thin;
}

.pkp_navigation_primary {
  display: flex !important;
  align-items: stretch !important;
  flex-wrap: nowrap !important;
  width: max-content !important;
  min-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.pkp_navigation_primary > li {
  position: relative !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
}

.pkp_navigation_primary > li > a {
  display: flex !important;
  align-items: center !important;
  min-height: 53px !important;
  padding: 0 12px !important;
  border-bottom: 3px solid transparent !important;
  color: #333b4d !important;
  font-size: 12.5px !important;
  font-weight: 650 !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
  text-decoration: none !important;
}

.pkp_navigation_primary > li > a:hover,
.pkp_navigation_primary > li > a:focus,
.pkp_navigation_primary > li > a[aria-current="page"] {
  border-bottom-color: var(--jla-blue) !important;
  background: var(--jla-soft) !important;
  color: var(--jla-blue) !important;
}

/* Submenús desplegables, no como una segunda fila */

.pkp_navigation_primary ul {
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  z-index: 80 !important;
  display: none !important;
  min-width: 225px !important;
  margin: 0 !important;
  padding: 7px 0 !important;
  border: 1px solid var(--jla-border) !important;
  background: var(--jla-white) !important;
  box-shadow: 0 12px 30px rgba(35, 49, 85, 0.14) !important;
}

.pkp_navigation_primary li:hover > ul,
.pkp_navigation_primary li:focus-within > ul {
  display: block !important;
}

.pkp_navigation_primary ul li {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
}

.pkp_navigation_primary ul a {
  display: block !important;
  width: 100% !important;
  padding: 9px 15px !important;
  color: var(--jla-text) !important;
  font-size: 13px !important;
  white-space: normal !important;
  text-decoration: none !important;
}

.pkp_navigation_primary ul a:hover,
.pkp_navigation_primary ul a:focus {
  background: var(--jla-blue-soft) !important;
  color: var(--jla-blue) !important;
}

/* Búsqueda */

.pkp_search {
  flex: 0 0 auto !important;
  margin: 0 !important;
  padding: 0 2px 0 8px !important;
}

.pkp_search a,
.pkp_search button {
  color: var(--jla-blue) !important;
  font-size: 12px !important;
  font-weight: 650 !important;
  white-space: nowrap !important;
}

/* ==========================================================================
   3. CONTENIDO
   ========================================================================== */

.pkp_structure_content {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 270px !important;
  gap: 30px !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 30px 28px 46px !important;
}

.pkp_structure_main {
  min-width: 0 !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

.pkp_structure_sidebar {
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Elimina líneas y cajas vacías heredadas que generan sensación de montaje */

.pkp_structure_main > :empty,
.pkp_structure_sidebar > :empty,
.page > :empty,
.additional_content > :empty {
  display: none !important;
}

.cmp_breadcrumbs {
  margin: 0 0 20px !important;
  padding: 0 0 11px !important;
  border-bottom: 1px solid var(--jla-border) !important;
  color: var(--jla-muted) !important;
  font-size: 12px !important;
}

/* Títulos */

.pkp_page_title,
.page_title,
.page h1,
.pkp_structure_main > h1 {
  margin: 0 0 24px !important;
  padding: 0 0 13px !important;
  border-bottom: 1px solid var(--jla-border) !important;
  color: var(--jla-heading) !important;
  font-family:
    Georgia,
    "Times New Roman",
    serif !important;
  font-size: 30px !important;
  font-weight: 500 !important;
  line-height: 1.25 !important;
}

.pkp_structure_main h2,
.page h2 {
  color: var(--jla-heading) !important;
  font-family:
    Georgia,
    "Times New Roman",
    serif !important;
  font-size: 23px !important;
  line-height: 1.35 !important;
}

.pkp_structure_main h3,
.page h3 {
  color: var(--jla-heading) !important;
  font-size: 18px !important;
  line-height: 1.4 !important;
}

/* Contenido de inicio */

.page_index_site .homepage_image {
  margin: 0 0 24px !important;
  overflow: hidden !important;
  border: 1px solid var(--jla-border) !important;
  border-radius: var(--jla-radius) !important;
  background: var(--jla-white) !important;
}

.page_index_site .homepage_image img {
  display: block !important;
  width: 100% !important;
  max-height: 390px !important;
  object-fit: cover !important;
}

.page_index_site .additional_content {
  margin: 0 0 30px !important;
  padding: 26px 28px !important;
  border: 1px solid var(--jla-border) !important;
  border-radius: var(--jla-radius) !important;
  background: var(--jla-soft) !important;
}

/* ==========================================================================
   4. BOTONES
   ========================================================================== */

.cmp_button,
.pkp_button,
button,
input[type="button"],
input[type="submit"],
input[type="reset"],
.block_make_submission_link,
.jla-footer-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 40px !important;
  padding: 9px 17px !important;
  border: 1px solid var(--jla-blue) !important;
  border-radius: 5px !important;
  background: var(--jla-blue) !important;
  color: var(--jla-white) !important;
  font-family: inherit !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition:
    background-color 160ms ease,
    border-color 160ms ease,
    transform 160ms ease !important;
}

.cmp_button:hover,
.pkp_button:hover,
button:hover,
input[type="button"]:hover,
input[type="submit"]:hover,
.block_make_submission_link:hover,
.jla-footer-button:hover {
  border-color: var(--jla-blue-dark) !important;
  background: var(--jla-blue-dark) !important;
  color: var(--jla-white) !important;
  text-decoration: none !important;
  transform: translateY(-1px);
}

/* ==========================================================================
   5. CATÁLOGO Y PUBLICACIONES
   ========================================================================== */

.cmp_featured_monographs,
.cmp_new_releases,
.cmp_spotlights,
.cmp_announcements {
  margin: 0 0 36px !important;
}

.cmp_featured_monographs > h2,
.cmp_new_releases > h2,
.cmp_spotlights > h2,
.cmp_announcements > h2,
.cmp_monographs_list > h2 {
  margin: 0 0 20px !important;
  padding: 0 0 10px !important;
  border-bottom: 2px solid var(--jla-blue) !important;
  color: var(--jla-heading) !important;
  font-family:
    Georgia,
    "Times New Roman",
    serif !important;
  font-size: 23px !important;
  font-weight: 500 !important;
}

/* Cuadrícula */

ul.cmp_monographs_list,
.cmp_monographs_list > ul,
.page_catalog .cmp_monographs_list {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 28px 22px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

ul.cmp_monographs_list > li,
.cmp_monographs_list > ul > li,
.page_catalog .cmp_monographs_list > li {
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

.obj_monograph_summary {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 0 15px !important;
  background: transparent !important;
}

.obj_monograph_summary .cover {
  float: none !important;
  width: 100% !important;
  margin: 0 0 13px !important;
  padding: 0 !important;
}

.obj_monograph_summary .cover a {
  display: block !important;
}

.obj_monograph_summary .cover img {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  aspect-ratio: 2 / 3 !important;
  object-fit: cover !important;
  border: 1px solid var(--jla-border) !important;
  border-radius: 3px !important;
  box-shadow: 0 8px 18px rgba(37, 52, 91, 0.13) !important;
}

.obj_monograph_summary .title {
  margin: 0 0 6px !important;
  color: var(--jla-heading) !important;
  font-family:
    Georgia,
    "Times New Roman",
    serif !important;
  font-size: 17px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
}

.obj_monograph_summary .title a {
  color: var(--jla-heading) !important;
}

.obj_monograph_summary .author,
.obj_monograph_summary .authors,
.obj_monograph_summary .date,
.obj_monograph_summary .seriesPosition {
  margin: 0 0 4px !important;
  color: var(--jla-muted) !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
}

/* ==========================================================================
   6. BARRA LATERAL
   ========================================================================== */

.pkp_structure_sidebar .pkp_block,
.pkp_structure_sidebar .block {
  margin: 0 0 18px !important;
  padding: 17px !important;
  border: 1px solid var(--jla-border) !important;
  border-radius: 3px !important;
  background: var(--jla-soft) !important;
}

.pkp_structure_sidebar .title,
.pkp_structure_sidebar h2,
.pkp_structure_sidebar h3 {
  margin: 0 0 12px !important;
  padding: 0 0 9px !important;
  border-bottom: 1px solid var(--jla-border) !important;
  color: var(--jla-heading) !important;
  font-family:
    Georgia,
    "Times New Roman",
    serif !important;
  font-size: 18px !important;
  font-weight: 600 !important;
}

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

.pkp_structure_sidebar li {
  margin: 0 !important;
  padding: 7px 0 !important;
  border-bottom: 1px solid #e2e7f0 !important;
  font-size: 13px !important;
}

.pkp_structure_sidebar li:last-child {
  border-bottom: 0 !important;
}

.pkp_structure_sidebar img {
  max-width: 100% !important;
  height: auto !important;
}

/* ==========================================================================
   7. FORMULARIOS
   ========================================================================== */

input[type="text"],
input[type="email"],
input[type="password"],
input[type="url"],
input[type="search"],
select,
textarea {
  width: 100%;
  max-width: 100%;
  padding: 10px 12px !important;
  border: 1px solid var(--jla-border) !important;
  border-radius: 4px !important;
  background: var(--jla-white) !important;
  color: var(--jla-text) !important;
  font-family: inherit !important;
  font-size: 14px !important;
}

/* ==========================================================================
   8. PIE INSTITUCIONAL JLA
   Requiere pegar el HTML del archivo jla-omp-footer-v4.html.
   ========================================================================== */

.pkp_structure_footer_wrapper {
  margin: 0 !important;
  padding: 0 !important;
  border-top: 1px solid var(--jla-border) !important;
  background: var(--jla-bg) !important;
}

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

.pkp_footer_content {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: var(--jla-bg) !important;
  text-align: left !important;
}

.jla-footer-custom {
  width: 100% !important;
  margin: 0 !important;
  padding: 34px 28px 26px !important;
  color: var(--jla-text) !important;
  background: var(--jla-bg) !important;
  font-family:
    "Segoe UI",
    Roboto,
    Helvetica,
    Arial,
    sans-serif !important;
}

/* Botones a los tres enlaces principales */

.jla-footer-links {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  margin: 0 0 28px !important;
  padding: 0 0 24px !important;
  border-bottom: 1px solid var(--jla-border) !important;
}

.jla-footer-links .jla-footer-button {
  flex: 0 1 auto !important;
  min-width: 210px !important;
}

/* Identidad */

.jla-footer-brand {
  display: grid !important;
  grid-template-columns: 92px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 22px !important;
  margin: 0 !important;
  padding: 0 0 26px !important;
  border-bottom: 1px solid var(--jla-border) !important;
}

.jla-footer-mark {
  display: grid !important;
  place-items: center !important;
  width: 82px !important;
  height: 82px !important;
  border: 2px solid var(--jla-blue) !important;
  border-radius: 50% !important;
  color: var(--jla-blue) !important;
  background: var(--jla-white) !important;
  font-family:
    Georgia,
    "Times New Roman",
    serif !important;
  font-size: 25px !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
}

.jla-footer-kicker {
  margin: 0 0 5px !important;
  color: var(--jla-blue) !important;
  font-size: 14px !important;
  font-weight: 750 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
}

.jla-footer-slogan {
  max-width: 900px !important;
  margin: 0 !important;
  color: var(--jla-text) !important;
  font-size: 15px !important;
  line-height: 1.62 !important;
}

/* Tres columnas */

.jla-footer-grid {
  display: grid !important;
  grid-template-columns: 1.35fr 0.75fr 0.9fr !important;
  margin: 0 !important;
  border-bottom: 1px solid var(--jla-border) !important;
}

.jla-footer-section {
  min-width: 0 !important;
  padding: 22px 30px !important;
}

.jla-footer-section:first-child {
  padding-left: 0 !important;
}

.jla-footer-section:last-child {
  padding-right: 0 !important;
}

.jla-footer-section + .jla-footer-section {
  border-left: 1px solid var(--jla-border) !important;
}

.jla-footer-section h2 {
  margin: 0 0 10px !important;
  color: var(--jla-heading) !important;
  font-family:
    Georgia,
    "Times New Roman",
    serif !important;
  font-size: 18px !important;
  font-weight: 600 !important;
}

.jla-footer-section p {
  margin: 0 0 10px !important;
  color: var(--jla-text) !important;
  font-size: 13.5px !important;
  line-height: 1.62 !important;
}

.jla-footer-section ul {
  margin: 0 !important;
  padding-left: 20px !important;
}

.jla-footer-section li {
  margin: 4px 0 !important;
  color: var(--jla-text) !important;
}

.jla-footer-section a {
  overflow-wrap: anywhere !important;
}

/* Empresa y direcciones */

.jla-footer-addresses {
  display: grid !important;
  grid-template-columns: 0.8fr 1fr 1fr !important;
  gap: 28px !important;
  align-items: start !important;
  padding: 22px 0 !important;
  border-bottom: 1px solid var(--jla-border) !important;
}

.jla-footer-company {
  padding: 13px 15px !important;
  border-left: 4px solid var(--jla-blue) !important;
  background: rgba(255, 255, 255, 0.66) !important;
}

.jla-footer-company strong {
  color: var(--jla-heading) !important;
  font-size: 13.5px !important;
}

.jla-footer-address {
  margin: 0 !important;
  color: var(--jla-muted) !important;
  font-style: normal !important;
}

.jla-footer-address h3 {
  margin: 0 0 6px !important;
  color: var(--jla-heading) !important;
  font-size: 14px !important;
  font-weight: 750 !important;
}

.jla-footer-address p {
  margin: 0 0 5px !important;
  color: var(--jla-muted) !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
}

/* Cierre */

.jla-footer-bottom {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 24px !important;
  padding-top: 15px !important;
}

.jla-footer-bottom p {
  margin: 0 !important;
  color: var(--jla-muted) !important;
  font-size: 12px !important;
}

.jla-footer-platform {
  text-align: right !important;
  white-space: nowrap !important;
}

.pkp_brand_footer {
  width: 100% !important;
  margin: 0 !important;
  padding: 13px 28px 18px !important;
  border-top: 1px solid var(--jla-border) !important;
  background: var(--jla-bg) !important;
  color: var(--jla-muted) !important;
  font-size: 11px !important;
  text-align: right !important;
}

.pkp_brand_footer img {
  width: auto !important;
  max-width: 100px !important;
  max-height: 40px !important;
  opacity: 0.72 !important;
}

/* ==========================================================================
   9. RESPONSIVE
   ========================================================================== */

@media (max-width: 1000px) {
  .pkp_structure_content {
    grid-template-columns: minmax(0, 1fr) 235px !important;
    gap: 24px !important;
  }

  ul.cmp_monographs_list,
  .cmp_monographs_list > ul,
  .page_catalog .cmp_monographs_list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .jla-footer-grid {
    grid-template-columns: 1fr 1fr !important;
  }

  .jla-footer-section:nth-child(3) {
    grid-column: 1 / -1 !important;
    padding-left: 0 !important;
    border-top: 1px solid var(--jla-border) !important;
    border-left: 0 !important;
  }

  .jla-footer-addresses {
    grid-template-columns: 1fr 1fr !important;
  }

  .jla-footer-company {
    grid-column: 1 / -1 !important;
  }
}

@media (max-width: 780px) {
  .pkp_structure_page {
    width: min(calc(100% - 16px), var(--jla-width)) !important;
    margin-top: 8px !important;
  }

  .pkp_head_wrapper {
    padding: 18px 18px 0 !important;
  }

  .pkp_site_name {
    padding-right: 0 !important;
  }

  .pkp_navigation_user_wrapper {
    position: static !important;
    margin: 0 0 7px !important;
  }

  .pkp_navigation_primary_row {
    align-items: stretch !important;
    flex-direction: column !important;
    gap: 0 !important;
    padding-bottom: 8px !important;
  }

  .pkp_search {
    align-self: flex-end !important;
  }

  .pkp_structure_content {
    display: block !important;
    padding: 26px 20px 40px !important;
  }

  .pkp_structure_sidebar {
    width: 100% !important;
    margin-top: 34px !important;
  }

  .jla-footer-grid {
    display: block !important;
  }

  .jla-footer-section,
  .jla-footer-section:first-child,
  .jla-footer-section:last-child,
  .jla-footer-section:nth-child(3) {
    padding: 20px 0 !important;
    border-top: 1px solid var(--jla-border) !important;
    border-left: 0 !important;
  }

  .jla-footer-grid .jla-footer-section:first-child {
    border-top: 0 !important;
  }

  .jla-footer-addresses {
    grid-template-columns: 1fr !important;
  }

  .jla-footer-company {
    grid-column: auto !important;
  }
}

@media (max-width: 560px) {
  .pkp_structure_page {
    width: 100% !important;
    margin: 0 !important;
    border-right: 0 !important;
    border-left: 0 !important;
  }

  .pkp_site_name .is_img img {
    max-width: 100% !important;
    max-height: 76px !important;
  }

  .pkp_navigation_primary_wrapper {
    overflow-x: visible !important;
  }

  .pkp_navigation_primary {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  .pkp_navigation_primary > li > a {
    min-height: 42px !important;
    padding: 0 7px !important;
    border-bottom-width: 1px !important;
  }

  .pkp_navigation_primary ul {
    position: static !important;
    display: none !important;
    width: 100% !important;
    box-shadow: none !important;
  }

  .pkp_navigation_primary li:focus-within > ul {
    display: block !important;
  }

  ul.cmp_monographs_list,
  .cmp_monographs_list > ul,
  .page_catalog .cmp_monographs_list {
    grid-template-columns: 1fr !important;
  }

  .obj_monograph_summary {
    max-width: 290px !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }

  .jla-footer-custom {
    padding: 28px 18px 22px !important;
  }

  .jla-footer-links {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  .jla-footer-links .jla-footer-button {
    width: 100% !important;
    min-width: 0 !important;
  }

  .jla-footer-brand {
    display: block !important;
  }

  .jla-footer-mark {
    margin-bottom: 15px !important;
  }

  .jla-footer-bottom {
    align-items: flex-start !important;
    flex-direction: column !important;
    gap: 7px !important;
  }

  .jla-footer-platform {
    text-align: left !important;
    white-space: normal !important;
  }

  .pkp_brand_footer {
    padding-right: 18px !important;
    padding-left: 18px !important;
    text-align: left !important;
  }
}

/* ==========================================================================
   JLA OMP V5 — CORRECCIÓN ESTRUCTURAL
   Aplicar después del CSS v4 o usar el archivo consolidado v5.
   ========================================================================== */

/* El sitio deja de estar encerrado dentro de una caja rígida */
html,
body {
  width: 100% !important;
  min-width: 0 !important;
  background: #F0FFFF !important;
}

.pkp_structure_page {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #ffffff !important;
  box-shadow: none !important;
}

/* Los contenedores internos conservan una medida legible, pero son fluidos */
.pkp_head_wrapper,
.pkp_structure_content,
.pkp_structure_footer {
  width: min(100%, 1440px) !important;
  max-width: 1440px !important;
  margin-right: auto !important;
  margin-left: auto !important;
}

/* El botón hamburguesa pertenece a la navegación móvil.
   Se oculta en escritorio para evitar el botón azul/X sin función aparente. */
.pkp_site_nav_toggle {
  display: none !important;
}

/* Restablece la estructura oficial de OMP:
   main aparece primero en el DOM y sidebar después.
   Se asignan orden, ancho y flotación explícitos. */
.pkp_structure_content.has_sidebar {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: 32px !important;
  padding: 34px 28px 48px !important;
}

.pkp_structure_content.has_sidebar > .pkp_structure_main {
  order: 1 !important;
  flex: 1 1 0 !important;
  float: none !important;
  clear: none !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.pkp_structure_content.has_sidebar > .pkp_structure_sidebar,
.pkp_structure_content.has_sidebar > .pkp_structure_sidebar.left {
  order: 2 !important;
  flex: 0 0 290px !important;
  float: none !important;
  clear: none !important;
  width: 290px !important;
  min-width: 0 !important;
  max-width: 290px !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Páginas sin barra lateral */
.pkp_structure_content:not(.has_sidebar) {
  display: block !important;
  padding: 34px 28px 48px !important;
}

.pkp_structure_content:not(.has_sidebar) > .pkp_structure_main {
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

/* El catálogo permanece dentro del contenido principal */
body.pkp_page_catalog .pkp_structure_main,
body.pkp_page_catalog .page_catalog,
body.pkp_page_catalog .cmp_monographs_list,
body.pkp_page_catalog .cmp_monographs_list > ul,
body.pkp_page_catalog ul.cmp_monographs_list {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
}

body.pkp_page_catalog .page_catalog {
  display: block !important;
  float: none !important;
  margin: 0 !important;
}

/* Cuadrícula estable del catálogo */
body.pkp_page_catalog ul.cmp_monographs_list,
body.pkp_page_catalog .cmp_monographs_list > ul,
body.pkp_page_catalog .page_catalog .cmp_monographs_list {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 28px 22px !important;
}

/* Evita que reglas anteriores inviertan o desplacen bloques */
.pkp_structure_main,
.pkp_structure_sidebar {
  position: static !important;
  inset: auto !important;
  transform: none !important;
}

/* Cabecera más compacta y fluida */
.pkp_structure_head {
  width: 100% !important;
  background: #ffffff !important;
}

.pkp_head_wrapper {
  padding: 14px 28px 0 !important;
}

.pkp_site_name_wrapper,
.pkp_site_name {
  min-height: 0 !important;
}

.pkp_site_name {
  padding: 0 190px 10px 0 !important;
}

.pkp_site_name .is_img img {
  max-width: min(100%, 480px) !important;
  max-height: 84px !important;
}

/* Footer a ancho completo, contenido interior centrado */
.pkp_structure_footer_wrapper {
  width: 100% !important;
  max-width: none !important;
  background: #F0FFFF !important;
}

.pkp_footer_content {
  width: 100% !important;
  max-width: none !important;
  background: #F0FFFF !important;
}

.jla-footer-custom {
  width: min(100%, 1440px) !important;
  max-width: 1440px !important;
  margin: 0 auto !important;
}

/* Sustitución del monograma circular por el logotipo PNG */
.jla-footer-brand {
  grid-template-columns: minmax(210px, 300px) minmax(0, 1fr) !important;
  gap: 28px !important;
}

.jla-footer-mark {
  display: none !important;
}

.jla-footer-logo {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  min-width: 0 !important;
  text-decoration: none !important;
}

.jla-footer-logo img {
  display: block !important;
  width: 100% !important;
  max-width: 285px !important;
  height: auto !important;
  max-height: 135px !important;
  margin: 0 !important;
  object-fit: contain !important;
}

/* Responsive */
@media (max-width: 980px) {
  .pkp_structure_content.has_sidebar {
    gap: 24px !important;
  }

  .pkp_structure_content.has_sidebar > .pkp_structure_sidebar,
  .pkp_structure_content.has_sidebar > .pkp_structure_sidebar.left {
    flex-basis: 245px !important;
    width: 245px !important;
    max-width: 245px !important;
  }

  body.pkp_page_catalog ul.cmp_monographs_list,
  body.pkp_page_catalog .cmp_monographs_list > ul,
  body.pkp_page_catalog .page_catalog .cmp_monographs_list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 780px) {
  .pkp_site_nav_toggle {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .pkp_head_wrapper {
    padding: 12px 18px 0 !important;
  }

  .pkp_site_name {
    padding-right: 0 !important;
  }

  .pkp_structure_content.has_sidebar {
    display: flex !important;
    flex-direction: column !important;
    gap: 32px !important;
    padding: 26px 18px 40px !important;
  }

  .pkp_structure_content.has_sidebar > .pkp_structure_main {
    order: 1 !important;
    width: 100% !important;
  }

  .pkp_structure_content.has_sidebar > .pkp_structure_sidebar,
  .pkp_structure_content.has_sidebar > .pkp_structure_sidebar.left {
    order: 2 !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: none !important;
  }

  .pkp_structure_content:not(.has_sidebar) {
    padding: 26px 18px 40px !important;
  }

  .jla-footer-brand {
    grid-template-columns: 1fr !important;
  }

  .jla-footer-logo img {
    max-width: 320px !important;
  }
}

@media (max-width: 560px) {
  body.pkp_page_catalog ul.cmp_monographs_list,
  body.pkp_page_catalog .cmp_monographs_list > ul,
  body.pkp_page_catalog .page_catalog .cmp_monographs_list {
    grid-template-columns: 1fr !important;
  }
}

/* ==========================================================================
   JLA OMP V6 — AJUSTE FINAL
   1. Elimina la línea vertical residual generada por la estructura nativa.
   2. Aplica #031036 a toda la cabecera.
   ========================================================================== */

/* --------------------------------------------------------------------------
   ELIMINACIÓN DE LA LÍNEA VERTICAL RESIDUAL
   OMP puede generar separadores de columnas mediante pseudo-elementos.
   -------------------------------------------------------------------------- */

.pkp_structure_content::before,
.pkp_structure_content::after,
.pkp_structure_main::before,
.pkp_structure_main::after,
.pkp_structure_sidebar::before,
.pkp_structure_sidebar::after {
  content: none !important;
  display: none !important;
  position: static !important;
  width: 0 !important;
  height: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.pkp_structure_content,
.pkp_structure_main,
.pkp_structure_sidebar,
.pkp_structure_sidebar.left {
  border-right: 0 !important;
  border-left: 0 !important;
  background-image: none !important;
  box-shadow: none !important;
}

/* Conserva únicamente el espacio entre contenido y barra lateral */
.pkp_structure_content.has_sidebar {
  column-gap: 32px !important;
}

/* --------------------------------------------------------------------------
   CABECERA INSTITUCIONAL
   -------------------------------------------------------------------------- */

.pkp_structure_head,
.pkp_head_wrapper,
.pkp_navigation_primary_row {
  background: #031036 !important;
}

.pkp_structure_head {
  border-bottom: 1px solid rgba(255, 255, 255, 0.16) !important;
}

.pkp_navigation_primary_row {
  border-top: 1px solid rgba(255, 255, 255, 0.14) !important;
}

/* Nombre de la editorial o texto del sitio */

.pkp_site_name > a,
.pkp_site_name .is_text,
.pkp_site_name_wrapper a {
  color: #ffffff !important;
}

/* Usuario conectado */

.pkp_navigation_user > li > a,
.pkp_navigation_user > li > a:hover,
.pkp_navigation_user > li > a:focus {
  color: #ffffff !important;
}

/* Navegación principal */

.pkp_navigation_primary > li > a {
  color: #ffffff !important;
}

.pkp_navigation_primary > li > a:hover,
.pkp_navigation_primary > li > a:focus,
.pkp_navigation_primary > li > a[aria-current="page"] {
  border-bottom-color: #F0FFFF !important;
  background: #324887 !important;
  color: #ffffff !important;
}

/* Buscador */

.pkp_search,
.pkp_search a,
.pkp_search button,
.pkp_search .fa,
.pkp_search .search_prompt {
  color: #ffffff !important;
}

/* Botón móvil */

.pkp_site_nav_toggle {
  border: 1px solid rgba(255, 255, 255, 0.38) !important;
  background: #324887 !important;
  color: #ffffff !important;
}

.pkp_site_nav_toggle:hover,
.pkp_site_nav_toggle:focus {
  background: #243665 !important;
  color: #ffffff !important;
}

/* Los menús desplegables mantienen fondo claro y legibilidad */

.pkp_navigation_primary ul {
  border-color: #d8deea !important;
  background: #ffffff !important;
}

.pkp_navigation_primary ul a {
  color: #465064 !important;
}

.pkp_navigation_primary ul a:hover,
.pkp_navigation_primary ul a:focus {
  background: #e9edf8 !important;
  color: #324887 !important;
}

/* Ajuste móvil */

@media (max-width: 780px) {
  .pkp_navigation_user_wrapper {
    color: #ffffff !important;
  }

  .pkp_navigation_primary_row {
    background: #031036 !important;
  }
}

/* ==========================================================================
   JLA OMP V7 — MENÚS DESPLEGABLES Y CATÁLOGO
   --------------------------------------------------------------------------
   1. Libera el desbordamiento vertical de la cabecera para que los submenús
      puedan mostrarse completos.
   2. Elimina la barra de desplazamiento incrustada en la navegación.
   3. Restablece el catálogo como una cuadrícula limpia, sin recuadros,
      separadores ni alturas forzadas.
   ========================================================================== */

/* ==========================================================================
   A. MENÚS DESPLEGABLES
   ========================================================================== */

/*
La combinación overflow-x:auto + overflow-y:visible genera recorte vertical
en varios navegadores. En escritorio la navegación debe permanecer visible.
*/

.pkp_structure_page,
.pkp_structure_head,
.pkp_head_wrapper,
.pkp_navigation_primary_row,
.pkp_navigation_primary_wrapper,
.pkp_navigation_primary,
.pkp_navigation_primary > li {
  overflow: visible !important;
}

.pkp_structure_head {
  position: relative !important;
  z-index: 500 !important;
}

.pkp_head_wrapper,
.pkp_navigation_primary_row {
  position: relative !important;
  z-index: 510 !important;
}

.pkp_navigation_primary_wrapper {
  position: relative !important;
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  scrollbar-width: none !important;
}

.pkp_navigation_primary_wrapper::-webkit-scrollbar {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
}

.pkp_navigation_primary {
  position: relative !important;
  z-index: 520 !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
}

/* Elemento que contiene el submenú */

.pkp_navigation_primary > li {
  position: relative !important;
  z-index: auto !important;
}

/* Submenú desplegable */

.pkp_navigation_primary > li > ul,
.pkp_navigation_primary .dropdown-menu,
.pkp_navigation_primary .submenu {
  position: absolute !important;
  top: calc(100% - 1px) !important;
  left: 0 !important;
  z-index: 9999 !important;
  display: block !important;
  visibility: hidden !important;
  width: max-content !important;
  min-width: 230px !important;
  max-width: 330px !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 8px 0 !important;
  overflow: visible !important;
  border: 1px solid #d8deea !important;
  border-radius: 0 0 5px 5px !important;
  background: #ffffff !important;
  box-shadow: 0 14px 30px rgba(3, 16, 54, 0.22) !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transform: translateY(6px) !important;
  transition:
    opacity 140ms ease,
    transform 140ms ease,
    visibility 140ms ease !important;
}

/* Mostrar por ratón, teclado o estado abierto del sistema */

.pkp_navigation_primary > li:hover > ul,
.pkp_navigation_primary > li:focus-within > ul,
.pkp_navigation_primary > li[aria-expanded="true"] > ul,
.pkp_navigation_primary > li > ul.is_visible,
.pkp_navigation_primary .dropdown-menu.is_visible,
.pkp_navigation_primary .submenu.is_visible {
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  transform: translateY(0) !important;
}

/* Evita que los últimos submenús salgan fuera de la pantalla */

.pkp_navigation_primary > li:nth-last-child(-n + 2) > ul {
  right: 0 !important;
  left: auto !important;
}

/* Contenido del submenú */

.pkp_navigation_primary > li > ul > li,
.pkp_navigation_primary .dropdown-menu > li,
.pkp_navigation_primary .submenu > li {
  display: block !important;
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

.pkp_navigation_primary > li > ul a,
.pkp_navigation_primary .dropdown-menu a,
.pkp_navigation_primary .submenu a {
  display: block !important;
  width: 100% !important;
  padding: 10px 16px !important;
  color: #465064 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  white-space: normal !important;
  text-decoration: none !important;
}

.pkp_navigation_primary > li > ul a:hover,
.pkp_navigation_primary > li > ul a:focus,
.pkp_navigation_primary .dropdown-menu a:hover,
.pkp_navigation_primary .dropdown-menu a:focus,
.pkp_navigation_primary .submenu a:hover,
.pkp_navigation_primary .submenu a:focus {
  background: #e9edf8 !important;
  color: #324887 !important;
  text-decoration: none !important;
}

/* El contenido debe quedar por debajo del menú abierto */

.pkp_structure_content {
  position: relative !important;
  z-index: 1 !important;
}

/* ==========================================================================
   B. CATÁLOGO SIN RECUADROS SUPERPUESTOS
   ========================================================================== */

/* Limpieza completa del contenedor */

body.pkp_page_catalog .cmp_monographs_list,
body.pkp_page_catalog ul.cmp_monographs_list,
body.pkp_page_catalog .cmp_monographs_list > ul,
.page_catalog .cmp_monographs_list,
.page_catalog ul.cmp_monographs_list {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-auto-flow: row !important;
  grid-auto-rows: auto !important;
  align-items: start !important;
  justify-items: stretch !important;
  gap: 38px 24px !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  list-style: none !important;
}

/* Cada publicación ocupa una celda independiente y no se estira */

body.pkp_page_catalog .cmp_monographs_list > li,
body.pkp_page_catalog ul.cmp_monographs_list > li,
body.pkp_page_catalog .cmp_monographs_list > ul > li,
.page_catalog .cmp_monographs_list > li,
.page_catalog ul.cmp_monographs_list > li {
  position: static !important;
  display: block !important;
  align-self: start !important;
  float: none !important;
  clear: none !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  border: 0 !important;
  border-right: 0 !important;
  border-left: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* Elimina separadores y pseudo-elementos heredados */

body.pkp_page_catalog .cmp_monographs_list::before,
body.pkp_page_catalog .cmp_monographs_list::after,
body.pkp_page_catalog .cmp_monographs_list > li::before,
body.pkp_page_catalog .cmp_monographs_list > li::after,
body.pkp_page_catalog .obj_monograph_summary::before,
body.pkp_page_catalog .obj_monograph_summary::after,
.page_catalog .cmp_monographs_list::before,
.page_catalog .cmp_monographs_list::after,
.page_catalog .cmp_monographs_list > li::before,
.page_catalog .cmp_monographs_list > li::after,
.page_catalog .obj_monograph_summary::before,
.page_catalog .obj_monograph_summary::after {
  content: none !important;
  display: none !important;
  border: 0 !important;
  background: transparent !important;
}

/* Tarjeta editorial limpia */

body.pkp_page_catalog .obj_monograph_summary,
.page_catalog .obj_monograph_summary {
  position: static !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  align-self: start !important;
  float: none !important;
  clear: none !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  border: 0 !important;
  border-right: 0 !important;
  border-left: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* Reinicio de bloques internos */

body.pkp_page_catalog .obj_monograph_summary > *,
body.pkp_page_catalog .obj_monograph_summary .metadata,
body.pkp_page_catalog .obj_monograph_summary .details,
body.pkp_page_catalog .obj_monograph_summary .description,
.page_catalog .obj_monograph_summary > *,
.page_catalog .obj_monograph_summary .metadata,
.page_catalog .obj_monograph_summary .details,
.page_catalog .obj_monograph_summary .description {
  position: static !important;
  float: none !important;
  clear: none !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
  overflow: visible !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Área uniforme para la portada */

body.pkp_page_catalog .obj_monograph_summary .cover,
.page_catalog .obj_monograph_summary .cover {
  position: static !important;
  display: block !important;
  flex: 0 0 auto !important;
  float: none !important;
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  margin: 0 0 15px !important;
  padding: 0 !important;
  overflow: visible !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.pkp_page_catalog .obj_monograph_summary .cover a,
.page_catalog .obj_monograph_summary .cover a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  aspect-ratio: 2 / 3 !important;
  overflow: hidden !important;
  border: 1px solid #d8deea !important;
  border-radius: 4px !important;
  background: #f8fbff !important;
  box-shadow: 0 8px 18px rgba(3, 16, 54, 0.10) !important;
}

/* La portada completa se ve sin deformarse ni recortarse */

body.pkp_page_catalog .obj_monograph_summary .cover img,
.page_catalog .obj_monograph_summary .cover img {
  position: static !important;
  display: block !important;
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  object-fit: contain !important;
  object-position: center !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #ffffff !important;
  box-shadow: none !important;
}

/* Tipografía y control de textos extensos */

body.pkp_page_catalog .obj_monograph_summary .title,
.page_catalog .obj_monograph_summary .title {
  width: 100% !important;
  margin: 0 0 7px !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}

body.pkp_page_catalog .obj_monograph_summary .title a,
.page_catalog .obj_monograph_summary .title a {
  display: inline !important;
  overflow-wrap: anywhere !important;
}

body.pkp_page_catalog .obj_monograph_summary .author,
body.pkp_page_catalog .obj_monograph_summary .authors,
body.pkp_page_catalog .obj_monograph_summary .date,
body.pkp_page_catalog .obj_monograph_summary .seriesPosition,
.page_catalog .obj_monograph_summary .author,
.page_catalog .obj_monograph_summary .authors,
.page_catalog .obj_monograph_summary .date,
.page_catalog .obj_monograph_summary .seriesPosition {
  width: 100% !important;
  overflow-wrap: anywhere !important;
}

/* ==========================================================================
   C. ADAPTACIÓN RESPONSIVA DEL CATÁLOGO
   ========================================================================== */

@media (max-width: 1100px) {
  body.pkp_page_catalog .cmp_monographs_list,
  body.pkp_page_catalog ul.cmp_monographs_list,
  body.pkp_page_catalog .cmp_monographs_list > ul,
  .page_catalog .cmp_monographs_list,
  .page_catalog ul.cmp_monographs_list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 780px) {
  /*
  En móvil el sistema puede convertir la navegación en un panel.
  Se permiten sus reglas nativas sin recortar los submenús.
  */
  .pkp_navigation_primary_wrapper,
  .pkp_navigation_primary,
  .pkp_navigation_primary > li {
    overflow: visible !important;
  }

  .pkp_navigation_primary > li > ul,
  .pkp_navigation_primary .dropdown-menu,
  .pkp_navigation_primary .submenu {
    position: static !important;
    visibility: visible !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    border-right: 0 !important;
    border-left: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: none !important;
  }
}

@media (max-width: 560px) {
  body.pkp_page_catalog .cmp_monographs_list,
  body.pkp_page_catalog ul.cmp_monographs_list,
  body.pkp_page_catalog .cmp_monographs_list > ul,
  .page_catalog .cmp_monographs_list,
  .page_catalog ul.cmp_monographs_list {
    grid-template-columns: 1fr !important;
  }

  body.pkp_page_catalog .obj_monograph_summary,
  .page_catalog .obj_monograph_summary {
    max-width: 330px !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }
}

/* ==========================================================================
   JLA OMP V8 — CATÁLOGO EDITORIAL HORIZONTAL
   --------------------------------------------------------------------------
   Inspirado en una composición menos invasiva:
   - Dos tarjetas por fila en escritorio.
   - Portada compacta a la izquierda.
   - Metadatos a la derecha.
   - Sin deformación de portadas.
   - Fondo claro, bordes suaves y sombra ligera.
   ========================================================================== */

/* Contenedor del catálogo */

body.pkp_page_catalog .cmp_monographs_list,
body.pkp_page_catalog ul.cmp_monographs_list,
body.pkp_page_catalog .cmp_monographs_list > ul,
.page_catalog .cmp_monographs_list,
.page_catalog ul.cmp_monographs_list {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  grid-auto-flow: row !important;
  grid-auto-rows: auto !important;
  align-items: stretch !important;
  gap: 22px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  list-style: none !important;
}

/* Cada libro funciona como tarjeta independiente */

body.pkp_page_catalog .cmp_monographs_list > li,
body.pkp_page_catalog ul.cmp_monographs_list > li,
body.pkp_page_catalog .cmp_monographs_list > ul > li,
.page_catalog .cmp_monographs_list > li,
.page_catalog ul.cmp_monographs_list > li {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

/* Tarjeta horizontal */

body.pkp_page_catalog .obj_monograph_summary,
.page_catalog .obj_monograph_summary {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 150px minmax(0, 1fr) !important;
  align-items: start !important;
  column-gap: 20px !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 100% !important;
  min-height: 230px !important;
  margin: 0 !important;
  padding: 20px !important;
  overflow: hidden !important;
  border: 1px solid rgba(50, 72, 135, 0.09) !important;
  border-radius: 14px !important;
  background: rgba(255, 255, 255, 0.78) !important;
  box-shadow: 0 8px 24px rgba(3, 16, 54, 0.07) !important;
  transition:
    transform 160ms ease,
    box-shadow 160ms ease,
    border-color 160ms ease !important;
}

body.pkp_page_catalog .obj_monograph_summary:hover,
.page_catalog .obj_monograph_summary:hover {
  transform: translateY(-2px) !important;
  border-color: rgba(50, 72, 135, 0.18) !important;
  box-shadow: 0 12px 30px rgba(3, 16, 54, 0.11) !important;
}

/* Portada compacta, completa y sin deformación */

body.pkp_page_catalog .obj_monograph_summary .cover,
.page_catalog .obj_monograph_summary .cover {
  grid-column: 1 !important;
  grid-row: 1 / span 8 !important;
  align-self: start !important;
  width: 150px !important;
  min-width: 150px !important;
  height: 205px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.pkp_page_catalog .obj_monograph_summary .cover a,
.page_catalog .obj_monograph_summary .cover a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: auto !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: #f7f9fd !important;
  box-shadow: 0 7px 18px rgba(3, 16, 54, 0.12) !important;
}

body.pkp_page_catalog .obj_monograph_summary .cover img,
.page_catalog .obj_monograph_summary .cover img {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  max-height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  object-fit: contain !important;
  object-position: center !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  box-shadow: none !important;
}

/* Todo lo demás ocupa la columna de información */

body.pkp_page_catalog .obj_monograph_summary > :not(.cover),
.page_catalog .obj_monograph_summary > :not(.cover) {
  grid-column: 2 !important;
  width: 100% !important;
  min-width: 0 !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
}

/* Título */

body.pkp_page_catalog .obj_monograph_summary .title,
.page_catalog .obj_monograph_summary .title {
  margin: 2px 0 8px !important;
  color: #031036 !important;
  font-family:
    "Segoe UI",
    Roboto,
    Helvetica,
    Arial,
    sans-serif !important;
  font-size: 18px !important;
  font-weight: 750 !important;
  line-height: 1.32 !important;
  letter-spacing: 0.01em !important;
  text-transform: none !important;
  overflow-wrap: anywhere !important;
}

body.pkp_page_catalog .obj_monograph_summary .title a,
.page_catalog .obj_monograph_summary .title a {
  color: #031036 !important;
  text-decoration: none !important;
}

body.pkp_page_catalog .obj_monograph_summary .title a:hover,
.page_catalog .obj_monograph_summary .title a:hover {
  color: #324887 !important;
}

/* Autores y metadatos */

body.pkp_page_catalog .obj_monograph_summary .author,
body.pkp_page_catalog .obj_monograph_summary .authors,
body.pkp_page_catalog .obj_monograph_summary .date,
body.pkp_page_catalog .obj_monograph_summary .seriesPosition,
body.pkp_page_catalog .obj_monograph_summary .published,
.page_catalog .obj_monograph_summary .author,
.page_catalog .obj_monograph_summary .authors,
.page_catalog .obj_monograph_summary .date,
.page_catalog .obj_monograph_summary .seriesPosition,
.page_catalog .obj_monograph_summary .published {
  margin: 0 0 6px !important;
  color: #586174 !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
  overflow-wrap: anywhere !important;
}

/* Añade pequeños marcadores visuales sin depender de iconos externos */

body.pkp_page_catalog .obj_monograph_summary .authors::before,
body.pkp_page_catalog .obj_monograph_summary .author::before,
.page_catalog .obj_monograph_summary .authors::before,
.page_catalog .obj_monograph_summary .author::before {
  content: "Autoría: " !important;
  color: #324887 !important;
  font-weight: 700 !important;
}

body.pkp_page_catalog .obj_monograph_summary .date::before,
body.pkp_page_catalog .obj_monograph_summary .published::before,
.page_catalog .obj_monograph_summary .date::before,
.page_catalog .obj_monograph_summary .published::before {
  content: "Fecha: " !important;
  color: #324887 !important;
  font-weight: 700 !important;
}

/* Texto breve */

body.pkp_page_catalog .obj_monograph_summary .description,
.page_catalog .obj_monograph_summary .description {
  margin: 6px 0 0 !important;
  color: #465064 !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
}

/* Evita cajas, líneas y alturas heredadas dentro de la tarjeta */

body.pkp_page_catalog .obj_monograph_summary .metadata,
body.pkp_page_catalog .obj_monograph_summary .details,
body.pkp_page_catalog .obj_monograph_summary .description,
.page_catalog .obj_monograph_summary .metadata,
.page_catalog .obj_monograph_summary .details,
.page_catalog .obj_monograph_summary .description {
  float: none !important;
  clear: none !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* Cuando falta una portada, evita una caja excesivamente vacía */

body.pkp_page_catalog .obj_monograph_summary .cover img[src=""],
body.pkp_page_catalog .obj_monograph_summary .cover img:not([src]),
.page_catalog .obj_monograph_summary .cover img[src=""],
.page_catalog .obj_monograph_summary .cover img:not([src]) {
  visibility: hidden !important;
}

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

@media (max-width: 1180px) {
  body.pkp_page_catalog .cmp_monographs_list,
  body.pkp_page_catalog ul.cmp_monographs_list,
  body.pkp_page_catalog .cmp_monographs_list > ul,
  .page_catalog .cmp_monographs_list,
  .page_catalog ul.cmp_monographs_list {
    grid-template-columns: 1fr !important;
  }

  body.pkp_page_catalog .obj_monograph_summary,
  .page_catalog .obj_monograph_summary {
    grid-template-columns: 145px minmax(0, 1fr) !important;
    min-height: 220px !important;
  }

  body.pkp_page_catalog .obj_monograph_summary .cover,
  .page_catalog .obj_monograph_summary .cover {
    width: 145px !important;
    min-width: 145px !important;
    height: 198px !important;
  }
}

@media (max-width: 620px) {
  body.pkp_page_catalog .obj_monograph_summary,
  .page_catalog .obj_monograph_summary {
    display: block !important;
    min-height: 0 !important;
    padding: 18px !important;
  }

  body.pkp_page_catalog .obj_monograph_summary .cover,
  .page_catalog .obj_monograph_summary .cover {
    width: min(100%, 210px) !important;
    min-width: 0 !important;
    height: 285px !important;
    margin: 0 auto 18px !important;
  }

  body.pkp_page_catalog .obj_monograph_summary > :not(.cover),
  .page_catalog .obj_monograph_summary > :not(.cover) {
    width: 100% !important;
  }

  body.pkp_page_catalog .obj_monograph_summary .title,
  .page_catalog .obj_monograph_summary .title {
    font-size: 17px !important;
  }
}

/* ==========================================================================
   JLA OMP V8.2 — CORRECCIÓN CONSERVADORA
   --------------------------------------------------------------------------
   Base: V8.

   Esta versión NO modifica la estructura de la ficha individual del libro.
   Conserva el recuadro responsivo original de OMP y solo:
   1. corrige el flujo del último libro en el catálogo;
   2. ubica el usuario en la esquina superior derecha;
   3. aumenta moderadamente la portada de la ficha individual.
   ========================================================================== */

/* ==========================================================================
   A. CATÁLOGO: ÚLTIMO LIBRO DENTRO DEL FLUJO
   ========================================================================== */

/*
OMP agrupa las monografías en contenedores .row.
display: contents permite que cada tarjeta participe en la cuadrícula V8
sin crear alturas o columnas adicionales.
*/

body.pkp_page_catalog .cmp_monographs_list > .row,
.page_catalog .cmp_monographs_list > .row {
  display: contents !important;
}

body.pkp_page_catalog .cmp_monographs_list > .row::before,
body.pkp_page_catalog .cmp_monographs_list > .row::after,
.page_catalog .cmp_monographs_list > .row::before,
.page_catalog .cmp_monographs_list > .row::after {
  content: none !important;
  display: none !important;
}

/* Reafirma la cuadrícula horizontal de la V8 */

body.pkp_page_catalog .cmp_monographs_list,
.page_catalog .cmp_monographs_list {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  grid-auto-flow: row !important;
  grid-auto-rows: auto !important;
  align-items: stretch !important;
  gap: 22px !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}

body.pkp_page_catalog .obj_monograph_summary,
.page_catalog .obj_monograph_summary {
  position: relative !important;
  float: none !important;
  clear: none !important;
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 230px !important;
  max-height: none !important;
  margin: 0 !important;
  inset: auto !important;
}

/* El pie comienza después del último título */

body.pkp_page_catalog .page_catalog,
body.pkp_page_catalog .pkp_structure_main,
body.pkp_page_catalog .pkp_structure_content {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
}

body.pkp_page_catalog .pkp_structure_footer_wrapper {
  position: relative !important;
  clear: both !important;
  z-index: 0 !important;
}

/* ==========================================================================
   B. USUARIO EN LA ESQUINA SUPERIOR DERECHA
   ========================================================================== */

.pkp_head_wrapper {
  position: relative !important;
}

#navigationUserWrapper,
.pkp_navigation_user_wrapper {
  position: absolute !important;
  top: 12px !important;
  right: 28px !important;
  bottom: auto !important;
  left: auto !important;
  z-index: 900 !important;
  width: auto !important;
  max-width: 260px !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  transform: none !important;
}

#navigationUser,
.pkp_navigation_user {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

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

.pkp_navigation_user > li > ul {
  right: 0 !important;
  left: auto !important;
  z-index: 9999 !important;
}

/* ==========================================================================
   C. FICHA INDIVIDUAL: SOLO AUMENTO DE PORTADA
   ========================================================================== */

/*
No se intervienen:
- .obj_monograph_full > .row
- .main_entry
- .entry_details

Así se conserva la distribución responsiva original de OMP.
*/

.obj_monograph_full .entry_details .item.cover {
  text-align: center !important;
}

.obj_monograph_full .entry_details .item.cover img {
  display: block !important;
  width: 150px !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: 225px !important;
  margin: 0 auto !important;
  object-fit: contain !important;
  object-position: center !important;
  border: 1px solid #d8deea !important;
  border-radius: 4px !important;
  background: #ffffff !important;
  box-shadow: 0 7px 18px rgba(3, 16, 54, 0.11) !important;
}

/* ==========================================================================
   D. RESPONSIVE
   ========================================================================== */

@media (max-width: 1180px) {
  body.pkp_page_catalog .cmp_monographs_list,
  .page_catalog .cmp_monographs_list {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 780px) {
  #navigationUserWrapper,
  .pkp_navigation_user_wrapper {
    position: static !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 0 8px !important;
  }

  #navigationUser,
  .pkp_navigation_user {
    justify-content: flex-start !important;
  }

  .obj_monograph_full .entry_details .item.cover img {
    width: 180px !important;
    max-height: 270px !important;
  }
}
