/* Revista Paraguaya de Reumatología - Estilos personalizados OJS */

/* Galeradas debajo de autores y estadísticas, sin superponerse al título */
.article-summary .galleryLinksWrp {
  position: static !important;
  float: none !important;
  top: auto !important;
  right: auto !important;
  width: auto !important;
  display: flex !important;
  flex-wrap: wrap;
  gap: 6px;
  margin: 8px 0 !important;
  padding: 0 !important;
}

.article-summary .galleryLinksWrp .btnslink {
  float: none !important;
  margin: 0 !important;
}

/* El título usa todo el ancho disponible */
.article-summary .media-body,
.article-summary .WrpMediaCnt {
  width: 100% !important;
  max-width: none !important;
  float: none !important;
  padding-right: 0 !important;
  margin-right: 0 !important;
}

/* Texto gris (autores, estadísticas, páginas) en negro */
.article-summary .media-body,
.article-summary .media-body p,
.article-summary .media-body span,
.article-summary .media-body div,
.article-summary .media-body i,
.article-summary .pages {
  color: #000000 !important;
}

/* Texto rojo (títulos y botones de galeradas) en azul */
.article-summary .media-body a,
.article-summary .media-body a:visited,
.article-summary .media-body a i {
  color: #0065C3 !important;
}

.article-summary .media-body a:hover,
.article-summary .media-body a:focus {
  color: #004A8F !important;
}

/* ===== Página de cada artículo ===== */

/* Texto gris en negro */
.page_article,
.page_article p,
.page_article div,
.page_article span,
.page_article li,
.page_article strong,
.page_article section {
  color: #000000 !important;
}

/* Título del artículo en azul */
.page_article h1,
.page_article .page-header,
.page_article .page-header h1 {
  color: #0065C3 !important;
}

/* Enlaces en rojo (galeradas, ORCID, migas de pan) en azul */
.page_article a,
.page_article a:visited,
.page_article a i {
  color: #0065C3 !important;
}

.page_article a:hover,
.page_article a:focus {
  color: #004A8F !important;
}

/* Botones para compartir (Shariff): texto e íconos en blanco */
.page_article .shariff a,
.page_article .shariff a:visited,
.page_article .shariff a:hover,
.page_article .shariff a:focus,
.page_article .shariff a *,
.page_article .shariff span,
.page_article .shariff i {
  color: #FFFFFF !important;
}

.page_article .shariff svg,
.page_article .shariff svg path {
  fill: #FFFFFF !important;
}

/* Título del artículo en azul (selector reforzado para ganarle al estilo del tema) */
html body div.page_article article h1,
html body div.page_article article h1 *,
html body div.page_article .page-header,
html body div.page_article .page-header *,
html body div.page_article .article-title,
html body div.page_article .page_title,
html body div.page_article .article-details > h1,
html body div.page_article .article-details > h2 {
  color: #0065C3 !important;
}

/* Título del artículo: está en header > .headings > section.section */
html body div.page_article article.article-details header .headings,
html body div.page_article article.article-details header .headings *,
html body div.page_article article.article-details header .headings .section,
html body div.page_article article.article-details header .headings .section * {
  color: #0065C3 !important;
}

/* Enlaces de la página del artículo, reforzados (incluye el enlace de la cita) */
html body div.page_article a,
html body div.page_article a:visited {
  color: #0065C3 !important;
}

html body div.page_article a:hover,
html body div.page_article a:focus {
  color: #004A8F !important;
}

/* Botón "Más formatos de cita" en azul */
html body div.page_article .btn-group .btn,
html body div.page_article .btn-group .btn.btn-default,
html body div.page_article .btn-group .dropdown-toggle {
  background-color: #0065C3 !important;
  border-color: #0065C3 !important;
  color: #FFFFFF !important;
}

html body div.page_article .btn-group .btn:hover,
html body div.page_article .btn-group .btn:focus,
html body div.page_article .btn-group .btn:active,
html body div.page_article .btn-group.open .dropdown-toggle {
  background-color: #004A8F !important;
  border-color: #004A8F !important;
  color: #FFFFFF !important;
}

html body div.page_article .btn-group .btn *,
html body div.page_article .btn-group .btn .caret {
  color: #FFFFFF !important;
  border-top-color: #FFFFFF !important;
}

/* Las opciones del menú desplegable siguen en azul sobre fondo blanco */
html body div.page_article .btn-group .dropdown-menu a {
  color: #0065C3 !important;
}

/* ===== Pie de página ===== */
html body footer.footer {
  background-color: #0065C3 !important;
  color: #FFFFFF !important;
}

html body footer.footer p,
html body footer.footer div,
html body footer.footer strong {
  color: #FFFFFF !important;
}

/* Enlaces del pie en blanco subrayado (el rojo no se lee sobre azul) */
html body footer.footer a,
html body footer.footer a:visited {
  color: #FFFFFF !important;
  text-decoration: underline !important;
}

html body footer.footer a:hover,
html body footer.footer a:focus {
  color: #CFE6FA !important;
}

/* ===== Cabecera ===== */

/* Franja superior con el nombre de la revista */
html body #headerNavigationContainer .mainNavigation,
html body #headerNavigationContainer .mainNavigation .container,
html body #headerNavigationContainer .navbar-header {
  background-color: #004F94 !important;
}

/* Barra del menú (Actual, Archivos, Acerca de...) */
html body #headerNavigationContainer #navMenuWrp,
html body #headerNavigationContainer #nav-menu,
html body #headerNavigationContainer #nav-menu .container {
  background-color: #0065C3 !important;
}

/* ===== Barra lateral ===== */

/* Título "Revista información" y su flechita */
html body #sidebar h2.titleSide {
  background-color: #004F94 !important;
  border-color: #004F94 !important;
}

html body #sidebar h2.titleSide::before,
html body #sidebar h2.titleSide::after {
  border-top-color: #004F94 !important;
}

/* Botón "Inicio" de la cabecera */
html body #headerNavigationContainer #publishingHome a,
html body #headerNavigationContainer #publishingHome .btn {
  background-color: #004F94 !important;
  border-color: #004F94 !important;
  color: #FFFFFF !important;
}

/* Botón de búsqueda (lupita) */
html body #headerNavigationContainer form button,
html body #headerNavigationContainer form .btn,
html body #headerNavigationContainer form input[type="submit"] {
  background-color: #0065C3 !important;
  border-color: #0065C3 !important;
  color: #FFFFFF !important;
}

html body #headerNavigationContainer #publishingHome a:hover,
html body #headerNavigationContainer form button:hover,
html body #headerNavigationContainer form .btn:hover {
  background-color: #003D73 !important;
  border-color: #003D73 !important;
}

/* Refuerzo con las clases reales del tema: botón Inicio y lupita */
html body header #showTopLinks #publishingHome a,
html body header #showTopLinks #publishingHome a:visited {
  background-color: #004F94 !important;
  border: 1px solid #004F94 !important;
  color: #FFFFFF !important;
}

html body header .searchCntNav button,
html body header .searchCntNav .btn {
  background-color: #0065C3 !important;
  border: 1px solid #0065C3 !important;
  color: #FFFFFF !important;
}

html body header #showTopLinks #publishingHome a:hover,
html body header .searchCntNav button:hover {
  background-color: #003D73 !important;
  border-color: #003D73 !important;
}

/* Íconos de redes sociales junto a "Inicio" alineados al centro */
html body header #showTopLinks .topSocial {
  display: inline-flex !important;
  align-items: center;
}

/* Contraste: "Inicio" en azul claro sobre la franja oscura, lupita en azul oscuro sobre la barra clara */
html body header #showTopLinks #publishingHome a,
html body header #showTopLinks #publishingHome a:visited {
  background-color: #0065C3 !important;
  border: 1px solid #0065C3 !important;
  color: #FFFFFF !important;
  padding: 6px 12px !important;
  border-radius: 4px !important;
}

html body header .searchCntNav button,
html body header .searchCntNav .btn {
  background-color: #004F94 !important;
  border: 1px solid #004F94 !important;
  color: #FFFFFF !important;
}

html body header #showTopLinks #publishingHome a:hover,
html body header .searchCntNav button:hover,
html body header .searchCntNav .btn:hover {
  background-color: #003D73 !important;
  border-color: #003D73 !important;
}

/* ===== Portada de la revista ===== */

/* Descripción de la revista en negro */
html body .page_index_journal .journal-description,
html body .page_index_journal .journal-description * {
  color: #000000 !important;
}

/* Pestañas (Número actual, Archivos, Avisos): grises si no están activas */
html body #homeTabWrp .nav-tabs > li > a {
  background-color: #E9ECEF !important;
  border: 1px solid #D6D9DC !important;
  color: #333333 !important;
}

html body #homeTabWrp .nav-tabs > li > a:hover {
  background-color: #D6D9DC !important;
  color: #000000 !important;
}

/* Pestaña activa en azul oscuro */
html body #homeTabWrp .nav-tabs > li.active > a,
html body #homeTabWrp .nav-tabs > li.active > a:hover,
html body #homeTabWrp .nav-tabs > li.active > a:focus {
  background-color: #004F94 !important;
  border-color: #004F94 !important;
  color: #FFFFFF !important;
}

/* Textos de las pestañas que el tema muestra como ##current.issue## y ##issue.archives## */
html body #homeTabWrp .nav-tabs > li:nth-child(1) > a,
html body #homeTabWrp .nav-tabs > li:nth-child(2) > a {
  font-size: 0 !important;
}

html body #homeTabWrp .nav-tabs > li:nth-child(1) > a::after,
html body #homeTabWrp .nav-tabs > li:nth-child(2) > a::after {
  font-size: 14px;
}

/* Español */
html[lang="es"] body #homeTabWrp .nav-tabs > li:nth-child(1) > a::after { content: "Número actual"; }
html[lang="es"] body #homeTabWrp .nav-tabs > li:nth-child(2) > a::after { content: "Archivos"; }

/* Inglés */
html[lang="en"] body #homeTabWrp .nav-tabs > li:nth-child(1) > a::after { content: "Current issue"; }
html[lang="en"] body #homeTabWrp .nav-tabs > li:nth-child(2) > a::after { content: "Archives"; }

/* Títulos dentro de las pestañas que el tema muestra como ##current.issue## y ##issue.archives##
   (se usa ::before porque ::after dibuja la línea horizontal del título) */
html body #mostRecent h2.headings,
html body #pastIssuesTab h2.headings {
  font-size: 0 !important;
}

html body #mostRecent h2.headings::before,
html body #pastIssuesTab h2.headings::before {
  font-size: 22px;
}

html[lang="es"] body #mostRecent h2.headings::before { content: "Número actual"; }
html[lang="es"] body #pastIssuesTab h2.headings::before { content: "Archivos"; }

html[lang="en"] body #mostRecent h2.headings::before { content: "Current issue"; }
html[lang="en"] body #pastIssuesTab h2.headings::before { content: "Archives"; }

/* Ocultar el botón "Inicio" de la cabecera */
html body header #showTopLinks #publishingHome {
  display: none !important;
}

/* ===== Título en texto junto al logo =====
   Solo el enlace del logo (img.img-responsive), no los íconos de redes */
html body.has_site_logo #headerNavigationContainer a:has(> img.img-responsive) {
  display: inline-flex !important;
  align-items: center;
  gap: 14px;
  width: auto !important;
  max-width: none !important;
  height: auto !important;
  overflow: visible !important;
  font-size: 16px !important;
  text-decoration: none !important;
}

html body.has_site_logo #headerNavigationContainer a:has(> img.img-responsive) img {
  flex-shrink: 0;
}

html body.has_site_logo #headerNavigationContainer a:has(> img.img-responsive)::after {
  display: inline-block !important;
  visibility: visible !important;
  color: #FFFFFF !important;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.2;
  white-space: nowrap;
}

html[lang="es"] body.has_site_logo #headerNavigationContainer a:has(> img.img-responsive)::after {
  content: "Revista Paraguaya de Reumatología";
}

html[lang="en"] body.has_site_logo #headerNavigationContainer a:has(> img.img-responsive)::after {
  content: "Paraguayan Journal of Rheumatology";
}

@media (max-width: 767px) {
  html body.has_site_logo #headerNavigationContainer a:has(> img.img-responsive)::after {
    font-size: 15px;
    white-space: normal;
  }
}

/* ===== Altura extra de la franja superior =====
   Cambiá SOLO este número: la cabecera crece y el contenido baja lo mismo,
   así la cabecera fija nunca tapa las migas de pan. */
:root {
  --alto-extra-cabecera: 35px;
}

html body #headerNavigationContainer .mainNavigation {
  padding-top: var(--alto-extra-cabecera) !important;
}

html body .pkp_structure_content {
  margin-top: var(--alto-extra-cabecera) !important;
}

/* La barra de migas de pan también es fija: su espacio superior (35px del tema)
   crece lo mismo que la cabecera para que no quede tapada */
html body .cmp_breadcrumbs .breadcrumb {
  padding-top: calc(35px + var(--alto-extra-cabecera)) !important;
}

/* Logo, Registro/Entrar y redes centrados en la franja más alta
   (sube la mitad del espacio agregado, sin cambiar la altura) */
html body #headerNavigationContainer .mainNavigation > .container {
  transform: translateY(calc(var(--alto-extra-cabecera) / -2));
}

/* Ocultar "Registrarse" y "Entrar" del menú (ya están arriba, en la franja oscura).
   Se usa "termina en" para no ocultar "Cerrar sesión" (/login/signOut) */
html body #nav-menu li:has(> a[href$="/user/register"]),
html body #nav-menu li:has(> a[href$="/login"]),
html body #nav-menu a[href$="/user/register"],
html body #nav-menu a[href$="/login"] {
  display: none !important;
}

/* Migas de pan: enlaces en azul */
html body .cmp_breadcrumbs a,
html body .cmp_breadcrumbs a:visited {
  color: #0065C3 !important;
}

html body .cmp_breadcrumbs a:hover,
html body .cmp_breadcrumbs a:focus {
  color: #004A8F !important;
}

/* Caja de búsqueda más ancha */
html body header .searchCntNav input[type="text"],
html body header .searchCntNav input[type="search"],
html body header .searchCntNav .form-control {
  width: 280px !important;
  max-width: 100%;
}

/* En celular ocupa el ancho disponible */
@media (max-width: 767px) {
  html body header .searchCntNav input[type="text"],
  html body header .searchCntNav input[type="search"],
  html body header .searchCntNav .form-control {
    width: 100% !important;
  }
}

/* ===== Barra lateral: título y enlaces ===== */

/* "Revista información" → "Contenido de la revista" (solo en español).
   Se usa ::before para el texto porque la flechita del título usa ::after */
html[lang="es"] body #sidebar h2.titleSide {
  font-size: 0 !important;
}

html[lang="es"] body #sidebar h2.titleSide::before {
  content: "Contenido de la revista";
  font-size: 13px;
  border: 0 !important;
}

/* Enlaces dentro de las cajas (English, Español, etc.) en azul */
html body #sidebar .pkp_block .content a,
html body #sidebar .pkp_block ul a,
html body #sidebar .pkp_block .content a:visited,
html body #sidebar .pkp_block ul a:visited {
  color: #0065C3 !important;
}

html body #sidebar .pkp_block .content a:hover,
html body #sidebar .pkp_block ul a:hover {
  color: #004A8F !important;
}

/* Caja "Índices" con fondo blanco (solo el contenido, el título sigue en azul) */
html body #sidebar #customblock-indices,
html body #sidebar #customblock-indices .content {
  background-color: #FFFFFF !important;
}

/* ===== Página de archivos ===== */

/* Texto del período (Enero-Junio, Julio-Diciembre...) sobre la tapa en blanco y negrita */
html body .page_issue_archive .issue-summary .media-heading a.title,
html body .page_issue_archive .issue-summary .media-heading a.title:visited,
html body .page_issue_archive .issue-summary .media-heading a.title:hover {
  color: #FFFFFF !important;
  font-weight: 700 !important;
}

/* Título ##issue.archives## → "Ediciones anteriores"
   (::before para el texto, porque ::after dibuja la línea horizontal) */
html body .page_issue_archive h2.headings,
html body .page_issue_archive > section.section > h2:not(.media-heading) {
  font-size: 0 !important;
}

html body .page_issue_archive h2.headings::before,
html body .page_issue_archive > section.section > h2:not(.media-heading)::before {
  font-size: 22px;
}

html[lang="es"] body .page_issue_archive h2.headings::before,
html[lang="es"] body .page_issue_archive > section.section > h2:not(.media-heading)::before {
  content: "Ediciones anteriores";
}

html[lang="en"] body .page_issue_archive h2.headings::before,
html[lang="en"] body .page_issue_archive > section.section > h2:not(.media-heading)::before {
  content: "Archives";
}

/* Ocultar la fecha mal formateada (%2026-%06-%30) debajo de cada volumen:
   se muestra solo la primera línea (Vol. y Núm.) */
html body .page_issue_archive .issue-summary .series {
  display: -webkit-box !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  line-clamp: 1;
  overflow: hidden !important;
}

/* Títulos reemplazados: fondo blanco detrás del texto para tapar la línea horizontal */
html body .page_issue_archive h2.headings::before,
html body .page_issue_archive > section.section > h2:not(.media-heading)::before,
html body #mostRecent h2.headings::before,
html body #pastIssuesTab h2.headings::before {
  display: inline-block;
  position: relative;
  z-index: 2;
  background-color: #FFFFFF;
  padding-right: 12px;
}

/* ===== Página de cada número (tabla de contenidos) ===== */

/* DOI y demás enlaces del resumen del artículo en azul */
html body .issue-toc .article-summary a,
html body .issue-toc .article-summary a:visited {
  color: #0065C3 !important;
}

html body .issue-toc .article-summary a:hover,
html body .issue-toc .article-summary a:focus {
  color: #004A8F !important;
}

/* Sin líneas en los títulos de sección (Editorial, Originales...);
   la línea queda solo en el título principal del número */
html body .issue-toc h2.current_issue_title,
html body .issue-toc .section > h2 {
  border: 0 !important;
  background-image: none !important;
}

html body .issue-toc h2.current_issue_title::before,
html body .issue-toc h2.current_issue_title::after,
html body .issue-toc .section > h2::before,
html body .issue-toc .section > h2::after {
  display: none !important;
}

/* Línea vertical a la izquierda de cada artículo en el gris de los títulos */
html body .article-summary.media {
  border-left-color: #999999 !important;
}

/* Refuerzo: la línea de las secciones puede estar dibujada en el contenedor section.section.
   Se quita borde y fondo (sin ocultar el elemento, para no romper la maquetación) */
html body .issue-toc .sections > .section,
html body .issue-toc .sections > .section::before,
html body .issue-toc .sections > .section::after,
html body .issue-toc .sections > .section > h2,
html body .issue-toc .sections > .section > h2 * {
  border-top: 0 !important;
  border-bottom: 0 !important;
  background-image: none !important;
}

html body .issue-toc .sections > .section::before,
html body .issue-toc .sections > .section::after {
  background-color: transparent !important;
}

/* Títulos de sección (Editorial, Originales...): más espacio antes, menos después
   y alineados a la izquierda con la línea vertical de los artículos */
html body div.issue-toc div.sections section.section > h2.current_issue_title {
  display: block !important;
  position: static !important;
  left: auto !important;
  text-indent: 0 !important;
  margin: 50px 0 6px 0 !important;
  padding: 10px 0 0 0 !important;
}

/* ===== Páginas de información (lectores, autores, bibliotecarios, acerca de, envíos, contacto, privacidad, equipo editorial) ===== */

/* Título con el mismo estilo que "Número actual": gris, mayúsculas, espaciado y línea a la derecha */
html body .pkp_structure_main > .page > h1 {
  display: flex !important;
  align-items: center;
  gap: 12px;
  font-size: 21px !important;
  font-weight: 600 !important;
  color: #ABABAB !important;
  text-transform: uppercase !important;
  letter-spacing: 2px !important;
  margin: 10px 0 20px 0 !important;
}

html body .pkp_structure_main > .page > h1::after {
  content: "";
  flex: 1;
  border-top: 1px solid #DDDDDD;
}

/* Texto en negro y enlaces en azul (sin tocar botones) */
html body .page_information :is(p, li, td, dd, dt, h2, h3, h4, strong, em),
html body .page_about :is(p, li, td, dd, dt, h2, h3, h4, strong, em),
html body .page_submissions :is(p, li, td, dd, dt, h2, h3, h4, strong, em),
html body .page_contact :is(p, li, td, dd, dt, h2, h3, h4, strong, em),
html body .page_privacy :is(p, li, td, dd, dt, h2, h3, h4, strong, em),
html body .page_editorial_team :is(p, li, td, dd, dt, h2, h3, h4, strong, em) {
  color: #000000 !important;
}

html body :is(.page_information, .page_about, .page_submissions, .page_contact, .page_privacy, .page_editorial_team) a:not(.btn),
html body :is(.page_information, .page_about, .page_submissions, .page_contact, .page_privacy, .page_editorial_team) a:not(.btn):visited,
html body :is(.page_information, .page_about, .page_submissions, .page_contact, .page_privacy, .page_editorial_team) a:not(.btn) :is(strong, em) {
  color: #0065C3 !important;
}

html body :is(.page_information, .page_about, .page_submissions, .page_contact, .page_privacy, .page_editorial_team) a:not(.btn):hover {
  color: #004A8F !important;
}

/* Título principal de las páginas de información cuando el tema usa h2 (ej. "Acerca de la revista"):
   mismo gris y línea a la derecha que "Número actual" */
html body .pkp_structure_main > .page > h2:first-of-type,
html body .pkp_structure_main > .page > .headings h2,
html body .pkp_structure_main > .page > h1 {
  display: flex !important;
  align-items: center;
  gap: 12px;
  font-size: 21px !important;
  font-weight: 600 !important;
  color: #ABABAB !important;
  text-transform: uppercase !important;
  letter-spacing: 2px !important;
  background: none !important;
  border-bottom: 0 !important;
}

/* La línea se dibuja a continuación del texto (no detrás) */
html body .pkp_structure_main > .page > h2:first-of-type::after,
html body .pkp_structure_main > .page > .headings h2::after,
html body .pkp_structure_main > .page > h1::after {
  content: "" !important;
  position: static !important;
  flex: 1 !important;
  width: auto !important;
  height: 0 !important;
  margin: 0 !important;
  background: none !important;
  border: 0 !important;
  border-top: 1px solid #DDDDDD !important;
}

/* Quitar la línea original del tema que quedaba arriba del título
   ("Sobre la revista", "Vol. 12 Núm. 1..."): queda solo la línea a la derecha del texto */
html body .pkp_structure_main > .page > .headings,
html body .pkp_structure_main > .page > .headings .section,
html body .pkp_structure_main > .page > .headings h2 {
  border-top: 0 !important;
  background-image: none !important;
}

html body .pkp_structure_main > .page > .headings h2::before,
html body .pkp_structure_main > .page > .headings::before,
html body .pkp_structure_main > .page > .headings::after,
html body .pkp_structure_main > .page > .headings .section::before,
html body .pkp_structure_main > .page > .headings .section::after {
  border: 0 !important;
  background: none !important;
  box-shadow: none !important;
}

/* Lo mismo para la portada, donde el contenedor es #main-content */
html body #main-content > .headings,
html body #main-content > .headings .section,
html body #main-content > .headings h2 {
  border-top: 0 !important;
  background-image: none !important;
}

html body #main-content > .headings h2::before,
html body #main-content > .headings::before,
html body #main-content > .headings::after,
html body #main-content > .headings .section::before,
html body #main-content > .headings .section::after {
  border: 0 !important;
  background: none !important;
  box-shadow: none !important;
}

/* ===== Página de contacto ===== */

/* Títulos "Contacto principal" y "Contacto de soporte" con el estilo de "Número actual" */
html body div.page_contact :is(h2, h3) {
  display: flex !important;
  align-items: center;
  gap: 12px;
  font-size: 21px !important;
  font-weight: 600 !important;
  color: #ABABAB !important;
  text-transform: uppercase !important;
  letter-spacing: 2px !important;
  background: none !important;
  border: 0 !important;
}

html body div.page_contact :is(h2, h3)::after {
  content: "" !important;
  position: static !important;
  flex: 1 !important;
  width: auto !important;
  height: 0 !important;
  margin: 0 !important;
  background: none !important;
  border: 0 !important;
  border-top: 1px solid #DDDDDD !important;
}

/* Más espacio antes del segundo bloque (Contacto de soporte) */
html body div.page_contact .contact.support,
html body div.page_contact .support {
  margin-top: 40px !important;
}

/* Contacto: quitar la línea original del tema que queda arriba de cada título */
html body div.page_contact :is(h2, h3)::before {
  border: 0 !important;
  background: none !important;
  box-shadow: none !important;
  display: none !important;
}

html body div.page_contact .contact,
html body div.page_contact .contact_section {
  border-top: 0 !important;
  background-image: none !important;
}

/* Línea superior del tema en TODOS los títulos envueltos en div.headings > section.section
   (contacto, portada, números, etc.): se quita, queda solo la línea a la derecha del texto */
html body div.headings,
html body div.headings > section.section {
  border-top: 0 !important;
  background-image: none !important;
  box-shadow: none !important;
}

html body div.headings::before,
html body div.headings::after,
html body div.headings > section.section::before,
html body div.headings > section.section::after {
  border: 0 !important;
  background: none !important;
  box-shadow: none !important;
}

/* ===== Página de búsqueda ===== */

/* Botón "Buscar" en azul */
html body .page_search :is(button, .btn, input[type="submit"]),
html body .pkp_structure_main form.cmp_form.search :is(button, .btn, input[type="submit"]) {
  background-color: #0065C3 !important;
  border-color: #0065C3 !important;
  color: #FFFFFF !important;
}

html body .page_search :is(button, .btn, input[type="submit"]):hover,
html body .page_search :is(button, .btn, input[type="submit"]):focus,
html body .pkp_structure_main form.cmp_form.search :is(button, .btn, input[type="submit"]):hover {
  background-color: #004A8F !important;
  border-color: #004A8F !important;
}

/* ===== Página de inicio de sesión (Entrar) ===== */

/* Formulario angosto y centrado */
html body .page_login form,
html body .page_lost_password form {
  max-width: 420px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Botón "Entrar" en azul */
html body :is(.page_login, .page_lost_password) :is(button, .btn, input[type="submit"]) {
  background-color: #0065C3 !important;
  border-color: #0065C3 !important;
  color: #FFFFFF !important;
}

html body :is(.page_login, .page_lost_password) :is(button, .btn, input[type="submit"]):hover,
html body :is(.page_login, .page_lost_password) :is(button, .btn, input[type="submit"]):focus {
  background-color: #004A8F !important;
  border-color: #004A8F !important;
}

/* Enlaces ("¿No es usuario? Registrarse", "¿Olvidó su contraseña?") y sus » en azul */
html body :is(.page_login, .page_lost_password) a:not(.btn),
html body :is(.page_login, .page_lost_password) a:not(.btn):visited,
html body :is(.page_login, .page_lost_password) li::before,
html body :is(.page_login, .page_lost_password) a:not(.btn)::before {
  color: #0065C3 !important;
}

html body :is(.page_login, .page_lost_password) a:not(.btn):hover {
  color: #004A8F !important;
}

/* Login: texto del enlace de registro que el tema deja en inglés */
html[lang="es"] body .page_login a[href$="/user/register"] {
  font-size: 0 !important;
}

html[lang="es"] body .page_login a[href$="/user/register"]::after {
  content: "¿No es usuario? Regístrese en este sitio";
  font-size: 14px;
}

/* ===== Página de registro ===== */

/* Formulario centrado, con el mismo ancho cómodo de lectura */
html body .page_register form {
  max-width: 600px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Títulos de cada bloque (Perfil, Entrar, ¿Estaría dispuesto...?) con el estilo de los títulos del sitio */
html body .page_register legend {
  width: 100% !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  color: #ABABAB !important;
  text-transform: uppercase !important;
  letter-spacing: 2px !important;
  border: 0 !important;
  border-bottom: 1px solid #DDDDDD !important;
  padding-bottom: 6px !important;
  margin: 28px 0 16px 0 !important;
}

/* Etiquetas de los campos */
html body .page_register label {
  color: #333333 !important;
  font-weight: 600 !important;
}

/* Todos los campos del mismo ancho y alto */
html body .page_register :is(input[type="text"], input[type="email"], input[type="password"], input[type="url"], input[type="tel"], select) {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 38px !important;
  padding: 6px 10px !important;
  border: 1px solid #CCCCCC !important;
  border-radius: 4px !important;
  box-sizing: border-box !important;
  margin-top: 4px !important;
  font-size: 14px !important;
}

html body .page_register :is(input, select):focus {
  border-color: #0065C3 !important;
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(0, 101, 195, 0.15) !important;
}

/* Casillas (consentimiento, avisos, revisor): texto normal, no en negrita */
html body .page_register .checkbox label,
html body .page_register label:has(input[type="checkbox"]) {
  font-weight: 400 !important;
  color: #000000 !important;
}

/* Enlaces (declaración de privacidad) en azul */
html body .page_register a:not(.btn):not([href$="/login"]),
html body .page_register a:not(.btn):not([href$="/login"]):visited {
  color: #0065C3 !important;
}

/* Botón principal "Registrarse": azul, tamaño normal como el de Entrar */
html body .page_register :is(button[type="submit"], input[type="submit"]) {
  width: auto !important;
  background-color: #0065C3 !important;
  border: 1px solid #0065C3 !important;
  color: #FFFFFF !important;
  font-size: 15px !important;
  padding: 8px 24px !important;
  border-radius: 4px !important;
}

html body .page_register :is(button[type="submit"], input[type="submit"]):hover {
  background-color: #004A8F !important;
  border-color: #004A8F !important;
}

/* Botón secundario "Entrar": borde azul y fondo blanco */
html body .page_register form a[href$="/login"] {
  display: inline-block !important;
  background-color: #FFFFFF !important;
  border: 1px solid #0065C3 !important;
  color: #0065C3 !important;
  font-size: 15px !important;
  padding: 8px 24px !important;
  border-radius: 4px !important;
  text-decoration: none !important;
}

html body .page_register form a[href$="/login"]:hover {
  background-color: #0065C3 !important;
  color: #FFFFFF !important;
}

/* Los dos botones en la misma fila */
html body .page_register .buttons {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-top: 20px;
}

/* Registro: las etiquetas envuelven a los campos, por eso se ensanchan también */
html body .page_register .fields label,
html body .page_register .fields .form-group,
html body .page_register .fields > div {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
}

/* Caja de "Intereses de revisión" (tag-it): mismo aspecto que los demás campos */
html body .page_register ul.tagit {
  width: 100% !important;
  min-height: 38px !important;
  border: 1px solid #CCCCCC !important;
  border-radius: 4px !important;
  padding: 3px 8px !important;
  box-sizing: border-box !important;
  background: #FFFFFF !important;
}

/* El campo interno de la caja, sin borde propio */
html body .page_register ul.tagit input,
html body .page_register ul.tagit li.tagit-new input {
  display: inline-block !important;
  width: 100% !important;
  height: 30px !important;
  margin: 0 !important;
  padding: 0 4px !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}

html body .page_register ul.tagit li.tagit-new {
  width: 100% !important;
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}

/* Botón "Entrar" del registro: su dirección lleva parámetros (?source=...), se reconoce por contener /login */
html body .page_register .buttons a[href*="/login"]:not([href*="signOut"]) {
  display: inline-block !important;
  background-color: #FFFFFF !important;
  border: 1px solid #0065C3 !important;
  color: #0065C3 !important;
  font-size: 15px !important;
  padding: 8px 24px !important;
  border-radius: 4px !important;
  text-decoration: none !important;
}

html body .page_register .buttons a[href*="/login"]:not([href*="signOut"]):hover {
  background-color: #0065C3 !important;
  color: #FFFFFF !important;
}

/* Registro: botones "Registrarse" y "Entrar" a la misma altura */
html body .page_register .buttons {
  align-items: center !important;
}

html body .page_register .buttons > * {
  margin: 0 !important;
  vertical-align: middle !important;
  line-height: 1.4 !important;
}

/* Indicación debajo de "Intereses de revisión" */
html body .page_register #reviewerInterests .label::after {
  display: block;
  margin-top: 2px;
  font-size: 13px;
  font-weight: 400;
  color: #555555;
}

html[lang="es"] body .page_register #reviewerInterests .label::after {
  content: "Complete los temas que le gustaría revisar";
}

html[lang="en"] body .page_register #reviewerInterests .label::after {
  content: "Please enter the topics you would like to review";
}

/* Enlaces de todos los listados de artículos (portada, números, búsqueda...) en azul, incluido el DOI */
html body .article-summary.media a,
html body .article-summary.media a:visited {
  color: #0065C3 !important;
}

html body .article-summary.media a:hover,
html body .article-summary.media a:focus {
  color: #004A8F !important;
}

/* Paginación (búsqueda, archivos...): números y "Siguiente" en azul */
html body .cmp_pagination a,
html body .cmp_pagination a:visited,
html body .pagination a,
html body .pagination a:visited {
  color: #0065C3 !important;
}

html body .cmp_pagination a:hover,
html body .cmp_pagination a:focus,
html body .pagination a:hover,
html body .pagination a:focus {
  color: #004A8F !important;
}

/* ===== Menú desplegable (Acerca de) en el azul de la franja superior ===== */
html body #nav-menu .dropdown-menu,
html body #nav-menu .dropdown-menu > li > a,
html body #nav-menu .dropdown.open > a,
html body #nav-menu .dropdown > a[aria-expanded="true"],
html body #nav-menu .navbar-nav > li > a:hover,
html body #nav-menu .navbar-nav > li > a:focus {
  background-color: #004F94 !important;
  color: #FFFFFF !important;
}

html body #nav-menu .dropdown-menu {
  border: 0 !important;
}

/* Separadores entre opciones y resaltado al pasar el mouse */
html body #nav-menu .dropdown-menu > li > a {
  border-bottom: 1px solid rgba(255, 255, 255, 0.12) !important;
}

html body #nav-menu .dropdown-menu > li > a:hover,
html body #nav-menu .dropdown-menu > li > a:focus {
  background-color: #003D73 !important;
  color: #FFFFFF !important;
}
