@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@100..900&display=swap');

/* ==========================================================================
   1. PALETA DE COLORES Y VARIABLES (:root)
   ========================================================================== */
:root {
    --color-primary: #3752db;     
    --color-primary-light: #4b63e6; 
    --color-secondary: #541181;     
    --color-accent: #dd2171;        
    --color-dark: #222222;         
    --color-black: #000000;         
    --color-white: #ffffff;     
    --color-fondo: #f2f2f2; 
    --color-info: #c1fffc;   
    --color-btn3: #fc8c5b;
}

/* ==========================================================================
   2. FUENTES Y TIPOGRAFÍA BASE
   ========================================================================== */
@font-face {
    font-family: 'Whyte Inktrap';
    src: url('../../../plugins/themes/healthSciences/fonts/WhyteInktrap-Bold.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
}

body {
    font-family: 'Montserrat', sans-serif;
    background-color: var(--color-fondo);
}

a, p,h4, a.btn.btn-text  {
    font-family: 'Montserrat', sans-serif;
    color: var(--color-black);
}

.h2{
    font-family: 'Montserrat', sans-serif;
    font-size: 20px;
    font-weight: 700;
    color: var(--color-primary);
}

.volumenes-section {
    display: none !important;
}

.info-section{
  display: none;
}

#languageLargeNav {
  display: none;
}

.article-summary-doi{
  margin-bottom: 20px;
  font-weight: 500;
}

.article-summary-doi a{
  color: var(--color-secondary) !important;
    transition: 0.3s;
}

.article-summary-doi a:hover {
    color: var(--color-btn3) !important; 
}

.issue-toc-section + .issue-toc-section {
  border-top: none;
}

.issue-toc-section {
  margin-bottom: 74px !important;
}

.container.page-issue {
  margin-bottom: 100px;
}

.container.page-issue .contenedor_articulo {
    margin-top: 40px;
    margin-bottom: 40px;
}

.container.page-issue .page-issue-galleys{
    display: flex;
    justify-content: center;
}

.container.page-issue .page-issue-cover{
    max-width: 330px !important;
    max-height: 470px !important;
}

.container.page-issue .page-issue-details{
    margin-bottom: 50px;
}

.img-detalle{
    margin-top: 0px;
}

.container.page-issue .page-issue-description-wrapper{
    margin-bottom: .5em;
}

.container.page-issue  .page-issue-galleys{
    flex-direction: row;
    width: 100%;
    align-items: center;
}

h1 { 
    font-family: 'Whyte Inktrap', sans-serif;
    font-size: 70px;
    text-align: start;
    color: var(--color-primary);
    margin-bottom: 0px;
}

h2, h3, .h3, .issue-toc-section-title {
    font-family: 'Montserrat', sans-serif;
    font-size: 36px;
    font-weight: 700;
    color: var(--color-primary);
}

/* ==========================================================================
   3. ESTRUCTURA GLOBAL / LAYOUT Y COMPONENTES
   ========================================================================== */

/* --- Header Principal (Navegación) --- */
.main-header {
    height: auto;
    background-color: var(--color-white);
    border-bottom: 1px solid blue;
}

.main-header .container {
    display: flex;
    flex-direction: row;
    padding: 0px;
    height: 100%;
}

.navbar-logo {
    display: flex;
    align-items: center;
    width: 100%;
    padding-top: 20px;
    padding-bottom: 20px;
    text-align: start;
}

.navbar-logo a {
    height: 100%;
}

.navbar-logo img {
    max-height: 100%;
}

#userNav {
    position: relative;
    top: 0px;
    right: 0px;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    width: 1000px;
}

#userNav .nav-link, 
.language-toggle .dropdown-toggle {
    padding: 8px 15px;
    font-size: 13px;
    font-weight: 500;
    text-transform: none;
    color: var(--color-white);
    background: var(--color-primary);
    border: none;
    border-radius: 5px;
}

#primaryNav {
    gap: 18px;
    padding-top: 0px;
    padding-bottom: 0px;
}

#primaryNav .nav-link {
    padding: 5px 15px;
    font-size: 13px;
    font-weight: 500;
    border-radius: 5px;
    transition: 0.2s;
}

#primaryNav .nav-link:hover,
#primaryNav .nav-link.is-active {
    color: var(--color-primary);
    border-color: var(--color-primary);
}

/* --- Headers de Contenido --- */
.page-header {
    margin-top: 100px;
    margin-bottom: 0px;
}

.dropdown-menu.show {
    display: flex;
    flex-direction: column;
    top: 71px !important; 
    background-color: white !important;
    border-bottom-left-radius: 20px !important;
    border-bottom-right-radius: 20px !important;
    border: 1px solid blue !important;
    margin-left: 266px !important;
    width: 34% !important;
    gap: 10px;
}

.nav-item.nmi_type_user_register {
  display: none !important;
}

.dropdown-item {
    font-size: 13px !important;
    text-align: start !important;
    border-radius: 5px !important;
    border: 1px solid transparent !important;
    transition: 0.3s !important;
}

.pdf-frame {
    position: static;
    height: 100vh;
}

.pdf-frame iframe{
    padding-top: 15px;
}

.pdf-header {
    align-items: center;
}

.nav-item.nmi_type_user_dashboard.dropdown.show .dropdown-menu.dropdown-menu-right.show{
    top: 90% !important;
    color: var(--color-primary) !important;
}

.nav-item.nmi_type_user_dashboard.dropdown.show .dropdown-item{
    color: var(--color-black) !important;
}

.nav-item.nmi_type_user_dashboard.dropdown.show .dropdown-menu.show{
    width: 205px !important;
    padding-left: 22px !important;
    padding-top: 15px !important;
    padding-bottom: 20px !important;
    padding-right: 22px !important;
}

.dropdown-item:hover {
    background-color: transparent !important;
    border-radius: 5px !important;
    box-shadow: none !important;
    color: var(--color-primary)!important;
    border: 1px solid blue !important;
}

.dropdown-item:focus {
    background-color: transparent !important;
    border-radius: 5px !important;
    box-shadow: none !important;
    color: var(--color-primary)!important;
    border: 1px solid blue !important;
}

.grid-2-columnas {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px 30px;
    margin-bottom: 25px;
  }
  @media (max-width: 600px) {
    .grid-2-columnas {
      grid-template-columns: 1fr;
    }
  }

.page-header h1 {
    font-size: 70px;
    text-align: start;
    color: var(--color-primary);
}

.contenedor_title {
    margin-top: 5rem;
}

/* ==========================================================================
   4. SECCIONES ESPECÍFICAS DE CONTENIDO
   ========================================================================== */

/* --- Vista de Inicio de Revista / Home Issue --- */
.container_ini_revista {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 35px;
}

.volumenes-section {
  margin-top: 3em;
}
.volumenes-section .col-md-4 h2{
    margin-top: 40px;
    font-size: 30px;
}

.archivos-button{
    font-size: 30px;
    color: var(--color-primary);
}

.card.issue-summary .description {
  text-align: justify;
  padding-left: 9px;
  padding-right: 9px;
}

ol {
  display: flex;
  gap: 0px;
  font-weight: 500;
}

.cmp_breadcrumbs ol a {
    color: #a6a6a6;
    font-style: italic;
}

.home_contacto a{
    margin-bottom: 1em;
    color: var(--color-secondary);
}

.cmp_breadcrumbs ol li {
    color: #a6a6a6;
    font-style: italic;
}

.card.issue-summary .card-body{
    padding-bottom: 0px;
}

.justify-content-around {
  justify-content: flex-start !important;
  margin-top: 4.9em;
  margin-bottom: 3em;
}

.consejos {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    width: 212%;
    gap: 5px;
}

.contenido_acerca_h2 {
    grid-column: 1 / -1; /* Hace que el título ocupe las dos columnas */
}

.volumenes-section .col-md-4 p{
    text-align: justify;
}
.volumenes-section .row{
    gap: 15px;
    justify-content: center;
}

.volumenes-section .col-md-4{
    max-width: 31%;
}

.container_ini_revista h1 {
    width: 55%;
}

.container_ini_revista .parrafo {
    width: 90%;
    padding: 23px 35px;
    background-color: white;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
}

.container_ini_revista .parrafo p {
    font-size: 18px;
    font-weight: 400;
    line-height: 23px;
}

.homepage-image-behind-issue {
    position: static;
    z-index: 0;
    max-height: 100%;
    overflow-y: visible;
}

.homepage-image-behind-issue::after {
    all: unset;
}

section.faq-section {
    margin-bottom: 3em;
}


.page-issue-galleys {
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: 220px;
}

.col-12.col-md-5.col-lg-4.text-center {
  display: flex;
  flex-direction: column;
  align-content: center;
  align-items: center;
}

.container.container-homepage-issue.page-content {
    margin-top: 0px;
    padding-top: 0px;
}

.submissions-checklist{
    align-items: center;
    gap: 30px;
    width: 85.7%;
}

.submissions-checklist li{
    align-items: center;
    gap: 30px;

    font-size: 18;
}

.container.page-submissions .page-content{
    display: flex;
    justify-content: flex-end;
}

.submissions-checklist h2{
    margin-top: 0px;
}

.homepage-issue-header {
    margin-top: 5rem;
    margin-bottom: 0px;
}

.row.justify-content-center.homepage-issue-header {
    flex-wrap: nowrap;
    margin-left: 0px;
    margin-right: 0px;
}

.row.justify-content-center.homepage-issue-header .col-lg-3 {
    flex: none;
    -ms-flex: none;
    max-width: 35%;
    padding-left: 5px;
    padding-right: 32px;
}

.row.justify-content-center.homepage-issue-header .col-lg-9 {
    flex: none;
    -ms-flex: none;
    max-width: 65%;
}

.homepage-issue-cover {
    display: flex;
    max-width: 100%;
    max-height: 100%;
    margin: 0px;
}

.homepage-issue-description-wrapper {
    padding: 0px;
    background: transparent;
}

.homepage-issue-description {
    position: static;
    max-height: 100%;
    padding-bottom: 0px;
    overflow-y: visible;
}

.homepage-issue-description h2 {
  margin-top: -8px;
}

.homepage-issue-description::after {
    all: unset;
}

.homepage-issue-description-more {
    position: static;
    bottom: 0px;
    z-index: 0;
    display: flex;
    flex-direction: column;
    width: 100%;
}

.home_contacto{
    display: flex;
    flex-direction: row;
    justify-content: space-between; /* Uno al inicio y otro al final */
    margin-top: 4em;
    margin-bottom: 3em;
    padding: 1em 47px 0.5px 47px;
    background-color: var(--color-info);
    border-radius: 5px;
    gap: 50px;
    align-items: center;
}

.submissions-checklist .home_contacto .btn.btn-primary.btn-primary-2{
    width: 180px;
}

.modal-content .btn.btn-primary{
    color: white;
    background-color: var(--color-primary);
}

/* --- Sección Papers --- */
.contenido_papers_inicial {
    display: flex;
    flex-direction: row;
    align-items: start;
    gap: 48px;
}

.contenido_full_papers {
    width: 90%;
}

.contenido_full_papers p {
    font-size: 18px;
    font-weight: 400;
    line-height: 23px;
}

.contenido_papers_parrafo {
    margin-top: 35px !important;
}

.frecuencia_papers {
    margin: 0;
    padding: 0;
    list-style: none;
}

.frecuencia_papers li {
    display: flex;
    align-items: flex-start;
    gap: 34px;
    margin-bottom: -5px;
    font-size: 18px;
    font-weight: 400;
}

.frecuencia_papers li::before {
    content: "•";
    flex-shrink: 0;
    font-size: 32px;
    line-height: 1;
    color: var(--color-accent);
}

/* --- Sección Acerca de --- */
.container_acerca {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    flex-shrink: 0;
    gap: 30px;
}

.contenido_full_acerca {
    width: 85.7%;
}

.contenido_full_acerca p {
    font-size: 18px;
    font-weight: 400;
    line-height: 23px;
}

.contenido_full_acerca .faq-section {
    margin-bottom: 45px;
}

/* --- Resúmenes de Artículos (TOC) --- */
.issue-toc-section-title {
    margin: 20px 0px 1em 0px;
}

.article-summary {
    margin: 5px 0px;
}

.article-summary-title a {
    font-size: 18px;
    font-weight: bold;
    line-height: 23px;
    color: black;
}

.article-summary-galleys {
    margin-top: 0px;
}

/* ==========================================================================
   5. COMPONENTES INTERACTIVOS Y UI (Botones, Acordeones)
   ========================================================================== */

/* --- Botones Redondos (Papers) --- */
.buttons-container {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    flex-shrink: 0;
    gap: 30px;
}

.homepage-issue-galleys {
    margin-top: 40px;
}

.homepage-issue-galleys .btn.btn-primary.btn-primary- {
    width: 115px;
    height: 115px;
    font-size: 18px;
    font-weight: 500;
    line-height: 18px;
    color: var(--color-white);
    border: none;
    border-radius: 100%;
    transition: 0.3s;
    background-color: var(--color-secondary);
    align-items: center;
    display: flex;
}

.homepage-issue-galleys .btn.btn-primary.btn-primary-:hover {
    color: var(--color-black);
}

.buttons-container .button_papers.btn2 ,  .buttons-container .button_papers.btn3{
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: white;
}

.contenido_papers_inicial .button_papers.btn1 {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: white;
}

.button_papers {
    width: 115px;
    height: 115px;
    font-size: 18px;
    font-weight: 500;
    line-height: 18px;
    color: var(--color-white);
    border: none;
    border-radius: 100%;
    transition: 0.3s;
}

.button_papers.btn1 {
    margin-top: 422px;
    background-color: var(--color-accent);
}

.button_papers.btn2 {
    width: 135px;
    height: 132px;
    background-color: var(--color-secondary);
}

.button_papers.btn3 {
    background-color: var(--color-accent);
}

.button_papers.btn2:hover {
    background-color: var(--color-accent);
}

.volumenes-section .row{
    margin-top: 2em;
}

.button_papers.btn1:hover,
.button_papers.btn3:hover {
    background-color: var(--color-secondary);
}

/* --- Botones Estándar (Bootstrap override) --- */
.btn.btn-primary {
    font-family: 'Montserrat', sans-serif;
    padding-left: 20px;
    padding-right: 20px;
    justify-items: center;
    align-items: center;
    font-weight: 600;
    text-align: center;
    color: white;
    border: none;
    border-radius: 10px;
    transition: 0.3s;
}

.btn.btn-primary:hover{
    background-color: #ffcd4d !important;
    color: black;
}

.btn.btn-primary.btn-primary-{
    background-color: var(--color-accent);
}

.btn.btn-primary.btn-primary-1 {
    background-color: var(--color-secondary);
}


.btn.btn-primary.btn-primary-2 {
    background-color: var(--color-accent);
}


.btn.btn-primary.btn-primary-3 {
    background-color: var(--color-btn3);
}



/* --- Acordeón (Details / Summary) --- */
.accordion-item {
    padding: 16px 0px 5px 0px;
}

.accordion-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 18px;
    font-weight: 500;
    line-height: 40px;
    color: var(--color-black);
    cursor: pointer;
    list-style: none;
    border-bottom: 0.5px solid var(--color-dark); 
    transition: 0.3s;
}

.accordion-header .icon {
    display: inline-block;
    font-size: 30px;
    font-weight: 600;
    color: var(--color-dark);
    transform: rotate(0deg); 
    transition: transform 0.5s ease; 
}

.accordion-item[open] .accordion-header {
    color: var(--color-primary);
    border-color: var(--color-primary);
}

.accordion-item[open] .accordion-header .icon {
    color: var(--color-primary); 
    transform: rotate(90deg); 
}

.accordion-content {
    padding: 0px 0px 0px 20px;
    font-size: 14px;
    line-height: 1.4;
    color: var(--color-black);
}

.accordion-content p {
    margin-top: 15px !important;
}

/* ==========================================================================
   6. COMPONENTES DE TEXTO, UTILIDADES Y DINÁMICOS
   ========================================================================== */


.page-content h3 {
    margin-top: 1.3em;
}

h4{
  font-size: 18px;
  font-weight: 400;
  line-height: 23px;
  color: black;
  font-weight: bold;
}

.page-content li{
    font-size: 18px;
}

.show.li-con {
    margin-top: 15px !important;
}

.contenido_acerca_h2 {
  margin-top: 26px !important;
}

.contenido_acerca_h2.Direc_tit {
  margin-top: 70px !important;
}

.page-content p {
    margin-top: 0px;
    font-size: 18px;
    font-weight: 400;
    line-height: 23px;
    color: black;
}

.container.page-static {
    font-family: 'Montserrat', sans-serif;
}

.page-content {
    border: none;
}

.highlight-box {
    margin-top: 45px;
    margin-bottom: 50px;
    padding: 0.5px 15px 0.5px 47px;
    background-color: var(--color-info);
    border-radius: 5px;
}

.highlight-box strong {
    font-size: 16px;
    font-weight: 600;
}

.highlight-box p{
    margin-top: 1em;
}

.separador-morado hr {
    border: 0.5px solid var(--color-primary);
}

.sr-only {
    display: none;
}

/* ==========================================================================
   . Catalogo
   ========================================================================== */

.card.issue-summary {
  position: static;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  min-width: 0;
  word-wrap: break-word;
  background-color: transparent;
  background-clip: border-box;
  border: none;
  border-radius: 0px;
  align-items: center;
  text-align: center;
}

.card.issue-summary .issue-summary-cover {
  max-width: 330px;
  height: 470px;
}

/* ==========================================================================
   7. Envios(Footer)
   ========================================================================== */

/* Contenedor principal */
.submissions-checklist {
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    color: #333;
    line-height: 1.6;
}

.submissions-checklist .card-text:last-child{
    margin-top: 0px;
}

/* Introducción del checklist */
.submissions-checklist .checklist-intro {
    font-size: 1.1em;
    margin-bottom: 25px;
    margin-top: 30px;
}

/* Lista principal de tarjetas */
.submissions-checklist .checklist-items {
    list-style: none;
    padding: 0;
    margin: 0;
}

/* Tarjeta individual */
.submissions-checklist .checklist-card {
    background: #ffffff;
    border-radius: 8px;
    padding: 20px;
    margin-bottom: 15px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.02);
    display: flex;
    align-items: flex-start;
    font-family:'Montserrat', sans-serif;
    font-size: 18px;
    font-weight: 400;
    line-height: 23px;
    color: black;
    align-items: center;
}

/* Ícono de verificación */
.submissions-checklist .check-icon {
    color: #28a745;
    font-size: 1.2em;
    font-weight: bold;
}

/* Texto de la tarjeta */
.submissions-checklist .card-text {
    flex: 1;
}

/* Enlaces dentro del checklist */
.submissions-checklist .checklist-link {
    color: #007bff;
    text-decoration: none;
    font-weight: 500;
    border-bottom: 1px dashed #007bff;
    transition: color 0.2s ease;
}

.submissions-checklist .checklist-link:hover {
    color: #0056b3;
    border-bottom-style: solid;
}

/* Contenedor especial de archivos adjuntos */
.submissions-checklist .files-container-card {
    background: transparent;
    border-radius: 8px;
    padding: 25px;
    margin-bottom: 15px;
    list-style: none;
        font-family:'Montserrat', sans-serif;
    font-size: 18px;
    font-weight: 400;   
    line-height: 23px;
    color: black;
}

.page-issue-description-wrapper{
    background-color: white;
    border-radius: 10px;
    margin-bottom: 6em;
}

/* Título de la sección de archivos */
.submissions-checklist .files-title {
    font-weight: bold;
    font-size: 1.1em;
    color: #1e293b;
    margin-bottom: 15px;
    display: flex;
    align-items: center;
}

.submissions-checklist .folder-icon {
    font-size: 1.3em;
    margin-right: 10px;
}

/* Sublista interna de archivos */
.submissions-checklist .subfiles-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

/* Ítem de archivo individual */
.submissions-checklist .subfile-item {
    padding: 10px 0;
    border-bottom: 1px solid #e2e8f0;
    display: flex;
    align-items: flex-start;
    padding-bottom: 20px;
    padding-top: 20px;
}

.submissions-checklist .subfiles-list .subfile-item:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

/* Íconos de viñeta internos */
.submissions-checklist .bullet-icon {
    color: #007bff;
    margin-right: 10px;
}

.submissions-checklist .subfile-text {
    flex: 1;
}



/* ==========================================================================
   7. PIE DE PÁGINA (Footer)
   ========================================================================== */
.site-footer {
    margin-top: 0px;
    padding: 20px 0px;
    border-top: 1px solid blue;
    background-color: var(--color-white);
}

.contenedor_footer {
    display: flex !important;
    flex-direction: row;
    justify-content: space-between; 
    align-items: center;            
    flex-wrap: wrap;                
    width: 100%;                   
}

.text_footer {
    display: flex;
    justify-content: center;
}

.text-right {
    flex-direction: row;
}

.social_network {
    display: flex !important; 
    flex-direction: row;     
    align-items: center;    
    gap: 15px;               
}

.footer-social_network {
    display: block;
    width: 35px;  
    height: auto;
}

.footer-brand-cedia {
    width: 115px;
}

.modal-content {
  border-radius: 0;
  background: white;
  color: #000;
  border-radius: 25px;
}

.navbar.navbar-expand-lg.navbar-light img {
    display: none;
}

/* ==========================================================================
   Estilos para Tablet (Pantallas de 770px hacia abajo)
   ========================================================================== */
@media (max-width: 770px) {

    /* Header */
    .main-header {
        padding: 10px 40px;
    }

    /* Ocultar selector de idioma en mobile */
    div#languageSmallNav {
        display: none;
    }

    /* Ocultar menú de usuario en mobile (se muestra en el off-canvas) */
    ul#userNav {
        display: none;
    }

    /* Ajustes del dropdown de usuario (si existe) */
    .dropdown-menu.show {
        display: flex;
        flex-direction: column;
        top: 0 !important;
        background-color: white !important;
        border: none !important;
        margin-left: 0 !important;
        width: 100% !important;
        gap: 10px;
        margin-top: 15px !important;
    }

    /* Botón hamburguesa - z-index mayor que el menú para que quede por encima */
    .navbar-toggler {
        position: relative;
        z-index: 1060;
    }

    /* Estilos del botón hamburguesa */
    .navbar-light .navbar-toggler {
        background-color: var(--color-primary);
    }

    /* Menú lateral (off-canvas) */
    .navbar-collapse {
        position: fixed;
        top: 0;
        right: 0;
        z-index: 1051; /* Por encima del contenido pero debajo del toggler */
        width: 280px;
        max-width: 80%;
        height: 100vh;
        padding: 80px 24px 24px 24px !important; /* Espacio para el header */
        background-color: #ffffff !important;
        box-shadow: -5px 0 25px rgba(0, 0, 0, 0.15) !important;

        /* Animación de deslizamiento */
        display: block !important; /* Sobrescribe Bootstrap para animar */
        transform: translateX(100%); /* Oculto a la derecha */
        transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1) !important;
    }

    /* Menú visible */
    .navbar-collapse.show {
        transform: translateX(0) !important;
    }

    /* Enlaces del menú */
    .navbar-nav {
        flex-direction: column;
        text-align: center;
    }

    .navbar-nav .nav-link {
        padding: 15px 0 !important;
        border-bottom: 1px solid #f1f5f9;
        color: #333333 !important;
        font-weight: 500;
        font-size: 1.1rem;
    }

    .nav-item a {
        padding-left: 10px;
    }

    /* Último elemento del menú - sin borde y estilo especial */
    .navbar-nav .nav-item:last-of-type .nav-link {
        border-bottom: none; /* Elimina borde del último */
        border-radius: 5px;
        font-size: 13px;
        font-weight: 500;
        transition: 0.2s;
    }

    /* Hover/active/focus en enlaces del menú */
    .nav-link:hover,
    .nav-link:active,
    .nav-link:focus {
        background: var(--color-primary) !important;
        color: white !important;
    }

    /* Logo */
    .navbar-logo {
        width: 45%;
    }

    .navbar-logo img {
        max-height: 100%;
    }

    /* Contenedor del header */
    .main-header .container {
        display: flex;
        align-items: center;
        justify-content: space-between;
    }

    /* Estilos específicos para elementos de navegación */
    li.nav-item.nmi_type_user_login a {
        margin-top: 15px;
        margin-bottom: 15px;
    }

    /* Ajustes de contenido */
    .contenido_full_acerca {
        width: 100%;
    }

    .card.issue-summary .issue-summary-cover {
        max-width: 330px;
        height: 325px;
    }

    .submissions-checklist {
        width: 100%;
    }

    .consejos {
        display: grid;
        grid-template-columns: none;
        width: 100%;
        gap: 5px;
    }
}

/* ==========================================================================
   Estilos para Móvil (Pantallas de 490px hacia abajo)
   ========================================================================== */
@media (max-width: 490px) {

    /* --- Header / Navbar --- */
    .main-header {
        padding: 10px 40px;
    }

    .navbar {
        flex-wrap: nowrap;
        width: 76px;
    }

    .navbar-logo a {
        display: flex;
        align-items: center;
    }

    .navbar-logo img {
        width: 85%;
    }

    /* Botón hamburguesa más compacto en móvil */
    .navbar-toggler {
        position: relative;
        z-index: 1100; /* Mayor que en tablet */
        padding: 0.1rem 0.6rem;
    }

    .navbar-toggler-icon {
        width: 1.1em;
    }

    .navbar-light .navbar-toggler {
        background-color: var(--color-primary);
    }

    /* Backdrop oscuro detrás del menú (mejora UX) */
    .menu-backdrop {
        position: fixed;
        inset: 0;
        background: rgba(0, 0, 0, 0.4);
        opacity: 0;
        visibility: hidden;
        transition: 0.3s;
        z-index: 1040;
    }

    .menu-backdrop.show {
        opacity: 1;
        visibility: visible;
    }

    /* Ocultar elementos que van dentro del menú lateral */
    ul#userNav {
        display: none;
    }

    div#languageSmallNav {
        display: none;
    }

    /* Dropdown de usuario - ajustes */
    .dropdown-menu.show {
        display: flex;
        flex-direction: column;
        top: 0 !important;
        background-color: white !important;
        border: none !important;
        margin-left: 0 !important;
        width: 100% !important;
        gap: 10px;
        margin-top: 15px !important;
    }

    /* Menú lateral - mismo estilo que tablet pero con z-index ajustado */
    .navbar-collapse {
        position: fixed;
        top: 0;
        right: 0;
        z-index: 1050;
        width: 280px;
        max-width: 80%;
        height: 100vh;
        padding: 80px 24px 24px 24px !important;
        background-color: #ffffff !important;
        box-shadow: -5px 0 25px rgba(0, 0, 0, 0.15) !important;
        transform: translateX(100%);
        transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1) !important;
    }

    .navbar-collapse.show {
        transform: translateX(0) !important;
    }

    .navbar-nav {
        flex-direction: column;
        text-align: center;
    }

    .navbar-nav .nav-link {
        padding: 15px 0 !important;
        border-bottom: 1px solid #f1f5f9;
        color: #333333 !important;
        font-weight: 500;
        font-size: 1.1rem;
    }

    .nav-item a {
        padding-left: 10px;
    }

    /* Último elemento del menú - sin borde */
    .navbar-nav .nav-item:last-child .nav-link {
        border-bottom: none;
        border-radius: 5px;
        font-size: 13px;
        font-weight: 500;
        transition: 0.2s;
    }

    /* Botón de Iniciar Sesión destacado */
    .btn-login {
        margin-top: 20px !important;
        padding: 12px !important;
        border-radius: 8px;
        background-color: #0056b3;
        color: #ffffff !important;
        font-weight: 600 !important;
        text-align: center;
    }

    .btn-login:active {
        background-color: #003d80;
    }

    /* Hover/active/focus en enlaces */
    .nav-link:hover,
    .nav-link:active,
    .nav-link:focus {
        background: var(--color-primary) !important;
        color: white !important;
    }

    /* Ajustes de elementos de navegación */
    li.nav-item.nmi_type_user_login a {
        margin-top: 15px;
        margin-bottom: 15px;
    }

    /* --- Footer --- */
    .site-footer {
        margin-top: 0;
        padding: 0 0 20px;
    }

    .footer-brand-image {
        margin-top: 0;
    }

    .contenedor_footer {
        display: flex;
        flex-direction: column;
        gap: 25px;
    }

    .row.footer_row4 {
        margin-top: 30px;
    }

    /* --- Layout General --- */
    .container {
        padding: 10px 20px;
    }

    .container_ini_revista {
        display: flex;
        flex-direction: column;
        gap: 10px;
        margin-top: 50px;
    }

    .container_ini_revista h1,
    .h1.title_articulo h1 {
        width: 100%;
        text-align: center;
    }

    .page-header h1 {
        text-align: center;
        font-size: 50px;
    }

    .contenido_full_acerca {
        width: 100%;
        padding-left: 20px;
        padding-right: 20px;
    }

    .contenido_acerca_h2 {
        margin-top: 0 !important;
    }

    .contenido_full_papers {
        width: 100%;
        padding-left: 20px;
        padding-right: 20px;
    }

    .contenido_full_papers img {
        width: 100%;
        height: auto;
    }

    .contenido_papers_inicial {
        flex-direction: column;
        align-items: end;
    }

    .button_papers.btn1 {
        margin-top: 0;
    }

    .section-title {
        text-align: center;
    }

    .text-placeholder {
        padding-top: 30px;
    }

    /* --- Portada de la Revista --- */
    .homepage-issue-header {
        margin-top: 2rem;
    }

    .row.justify-content-center.homepage-issue-header {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .row.justify-content-center.homepage-issue-header .col-lg-9 {
        max-width: 100%;
        margin-top: 4rem;
    }

    .row.justify-content-center.homepage-issue-header .col-lg-3 {
        max-width: 100%;
        padding-left: 0;
        padding-right: 0;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .homepage-issue-description h2 {
        margin-top: -8px;
        margin-bottom: 1em;
        text-align: center;
    }

    .issue-toc-section-title {
        margin: 20px 0 1em 0;
        text-align: center;
    }

    /* --- Volúmenes --- */
    .volumenes-section {
        display: flex;
        flex-direction: column;
        align-items: center;
        padding: 10px 16px;
    }

    .volumenes-section .row {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .volumenes-section .col-md-4 {
        max-width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }

    .volumenes-section a {
        max-width: 100%;
    }

    .volumenes-section .img-fluid,
    .img-fluid.homepage-issue-cover {
        max-width: 330px;
        height: 470px;
    }

    /* --- Contacto --- */
    .home_contacto {
        flex-direction: column;
        gap: 15px;
        padding-bottom: 2px;
        margin-top: 0;
        margin-bottom: 3em;
    }

    /* --- Papers y Publicidad --- */
    .papers_publicidad {
        text-align: center;
        margin-bottom: 30px;
    }

    /* --- Breadcrumbs --- */
    .cmp_breadcrumbs {
        display: flex;
        justify-content: start;
    }

    .cmp_breadcrumbs ol {
        padding: revert !important;
    }

    /* --- Accordion --- */
    .accordion {
        margin-top: 20px;
    }

    .accordion-header {
        line-height: 26px;
        margin-top: 10px;
        padding-bottom: 20px;
    }

    /* --- Tarjetas de resumen de números --- */
    .card.issue-summary {
        padding-left: 12px;
        padding-right: 12px;
        margin-bottom: 50px;
    }

    /* --- Checklists y detalles de página --- */
    .submissions-checklist {
        width: 100%;
        padding-left: 20px;
        padding-right: 20px;
    }

    .row.page-issue-details {
        padding-left: 20px;
        padding-right: 20px;
    }

    /* --- Layouts generales --- */
    .cont-lib {
        display: flex;
        flex-direction: column;
    }

    .consejos {
        display: grid;
        grid-template-columns: none;
        width: 100%;
        gap: 5px;
    }
}