/* =========================================================
   REPOSITORIO ACADÉMICO - INTERFAZ GLOBAL v0.3.1
   OJS 3.5.x
   Aplica la identidad de la portada al resto del frontend.
   ========================================================= */

:root {
    --rag-blue-950: #083e67;
    --rag-blue-900: #0a4e7e;
    --rag-blue-800: #0c6098;
    --rag-blue-700: #1477af;
    --rag-blue-600: #2c91c7;
    --rag-blue-100: #edf6fb;
    --rag-line: #d7e5ee;
    --rag-text: #123b5b;
    --rag-muted: #6f8493;
    --rag-bg: #edf4f8;
    --rag-white: #ffffff;
}

/* =========================================================
   1. PÁGINAS INTERNAS: CABECERA INSTITUCIONAL
   ========================================================= */

body:not(.pkp_page_index) {
    background: var(--rag-bg) !important;
}

body:not(.pkp_page_index) .pkp_structure_head {
    position: relative !important;
    min-height: 255px !important;
    margin: 0 !important;
    padding: 0 !important;
    background:
        radial-gradient(circle at 88% 0%, transparent 0 95px, rgba(61,149,207,.35) 96px 98px, transparent 99px),
        radial-gradient(circle at 91% 1%, transparent 0 142px, rgba(158,174,186,.22) 143px 145px, transparent 146px),
        #ffffff !important;
    border: 0 !important;
    box-shadow: 0 2px 10px rgba(17,60,86,.08) !important;
    overflow: visible !important;
}

/* Franja superior azul */
body:not(.pkp_page_index) .pkp_structure_head::before {
    content: "" !important;
    position: absolute !important;
    z-index: 0 !important;
    left: 0 !important;
    right: 0 !important;
    top: 0 !important;
    height: 52px !important;
    background: linear-gradient(90deg, var(--rag-blue-950), var(--rag-blue-700)) !important;
}

/* Acento lateral del bloque blanco */
body:not(.pkp_page_index) .pkp_structure_head::after {
    content: "" !important;
    position: absolute !important;
    z-index: 0 !important;
    left: 0 !important;
    top: 52px !important;
    width: 34px !important;
    height: 150px !important;
    background: linear-gradient(180deg, var(--rag-blue-700), var(--rag-blue-900)) !important;
    border-bottom-right-radius: 68px !important;
}

body:not(.pkp_page_index) .pkp_structure_head .pkp_head_wrapper {
    position: relative !important;
    z-index: 2 !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 255px !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Usuario / entrar */
body:not(.pkp_page_index) .pkp_navigation_user_wrapper {
    position: absolute !important;
    z-index: 20 !important;
    top: 8px !important;
    right: max(24px, calc((100vw - 1180px) / 2)) !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

body:not(.pkp_page_index) .pkp_navigation_user {
    position: static !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

body:not(.pkp_page_index) .pkp_navigation_user > li > a {
    color: #fff !important;
    font-size: 13px !important;
    font-weight: 700 !important;
}

/* Gran identidad visual */
body:not(.pkp_page_index) .pkp_site_name_wrapper {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    height: 202px !important;
    margin: 0 !important;
    padding: 52px 20px 0 !important;
    box-sizing: border-box !important;
}

/* Círculo / isotipo */
body:not(.pkp_page_index) .pkp_site_name_wrapper::before {
    content: "" !important;
    position: absolute !important;
    z-index: 4 !important;
    left: calc(50% - 380px) !important;
    top: 78px !important;
    width: 112px !important;
    height: 112px !important;
    background: url("../assets/repository-mark.svg") center/contain no-repeat !important;
}

/* Línea divisoria */
body:not(.pkp_page_index) .pkp_site_name_wrapper::after {
    content: "" !important;
    position: absolute !important;
    z-index: 4 !important;
    left: calc(50% - 246px) !important;
    top: 83px !important;
    width: 1px !important;
    height: 100px !important;
    background: #88b1cf !important;
}

/* Reutilizar contenedor del logo nativo como bloque de texto */
body:not(.pkp_page_index) .pkp_site_name {
    position: absolute !important;
    z-index: 5 !important;
    left: 50% !important;
    top: 98px !important;
    width: 660px !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: translateX(-160px) !important;
    overflow: visible !important;
}

body:not(.pkp_page_index) .pkp_site_name > a {
    display: none !important;
}

body:not(.pkp_page_index) .pkp_site_name::before {
    content: "REPOSITORIO ACADÉMICO" !important;
    display: block !important;
    color: #0b4f82 !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 40px !important;
    line-height: 1.05 !important;
    font-weight: 700 !important;
    letter-spacing: .015em !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
}

body:not(.pkp_page_index) .pkp_site_name::after {
    content: "INVESTIGACIÓN · TITULACIÓN · CERTIFICACIÓN" !important;
    display: block !important;
    margin-top: 8px !important;
    color: #255f8e !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
    font-weight: 500 !important;
    letter-spacing: .19em !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
}

/* Botón móvil */
body:not(.pkp_page_index) .pkp_site_nav_toggle {
    z-index: 30 !important;
}

/* =========================================================
   2. NAVEGACIÓN INTERNA CON LA MISMA LÓGICA DE PORTADA
   ========================================================= */

body:not(.pkp_page_index) .pkp_site_nav_menu {
    position: static !important;
}

body:not(.pkp_page_index) .pkp_navigation_primary_row {
    position: absolute !important;
    z-index: 10 !important;
    left: 0 !important;
    right: 0 !important;
    top: 202px !important;
    min-height: 53px !important;
    margin: 0 !important;
    padding: 0 20px !important;
    background: rgba(255,255,255,.98) !important;
    border-top: 1px solid #eef3f6 !important;
    border-bottom: 1px solid var(--rag-line) !important;
    box-sizing: border-box !important;
}

body:not(.pkp_page_index) .pkp_navigation_primary_wrapper {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: 980px !important;
    min-height: 52px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    clip-path: none !important;
}

body:not(.pkp_page_index) .pkp_navigation_primary {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    min-height: 52px !important;
    margin: 0 !important;
    padding: 0 !important;
}

body:not(.pkp_page_index) .pkp_navigation_primary > li {
    position: relative !important;
    display: flex !important;
    margin: 0 !important;
    padding: 0 !important;
}

body:not(.pkp_page_index) .pkp_navigation_primary > li > a {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    min-height: 52px !important;
    padding: 0 17px !important;
    background: transparent !important;
    color: #173f5e !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}

body:not(.pkp_page_index) .pkp_navigation_primary > li > a::after {
    content: "" !important;
    position: absolute !important;
    left: 50% !important;
    right: 50% !important;
    bottom: 0 !important;
    height: 3px !important;
    background: var(--rag-blue-800) !important;
    transition: left .15s ease, right .15s ease !important;
}

body:not(.pkp_page_index) .pkp_navigation_primary > li > a:hover::after,
body:not(.pkp_page_index) .pkp_navigation_primary > li > a:focus::after {
    left: 12px !important;
    right: 12px !important;
}

/* Buscar nativo discreto a la derecha */
body:not(.pkp_page_index) .pkp_navigation_search_wrapper {
    position: absolute !important;
    right: 0 !important;
    top: 0 !important;
    display: flex !important;
    align-items: center !important;
    min-height: 52px !important;
}

body:not(.pkp_page_index) .pkp_navigation_search_wrapper a {
    color: var(--rag-blue-900) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
}

/* =========================================================
   3. CUERPO GENERAL DE LAS PÁGINAS OJS
   ========================================================= */

body:not(.pkp_page_index) .pkp_structure_content {
    width: 100% !important;
    max-width: 1120px !important;
    margin: 0 auto !important;
    padding: 28px 22px 46px !important;
    box-sizing: border-box !important;
    background: transparent !important;
}

body:not(.pkp_page_index) .pkp_structure_main {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 28px 34px 38px !important;
    box-sizing: border-box !important;
    background: #fff !important;
    border: 1px solid #dce7ee !important;
    border-radius: 4px !important;
    box-shadow: 0 10px 28px rgba(18,61,87,.06) !important;
}

/* Páginas */
body:not(.pkp_page_index) .page {
    padding: 0 !important;
}

body:not(.pkp_page_index) .page > h1,
body:not(.pkp_page_index) .page_title {
    margin: 18px 0 16px !important;
    color: var(--rag-text) !important;
    font-size: clamp(26px, 3vw, 34px) !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
}

/* Migas de navegación */
body:not(.pkp_page_index) .cmp_breadcrumbs {
    margin: 0 0 22px !important;
    padding: 0 0 14px !important;
    border-bottom: 1px solid #e4ecf1 !important;
    color: var(--rag-muted) !important;
    font-size: 13px !important;
}

body:not(.pkp_page_index) .cmp_breadcrumbs a {
    color: var(--rag-blue-800) !important;
}

/* Links generales */
body:not(.pkp_page_index) .pkp_structure_main a {
    color: #0872ad !important;
}

/* =========================================================
   4. NÚMEROS / COLECCIONES
   ========================================================= */

body:not(.pkp_page_index) .page_issue h1,
body:not(.pkp_page_index) .page_issue_archive h1 {
    color: var(--rag-text) !important;
}

body:not(.pkp_page_index) .obj_issue_toc {
    margin-top: 24px !important;
}

body:not(.pkp_page_index) .obj_issue_toc .sections {
    margin-top: 26px !important;
}

body:not(.pkp_page_index) .obj_issue_toc .section {
    margin-top: 28px !important;
}

body:not(.pkp_page_index) .obj_issue_toc .section > h2,
body:not(.pkp_page_index) .obj_issue_toc .section > h3 {
    display: flex !important;
    align-items: center !important;
    gap: 15px !important;
    margin: 0 0 18px !important;
    color: #59707f !important;
    font-size: 17px !important;
    font-weight: 500 !important;
}

body:not(.pkp_page_index) .obj_issue_toc .section > h2::after,
body:not(.pkp_page_index) .obj_issue_toc .section > h3::after {
    content: "" !important;
    flex: 1 !important;
    height: 1px !important;
    background: #dfe7ec !important;
}

/* Cada documento como tarjeta */
body:not(.pkp_page_index) .obj_article_summary {
    position: relative !important;
    margin: 0 0 14px !important;
    padding: 20px 22px !important;
    border: 1px solid #dce7ee !important;
    border-radius: 10px !important;
    background: #fbfdfe !important;
    box-shadow: 0 4px 13px rgba(18,61,87,.035) !important;
}

body:not(.pkp_page_index) .obj_article_summary:hover {
    border-color: #bdd8e7 !important;
    box-shadow: 0 8px 18px rgba(18,61,87,.07) !important;
}

body:not(.pkp_page_index) .obj_article_summary .title {
    margin-bottom: 6px !important;
    color: #075f91 !important;
    font-size: 16px !important;
    line-height: 1.35 !important;
    font-weight: 800 !important;
}

body:not(.pkp_page_index) .obj_article_summary .authors {
    color: #344f61 !important;
    font-size: 13px !important;
}

body:not(.pkp_page_index) .obj_article_summary .galleys_links {
    margin-top: 12px !important;
}

/* PDF */
body:not(.pkp_page_index) .obj_galley_link {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 36px !important;
    padding: 7px 13px !important;
    border: 0 !important;
    border-radius: 6px !important;
    background: linear-gradient(180deg, var(--rag-blue-700), var(--rag-blue-900)) !important;
    color: #fff !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    box-shadow: 0 5px 12px rgba(10,78,126,.14) !important;
}

body:not(.pkp_page_index) .obj_galley_link:hover {
    background: var(--rag-blue-950) !important;
}

/* =========================================================
   5. FICHA DE DOCUMENTO
   ========================================================= */

body:not(.pkp_page_index) .obj_article_details {
    border: 1px solid #dce7ee !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    background: #fff !important;
    box-shadow: 0 8px 24px rgba(18,61,87,.055) !important;
}

body:not(.pkp_page_index) .obj_article_details > .page_title {
    padding: 26px 30px !important;
    border-bottom: 1px solid #e2ebf1 !important;
    color: var(--rag-text) !important;
    background: #fff !important;
}

/* =========================================================
   6. FOOTER
   ========================================================= */

body:not(.pkp_page_index) .pkp_structure_footer_wrapper {
    margin: 0 !important;
    padding: 0 !important;
    background: linear-gradient(90deg, var(--rag-blue-900), var(--rag-blue-700)) !important;
    color: #fff !important;
}

body:not(.pkp_page_index) .pkp_structure_footer {
    max-width: 1120px !important;
    min-height: 62px !important;
    margin: 0 auto !important;
    padding: 18px 24px !important;
    box-sizing: border-box !important;
}

body:not(.pkp_page_index) .pkp_structure_footer a,
body:not(.pkp_page_index) .pkp_structure_footer p {
    color: #fff !important;
}

body:not(.pkp_page_index) .pkp_brand_footer {
    display: none !important;
}

/* =========================================================
   7. RESPONSIVE
   ========================================================= */

@media (max-width: 980px) {
    body:not(.pkp_page_index) .pkp_site_name_wrapper::before {
        left: calc(50% - 320px) !important;
        width: 92px !important;
        height: 92px !important;
    }

    body:not(.pkp_page_index) .pkp_site_name_wrapper::after {
        left: calc(50% - 210px) !important;
        height: 84px !important;
    }

    body:not(.pkp_page_index) .pkp_site_name {
        transform: translateX(-140px) !important;
        width: 560px !important;
    }

    body:not(.pkp_page_index) .pkp_site_name::before {
        font-size: 32px !important;
    }

    body:not(.pkp_page_index) .pkp_site_name::after {
        font-size: 11px !important;
    }
}

@media (max-width: 760px) {
    body:not(.pkp_page_index) .pkp_structure_head {
        min-height: auto !important;
        background: #fff !important;
    }

    body:not(.pkp_page_index) .pkp_structure_head::before {
        height: 48px !important;
    }

    body:not(.pkp_page_index) .pkp_structure_head::after {
        display: none !important;
    }

    body:not(.pkp_page_index) .pkp_site_name_wrapper {
        height: 148px !important;
        padding-top: 48px !important;
    }

    body:not(.pkp_page_index) .pkp_site_name_wrapper::before {
        left: 24px !important;
        top: 70px !important;
        width: 62px !important;
        height: 62px !important;
    }

    body:not(.pkp_page_index) .pkp_site_name_wrapper::after {
        display: none !important;
    }

    body:not(.pkp_page_index) .pkp_site_name {
        left: 104px !important;
        top: 76px !important;
        width: calc(100% - 126px) !important;
        transform: none !important;
    }

    body:not(.pkp_page_index) .pkp_site_name::before {
        font-size: 23px !important;
        white-space: normal !important;
    }

    body:not(.pkp_page_index) .pkp_site_name::after {
        margin-top: 5px !important;
        font-size: 9px !important;
        letter-spacing: .10em !important;
        white-space: normal !important;
    }

    body:not(.pkp_page_index) .pkp_navigation_primary_row {
        position: relative !important;
        top: auto !important;
        padding: 0 !important;
        background: var(--rag-blue-900) !important;
    }

    body:not(.pkp_page_index) .pkp_navigation_primary_wrapper {
        display: block !important;
        max-width: none !important;
        background: var(--rag-blue-900) !important;
    }

    body:not(.pkp_page_index) .pkp_navigation_primary {
        display: block !important;
    }

    body:not(.pkp_page_index) .pkp_navigation_primary > li {
        display: block !important;
    }

    body:not(.pkp_page_index) .pkp_navigation_primary > li > a {
        color: #fff !important;
        min-height: 42px !important;
    }

    body:not(.pkp_page_index) .pkp_navigation_search_wrapper {
        display: none !important;
    }

    body:not(.pkp_page_index) .pkp_structure_content {
        padding: 16px 10px 30px !important;
    }

    body:not(.pkp_page_index) .pkp_structure_main {
        padding: 20px 18px 28px !important;
    }
}

/* =========================================================
   MENÚ DE USUARIO NATIVO OJS - v0.3.5
   Mantiene el comportamiento Bootstrap/OJS y corrige únicamente
   la apariencia. No fuerza display/open/close con CSS o JavaScript.
   ========================================================= */

.pkp_navigation_user > li {
    position: relative !important;
}

.pkp_navigation_user > li > ul {
    min-width: 220px !important;
    margin: 0 !important;
    padding: 6px 0 !important;
    background: #ffffff !important;
    border: 1px solid #d5e2ea !important;
    border-radius: 6px !important;
    box-shadow: 0 10px 28px rgba(10, 62, 96, .18) !important;
    z-index: 1000 !important;
}

.pkp_navigation_user > li > ul > li {
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}

.pkp_navigation_user > li > ul > li > a {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 10px 14px !important;
    background: #ffffff !important;
    color: #174d73 !important;
    -webkit-text-fill-color: #174d73 !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    font-weight: 600 !important;
    text-align: left !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}

.pkp_navigation_user > li > ul > li > a:hover,
.pkp_navigation_user > li > ul > li > a:focus {
    background: #eef6fb !important;
    color: #075f91 !important;
    -webkit-text-fill-color: #075f91 !important;
}

.pkp_navigation_user > li > ul > li + li {
    border-top: 1px solid #edf2f5 !important;
}
/* ===== REFINAMIENTO INTERNO v0.3.6 ===== */

/* Contenedor y títulos */
body:not(.pkp_page_index) .pkp_structure_content{
    max-width:1180px!important;
    padding-top:32px!important;
    padding-bottom:52px!important;
}
body:not(.pkp_page_index) .pkp_structure_main{
    border-radius:10px!important;
    border-color:#d9e6ee!important;
    box-shadow:0 10px 28px rgba(18,61,87,.055)!important;
}
body:not(.pkp_page_index) .page>h1,
body:not(.pkp_page_index) .page_title{
    position:relative!important;
    padding-bottom:14px!important;
    margin-bottom:22px!important;
}
body:not(.pkp_page_index) .page>h1::after,
body:not(.pkp_page_index) .page_title::after{
    content:""!important;
    position:absolute!important;
    left:0!important;
    bottom:0!important;
    width:72px!important;
    height:3px!important;
    border-radius:3px!important;
    background:linear-gradient(90deg,#0c6098,#2c91c7)!important;
}

/* Migas */
body:not(.pkp_page_index) .cmp_breadcrumbs{
    background:#f7fafc!important;
    border:1px solid #e2ebf1!important;
    border-radius:7px!important;
    padding:10px 14px!important;
    margin-bottom:22px!important;
}

/* Archivo de números */
body:not(.pkp_page_index) .page_issue_archive .issues_archive,
body:not(.pkp_page_index) .page_issue_archive .issues{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:18px!important;
}
body:not(.pkp_page_index) .obj_issue_summary{
    margin:0!important;
    padding:18px!important;
    border:1px solid #dce8ef!important;
    border-radius:10px!important;
    background:#fbfdfe!important;
    box-shadow:0 5px 16px rgba(16,67,97,.045)!important;
    transition:.16s ease!important;
}
body:not(.pkp_page_index) .obj_issue_summary:hover{
    transform:translateY(-2px)!important;
    border-color:#bdd7e6!important;
    box-shadow:0 9px 22px rgba(16,67,97,.08)!important;
}

/* Número actual */
body:not(.pkp_page_index) .obj_issue_toc .heading{
    margin-bottom:22px!important;
    padding:22px 24px!important;
    background:linear-gradient(135deg,#f8fbfd,#eef6fa)!important;
    border:1px solid #dce8ef!important;
    border-radius:10px!important;
}
body:not(.pkp_page_index) .obj_issue_toc .section{
    margin-top:30px!important;
}

/* Documentos */
body:not(.pkp_page_index) .obj_article_summary{
    border-left:4px solid #1477af!important;
    background:#fff!important;
}
body:not(.pkp_page_index) .obj_article_summary .title a{
    color:#075f91!important;
    text-decoration:none!important;
}
body:not(.pkp_page_index) .obj_article_summary .title a:hover{
    color:#083e67!important;
    text-decoration:underline!important;
}

/* Búsqueda */
body:not(.pkp_page_index) .page_search input[type="text"],
body:not(.pkp_page_index) .page_search input[type="search"]{
    min-height:44px!important;
    border:1px solid #c9dbe6!important;
    border-radius:8px!important;
    padding:9px 12px!important;
    box-shadow:none!important;
}
body:not(.pkp_page_index) .page_search button,
body:not(.pkp_page_index) .page_search .submit{
    min-height:44px!important;
    padding:0 20px!important;
    border:0!important;
    border-radius:8px!important;
    background:linear-gradient(180deg,#1477af,#0a4e7e)!important;
    color:#fff!important;
    font-weight:800!important;
}

/* Ficha pública */
body:not(.pkp_page_index) .obj_article_details{
    border-radius:12px!important;
}
body:not(.pkp_page_index) .obj_article_details .main_entry{
    padding:26px 28px!important;
}
body:not(.pkp_page_index) .obj_article_details .entry_details{
    background:#f7fafc!important;
    border-left:1px solid #e0e9ef!important;
}

/* PDF */
body:not(.pkp_page_index) .obj_galley_link{
    transition:.15s ease!important;
}
body:not(.pkp_page_index) .obj_galley_link:hover{
    transform:translateY(-1px)!important;
    box-shadow:0 7px 16px rgba(10,78,126,.18)!important;
}

/* Responsive */
@media(max-width:820px){
    body:not(.pkp_page_index) .page_issue_archive .issues_archive,
    body:not(.pkp_page_index) .page_issue_archive .issues{
        grid-template-columns:1fr!important;
    }
    body:not(.pkp_page_index) .obj_article_details .entry_details{
        border-left:0!important;
        border-top:1px solid #e0e9ef!important;
    }
}
/* =========================================================
   PARCHE: ELIMINAR LÍNEAS VERTICALES EN LA PÁGINA DE BÚSQUEDA
   Repositorio Académico / OJS 3.5
   Añadir AL FINAL de:
   plugins/generic/repositoryHomepage/styles/global.css
   ========================================================= */

/* La búsqueda debe usar una sola columna limpia */
body.pkp_page_search .pkp_structure_content,
body.pkp_page_search .pkp_structure_main,
body.pkp_page_search .page_search {
    border-left: 0 !important;
    border-right: 0 !important;
}

/* Neutraliza separadores heredados del layout del tema */
body.pkp_page_search .pkp_structure_content::before,
body.pkp_page_search .pkp_structure_content::after,
body.pkp_page_search .pkp_structure_main::before,
body.pkp_page_search .pkp_structure_main::after,
body.pkp_page_search .page_search::before,
body.pkp_page_search .page_search::after {
    content: none !important;
    display: none !important;
    border: 0 !important;
}

/* Evita columnas residuales del tema en la pantalla de búsqueda */
body.pkp_page_search .pkp_structure_content {
    display: block !important;
    max-width: 1180px !important;
}

body.pkp_page_search .pkp_structure_main {
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Si existe una barra lateral vacía en búsqueda, no reservar espacio */
body.pkp_page_search .pkp_structure_sidebar {
    display: none !important;
}

/* Mantiene la tarjeta exterior del contenido sin divisores internos */
body.pkp_page_search .pkp_structure_main {
    border: 1px solid #d9e6ee !important;
    border-radius: 10px !important;
}

/* En la búsqueda, no dibujar líneas verticales internas */
body.pkp_page_search .page_search,
body.pkp_page_search .page_search > *,
body.pkp_page_search .search_advanced,
body.pkp_page_search .search_results {
    border-left-color: transparent !important;
    border-right-color: transparent !important;
}
/* =========================================================
   PARCHE GLOBAL: ELIMINAR LÍNEAS VERTICALES DEL LAYOUT INTERNO
   Repositorio Académico / OJS 3.5
   Añadir AL FINAL de:
   plugins/generic/repositoryHomepage/styles/global.css
   ========================================================= */

/* 1. Eliminar pseudo-elementos del layout que dibujan
      separadores verticales heredados del tema OJS. */
body:not(.pkp_page_index) .pkp_structure_content::before,
body:not(.pkp_page_index) .pkp_structure_content::after,
body:not(.pkp_page_index) .pkp_structure_main::before,
body:not(.pkp_page_index) .pkp_structure_main::after {
    content: none !important;
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

/* 2. Convertir las páginas públicas internas en una sola columna.
      Esto evita que el tema reserve columnas laterales invisibles. */
body:not(.pkp_page_index) .pkp_structure_content {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    max-width: 1180px !important;
    margin-left: auto !important;
    margin-right: auto !important;

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

/* 3. El bloque principal conserva solo su tarjeta exterior,
      sin divisores verticales internos. */
body:not(.pkp_page_index) .pkp_structure_main {
    float: none !important;
    position: relative !important;
    width: 100% !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;

    border-left-color: #d9e6ee !important;
    border-right-color: #d9e6ee !important;

    background-image: none !important;
}

/* 4. Ocultar únicamente sidebars estructurales vacías.
      No afecta la columna de metadatos de las fichas de documentos. */
body:not(.pkp_page_index) .pkp_structure_sidebar:empty,
body:not(.pkp_page_index) .pkp_structure_sidebar[aria-hidden="true"] {
    display: none !important;
}

/* 5. Neutralizar líneas que el tema pueda generar en wrappers
      intermedios mediante bordes laterales. */
body:not(.pkp_page_index) .page,
body:not(.pkp_page_index) .page_about,
body:not(.pkp_page_index) .page_search,
body:not(.pkp_page_index) .page_issue,
body:not(.pkp_page_index) .page_issue_archive {
    border-left: 0 !important;
    border-right: 0 !important;
    background-image: none !important;
}

/* 6. Los pseudo-elementos de páginas internas no deben actuar
      como guías o divisores verticales. */
body:not(.pkp_page_index) .page::before,
body:not(.pkp_page_index) .page::after,
body:not(.pkp_page_index) .page_about::before,
body:not(.pkp_page_index) .page_about::after,
body:not(.pkp_page_index) .page_search::before,
body:not(.pkp_page_index) .page_search::after,
body:not(.pkp_page_index) .page_issue::before,
body:not(.pkp_page_index) .page_issue::after,
body:not(.pkp_page_index) .page_issue_archive::before,
body:not(.pkp_page_index) .page_issue_archive::after {
    content: none !important;
    display: none !important;
}

/* 7. Mantener la tarjeta exterior limpia y completa. */
body:not(.pkp_page_index) .pkp_structure_main {
    border: 1px solid #d9e6ee !important;
    border-radius: 10px !important;
    overflow: visible !important;
}

/* 8. Responsive */
@media (max-width: 820px) {
    body:not(.pkp_page_index) .pkp_structure_content {
        max-width: 100% !important;
    }
}
