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

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

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

/* --------------------------------------------------------------------------
   1. CABECERA Y BANNER PRINCIPAL (320px de alto con imagen)
   -------------------------------------------------------------------------- */
.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;
}

.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;
}

/* Ocultar texto plano que OJS imprime por defecto sobre el banner */
.pkp_structure_head .pkp_site_name_wrapper {
    display: none !important;
}

/* El elemento contenedor nav ocupa el 100% del alto del banner sin interferir en clicks */
#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;
}

/* --------------------------------------------------------------------------
   2. BARRA SUPERIOR DE USUARIO: Registrarse | Entrar (Arriba a la derecha)
   -------------------------------------------------------------------------- */
#headerNavigationContainer #navigationUserWrapper,
#headerNavigationContainer .pkp_navigation_user_wrapper,
.pkp_structure_head #navigationUserWrapper,
.pkp_structure_head .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: 2000 !important;
    width: auto !important;
    height: auto !important;
    display: block !important;
    box-sizing: border-box !important;
    pointer-events: auto !important;
}

.pkp_structure_head .pkp_navigation_user_wrapper ul,
.pkp_structure_head #navigationUser {
    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: 1rem !important;
    transform: none !important;
}

.pkp_structure_head .pkp_navigation_user_wrapper li {
    display: inline-block !important;
    margin: 0 !important;
    padding: 0 !important;
}

.pkp_structure_head .pkp_navigation_user_wrapper a,
.pkp_structure_head #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;
}

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

/* --------------------------------------------------------------------------
   3. MENÚ DE NAVEGACIÓN PRINCIPAL (Anclado a la base del banner, todo el ancho)
   -------------------------------------------------------------------------- */
#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 (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;
}

/* Botón Buscador en la barra */
.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;
}

/* --------------------------------------------------------------------------
   4. CONTENIDO PRINCIPAL (Tipografía, Encabezados y Artículos)
   -------------------------------------------------------------------------- */
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;
}

.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 {
    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;
}

