@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap');

/* OJS_STYLESHEET_BUILD_JOURNAL_V6 — puede borrarse al minificar */
html {
    --pyc-ojs-journal-sheet-v6: 20260427;
}

/* =========================================================================
   Journal style sheet v.6 — Forum Empresarial / Punto y Coma
   Base: v.5.1_default + bloque final «V.6» (TOC número, fichas, archivo).

   ALERTA (orden en ficha): el prompt pide flex order sobre .meta .authors
   frente a h4; en el DOM real de OJS el orden es .cover? → .title → .meta
   (authors, pages, published) → .galleys_links. Aquí se usa grid en
   .obj_article_summary + display:contents en .meta + filas explícitas y
   :has(.cover) / :has(.published) para aproximar el layout sin tocar .tpl.

   1 — Header (topbar, logo, navegación)
   2 — Layout: sidebar + bloque idioma
   3 — Article view + páginas (main, tipografía, migas, botones, portada, archivo)
   4 — Manual de marca (homepage_about, TOC, about, lista artículos, archivo)
   5 — Footer
   6 — Notificaciones (cmp_notification)
   7 — Formularios, errores, tablas, búsqueda, skip links, foco nav
   8 — V.6 — Número (obj_issue_toc): categorías, fichas, CTA archivo (al final)
   ========================================================================= */

/* -----------------------------------------
   CABECERA PRINCIPAL (Topbar)
----------------------------------------- */
.pkp_structure_head {
    background-color: #f2bb4a !important;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    padding: 2px 0;
    position: relative;
}

/* Contenedor principal en columna y todo centrado */
.pkp_head_wrapper {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    width: 100% !important;
    max-width: 100% !important;
    padding-top: 24px !important;
    padding-bottom: 4px !important;
    position: relative;
}

/* -----------------------------------------
   LOGO / TÍTULO DEL SITIO (centrado)
----------------------------------------- */
.pkp_site_name_wrapper {
    width: auto !important;
    max-width: none !important;
    margin: 0 auto !important;
    padding: 0 !important;
    float: none !important;
    text-align: center !important;
    height: auto !important;
}

.pkp_site_name {
    position: static !important;
    left: auto !important;
    right: auto !important;
    margin: 0 auto !important;
    padding: 0 !important;
    text-align: center !important;
    overflow: visible !important;
    white-space: normal !important;
    width: auto !important;
}

.pkp_site_name > a {
    display: inline-block !important;
    padding: 4px 0 !important;
}

.pkp_site_name .is_img {
    display: inline-block !important;
    margin: 0 auto !important;
}

/* Logo enlace (class is_img): sin borde/outline negro al clic o foco; ligero zoom al hover (sensación botón) */
.pkp_structure_head .pkp_site_name > a.is_img,
.pkp_structure_head .pkp_site_name > a.is_img:visited {
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    transition: transform 0.2s ease;
    transform: scale(1);
    transform-origin: center center;
}

.pkp_structure_head .pkp_site_name > a.is_img:hover {
    transform: scale(1.045);
}

/* Clic / foco ratón: sin borde negro del navegador. Teclado: anillo vino discreto. */
.pkp_structure_head .pkp_site_name > a.is_img:focus {
    outline: none !important;
    border: none !important;
    box-shadow: none !important;
}

.pkp_structure_head .pkp_site_name > a.is_img:focus-visible {
    outline: 2px solid rgba(164, 30, 55, 0.45) !important;
    outline-offset: 3px;
    border: none !important;
    box-shadow: none !important;
}

.pkp_structure_head .pkp_site_name > a.is_img:active {
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
}

.pkp_structure_head .pkp_site_name > a.is_img img {
    border: none !important;
    outline: none !important;
    vertical-align: middle;
}

/* Fila del menú principal (flex + márgenes 25px): solo escritorio — ver @media (min-width: 992px) */

/* Separación amplia entre enlaces principales (estilo; márgenes anchos solo en ≥992px) */
.pkp_navigation_primary > li > a {
    display: inline-block !important;
    margin: 0 !important;
    padding: 8px 14px !important;
    background-color: transparent !important;
    color: #1a1510 !important;
    border: 1px solid transparent;
    border-radius: 6px !important;
    font-family: 'Montserrat', system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 15px;
    letter-spacing: 0.02em;
    text-decoration: none !important;
    transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}

.pkp_navigation_primary > li > a:hover,
.pkp_navigation_primary > li > a:focus {
    background-color: #fdf0c2 !important;
    border-color: rgba(0, 0, 0, 0.08);
    color: #000 !important;
}

/* -----------------------------------------
   SUB-MENÚS (la cajita blanca que cae)
----------------------------------------- */
.pkp_navigation_primary ul {
    background-color: #ffffff !important;
    border: none;
    border-radius: 6px;
    box-shadow: 0 8px 15px rgba(0, 0, 0, 0.15);
    padding: 8px 0;
}

/* Posición absoluta de submenús solo en escritorio: ver @media (min-width: 992px) */

.pkp_navigation_primary ul a {
    color: #444 !important;
    background-color: transparent !important;
    border: none !important;
    margin: 0 !important;
    font-family: 'Montserrat', system-ui, -apple-system, sans-serif;
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 0.015em;
    display: block;
    padding: 10px 20px !important;
    border-radius: 0 !important;
}

.pkp_navigation_primary ul a:hover {
    background-color: rgba(242, 187, 74, 0.18) !important;
    color: #000 !important;
    text-decoration: none;
}

/* Solo escritorio (≥992px): nav en fila, submenús absolutos, usuario en esquina — no aplicar en móvil o anulan el menú hamburguesa */
@media (min-width: 992px) {
    .pkp_site_nav_menu {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        align-items: center !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 auto !important;
        padding: 6px 16px !important;
        float: none !important;
        background: transparent !important;
    }

    .pkp_navigation_primary_wrapper {
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        float: none !important;
    }

    .pkp_navigation_primary_row {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        align-items: center !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 auto !important;
        padding: 6px 16px !important;
        float: none !important;
        background: transparent !important;
    }

    .pkp_navigation_primary {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        align-items: center !important;
        list-style: none !important;
        margin: 0 !important;
        padding: 0 !important;
        max-width: none !important;
        width: auto !important;
        text-align: center !important;
        float: none !important;
    }

    .pkp_navigation_primary > li {
        position: relative;
        display: inline-flex !important;
        align-items: center;
        margin: 0 !important;
        padding: 0 !important;
        float: none !important;
    }

    .pkp_navigation_primary > li > a {
        margin: 0 25px !important;
    }

    .pkp_navigation_primary > li > ul {
        position: absolute !important;
        top: 100% !important;
        left: 0 !important;
        right: auto !important;
        margin-top: -3px !important;
        transform: none !important;
        z-index: 120 !important;
    }

    .pkp_navigation_primary > li > ul::before {
        content: '';
        position: absolute;
        top: -32px;
        left: 0;
        right: 0;
        height: 32px;
        background: transparent;
        pointer-events: auto;
    }

    .pkp_navigation_user_wrapper {
        position: absolute !important;
        top: 4px !important;
        right: 50px !important;
        left: auto !important;
        bottom: auto !important;
        transform: none !important;
        display: flex !important;
        flex-direction: row !important;
        justify-content: flex-end !important;
        align-items: center !important;
        width: max-content !important;
        max-width: none !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        text-align: right !important;
        background: transparent !important;
        border: none !important;
        z-index: 100 !important;
        float: none !important;
    }

    .pkp_navigation_user_wrapper > * {
        width: auto !important;
        max-width: none !important;
        flex: 0 0 auto !important;
    }

    .pkp_navigation_user {
        display: flex !important;
        flex-direction: row !important;
        justify-content: flex-end !important;
        align-items: center !important;
        list-style: none !important;
        margin: 0 !important;
        padding: 0 !important;
        border: none !important;
        width: max-content !important;
        max-width: none !important;
    }

    .pkp_navigation_user > li {
        position: relative !important;
        display: inline-flex !important;
        align-items: center;
        margin: 0 !important;
        padding: 0 !important;
        flex: 0 0 auto !important;
        width: auto !important;
    }

    .pkp_navigation_user > li > ul {
        position: absolute !important;
        top: 100% !important;
        right: 0 !important;
        left: auto !important;
        margin-top: -3px !important;
        transform: none !important;
        z-index: 200 !important;
    }

    .pkp_navigation_user > li > ul::before {
        content: '';
        position: absolute;
        top: -32px;
        left: 0;
        right: 0;
        height: 32px;
        background: transparent;
        pointer-events: auto;
    }
}

/* -----------------------------------------
   BÚSQUEDA (integrada al final del menú, misma línea)
----------------------------------------- */
.pkp_navigation_search_wrapper {
    float: none !important;
    clear: none !important;
    display: inline-flex !important;
    align-items: center;
    margin: 0 0 0 25px !important;
    padding: 0 !important;
    width: auto !important;
    max-width: none !important;
    align-self: center;
    border: none !important;
    border-top: none !important;
    background: transparent !important;
}

.pkp_navigation_search_wrapper a {
    display: inline-flex !important;
    align-items: center;
    gap: 6px;
    background-color: transparent !important;
    color: #1a1510 !important;
    border: 1px solid transparent !important;
    border-radius: 6px !important;
    padding: 8px 14px !important;
    margin: 0 !important;
    font-family: 'Montserrat', system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 14px;
    letter-spacing: 0.02em;
    text-decoration: none !important;
    transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}

.pkp_navigation_search_wrapper a:hover,
.pkp_navigation_search_wrapper a:focus {
    background-color: #fdf0c2 !important;
    border-color: rgba(0, 0, 0, 0.08) !important;
    color: #000 !important;
}

/* Posición del menú usuario (esquina) solo en escritorio: ver @media (min-width: 992px) */

/* Botones de la fila superior (Register, Login, notificaciones, etc.): misma dinámica que el menú principal */
.pkp_navigation_user > li > a,
.pkp_navigation_user > li > button {
    font-family: 'Montserrat', system-ui, -apple-system, sans-serif;
    font-size: 13px;
    font-weight: 400;
    letter-spacing: 0.01em;
    color: #1a1510 !important;
    display: inline-flex !important;
    align-items: center;
    gap: 4px;
    padding: 8px 12px !important;
    margin: 0 !important;
    background-color: transparent !important;
    border: 1px solid transparent !important;
    border-radius: 6px !important;
    text-decoration: none !important;
    cursor: pointer;
    box-shadow: none !important;
    transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}

.pkp_navigation_user > li > a:hover,
.pkp_navigation_user > li > a:focus,
.pkp_navigation_user > li > button:hover,
.pkp_navigation_user > li > button:focus {
    background-color: #fdf0c2 !important;
    border-color: rgba(0, 0, 0, 0.08) !important;
    color: #000 !important;
    text-decoration: none;
}

/* Enlaces dentro de los paneles desplegables: hover suave (no chip de botón) */
.pkp_navigation_user ul a {
    font-family: 'Montserrat', system-ui, -apple-system, sans-serif;
    font-size: 13px;
    font-weight: 400;
    letter-spacing: 0.01em;
    color: #444 !important;
    padding: 8px 14px !important;
    border: none !important;
    border-radius: 4px !important;
    text-decoration: none !important;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.pkp_navigation_user ul a:hover,
.pkp_navigation_user ul a:focus {
    background-color: rgba(242, 187, 74, 0.18) !important;
    color: #000 !important;
    text-decoration: none;
}

/* =========================================================
   PUNTO Y COMA — v.4 overrides SOLO tablet / móvil (heredado de v.2)
   Fecha: 2026-04-25 (corrección DOM 2026-04-25)
   Las reglas anteriores = mismo comportamiento que v.1 en escritorio.
   Subir este archivo como hoja de estilos activa en OJS (sustituye v.2).

   DOM real OJS 3 (default): .pkp_navigation_user_wrapper es hijo de
   .pkp_site_nav_menu, NO de .pkp_head_wrapper. Por eso los selectores
   .pkp_head_wrapper > .pkp_navigation_user_wrapper no aplicaban nunca.
   .pkp_site_nav_toggle vive dentro de .pkp_site_name_wrapper junto al logo.
   El tema PKP usa .pkp_site_nav_menu como panel position:absolute;top:100%.
   ========================================================= */

/* --- ≤991px: alinear con tema móvil PKP (panel bajo cabecera, lista vertical) --- */
@media (max-width: 991px) {
    .pkp_structure_head,
    .pkp_head_wrapper {
        position: relative !important;
    }

    .pkp_head_wrapper {
        padding-top: 6px !important;
        padding-bottom: 4px !important;
        align-items: stretch !important;
    }

    /* Fila superior: hamburguesa + logo (PKP coloca el toggle junto al nombre) */
    .pkp_site_name_wrapper {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 6px;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        min-height: 48px;
        box-sizing: border-box !important;
        padding: 4px max(12px, env(safe-area-inset-right)) 4px max(12px, env(safe-area-inset-left)) !important;
    }

    .pkp_site_nav_toggle,
    button.pkp_site_nav_toggle {
        flex: 0 0 auto !important;
        align-self: center !important;
        z-index: 150 !important;
        margin-top: 2px !important;
        margin-left: 6px !important;
    }

    .pkp_site_name {
        position: relative !important;
        left: auto !important;
        right: auto !important;
        flex: 1 1 auto !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 4px !important;
        overflow: hidden !important;
        text-align: center !important;
    }

    .pkp_site_name .is_img img {
        max-width: 100% !important;
        width: auto !important;
        height: auto !important;
        max-height: 52px !important;
        object-fit: contain;
    }

    /* Panel bajo la franja: NO forzar display (el tema usa none hasta abrir el hamburguesa) */
    .pkp_site_nav_menu {
        position: absolute !important;
        top: 100% !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        padding: 8px max(12px, env(safe-area-inset-right)) 12px max(12px, env(safe-area-inset-left)) !important;
        margin: 0 !important;
        z-index: 9998 !important;
        overflow-x: visible !important;
        overflow-y: visible !important;
    }

    .pkp_navigation_primary_row {
        display: block !important;
        width: 100% !important;
        overflow: visible !important;
        padding: 0 !important;
        flex-wrap: unset !important;
        justify-content: unset !important;
    }

    .pkp_navigation_primary_wrapper {
        display: block !important;
        width: 100% !important;
        justify-content: unset !important;
    }

    .pkp_navigation_primary {
        display: flex !important;
        flex-direction: column !important;
        flex-wrap: nowrap !important;
        align-items: stretch !important;
        justify-content: flex-start !important;
        width: 100% !important;
        max-width: 100% !important;
        text-align: left !important;
    }

    .pkp_navigation_primary > li {
        width: 100% !important;
        max-width: 100% !important;
        display: block !important;
        position: relative !important;
    }

    .pkp_navigation_primary > li > a {
        margin: 0 !important;
        display: block !important;
        padding: 10px 12px !important;
    }

    /* Submenús en flujo (evita caja flotante); mayor especificidad que reglas del tema */
    #headerNavigationContainer .pkp_site_nav_menu .pkp_navigation_primary > li > ul {
        position: static !important;
        top: auto !important;
        left: auto !important;
        right: auto !important;
        transform: none !important;
        margin-top: 0 !important;
        margin-left: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08) !important;
    }

    #headerNavigationContainer .pkp_site_nav_menu .pkp_navigation_primary > li > ul::before {
        display: none !important;
        content: none !important;
    }

    /* Usuario: selector correcto (dentro de .pkp_site_nav_menu) */
    .pkp_site_nav_menu .pkp_navigation_user_wrapper {
        position: static !important;
        top: auto !important;
        right: auto !important;
        left: auto !important;
        bottom: auto !important;
        transform: none !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 14px 0 0 0 !important;
        padding: 12px 0 0 0 !important;
        border-top: 1px solid rgba(0, 0, 0, 0.12) !important;
        justify-content: center !important;
        text-align: center !important;
        z-index: auto !important;
        float: none !important;
    }

    .pkp_navigation_user {
        width: 100% !important;
        max-width: 100% !important;
        justify-content: center !important;
        flex-wrap: wrap !important;
    }

    .pkp_navigation_user > li > ul {
        position: static !important;
        top: auto !important;
        right: auto !important;
        left: auto !important;
        transform: none !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-top: 6px !important;
    }

    .pkp_navigation_user > li > ul::before {
        display: none !important;
        content: none !important;
    }

    .pkp_navigation_search_wrapper {
        margin: 12px 0 0 0 !important;
        padding: 12px 0 0 0 !important;
        border-top: 1px solid rgba(0, 0, 0, 0.12) !important;
        display: block !important;
        width: 100% !important;
    }
}

/* --- ≤767px: refinar paddings y tipografía --- */
@media (max-width: 767px) {
    .pkp_structure_head {
        padding-left: max(0px, env(safe-area-inset-left));
        padding-right: max(0px, env(safe-area-inset-right));
    }

    .pkp_navigation_primary > li > a {
        font-size: 14px !important;
        padding: 12px 10px !important;
    }

    .pkp_site_name .is_img img {
        max-height: 48px !important;
    }
}

/* =========================================================================
   SECCIÓN 2 — SIDEBAR + BLOQUE DE IDIOMA (layout)
   El idioma sigue en el DOM bajo el sidebar; position:fixed lo pinta sobre el VIEWPORT,
   encima de la franja .pkp_structure_head (topbar), sin ser hijo del header en el HTML.
   ========================================================================= */

.pkp_block.block_language {
    position: fixed;
    top: max(8px, env(safe-area-inset-top));
    left: max(32px, calc(env(safe-area-inset-left) + 20px));
    right: auto;
    z-index: 600;
    margin: 0 !important;
    margin-left: 10px !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    max-width: min(50vw, 240px);
    pointer-events: auto;
}

.pkp_block.block_language .title {
    display: none !important;
}

.pkp_block.block_language .content {
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

.pkp_block.block_language ul {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    text-align: left;
}

.pkp_block.block_language ul li {
    display: inline-block;
    margin-left: 15px;
    list-style: none !important;
}

.pkp_block.block_language ul li:first-child {
    margin-left: 0;
}

.pkp_block.block_language a {
    font-family: 'Montserrat', system-ui, -apple-system, sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: #222 !important;
    text-decoration: none !important;
}

.pkp_block.block_language a:hover,
.pkp_block.block_language a:focus {
    color: #000 !important;
    text-decoration: underline !important;
}

.pkp_block.block_language li.current a {
    font-weight: 700;
    text-decoration: underline !important;
}

/* --- Ancho sidebar + main (cualquier anidación habitual en temas PKP / Bootstrap) --- */
.pkp_structure_body {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

.pkp_structure_body > .pkp_structure_main {
    flex: 1 1 0% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* Sidebar: ancho duro (el tema suele imponer % vía .col-md-*) */
.pkp_structure_page .pkp_structure_sidebar,
.pkp_structure_body > .pkp_structure_sidebar,
.pkp_structure_body aside.pkp_structure_sidebar,
.pkp_structure_sidebar.left,
.pkp_structure_sidebar.right {
    flex: 0 0 200px !important;
    flex-basis: 200px !important;
    max-width: 200px !important;
    width: 200px !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}

.pkp_structure_sidebar[class*="col-"] {
    flex: 0 0 200px !important;
    flex-basis: 200px !important;
    max-width: 200px !important;
    width: 200px !important;
}

/* Fila interna: quitar grid del tema y forzar flex + ancho real */
.pkp_structure_body > .pkp_structure_content,
.pkp_structure_body > .row {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    grid-template-columns: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.pkp_structure_body > .pkp_structure_content > .pkp_structure_main,
.pkp_structure_body > .row > .pkp_structure_main,
.pkp_structure_body .pkp_structure_main {
    flex: 1 1 0% !important;
    min-width: 0 !important;
    max-width: none !important;
    box-sizing: border-box !important;
}

.pkp_structure_body > .pkp_structure_content > .pkp_structure_sidebar,
.pkp_structure_body > .pkp_structure_content > aside.pkp_structure_sidebar,
.pkp_structure_body > .row > .pkp_structure_sidebar,
.pkp_structure_body > .row > aside.pkp_structure_sidebar,
.pkp_structure_body .pkp_structure_sidebar {
    flex: 0 0 200px !important;
    flex-basis: 200px !important;
    max-width: 200px !important;
    width: 200px !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}

/* Si el único bloque del sidebar es el de idioma (ya visible fixed), colapsa la columna */
.pkp_structure_sidebar:has(> .pkp_block.block_language:only-child) {
    flex: 0 0 0 !important;
    flex-basis: 0 !important;
    max-width: 0 !important;
    width: 0 !important;
    min-width: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    overflow: visible;
}

/* Sidebar izquierdo: más estrecho y sin margen/padding derecho “grueso” (más sitio para main) */
.pkp_structure_page .pkp_structure_sidebar.left,
.pkp_structure_body .pkp_structure_sidebar.left,
.pkp_structure_body > .pkp_structure_content > .pkp_structure_sidebar.left,
.pkp_structure_body > .row > .pkp_structure_sidebar.left,
aside.pkp_structure_sidebar.left {
    flex: 0 0 120px !important;
    flex-basis: 120px !important;
    max-width: 120px !important;
    width: 120px !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    padding-right: 6px !important;
    padding-left: 6px !important;
}

.pkp_structure_sidebar.left[class*="col-"] {
    flex: 0 0 120px !important;
    flex-basis: 120px !important;
    max-width: 120px !important;
    width: 120px !important;
}

@media (max-width: 991px) {
    /* Idioma: debajo del panel nav desplegable; a la derecha del icono hamburguesa */
    .pkp_block.block_language {
        top: max(6px, env(safe-area-inset-top));
        left: max(58px, calc(env(safe-area-inset-left) + 12px));
        margin-left: 14px !important;
        max-width: min(55vw, 220px);
        z-index: 120;
    }

    .pkp_block.block_language a {
        font-size: 12px;
    }
}

@media (max-width: 767px) {
    .pkp_structure_page .pkp_structure_sidebar,
    .pkp_structure_body .pkp_structure_sidebar,
    .pkp_structure_sidebar[class*="col-"] {
        flex: 0 0 160px !important;
        flex-basis: 160px !important;
        max-width: 160px !important;
        width: 160px !important;
    }

    .pkp_structure_sidebar.left,
    .pkp_structure_sidebar.left[class*="col-"] {
        flex: 0 0 100px !important;
        flex-basis: 100px !important;
        max-width: 100px !important;
        width: 100px !important;
        margin-right: 0 !important;
        padding-right: 4px !important;
    }
}

/* =========================================================================
   SECCIÓN 3 — ARTICLE VIEW + PÁGINAS (contenido .pkp_structure_main)
   Artículo, migas, tipografía, botones/galleys (templates/frontend/objects, pages).
   No repetir reglas de cabecera (.pkp_structure_head) aquí.
   Color marca: #f2bb4a
   ========================================================================= */

/* Azo Sans (manual de marca): no está en Google Fonts; Adobe Fonts / @font-face.
   Mientras no se cargue, Montserrat (SECCIÓN 1, @import) hace de sustituto. */

/* Títulos de artículo (listados, ficha, plantillas page_title / article-details): siempre negro */
.pkp_structure_main .article-details-fulltitle,
.pkp_structure_main .article-details-heading,
.pkp_structure_main h1.page_title,
.pkp_structure_main .page.page_article h1,
.pkp_structure_main .obj_article_summary .title,
.pkp_structure_main .obj_article_summary .title a,
.pkp_structure_main .obj_issue_toc .obj_article_summary .title a,
.pkp_structure_main .obj_issue_toc .obj_article_summary .title a:link,
.pkp_structure_main .obj_issue_toc .obj_article_summary .title a:visited,
.pkp_structure_main .cmp_article_list .obj_article_summary .title a,
.pkp_structure_main .cmp_article_list .obj_article_summary .title a:visited,
.pkp_structure_main .page h1 {
    font-family: 'Azo Sans', 'Montserrat', system-ui, -apple-system, sans-serif;
    font-weight: 700;
    color: #000;
    letter-spacing: 0.01em;
}

/* Número (vista del issue): h1 identificación del número en negro */
body.pkp_page_issue .pkp_structure_main .page.page_issue > h1 {
    color: #000 !important;
}

.pkp_structure_main .page_index_journal .current_issue > h2 {
    color: #000 !important;
}

/* Páginas estáticas (p. ej. Sobre la revista): los <p> van en .page, no en .page .content */
.pkp_structure_main .article-details-abstract p,
.pkp_structure_main .article-details .html-content,
.pkp_structure_main .article-details .html-content p,
.pkp_structure_main .page .content,
.pkp_structure_main .page .content p,
.pkp_structure_main .page > p,
.pkp_structure_main .page p {
    font-family: Georgia, 'Times New Roman', Times, serif;
    font-size: 17.5px;
    line-height: 1.7;
    color: #222;
}

.pkp_structure_main .article-details-authors,
.pkp_structure_main .article-details-published,
.pkp_structure_main .article-details-dates,
.pkp_structure_main .article-details-keywords,
.pkp_structure_main .article-details .subtitle,
.pkp_structure_main .article-details .item {
    font-family: 'Montserrat', system-ui, -apple-system, sans-serif;
    font-size: 14px;
    color: #444;
}

/* Migas de pan (solo en columna principal) */
.pkp_structure_main .cmp_breadcrumbs {
    font-family: 'Montserrat', system-ui, -apple-system, sans-serif;
    font-size: 13px;
}

.pkp_structure_main .cmp_breadcrumbs a {
    color: #555 !important;
    text-decoration: none;
}

.pkp_structure_main .cmp_breadcrumbs a:hover,
.pkp_structure_main .cmp_breadcrumbs a:focus {
    color: #000 !important;
    text-decoration: none;
}

.pkp_structure_main .cmp_breadcrumbs .separator {
    color: #f2bb4a;
}

/* Contenedor principal: aire bajo topbar y contorno suave */
.pkp_structure_main {
    padding-top: 40px;
    border-left: 1px solid rgba(242, 187, 74, 0.2);
    border-right: 1px solid rgba(242, 187, 74, 0.2);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03);
    box-sizing: border-box;
}

/* Botones y galleys (PDF / descarga / número completo): amarillo marca #f2bb4a */
.pkp_structure_main .btn-primary,
.pkp_structure_main .article-details-galley a,
.pkp_structure_main .article-details-galleys a,
.pkp_structure_main a.obj_galley_link,
.pkp_structure_main .obj_galley_link,
.pkp_structure_main .galleys a.obj_galley_link,
.pkp_structure_main .galleys .obj_galley_link,
.pkp_structure_main .galleys .btn,
.pkp_structure_main .galleys .btn-primary,
.pkp_structure_main .obj_issue_toc .galleys .btn-primary,
.pkp_structure_main .obj_issue_toc .galleys a.obj_galley_link,
.pkp_structure_main .obj_issue_toc .galleys .obj_galley_link {
    background-color: #f2bb4a !important;
    color: #000 !important;
    border-color: rgba(0, 0, 0, 0.12) !important;
    font-family: 'Montserrat', system-ui, -apple-system, sans-serif;
    font-weight: 600;
    border-radius: 6px;
    text-decoration: none !important;
    text-transform: none;
    letter-spacing: normal;
}

.pkp_structure_main .btn-primary:hover,
.pkp_structure_main .btn-primary:focus,
.pkp_structure_main .article-details-galley a:hover,
.pkp_structure_main .article-details-galley a:focus,
.pkp_structure_main .article-details-galleys a:hover,
.pkp_structure_main .article-details-galleys a:focus,
.pkp_structure_main a.obj_galley_link:hover,
.pkp_structure_main a.obj_galley_link:focus,
.pkp_structure_main .obj_galley_link:hover,
.pkp_structure_main .obj_galley_link:focus,
.pkp_structure_main .galleys a.obj_galley_link:hover,
.pkp_structure_main .galleys a.obj_galley_link:focus,
.pkp_structure_main .galleys .obj_galley_link:hover,
.pkp_structure_main .galleys .obj_galley_link:focus,
.pkp_structure_main .galleys .btn:hover,
.pkp_structure_main .galleys .btn-primary:hover,
.pkp_structure_main .galleys .btn-primary:focus,
.pkp_structure_main .obj_issue_toc .galleys .btn-primary:hover,
.pkp_structure_main .obj_issue_toc .galleys .btn-primary:focus,
.pkp_structure_main .obj_issue_toc .galleys a.obj_galley_link:hover,
.pkp_structure_main .obj_issue_toc .galleys a.obj_galley_link:focus,
.pkp_structure_main .obj_issue_toc .galleys .obj_galley_link:hover,
.pkp_structure_main .obj_issue_toc .galleys .obj_galley_link:focus {
    background-color: #e5ad42 !important;
    color: #000 !important;
    border-color: rgba(0, 0, 0, 0.18) !important;
}

/* Portada: “Ver todos los números” — ghost / carbón (#333), sin flecha PKP. */
.pkp_structure_main .page_index_journal .current_issue .read_more {
    position: relative;
    display: block;
    width: fit-content;
    max-width: 100%;
    margin-inline: auto;
    box-sizing: border-box;
    text-align: center;
    font-family: 'Montserrat', system-ui, -apple-system, sans-serif;
    font-weight: 600;
    font-size: 0.9375rem;
    line-height: 1.35;
    letter-spacing: 0.02em;
    color: #333;
    text-decoration: none;
    border-radius: 6px;
    padding: 0.55rem 1.15rem;
    background-color: transparent;
    border: 2px solid #333;
    box-shadow: none;
    transition:
        background-color 0.2s ease,
        color 0.2s ease,
        border-color 0.2s ease;
}

.pkp_structure_main .page_index_journal .current_issue .read_more::before,
.pkp_structure_main .page_index_journal .current_issue .read_more::after {
    content: none;
    display: none;
}

.pkp_structure_main .page_index_journal .current_issue .read_more:hover,
.pkp_structure_main .page_index_journal .current_issue .read_more:focus {
    background-color: #333;
    color: #fff;
    border-color: #333;
}

.pkp_structure_main .current_issue_title,
.pkp_structure_main a.current_issue_title {
    font-family: 'Azo Sans', 'Montserrat', system-ui, -apple-system, sans-serif;
    font-weight: 700;
    font-size: 1.05rem;
    line-height: 1.45;
    color: #000 !important;
    margin: 0.5rem 0 1rem;
}

.pkp_structure_main a.current_issue_title {
    display: inline-block;
    transform: scale(1);
    transform-origin: 0 50%;
    transition:
        transform 0.2s ease,
        color 0.2s ease;
}

.pkp_structure_main a.current_issue_title:hover,
.pkp_structure_main a.current_issue_title:focus {
    color: #000 !important;
    text-decoration: underline !important;
    text-decoration-color: rgba(0, 0, 0, 0.35);
    text-underline-offset: 4px;
    transform: scale(1.06);
}

/* Archivo / portada: titulo de cada numero — color marca del topbar (#f2bb4a).
   El tema a veces pone .title en el contenedor y el <a> va dentro: cubrir ambos. */
.pkp_structure_main .obj_issue_summary a.title,
.pkp_structure_main .obj_issue_summary .title a {
    font-family: 'Azo Sans', 'Montserrat', system-ui, -apple-system, sans-serif;
    font-weight: 700;
    font-size: 1.05rem;
    line-height: 1.4;
    color: #f2bb4a !important;
    text-decoration: none !important;
    display: inline-block;
    transform: scale(1);
    transform-origin: 0 50%;
    transition: transform 0.2s ease;
}

.pkp_structure_main .obj_issue_summary a.title:hover,
.pkp_structure_main .obj_issue_summary a.title:focus,
.pkp_structure_main .obj_issue_summary .title a:hover,
.pkp_structure_main .obj_issue_summary .title a:focus {
    color: #f2bb4a !important;
    text-decoration: underline !important;
    text-decoration-color: rgba(26, 21, 16, 0.4);
    text-underline-offset: 4px;
    transform: scale(1.06);
}

.pkp_structure_main .obj_issue_summary .series {
    font-family: 'Montserrat', system-ui, -apple-system, sans-serif;
    font-size: 14px;
    color: #555;
    margin-top: 0.25rem;
}

/* === FIN SECCIÓN 3 (v.3) — cmp_notification ampliado en SECCIÓN 6 === */

/* =========================================================================
   SECCIÓN 4 — Modernización UI (Manual de Marca Sagrado Corazón)
   Colores: vino #A41E37, gris #626366, amarillo #F2BB4A (cabecera ya en v.4).
   Contenido principal: .pkp_structure_main. Pie global: SECCIÓN 5. No toca SECCIÓN 2 (sidebar/idioma).
   ========================================================================= */

:root {
    --pyc-brand-wine: #a41e37;
    --pyc-brand-gray: #626366;
    --pyc-brand-yellow: #f2bb4a;
}

/* --- Portada (index): “Sobre la revista” — bloque neutro (sin barra lateral: evita lectura tipo cita); gris #626366, Montserrat + serif --- */
.pkp_structure_main .page_index_journal .homepage_about {
    margin: 0 0 2.25rem;
    padding: 1.65rem 1.45rem 1.85rem;
    max-width: 46rem;
    box-sizing: border-box;
    background: linear-gradient(165deg, #fbfbfb 0%, #ffffff 60%, #fafafa 100%);
    border: 1px solid rgba(98, 99, 102, 0.14);
    border-radius: 12px;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.9) inset,
        0 8px 28px rgba(0, 0, 0, 0.06);
}

.pkp_structure_main .page_index_journal .homepage_about h2 {
    font-family: 'Montserrat', system-ui, -apple-system, sans-serif !important;
    font-weight: 700;
    font-size: clamp(1.2rem, 2.4vw, 1.45rem);
    letter-spacing: 0.02em;
    text-transform: none;
    color: var(--pyc-brand-wine) !important;
    margin: 0 0 1.05rem;
    padding-bottom: 0.7rem;
    /* Línea divisoria fina, gris marca (#626366), no amarilla */
    border-bottom: 1px solid rgba(98, 99, 102, 0.32);
    line-height: 1.3;
}

.pkp_structure_main .page_index_journal .homepage_about p {
    font-family: Georgia, 'Times New Roman', Times, serif !important;
    font-size: clamp(1.03rem, 2.1vw, 1.125rem) !important;
    line-height: 1.78 !important;
    color: var(--pyc-brand-gray) !important;
    margin: 0;
    max-width: 42rem;
}

.pkp_structure_main .page_index_journal .homepage_about p strong {
    font-weight: 700;
    color: #1a1a1a;
}

@media (min-width: 768px) {
    .pkp_structure_main .page_index_journal .homepage_about {
        padding: 1.85rem 1.75rem 1.95rem;
        margin-bottom: 2.5rem;
    }
}

/* --- TOC del número (.obj_issue_toc): columna fija 1) cabecera/número 2) PDF número completo 3) artículos --- */
.pkp_structure_main .obj_issue_toc {
    background: #ffffff;
    border-radius: 8px;
    box-shadow: 0 10px 30px rgba(164, 30, 55, 0.08);
    padding: 1.25rem 1.5rem 1.5rem;
    box-sizing: border-box;
    margin-bottom: 1.5rem;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 1.25rem;
}

.pkp_structure_main .obj_issue_toc > .heading {
    order: 1;
    /* Anula float del tema Default en .cover (issue_toc.less tablet) */
    display: flow-root;
}

.pkp_structure_main .obj_issue_toc > .heading .published {
    margin-top: 0.45rem;
    margin-bottom: 0.65rem;
}

/* Con portada: fecha alineada con el bloque visual de la imagen (no al borde de la celda ancha). */
.pkp_structure_main .obj_issue_toc > .heading:has(.cover) .cover {
    text-align: center;
}

.pkp_structure_main .obj_issue_toc > .heading:has(.cover) .published {
    text-align: center;
    padding-inline: 0.25rem;
    box-sizing: border-box;
}

.pkp_structure_main .obj_issue_toc > .galleys {
    order: 2;
    width: 100%;
    box-sizing: border-box;
    /* CTA “Número completo”: jerarquía sobre PDFs por artículo (paleta Forum Empresarial) */
    background: linear-gradient(180deg, #fffefb 0%, #fdf9f2 100%);
    border: 1px solid rgba(98, 99, 102, 0.12);
    border-left: 4px solid var(--pyc-brand-yellow, #f2bb4a);
    border-radius: 8px;
    padding: 1.1rem 1.25rem;
    margin: 0;
}

.pkp_structure_main .obj_issue_toc > .sections {
    order: 3;
    width: 100%;
    min-width: 0;
}

/* Tema Default (issue_toc.less): márgenes negativos + ::before = líneas que se salen del bloque */
.pkp_structure_main .obj_issue_toc .galleys,
.pkp_structure_main .obj_issue_toc .section {
    position: relative;
    margin-left: 0;
    margin-right: 0;
    max-width: 100%;
    box-sizing: border-box;
}

.pkp_structure_main .obj_issue_toc .section {
    padding-top: 0.35rem;
    padding-bottom: 0.15rem;
    padding-left: 0;
    padding-right: 0;
}

.pkp_structure_main .obj_issue_toc .galleys::before,
.pkp_structure_main .obj_issue_toc .section::before {
    display: none;
}

/* Títulos de sección (Número completo, Artículo científico, …): sin solapar línea, tipografía unificada */
.pkp_structure_main .obj_issue_toc .galleys > h2,
.pkp_structure_main .obj_issue_toc .galleys > h3,
.pkp_structure_main .obj_issue_toc .section > h2,
.pkp_structure_main .obj_issue_toc .section > h3 {
    display: block;
    position: static;
    left: auto;
    margin: 0 0 0.65rem 0;
    padding: 0;
    background: transparent;
    border: none;
    font-family: 'Montserrat', system-ui, -apple-system, sans-serif;
    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1.35;
    color: #000;
}

@media (min-width: 576px) {
    .pkp_structure_main .obj_issue_toc > .galleys {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        gap: 1rem 1.5rem;
    }

    .pkp_structure_main .obj_issue_toc > .galleys > h2,
    .pkp_structure_main .obj_issue_toc > .galleys > h3 {
        flex: 1 1 auto;
        margin-bottom: 0;
        min-width: 0;
    }

    .pkp_structure_main .obj_issue_toc > .galleys .galleys_links {
        flex: 0 0 auto;
        margin-top: 0;
    }
}

@media (min-width: 768px) {
    /* Portada + fecha (col. izq.) | descripción amplia (col. der., antes ocupada por fecha en flex) */
    .pkp_structure_main .obj_issue_toc .heading {
        display: grid;
        grid-template-columns: minmax(0, min(300px, 46%)) minmax(0, 1fr);
        column-gap: 1.75rem;
        row-gap: 0.55rem;
        align-items: start;
    }

    .pkp_structure_main .obj_issue_toc .heading .cover {
        grid-column: 1;
        grid-row: 1;
        float: none;
        width: 100%;
        max-width: none;
        margin-right: 0;
        margin-bottom: 0;
    }

    .pkp_structure_main .obj_issue_toc .heading .published {
        grid-column: 1;
        grid-row: 2;
        margin: 0;
        padding: 0 0.25rem;
        font-size: 0.9375rem;
        line-height: 1.4;
        color: #3d3d3d;
        text-align: center;
    }

    .pkp_structure_main .obj_issue_toc .heading .published .label {
        font-weight: 600;
    }

    .pkp_structure_main .obj_issue_toc .heading .description {
        grid-column: 2;
        grid-row: 1 / span 2;
        min-width: 0;
        font-size: 1.05rem;
        line-height: 1.62;
        color: #4a4a4a;
    }

    /* Solo portada + descripción (sin fecha): una fila de altura en col. der. */
    .pkp_structure_main .obj_issue_toc .heading:not(:has(.published)) .description {
        grid-row: 1;
        align-self: start;
    }

    /* Sin portada: fecha arriba a la izq., descripción a la der. (una fila) */
    .pkp_structure_main .obj_issue_toc .heading:not(:has(.cover)) .published {
        grid-column: 1;
        grid-row: 1;
        text-align: start;
    }

    .pkp_structure_main .obj_issue_toc .heading:not(:has(.cover)) .description {
        grid-column: 2;
        grid-row: 1;
        align-self: start;
    }

    .pkp_structure_main .obj_issue_toc .heading .pub_id {
        grid-column: 1 / -1;
        margin: 0.75rem 0 0;
    }

    /* Solo descripción (sin portada ni fecha) */
    .pkp_structure_main .obj_issue_toc .heading:not(:has(.cover)):not(:has(.published)) .description {
        grid-column: 1 / -1;
        grid-row: 1;
    }
}

/* Portada del número: solo el bloque .heading (no miniaturas de artículos en el TOC).
   width:auto + margin auto: el <img> ocupa el ancho del arte; la fecha puede centrarse debajo. */
.pkp_structure_main .obj_issue_toc > .heading .cover img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 320px;
    object-fit: contain;
    margin-inline: auto;
    border-radius: 6px;
}

.pkp_structure_main .obj_issue_toc .cover img {
    display: block;
    max-width: 100%;
    height: auto;
    border-radius: 4px;
}

/* Secciones sucesivas (varios tipos de publicación): aire sin depender del ::before del tema */
.pkp_structure_main .obj_issue_toc .section + .section {
    margin-top: 1.35rem;
    padding-top: 1.15rem;
    border-top: 1px solid rgba(0, 0, 0, 0.06);
}

/* Artículos en el índice: separación suave entre ítems */
.pkp_structure_main .obj_issue_toc .cmp_article_list > li {
    padding-bottom: 1rem;
    margin-bottom: 1rem;
    border-bottom: 1px solid rgba(0, 0, 0, 0.055);
}

.pkp_structure_main .obj_issue_toc .cmp_article_list > li:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

/* Metadatos (autor, páginas) más discretos en el TOC */
.pkp_structure_main .obj_issue_toc .obj_article_summary .meta,
.pkp_structure_main .obj_issue_toc .obj_article_summary .authors,
.pkp_structure_main .obj_issue_toc .obj_article_summary .pages {
    font-size: 13px;
    color: #8a8a8a;
}

/* Galleys del TOC del número: botones #f2bb4a vía bloque unificado en SECCIÓN 3 */

/* --- Portada: “Sobre la revista” como carta del editor (Georgia + sangría) --- */
body.pkp_page_about .pkp_structure_main .page .content,
body.pkp_page_about .pkp_structure_main .page .content p,
body.pkp_page_about .pkp_structure_main .page > p {
    font-family: Georgia, 'Times New Roman', Times, serif !important;
    font-size: 1.0625rem;
    line-height: 1.75;
    color: #222;
}

body.pkp_page_about .pkp_structure_main .page .content {
    margin-left: 0.75rem;
    padding-left: 1.25rem;
    border-left: 3px solid rgba(164, 30, 55, 0.35);
}

@media (min-width: 992px) {
    body.pkp_page_about .pkp_structure_main .page .content {
        margin-left: 1.25rem;
        padding-left: 1.75rem;
    }
}

/* Resumen en listados: título siempre negro (incl. <strong> u otro HTML dentro del enlace) */
.pkp_structure_main .obj_article_summary .title a,
.pkp_structure_main .obj_article_summary .title a:link,
.pkp_structure_main .obj_article_summary .title a:visited,
.pkp_structure_main .obj_issue_toc .obj_article_summary .title a,
.pkp_structure_main .obj_issue_toc .obj_article_summary .title a:link,
.pkp_structure_main .obj_issue_toc .obj_article_summary .title a:visited {
    color: #000 !important;
    text-decoration: none;
    transition:
        color 0.2s ease,
        text-decoration-color 0.2s ease;
}

/* Anula color de enlace del tema sobre cualquier nodo dentro del título */
.pkp_structure_main .obj_article_summary .title a *,
.pkp_structure_main .obj_issue_toc .obj_article_summary .title a * {
    color: #000 !important;
}

.pkp_structure_main .obj_article_summary .title .article-summary-title-text,
.pkp_structure_main .obj_article_summary .title .title-separator {
    color: #000 !important;
}

/* Título + “:” en una sola línea de flujo; “:” pegado al texto del título */
.pkp_structure_main .obj_article_summary .title a .article-summary-title-text,
.pkp_structure_main .obj_article_summary .title a .title-separator {
    display: inline;
    margin: 0;
    padding: 0;
    vertical-align: baseline;
}

.pkp_structure_main .obj_article_summary .title a .title-separator {
    font-weight: 700;
}

.pkp_structure_main .obj_article_summary .title .subtitle {
    display: inline;
    font-weight: 400;
    font-size: 0.95em;
    color: #555 !important;
    margin: 0;
    padding: 0;
    vertical-align: baseline;
}

/* Espacio mínimo solo entre “:” y el subtítulo (sin hueco antes de los dos puntos) */
.pkp_structure_main .obj_article_summary .title .title-separator + .subtitle {
    margin-left: 0.12em;
}

/* Plantilla antigua (sin <span class="title-separator">): el “:” va en ::before del .subtitle.
   El HTML suele traer salto/espacio entre el título y el <span>; margin negativo acerca el bloque
   al título para que los dos puntos queden pegados al texto del título, no al subtítulo. */
.pkp_structure_main .obj_article_summary .title a:not(:has(.title-separator)) .subtitle {
    margin-inline-start: -0.32em;
}

.pkp_structure_main .obj_article_summary .title a:not(:has(.title-separator)) .subtitle::before {
    content: ':';
    color: #000 !important;
    font-weight: 700;
    font-size: 1.07em;
    margin-right: 0.12em;
    vertical-align: baseline;
}

.pkp_structure_main .obj_article_summary .title a:hover,
.pkp_structure_main .obj_article_summary .title a:focus,
.pkp_structure_main .obj_issue_toc .obj_article_summary .title a:hover,
.pkp_structure_main .obj_issue_toc .obj_article_summary .title a:focus {
    color: #000 !important;
    text-decoration: underline;
    text-decoration-color: rgba(0, 0, 0, 0.35);
    text-underline-offset: 3px;
}

.pkp_structure_main .obj_article_summary .title a:hover *,
.pkp_structure_main .obj_article_summary .title a:focus *,
.pkp_structure_main .obj_issue_toc .obj_article_summary .title a:hover *,
.pkp_structure_main .obj_issue_toc .obj_article_summary .title a:focus * {
    color: #000 !important;
}

.pkp_structure_main .obj_article_summary .title a:hover .subtitle,
.pkp_structure_main .obj_article_summary .title a:focus .subtitle,
.pkp_structure_main .obj_issue_toc .obj_article_summary .title a:hover .subtitle,
.pkp_structure_main .obj_issue_toc .obj_article_summary .title a:focus .subtitle {
    color: #333 !important;
}

/* SECCIÓN 4 — PÁGINA DE ARCHIVOS (ANTERIORES)
   Galería de números: portada grande, texto pequeño abajo, sin bordes laterales del main.
   El HTML de PKP trae dos enlaces (portada + título); se maximiza la zona clicable. */

/* Quitar líneas / laterales del main solo en archivo (Secc. 3: bordes amarillos + sombra) */
.pkp_structure_main:has(.page.page_issue_archive) {
    border-left: none !important;
    border-right: none !important;
    box-shadow: none !important;
}

/* Suelta un poco el bloque respecto al padding típico del tema (sin romper sidebar) */
.pkp_structure_main .page.page_issue_archive {
    margin-left: -12px;
    margin-right: -12px;
    padding-left: 8px;
    padding-right: 8px;
}

@media (min-width: 768px) {
    .pkp_structure_main .page.page_issue_archive {
        margin-left: -20px;
        margin-right: -20px;
        padding-left: 12px;
        padding-right: 12px;
    }
}

.pkp_structure_main .page.page_issue_archive > h1 {
    font-family: Georgia, 'Times New Roman', Times, serif !important;
    font-weight: 700;
    color: #222 !important;
    border-bottom: none !important;
    box-shadow: none !important;
    padding-bottom: 0.75rem;
    margin-bottom: 1.25rem;
}

.pkp_structure_main .page.page_issue_archive hr {
    display: none !important;
}

/* Cuadrícula */
.pkp_structure_main .page.page_issue_archive .issues_list,
.pkp_structure_main .page.page_issue_archive ul.issues_archive,
.pkp_structure_main .page.page_issue_archive .issues_archive {
    display: grid !important;
    grid-template-columns: 1fr;
    gap: 36px;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    border: none !important;
    align-items: stretch;
}

.pkp_structure_main .page.page_issue_archive ul.issues_archive > li {
    display: flex;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    border: none !important;
}

.pkp_structure_main .page.page_issue_archive ul.issues_archive > li > .obj_issue_summary {
    flex: 1 1 auto;
    width: 100%;
    min-height: 100%;
}

@media (min-width: 768px) {
    .pkp_structure_main .page.page_issue_archive .issues_list,
    .pkp_structure_main .page.page_issue_archive ul.issues_archive,
    .pkp_structure_main .page.page_issue_archive .issues_archive {
        grid-template-columns: repeat(2, 1fr);
    }
}

.pkp_structure_main .page.page_issue_archive:has(> .obj_issue_summary) {
    display: grid !important;
    grid-template-columns: 1fr;
    gap: 36px;
    align-items: stretch;
}

.pkp_structure_main .page.page_issue_archive:has(> .obj_issue_summary) > *:not(.obj_issue_summary) {
    grid-column: 1 / -1;
}

@media (min-width: 768px) {
    .pkp_structure_main .page.page_issue_archive:has(> .obj_issue_summary) {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Archivo: la descripción del número no se usa en tarjetas (plantilla issue_summary + issueSummaryContext).
   Respaldo si el HTML aún lleva .description (caché o tema sin override). */
.pkp_structure_main .page.page_issue_archive .obj_issue_summary .description {
    display: none !important;
}

/* Tarjeta: misma altura mínima en todas; la cuadrícula estira por fila; texto acotado con ellipsis */
.pkp_structure_main .page.page_issue_archive .obj_issue_summary {
    position: relative;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    height: 100%;
    min-height: 26rem;
    background: #ffffff;
    border: none !important;
    border-radius: 10px;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08);
    padding: 0.85rem 0.65rem 0.55rem;
    box-sizing: border-box;
    overflow: hidden;
    transition:
        transform 0.22s ease,
        box-shadow 0.25s ease;
    transform: scale(1);
    transform-origin: center center;
    z-index: 0;
}

@media (min-width: 768px) {
    .pkp_structure_main .page.page_issue_archive .obj_issue_summary {
        min-height: 28rem;
    }
}

@media (min-width: 992px) {
    .pkp_structure_main .page.page_issue_archive .obj_issue_summary {
        min-height: 30rem;
    }
}

/* Sin .description (plantilla actualizada): tarjetas más bajas */
.pkp_structure_main .page.page_issue_archive .obj_issue_summary:not(:has(.description)) {
    min-height: 20rem;
}

@media (min-width: 768px) {
    .pkp_structure_main .page.page_issue_archive .obj_issue_summary:not(:has(.description)) {
        min-height: 22rem;
    }
}

@media (min-width: 992px) {
    .pkp_structure_main .page.page_issue_archive .obj_issue_summary:not(:has(.description)) {
        min-height: 24rem;
    }
}

.pkp_structure_main .page.page_issue_archive .obj_issue_summary:hover {
    z-index: 2;
    transform: scale(1.028);
    box-shadow: 0 14px 36px rgba(164, 30, 55, 0.16);
}

.pkp_structure_main .page.page_issue_archive .obj_issue_summary > a.cover {
    order: 1;
    position: relative;
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    flex: 0 1 auto;
    width: 100% !important;
    min-height: 0;
    margin: 0 !important;
    float: none !important;
    padding: 0.35rem 0.15rem 0.5rem;
    box-sizing: border-box;
    text-decoration: none !important;
}

.pkp_structure_main .page.page_issue_archive .obj_issue_summary .cover img {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: min(92vw, 620px);
    object-fit: contain;
    box-shadow: 5px 5px 15px rgba(0, 0, 0, 0.2);
    border-radius: 4px;
}

@media (min-width: 768px) {
    .pkp_structure_main .page.page_issue_archive .obj_issue_summary .cover img {
        max-height: min(58vw, 720px);
    }
}

/* Bloque inferior: título (2 líneas) y serie. */
.pkp_structure_main .page.page_issue_archive .obj_issue_summary h2 {
    order: 2;
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 0;
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 0.35rem 0.35rem 0.5rem;
    text-align: center;
    min-height: 0;
    max-height: none;
    border: none !important;
    background: #fff;
    font-family: 'Azo Sans', 'Montserrat', system-ui, -apple-system, sans-serif;
    font-weight: 400;
    transform: scale(1);
    transform-origin: 50% 100%;
    transition: transform 0.22s ease;
}

.pkp_structure_main .page.page_issue_archive .obj_issue_summary:hover h2 {
    transform: scale(calc(1 / 1.028));
}

.pkp_structure_main .page.page_issue_archive .obj_issue_summary h2 .series {
    flex: 0 0 auto;
    order: 2;
    margin-top: 0;
    font-family: 'Azo Sans', 'Montserrat', system-ui, -apple-system, sans-serif;
    font-size: 0.7rem !important;
    font-weight: 500 !important;
    line-height: 1.35;
    color: var(--pyc-brand-gray) !important;
    margin: 0;
    padding: 0 0.35rem 0.15rem;
    text-align: center;
    width: 100%;
    max-width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    border: none !important;
    cursor: pointer;
    text-decoration: none;
    text-decoration-color: transparent;
    text-underline-offset: 3px;
    transition:
        color 0.2s ease,
        text-decoration-color 0.2s ease;
}

.pkp_structure_main .page.page_issue_archive .obj_issue_summary h2 .series:hover {
    color: #333 !important;
    text-decoration: underline;
    text-decoration-color: rgba(0, 0, 0, 0.22);
}

/* Título en flujo (2 líneas); portada y enlace del título llevan al número como en OJS. */
.pkp_structure_main .page.page_issue_archive .obj_issue_summary a.title,
.pkp_structure_main .page.page_issue_archive .obj_issue_summary .title a {
    order: 1;
    position: static;
    flex: 0 1 auto;
    align-self: stretch;
    min-width: 0;
    margin: 0 !important;
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    padding: 0.35rem 0.5rem 0.2rem;
    font-family: 'Azo Sans', 'Montserrat', system-ui, -apple-system, sans-serif;
    font-weight: 700;
    font-size: 0.875rem;
    line-height: 1.4;
    /* Por encima de .obj_issue_summary a.title { color: #f2bb4a !important } */
    color: #444 !important;
    text-decoration: none !important;
    text-align: center;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    min-height: calc(2 * 1.4 * 0.875rem);
    word-break: break-word;
    transform: none;
    transition:
        color 0.2s ease,
        text-decoration-color 0.2s ease;
}

.pkp_structure_main .page.page_issue_archive .obj_issue_summary a.title:hover,
.pkp_structure_main .page.page_issue_archive .obj_issue_summary a.title:focus,
.pkp_structure_main .page.page_issue_archive .obj_issue_summary .title a:hover,
.pkp_structure_main .page.page_issue_archive .obj_issue_summary .title a:focus {
    color: #333 !important;
    text-decoration: underline !important;
    text-decoration-color: rgba(0, 0, 0, 0.22);
    text-underline-offset: 3px;
    transform: none;
}

/* Paginación sin líneas extra */
.pkp_structure_main .page.page_issue_archive .cmp_pagination,
.pkp_structure_main .page.page_issue_archive nav.cmp_pagination {
    grid-column: 1 / -1;
    border: none !important;
    box-shadow: none !important;
}

/* =========================================================================
   SECCIÓN 5 — FOOTER
   Referencia: default/styles/footer.less; pkp_structure_footer_* en pkp-lib.
   ========================================================================= */

.pkp_structure_footer_wrapper {
    margin-top: 2.5rem;
    border-top: 1px solid rgba(98, 99, 102, 0.15);
    background: linear-gradient(180deg, #fafafa 0%, #f0f0f0 100%);
    color: #333;
}

.pkp_structure_footer {
    text-align: center;
    padding: 0.35rem 0;
}

.pkp_footer_content {
    max-width: 72rem;
    margin: 0 auto;
    padding: 1.25rem 1rem 1.5rem;
    font-family: 'Montserrat', system-ui, -apple-system, sans-serif;
    font-size: 14px;
    line-height: 1.55;
    color: #444;
    text-align: left;
}

.pkp_footer_content a {
    color: var(--pyc-brand-wine, #a41e37);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.pkp_footer_content a:hover,
.pkp_footer_content a:focus {
    color: #6b1424;
}

.pkp_brand_footer {
    padding: 1rem 1.25rem 1.5rem;
    border-top: 1px solid rgba(0, 0, 0, 0.06);
    background: rgba(255, 255, 255, 0.65);
}

.pkp_brand_footer a {
    display: block;
    max-width: 160px;
    margin-left: auto;
    margin-right: 0;
    opacity: 0.88;
    transition: opacity 0.2s ease;
}

.pkp_brand_footer a:hover,
.pkp_brand_footer a:focus {
    opacity: 1;
}

.pkp_brand_footer a:focus-visible {
    outline: 2px solid rgba(164, 30, 55, 0.45);
    outline-offset: 3px;
}

@media (max-width: 767px) {
    .pkp_footer_content {
        padding-left: max(12px, env(safe-area-inset-left));
        padding-right: max(12px, env(safe-area-inset-right));
    }
}

/* =========================================================================
   SECCIÓN 6 — Notificaciones (.cmp_notification)
   Plantilla: templates/frontend/components/notification.tpl
   ========================================================================= */

.pkp_structure_main .cmp_notification {
    font-family: 'Montserrat', system-ui, -apple-system, sans-serif;
    font-size: 14px;
    line-height: 1.45;
    border-radius: 6px;
    margin: 0.75rem 0;
    padding: 0.85rem 1rem;
}

.pkp_structure_main .cmp_notification.warning {
    border-left: 4px solid #f2bb4a;
    background: rgba(242, 187, 74, 0.14);
    color: #1a1510;
}

.pkp_structure_main .cmp_notification.notice,
.pkp_structure_main .cmp_notification.information {
    border-left: 4px solid rgba(98, 99, 102, 0.5);
    background: rgba(98, 99, 102, 0.09);
    color: #333;
}

.pkp_structure_main .cmp_notification.success {
    border-left: 4px solid #2d6a4f;
    background: rgba(45, 106, 79, 0.1);
    color: #1a2f24;
}

.pkp_structure_main .cmp_notification.error,
.pkp_structure_main .cmp_notification.danger {
    border-left: 4px solid var(--pyc-brand-wine, #a41e37);
    background: rgba(164, 30, 55, 0.09);
    color: #3d0f16;
}

/* =========================================================================
   SECCIÓN 7 — Formularios, errores, tablas, búsqueda, skip links, foco
   Referencia: search.tpl (cmp_form), userSubscriptions.tpl (cmp_table, cmp_button), skipLinks.tpl
   ========================================================================= */

.pkp_structure_main .cmp_form .pkp_label,
.pkp_structure_main .cmp_form label.label,
.pkp_structure_main .pkp_form .pkp_label {
    font-family: 'Montserrat', system-ui, -apple-system, sans-serif;
    font-weight: 600;
    font-size: 14px;
    color: #222;
}

.pkp_structure_main .cmp_form input[type='text'],
.pkp_structure_main .cmp_form input[type='search'],
.pkp_structure_main .cmp_form input[type='email'],
.pkp_structure_main .cmp_form input[type='password'],
.pkp_structure_main .cmp_form textarea,
.pkp_structure_main .cmp_form select,
.pkp_structure_main .cmp_form .query,
.pkp_structure_main .pkp_form input[type='text'],
.pkp_structure_main .pkp_form input[type='email'],
.pkp_structure_main .pkp_form input[type='password'],
.pkp_structure_main .pkp_form textarea,
.pkp_structure_main .pkp_form select {
    border: 1px solid rgba(0, 0, 0, 0.15);
    border-radius: 6px;
    font-family: 'Montserrat', system-ui, -apple-system, sans-serif;
    font-size: 15px;
}

.pkp_structure_main .cmp_form input:focus-visible,
.pkp_structure_main .cmp_form textarea:focus-visible,
.pkp_structure_main .cmp_form select:focus-visible,
.pkp_structure_main .pkp_form input:focus-visible,
.pkp_structure_main .pkp_form textarea:focus-visible,
.pkp_structure_main .pkp_form select:focus-visible {
    outline: 2px solid rgba(164, 30, 55, 0.35);
    outline-offset: 2px;
    border-color: rgba(164, 30, 55, 0.35);
}

.pkp_structure_main .pkp_error,
.pkp_structure_main .alert.alert-danger,
.pkp_structure_main .form-error-list a {
    color: var(--pyc-brand-wine, #a41e37);
}

.pkp_structure_main ul.form-error-list {
    margin: 0.5rem 0 0;
    padding-left: 1.25rem;
    font-family: 'Montserrat', system-ui, -apple-system, sans-serif;
    font-size: 14px;
}

.pkp_structure_main .cmp_button,
.pkp_structure_main a.cmp_button {
    display: inline-block;
    font-family: 'Montserrat', system-ui, -apple-system, sans-serif;
    font-weight: 600;
    font-size: 14px;
    letter-spacing: 0.02em;
    padding: 0.5rem 1.1rem;
    border-radius: 6px;
    background-color: var(--pyc-brand-yellow, #f2bb4a);
    color: #000;
    border: 1px solid rgba(0, 0, 0, 0.12);
    text-decoration: none;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
    transition:
        background-color 0.2s ease,
        border-color 0.2s ease,
        box-shadow 0.2s ease;
}

.pkp_structure_main .cmp_button:hover,
.pkp_structure_main .cmp_button:focus,
.pkp_structure_main a.cmp_button:hover,
.pkp_structure_main a.cmp_button:focus {
    background-color: #e5ad42;
    color: #000;
    border-color: rgba(0, 0, 0, 0.18);
}

.pkp_structure_main a.cmp_button_link {
    font-family: 'Montserrat', system-ui, -apple-system, sans-serif;
    font-weight: 600;
    color: var(--pyc-brand-wine, #a41e37);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.pkp_structure_main a.cmp_button_link:hover,
.pkp_structure_main a.cmp_button_link:focus {
    color: #6b1424;
}

.pkp_structure_main .cmp_table {
    width: 100%;
    border-collapse: collapse;
    font-family: 'Montserrat', system-ui, -apple-system, sans-serif;
    font-size: 14px;
}

.pkp_structure_main .cmp_table th,
.pkp_structure_main .cmp_table td {
    padding: 0.6rem 0.75rem;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
    text-align: left;
    vertical-align: top;
}

.pkp_structure_main .cmp_table thead th {
    font-weight: 700;
    color: #222;
    background: rgba(242, 187, 74, 0.14);
}

.pkp_structure_main .cmp_pagination {
    font-family: 'Montserrat', system-ui, -apple-system, sans-serif;
    font-size: 14px;
}

.pkp_structure_main .cmp_pagination a {
    color: var(--pyc-brand-wine, #a41e37);
    text-decoration: none;
    padding: 0.35rem 0.55rem;
    border-radius: 4px;
}

.pkp_structure_main .cmp_pagination a:hover,
.pkp_structure_main .cmp_pagination a:focus {
    background: rgba(242, 187, 74, 0.22);
    color: #000;
}

.cmp_skip_to_content a {
    display: inline-block;
    margin: 0.2rem 0.35rem;
    padding: 0.35rem 0.65rem;
    font-family: 'Montserrat', system-ui, -apple-system, sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: #1a1510;
    background: rgba(242, 187, 74, 0.4);
    border-radius: 4px;
    text-decoration: none;
}

.cmp_skip_to_content a:hover,
.cmp_skip_to_content a:focus {
    background: #f2bb4a;
    color: #000;
}

.cmp_skip_to_content a:focus-visible {
    outline: 2px solid rgba(164, 30, 55, 0.45);
    outline-offset: 2px;
}

.pkp_site_nav_toggle:focus-visible {
    outline: 2px solid rgba(164, 30, 55, 0.55);
    outline-offset: 2px;
}

/* =============================================================================
   8 — V.6 Número (obj_issue_toc): categorías h2/h3, fichas, título Montserrat
   Requiere :has() (navegadores recientes). Sin !important en este bloque.
   ============================================================================= */

html body .pkp_structure_main .obj_issue_toc .section > h2,
html body .pkp_structure_main .obj_issue_toc .section > h3 {
    font-family: 'Montserrat', system-ui, -apple-system, sans-serif;
    font-variant: all-small-caps;
    letter-spacing: 0.1em;
    font-weight: 600;
    font-size: 1.2rem;
    line-height: 1.35;
    color: #1a1510;
    border-bottom: 1px solid rgba(0, 0, 0, 0.12);
    padding-bottom: 0.55rem;
    margin: 1.5rem 0 0.85rem;
    text-transform: none;
}

html body .pkp_structure_main .obj_issue_toc .sections > .section:first-child > h2,
html body .pkp_structure_main .obj_issue_toc .sections > .section:first-child > h3 {
    margin-top: 0.75rem;
}

html body .pkp_structure_main .obj_issue_toc .cmp_article_list > li {
    border-bottom: none;
    padding-bottom: 0;
    margin-bottom: 0;
}

html body .pkp_structure_main .obj_issue_toc .obj_article_summary {
    display: grid;
    grid-template-columns: minmax(0, 1fr) max-content;
    column-gap: 1rem;
    row-gap: 0.45rem;
    align-items: center;
    box-sizing: border-box;
    margin-left: clamp(1.1rem, 5.5vw, 3rem);
    margin-bottom: 1.35rem;
    padding: 1rem 1.1rem;
    background-color: #fff;
    border-radius: 10px;
    border: 1px solid rgba(0, 0, 0, 0.07);
    box-shadow: 0 2px 14px rgba(0, 0, 0, 0.06);
}

@media (max-width: 767px) {
    html body .pkp_structure_main .obj_issue_toc .obj_article_summary {
        margin-left: clamp(0.65rem, 4vw, 1.35rem);
        margin-bottom: 1rem;
        padding: 0.85rem 0.75rem;
    }
}

html body .pkp_structure_main .obj_issue_toc .obj_article_summary .meta {
    display: contents;
}

html body .pkp_structure_main .obj_issue_toc .obj_article_summary > .cover {
    grid-column: 1 / -1;
    grid-row: 1;
}

/* Autores (fila depende de portada) */
html body .pkp_structure_main .obj_issue_toc .obj_article_summary:has(> .cover) .authors {
    grid-column: 1 / -1;
    grid-row: 2;
}

html body .pkp_structure_main .obj_issue_toc .obj_article_summary:not(:has(> .cover)) .authors {
    grid-column: 1 / -1;
    grid-row: 1;
}

/* Fecha publicada en TOC (opcional) */
html body .pkp_structure_main .obj_issue_toc .obj_article_summary:has(> .cover):has(.published) .published {
    grid-column: 1 / -1;
    grid-row: 3;
}

html body .pkp_structure_main .obj_issue_toc .obj_article_summary:not(:has(> .cover)):has(.published) .published {
    grid-column: 1 / -1;
    grid-row: 2;
}

/* Título del artículo */
html body .pkp_structure_main .obj_issue_toc .obj_article_summary:has(> .cover):has(.published) > .title {
    grid-column: 1 / -1;
    grid-row: 4;
}

html body .pkp_structure_main .obj_issue_toc .obj_article_summary:has(> .cover):not(:has(.published)) > .title {
    grid-column: 1 / -1;
    grid-row: 3;
}

html body .pkp_structure_main .obj_issue_toc .obj_article_summary:not(:has(> .cover)):has(.published) > .title {
    grid-column: 1 / -1;
    grid-row: 3;
}

html body .pkp_structure_main .obj_issue_toc .obj_article_summary:not(:has(> .cover)):not(:has(.published)) > .title {
    grid-column: 1 / -1;
    grid-row: 2;
}

/* Fila inferior: PDF / galleys a la izquierda, páginas a la derecha */
html body .pkp_structure_main .obj_issue_toc .obj_article_summary:has(> .cover):has(.published) > .galleys_links {
    grid-column: 1;
    grid-row: 5;
    margin-top: 0.35rem;
}

html body .pkp_structure_main .obj_issue_toc .obj_article_summary:has(> .cover):not(:has(.published)) > .galleys_links {
    grid-column: 1;
    grid-row: 4;
    margin-top: 0.35rem;
}

html body .pkp_structure_main .obj_issue_toc .obj_article_summary:not(:has(> .cover)):has(.published) > .galleys_links {
    grid-column: 1;
    grid-row: 4;
    margin-top: 0.35rem;
}

html body .pkp_structure_main .obj_issue_toc .obj_article_summary:not(:has(> .cover)):not(:has(.published)) > .galleys_links {
    grid-column: 1;
    grid-row: 3;
    margin-top: 0.35rem;
}

html body .pkp_structure_main .obj_issue_toc .obj_article_summary:has(> .cover):has(.published) .pages {
    grid-column: 2;
    grid-row: 5;
    align-self: center;
    justify-self: end;
}

html body .pkp_structure_main .obj_issue_toc .obj_article_summary:has(> .cover):not(:has(.published)) .pages {
    grid-column: 2;
    grid-row: 4;
    align-self: center;
    justify-self: end;
}

html body .pkp_structure_main .obj_issue_toc .obj_article_summary:not(:has(> .cover)):has(.published) .pages {
    grid-column: 2;
    grid-row: 4;
    align-self: center;
    justify-self: end;
}

html body .pkp_structure_main .obj_issue_toc .obj_article_summary:not(:has(> .cover)):not(:has(.published)) .pages {
    grid-column: 2;
    grid-row: 3;
    align-self: center;
    justify-self: end;
}

html body .pkp_structure_main .obj_issue_toc .obj_article_summary > .title {
    font-family: 'Montserrat', system-ui, -apple-system, sans-serif;
    font-weight: 600;
    font-size: 1.05rem;
    line-height: 1.35;
    margin: 0;
}

html body .pkp_structure_main .obj_issue_toc .obj_article_summary > .title a {
    color: #0d0d0d;
    text-decoration: none;
}

html body .pkp_structure_main .obj_issue_toc .obj_article_summary > .title a:hover,
html body .pkp_structure_main .obj_issue_toc .obj_article_summary > .title a:focus {
    text-decoration: underline;
    text-underline-offset: 0.12em;
}

html body .pkp_structure_main .obj_issue_toc .obj_article_summary > .title .subtitle,
html body .pkp_structure_main .obj_issue_toc .obj_article_summary > .title a .subtitle {
    font-weight: 500;
    font-size: 0.88em;
    color: #5c5c5c !important;
}

html body .pkp_structure_main .obj_issue_toc .obj_article_summary > .title a:hover .subtitle,
html body .pkp_structure_main .obj_issue_toc .obj_article_summary > .title a:focus .subtitle {
    color: #4a4a4a !important;
}

/* TOC: mismo ajuste de “:” plantilla antigua + tamaño coherentes con Montserrat 1.05rem / subtitle 0.88em */
html body .pkp_structure_main .obj_issue_toc .obj_article_summary > .title a:not(:has(.title-separator)) .subtitle {
    margin-inline-start: -0.32em;
}

html body .pkp_structure_main .obj_issue_toc .obj_article_summary > .title a:not(:has(.title-separator)) .subtitle::before {
    font-size: 1.07em;
    font-weight: 700;
    color: #000 !important;
    margin-right: 0.12em;
}

/*
 * Tema Default (article_summary.less ≥ tablet): .authors padding-right:5em y .pages
 * position:absolute;top:0;right:0 en .meta — anulado aquí para alinear páginas con el PDF.
 */
html body .pkp_structure_main .obj_issue_toc .obj_article_summary .authors {
    font-size: 0.875rem;
    color: #4a4a4a;
    padding-right: 0;
}

html body .pkp_structure_main .obj_issue_toc .obj_article_summary .pages {
    position: static;
    top: auto;
    right: auto;
    left: auto;
    bottom: auto;
    inset: auto;
    font-size: 0.8125rem;
    color: #666;
    line-height: 1.35;
    white-space: nowrap;
}

html body .pkp_structure_main .obj_issue_toc .obj_article_summary > .galleys_links {
    list-style: none;
    padding: 0;
    margin-bottom: 0;
    align-self: center;
    display: flex;
    flex-flow: row wrap;
    align-items: center;
    gap: 0.35rem 0.75rem;
}

/* Sin .meta: PKP no imprime el div; reasignar filas del grid (tras las reglas anteriores). */
html body .pkp_structure_main .obj_issue_toc .obj_article_summary:not(:has(.meta)):not(:has(> .cover)) > .title {
    grid-row: 1;
}

html body .pkp_structure_main .obj_issue_toc .obj_article_summary:not(:has(.meta)):not(:has(> .cover)) > .galleys_links {
    grid-row: 2;
    margin-top: 0.35rem;
}

html body .pkp_structure_main .obj_issue_toc .obj_article_summary:not(:has(.meta)):has(> .cover) > .title {
    grid-row: 2;
}

html body .pkp_structure_main .obj_issue_toc .obj_article_summary:not(:has(.meta)):has(> .cover) > .galleys_links {
    grid-row: 3;
    margin-top: 0.35rem;
}

/* =========================================================================
   === PÁGINA DE ARTÍCULO (solo paleta; sin tocar posiciones/layout) ===
   ========================================================================= */

.pkp_structure_main .page.page_article .obj_article_details > .page_title {
    color: #111;
}

/* Igual lógica que en fichas: el ":" pertenece al título (no al subtítulo). */
.pkp_structure_main .page.page_article .obj_article_details > .page_title:has(+ .subtitle)::after {
    content: ':';
    color: #111;
    font-weight: 700;
    margin-left: 0.01em;
}

.pkp_structure_main .page.page_article .obj_article_details > .subtitle {
    color: #5a5a5a;
}

.pkp_structure_main .page.page_article .obj_article_details .main_entry .item .label,
.pkp_structure_main .page.page_article .obj_article_details .entry_details .item .label {
    color: #2f2f2f;
}

.pkp_structure_main .page.page_article .obj_article_details .authors .name,
.pkp_structure_main .page.page_article .obj_article_details .item .value,
.pkp_structure_main .page.page_article .obj_article_details .item.keywords .value,
.pkp_structure_main .page.page_article .obj_article_details .item.abstract p {
    color: #222;
}

.pkp_structure_main .page.page_article .obj_article_details .item.abstract p {
    text-align: justify;
    text-justify: inter-word;
}

.pkp_structure_main .page.page_article .obj_article_details .authors .affiliation,
.pkp_structure_main .page.page_article .obj_article_details .authors .userGroup,
.pkp_structure_main .page.page_article .obj_article_details .item.published .value,
.pkp_structure_main .page.page_article .obj_article_details .item.copyright {
    color: #555;
}

.pkp_structure_main .page.page_article .obj_article_details .authors .name,
.pkp_structure_main .page.page_article .obj_article_details .authors .affiliation {
    display: block;
}

/* Flujo del contenido principal: Resumen antes de Palabras clave */
.pkp_structure_main .page.page_article .obj_article_details .main_entry {
    display: flex;
    flex-direction: column;
}

.pkp_structure_main .page.page_article .obj_article_details .main_entry > .item.authors {
    order: 1;
}

.pkp_structure_main .page.page_article .obj_article_details .main_entry > .item.abstract {
    order: 2;
}

.pkp_structure_main .page.page_article .obj_article_details .main_entry > .item.keywords {
    order: 3;
}

/* Barra lateral: portada -> PDF -> publicado -> número -> licencia */
.pkp_structure_main .page.page_article .obj_article_details .entry_details {
    display: flex;
    flex-direction: column;
}

.pkp_structure_main .page.page_article .obj_article_details .entry_details > .item.cover_image {
    order: 1;
}

.pkp_structure_main .page.page_article .obj_article_details .entry_details > .item.galleys {
    order: 2;
}

.pkp_structure_main .page.page_article .obj_article_details .entry_details > .item.published {
    order: 3;
}

.pkp_structure_main .page.page_article .obj_article_details .entry_details > .item.issue {
    order: 4;
}

.pkp_structure_main .page.page_article .obj_article_details .entry_details > .item.copyright {
    order: 5;
}

.pkp_structure_main .page.page_article .obj_article_details .entry_details .item {
    border-bottom-color: rgba(0, 0, 0, 0.08);
}

.pkp_structure_main .page.page_article .obj_article_details .item.issue .value a.title,
.pkp_structure_main .page.page_article .obj_article_details .item.copyright a,
.pkp_structure_main .page.page_article .obj_article_details .item.doi a {
    color: #333;
}

.pkp_structure_main .page.page_article .obj_article_details .item.issue .value a.title:hover,
.pkp_structure_main .page.page_article .obj_article_details .item.issue .value a.title:focus,
.pkp_structure_main .page.page_article .obj_article_details .item.copyright a:hover,
.pkp_structure_main .page.page_article .obj_article_details .item.copyright a:focus,
.pkp_structure_main .page.page_article .obj_article_details .item.doi a:hover,
.pkp_structure_main .page.page_article .obj_article_details .item.doi a:focus {
    color: #000;
}

.pkp_structure_main .page.page_article .obj_article_details .item.galleys .obj_galley_link {
    background: #f2bb4a !important;
    color: #000 !important;
    border-color: rgba(0, 0, 0, 0.22) !important;
}

.pkp_structure_main .page.page_article .obj_article_details .item.galleys .obj_galley_link:hover,
.pkp_structure_main .page.page_article .obj_article_details .item.galleys .obj_galley_link:focus {
    background: #e5ad42 !important;
    color: #000 !important;
}

/* Licencia: tono técnico, menos protagonista */
.pkp_structure_main .page.page_article .obj_article_details .item.copyright {
    font-size: 0.72rem;
    line-height: 1.45;
    opacity: 0.86;
}

.pkp_structure_main .page.page_article .obj_article_details .item.copyright p {
    margin: 0 0 0.45rem;
    font-size: 0.72rem;
    line-height: 1.45;
}

.pkp_structure_main .page.page_article .obj_article_details .item.copyright a[rel='license'] img {
    display: inline-block;
    width: 72px;
    height: auto;
    opacity: 0.85;
}

/* Recuperación de layout en artículo:
   evita que .entry_details caiga debajo y mantiene la franja divisoria lateral. */
@media (min-width: 768px) {
    .pkp_structure_main .page.page_article .obj_article_details > .row {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(250px, 320px) !important;
        align-items: start !important;
        margin-top: 1.5rem;
        border-top: 1px solid rgba(0, 0, 0, 0.08);
        border-bottom: 1px solid rgba(0, 0, 0, 0.08);
    }

    .pkp_structure_main .page.page_article .obj_article_details > .row > .main_entry {
        grid-column: 1 !important;
        grid-row: 1 !important;
        float: none !important;
        width: auto !important;
        min-width: 0;
        border-right: 1px solid rgba(0, 0, 0, 0.08);
        border-left: none;
        align-self: start !important;
    }

    .pkp_structure_main .page.page_article .obj_article_details > .row > .entry_details {
        grid-column: 2 !important;
        grid-row: 1 !important;
        float: none !important;
        width: auto !important;
        margin: 0;
        border-top: none;
        border-left: 1px solid rgba(0, 0, 0, 0.08);
        border-right: none;
        align-self: start !important;
    }

    .pkp_structure_main .page.page_article .obj_article_details > .row > .entry_details .item {
        margin-right: 0;
    }
}

@media (max-width: 767px) {
    .pkp_structure_main .page.page_article .obj_article_details > .row > .entry_details {
        border-top: 1px solid rgba(0, 0, 0, 0.08);
        border-left: none;
    }
}

/* =========================================================================
   === PÁGINA DE BÚSQUEDA ===
   ========================================================================= */

.pkp_structure_main .page.page_search .pkp_screen_reader {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    border: 0;
}

.pkp_structure_main .page.page_search .cmp_form {
    background: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 12px;
    box-shadow: 0 5px 18px rgba(0, 0, 0, 0.06);
    padding: 1rem 1rem 1.1rem;
    margin-bottom: 1.25rem;
}

.pkp_structure_main .page.page_search .cmp_form .search_input {
    margin: 0 0 0.75rem;
}

.pkp_structure_main .page.page_search .cmp_form #query,
.pkp_structure_main .page.page_search .cmp_form input.query {
    width: 100%;
    min-height: 3rem;
    box-sizing: border-box;
    padding: 0.72rem 0.95rem;
    font-family: 'Montserrat', system-ui, -apple-system, sans-serif;
    font-size: 1rem;
    line-height: 1.35;
    color: #1b1b1b;
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.16);
    border-radius: 10px;
    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease,
        background-color 0.2s ease;
}

.pkp_structure_main .page.page_search .cmp_form #query:focus,
.pkp_structure_main .page.page_search .cmp_form input.query:focus,
.pkp_structure_main .page.page_search .cmp_form input[type='text']:focus {
    outline: none;
    border-color: rgba(242, 187, 74, 0.85);
    box-shadow: 0 0 0 3px rgba(242, 187, 74, 0.24);
    background: #fffefb;
}

.pkp_structure_main .page.page_search .cmp_form .search_advanced {
    margin: 0;
    border: 1px solid rgba(0, 0, 0, 0.09);
    border-radius: 10px;
    padding: 0.85rem 0.9rem 0.8rem;
    background: rgba(248, 248, 248, 0.72);
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.7rem 1rem;
}

.pkp_structure_main .page.page_search .cmp_form .search_advanced > legend {
    font-family: 'Montserrat', system-ui, -apple-system, sans-serif;
    font-size: 0.86rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    color: #272727;
    margin: 0 0 0.35rem;
    padding: 0 0.2rem;
}

.pkp_structure_main .page.page_search .cmp_form .search_advanced .date_range,
.pkp_structure_main .page.page_search .cmp_form .search_advanced .author {
    min-width: 0;
}

.pkp_structure_main .page.page_search .cmp_form .search_advanced .author .label {
    display: block;
    margin-bottom: 0.28rem;
    font-family: 'Montserrat', system-ui, -apple-system, sans-serif;
    font-size: 0.82rem;
    font-weight: 600;
    color: #414141;
}

.pkp_structure_main .page.page_search .cmp_form .search_advanced input[type='text'],
.pkp_structure_main .page.page_search .cmp_form .search_advanced input[type='date'],
.pkp_structure_main .page.page_search .cmp_form .search_advanced select {
    width: 100%;
    box-sizing: border-box;
    padding: 0.5rem 0.62rem;
    border: 1px solid rgba(0, 0, 0, 0.14);
    border-radius: 8px;
    background: #fff;
    font-family: 'Montserrat', system-ui, -apple-system, sans-serif;
    font-size: 0.9rem;
    color: #262626;
}

.pkp_structure_main .page.page_search .cmp_form .submit {
    margin-top: 0.8rem;
}

.pkp_structure_main .page.page_search .cmp_form .submit .submit,
.pkp_structure_main .page.page_search .cmp_form .submit button.submit {
    border: 1px solid rgba(0, 0, 0, 0.16);
    border-radius: 8px;
    background: #333;
    color: #fff;
    font-family: 'Montserrat', system-ui, -apple-system, sans-serif;
    font-size: 0.91rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    padding: 0.58rem 1.1rem;
    cursor: pointer;
    transition:
        background-color 0.2s ease,
        color 0.2s ease,
        box-shadow 0.2s ease;
}

.pkp_structure_main .page.page_search .cmp_form .submit .submit:hover,
.pkp_structure_main .page.page_search .cmp_form .submit .submit:focus,
.pkp_structure_main .page.page_search .cmp_form .submit button.submit:hover,
.pkp_structure_main .page.page_search .cmp_form .submit button.submit:focus {
    background: #1f1f1f;
    color: #fff;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.17);
}

.pkp_structure_main .page.page_search .search_results {
    list-style: none;
    margin: 0;
    padding: 0;
}

.pkp_structure_main .page.page_search .search_results > li {
    margin: 0 0 1rem;
    padding: 0;
}

.pkp_structure_main .page.page_search .search_results .obj_article_summary {
    position: relative;
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    margin-left: clamp(1.1rem, 5.5vw, 3rem);
    margin-bottom: 1.35rem;
    padding: 1rem 1.1rem 2.2rem;
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.07);
    border-radius: 10px;
    box-shadow: 0 2px 14px rgba(0, 0, 0, 0.06);
    gap: 0.4rem;
}

.pkp_structure_main .page.page_search .search_results .obj_article_summary .meta {
    display: contents;
}

.pkp_structure_main .page.page_search .search_results .obj_article_summary .authors {
    order: 1;
    font-size: 0.875rem;
    color: #4a4a4a;
    margin: 0;
}

.pkp_structure_main .page.page_search .search_results .obj_article_summary > .title {
    order: 2;
    margin: 0;
    font-family: 'Montserrat', system-ui, -apple-system, sans-serif;
    font-weight: 600;
    font-size: 1.05rem;
    line-height: 1.35;
}

.pkp_structure_main .page.page_search .search_results .obj_article_summary > .title a {
    color: #0d0d0d;
    text-decoration: none;
}

.pkp_structure_main .page.page_search .search_results .obj_article_summary > .title a:hover,
.pkp_structure_main .page.page_search .search_results .obj_article_summary > .title a:focus {
    text-decoration: underline;
    text-underline-offset: 0.12em;
}

.pkp_structure_main .page.page_search .search_results .obj_article_summary > .title .subtitle {
    font-weight: 500;
    font-size: 0.88em;
    color: #5c5c5c;
}

.pkp_structure_main .page.page_search .search_results .obj_article_summary .pages,
.pkp_structure_main .page.page_search .search_results .obj_article_summary .published {
    order: 3;
    position: absolute;
    bottom: 0.8rem;
    font-size: 0.8rem;
    line-height: 1.3;
    color: #7a7a7a;
    margin: 0;
}

.pkp_structure_main .page.page_search .search_results .obj_article_summary .pages {
    left: 1.1rem;
}

.pkp_structure_main .page.page_search .search_results .obj_article_summary .published {
    right: 1.1rem;
    text-align: right;
}

.pkp_structure_main .page.page_search .cmp_pagination {
    margin: 0.8rem auto 0;
    width: fit-content;
    max-width: 100%;
    text-align: center;
    padding: 0.42rem 0.8rem;
    border-radius: 999px;
    border: 1px solid rgba(0, 0, 0, 0.08);
    background: rgba(248, 248, 248, 0.9);
    font-family: 'Montserrat', system-ui, -apple-system, sans-serif;
    font-size: 0.86rem;
    color: #3e3e3e;
}

.pkp_structure_main .page.page_search .cmp_notification.notice {
    margin-top: 0.95rem;
    border-left: 4px solid rgba(242, 187, 74, 0.72);
    border-radius: 10px;
    background: linear-gradient(180deg, #fffef9 0%, #f7f4ed 100%);
    color: #3a3327;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.05);
    padding: 0.88rem 1rem;
}

@media (max-width: 767px) {
    .pkp_structure_main .page.page_search .cmp_form .search_advanced {
        grid-template-columns: 1fr;
    }

    .pkp_structure_main .page.page_search .search_results .obj_article_summary {
        margin-left: clamp(0.65rem, 4vw, 1.35rem);
        padding: 0.88rem 0.82rem 2.3rem;
        margin-bottom: 1rem;
    }

    .pkp_structure_main .page.page_search .search_results .obj_article_summary .pages {
        left: 0.82rem;
    }

    .pkp_structure_main .page.page_search .search_results .obj_article_summary .published {
        right: 0.82rem;
    }
}

/* === FIN Journal style sheet v.6.css === */
