/* Sapiens Journal Modern V1.5.0 - carrusel de números publicados */
.page_index_journal .sjm_issues_carousel {
  position: relative !important;
  box-sizing: border-box !important;
  width: 100% !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 0 26px !important;
  padding: 28px 56px 30px !important;
  overflow: hidden !important;
}
.page_index_journal .sjm_issues_header {
  margin: 0 0 18px !important;
}
.page_index_journal .sjm_cover_viewport {
  position: relative !important;
  box-sizing: border-box !important;
  display: block !important;
  width: 100% !important;
  height: 300px !important;
  min-height: 300px !important;
  max-height: 300px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}
.page_index_journal .sjm_cover_track {
  position: relative !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: 24px !important;
  width: max-content !important;
  min-width: 0 !important;
  height: 300px !important;
  min-height: 300px !important;
  max-height: 300px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  transform: translate3d(0,0,0);
  will-change: transform;
}
.page_index_journal .sjm_cover_card {
  position: relative !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex: 0 0 176px !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: 176px !important;
  min-width: 176px !important;
  max-width: 176px !important;
  height: 300px !important;
  min-height: 300px !important;
  max-height: 300px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  color: #fff !important;
  text-align: center !important;
  text-decoration: none !important;
}
.page_index_journal .sjm_cover_image {
  position: relative !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex: 0 0 252px !important;
  align-items: center !important;
  justify-content: center !important;
  width: 176px !important;
  min-width: 176px !important;
  max-width: 176px !important;
  height: 252px !important;
  min-height: 252px !important;
  max-height: 252px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: transparent !important;
}
.page_index_journal .sjm_cover_image img {
  position: static !important;
  display: block !important;
  float: none !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: 176px !important;
  max-height: 252px !important;
  margin: auto !important;
  padding: 0 !important;
  border: 0 !important;
  object-fit: contain !important;
  object-position: center center !important;
  box-shadow: 0 10px 22px rgba(0,0,0,.28) !important;
}
.page_index_journal .sjm_cover_card strong {
  box-sizing: border-box !important;
  display: block !important;
  flex: 0 0 40px !important;
  width: 176px !important;
  height: 40px !important;
  margin: 8px 0 0 !important;
  padding: 0 2px !important;
  overflow: hidden !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 16px !important;
}
.page_index_journal .sjm_cover_control {
  top: auto !important;
  bottom: 142px !important;
}
.page_index_journal .sjm_cover_control[hidden] { display: none !important; }

@media (max-width: 900px) {
  .page_index_journal .sjm_issues_carousel { padding-left: 46px !important; padding-right: 46px !important; }
  .page_index_journal .sjm_cover_viewport,
  .page_index_journal .sjm_cover_track { height: 270px !important; min-height: 270px !important; max-height: 270px !important; }
  .page_index_journal .sjm_cover_card { flex-basis: 152px !important; width: 152px !important; min-width: 152px !important; max-width: 152px !important; height: 270px !important; min-height: 270px !important; max-height: 270px !important; }
  .page_index_journal .sjm_cover_image { flex-basis: 224px !important; width: 152px !important; min-width: 152px !important; max-width: 152px !important; height: 224px !important; min-height: 224px !important; max-height: 224px !important; }
  .page_index_journal .sjm_cover_image img { max-width: 152px !important; max-height: 224px !important; }
  .page_index_journal .sjm_cover_card strong { width: 152px !important; }
}

@media (max-width: 560px) {
  .page_index_journal .sjm_issues_carousel { padding: 22px 38px 24px !important; }
  .page_index_journal .sjm_issues_header { align-items: flex-start !important; }
  .page_index_journal .sjm_cover_viewport,
  .page_index_journal .sjm_cover_track { height: 240px !important; min-height: 240px !important; max-height: 240px !important; }
  .page_index_journal .sjm_cover_track { gap: 14px !important; }
  .page_index_journal .sjm_cover_card { flex-basis: 132px !important; width: 132px !important; min-width: 132px !important; max-width: 132px !important; height: 240px !important; min-height: 240px !important; max-height: 240px !important; }
  .page_index_journal .sjm_cover_image { flex-basis: 198px !important; width: 132px !important; min-width: 132px !important; max-width: 132px !important; height: 198px !important; min-height: 198px !important; max-height: 198px !important; }
  .page_index_journal .sjm_cover_image img { max-width: 132px !important; max-height: 198px !important; }
  .page_index_journal .sjm_cover_card strong { width: 132px !important; height: 34px !important; flex-basis: 34px !important; font-size: 11px !important; line-height: 14px !important; }
}


/* V1.5.3 - ajustes UI verificados sobre V1.5.0 */
/* Flechas: pertenecen al viewport, no al pie de la seccion. */
.page_index_journal .sjm_cover_viewport { position: relative !important; }
.page_index_journal .sjm_cover_control {
  position: absolute !important;
  z-index: 20 !important;
  top: 50% !important;
  bottom: auto !important;
  width: 44px !important;
  height: 44px !important;
  margin: -22px 0 0 !important;
  padding: 0 !important;
  border: 1px solid rgba(255,255,255,.9) !important;
  border-radius: 50% !important;
  color: #fff !important;
  background: rgba(10,31,48,.72) !important;
  font-size: 30px !important;
  line-height: 38px !important;
  text-align: center !important;
  cursor: pointer !important;
}
.page_index_journal .sjm_cover_control.is_prev { left: 8px !important; right: auto !important; }
.page_index_journal .sjm_cover_control.is_next { right: 8px !important; left: auto !important; }
.page_index_journal .sjm_cover_track { z-index: 1 !important; }

/* ARCHIVOS del menu principal: boton visible sin cambiar su URL de OJS. */
#navigationPrimary > li > a[href*="/issue/archive"],
#navigationPrimary > li > a[href*="issue/archive"] {
  display: inline-block !important;
  margin: 4px 3px !important;
  padding: 8px 14px !important;
  border: 1px solid rgba(255,255,255,.9) !important;
  border-radius: 3px !important;
  color: #fff !important;
  background: rgba(255,255,255,.12) !important;
  line-height: 1.2 !important;
}
#navigationPrimary > li > a[href*="/issue/archive"]:hover,
#navigationPrimary > li > a[href*="issue/archive"]:hover,
#navigationPrimary > li > a[href*="/issue/archive"]:focus,
#navigationPrimary > li > a[href*="issue/archive"]:focus {
  color: #173f5f !important;
  background: #fff !important;
}

/* Menu superior de usuario: fondo blanco y texto negro real en todos los niveles. */
.pkp_navigation_user_wrapper #navigationUser ul,
.pkp_navigation_user_wrapper #navigationUser .dropdown-menu,
#navigationUser ul,
#navigationUser .dropdown-menu {
  height: auto !important;
  min-height: 0 !important;
  padding: 4px 0 !important;
  background: #fff !important;
}
.pkp_navigation_user_wrapper #navigationUser ul li,
#navigationUser ul li {
  display: block !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #fff !important;
}
.pkp_navigation_user_wrapper #navigationUser ul li a,
.pkp_navigation_user_wrapper #navigationUser .dropdown-menu a,
#navigationUser ul li a,
#navigationUser .dropdown-menu a {
  display: block !important;
  box-sizing: border-box !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 8px 12px !important;
  color: #111 !important;
  background: #fff !important;
  opacity: 1 !important;
  text-shadow: none !important;
  white-space: nowrap !important;
}
.pkp_navigation_user_wrapper #navigationUser ul li a:hover,
.pkp_navigation_user_wrapper #navigationUser ul li a:focus,
#navigationUser ul li a:hover,
#navigationUser ul li a:focus {
  color: #fff !important;
  background: #173f5f !important;
}

/* V1.5.4 - estabilización, legibilidad y accesibilidad */
.page_index_journal .sjm_cover_card strong {
  font-size: 14px !important;
  line-height: 17px !important;
}
.page_index_journal .sjm_cover_control:hover,
.page_index_journal .sjm_cover_control:focus-visible {
  color: #173f5f !important;
  background: #fff !important;
  outline: 3px solid #d6a52b !important;
  outline-offset: 2px !important;
}
.page_index_journal .sjm_cover_viewport:focus-visible {
  outline: 3px solid #d6a52b !important;
  outline-offset: 3px !important;
}
.page_index_journal .sjm_cover_card:focus-visible {
  outline: 3px solid #d6a52b !important;
  outline-offset: -3px !important;
}
.page_index_journal .sjm_cover_meta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 24px;
  margin-top: 10px;
  color: #fff;
}
.page_index_journal .sjm_cover_meta[hidden] { display: none !important; }
.page_index_journal .sjm_cover_dots { display: flex; align-items: center; gap: 8px; }
.page_index_journal .sjm_cover_dot {
  width: 12px;
  height: 12px;
  min-width: 12px;
  margin: 0;
  padding: 0;
  border: 2px solid #fff;
  border-radius: 50%;
  background: transparent;
  cursor: pointer;
}
.page_index_journal .sjm_cover_dot.is_active { background: #fff; }
.page_index_journal .sjm_cover_dot:focus-visible { outline: 3px solid #d6a52b; outline-offset: 2px; }
.page_index_journal .sjm_cover_status { min-width: 36px; font-size: 13px; font-weight: 700; text-align: center; }
#navigationPrimary > li > a:focus-visible,
.pkp_navigation_search_wrapper a:focus-visible,
#navigationUser a:focus-visible {
  outline: 3px solid #d6a52b !important;
  outline-offset: 2px !important;
}
@media (max-width: 560px) {
  .page_index_journal .sjm_cover_card strong { font-size: 13px !important; line-height: 15px !important; }
}
@media (prefers-reduced-motion: reduce) {
  .page_index_journal .sjm_cover_track { transition: none !important; }
}


/* V1.5.5 ESTABLE — accesos editoriales, tipografia y sidebar OJS */
body { font-size: 16px !important; line-height: 1.58 !important; }
.pkp_page_content, .page_index_journal { font-size: 16px; }

/* Accesos de portada: conservan sus URLs y comportamiento nativo. */
.page_index_journal .sjm_more,
.page_index_journal .sjm_archive_link,
.page_index_journal .sjm_section_title > a,
.page_index_journal .sjm_recent > a {
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 42px !important;
  padding: 9px 16px !important;
  border: 2px solid #173f5f !important;
  border-radius: 4px !important;
  color: #173f5f !important;
  background: #fff !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  text-decoration: none !important;
  transition: background-color .18s ease, color .18s ease, transform .18s ease !important;
}
.page_index_journal .sjm_more:hover,
.page_index_journal .sjm_archive_link:hover,
.page_index_journal .sjm_section_title > a:hover,
.page_index_journal .sjm_recent > a:hover,
.page_index_journal .sjm_more:focus-visible,
.page_index_journal .sjm_archive_link:focus-visible,
.page_index_journal .sjm_section_title > a:focus-visible,
.page_index_journal .sjm_recent > a:focus-visible {
  color: #fff !important;
  background: #173f5f !important;
  outline: 3px solid #d6a52b !important;
  outline-offset: 2px !important;
  transform: translateY(-1px);
}
.page_index_journal .sjm_recent > a { min-height: 38px !important; padding: 7px 14px !important; }

/* Sidebar: aplica también a bloques personalizados instalados desde OJS. */
.pkp_structure_sidebar { font-size: 15px !important; }
.pkp_structure_sidebar .pkp_block,
.pkp_structure_sidebar .block_custom {
  height: auto !important;
  min-height: 0 !important;
  margin: 0 0 18px !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 1px solid #d8e1e7 !important;
  border-radius: 5px !important;
  background: #fff !important;
  box-shadow: 0 4px 14px rgba(20,42,56,.055) !important;
}
.pkp_structure_sidebar .pkp_block .title,
.pkp_structure_sidebar .pkp_block h2.title,
.pkp_structure_sidebar .pkp_block h3.title,
.pkp_structure_sidebar .block_custom .title {
  box-sizing: border-box !important;
  display: block !important;
  width: 100% !important;
  min-height: 42px !important;
  margin: 0 !important;
  padding: 11px 14px !important;
  color: #fff !important;
  background: #173f5f !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  letter-spacing: .01em !important;
}
.pkp_structure_sidebar .pkp_block .content,
.pkp_structure_sidebar .block_custom .content {
  box-sizing: border-box !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 12px 14px !important;
  color: #263943 !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
}
.pkp_structure_sidebar .pkp_block .content:empty,
.pkp_structure_sidebar .block_custom .content:empty { display: none !important; }
.pkp_structure_sidebar .pkp_block ul,
.pkp_structure_sidebar .block_custom ul {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
.pkp_structure_sidebar .pkp_block li,
.pkp_structure_sidebar .block_custom li { margin: 0 !important; padding: 0 !important; }
.pkp_structure_sidebar .pkp_block .content a,
.pkp_structure_sidebar .block_custom .content a {
  box-sizing: border-box !important;
  display: block !important;
  width: 100% !important;
  min-height: 36px !important;
  margin: 0 !important;
  padding: 8px 7px !important;
  border-radius: 3px !important;
  color: #075b8c !important;
  font-size: 15px !important;
  line-height: 1.35 !important;
  text-decoration: none !important;
}
.pkp_structure_sidebar .pkp_block .content a:hover,
.pkp_structure_sidebar .block_custom .content a:hover,
.pkp_structure_sidebar .pkp_block .content a:focus-visible,
.pkp_structure_sidebar .block_custom .content a:focus-visible {
  color: #173f5f !important;
  background: #eef4f7 !important;
  outline: 2px solid #d6a52b !important;
  outline-offset: 1px !important;
}
/* No forzar imágenes o logos de un bloque personalizado a comportarse como enlaces de texto. */
.pkp_structure_sidebar .block_custom img,
.pkp_structure_sidebar .pkp_block img { max-width: 100% !important; height: auto !important; }

@media (max-width: 991px) {
  .pkp_structure_sidebar .pkp_block .title,
  .pkp_structure_sidebar .block_custom .title { font-size: 15px !important; }
  .pkp_structure_sidebar .pkp_block .content,
  .pkp_structure_sidebar .block_custom .content,
  .pkp_structure_sidebar .pkp_block .content a,
  .pkp_structure_sidebar .block_custom .content a { font-size: 14px !important; }
}
@media (max-width: 560px) {
  body { font-size: 15px !important; }
  .page_index_journal .sjm_more,
  .page_index_journal .sjm_archive_link,
  .page_index_journal .sjm_section_title > a,
  .page_index_journal .sjm_recent > a { width: 100% !important; min-height: 44px !important; }
}


/* V1.5.6 — tratamiento responsive de imágenes nativas de OJS */
/* Logo/cabecera: aprovecha mejor el área sin deformar ni recortar la imagen. */
.pkp_structure_head .pkp_site_name { box-sizing: border-box !important; padding-top: 18px !important; padding-bottom: 18px !important; }
.pkp_structure_head .pkp_site_name a { display: inline-flex !important; align-items: center !important; max-width: 100% !important; }
.pkp_structure_head .pkp_site_name img {
  display: block !important; width: auto !important; height: auto !important;
  max-width: min(100%, 920px) !important; max-height: 145px !important;
  object-fit: contain !important; object-position: left center !important;
}
/* Imagen de inicio: ancho responsive, proporción intacta, nunca se fuerza a recorte. */
.page_index_journal .homepage_image { box-sizing: border-box !important; width: 100% !important; margin: 0 0 24px !important; text-align: center !important; overflow: hidden !important; }
.page_index_journal .homepage_image img { display: block !important; width: auto !important; height: auto !important; max-width: 100% !important; max-height: 520px !important; margin: 0 auto !important; object-fit: contain !important; }
/* Miniaturas de revista y otras miniaturas nativas: compactas y sin deformación. */
.journal_thumbnail img, .pkp_site_nav_menu .journal_thumbnail img, img.journal_thumbnail {
  width: auto !important; height: auto !important; max-width: 180px !important; max-height: 240px !important; object-fit: contain !important;
}
@media (max-width: 767px) {
  .pkp_structure_head .pkp_site_name { padding-top: 12px !important; padding-bottom: 12px !important; }
  .pkp_structure_head .pkp_site_name img { max-width: 100% !important; max-height: 105px !important; }
  .page_index_journal .homepage_image img { max-height: 360px !important; }
  .journal_thumbnail img, .pkp_site_nav_menu .journal_thumbnail img, img.journal_thumbnail { max-width: 140px !important; max-height: 190px !important; }
}

/* V1.5.8 — cabecera ajustada al espacio disponible
   La imagen nativa de Logo de OJS pasa a ocupar todo el ancho útil del encabezado,
   sin recorte y conservando su proporción. Se eliminan huecos externos entre
   barra superior, logo y navegación. */
.pkp_structure_head,
.pkp_structure_head .pkp_head_wrapper,
.pkp_structure_head .pkp_site_name_wrapper,
.pkp_structure_head .pkp_site_name {
  box-sizing: border-box !important;
}

/* Evita separación vertical artificial en la zona del logo. */
.pkp_structure_head .pkp_site_name_wrapper,
.pkp_structure_head .pkp_site_name {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* El enlace del logo usa todo el ancho disponible del contenedor OJS. */
.pkp_structure_head .pkp_site_name {
  width: 100% !important;
  max-width: none !important;
  line-height: 0 !important;
}
.pkp_structure_head .pkp_site_name > a,
.pkp_structure_head .pkp_site_name a {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 0 !important;
}

/* No usa cover: nunca corta texto, isotipos ni bordes de la cabecera. */
.pkp_structure_head .pkp_site_name img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-width: none !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  object-fit: contain !important;
  object-position: left center !important;
}

/* Menú inmediatamente después de la cabecera, sin hueco blanco adicional. */
.pkp_structure_head .pkp_navigation_primary_wrapper,
.pkp_structure_head .pkp_site_nav_menu {
  margin-top: 0 !important;
}

@media (max-width: 767px) {
  .pkp_structure_head .pkp_site_name,
  .pkp_structure_head .pkp_site_name > a,
  .pkp_structure_head .pkp_site_name a,
  .pkp_structure_head .pkp_site_name img {
    width: 100% !important;
    max-width: none !important;
    max-height: none !important;
  }
}
