
/* =========================================================
   INCAING — CSS AJUSTE FINAL
   1) Banner y menú principal totalmente unidos
   2) Menú principal en guinda institucional
   3) Acceso al panel en blanco, compacto y arriba a la derecha
   4) Conserva barra lateral con tarjetas
   ========================================================= */

:root{
    --incaing-guinda:#6b1620;
    --incaing-guinda-hover:#7d1c28;
    --incaing-guinda-oscuro:#571019;
    --incaing-blanco:#ffffff;
}

/* =========================================================
   CABECERA / BANNER
   ========================================================= */

.pkp_structure_head{
    position:relative !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    outline:0 !important;
    box-shadow:none !important;

    background-color:#ffffff !important;
    background-repeat:no-repeat !important;
    background-position:center top !important;
    background-size:100% auto !important;
}

/* Oculta el nombre textual de OJS porque ya está en el banner */
.pkp_site_name,
.pkp_site_name .is_text,
.pkp_site_name_wrapper .is_text,
.pkp_site_name > a:not(.is_img){
    font-size:0 !important;
    line-height:0 !important;
    color:transparent !important;
    text-shadow:none !important;
    margin:0 !important;
    padding:0 !important;
}

/* Altura del banner */
.pkp_site_name_wrapper{
    width:100% !important;
    max-width:none !important;
    height:clamp(240px,22.6vw,455px) !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
    border:0 !important;
    box-shadow:none !important;
    background:transparent !important;
}

/* =========================================================
   ELIMINAR POR COMPLETO LA FRANJA ENTRE BANNER Y MENÚ
   ========================================================= */

.pkp_structure_head,
.pkp_site_name_wrapper,
.pkp_site_name,
.pkp_navigation_primary_row,
.pkp_navigation_primary_wrapper{
    border-bottom:0 !important;
    border-top:0 !important;
}

.pkp_site_name_wrapper{
    margin-bottom:-18px !important;
}

.pkp_navigation_primary_row{
    margin-top:-18px !important;
    padding-top:0 !important;
}

/* Quitar pseudoelementos que algunos temas usan como separadores */
.pkp_structure_head::before,
.pkp_structure_head::after,
.pkp_site_name_wrapper::before,
.pkp_site_name_wrapper::after,
.pkp_navigation_primary_row::before,
.pkp_navigation_primary_row::after,
.pkp_navigation_primary_wrapper::before,
.pkp_navigation_primary_wrapper::after{
    display:none !important;
    content:none !important;
}

/* =========================================================
   MENÚ PRINCIPAL
   ========================================================= */

.pkp_navigation_primary_row,
.pkp_navigation_primary_wrapper,
.pkp_navigation_primary{
    background:var(--incaing-guinda) !important;
    border:0 !important;
    box-shadow:none !important;
}

.pkp_navigation_primary > li > a,
.pkp_navigation_primary > li > button,
.pkp_navigation_search_wrapper a,
.pkp_navigation_search_wrapper button{
    color:#ffffff !important;
    font-weight:500 !important;
}

.pkp_navigation_primary > li > a:hover,
.pkp_navigation_primary > li > a:focus,
.pkp_navigation_primary > li > button:hover,
.pkp_navigation_primary > li > button:focus,
.pkp_navigation_primary ul a:hover,
.pkp_navigation_primary ul a:focus{
    background:var(--incaing-guinda-hover) !important;
    color:#ffffff !important;
}

.pkp_navigation_primary ul{
    background:var(--incaing-guinda) !important;
    border:0 !important;
}

/* =========================================================
   ACCESO AL PANEL / USUARIO
   Fondo blanco + texto guinda
   ========================================================= */

.pkp_navigation_user_wrapper{
    position:absolute !important;
    top:0 !important;
    right:18px !important;
    left:auto !important;
    width:auto !important;
    max-width:none !important;
    min-width:0 !important;
    height:auto !important;

    margin:0 !important;
    padding:0 !important;

    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    z-index:1000 !important;
}

.pkp_navigation_user{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;

    width:auto !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 8px !important;

    background:#ffffff !important;
    border:1px solid rgba(107,22,32,.16) !important;
    border-top:0 !important;
    border-radius:0 0 0 8px !important;
    box-shadow:0 2px 8px rgba(0,0,0,.12) !important;
}

.pkp_navigation_user > li{
    margin:0 !important;
}

.pkp_navigation_user > li > a,
.pkp_navigation_user > li > button{
    color:var(--incaing-guinda) !important;
    background:#ffffff !important;
    padding:7px 8px !important;
    font-size:13px !important;
    font-weight:600 !important;
    line-height:1.2 !important;
    white-space:nowrap !important;
}

.pkp_navigation_user > li > a:hover,
.pkp_navigation_user > li > a:focus,
.pkp_navigation_user > li > button:hover,
.pkp_navigation_user > li > button:focus{
    color:#ffffff !important;
    background:var(--incaing-guinda) !important;
}

/* Submenú del usuario */
.pkp_navigation_user ul{
    background:#ffffff !important;
    border:1px solid #eadede !important;
    box-shadow:0 4px 12px rgba(0,0,0,.12) !important;
}

.pkp_navigation_user ul a{
    color:var(--incaing-guinda) !important;
    background:#ffffff !important;
}

.pkp_navigation_user ul a:hover,
.pkp_navigation_user ul a:focus{
    background:#f7eeee !important;
    color:var(--incaing-guinda-oscuro) !important;
}

/* =========================================================
   CONTENIDO PRINCIPAL
   ========================================================= */

.pkp_structure_content{
    background:#ffffff !important;
}

.pkp_structure_main{
    padding-top:28px !important;
}

.pkp_structure_main h1,
.pkp_structure_main h2,
.pkp_structure_main h3{
    color:var(--incaing-guinda-oscuro) !important;
}

.pkp_structure_main a{
    color:var(--incaing-guinda) !important;
}

/* =========================================================
   BARRA LATERAL
   ========================================================= */

.pkp_structure_sidebar{
    background:#fbf7f7 !important;
    border-left:1px solid #efe4e4 !important;
    padding:28px 18px 30px 18px !important;
}

.pkp_structure_sidebar > div,
.pkp_structure_sidebar .pkp_block{
    background:#ffffff !important;
    border:1px solid #eadede !important;
    border-radius:12px !important;
    box-shadow:0 5px 16px rgba(79,6,6,.10) !important;
    margin-bottom:16px !important;
    padding:0 !important;
    overflow:hidden !important;
}

.pkp_structure_sidebar h2,
.pkp_structure_sidebar h3,
.pkp_structure_sidebar .title,
.pkp_structure_sidebar .pkp_block .title{
    background:var(--incaing-guinda) !important;
    color:#ffffff !important;
    border-radius:12px 12px 0 0 !important;
    margin:0 !important;
    padding:12px 16px !important;
    font-weight:700 !important;
}

.pkp_structure_sidebar .content,
.pkp_structure_sidebar .pkp_block .content{
    padding:14px 16px 16px !important;
}

.pkp_structure_sidebar img{
    max-width:100% !important;
    height:auto !important;
}

.pkp_structure_sidebar a{
    color:var(--incaing-guinda) !important;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (min-width:481px) and (max-width:768px){
    .pkp_structure_head{
        background-size:cover !important;
        background-position:center center !important;
    }

    .pkp_site_name_wrapper{
        height:190px !important;
        margin-bottom:-6px !important;
    }

    .pkp_navigation_primary_row{
        margin-top:-6px !important;
    }

    .pkp_navigation_user_wrapper{
        position:static !important;
        width:100% !important;
        background:#ffffff !important;
    }

    .pkp_navigation_user{
        width:100% !important;
        border-radius:0 !important;
        justify-content:flex-end !important;
    }
}

@media (max-width:480px){
    .pkp_structure_head{
        background-size:cover !important;
        background-position:center center !important;
    }

    .pkp_site_name_wrapper{
        height:135px !important;
        margin-bottom:-4px !important;
    }

    .pkp_navigation_primary_row{
        margin-top:-4px !important;
    }

    .pkp_navigation_user_wrapper{
        position:static !important;
        width:100% !important;
        background:#ffffff !important;
    }

    .pkp_navigation_user{
        width:100% !important;
        border-radius:0 !important;
        justify-content:flex-end !important;
    }

    .pkp_structure_sidebar{
        padding:12px !important;
    }
}


/* INCAING — AJUSTE CORTO
   Pegar banner y menú sin modificar el resto del diseño.
   Añadir AL FINAL del CSS que actualmente funciona.
*/

/* 1. Quitar cualquier espacio inferior del área del banner */
.pkp_site_name_wrapper {
    margin-bottom: -1px !important;
    padding-bottom: 0 !important;
    border-bottom: 0 !important;
}

/* 2. Pegar inmediatamente el menú de navegación al banner */
.pkp_navigation_primary_row {
    margin-top: -1px !important;
    padding-top: 0 !important;
    border-top: 0 !important;
    box-shadow: none !important;
}

/* 3. Evitar que contenedores internos de OJS creen la franja blanca */
.pkp_navigation_primary_wrapper,
.pkp_structure_head {
    border-bottom: 0 !important;
    padding-bottom: 0 !important;
    box-shadow: none !important;
}

/* 4. Eliminar pseudo-elementos/separadores del tema */
.pkp_site_name_wrapper::after,
.pkp_navigation_primary_row::before {
    content: none !important;
    display: none !important;
}

/* 5. Ajuste de precisión para escritorio */
@media (min-width: 769px) {
    .pkp_site_name_wrapper {
        margin-bottom: -14px !important;
    }

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

/* 6. En móvil evitamos solapamientos */
@media (max-width: 768px) {
    .pkp_site_name_wrapper {
        margin-bottom: -2px !important;
    }

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

/* =========================================================
   INCAING — CORRECCIÓN DEFINITIVA
   Elimina la franja blanca residual entre el banner y el menú
   sin modificar panel de usuario, barra lateral ni demás estilos.
   ========================================================= */

@media (min-width: 769px) {

    /* Recorta exclusivamente el espacio inferior sobrante del contenedor */
    .pkp_site_name_wrapper {
        height: calc(clamp(240px, 22.6vw, 455px) - 34px) !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        overflow: hidden !important;
    }

    /* El menú sube exactamente hasta tocar el banner */
    .pkp_navigation_primary_row {
        margin-top: 0 !important;
        padding-top: 0 !important;
        border-top: 0 !important;
        box-shadow: none !important;
    }

    .pkp_navigation_primary_wrapper {
        margin-top: 0 !important;
        padding-top: 0 !important;
        border-top: 0 !important;
    }

    /* Evita cualquier separación creada por el encabezado */
    .pkp_structure_head {
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
        border-bottom: 0 !important;
        box-shadow: none !important;
    }
}

/* Elimina pseudo-elementos/separadores que pudiera inyectar el tema */
.pkp_structure_head::after,
.pkp_site_name_wrapper::after,
.pkp_navigation_primary_row::before,
.pkp_navigation_primary_wrapper::before {
    content: none !important;
    display: none !important;
}

/* Mantener la unión también en tablet y móvil */
@media (max-width: 768px) {
    .pkp_site_name_wrapper {
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
        border-bottom: 0 !important;
    }

    .pkp_navigation_primary_row {
        margin-top: 0 !important;
        padding-top: 0 !important;
        border-top: 0 !important;
    }
}

/* =========================================================
   INCAING — AJUSTE ULTRAFINO FINAL
   Reduce los últimos píxeles de separación entre banner y menú.
   ========================================================= */

@media (min-width: 769px) {
    .pkp_site_name_wrapper {
        height: calc(clamp(240px, 22.6vw, 455px) - 50px) !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
    }

    .pkp_navigation_primary_row {
        margin-top: -1px !important;
        padding-top: 0 !important;
        border-top: 0 !important;
    }

    .pkp_navigation_primary_wrapper {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }
}

/* =========================================================
   INCAING — DISEÑO EDITORIAL DE BARRA LATERAL
   Se añade sobre la versión definitiva ya funcional.
   No modifica banner, navegación ni panel de usuario.
   ========================================================= */

/* Fondo general de la columna lateral */
.pkp_structure_sidebar {
    background: #fbf7f7 !important;
    border-left: 1px solid #eadede !important;
    padding: 26px 18px 32px !important;
    box-sizing: border-box !important;
}

/* Cada módulo se presenta como tarjeta */
.pkp_structure_sidebar .pkp_block {
    background: #ffffff !important;
    border: 1px solid #eadede !important;
    border-radius: 12px !important;
    box-shadow: 0 5px 16px rgba(101, 16, 25, 0.08) !important;
    margin: 0 0 18px 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}

/* Encabezados de módulos */
.pkp_structure_sidebar .pkp_block > .title,
.pkp_structure_sidebar .pkp_block .title {
    display: block !important;
    background: #651019 !important;
    color: #ffffff !important;
    margin: 0 !important;
    padding: 12px 16px !important;
    border: 0 !important;
    border-radius: 0 !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
}

/* Contenido interior de cada tarjeta */
.pkp_structure_sidebar .pkp_block > .content,
.pkp_structure_sidebar .pkp_block .content {
    background: #ffffff !important;
    padding: 14px 16px 17px !important;
    margin: 0 !important;
}

/* Separadores internos */
.pkp_structure_sidebar .pkp_block ul {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.pkp_structure_sidebar .pkp_block li {
    padding: 8px 0 !important;
    border-bottom: 1px solid #f0e6e6 !important;
}

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

/* Enlaces */
.pkp_structure_sidebar a {
    color: #651019 !important;
    text-decoration: none !important;
    transition: color .2s ease !important;
}

.pkp_structure_sidebar a:hover,
.pkp_structure_sidebar a:focus {
    color: #8a1b28 !important;
    text-decoration: underline !important;
}

/* Imágenes de indexadores, portadas, etc. */
.pkp_structure_sidebar img {
    max-width: 100% !important;
    height: auto !important;
}

/* Ajuste específico para bloques personalizados */
.pkp_structure_sidebar .block_custom {
    box-sizing: border-box !important;
}

/* Responsive: en móvil la barra lateral deja de parecer una columna separada */
@media (max-width: 768px) {
    .pkp_structure_sidebar {
        background: transparent !important;
        border-left: 0 !important;
        padding: 18px 12px 24px !important;
    }

    .pkp_structure_sidebar .pkp_block {
        margin-bottom: 16px !important;
    }
}

/* =========================================================
   INCAING — VERSIÓN FINAL: FONDO EDITORIAL DE BARRA LATERAL
   Mejora únicamente el área que contiene los módulos.
   No modifica banner, menú principal ni contenido central.
   ========================================================= */

/* Fondo institucional suave de toda la columna lateral */
.pkp_structure_sidebar {
    position: relative !important;
    background:
        linear-gradient(
            180deg,
            #fbf7f7 0%,
            #f9f2f3 52%,
            #ffffff 100%
        ) !important;
    border-left: 1px solid #eadede !important;
    padding: 28px 20px 34px !important;
    box-sizing: border-box !important;
}

/* Línea institucional sutil que separa contenido y recursos */
.pkp_structure_sidebar::before {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    top: 24px !important;
    bottom: 24px !important;
    left: 0 !important;
    width: 3px !important;
    background:
        linear-gradient(
            180deg,
            rgba(101,16,25,.65) 0%,
            rgba(101,16,25,.20) 42%,
            rgba(101,16,25,.05) 100%
        ) !important;
    border-radius: 0 3px 3px 0 !important;
}

/* Más aire alrededor de las tarjetas */
.pkp_structure_sidebar .pkp_block {
    margin-bottom: 20px !important;
}

/* Refinar el aspecto de las tarjetas existentes */
.pkp_structure_sidebar .pkp_block {
    box-shadow:
        0 6px 18px rgba(101,16,25,.075),
        0 1px 2px rgba(0,0,0,.035) !important;
}

/* Ligero realce al encabezado sin cambiar el color institucional */
.pkp_structure_sidebar .pkp_block > .title,
.pkp_structure_sidebar .pkp_block .title {
    background:
        linear-gradient(
            90deg,
            #651019 0%,
            #741521 100%
        ) !important;
}

/* Fondo limpio para el interior */
.pkp_structure_sidebar .pkp_block > .content,
.pkp_structure_sidebar .pkp_block .content {
    background: #ffffff !important;
}

/* Evitar bloques vacíos decorativos antes de títulos */
.pkp_structure_sidebar .pkp_block > :empty {
    display: none !important;
}

/* Corrección específica para espacios/barras vacías antes de Contacto principal */
.pkp_structure_sidebar .pkp_block > div:empty,
.pkp_structure_sidebar .pkp_block > span:empty,
.pkp_structure_sidebar .pkp_block > p:empty {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
}

/* Si el bloque Contacto principal hereda un encabezado duplicado vacío,
   se elimina cualquier elemento inmediatamente anterior que no tenga contenido */
.pkp_structure_sidebar .pkp_block .title + .title:empty,
.pkp_structure_sidebar .pkp_block h2:empty,
.pkp_structure_sidebar .pkp_block h3:empty {
    display: none !important;
}

/* Indexadores: centrar mejor las imágenes */
.pkp_structure_sidebar .pkp_block img {
    display: block !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Enlaces laterales más refinados */
.pkp_structure_sidebar a {
    color: #651019 !important;
}

.pkp_structure_sidebar a:hover,
.pkp_structure_sidebar a:focus {
    color: #8a1b28 !important;
}

/* Responsive */
@media (max-width: 768px) {
    .pkp_structure_sidebar {
        background: #ffffff !important;
        border-left: 0 !important;
        padding: 18px 12px 24px !important;
    }

    .pkp_structure_sidebar::before {
        display: none !important;
    }

    .pkp_structure_sidebar .pkp_block {
        margin-bottom: 16px !important;
    }
}
