/*
===============================================================================
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;
  }
}
/* ========================================================================== 
   JLA OMP V8.3 — PARCHE RESPONSIVE PARA CELULAR
   --------------------------------------------------------------------------
   Base: V8.2.

   Corrige distorsiones móviles:
   - Evita desbordamiento horizontal.
   - Reordena contenido principal y barra lateral en una sola columna.
   - Evita que el pie institucional se superponga con capítulos, bloques o PDF.
   - Convierte los botones del pie en botones de ancho completo.
   - Hace que el logotipo del pie no invada textos.
   - Mantiene el diseño de escritorio de la V8.2.
   ========================================================================== */

/* Seguridad general contra desbordamientos */
html,
body {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
}

body {
  min-width: 0 !important;
}

img,
svg,
video,
canvas,
iframe {
  max-width: 100% !important;
  height: auto;
}

.pkp_structure_page,
.pkp_structure_head,
.pkp_structure_content,
.pkp_structure_main,
.pkp_structure_sidebar,
.pkp_structure_footer_wrapper,
.pkp_structure_footer,
.pkp_footer_content {
  max-width: 100% !important;
}

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

.pkp_structure_main,
.pkp_structure_sidebar,
.obj_monograph_full,
.obj_monograph_full *,
.page,
.page * {
  min-width: 0 !important;
}

/* ========================================================================== 
   MOBILE Y TABLETAS PEQUEÑAS
   ========================================================================== */

@media (max-width: 820px) {

  html,
  body {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  .pkp_structure_page {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    border-right: 0 !important;
    border-left: 0 !important;
    overflow: visible !important;
  }

  /* Cabecera móvil */
  .pkp_structure_head {
    position: relative !important;
    z-index: 1000 !important;
    width: 100% !important;
    overflow: visible !important;
  }

  .pkp_head_wrapper {
    width: 100% !important;
    max-width: 100% !important;
    padding: 10px 16px 0 !important;
    overflow: visible !important;
  }

  .pkp_site_name {
    min-height: 64px !important;
    padding: 0 0 10px 58px !important;
  }

  .pkp_site_name > a {
    min-height: 58px !important;
  }

  .pkp_site_name .is_img img {
    width: auto !important;
    max-width: calc(100vw - 96px) !important;
    max-height: 58px !important;
    object-fit: contain !important;
  }

  .pkp_site_nav_toggle {
    position: absolute !important;
    top: 18px !important;
    left: 16px !important;
    z-index: 1200 !important;
    display: inline-flex !important;
    width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    padding: 0 !important;
    border-radius: 6px !important;
  }

  #navigationUserWrapper,
  .pkp_navigation_user_wrapper {
    position: static !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 8px !important;
    padding: 0 !important;
  }

  #navigationUser,
  .pkp_navigation_user {
    justify-content: flex-end !important;
    width: 100% !important;
  }

  .pkp_navigation_primary_row {
    display: block !important;
    width: 100% !important;
    min-height: 0 !important;
    padding: 0 0 10px !important;
    overflow: visible !important;
  }

  .pkp_navigation_primary_wrapper {
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
  }

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

  .pkp_navigation_primary > li {
    display: block !important;
    width: 100% !important;
  }

  .pkp_navigation_primary > li > a {
    width: 100% !important;
    min-height: 42px !important;
    padding: 0 10px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.16) !important;
    white-space: normal !important;
  }

  .pkp_navigation_primary > li > ul {
    position: static !important;
    visibility: visible !important;
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    border-right: 0 !important;
    border-left: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    opacity: 1 !important;
    transform: none !important;
  }

  .pkp_search {
    display: block !important;
    width: 100% !important;
    margin: 8px 0 0 !important;
    padding: 0 !important;
    text-align: right !important;
  }

  /* Contenido: una sola columna */
  .pkp_structure_content,
  .pkp_structure_content.has_sidebar,
  .pkp_structure_content:not(.has_sidebar) {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 28px !important;
    padding: 22px 16px 36px !important;
    overflow: visible !important;
  }

  .pkp_structure_main,
  .pkp_structure_content.has_sidebar > .pkp_structure_main {
    order: 1 !important;
    flex: 0 1 auto !important;
    float: none !important;
    clear: both !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  .pkp_structure_sidebar,
  .pkp_structure_sidebar.left,
  .pkp_structure_content.has_sidebar > .pkp_structure_sidebar,
  .pkp_structure_content.has_sidebar > .pkp_structure_sidebar.left {
    order: 2 !important;
    flex: 0 1 auto !important;
    float: none !important;
    clear: both !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 28px 0 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  .pkp_page_title,
  .page_title,
  .page h1,
  .pkp_structure_main > h1 {
    font-size: clamp(26px, 8vw, 42px) !important;
    line-height: 1.1 !important;
    overflow-wrap: anywhere !important;
  }

  .pkp_structure_main h2,
  .page h2 {
    font-size: clamp(21px, 6vw, 30px) !important;
    overflow-wrap: anywhere !important;
  }

  p,
  li,
  dd,
  dt,
  a {
    overflow-wrap: anywhere !important;
  }

  /* Ficha individual del libro */
  .obj_monograph_full,
  .obj_monograph_full > .row,
  .obj_monograph_full .main_entry,
  .obj_monograph_full .entry_details {
    display: block !important;
    float: none !important;
    clear: both !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    overflow: visible !important;
  }

  .obj_monograph_full .entry_details {
    margin-top: 28px !important;
  }

  .obj_monograph_full .entry_details .item {
    width: 100% !important;
    max-width: 100% !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  .obj_monograph_full .entry_details .item.cover {
    min-height: 0 !important;
    padding: 18px 0 !important;
    text-align: center !important;
  }

  .obj_monograph_full .entry_details .item.cover img {
    width: min(58vw, 210px) !important;
    max-width: 210px !important;
    height: auto !important;
    max-height: 300px !important;
    margin: 0 auto !important;
    object-fit: contain !important;
  }

  .obj_monograph_full .entry_details .files,
  .obj_monograph_full .entry_details .files .value,
  .obj_monograph_full .entry_details .files a,
  .obj_monograph_full .entry_details .cmp_button {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Catálogo */
  body.pkp_page_catalog .cmp_monographs_list,
  .page_catalog .cmp_monographs_list {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
  }

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

  body.pkp_page_catalog .obj_monograph_summary,
  .page_catalog .obj_monograph_summary {
    display: block !important;
    width: 100% !important;
    min-height: 0 !important;
    padding: 18px !important;
    overflow: hidden !important;
  }

  body.pkp_page_catalog .obj_monograph_summary .cover,
  body.pkp_page_catalog .obj_monograph_summary > a.cover,
  .page_catalog .obj_monograph_summary .cover,
  .page_catalog .obj_monograph_summary > a.cover {
    display: flex !important;
    width: min(58vw, 205px) !important;
    min-width: 0 !important;
    max-width: 205px !important;
    height: 280px !important;
    min-height: 0 !important;
    max-height: 280px !important;
    margin: 0 auto 18px !important;
  }

  body.pkp_page_catalog .obj_monograph_summary .cover img,
  body.pkp_page_catalog .obj_monograph_summary > a.cover img,
  .page_catalog .obj_monograph_summary .cover img,
  .page_catalog .obj_monograph_summary > a.cover img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
  }

  body.pkp_page_catalog .obj_monograph_summary .title,
  .page_catalog .obj_monograph_summary .title {
    font-size: 18px !important;
    line-height: 1.28 !important;
    text-align: left !important;
  }

  /* Bloques laterales */
  .pkp_structure_sidebar .pkp_block,
  .pkp_structure_sidebar .block {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 16px !important;
    padding: 20px !important;
  }

  .pkp_structure_sidebar .title,
  .pkp_structure_sidebar h2,
  .pkp_structure_sidebar h3 {
    font-size: clamp(22px, 7vw, 34px) !important;
    line-height: 1.16 !important;
  }

  .pkp_structure_sidebar li,
  .pkp_structure_sidebar a {
    font-size: 18px !important;
    line-height: 1.45 !important;
  }

  /* Pie institucional */
  .pkp_footer_content {
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
  }

  .jla-footer-custom {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 28px 16px 24px !important;
    overflow: visible !important;
  }

  .jla-footer-links {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    width: 100% !important;
    margin: 0 0 24px !important;
    padding-bottom: 22px !important;
  }

  .jla-footer-links .jla-footer-button,
  .jla-footer-button {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 48px !important;
    padding: 12px 14px !important;
    white-space: normal !important;
    text-align: center !important;
    line-height: 1.25 !important;
  }

  .jla-footer-brand {
    display: block !important;
    width: 100% !important;
    padding-bottom: 22px !important;
  }

  .jla-footer-logo,
  .jla-footer-mark {
    display: flex !important;
    width: 100% !important;
    max-width: 260px !important;
    margin: 0 auto 18px !important;
    justify-content: center !important;
  }

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

  .jla-footer-kicker {
    font-size: 13px !important;
    letter-spacing: 0.13em !important;
    text-align: center !important;
  }

  .jla-footer-slogan {
    max-width: 100% !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
    text-align: center !important;
  }

  .jla-footer-grid,
  .jla-footer-addresses {
    display: block !important;
    width: 100% !important;
  }

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

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

  .jla-footer-section h2 {
    font-size: 22px !important;
    line-height: 1.2 !important;
  }

  .jla-footer-section p,
  .jla-footer-section li,
  .jla-footer-address p {
    font-size: 14px !important;
    line-height: 1.55 !important;
  }

  .jla-footer-company {
    width: 100% !important;
    margin: 20px 0 !important;
  }

  .jla-footer-address {
    width: 100% !important;
    margin: 0 0 20px !important;
  }

  .jla-footer-bottom {
    display: block !important;
    width: 100% !important;
    padding-top: 16px !important;
  }

  .jla-footer-bottom p,
  .jla-footer-platform {
    width: 100% !important;
    margin: 0 0 8px !important;
    text-align: left !important;
    white-space: normal !important;
  }

  .pkp_brand_footer {
    width: 100% !important;
    max-width: 100% !important;
    padding: 14px 16px 18px !important;
    text-align: left !important;
  }
}

/* Celulares muy estrechos */
@media (max-width: 420px) {

  .pkp_structure_content,
  .pkp_structure_content.has_sidebar,
  .pkp_structure_content:not(.has_sidebar) {
    padding-right: 12px !important;
    padding-left: 12px !important;
  }

  .pkp_page_title,
  .page_title,
  .page h1,
  .pkp_structure_main > h1 {
    font-size: clamp(24px, 9vw, 34px) !important;
  }

  .jla-footer-custom {
    padding-right: 12px !important;
    padding-left: 12px !important;
  }

  .obj_monograph_full .entry_details .item.cover img {
    width: min(68vw, 190px) !important;
  }

  body.pkp_page_catalog .obj_monograph_summary .cover,
  body.pkp_page_catalog .obj_monograph_summary > a.cover,
  .page_catalog .obj_monograph_summary .cover,
  .page_catalog .obj_monograph_summary > a.cover {
    width: min(68vw, 190px) !important;
    height: 260px !important;
  }
}
