/*
 * ============================================================
 *  REVISTA DERECHO Y SALUD — CSS personalizado OJS
 *  Cargar en: Configuracion > Sitio web > Apariencia > Hoja de estilos
 *  Color primario: #eab818
 * ============================================================
 */

/* ── TIPOGRAFIA ─────────────────────────────────────────────
   Nunito Sans: familia sans-serif libre, similar a Helvetica
   ────────────────────────────────────────────────────────── */
@import url('https://fonts.googleapis.com/css2?family=Nunito+Sans:wght@300;400;600;700;800&display=swap');

/* ── VARIABLES ──────────────────────────────────────────────*/
:root {
    --rdys-primary:       #eab818;
    --rdys-primary-dark:  #c99a0e;
    --rdys-primary-light: #fdf3cc;
    --rdys-dark:          #1a1a2e;
    --rdys-text:          #2c2c2c;
    --rdys-text-mid:      #555555;
    --rdys-text-light:    #ffffff;
    --rdys-border:        #e8e0cc;
    --rdys-bg:            #fafaf8;
    --rdys-header-h:      220px;
    --rdys-nav-h:         46px;
    --rdys-font:          'Nunito Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    --rdys-radius:        4px;
}

/* ── RESET BASE ─────────────────────────────────────────────*/
body {
    font-family: var(--rdys-font) !important;
    background-color: var(--rdys-bg) !important;
    color: var(--rdys-text) !important;
}

/* ═══════════════════════════════════════════════════════════
   1. OCULTAR HEADER DEL PORTAL
   Reemplaza los selectores si el portal usa otros distintos
   ═══════════════════════════════════════════════════════════ */
#navigationUserWrapper,
.pkp_navigation_user,
.pkp_site_name_wrapper,
.pkp_head_wrapper > .pkp_site_name,
.pkp_structure_head > *:not(.rdys-hero):not(.pkp_navigation_primary_row) {
    display: none !important;
}

/* Ocultar todo el head nativo de OJS */
.pkp_structure_head {
    padding: 0 !important;
    margin: 0 !important;
    background: none !important;
    min-height: 0 !important;
    height: auto !important;
}

/* Pero mantener visible la banda de navegacion primaria */
.pkp_navigation_primary_row {
    display: flex !important;
}

/* ═══════════════════════════════════════════════════════════
   2. HEADER HERO CON IMAGEN DE FONDO
   ═══════════════════════════════════════════════════════════ */


/* Contenedor del hero */
.rdys-hero {
    position: relative;
    width: 100%;
    height: var(--rdys-header-h);
    background-image:
        linear-gradient(
            to bottom,
            rgba(26, 26, 46, 0.60) 0%,
            rgba(26, 26, 46, 0.78) 100%
        ),
        url('https://revistas.ubp.edu.ar/index.php/rdys/libraryFiles/downloadPublic/4');
    background-size: cover;
    background-position: center 30%;
    display: flex;
    align-items: center;
    padding: 0 40px;
    box-sizing: border-box;
    gap: 32px;
}

/* Logos izquierda */
.rdys-hero__logos {
    display: flex;
    align-items: center;
    gap: 20px;
    flex-shrink: 0;
}

.rdys-hero__logo {
    height: 72px;
    width: auto;
    object-fit: contain;
    opacity: 0.92;
    transition: opacity 0.2s;
    filter: brightness(1.1);
}

.rdys-hero__logo:hover {
    opacity: 1;
}

.rdys-hero__logo-sep {
    width: 1px;
    height: 52px;
    background: rgba(255, 255, 255, 0.35);
    flex-shrink: 0;
}

/* Titulo central */
.rdys-hero__title {
    flex: 1;
    text-align: center;
}

.rdys-hero__title-main {
    display: block;
    font-family: var(--rdys-font);
    font-size: clamp(1.4rem, 2.8vw, 2.1rem);
    font-weight: 800;
    color: var(--rdys-text-light);
    letter-spacing: 0.02em;
    line-height: 1.2;
    text-shadow: 0 2px 8px rgba(0,0,0,0.4);
}

.rdys-hero__title-main em {
    font-style: normal;
    color: var(--rdys-primary);
}

.rdys-hero__title-sub {
    display: block;
    font-size: 0.78rem;
    font-weight: 400;
    color: rgba(255,255,255,0.80);
    letter-spacing: 0.18em;
    text-transform: uppercase;
    margin-top: 8px;
}

/* Pad derecho para equilibrar */
.rdys-hero__right-pad {
    flex-shrink: 0;
    width: 172px;
}

/* ═══════════════════════════════════════════════════════════
   3. BANDA DE NAVEGACION PRIMARIA
   ═══════════════════════════════════════════════════════════ */
.pkp_navigation_primary_row {
    background-color: var(--rdys-primary) !important;
    border-top: none !important;
    border-bottom: 3px solid var(--rdys-primary-dark) !important;
    min-height: var(--rdys-nav-h) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 0 40px !important;
    box-sizing: border-box !important;
}

/* Menu primario OJS */
.pkp_navigation_primary {
    display: flex !important;
    align-items: center !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    height: var(--rdys-nav-h) !important;
}

.pkp_navigation_primary > li > a,
.pkp_navigation_primary > li > button {
    display: flex !important;
    align-items: center !important;
    padding: 0 18px !important;
    height: var(--rdys-nav-h) !important;
    color: var(--rdys-dark) !important;
    text-decoration: none !important;
    font-size: 0.875rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
    background: none !important;
    border: none !important;
    cursor: pointer !important;
    white-space: nowrap !important;
    transition: background-color 0.15s ease !important;
    font-family: var(--rdys-font) !important;
}

.pkp_navigation_primary > li > a:hover,
.pkp_navigation_primary > li > button:hover,
.pkp_navigation_primary > li.current > a {
    background-color: rgba(0,0,0,0.12) !important;
    color: var(--rdys-dark) !important;
}

/* Botones Ingresar / Registrarse en la banda */
.pkp_navigation_primary_row .pkp_navigation_user {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.pkp_navigation_primary_row .pkp_navigation_user li a {
    display: inline-flex !important;
    align-items: center !important;
    height: 30px !important;
    padding: 0 14px !important;
    font-size: 0.78rem !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    border-radius: var(--rdys-radius) !important;
    font-family: var(--rdys-font) !important;
    transition: all 0.15s ease !important;
    white-space: nowrap !important;
}

/* Boton Ingresar */
.pkp_navigation_primary_row .pkp_navigation_user li:first-child a {
    color: var(--rdys-dark) !important;
    border: 2px solid rgba(26,26,46,0.4) !important;
    background: transparent !important;
}

.pkp_navigation_primary_row .pkp_navigation_user li:first-child a:hover {
    border-color: var(--rdys-dark) !important;
    background: rgba(0,0,0,0.08) !important;
}

/* Boton Registrarse */
.pkp_navigation_primary_row .pkp_navigation_user li:last-child a {
    color: var(--rdys-text-light) !important;
    background-color: var(--rdys-dark) !important;
    border: 2px solid var(--rdys-dark) !important;
}

.pkp_navigation_primary_row .pkp_navigation_user li:last-child a:hover {
    background-color: #2d2d4a !important;
}

/* ═══════════════════════════════════════════════════════════
   4. ESTRUCTURA PRINCIPAL: GRID CON SIDEBAR
   ═══════════════════════════════════════════════════════════ */
.pkp_structure_content {
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 32px 24px !important;
    display: grid !important;
    grid-template-columns: 1fr 260px !important;
    grid-template-areas: "main sidebar" !important;
    gap: 32px !important;
    box-sizing: border-box !important;
    align-items: start !important;
}

.pkp_structure_main {
    grid-area: main !important;
    min-width: 0 !important;
}

.pkp_structure_sidebar {
    grid-area: sidebar !important;
    min-width: 0 !important;
}

/* ═══════════════════════════════════════════════════════════
   5. ARTICULOS EN COLUMNAS (pagina principal / tabla de contenidos)
   ═══════════════════════════════════════════════════════════ */

/* Lista de articulos en grid de 2 columnas */
.pkp_helpers_clear.pkp_structure_main .obj_article_summary,
.articles_in_section .obj_article_summary,
.pkp_issue_toc .obj_article_summary {
    break-inside: avoid !important;
}

.pkp_issue_toc .section {
    column-count: 2 !important;
    column-gap: 24px !important;
}

/* Tarjeta de articulo */
.obj_article_summary {
    background: #ffffff !important;
    border: 1px solid var(--rdys-border) !important;
    border-radius: var(--rdys-radius) !important;
    padding: 20px !important;
    margin-bottom: 20px !important;
    transition: box-shadow 0.2s ease, transform 0.2s ease !important;
    display: inline-block !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.obj_article_summary:hover {
    box-shadow: 0 4px 16px rgba(234, 184, 24, 0.18) !important;
    transform: translateY(-2px) !important;
}

.obj_article_summary .title a {
    color: var(--rdys-dark) !important;
    text-decoration: none !important;
    font-weight: 700 !important;
    font-size: 1rem !important;
    line-height: 1.4 !important;
}

.obj_article_summary .title a:hover {
    color: var(--rdys-primary-dark) !important;
}

.obj_article_summary .authors {
    font-size: 0.85rem !important;
    color: var(--rdys-text-mid) !important;
    margin-top: 6px !important;
}

.obj_article_summary .abstract {
    font-size: 0.875rem !important;
    color: var(--rdys-text-mid) !important;
    margin-top: 10px !important;
    line-height: 1.6 !important;
}

/* Etiqueta de seccion */
.pkp_issue_toc h2.pkp_helpers_invisible,
.pkp_issue_toc .section_title {
    background-color: var(--rdys-primary-light) !important;
    border-left: 4px solid var(--rdys-primary) !important;
    padding: 8px 16px !important;
    font-size: 0.8rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    color: var(--rdys-dark) !important;
    margin: 24px 0 16px !important;
    column-span: all !important;
}

/* ═══════════════════════════════════════════════════════════
   6. SIDEBAR
   ═══════════════════════════════════════════════════════════ */
.pkp_structure_sidebar .pkp_block {
    background: #ffffff !important;
    border: 1px solid var(--rdys-border) !important;
    border-radius: var(--rdys-radius) !important;
    padding: 16px !important;
    margin-bottom: 20px !important;
}

.pkp_structure_sidebar .pkp_block .title {
    font-size: 0.72rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    color: var(--rdys-text-mid) !important;
    border-bottom: 2px solid var(--rdys-primary) !important;
    padding-bottom: 8px !important;
    margin-bottom: 12px !important;
}

/* Logos en sidebar: blanco y negro */
.pkp_structure_sidebar img {
    filter: grayscale(100%) !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 80px !important;
    object-fit: contain !important;
    opacity: 0.7 !important;
    transition: filter 0.2s, opacity 0.2s !important;
}

.pkp_structure_sidebar img:hover {
    filter: grayscale(0%) !important;
    opacity: 1 !important;
}

/* ═══════════════════════════════════════════════════════════
   7. HEADINGS Y TIPOGRAFIA GENERAL
   ═══════════════════════════════════════════════════════════ */
h1, h2, h3, h4, h5, h6 {
    font-family: var(--rdys-font) !important;
    color: var(--rdys-dark) !important;
}

.page_title,
h1.page_title {
    font-size: 1.6rem !important;
    font-weight: 800 !important;
    border-bottom: 3px solid var(--rdys-primary) !important;
    padding-bottom: 10px !important;
    margin-bottom: 24px !important;
}

/* Breadcrumb */
.pkp_navigation_breadcrumbs {
    font-size: 0.8rem !important;
    color: var(--rdys-text-mid) !important;
    padding: 8px 0 !important;
    margin-bottom: 8px !important;
}

/* Botones generales */
.pkp_button,
.btn,
button.submit,
input[type="submit"] {
    background-color: var(--rdys-primary) !important;
    color: var(--rdys-dark) !important;
    border: none !important;
    border-radius: var(--rdys-radius) !important;
    font-family: var(--rdys-font) !important;
    font-weight: 700 !important;
    padding: 8px 20px !important;
    cursor: pointer !important;
    transition: background-color 0.15s !important;
}

.pkp_button:hover,
.btn:hover,
button.submit:hover,
input[type="submit"]:hover {
    background-color: var(--rdys-primary-dark) !important;
}

/* ═══════════════════════════════════════════════════════════
   8. FOOTER PERSONALIZADO
   ═══════════════════════════════════════════════════════════ */

/* Ocultar footer nativo de OJS */
.pkp_structure_footer_wrapper {
    display: none !important;
}

/* Footer personalizado - se inyecta via JS al final del body */
.rdys-footer {
    background-color: var(--rdys-dark);
    color: rgba(255,255,255,0.85);
    font-family: var(--rdys-font);
    font-size: 0.85rem;
    line-height: 1.8;
    padding: 48px 40px 32px;
    margin-top: 48px;
    box-sizing: border-box;
    width: 100%;
}

.rdys-footer__inner {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    padding-bottom: 32px;
    border-bottom: 1px solid rgba(255,255,255,0.12);
}

.rdys-footer__brand {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.rdys-footer__name {
    font-size: 1.1rem;
    font-weight: 800;
    color: #ffffff;
    margin-bottom: 4px;
    letter-spacing: 0.01em;
}

.rdys-footer__name span {
    color: var(--rdys-primary);
}

.rdys-footer__inst {
    font-size: 0.8rem;
    color: rgba(255,255,255,0.65);
    line-height: 1.5;
    margin-bottom: 12px;
}

.rdys-footer__issn {
    font-size: 0.78rem;
    color: rgba(255,255,255,0.55);
    letter-spacing: 0.04em;
}

.rdys-footer__contact {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

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

.rdys-footer__contact a:hover {
    color: #ffffff;
    text-decoration: underline;
}

.rdys-footer__cc {
    max-width: 1200px;
    margin: 24px auto 0;
    display: flex;
    align-items: center;
    gap: 16px;
    font-size: 0.78rem;
    color: rgba(255,255,255,0.55);
}

.rdys-footer__cc img {
    height: 28px;
    width: auto;
    opacity: 0.8;
    filter: brightness(1.1);
}

/* ═══════════════════════════════════════════════════════════
   9. SCRIPT DE INYECCION DEL HEADER Y FOOTER
   (pegar al pie de este archivo como comentario informativo
   — el JS va en el campo "Pie de página" de la revista en
   Configuracion > Sitio web > Configuracion > Pie de página,
   dentro de una etiqueta <script>)

   O bien pegarlo en el footer.tpl de la revista si tenés acceso.
   ═══════════════════════════════════════════════════════════

   VER BLOQUE JS AL PIE DE ESTE ARCHIVO.

   ═══════════════════════════════════════════════════════════ */

/* ═══════════════════════════════════════════════════════════
   10. RESPONSIVE
   ═══════════════════════════════════════════════════════════ */
@media (max-width: 900px) {
    .pkp_structure_content {
        grid-template-columns: 1fr !important;
        grid-template-areas: "main" "sidebar" !important;
    }

    .pkp_issue_toc .section {
        column-count: 1 !important;
    }

    .rdys-footer__inner {
        grid-template-columns: 1fr !important;
        gap: 24px !important;
    }
}

@media (max-width: 768px) {
    .rdys-hero {
        height: auto !important;
        min-height: 160px !important;
        padding: 24px 20px !important;
        flex-wrap: wrap !important;
    }

    .rdys-hero__logos {
        order: 1 !important;
        width: 100% !important;
        justify-content: center !important;
    }

    .rdys-hero__title {
        order: 2 !important;
        width: 100% !important;
    }

    .rdys-hero__right-pad {
        display: none !important;
    }

    .rdys-hero__title-main {
        font-size: 1.2rem !important;
    }

    .pkp_navigation_primary_row {
        padding: 0 16px !important;
        flex-wrap: wrap !important;
        height: auto !important;
    }

    .pkp_structure_content {
        padding: 16px !important;
    }

    .rdys-footer {
        padding: 32px 20px 24px !important;
    }
}
/* ── FIX NAV: una sola línea ─────────────────────────────
   Evita que el buscador caiga a una segunda línea
   ────────────────────────────────────────────────────── */
.pkp_navigation_primary_row {
    flex-wrap: nowrap !important;
    height: var(--rdys-nav-h) !important;
    overflow: visible !important;
    padding: 0 24px !important;
    gap: 0 !important;
    align-items: stretch !important;   /* hijos se estiran a toda la altura */
}

/* Buscador: solo ícono, sin texto */
.pkp_navigation_search_wrapper {
    display: flex !important;
    align-items: center !important;
    flex-shrink: 0 !important;
}

.pkp_search.pkp_search_desktop {
    display: flex !important;
    align-items: center !important;
    height: var(--rdys-nav-h) !important;
    padding: 0 12px !important;
    color: var(--rdys-dark) !important;
    text-decoration: none !important;
    font-size: 1rem !important;
    transition: background-color 0.15s !important;
}

.pkp_search.pkp_search_desktop:hover {
    background-color: rgba(0,0,0,0.12) !important;
}

/* Ocultar el texto "Buscar", dejar solo la lupa */
.pkp_search.pkp_search_desktop span + * ,
.pkp_search.pkp_search_desktop {
    font-size: 0 !important;  /* oculta el texto */
}

.pkp_search.pkp_search_desktop .fa-search,
.pkp_search.pkp_search_desktop span.fa {
    font-size: 1rem !important;  /* pero mantiene el ícono */
}

/* El wrapper del menú primario ocupa lo que necesita y cede el resto */
.pkp_navigation_primary_wrapper {
    display: flex !important;
    align-items: stretch !important;
    flex: 0 1 auto !important;
    min-width: 0 !important;
}

/* Ítems más compactos para que entren los 7 en una línea */
.pkp_navigation_primary > li > a,
.pkp_navigation_primary > li > button {
    padding: 0 10px !important;
    font-size: 0.78rem !important;
    letter-spacing: 0.02em !important;
}

.pkp_navigation_primary {
    flex-shrink: 1 !important;
    min-width: 0 !important;
    flex-wrap: nowrap !important;
}

/* User nav: tamaño justo, nunca crece */
.pkp_navigation_user {
    flex: 0 0 auto !important;
    height: 100% !important;
    align-items: center !important;
}

.pkp_navigation_user li {
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
}
#rdys-user-nav {
    width: auto !important;
    max-width: fit-content !important;
    flex: 0 0 auto !important;
}
/* Dropdown acerca de: fondo blanco, texto visible */
.pkp_navigation_primary .dropdown-menu {
    background-color: #ffffff !important;
    border: 1px solid var(--rdys-border) !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.12) !important;
    z-index: 9999 !important;
    min-width: 200px !important;
}

.pkp_navigation_primary .dropdown-menu li a {
    color: var(--rdys-dark) !important;
    font-size: 0.85rem !important;
    padding: 8px 16px !important;
    display: block !important;
    text-transform: none !important;
    font-weight: 600 !important;
    background: none !important;
}

.pkp_navigation_primary .dropdown-menu li a:hover {
    background-color: var(--rdys-primary-light) !important;
}

/* Botón activo/hover del menú primario: amarillo no azul */
.pkp_navigation_primary > li.current > a,
.pkp_navigation_primary > li > a:focus,
.pkp_navigation_primary > li > button:focus {
    background-color: rgba(0,0,0,0.12) !important;
    color: var(--rdys-dark) !important;
    outline: none !important;
}

/* Quitar el azul del focus de OJS */
.pkp_navigation_primary > li > a:focus-visible,
.pkp_navigation_primary > li > button:focus-visible {
    outline: 2px solid var(--rdys-dark) !important;
    outline-offset: -2px !important;
}
/* Lupa */
.pkp_search.pkp_search_desktop {
    color: var(--rdys-dark) !important;
}

.pkp_search.pkp_search_desktop:hover {
    background-color: rgba(0,0,0,0.12) !important;
}

/* Botón Ingresar */
#rdys-user-nav li:first-child a {
    color: var(--rdys-dark) !important;
    border: 2px solid rgba(26,26,46,0.4) !important;
    background: transparent !important;
    border-radius: var(--rdys-radius) !important;
    padding: 0 14px !important;
    height: 30px !important;
    display: inline-flex !important;
    align-items: center !important;
    font-size: 0.78rem !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    font-family: var(--rdys-font) !important;
}

/* Botón Registrarse */
#rdys-user-nav li:last-child a {
    color: var(--rdys-text-light) !important;
    background-color: var(--rdys-dark) !important;
    border: 2px solid var(--rdys-dark) !important;
    border-radius: var(--rdys-radius) !important;
    padding: 0 14px !important;
    height: 30px !important;
    display: inline-flex !important;
    align-items: center !important;
    font-size: 0.78rem !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    font-family: var(--rdys-font) !important;
}

#rdys-user-nav li:first-child a:hover {
    border-color: var(--rdys-dark) !important;
    background: rgba(0,0,0,0.08) !important;
}

#rdys-user-nav li:last-child a:hover {
    background-color: #2d2d4a !important;
}