
/* ==========================================================================
   COMPATIBILIDAD CON eLife Lens / JATS XML
   --------------------------------------------------------------------------
   El visor Lens usa <body class="current-view reader">. Las reglas globales
   de body y enlaces del tema quedan excluidas del lector XML mediante
   body:not(.reader), evitando que el CSS editorial interfiera con Figures,
   References, Info y los recursos gráficos del visor.
   ========================================================================== */

/* ==========================================================================
   1. VARIABLES DE COLOR Y FUENTES
   ========================================================================= */
:root {
    --color-fondo-cabecera: #000000; 
    --color-dorado: #d4af37;         
    --color-dorado-hover: #b8972f;   
    --color-texto-principal: #1a1a1a;
    --color-texto-mutado: #666666;   
    --color-bordes-sutiles: #e2e8f0; /* Gris claro para los marcos */
    --color-fondo-sitio: #f8fafc;    /* Un fondo gris casi blanco para que resalten las tarjetas */
    
    --fuente-limpia: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

/* ==========================================================================
   2. ESTILOS GENERALES 
   ========================================================================= */
body:not(.reader) {
    font-family: var(--fuente-limpia);
    color: var(--color-texto-principal);
    line-height: 1.7; 
    background-color: var(--color-fondo-sitio); /* Fondo del sitio ligeramente gris */
}

body:not(.reader) a {
    color: var(--color-dorado);
    text-decoration: none;
    transition: all 0.2s ease;
}
body:not(.reader) a:hover {
    color: var(--color-dorado-hover);
    text-decoration: underline;
}

/* ==========================================================================
   3. MENÚ DE NAVEGACIÓN PRINCIPAL
   ========================================================================= */
.pkp_navigation_primary > li > a {
    font-family: var(--fuente-limpia);
    font-weight: 500;
    letter-spacing: 0.5px;
    color: var(--color-dorado) !important;
    padding: 10px 15px !important;
}

.pkp_navigation_primary > li > a:hover {
    color: #ffffff !important; 
    text-decoration: none;
}

/* ==========================================================================
   4. EFECTO DE DESTELLO LENTO EN EL LOGOTIPO
   ========================================================================= */
.pkp_site_name_wrapper {
    position: relative;
    overflow: hidden;
    display: inline-block;
}
.pkp_site_name_wrapper img {
    display: block;
    max-width: 100%;
    height: auto;
}
.pkp_site_name_wrapper::after {
    content: '';
    position: absolute;
    top: 0;
    left: -150%; 
    width: 60%;
    height: 100%;
    background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.25) 50%, rgba(255, 255, 255, 0) 100%);
    transform: skewX(-25deg);
    animation: destelloLento 8s infinite ease-in-out;
}
@keyframes destelloLento {
    0% { left: -150%; }
    37.5% { left: 150%; }
    100% { left: 150%; }
}

/* ==========================================================================
   5. LISTADO DE ARTÍCULOS (Efecto de Marco Sombreado / Tarjetas)
   ========================================================================= */
.obj_article_summary {
    background-color: #ffffff !important; /* Fondo blanco para contrastar */
    border: 1px solid var(--color-bordes-sutiles); /* Borde sutil */
    border-radius: 8px; /* Esquinas redondeadas elegantes */
    padding: 30px !important; /* Espacio interno para que respire el texto */
    margin-bottom: 25px !important; /* Espacio entre una tarjeta y otra */
    
    /* El sombreado suave */
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03); 
    
    /* Transición suave para el efecto de movimiento */
    transition: transform 0.3s ease, box-shadow 0.3s ease; 
}

/* Efecto al pasar el cursor sobre el artículo */
.obj_article_summary:hover {
    transform: translateY(-3px); /* Eleva la tarjeta ligeramente */
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.08), 0 4px 6px -2px rgba(0, 0, 0, 0.04); /* Sombra más profunda */
}

/* Título del artículo dentro del marco */
.obj_article_summary .title a {
    font-family: var(--fuente-limpia);
    font-size: 1.4rem;
    color: var(--color-texto-principal); 
    font-weight: 600;
    line-height: 1.3;
}
.obj_article_summary .title a:hover {
    color: var(--color-dorado); 
    text-decoration: none;
}

/* Autores del artículo */
.obj_article_summary .authors {
    color: var(--color-texto-mutado);
    font-size: 0.95rem;
    margin-top: 10px;
    font-weight: 500;
}

/* Botón de PDF minimalista */
.obj_galley_link {
    background-color: transparent !important;
    color: var(--color-dorado) !important;
    border: 1px solid var(--color-dorado) !important; 
    border-radius: 4px;
    padding: 6px 16px !important;
    font-size: 0.85rem;
    font-weight: 600;
    text-transform: uppercase;
    transition: all 0.3s ease;
    display: inline-block;
    margin-top: 15px;
}
.obj_galley_link:hover {
    background-color: var(--color-dorado) !important; 
    color: #ffffff !important;
    text-decoration: none !important;
}

/* ==========================================================================
   6. BARRA LATERAL (Sidebar limpia)
   ========================================================================= */
.pkp_structure_sidebar {
    background: transparent;
    border: none;
    padding-left: 20px;
}
.pkp_structure_sidebar .block {
    background-color: #ffffff;
    border: 1px solid var(--color-bordes-sutiles);
    border-radius: 8px;
    padding: 20px;
    margin-bottom: 20px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.02);
}
.pkp_structure_sidebar .title {
    font-size: 0.95rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--color-texto-principal);
    border-bottom: 2px solid var(--color-dorado);
    padding-bottom: 5px;
    margin-bottom: 15px;
}

/* ==========================================================================
   7. ÁRBOLQESTIONAL 2.0 — BLOQUE DE REDES SOCIALES
   Prueba 1: afecta únicamente al bloque personalizado "redessociales"
   ========================================================================== */

#customblock-redessociales {
    background-color: #ffffff;
    border: 1px solid var(--color-bordes-sutiles);
    border-radius: 8px;
    padding: 20px;
    margin-bottom: 20px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.03);
}

/* OJS puede generar un encabezado propio aunque esté vacío.
   Lo ocultamos porque el título visual está dentro de nuestro HTML. */
#customblock-redessociales > .title {
    display: none;
}

#customblock-redessociales .content {
    margin: 0;
    padding: 0;
}

#customblock-redessociales .aq-social-title {
    margin: 0 0 18px 0;
    padding: 0 0 7px 0;
    border-bottom: 2px solid var(--color-dorado);
    color: var(--color-texto-principal);
    font-family: var(--fuente-limpia);
    font-size: 0.95rem;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: 1px;
    text-transform: uppercase;
}

#customblock-redessociales .aq-social-icons {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}

#customblock-redessociales .aq-social-link {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    margin: 0;
    padding: 0;

    background-color: #111111;
    border: 1px solid var(--color-dorado);
    border-radius: 50%;

    color: var(--color-dorado) !important;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 15px;
    font-weight: 700;
    line-height: 1;

    text-align: center;
    text-decoration: none !important;

    transition:
        transform 0.2s ease,
        background-color 0.2s ease,
        border-color 0.2s ease,
        color 0.2s ease,
        box-shadow 0.2s ease;
}

#customblock-redessociales .aq-social-link:hover,
#customblock-redessociales .aq-social-link:focus {
    background-color: var(--color-dorado);
    border-color: var(--color-dorado);
    color: #111111 !important;
    text-decoration: none !important;
    transform: translateY(-3px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.12);
    outline: none;
}

#customblock-redessociales .aq-social-link:focus-visible {
    outline: 2px solid #2f7d32;
    outline-offset: 3px;
}

/* Ajuste para pantallas pequeñas */
@media (max-width: 767px) {
    #customblock-redessociales {
        padding: 16px;
    }

    #customblock-redessociales .aq-social-icons {
        gap: 8px;
    }

    #customblock-redessociales .aq-social-link {
        width: 34px;
        height: 34px;
        font-size: 14px;
    }
}

/* ==========================================================================
   8. ÁRBOLQESTIONAL 2.0 — SISTEMA VISUAL DE LA BARRA LATERAL
   Prueba 2: unifica los módulos nativos de OJS como tarjetas.
   No modifica la estructura ni la navegación de los bloques.
   ========================================================================== */

/* Contenedor lateral */
.pkp_structure_sidebar {
    padding-left: 24px;
}

/* Tarjetas para los módulos nativos y personalizados.
   Se excluye redesSociales porque ya tiene su tratamiento específico. */
.pkp_structure_sidebar .pkp_block:not(#customblock-redessociales) {
    box-sizing: border-box;
    background-color: #ffffff;
    border: 1px solid var(--color-bordes-sutiles);
    border-radius: 8px;
    padding: 20px;
    margin-bottom: 20px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.03);
}

/* Encabezados de los módulos */
.pkp_structure_sidebar .pkp_block:not(#customblock-redessociales) > .title,
.pkp_structure_sidebar .pkp_block:not(#customblock-redessociales) h2.title {
    display: block;
    margin: 0 0 15px 0;
    padding: 0 0 7px 0;
    border-bottom: 2px solid var(--color-dorado);
    color: var(--color-texto-principal);
    font-family: var(--fuente-limpia);
    font-size: 0.95rem;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: 1px;
    text-transform: uppercase;
}

/* Contenido interior */
.pkp_structure_sidebar .pkp_block .content {
    margin: 0;
    padding: 0;
    color: var(--color-texto-principal);
    font-size: 0.92rem;
    line-height: 1.55;
}

/* Listas de navegación e información */
.pkp_structure_sidebar .pkp_block ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.pkp_structure_sidebar .pkp_block li {
    margin: 0;
    padding: 0;
    border-bottom: 1px solid #f0f0f0;
}

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

.pkp_structure_sidebar .pkp_block li a {
    position: relative;
    display: block;
    padding: 8px 4px 8px 14px;
    color: #6f5a16;
    font-size: 0.9rem;
    line-height: 1.4;
    text-decoration: none;
    transition:
        color 0.2s ease,
        padding-left 0.2s ease,
        background-color 0.2s ease;
}

.pkp_structure_sidebar .pkp_block li a::before {
    content: "›";
    position: absolute;
    left: 2px;
    top: 7px;
    color: var(--color-dorado);
    font-weight: 700;
}

.pkp_structure_sidebar .pkp_block li a:hover,
.pkp_structure_sidebar .pkp_block li a:focus {
    color: var(--color-texto-principal);
    padding-left: 18px;
    background-color: #fcfaf3;
    text-decoration: none;
}

/* Botones y enlaces de acción del sidebar */
.pkp_structure_sidebar .pkp_block .block_make_submission_link,
.pkp_structure_sidebar .pkp_block a.block_make_submission_link {
    display: block;
    box-sizing: border-box;
    width: 100%;
    margin: 0;
    padding: 9px 12px;
    background-color: #111111;
    border: 1px solid var(--color-dorado);
    border-radius: 5px;
    color: var(--color-dorado) !important;
    font-size: 0.86rem;
    font-weight: 700;
    text-align: center;
    text-decoration: none !important;
    transition:
        background-color 0.2s ease,
        color 0.2s ease,
        transform 0.2s ease;
}

.pkp_structure_sidebar .pkp_block .block_make_submission_link:hover,
.pkp_structure_sidebar .pkp_block a.block_make_submission_link:hover {
    background-color: var(--color-dorado);
    color: #111111 !important;
    transform: translateY(-2px);
}

/* Selector/cambio de idioma: separación y legibilidad */
.pkp_structure_sidebar .block_language .content a {
    display: block;
    padding: 6px 4px;
    color: #6f5a16;
    text-decoration: none;
}

.pkp_structure_sidebar .block_language .content a:hover {
    color: var(--color-texto-principal);
    text-decoration: none;
}

/* RSS/Atom: evita que iconos o enlaces queden demasiado juntos */
.pkp_structure_sidebar .block_web_feed .content,
.pkp_structure_sidebar .block_web_feed ul {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

/* El bloque de redes conserva exactamente el diseño de la Prueba 1 */
#customblock-redessociales {
    margin-bottom: 20px;
}

/* Responsive: en móvil el sidebar pierde sangría lateral y las tarjetas respiran */
@media (max-width: 767px) {
    .pkp_structure_sidebar {
        padding-left: 0;
    }

    .pkp_structure_sidebar .pkp_block:not(#customblock-redessociales) {
        padding: 16px;
        margin-bottom: 16px;
    }
}

/* ==========================================================================
   9. ÁRBOLQESTIONAL 2.0 — ARTÍCULOS MÁS LEÍDOS
   Prueba 3: diseño aislado del bloque personalizado articulosMasLeidos.
   ========================================================================== */

#customblock-articulosmasleidos {
    box-sizing: border-box;
    background: #ffffff;
    border: 1px solid var(--color-bordes-sutiles);
    border-radius: 8px;
    padding: 20px;
    margin-bottom: 20px;
    box-shadow: 0 2px 4px rgba(0,0,0,.03);
}

#customblock-articulosmasleidos > .title { display: none; }

#customblock-articulosmasleidos .content {
    margin: 0;
    padding: 0;
}

#customblock-articulosmasleidos ol,
#customblock-articulosmasleidos ul {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

#customblock-articulosmasleidos li {
    margin: 0 !important;
    padding: 11px 0 !important;
    border-bottom: 1px solid #eeeeee !important;
    list-style: none !important;
}

#customblock-articulosmasleidos li::marker { content: ""; }
#customblock-articulosmasleidos li:last-child { border-bottom: 0 !important; }

#customblock-articulosmasleidos .aq-mostread-title {
    margin: 0 0 5px 0;
    padding: 0 0 7px 0;
    border-bottom: 2px solid var(--color-dorado);
    color: var(--color-texto-principal);
    font-family: var(--fuente-limpia);
    font-size: .95rem;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: 1px;
    text-transform: uppercase;
}

#customblock-articulosmasleidos .aq-mostread-period {
    margin: 7px 0 5px 0;
    color: #777777;
    font-size: .78rem;
    line-height: 1.35;
    font-style: italic;
}

#customblock-articulosmasleidos .aq-mostread-list li a {
    display: block !important;
    position: static !important;
    padding: 0 !important;
    margin: 0 0 5px 0 !important;
    background: transparent !important;
    color: #6f5a16 !important;
    font-size: .84rem;
    font-weight: 600;
    line-height: 1.38;
    text-decoration: none !important;
    transition: color .2s ease;
}

#customblock-articulosmasleidos .aq-mostread-list li a::before {
    content: none !important;
    display: none !important;
}

#customblock-articulosmasleidos .aq-mostread-list li a:hover,
#customblock-articulosmasleidos .aq-mostread-list li a:focus {
    padding: 0 !important;
    background: transparent !important;
    color: #2f7d32 !important;
    text-decoration: none !important;
}

#customblock-articulosmasleidos .aq-mostread-temporary {
    display: block;
    margin: 0 0 5px 0;
    color: var(--color-texto-principal);
    font-size: .84rem;
    font-weight: 600;
    line-height: 1.38;
}

#customblock-articulosmasleidos .aq-mostread-views {
    display: block;
    margin-top: 4px;
    color: #666666;
    font-size: .76rem;
    font-weight: 400;
    line-height: 1.3;
}

#customblock-articulosmasleidos .aq-mostread-note {
    margin-top: 10px;
    padding-top: 9px;
    border-top: 1px solid #eeeeee;
    color: #888888;
    font-size: .72rem;
    line-height: 1.35;
    font-style: italic;
}

@media (max-width: 767px) {
    #customblock-articulosmasleidos { padding: 16px; }

    #customblock-articulosmasleidos .aq-mostread-list li a,
    #customblock-articulosmasleidos .aq-mostread-temporary {
        font-size: .88rem;
    }
}

/* ==========================================================================
   10. ÁRBOLQESTIONAL 2.0 — NUBE DE PALABRAS CLAVE
   Prueba 4: bloque personalizado palabrasclave.
   ========================================================================== */

#customblock-palabrasclave {
    box-sizing: border-box;
    background: #ffffff;
    border: 1px solid var(--color-bordes-sutiles);
    border-radius: 8px;
    padding: 20px;
    margin-bottom: 20px;
    box-shadow: 0 2px 4px rgba(0,0,0,.03);
}

#customblock-palabrasclave > .title {
    display: none;
}

#customblock-palabrasclave .content {
    margin: 0;
    padding: 0;
}

#customblock-palabrasclave .aq-keywords-title {
    margin: 0 0 15px 0;
    padding: 0 0 7px 0;
    border-bottom: 2px solid var(--color-dorado);
    color: var(--color-texto-principal);
    font-family: var(--fuente-limpia);
    font-size: .95rem;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: 1px;
    text-transform: uppercase;
}

#customblock-palabrasclave .aq-keywords-cloud {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: center;
    gap: 5px 9px;
    padding: 4px 0 2px;
    text-align: center;
    line-height: 1.15;
}

#customblock-palabrasclave .aq-kw {
    display: inline-block;
    cursor: default;
    white-space: normal;
    transition: transform .18s ease, color .18s ease;
}

/* Alternancia cromática sobria */
#customblock-palabrasclave .aq-kw:nth-child(4n+1) { color: #6f5a16; }
#customblock-palabrasclave .aq-kw:nth-child(4n+2) { color: #2f7d32; }
#customblock-palabrasclave .aq-kw:nth-child(4n+3) { color: #1a1a1a; }
#customblock-palabrasclave .aq-kw:nth-child(4n)   { color: #777777; }

/* Jerarquía visual */
#customblock-palabrasclave .aq-kw-sm {
    font-size: .72rem;
    font-weight: 400;
}

#customblock-palabrasclave .aq-kw-md {
    font-size: .86rem;
    font-weight: 500;
}

#customblock-palabrasclave .aq-kw-lg {
    font-size: 1rem;
    font-weight: 600;
}

#customblock-palabrasclave .aq-kw-xl {
    font-size: 1.18rem;
    font-weight: 700;
}

/* Interacción discreta */
#customblock-palabrasclave .aq-kw:hover {
    color: var(--color-dorado) !important;
    transform: translateY(-2px) scale(1.04);
}

/* Ajuste deliberado para palabras largas */
#customblock-palabrasclave .aq-kw:nth-child(9),
#customblock-palabrasclave .aq-kw:nth-child(11),
#customblock-palabrasclave .aq-kw:nth-child(15),
#customblock-palabrasclave .aq-kw:nth-child(16) {
    letter-spacing: -.15px;
}

@media (max-width: 767px) {
    #customblock-palabrasclave {
        padding: 16px;
    }

    #customblock-palabrasclave .aq-keywords-cloud {
        gap: 6px 10px;
    }
}

/* ==========================================================================
   11. ÁRBOLQESTIONAL 2.0 — ENCABEZADO EDITORIAL
   Prueba 5E — Acceso Abierto + licencia
   Base: Prueba 4 estable.
   ========================================================================== */

#headerNavigationContainer .pkp_site_name_wrapper {
    position: relative;
}

/* ESCRITORIO */
@media (min-width: 992px) {

    /*
     * Usamos un único pseudoelemento y un salto de línea.
     * Evitamos dos capas superpuestas y cualquier fondo/degradado.
     */
    #headerNavigationContainer .pkp_site_name_wrapper::before {
        content: "ACCESO ABIERTO\A CC BY-NC 4.0";
        white-space: pre-line;

        position: absolute;
        z-index: 20;
        top: 48px;
        right: 72px;

        margin: 0;
        padding: 0;

        width: 145px;
        height: auto;

        background: none !important;
        background-image: none !important;
        border: 0 !important;
        box-shadow: none !important;

        color: #d4af37;
        font-family: var(--fuente-limpia);
        font-size: .76rem;
        font-style: normal;
        font-weight: 700;
        line-height: 1.65;
        letter-spacing: 1.15px;
        text-align: right;
        text-decoration: none;
    }

    /* Se mantiene completamente libre el segundo pseudoelemento */
    #headerNavigationContainer .pkp_site_name_wrapper::after {
        content: none !important;
        display: none !important;
    }
}

/* TABLET Y MÓVIL */
@media (max-width: 991px) {
    #headerNavigationContainer .pkp_site_name_wrapper::before,
    #headerNavigationContainer .pkp_site_name_wrapper::after {
        content: none !important;
        display: none !important;
    }
}

