:root {
    --primary: #0077b6;
    --secondary: #1e293b;
}

/* CSS Personalizado del Usuario */
/* ==========================================================================
   TEMA REVISTA AQUALEX (WATERKEEPER ALLIANCE)
   Compatible 100% con OJS 3.5 y OJS 3.4 (Desktop y Móvil)
   ========================================================================== */

:root {
    --primary-color: #0077b6;
    --primary-hover-color: #0096c7;
    --second-color: #1e293b;
    --third-color: #e2e8f0;
    --header-blue: #002b57;
    --header-overlay: rgba(0, 43, 73, 0.88);
}

/* --------------------------------------------------------------------------
   1. ESTILOS GENERALES Y BASE
   -------------------------------------------------------------------------- */
body {
    background-color: #f8fafc;
    color: #1e293b;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

a {
    color: var(--primary-color);
    text-decoration: none;
}

a:hover {
    color: var(--primary-hover-color);
    text-decoration: underline;
}

/* Ocultar únicamente el texto plano del título impreso sobre el banner */
.pkp_structure_head .pkp_site_name,
.pkp_structure_head .pkp_site_name a,
.pkp_structure_head .pkp_site_name h1,
.pkp_structure_head h1.is_text,
.pkp_structure_head .pkp_screen_reader {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
}

/* --------------------------------------------------------------------------
   2. VISTA DE ESCRITORIO (Desktop >= 992px)
   -------------------------------------------------------------------------- */
@media (min-width: 992px) {
    .pkp_site_nav_toggle {
        display: none !important;
    }

    /* Cabecera y Banner en Desktop */
    #headerNavigationContainer.pkp_structure_head,
    .pkp_structure_head {
        background-color: #002b57 !important;
        background-image: url("../images/banner_aqualex.png"), url("images/banner_aqualex.png"), linear-gradient(90deg, #002b57 0%, #003d75 25%, #005a8e 50%, #0085c7 75%, #0ea5e9 100%) !important;
        background-size: contain, contain, cover !important;
        background-position: center center, center center, center center !important;
        background-repeat: no-repeat, no-repeat, no-repeat !important;
        height: 350px !important;
        min-height: 350px !important;
        position: relative !important;
        border-bottom: 4px solid var(--primary-color) !important;
        box-sizing: border-box !important;
        overflow: visible !important;
    }

    #headerNavigationContainer .pkp_head_wrapper,
    .pkp_head_wrapper {
        position: relative !important;
        height: 350px !important;
        min-height: 350px !important;
        max-width: 100% !important;
        width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }

    /* Contenedor nav a pantalla completa sin bloquear clics */
    #headerNavigationContainer .pkp_site_nav_menu,
    .pkp_structure_head .pkp_site_nav_menu {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        width: 100% !important;
        height: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        pointer-events: none !important;
        z-index: 1000 !important;
        display: block !important;
    }

    /* Barra Superior de Usuario: Registrarse | Entrar (Fijada arriba a la derecha) */
    /* Barra Superior de Usuario: Registrarse | Entrar (Fijada arriba a la derecha) */
    html body #headerNavigationContainer #navigationUserWrapper,
    html body #headerNavigationContainer .pkp_navigation_user_wrapper,
    html body .pkp_structure_head #navigationUserWrapper,
    html body .pkp_structure_head .pkp_navigation_user_wrapper,
    html body #navigationUserWrapper,
    html body .pkp_navigation_user_wrapper {
        position: absolute !important;
        top: 0 !important;
        right: 0 !important;
        left: auto !important;
        bottom: auto !important;
        transform: none !important;
        -webkit-transform: none !important;
        background-color: var(--header-overlay) !important;
        color: #ffffff !important;
        padding: 6px 1.5rem !important;
        border-radius: 0 0 0 6px !important;
        border-bottom-left-radius: 6px !important;
        z-index: 99999 !important;
        width: auto !important;
        max-width: fit-content !important;
        min-width: 0 !important;
        height: auto !important;
        display: flex !important;
        justify-content: flex-end !important;
        align-items: center !important;
        box-sizing: border-box !important;
        pointer-events: auto !important;
        float: none !important;
        margin: 0 !important;
    }

    html body .pkp_structure_head .pkp_navigation_user_wrapper ul,
    html body .pkp_structure_head #navigationUser,
    html body #headerNavigationContainer #navigationUser,
    html body #navigationUser,
    html body ul.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: auto !important;
        max-width: fit-content !important;
        min-width: 0 !important;
        gap: 1rem !important;
        transform: none !important;
        float: none !important;
    }

    html body .pkp_structure_head .pkp_navigation_user_wrapper li,
    html body #navigationUser li {
        display: inline-block !important;
        margin: 0 !important;
        padding: 0 !important;
        float: none !important;
        width: auto !important;
    }

    html body .pkp_structure_head .pkp_navigation_user_wrapper a,
    html body #navigationUser a {
        color: #ffffff !important;
        text-decoration: none !important;
        font-size: 13px !important;
        font-weight: 600 !important;
        padding: 4px 8px !important;
        display: inline-block !important;
        pointer-events: auto !important;
        cursor: pointer !important;
    }

    html body .pkp_structure_head .pkp_navigation_user_wrapper a:hover,
    html body #navigationUser a:hover {
        color: #93c5fd !important;
        text-decoration: underline !important;
    }

    /* Menú de Navegación Principal en Desktop */
    #headerNavigationContainer .pkp_navigation_primary_row,
    .pkp_structure_head .pkp_navigation_primary_row {
        position: absolute !important;
        bottom: 0 !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        background-color: rgba(0, 0, 0, 0.65) !important;
        backdrop-filter: blur(8px) !important;
        -webkit-backdrop-filter: blur(8px) !important;
        margin: 0 !important;
        padding: 0 !important;
        display: block !important;
        box-sizing: border-box !important;
        z-index: 1500 !important;
        pointer-events: auto !important;
    }

    .pkp_structure_head .pkp_navigation_primary_wrapper {
        display: flex !important;
        flex-direction: row !important;
        justify-content: space-between !important;
        align-items: center !important;
        max-width: 1300px !important;
        width: 100% !important;
        margin: 0 auto !important;
        padding: 0 1.5rem !important;
        box-sizing: border-box !important;
        min-height: 48px !important;
    }

    .pkp_structure_head .pkp_navigation_primary,
    .pkp_structure_head #navigationPrimary {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        list-style: none !important;
        margin: 0 !important;
        padding: 0 !important;
        border: none !important;
        gap: 0.25rem !important;
        flex-wrap: wrap !important;
    }

    .pkp_structure_head .pkp_navigation_primary > li {
        position: relative !important;
        display: inline-block !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .pkp_structure_head .pkp_navigation_primary > li > a,
    .pkp_structure_head #navigationPrimary > li > a {
        color: #ffffff !important;
        font-size: 0.95rem !important;
        font-weight: 600 !important;
        padding: 12px 18px !important;
        display: block !important;
        text-decoration: none !important;
        transition: background-color 0.2s ease, color 0.2s ease !important;
        pointer-events: auto !important;
        cursor: pointer !important;
        border: none !important;
    }

    .pkp_structure_head .pkp_navigation_primary > li > a:hover,
    .pkp_structure_head .pkp_navigation_primary > li:hover > a,
    .pkp_structure_head #navigationPrimary > li > a:hover,
    .pkp_structure_head #navigationPrimary > li:hover > a {
        background-color: var(--primary-color) !important;
        color: #ffffff !important;
        border-radius: 4px !important;
    }

    /* Submenús desplegables en Desktop (Acerca de ▾) */
    .pkp_structure_head .pkp_navigation_primary ul,
    .pkp_structure_head #navigationPrimary ul {
        display: none !important;
        position: absolute !important;
        top: 100% !important;
        left: 0 !important;
        background: #ffffff !important;
        box-shadow: 0 8px 20px rgba(0, 0, 0, 0.25) !important;
        border-radius: 4px !important;
        padding: 0.5rem 0 !important;
        min-width: 220px !important;
        z-index: 10000 !important;
        list-style: none !important;
        margin: 0 !important;
        transform: none !important;
    }

    .pkp_structure_head .pkp_navigation_primary li:hover > ul,
    .pkp_structure_head #navigationPrimary li:hover > ul {
        display: block !important;
    }

    .pkp_structure_head .pkp_navigation_primary ul li,
    .pkp_structure_head #navigationPrimary ul li {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .pkp_structure_head .pkp_navigation_primary ul li a,
    .pkp_structure_head #navigationPrimary ul li a {
        color: var(--second-color) !important;
        padding: 10px 18px !important;
        font-size: 0.9rem !important;
        text-decoration: none !important;
        display: block !important;
        transition: background 0.15s ease, color 0.15s ease !important;
        pointer-events: auto !important;
        cursor: pointer !important;
        text-align: left !important;
    }

    .pkp_structure_head .pkp_navigation_primary ul li a:hover,
    .pkp_structure_head #navigationPrimary ul li a:hover {
        color: #ffffff !important;
        background: var(--primary-color) !important;
    }

    /* Buscador en Desktop */
    .pkp_structure_head .pkp_navigation_search_wrapper {
        display: flex !important;
        align-items: center !important;
        margin: 0 !important;
        padding: 0 !important;
        border: none !important;
    }

    .pkp_structure_head .pkp_navigation_search_wrapper a,
    .pkp_structure_head .pkp_search {
        background: var(--second-color) !important;
        color: #ffffff !important;
        border-radius: 4px !important;
        padding: 8px 18px !important;
        font-size: 0.9rem !important;
        font-weight: 600 !important;
        text-decoration: none !important;
        border: none !important;
        display: inline-flex !important;
        align-items: center !important;
        gap: 8px !important;
        cursor: pointer !important;
        pointer-events: auto !important;
        transition: background-color 0.2s ease !important;
    }

    .pkp_structure_head .pkp_search:hover,
    .pkp_structure_head .pkp_navigation_search_wrapper a:hover {
        background: #0f172a !important;
        color: #ffffff !important;
    }
}

/* --------------------------------------------------------------------------
   3. VISTA MÓVIL Y TABLET (Mobile / Tablet < 992px)
   -------------------------------------------------------------------------- */
@media (max-width: 991px) {
    /* Cabecera Móvil: Proporcional y nítida */
    #headerNavigationContainer.pkp_structure_head,
    .pkp_structure_head {
        background-color: #002b57 !important;
        background-image: url("../images/banner_aqualex.png"), url("images/banner_aqualex.png") !important;
        background-size: cover !important;
        background-position: center center !important;
        background-repeat: no-repeat !important;
        height: 130px !important;
        min-height: 130px !important;
        position: relative !important;
        border-bottom: 3px solid var(--primary-color) !important;
        box-sizing: border-box !important;
        overflow: visible !important;
    }

    #headerNavigationContainer .pkp_head_wrapper,
    .pkp_head_wrapper {
        position: relative !important;
        height: 130px !important;
        min-height: 130px !important;
        width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }

    .pkp_structure_head .pkp_site_name_wrapper {
        display: block !important;
        position: static !important;
        height: 0 !important;
    }

    /* Botón Hamburguesa Moderno y Visible */
    .pkp_site_nav_toggle {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        position: absolute !important;
        top: 10px !important;
        right: 12px !important;
        left: auto !important;
        width: 44px !important;
        height: 44px !important;
        background: rgba(0, 34, 61, 0.88) !important;
        border: 1.5px solid rgba(255, 255, 255, 0.3) !important;
        border-radius: 8px !important;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.35) !important;
        cursor: pointer !important;
        z-index: 99999 !important;
        backdrop-filter: blur(4px) !important;
        -webkit-backdrop-filter: blur(4px) !important;
    }

    .pkp_site_nav_toggle > span {
        position: absolute !important;
        top: 50% !important;
        left: 50% !important;
        transform: translate(-50%, -50%) !important;
        width: 20px !important;
        height: 14px !important;
        border-bottom: 2.5px solid #ffffff !important;
        text-indent: -9999px !important;
        overflow: hidden !important;
    }

    .pkp_site_nav_toggle > span:before,
    .pkp_site_nav_toggle > span:after {
        content: "" !important;
        position: absolute !important;
        left: 0 !important;
        width: 100% !important;
        height: 2.5px !important;
        background: #ffffff !important;
    }

    .pkp_site_nav_toggle > span:before {
        top: 0 !important;
    }

    .pkp_site_nav_toggle > span:after {
        top: 6px !important;
    }

    /* Menú Desplegable Móvil */
    .pkp_site_nav_menu {
        display: none !important;
        position: absolute !important;
        top: 130px !important;
        left: 0 !important;
        width: 100% !important;
        background: #001f38 !important;
        padding: 1.25rem 1.25rem 2rem !important;
        box-sizing: border-box !important;
        z-index: 99990 !important;
        box-shadow: 0 16px 32px rgba(0, 0, 0, 0.5) !important;
        border-top: 2px solid var(--primary-color) !important;
    }

    /* Menú abierto */
    .pkp_site_nav_menu.pkp_site_nav_menu--isOpen,
    body.navIsOpen .pkp_site_nav_menu {
        display: flex !important;
        flex-direction: column !important;
    }

    /* Barra de usuario en móvil: Botones Registrarse | Entrar al inicio */
    .pkp_structure_head .pkp_navigation_user_wrapper,
    #headerNavigationContainer #navigationUserWrapper {
        order: -1 !important;
        position: static !important;
        display: block !important;
        width: 100% !important;
        background: transparent !important;
        padding: 0 0 1rem 0 !important;
        margin-bottom: 1rem !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.12) !important;
    }

    .pkp_structure_head .pkp_navigation_user_wrapper ul,
    .pkp_structure_head #navigationUser {
        display: flex !important;
        flex-direction: row !important;
        justify-content: center !important;
        gap: 12px !important;
        list-style: none !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .pkp_structure_head .pkp_navigation_user_wrapper a,
    .pkp_structure_head #navigationUser a {
        display: inline-block !important;
        background: var(--primary-color) !important;
        color: #ffffff !important;
        font-weight: 700 !important;
        font-size: 0.9rem !important;
        padding: 8px 18px !important;
        border-radius: 50px !important;
        text-decoration: none !important;
        box-shadow: 0 2px 6px rgba(0, 119, 182, 0.3) !important;
    }

    /* Menú de navegación principal en móvil */
    .pkp_structure_head .pkp_navigation_primary_row {
        position: static !important;
        display: block !important;
        width: 100% !important;
        background: transparent !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .pkp_structure_head .pkp_navigation_primary_wrapper {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        padding: 0 !important;
        width: 100% !important;
    }

    .pkp_structure_head .pkp_navigation_primary,
    .pkp_structure_head #navigationPrimary {
        display: flex !important;
        flex-direction: column !important;
        gap: 4px !important;
        width: 100% !important;
        list-style: none !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .pkp_structure_head .pkp_navigation_primary > li {
        width: 100% !important;
        display: block !important;
    }

    .pkp_structure_head .pkp_navigation_primary > li > a,
    .pkp_structure_head #navigationPrimary > li > a {
        display: block !important;
        padding: 12px 14px !important;
        color: #ffffff !important;
        font-size: 1rem !important;
        font-weight: 600 !important;
        text-decoration: none !important;
        border-radius: 6px !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
    }

    .pkp_structure_head .pkp_navigation_primary > li > a:hover {
        background: rgba(255, 255, 255, 0.1) !important;
    }

    /* Submenú en móvil (Acerca de) */
    .pkp_structure_head .pkp_navigation_primary ul,
    .pkp_structure_head #navigationPrimary ul {
        display: block !important;
        position: static !important;
        background: rgba(0, 0, 0, 0.25) !important;
        box-shadow: none !important;
        border-radius: 6px !important;
        border-left: 3px solid var(--primary-color) !important;
        padding: 6px 0 !important;
        margin: 4px 0 8px 1rem !important;
        list-style: none !important;
    }

    .pkp_structure_head .pkp_navigation_primary ul li a,
    .pkp_structure_head #navigationPrimary ul li a {
        display: block !important;
        padding: 8px 14px !important;
        color: #94a3b8 !important;
        font-size: 0.9rem !important;
        text-decoration: none !important;
    }

    .pkp_structure_head .pkp_navigation_primary ul li a:hover {
        color: #ffffff !important;
    }

    /* Buscador en móvil */
    .pkp_structure_head .pkp_navigation_search_wrapper {
        margin-top: 1.25rem !important;
        width: 100% !important;
        display: block !important;
    }

    .pkp_structure_head .pkp_navigation_search_wrapper a,
    .pkp_structure_head .pkp_search {
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        width: 100% !important;
        padding: 12px 16px !important;
        background: var(--second-color) !important;
        color: #ffffff !important;
        border-radius: 6px !important;
        font-weight: 600 !important;
        text-align: center !important;
        text-decoration: none !important;
        box-sizing: border-box !important;
    }

    /* Ajuste de Contenido y Barra Lateral en Móvil */
    .pkp_structure_content {
        flex-direction: column !important;
        padding: 1.25rem 1rem !important;
        gap: 2rem !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    .pkp_structure_main {
        width: 100% !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }

    .pkp_structure_sidebar {
        width: 100% !important;
        margin-top: 1.5rem !important;
        box-sizing: border-box !important;
    }
}

/* --------------------------------------------------------------------------
   4. CONTENIDO PRINCIPAL (Tipografía, Encabezados y Artículos)
   -------------------------------------------------------------------------- */
.current_issue h2,
.homepage_issue h2,
.obj_issue_summary h2,
.section > h2,
.page_title,
.homepage_about h2 {
    color: var(--primary-color) !important;
    font-weight: 700 !important;
    font-size: 1.6rem;
    margin-bottom: 1.25rem;
    border-bottom: 2px solid #e2e8f0;
    padding-bottom: 0.5rem;
}

.current_issue .issue_title,
.current_issue h3 {
    color: #0f172a;
    font-weight: 700;
    font-size: 1.2rem;
    margin-top: 0.5rem;
    margin-bottom: 1rem;
}

.current_issue .description {
    font-style: italic;
    color: #334155;
    line-height: 1.6;
    font-size: 0.95rem;
}

.current_issue .published {
    font-size: 0.875rem;
    color: #64748b;
    font-weight: 600;
    margin-top: 1rem;
}

/* Botones de Galeradas (PDF, HTML) */
.obj_galley_link {
    color: var(--primary-color) !important;
    border: 1px solid var(--primary-color) !important;
    padding: 6px 14px;
    border-radius: 4px;
    font-weight: 600;
    text-decoration: none;
    display: inline-block;
    transition: all 0.2s ease;
}

.obj_galley_link:hover {
    background: var(--primary-color) !important;
    color: #ffffff !important;
}

/* --------------------------------------------------------------------------
   5. BARRA LATERAL (Sidebar Revista Aqualex)
   -------------------------------------------------------------------------- */
/* Botón Enviar Artículo (CTA Destacado) */
.block_make_submission,
.pkp_block.block_make_submission {
    margin-bottom: 1.75rem !important;
    padding-top: 0 !important;
}

.block_make_submission_link,
.pkp_block.block_make_submission a {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    background: var(--primary-color) !important;
    color: #ffffff !important;
    border: none !important;
    padding: 12px 18px !important;
    border-radius: 50px !important;
    font-weight: bold !important;
    font-size: 0.95rem !important;
    text-decoration: none !important;
    box-shadow: 0 4px 8px rgba(0, 119, 182, 0.25) !important;
    transition: all 0.25s ease !important;
    box-sizing: border-box !important;
}

.block_make_submission_link:hover,
.pkp_block.block_make_submission a:hover {
    background: var(--primary-hover-color) !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 6px 12px rgba(0, 119, 182, 0.35) !important;
}

/* Encabezados de Bloques (Slate Oscuro) */
.pkp_structure_sidebar .title,
.pkp_block .title,
.sidebar-block .title {
    text-align: center !important;
    color: #ffffff !important;
    background: var(--second-color) !important;
    padding: 10px 14px !important;
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    border-radius: 4px 4px 0 0 !important;
    margin-bottom: 12px !important;
}

/* Selector de Idioma */
.block_language ul,
.pkp_block.block_language ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.block_language li,
.pkp_block.block_language li {
    padding: 6px 0 !important;
}

.block_language a {
    color: #334155 !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    font-size: 0.9rem !important;
}

.block_language a:hover,
.block_language a.locale_current,
.block_language li.current a,
.block_language_toggle a:hover,
.block_language_toggle a.locale_current {
    color: var(--primary-color) !important;
    font-weight: 700 !important;
}

/* Bloque de Información (Botones Píldora Gris Suave) */
.block_information a,
.btn-custom {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    background: var(--third-color) !important;
    color: var(--second-color) !important;
    border: none !important;
    padding: 10px 14px !important;
    border-radius: 50px !important;
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    margin-bottom: 10px !important;
    box-sizing: border-box !important;
    transition: all 0.2s ease !important;
}

.block_information a:hover,
.btn-custom:hover {
    background: #cbd5e1 !important;
    color: var(--primary-color) !important;
}

/* Bloque de Feeds RSS/Atom */
.block_web_feed .content {
    text-align: center !important;
    padding: 8px 0 !important;
}
.block_web_feed a {
    margin: 0 4px !important;
}

