@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700;800&display=swap");

/**
 * Tema USAL — Universidad del Salvador
 * OJS 3.5.x
 * Archivo limpio y consolidado
 */

:root {
    --usal-green: #087452;
    --usal-green-deep: #00563f;
    --usal-green-dark: #034a38;
    --usal-green-soft: #e8f4ef;
    --usal-accent: #e9470c;
    --usal-accent-dark: #c93600;
    --usal-gold: #c9a34e;
    --usal-text: #202a27;
    --usal-muted: #66736e;
    --usal-border: #d9e2de;
    --usal-surface: #ffffff;
    --usal-bg: #f5f7f6;
    --usal-shadow: 0 12px 34px rgba(0, 62, 45, .11);
    --usal-content-width: 1440px;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    overflow-x: hidden;
    background: var(--usal-bg);
    color: var(--usal-text);
    font-family: "Montserrat", Arial, sans-serif;
    font-size: 16px;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
}

body,
button,
input,
select,
textarea {
    font-family: "Montserrat", Arial, sans-serif !important;
}

a {
    color: var(--usal-green);
    text-decoration: none;
    transition:
        color .2s ease,
        background-color .2s ease,
        border-color .2s ease,
        transform .2s ease,
        box-shadow .2s ease;
}

a:hover,
a:focus {
    color: var(--usal-green-dark);
}

/* ==========================================================
   HEADER P3 / USAL
   ========================================================== */

.pkp_structure_head,
.usal-site-header {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #087a59 !important;
    border: 0 !important;
    box-shadow: 0 3px 14px rgba(0, 0, 0, .16) !important;
}

.pkp_head_wrapper,
.usal-header-wrapper {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.usal-header-main {
    display: flex !important;
    align-items: center !important;
    gap: 22px !important;
    width: calc(100% - 96px) !important;
    max-width: var(--usal-content-width) !important;
    min-height: 104px !important;
    margin: 0 auto !important;
    padding: 10px 0 !important;
}

.usal-header-brand {
    display: flex !important;
    align-items: center !important;
    flex: 0 0 auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.usal-header-brand__link {
    display: inline-flex !important;
    align-items: center !important;
    max-width: 100% !important;
    text-decoration: none !important;
}

.usal-header-brand__image {
    display: block !important;
    width: auto !important;
    height: 74px !important;
    max-width: 100% !important;
    max-height: none !important;
    object-fit: contain !important;
}

.usal-header-actions {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex: 0 0 auto !important;
    gap: 14px !important;
    margin-left: auto !important;
    padding: 0 !important;
}

.usal-header-action,
.usal-header-login {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 136px !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 9px 17px !important;
    border: 1px solid rgba(255, 255, 255, .55) !important;
    border-radius: 6px !important;
    background: transparent !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
    text-decoration: none !important;
}

.usal-header-action:hover,
.usal-header-action:focus,
.usal-header-login:hover,
.usal-header-login:focus {
    border-color: #fff !important;
    background: #fff !important;
    color: #14684f !important;
    transform: translateY(-2px);
    box-shadow: 0 6px 15px rgba(0, 0, 0, .18);
}

.usal-user-menu,
.usal-header-main .pkp_navigation_user_wrapper {
    position: relative !important;
    inset: auto !important;
    display: block !important;
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 170px !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
}

.usal-user-menu .pkp_navigation_user,
.usal-header-main .pkp_navigation_user {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

.usal-header-main .pkp_navigation_user > li {
    position: relative !important;
    display: block !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.usal-header-main .pkp_navigation_user > li > a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 170px !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 9px 18px !important;
    border: 1px solid rgba(255, 255, 255, .55) !important;
    border-radius: 6px !important;
    background: rgba(255, 255, 255, .05) !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
    text-decoration: none !important;
}

.usal-header-main .pkp_navigation_user > li > a:hover,
.usal-header-main .pkp_navigation_user > li > a:focus {
    border-color: #fff !important;
    background: #fff !important;
    color: #14684f !important;
}

.usal-header-main .pkp_navigation_user > li > ul,
.usal-header-main .pkp_navigation_user .dropdown-menu {
    position: absolute !important;
    top: 100% !important;
    right: 0 !important;
    left: auto !important;
    z-index: 99999 !important;
    display: none;
    min-width: 220px !important;
    margin: 2px 0 0 !important;
    padding: 7px 0 !important;
    border: 1px solid #d4dfda !important;
    border-radius: 7px !important;
    background: #fff !important;
    box-shadow: 0 12px 28px rgba(0, 0, 0, .22) !important;
    transform: none !important;
}

.usal-header-main .pkp_navigation_user li:hover > ul,
.usal-header-main .pkp_navigation_user li:focus-within > ul {
    display: block !important;
}

.usal-header-main .pkp_navigation_user ul a {
    display: block !important;
    width: 100% !important;
    padding: 11px 16px !important;
    background: #fff !important;
    color: #126548 !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    text-decoration: none !important;
}

.usal-header-main .pkp_navigation_user ul a:hover,
.usal-header-main .pkp_navigation_user ul a:focus {
    background: #edf5f1 !important;
    color: #064b37 !important;
}

/* Navegación principal de OJS */
.usal-main-navigation {
    width: 100%;
    background: #006c50;
}

.usal-main-navigation .pkp_navigation_primary_row {
    width: calc(100% - 128px) !important;
    max-width: var(--usal-content-width) !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

.usal-main-navigation .pkp_navigation_primary_wrapper {
    position: relative !important;
    inset: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.pkp_navigation_primary {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 4px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.pkp_navigation_primary > li {
    margin: 0 !important;
    padding: 0 !important;
}

.pkp_navigation_primary > li > a {
    display: flex !important;
    align-items: center !important;
    min-height: 42px !important;
    padding: 11px 12px 9px !important;
    border-bottom: 3px solid transparent !important;
    border-radius: 5px 5px 0 0 !important;
    color: #fff !important;
    font-size: .86rem !important;
    font-weight: 600 !important;
    text-transform: none !important;
    white-space: nowrap !important;
}

.pkp_navigation_primary > li > a:hover,
.pkp_navigation_primary > li > a:focus,
.pkp_navigation_primary > li > a[aria-expanded="true"] {
    background: rgba(255, 255, 255, .12) !important;
    border-bottom-color: #fff !important;
    color: #fff !important;
}

.pkp_navigation_primary ul {
    min-width: 225px !important;
    padding: 7px 0 !important;
    background: #fff !important;
    border: 1px solid #d9e3df !important;
    border-top: 4px solid var(--usal-green) !important;
    border-radius: 0 0 6px 6px !important;
    box-shadow: 0 14px 30px rgba(0, 45, 33, .20) !important;
}

.pkp_navigation_primary ul a {
    padding: 10px 16px !important;
    color: #26332f !important;
    font-size: .83rem !important;
    font-weight: 500 !important;
}

.pkp_navigation_primary ul a:hover {
    background: #e9f4ef !important;
    color: var(--usal-green) !important;
}

/* ==========================================================
   CONTENEDORES GENERALES
   ========================================================== */

.pkp_structure_page {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    background: var(--usal-bg);
}

.pkp_structure_content {
    width: calc(100% - 64px) !important;
    max-width: var(--usal-content-width) !important;
    margin: 0 auto !important;
    padding-top: 38px;
    padding-bottom: 58px;
}

.pkp_structure_main {
    float: none !important;
    background: #fff;
    border: 1px solid var(--usal-border);
    box-shadow: 0 8px 28px rgba(0, 0, 0, .06);
    padding: 38px;
}

.pkp_structure_main::before,
.pkp_structure_main::after {
    display: none !important;
    content: none !important;
}

.pkp_page_index_site .pkp_structure_content,
.pkp_page_index_site .pkp_structure_main {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}


/* HOME DEL PORTAL A ANCHO COMPLETO */
body:has(.usal-site-home) .pkp_structure_page,
body:has(.usal-site-home) .pkp_structure_content,
body:has(.usal-site-home) .pkp_structure_main,
body:has(.usal-site-home) #pkp_content_main {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    border: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
}

body:has(.usal-site-home) .pkp_structure_sidebar {
    display: none !important;
}

body:has(.usal-site-home) .usal-site-home {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

body:has(.usal-site-home) .usal-hero {
    width: 100% !important;
    max-width: none !important;
    min-height: 290px !important;
    margin: 0 !important;
    padding: 48px 24px !important;
    border-radius: 0 !important;
}

body:has(.usal-site-home) .usal-journals {
    width: calc(100% - 96px) !important;
    max-width: var(--usal-content-width) !important;
    margin: 0 auto !important;
    padding: 60px 0 72px !important;
}


/* ==========================================================
   HOME DEL PORTAL
   ========================================================== */

.usal-site-home {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    overflow: hidden;
}

.usal-hero {
    position: relative;
    display: grid;
    place-items: center;
    width: 100%;
    min-height: 245px;
    margin: 0;
    padding: 34px 24px;
    overflow: hidden;
    color: #fff;
    background:
        linear-gradient(115deg, rgba(0, 67, 49, .97), rgba(8, 116, 82, .88)),
        radial-gradient(circle at 80% 20%, rgba(255, 255, 255, .16), transparent 35%);
}

.usal-hero::before,
.usal-hero::after {
    content: "";
    position: absolute;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 50%;
}

.usal-hero::before {
    top: -130px;
    right: -110px;
    width: 360px;
    height: 360px;
}

.usal-hero::after {
    bottom: -100px;
    left: -90px;
    width: 220px;
    height: 220px;
}

.usal-hero__inner {
    position: relative;
    z-index: 1;
    max-width: 920px;
    text-align: center;
}

.usal-hero__eyebrow {
    margin: 0 0 12px;
    color: #fff;
    font-size: .84rem;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.usal-hero h1 {
    margin: 0;
    color: #fff;
    font-size: clamp(2.35rem, 4.2vw, 4.25rem);
    line-height: 1.04;
    font-weight: 700;
    letter-spacing: -.045em;
}

.usal-hero__lead {
    max-width: 900px;
    margin: 14px auto 0;
    color: rgba(255, 255, 255, .95);
    font-size: clamp(1rem, 1.4vw, 1.2rem);
    font-weight: 600;
}

.usal-hero__button {
    display: inline-flex;
    margin-top: 18px;
    padding: 9px 20px;
    border: 2px solid #fff;
    background: #fff;
    color: var(--usal-green-deep);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .025em;
}

.usal-hero__button:hover {
    background: transparent;
    color: #fff;
}

.usal-about,
.usal-journals,
.usal-highlights,
.usal-site-home > .cmp_announcements {
    width: calc(100% - 64px);
    max-width: var(--usal-content-width);
    margin: 0 auto;
    padding: 66px 0;
}

.usal-about {
    display: grid;
    grid-template-columns: minmax(220px, .65fr) minmax(0, 1.35fr);
    gap: 52px;
    align-items: start;
}

.usal-about__content {
    color: var(--usal-muted);
    font-size: 1.07rem;
}

.usal-section-heading span {
    color: var(--usal-green);
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.usal-section-heading h2 {
    margin: 8px 0 0;
    color: var(--usal-text);
    font-size: clamp(2rem, 4vw, 3.2rem);
    font-weight: 650;
    line-height: 1.08;
    letter-spacing: -.035em;
}

.usal-section-heading h2::after {
    content: "";
    display: block;
    width: 76px;
    height: 4px;
    margin-top: 18px;
    background: var(--usal-green);
}

.usal-section-heading--center {
    margin-bottom: 42px;
    text-align: center;
}

.usal-section-heading--center h2::after {
    margin-right: auto;
    margin-left: auto;
}

/* ==========================================================
   TARJETAS DE REVISTAS
   ========================================================== */

.usal-journals {
    background: #fff;
}

.usal-journal-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 28px !important;
    width: 100% !important;
}

.usal-journal-card {
    min-width: 0;
    overflow: hidden;
    background: transparent;
    border: 0;
    border-radius: 10px;
}

.usal-journal-card__media {
    position: relative;
    isolation: isolate;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 285px;
    overflow: hidden;
    padding: 20px;
    background: #e8eeeb;
    border-radius: 10px;
    box-shadow: 0 5px 18px rgba(0, 0, 0, .12);
}

.usal-journal-card__backdrop {
    position: absolute;
    inset: -24px;
    z-index: -3;
    background-position: center;
    background-size: cover;
    filter: blur(18px) saturate(.9);
    transform: scale(1.16);
    opacity: .62;
}

.usal-journal-card__media::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -2;
    background: linear-gradient(120deg, rgba(0, 66, 48, .28), rgba(255, 255, 255, .18));
}

.usal-journal-card__media img {
    position: relative;
    z-index: 1;
    display: block;
    width: auto;
    max-width: 66%;
    height: 245px;
    object-fit: contain;
    box-shadow: 0 9px 25px rgba(0, 0, 0, .28);
    transition: transform .28s ease;
}

.usal-journal-card:hover .usal-journal-card__media img {
    transform: scale(1.035);
}

.usal-journal-card__shade {
    position: absolute;
    inset: auto 0 0;
    z-index: 2;
    height: 42%;
    background: linear-gradient(to top, rgba(0, 0, 0, .62), transparent);
    pointer-events: none;
}

.usal-journal-card__title {
    position: absolute;
    bottom: 18px;
    left: 50%;
    z-index: 3;
    max-width: calc(100% - 40px);
    transform: translateX(-50%);
    padding: 10px 20px;
    border-radius: 5px;
    background: rgba(255, 255, 255, .97);
    color: var(--usal-green);
    box-shadow: 0 4px 14px rgba(0, 0, 0, .25);
    font-size: 1.05rem;
    font-weight: 750;
    line-height: 1.2;
    text-align: center;
}

.usal-journal-card__actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    width: 100% !important;
    padding-top: 14px;
}

.usal-journal-card__actions .usal-button {
    width: 100% !important;
}

/* ==========================================================
   BOTONES GENERALES
   ========================================================== */

.usal-button,
.obj_galley_link,
.cmp_button,
.block_make_submission a,
button,
input[type="submit"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 10px 17px;
    border: 1px solid transparent;
    border-radius: 4px;
    font-weight: 700;
    line-height: 1.15;
}

.usal-button--primary,
.cmp_button,
.block_make_submission a,
button,
input[type="submit"] {
    border-color: var(--usal-green);
    background: var(--usal-green);
    color: #fff !important;
}

.usal-button--primary:hover,
.cmp_button:hover,
.block_make_submission a:hover,
button:hover,
input[type="submit"]:hover {
    border-color: var(--usal-green-dark);
    background: var(--usal-green-dark);
    color: #fff !important;
}

.usal-button--accent,
.obj_galley_link {
    border-color: var(--usal-accent);
    background: var(--usal-accent);
    color: #fff !important;
}

.usal-button--accent:hover,
.obj_galley_link:hover {
    border-color: var(--usal-accent-dark);
    background: var(--usal-accent-dark);
    color: #fff !important;
}

/* ==========================================================
   PÁGINAS INTERIORES
   ========================================================== */

h1,
h2,
h3,
h4,
.page_title,
.current_issue_title,
.obj_issue_toc .heading,
.obj_article_details .page_title {
    color: var(--usal-green-dark);
}

.page_title::after,
.current_issue_title::after,
.obj_issue_toc .heading::after {
    content: "";
    display: block;
    width: 70px;
    height: 4px;
    margin-top: 14px;
    background: var(--usal-green);
}

.obj_article_summary {
    margin-bottom: 18px;
    padding: 22px 24px;
    border: 1px solid var(--usal-border);
    border-left: 5px solid var(--usal-green);
    background: #fff;
}

.obj_article_summary:hover {
    border-left-color: var(--usal-accent);
    box-shadow: var(--usal-shadow);
}

.obj_article_details .abstract {
    padding: 24px;
    border-left: 5px solid var(--usal-green);
    background: var(--usal-green-soft);
}

.pkp_structure_sidebar {
    padding-left: 28px;
}

.pkp_block {
    margin-bottom: 24px;
    padding: 22px;
    border: 1px solid var(--usal-border);
    border-top: 5px solid var(--usal-green);
    background: #fff;
    box-shadow: 0 7px 22px rgba(0, 0, 0, .06);
}

/* ==========================================================
   FORMULARIOS
   ========================================================== */

input[type="text"],
input[type="email"],
input[type="password"],
input[type="search"],
input[type="url"],
select,
textarea {
    min-height: 43px;
    border: 1px solid #b9c7c1;
    border-radius: 4px;
}

input:focus,
select:focus,
textarea:focus {
    border-color: var(--usal-green);
    outline: 0;
    box-shadow: 0 0 0 3px rgba(8, 116, 82, .14);
}

/* ==========================================================
   LOGIN
   ========================================================== */

.pkp_page_login .pkp_structure_content,
.pkp_page_login .pkp_structure_main {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 20px !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.page_login {
    width: calc(100% - 30px);
    max-width: 900px;
    margin: 55px auto 80px;
    padding: 42px 60px;
    border: 1px solid #e1e7e4;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 12px 35px rgba(0, 84, 63, .12);
}

.page_login .cmp_form,
.page_login form {
    width: 100%;
    max-width: 720px !important;
    margin: 0 auto;
}

.page_login input[type="text"],
.page_login input[type="email"],
.page_login input[type="password"] {
    width: 100% !important;
    min-height: 48px;
    padding: 10px 13px;
    border-radius: 6px;
}

.page_login .buttons {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 28px;
}

.page_login .buttons button,
.page_login button.submit,
.page_login input[type="submit"] {
    min-width: 160px;
    min-height: 48px;
    border-radius: 6px;
}

/* ==========================================================
   SITEMAP
   ========================================================== */

.page_sitemap {
    width: calc(100% - 128px) !important;
    max-width: var(--usal-content-width) !important;
    margin: 0 auto !important;
    padding: 32px 0 56px !important;
}

.page_sitemap .cmp_breadcrumbs,
.page_sitemap .breadcrumbs {
    margin: 0 0 28px !important;
    padding: 0 !important;
}

.page_sitemap .cmp_breadcrumbs ol,
.page_sitemap .breadcrumbs ol {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.page_sitemap .cmp_breadcrumbs li,
.page_sitemap .breadcrumbs li {
    margin: 0 !important;
    padding: 0 !important;
}

.page_sitemap .page_header {
    margin: 0 0 30px;
    padding: 0;
}

.page_sitemap .page_header h1 {
    margin: 0 0 10px;
}

.page_sitemap .usal-sitemap-content {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 24px !important;
    width: 100% !important;
}

.page_sitemap .usal-sitemap-section {
    width: 100% !important;
    min-width: 0 !important;
    padding: 28px 30px !important;
    border: 1px solid #d5e1dc !important;
    border-radius: 11px !important;
    background: #fff !important;
    box-shadow: 0 8px 24px rgba(0, 70, 50, .08);
}

.page_sitemap .usal-sitemap-section:nth-child(2) {
    grid-column: 1 / -1 !important;
}

.page_sitemap .usal-sitemap-list {
    margin: 0;
    padding-left: 22px;
}

.page_sitemap .usal-sitemap-list li {
    margin: 12px 0;
}

.page_sitemap .usal-sitemap-journals {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px 24px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.page_sitemap .usal-sitemap-journals li {
    min-height: 92px;
    margin: 0 !important;
    padding: 18px 20px !important;
    border-left: 4px solid var(--usal-green);
    background: #f1f7f4;
}

.page_sitemap .usal-sitemap-journals li > a {
    display: block;
    margin-bottom: 7px;
}

/* ==========================================================
   FOOTER
   ========================================================== */

.pkp_structure_footer_wrapper {
    border-top: 7px solid var(--usal-green);
    background: linear-gradient(110deg, var(--usal-green-dark), #002f24);
    color: rgba(255, 255, 255, .88);
}

.pkp_structure_footer {
    width: calc(100% - 128px);
    max-width: var(--usal-content-width);
    margin: 0 auto;
    padding-top: 44px;
    padding-bottom: 44px;
}

.pkp_structure_footer a {
    color: #fff;
}

.pkp_structure_footer a:hover {
    color: #bfe8da;
}

/* ==========================================================
   VOLVER ARRIBA
   ========================================================== */

#top {
    position: absolute;
    top: 0;
    left: 0;
    width: 1px;
    height: 1px;
}

.usal-goto-top,
.usal-goto-top:visited {
    position: fixed;
    right: 28px;
    bottom: 28px;
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    padding: 0;
    border: 2px solid #fff;
    border-radius: 50%;
    background: #00543f !important;
    color: #fff !important;
    font-size: 24px;
    font-weight: 700;
    line-height: 1;
    text-decoration: none !important;
    box-shadow: 0 6px 18px rgba(0, 0, 0, .25);
}

.usal-goto-top:hover,
.usal-goto-top:focus {
    background: #008a66 !important;
    color: #fff !important;
    transform: translateY(-3px);
}

/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media (max-width: 1100px) {
    .usal-header-main,
    .usal-main-navigation .pkp_navigation_primary_row,
    .pkp_structure_content,
    .usal-about,
    .usal-journals,
    .usal-highlights,
    .usal-site-home > .cmp_announcements,
    .page_sitemap,
    .pkp_structure_footer {
        width: calc(100% - 48px) !important;
    }

    .usal-journal-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .usal-header-main {
        gap: 16px !important;
    }

    .usal-header-brand__image {
        height: 76px !important;
    }

    .usal-header-actions {
        gap: 9px !important;
    }

    .usal-header-action,
    .usal-header-login {
        min-width: 120px !important;
        padding-right: 12px !important;
        padding-left: 12px !important;
        font-size: 13px !important;
    }

    .usal-header-main .pkp_navigation_user_wrapper,
    .usal-header-main .pkp_navigation_user > li > a {
        min-width: 145px !important;
    }
}

@media (max-width: 850px) {
    .usal-header-main {
        flex-wrap: wrap !important;
        min-height: auto !important;
        padding-top: 16px !important;
        padding-bottom: 16px !important;
    }

    .usal-header-brand {
        width: 100% !important;
    }

    .usal-header-actions {
        width: 100% !important;
        margin-left: 0 !important;
        justify-content: flex-start !important;
        flex-wrap: wrap !important;
    }

    .usal-about {
        grid-template-columns: 1fr;
        gap: 26px;
    }

    .page_sitemap .usal-sitemap-content,
    .page_sitemap .usal-sitemap-journals {
        grid-template-columns: 1fr !important;
    }

    .page_sitemap .usal-sitemap-section:nth-child(2) {
        grid-column: auto !important;
    }

    .pkp_structure_sidebar {
        margin-top: 26px;
        padding-left: 0;
    }
}

@media (max-width: 680px) {
    .usal-header-main,
    .usal-main-navigation .pkp_navigation_primary_row,
    .pkp_structure_content,
    .usal-about,
    .usal-journals,
    .usal-highlights,
    .usal-site-home > .cmp_announcements,
    .page_sitemap,
    .pkp_structure_footer {
        width: calc(100% - 32px) !important;
    }

    .usal-header-brand__image {
        width: 100% !important;
        height: auto !important;
    }

    .usal-header-actions {
        display: grid !important;
        grid-template-columns: 1fr !important;
    }

    .usal-header-action,
    .usal-header-login,
    .usal-header-main .pkp_navigation_user_wrapper,
    .usal-header-main .pkp_navigation_user > li > a {
        width: 100% !important;
        min-width: 0 !important;
    }

    .usal-main-navigation .pkp_navigation_primary {
        flex-direction: column !important;
        align-items: stretch !important;
    }

    .usal-main-navigation .pkp_navigation_primary > li > a {
        justify-content: center !important;
    }

    .usal-journal-grid {
        grid-template-columns: 1fr !important;
    }

    .usal-journal-card__media {
        min-height: 260px;
    }

    .usal-journal-card__media img {
        height: 220px;
        max-width: 72%;
    }

    .usal-journal-card__actions {
        grid-template-columns: 1fr !important;
    }

    .pkp_structure_main {
        padding: 20px 16px;
        border-right: 0;
        border-left: 0;
        box-shadow: none;
    }

    .page_login {
        margin-top: 30px;
        margin-bottom: 55px;
        padding: 28px 22px;
    }

    .page_login .buttons {
        flex-direction: column;
        align-items: stretch;
    }

    .page_login .buttons button,
    .page_login input[type="submit"] {
        width: 100%;
    }

    .usal-goto-top {
        right: 16px;
        bottom: 16px;
        width: 46px;
        height: 46px;
        font-size: 21px;
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
    }
}


/* ==========================================================
   USAL FULL WIDTH — V3
   Inspirado en la estructura visual institucional de usal.edu.ar
   ========================================================== */

/* Variables de ancho y espaciado */
:root {
    --usal-page-padding: clamp(24px, 4.8vw, 96px);
    --usal-section-padding-y: clamp(52px, 6vw, 92px);
}

/* Header institucional a todo el ancho */
.usal-header-main {
    width: 100% !important;
    max-width: none !important;
    min-height: 104px !important;
    margin: 0 !important;
    padding: 10px var(--usal-page-padding) !important;
}

.usal-main-navigation .pkp_navigation_primary_row {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding-right: var(--usal-page-padding) !important;
    padding-left: var(--usal-page-padding) !important;
}

/* Estructura general de páginas */
.pkp_structure_content {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 var(--usal-page-padding) 64px !important;
}

.pkp_structure_main {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}

/* Home completamente fluida */
.pkp_page_index_site .pkp_structure_content,
.pkp_page_index_site .pkp_structure_main,
body:has(.usal-site-home) .pkp_structure_content,
body:has(.usal-site-home) .pkp_structure_main {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

body:has(.usal-site-home) .usal-hero,
.usal-site-home .usal-hero {
    width: 100% !important;
    max-width: none !important;
    min-height: 300px !important;
    margin: 0 !important;
    padding: 52px var(--usal-page-padding) !important;
}

/* Secciones principales del home */
body:has(.usal-site-home) .usal-about,
body:has(.usal-site-home) .usal-journals,
body:has(.usal-site-home) .usal-highlights,
body:has(.usal-site-home) .usal-site-home > .cmp_announcements,
.usal-site-home .usal-about,
.usal-site-home .usal-journals,
.usal-site-home .usal-highlights,
.usal-site-home > .cmp_announcements {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: var(--usal-section-padding-y) var(--usal-page-padding) !important;
}

.usal-site-home .usal-journals {
    background: #fff !important;
}

/* Grilla de revistas amplia */
.usal-journal-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: clamp(22px, 2vw, 36px) !important;
}

.usal-journal-card {
    border-radius: 12px !important;
}

.usal-journal-card__media {
    min-height: 330px !important;
    border-radius: 12px !important;
}

.usal-journal-card__media img {
    height: 285px !important;
    max-width: 72% !important;
}

.usal-journal-card__title {
    max-width: calc(100% - 48px) !important;
    padding: 12px 22px !important;
    font-size: 1.08rem !important;
}

/* Acerca de — página institucional amplia */
.pkp_page_about .pkp_structure_content,
.pkp_page_about .pkp_structure_main,
.page_about {
    width: 100% !important;
    max-width: none !important;
}

.pkp_page_about .pkp_structure_main,
.page_about {
    padding: var(--usal-section-padding-y) var(--usal-page-padding) !important;
    border: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
}

.pkp_page_about .page_header,
.page_about .page_header {
    margin-bottom: 34px !important;
}

.pkp_page_about .page_title,
.page_about .page_title {
    max-width: 1050px;
    font-size: clamp(2.15rem, 3.8vw, 4rem) !important;
    line-height: 1.08 !important;
}

.pkp_page_about .page_content,
.page_about .page_content {
    max-width: 1180px;
    color: var(--usal-muted);
    font-size: 1.06rem;
    line-height: 1.8;
}

/* Sitemap — ancho total y tarjetas institucionales */
.page_sitemap {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 38px var(--usal-page-padding) 72px !important;
}

.page_sitemap .page_header {
    max-width: 1100px;
    margin-bottom: 36px !important;
}

.page_sitemap .page_header h1 {
    font-size: clamp(2rem, 3.4vw, 3.6rem) !important;
}

.page_sitemap .usal-sitemap-content {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: clamp(22px, 2vw, 34px) !important;
}

.page_sitemap .usal-sitemap-section {
    padding: clamp(26px, 2.4vw, 40px) !important;
    border: 1px solid #d8e4df !important;
    border-radius: 12px !important;
    background: #fff !important;
    box-shadow: 0 10px 28px rgba(0, 74, 53, .08) !important;
}

.page_sitemap .usal-sitemap-section h2 {
    margin: 0 0 22px !important;
    color: var(--usal-green-dark) !important;
    font-size: clamp(1.25rem, 1.7vw, 1.65rem) !important;
}

.page_sitemap .usal-sitemap-journals {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 18px !important;
}

.page_sitemap .usal-sitemap-journals li {
    min-height: 118px !important;
    padding: 22px !important;
    border-left: 5px solid var(--usal-green) !important;
    border-radius: 6px !important;
    background: linear-gradient(135deg, #f6faf8 0%, #edf5f1 100%) !important;
}

/* Revistas individuales y páginas internas */
.pkp_page_index:not(.pkp_page_index_site) .pkp_structure_content,
.pkp_page_issue .pkp_structure_content,
.pkp_page_article .pkp_structure_content,
.pkp_page_search .pkp_structure_content,
.pkp_page_user .pkp_structure_content {
    width: 100% !important;
    max-width: none !important;
    padding: 42px var(--usal-page-padding) 72px !important;
}

.pkp_page_index:not(.pkp_page_index_site) .pkp_structure_main,
.pkp_page_issue .pkp_structure_main,
.pkp_page_article .pkp_structure_main,
.pkp_page_search .pkp_structure_main,
.pkp_page_user .pkp_structure_main {
    width: 100% !important;
    max-width: none !important;
    padding: clamp(30px, 3vw, 52px) !important;
    border-radius: 12px !important;
}

/* Portada de cada revista */
.pkp_page_index:not(.pkp_page_index_site) .homepage_image {
    margin: calc(clamp(30px, 3vw, 52px) * -1)
            calc(clamp(30px, 3vw, 52px) * -1)
            42px !important;
}

.pkp_page_index:not(.pkp_page_index_site) .homepage_image img {
    width: 100% !important;
    max-height: 520px !important;
    object-fit: cover !important;
}

/* Artículos y números con aspecto de tarjetas */
.obj_article_summary,
.obj_issue_summary {
    border-radius: 10px !important;
    box-shadow: 0 7px 22px rgba(0, 0, 0, .05) !important;
}

.obj_article_summary:hover,
.obj_issue_summary:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 30px rgba(0, 70, 50, .10) !important;
}

/* Footer también a todo el ancho */
.pkp_structure_footer {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 48px var(--usal-page-padding) !important;
}

/* Responsive */
@media (max-width: 1180px) {
    .usal-journal-grid,
    .page_sitemap .usal-sitemap-journals {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 820px) {
    .usal-header-main {
        width: 100% !important;
        padding-right: 24px !important;
        padding-left: 24px !important;
    }

    .page_sitemap .usal-sitemap-content,
    .page_sitemap .usal-sitemap-journals,
    .usal-journal-grid {
        grid-template-columns: 1fr !important;
    }

    .page_sitemap .usal-sitemap-section:nth-child(2) {
        grid-column: auto !important;
    }

    body:has(.usal-site-home) .usal-hero,
    .usal-site-home .usal-hero {
        min-height: 260px !important;
        padding: 42px 24px !important;
    }
}

@media (max-width: 600px) {
    :root {
        --usal-page-padding: 18px;
    }

    .usal-header-main {
        padding-right: 18px !important;
        padding-left: 18px !important;
    }

    .usal-journal-card__media {
        min-height: 280px !important;
    }

    .usal-journal-card__media img {
        height: 235px !important;
    }

    .page_sitemap {
        padding-top: 26px !important;
        padding-bottom: 48px !important;
    }
}


/* ==========================================================
   HOME — HERO Y SECCIONES A TODO EL ANCHO REAL
   ========================================================== */

/* Quita cualquier límite y padding heredado de OJS en la home */
body:has(.usal-site-home),
body:has(.usal-site-home) .pkp_structure_page,
body:has(.usal-site-home) .pkp_structure_content,
body:has(.usal-site-home) .pkp_structure_main,
body:has(.usal-site-home) #pkp_content_main,
.pkp_page_index_site,
.pkp_page_index_site .pkp_structure_page,
.pkp_page_index_site .pkp_structure_content,
.pkp_page_index_site .pkp_structure_main,
.pkp_page_index_site #pkp_content_main {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    border: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
}

/* La home completa ocupa todo el viewport */
body:has(.usal-site-home) .usal-site-home,
.pkp_page_index_site .usal-site-home {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
}

/* Hero de borde a borde */
body:has(.usal-site-home) .usal-hero,
.pkp_page_index_site .usal-hero {
    width: 100vw !important;
    max-width: none !important;
    min-height: 290px !important;
    margin: 0 calc(50% - 50vw) !important;
    padding: 48px clamp(24px, 5vw, 96px) !important;
    border: 0 !important;
    border-radius: 0 !important;
}

/* Sección de publicaciones también sin caja exterior */
body:has(.usal-site-home) .usal-journals,
.pkp_page_index_site .usal-journals {
    width: 100vw !important;
    max-width: none !important;
    margin: 0 calc(50% - 50vw) !important;
    padding: 60px clamp(24px, 4vw, 74px) 76px !important;
    background: #fff !important;
}

/* Grilla ocupando casi todo el ancho */
body:has(.usal-site-home) .usal-journal-grid,
.pkp_page_index_site .usal-journal-grid {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 28px !important;
}

/* Evita que una envoltura intermedia vuelva a limitar el ancho */
body:has(.usal-site-home) .usal-site-home > *,
.pkp_page_index_site .usal-site-home > * {
    max-width: none !important;
}

@media (max-width: 1100px) {
    body:has(.usal-site-home) .usal-journal-grid,
    .pkp_page_index_site .usal-journal-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 680px) {
    body:has(.usal-site-home) .usal-hero,
    .pkp_page_index_site .usal-hero {
        min-height: 245px !important;
        padding: 38px 18px !important;
    }

    body:has(.usal-site-home) .usal-journals,
    .pkp_page_index_site .usal-journals {
        padding: 46px 18px 56px !important;
    }

    body:has(.usal-site-home) .usal-journal-grid,
    .pkp_page_index_site .usal-journal-grid {
        grid-template-columns: 1fr !important;
    }
}


/* ==========================================================
   AJUSTES FINALES V5
   Objetivo visual:
   - Hero de borde a borde
   - Sección de revistas de borde a borde
   - Header más bajo y alineado
   - Breadcrumb institucional sin botón naranja
   ========================================================== */

/* HEADER: bajo, alineado y a todo el ancho */
.usal-header-main {
    width: 100% !important;
    max-width: none !important;
    min-height: 100px !important;
    margin: 0 !important;
    padding: 10px clamp(24px, 5vw, 96px) !important;
}

.usal-header-brand__image {
    height: 72px !important;
    width: auto !important;
}

.usal-header-actions {
    margin-left: auto !important;
    justify-content: flex-end !important;
}

/* HOME: eliminar cualquier caja o límite heredado */
body:has(.usal-site-home),
body:has(.usal-site-home) .pkp_structure_page,
body:has(.usal-site-home) .pkp_structure_content,
body:has(.usal-site-home) .pkp_structure_main,
body:has(.usal-site-home) #pkp_content_main,
.pkp_page_index_site,
.pkp_page_index_site .pkp_structure_page,
.pkp_page_index_site .pkp_structure_content,
.pkp_page_index_site .pkp_structure_main,
.pkp_page_index_site #pkp_content_main {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
}

/* Hero: ancho total real */
body:has(.usal-site-home) .usal-hero,
.pkp_page_index_site .usal-hero {
    width: 100vw !important;
    max-width: none !important;
    min-height: 290px !important;
    margin-right: calc(50% - 50vw) !important;
    margin-left: calc(50% - 50vw) !important;
    padding: 48px clamp(24px, 5vw, 96px) !important;
    border: 0 !important;
    border-radius: 0 !important;
}

/* Sección de publicaciones: también a todo el ancho */
body:has(.usal-site-home) .usal-journals,
.pkp_page_index_site .usal-journals {
    width: 100vw !important;
    max-width: none !important;
    margin-right: calc(50% - 50vw) !important;
    margin-left: calc(50% - 50vw) !important;
    padding: 60px clamp(24px, 4vw, 74px) 76px !important;
    background: #fff !important;
}

/* Título de publicaciones */
body:has(.usal-site-home) .usal-section-heading--center,
.pkp_page_index_site .usal-section-heading--center {
    width: 100% !important;
    max-width: none !important;
    margin: 0 auto 42px !important;
}

/* Grilla amplia */
body:has(.usal-site-home) .usal-journal-grid,
.pkp_page_index_site .usal-journal-grid {
    width: 100% !important;
    max-width: none !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 28px !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* BREADCRUMB INSTITUCIONAL */
.cmp_breadcrumbs,
.breadcrumbs {
    margin: 0 0 34px !important;
    padding: 0 !important;
}

.cmp_breadcrumbs ol,
.breadcrumbs ol {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.cmp_breadcrumbs li,
.breadcrumbs li {
    display: inline-flex !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #143f35 !important;
    font-size: 15px !important;
    font-weight: 600 !important;
}

.cmp_breadcrumbs li + li::before,
.breadcrumbs li + li::before {
    content: "/" !important;
    margin: 0 10px !important;
    color: #9aa7a2 !important;
    font-weight: 400 !important;
}

.cmp_breadcrumbs a,
.breadcrumbs a {
    display: inline !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #0c6d4d !important;
    box-shadow: none !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}

.cmp_breadcrumbs a:hover,
.breadcrumbs a:hover {
    color: #00563f !important;
    text-decoration: underline !important;
}

.cmp_breadcrumbs li:last-child,
.breadcrumbs li:last-child,
.cmp_breadcrumbs li:last-child a,
.breadcrumbs li:last-child a,
.cmp_breadcrumbs li:last-child span,
.breadcrumbs li:last-child span {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #143f35 !important;
    box-shadow: none !important;
    font-weight: 700 !important;
}

/* SITEMAP: ancho completo y espaciado uniforme */
.page_sitemap {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 38px clamp(24px, 4.8vw, 96px) 72px !important;
}

.page_sitemap .usal-sitemap-content {
    width: 100% !important;
    max-width: none !important;
}

/* ABOUT: ancho completo */
.pkp_page_about .pkp_structure_content,
.pkp_page_about .pkp_structure_main,
.page_about {
    width: 100% !important;
    max-width: none !important;
}

/* FOOTER: ancho completo */
.pkp_structure_footer {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding-right: clamp(24px, 4.8vw, 96px) !important;
    padding-left: clamp(24px, 4.8vw, 96px) !important;
}

/* RESPONSIVE */
@media (max-width: 1100px) {
    body:has(.usal-site-home) .usal-journal-grid,
    .pkp_page_index_site .usal-journal-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 680px) {
    .usal-header-main {
        min-height: auto !important;
        padding: 16px 18px !important;
    }

    .usal-header-brand__image {
        height: auto !important;
        max-height: 68px !important;
    }

    body:has(.usal-site-home) .usal-hero,
    .pkp_page_index_site .usal-hero {
        min-height: 245px !important;
        padding: 38px 18px !important;
    }

    body:has(.usal-site-home) .usal-journals,
    .pkp_page_index_site .usal-journals {
        padding: 46px 18px 56px !important;
    }

    body:has(.usal-site-home) .usal-journal-grid,
    .pkp_page_index_site .usal-journal-grid {
        grid-template-columns: 1fr !important;
    }

    .page_sitemap {
        padding: 26px 18px 48px !important;
    }
}
/* ==========================================================
   HOME: ELIMINAR FILA VACÍA ENTRE HEADER Y HERO
   ========================================================== */

body:has(.usal-site-home) .usal-main-navigation,
body:has(.usal-site-home) .pkp_navigation_primary_row,
body:has(.usal-site-home) .pkp_navigation_primary_wrapper,
body:has(.usal-site-home) #navigationPrimary,
.pkp_page_index_site .usal-main-navigation,
.pkp_page_index_site .pkp_navigation_primary_row,
.pkp_page_index_site .pkp_navigation_primary_wrapper,
.pkp_page_index_site #navigationPrimary {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
}

/* El hero empieza inmediatamente debajo del header */
body:has(.usal-site-home) .pkp_structure_head,
.pkp_page_index_site .pkp_structure_head {
    margin-bottom: 0 !important;
}

body:has(.usal-site-home) .pkp_structure_page,
body:has(.usal-site-home) .pkp_structure_content,
body:has(.usal-site-home) .pkp_structure_main,
body:has(.usal-site-home) #pkp_content_main,
body:has(.usal-site-home) .usal-site-home,
.pkp_page_index_site .pkp_structure_page,
.pkp_page_index_site .pkp_structure_content,
.pkp_page_index_site .pkp_structure_main,
.pkp_page_index_site #pkp_content_main,
.pkp_page_index_site .usal-site-home {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Evita separación del primer elemento de la home */
body:has(.usal-site-home) .usal-site-home > .usal-hero,
.pkp_page_index_site .usal-site-home > .usal-hero {
    margin-top: 0 !important;
    transform: none !important;
}
/* HOME: PEGAR EL HERO AL HEADER */
.pkp_structure_head {
    margin-bottom: 0 !important;
}

.pkp_structure_head + .pkp_structure_page,
.pkp_structure_head + main,
.pkp_structure_head + div {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.pkp_structure_page > .pkp_structure_content,
.pkp_structure_content > .pkp_structure_main,
.pkp_structure_main > #pkp_content_main,
#pkp_content_main > .usal-site-home {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

#pkp_content_main > :first-child,
.pkp_structure_main > :first-child,
.pkp_structure_content > :first-child {
    margin-top: 0 !important;
}

.usal-site-home,
.usal-site-home > .usal-hero {
    margin-top: 0 !important;
    padding-top: 0;
}

/* ==========================================================
   PORTADA P3 — ANCHO TOTAL REAL
   El body usa: pkp_page_index pkp_op_index
   ========================================================== */

/* Quitar la separación entre el header y la portada */
body.pkp_page_index.pkp_op_index .pkp_structure_content,
body.pkp_page_index.pkp_op_index .pkp_structure_main {
    display: block !important;
    float: none !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

/* El ancla de OJS no debe ocupar espacio */
body.pkp_page_index.pkp_op_index #pkp_content_main {
    display: block !important;
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Contenedor completo de la portada */
body.pkp_page_index.pkp_op_index .usal-site-home {
    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: visible !important;
}

/* Hero pegado al encabezado y de borde a borde */
body.pkp_page_index.pkp_op_index .usal-hero {
    width: 100% !important;
    max-width: none !important;
    min-height: 290px !important;

    margin: 0 !important;
    padding: 48px clamp(24px, 5vw, 96px) !important;

    border: 0 !important;
    border-radius: 0 !important;
}

/* Sección de publicaciones a todo el ancho */
body.pkp_page_index.pkp_op_index .usal-journals {
    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 60px clamp(24px, 4vw, 74px) 76px !important;

    background: #fff !important;
}

/* Grilla amplia de revistas */
body.pkp_page_index.pkp_op_index .usal-journal-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 28px !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;
}

/* Quitar menú principal vacío en el portal general */
body.pkp_page_index.pkp_op_index
.usal-main-navigation:has(.pkp_navigation_primary:empty) {
    display: none !important;
}

/* Responsive */
@media (max-width: 1100px) {
    body.pkp_page_index.pkp_op_index .usal-journal-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 680px) {
    body.pkp_page_index.pkp_op_index .usal-hero {
        min-height: 245px !important;
        padding: 38px 18px !important;
    }

    body.pkp_page_index.pkp_op_index .usal-journals {
        padding: 46px 18px 56px !important;
    }

    body.pkp_page_index.pkp_op_index .usal-journal-grid {
        grid-template-columns: 1fr !important;
    }
}
/* ==========================================================
   BREADCRUMB USAL — ESTILO FINAL
   ========================================================== */

.page_sitemap .cmp_breadcrumbs,
.page_sitemap .breadcrumbs {
    position: relative;
    margin: 0 0 18px !important;
    padding: 0 0 12px !important;
    border-bottom: 1px solid #dbe5e1 !important;
}

.page_sitemap .cmp_breadcrumbs::after,
.page_sitemap .breadcrumbs::after {
    content: "";
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 54px;
    height: 3px;
    background: #087452;
}

.page_sitemap .cmp_breadcrumbs ol,
.page_sitemap .breadcrumbs ol {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 0 !important;

    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.page_sitemap .cmp_breadcrumbs li,
.page_sitemap .breadcrumbs li {
    display: inline-flex !important;
    align-items: center !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #40534c !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
}

/* Separador */

.page_sitemap .cmp_breadcrumbs li + li::before,
.page_sitemap .breadcrumbs li + li::before {
    content: "›" !important;
    margin: 0 12px !important;
    color: #9ca9a4 !important;
    font-size: 18px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
}

/* Inicio */

.page_sitemap .cmp_breadcrumbs a,
.page_sitemap .breadcrumbs a {
    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;

    color: #087452 !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

.page_sitemap .cmp_breadcrumbs a:hover,
.page_sitemap .breadcrumbs a:hover {
    color: #034a38 !important;
    text-decoration: underline !important;
}

/* Página actual */

.page_sitemap .cmp_breadcrumbs li:last-child,
.page_sitemap .breadcrumbs li:last-child,
.page_sitemap .cmp_breadcrumbs li:last-child a,
.page_sitemap .breadcrumbs li:last-child a,
.page_sitemap .cmp_breadcrumbs li:last-child span,
.page_sitemap .breadcrumbs li:last-child span {
    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;

    color: #143f35 !important;
    font-weight: 700 !important;
}

/* Reduce el espacio entre breadcrumb, título y descripción */

.page_sitemap .page_header {
    margin: 0 0 30px !important;
    padding: 0 !important;
}

.page_sitemap .page_header h1 {
    margin: 0 0 4px !important;
    font-size: clamp(2.4rem, 4vw, 4rem) !important;
    line-height: 1.08 !important;
}

.page_sitemap .usal-sitemap-description {
    margin: 0 !important;
    line-height: 1.5 !important;
}
/* ==========================================================
   PÁGINAS DE REVISTAS OJS — CORRECCIÓN FINAL
   ========================================================== */

/*
 * La portada general del portal usa contexto "index".
 * Estas reglas se aplican a revistas como /gramma/es.
 */
body.pkp_page_index:not(.pkp_op_index) .pkp_structure_content,
body.pkp_page_index_site:not(.pkp_op_index) .pkp_structure_content,
body:not(.pkp_page_index_site) .pkp_structure_content {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 42px clamp(24px, 4vw, 72px) 70px !important;
    background: #f5f8f6 !important;
}

/* Contenedor principal de la revista */
body:not(.pkp_page_index_site) .pkp_structure_main {
    float: none !important;
    width: 100% !important;
    max-width: 1500px !important;
    min-height: 0 !important;
    margin: 0 auto !important;
    padding: clamp(28px, 3vw, 48px) !important;

    border: 1px solid #dce6e1 !important;
    border-radius: 12px !important;
    background: #fff !important;
    box-shadow: 0 10px 30px rgba(0, 72, 52, .07) !important;
}

/* Evita alturas heredadas que generan grandes espacios vacíos */
body:not(.pkp_page_index_site) .homepage_about,
body:not(.pkp_page_index_site) .current_issue,
body:not(.pkp_page_index_site) .obj_issue_toc,
body:not(.pkp_page_index_site) .sections,
body:not(.pkp_page_index_site) .section {
    min-height: 0 !important;
    height: auto !important;
}

/* ==========================================================
   NÚMERO ACTUAL
   ========================================================== */

body:not(.pkp_page_index_site) .current_issue {
    display: block !important;
    width: 100% !important;
    margin: 0 0 42px !important;
    padding: 0 !important;
}

body:not(.pkp_page_index_site) .current_issue > h2,
body:not(.pkp_page_index_site) .current_issue .current_issue_title {
    margin: 0 0 14px !important;
    color: #073f32 !important;
    font-size: clamp(1.65rem, 2.5vw, 2.45rem) !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
}

body:not(.pkp_page_index_site) .current_issue .current_issue_title::after {
    content: "";
    display: block;
    width: 64px;
    height: 4px;
    margin-top: 14px;
    background: #087452;
}

/* Información del número */
body:not(.pkp_page_index_site) .current_issue .issue_description,
body:not(.pkp_page_index_site) .current_issue .published,
body:not(.pkp_page_index_site) .current_issue .description {
    max-width: 920px !important;
    margin: 10px 0 0 !important;
    color: #5d6d67 !important;
    font-size: 15px !important;
    line-height: 1.65 !important;
}

/* Si hay portada, armar dos columnas */
body:not(.pkp_page_index_site) .current_issue:has(.cover) {
    display: grid !important;
    grid-template-columns: minmax(190px, 280px) minmax(0, 1fr) !important;
    column-gap: 40px !important;
    align-items: start !important;
}

body:not(.pkp_page_index_site) .current_issue .cover {
    grid-row: 1 / span 8;
    width: 100% !important;
    max-width: 280px !important;
    margin: 0 !important;
}

body:not(.pkp_page_index_site) .current_issue .cover img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-height: 390px !important;
    object-fit: contain !important;

    border: 1px solid #d4dfda !important;
    border-radius: 8px !important;
    box-shadow: 0 10px 24px rgba(0, 0, 0, .14) !important;
}

/* ==========================================================
   TABLA DE CONTENIDOS
   ========================================================== */

body:not(.pkp_page_index_site) .obj_issue_toc {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

body:not(.pkp_page_index_site) .obj_issue_toc .heading {
    margin: 0 0 28px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

/* Títulos como Nota editorial / Artículos de doctrina */
body:not(.pkp_page_index_site) .obj_issue_toc .section {
    margin: 40px 0 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

body:not(.pkp_page_index_site) .obj_issue_toc .section > h2,
body:not(.pkp_page_index_site) .obj_issue_toc .section_title,
body:not(.pkp_page_index_site) .obj_issue_toc .section h2 {
    display: block !important;
    width: 100% !important;
    margin: 0 0 20px !important;
    padding: 0 0 12px !important;

    border: 0 !important;
    border-bottom: 1px solid #dbe5e0 !important;
    background: transparent !important;
    color: #073f32 !important;

    font-size: clamp(1.25rem, 1.8vw, 1.65rem) !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
}

body:not(.pkp_page_index_site) .obj_issue_toc .section > h2::after,
body:not(.pkp_page_index_site) .obj_issue_toc .section_title::after {
    content: "";
    display: block;
    width: 56px;
    height: 3px;
    margin-top: 12px;
    background: #087452;
}

/* ==========================================================
   TARJETAS DE ARTÍCULOS
   ========================================================== */

body:not(.pkp_page_index_site) .obj_article_summary {
    display: block !important;
    width: 100% !important;
    min-height: 0 !important;

    margin: 0 0 18px !important;
    padding: 22px 24px !important;

    border: 1px solid #dce6e1 !important;
    border-left: 5px solid #087452 !important;
    border-radius: 9px !important;
    background: #fff !important;
    box-shadow: 0 5px 17px rgba(0, 65, 47, .05) !important;

    transition:
        transform .2s ease,
        box-shadow .2s ease,
        border-color .2s ease !important;
}

body:not(.pkp_page_index_site) .obj_article_summary:hover {
    border-left-color: #e9470c !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 11px 25px rgba(0, 65, 47, .10) !important;
}

/* Título */
body:not(.pkp_page_index_site) .obj_article_summary .title {
    margin: 0 0 7px !important;
    padding: 0 !important;
    line-height: 1.4 !important;
}

body:not(.pkp_page_index_site) .obj_article_summary .title a {
    color: #087452 !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

body:not(.pkp_page_index_site) .obj_article_summary .title a:hover {
    color: #034a38 !important;
    text-decoration: underline !important;
}

/* Autores y páginas */
body:not(.pkp_page_index_site) .obj_article_summary .authors,
body:not(.pkp_page_index_site) .obj_article_summary .pages,
body:not(.pkp_page_index_site) .obj_article_summary .subtitle {
    margin: 4px 0 0 !important;
    color: #5d6c67 !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
}

/* ==========================================================
   BOTONES PDF / GALERADAS
   ========================================================== */

/*
 * Corrige los rectángulos vacíos que aparecen en la captura.
 * No se les debe aplicar el botón global sin contenido visible.
 */
body:not(.pkp_page_index_site) .obj_article_summary .galleys_links,
body:not(.pkp_page_index_site) .obj_article_summary .galleys,
body:not(.pkp_page_index_site) .obj_article_summary .galley_link {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 9px !important;

    width: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;

    margin: 14px 0 0 !important;
    padding: 0 !important;
}

body:not(.pkp_page_index_site) .obj_article_summary .obj_galley_link,
body:not(.pkp_page_index_site) .obj_article_summary .galley_link,
body:not(.pkp_page_index_site) .obj_article_summary .galleys_links a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: auto !important;
    min-width: 76px !important;
    min-height: 36px !important;
    height: auto !important;

    margin: 0 !important;
    padding: 7px 14px !important;

    border: 1px solid #087452 !important;
    border-radius: 5px !important;
    background: transparent !important;
    color: #087452 !important;

    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    text-indent: 0 !important;
    overflow: visible !important;
}

body:not(.pkp_page_index_site) .obj_article_summary .obj_galley_link:hover,
body:not(.pkp_page_index_site) .obj_article_summary .galley_link:hover,
body:not(.pkp_page_index_site) .obj_article_summary .galleys_links a:hover {
    border-color: #087452 !important;
    background: #087452 !important;
    color: #fff !important;
}

/* Oculta elementos realmente vacíos */
body:not(.pkp_page_index_site) .obj_article_summary a:empty,
body:not(.pkp_page_index_site) .obj_article_summary button:empty {
    display: none !important;
}

/* ==========================================================
   MENÚ DE LA REVISTA
   ========================================================== */

body:not(.pkp_page_index_site) .usal-main-navigation {
    min-height: 46px !important;
}

body:not(.pkp_page_index_site) .pkp_navigation_primary > li > a {
    min-height: 46px !important;
    padding: 12px 16px !important;
}

/* Quita el bloque gris del elemento activo */
body:not(.pkp_page_index_site) .pkp_navigation_primary > li.current > a,
body:not(.pkp_page_index_site) .pkp_navigation_primary > li > a[aria-current="page"] {
    border-bottom: 3px solid #fff !important;
    background: rgba(255, 255, 255, .12) !important;
    color: #fff !important;
}

/* ==========================================================
   REVISTA USAL — PORTADA DEL NÚMERO ACTUAL
   ========================================================== */

/* Contenedor de revista */
body.pkp_page_index:not(.pkp_op_index) .pkp_structure_content {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 42px clamp(28px, 4vw, 72px) 72px !important;
    background: #f5f8f6 !important;
}

body.pkp_page_index:not(.pkp_op_index) .pkp_structure_main {
    width: 100% !important;
    max-width: 1500px !important;
    margin: 0 auto !important;
    padding: 42px !important;
    border: 1px solid #dce6e1 !important;
    border-radius: 14px !important;
    background: #fff !important;
    box-shadow: 0 10px 30px rgba(0, 72, 52, .07) !important;
}

/* Número actual */
body.pkp_page_index:not(.pkp_op_index) .current_issue {
    display: grid !important;
    grid-template-columns: minmax(220px, 300px) minmax(0, 1fr) !important;
    column-gap: 42px !important;
    row-gap: 12px !important;
    align-items: start !important;

    width: 100% !important;
    margin: 0 0 52px !important;
    padding: 0 !important;
}

/* Título "Número actual" */
body.pkp_page_index:not(.pkp_op_index) .current_issue > h2 {
    grid-column: 1 / -1 !important;
    margin: 0 0 10px !important;
    padding: 0 !important;

    color: #073f32 !important;
    font-size: clamp(2rem, 3vw, 3rem) !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
}

/* Portada */
body.pkp_page_index:not(.pkp_op_index) .current_issue .cover {
    grid-column: 1 !important;
    grid-row: 2 / span 6 !important;

    width: 100% !important;
    max-width: 300px !important;
    margin: 0 !important;
}

body.pkp_page_index:not(.pkp_op_index) .current_issue .cover img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-height: 430px !important;
    object-fit: contain !important;

    border: 1px solid #d5dfda !important;
    border-radius: 9px !important;
    box-shadow: 0 12px 28px rgba(0, 0, 0, .16) !important;
}

/* Datos del número */
body.pkp_page_index:not(.pkp_op_index) .current_issue .current_issue_title,
body.pkp_page_index:not(.pkp_op_index) .current_issue .issue_title {
    grid-column: 2 !important;

    margin: 0 0 12px !important;
    padding: 0 !important;

    color: #073f32 !important;
    font-size: clamp(1.7rem, 2.5vw, 2.45rem) !important;
    font-weight: 700 !important;
    line-height: 1.22 !important;
}

body.pkp_page_index:not(.pkp_op_index) .current_issue .current_issue_title::after,
body.pkp_page_index:not(.pkp_op_index) .current_issue .issue_title::after {
    content: "";
    display: block;
    width: 64px;
    height: 4px;
    margin-top: 15px;
    background: #087452;
}

body.pkp_page_index:not(.pkp_op_index) .current_issue .published,
body.pkp_page_index:not(.pkp_op_index) .current_issue .description,
body.pkp_page_index:not(.pkp_op_index) .current_issue .issue_description {
    grid-column: 2 !important;

    max-width: 900px !important;
    margin: 0 0 12px !important;
    color: #5f6e69 !important;
    font-size: 15px !important;
    line-height: 1.65 !important;
}

/* Tabla de contenidos */
body.pkp_page_index:not(.pkp_op_index) .obj_issue_toc {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

/* Títulos de secciones */
body.pkp_page_index:not(.pkp_op_index) .obj_issue_toc .section {
    margin: 40px 0 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

body.pkp_page_index:not(.pkp_op_index) .obj_issue_toc .section > h2,
body.pkp_page_index:not(.pkp_op_index) .obj_issue_toc .section_title {
    display: block !important;
    width: 100% !important;

    margin: 0 0 20px !important;
    padding: 0 0 12px !important;

    border: 0 !important;
    border-bottom: 1px solid #dce6e1 !important;
    background: transparent !important;
    color: #073f32 !important;

    font-size: clamp(1.35rem, 2vw, 1.8rem) !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
}

body.pkp_page_index:not(.pkp_op_index) .obj_issue_toc .section > h2::after,
body.pkp_page_index:not(.pkp_op_index) .obj_issue_toc .section_title::after {
    content: "";
    display: block;
    width: 58px;
    height: 3px;
    margin-top: 12px;
    background: #087452;
}

/* Tarjetas de artículos */
body.pkp_page_index:not(.pkp_op_index) .obj_article_summary {
    width: 100% !important;
    min-height: 0 !important;

    margin: 0 0 18px !important;
    padding: 22px 24px !important;

    border: 1px solid #dce6e1 !important;
    border-left: 5px solid #087452 !important;
    border-radius: 10px !important;
    background: #fff !important;
    box-shadow: 0 6px 18px rgba(0, 65, 47, .06) !important;
}

body.pkp_page_index:not(.pkp_op_index) .obj_article_summary:hover {
    border-left-color: #e9470c !important;
    transform: translateY(-2px);
    box-shadow: 0 12px 26px rgba(0, 65, 47, .11) !important;
}

body.pkp_page_index:not(.pkp_op_index) .obj_article_summary .title {
    margin: 0 0 7px !important;
}

body.pkp_page_index:not(.pkp_op_index) .obj_article_summary .title a {
    color: #087452 !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
}

body.pkp_page_index:not(.pkp_op_index) .obj_article_summary .authors {
    margin: 4px 0 0 !important;
    color: #5f6e69 !important;
    font-size: 14px !important;
    font-weight: 400 !important;
}

/* Botón PDF */
body.pkp_page_index:not(.pkp_op_index) .obj_article_summary .obj_galley_link,
body.pkp_page_index:not(.pkp_op_index) .obj_article_summary .galleys_links a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: auto !important;
    min-width: 76px !important;
    min-height: 36px !important;

    margin-top: 14px !important;
    padding: 7px 14px !important;

    border: 1px solid #087452 !important;
    border-radius: 5px !important;
    background: transparent !important;
    color: #087452 !important;

    font-size: 13px !important;
    font-weight: 700 !important;
}

body.pkp_page_index:not(.pkp_op_index) .obj_article_summary .obj_galley_link:hover,
body.pkp_page_index:not(.pkp_op_index) .obj_article_summary .galleys_links a:hover {
    background: #087452 !important;
    color: #fff !important;
}

/* Responsive */
@media (max-width: 850px) {
    body.pkp_page_index:not(.pkp_op_index) .pkp_structure_content {
        padding: 26px 18px 52px !important;
    }

    body.pkp_page_index:not(.pkp_op_index) .pkp_structure_main {
        padding: 26px 20px !important;
    }

    body.pkp_page_index:not(.pkp_op_index) .current_issue {
        grid-template-columns: 1fr !important;
    }

    body.pkp_page_index:not(.pkp_op_index) .current_issue .cover,
    body.pkp_page_index:not(.pkp_op_index) .current_issue .current_issue_title,
    body.pkp_page_index:not(.pkp_op_index) .current_issue .published,
    body.pkp_page_index:not(.pkp_op_index) .current_issue .description {
        grid-column: 1 !important;
        grid-row: auto !important;
    }

    body.pkp_page_index:not(.pkp_op_index) .current_issue .cover {
        max-width: 250px !important;
        margin-bottom: 22px !important;
    }
}
/* ==========================================================
   PORTADA DE REVISTA OJS — DISEÑO CORREGIDO
   ========================================================== */

/*
 * Se aplica solamente a páginas que contienen un número actual.
 * No modifica el portal general, el sitemap ni el login.
 */

body:has(.current_issue):not(:has(.usal-site-home)) .pkp_structure_content {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 38px clamp(24px, 4vw, 72px) 72px !important;
    background: #f4f7f5 !important;
}

body:has(.current_issue):not(:has(.usal-site-home)) .pkp_structure_main {
    display: block !important;
    float: none !important;

    width: 100% !important;
    max-width: 1480px !important;
    min-height: 0 !important;

    margin: 0 auto !important;
    padding: clamp(30px, 3vw, 48px) !important;

    border: 1px solid #d9e4df !important;
    border-radius: 14px !important;

    background: #fff !important;
    box-shadow: 0 10px 30px rgba(0, 65, 47, .08) !important;
}

/* ==========================================================
   NÚMERO ACTUAL
   ========================================================== */

body:has(.current_issue):not(:has(.usal-site-home)) .current_issue {
    display: block !important;

    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;

    margin: 0 0 50px !important;
    padding: 0 !important;

    border: 0 !important;
    background: transparent !important;
}

/* Título “Número actual” */

body:has(.current_issue):not(:has(.usal-site-home))
.current_issue > h2 {
    display: block !important;

    width: 100% !important;
    margin: 0 0 28px !important;
    padding: 0 0 15px !important;

    border: 0 !important;
    border-bottom: 1px solid #d9e4df !important;

    color: #073f32 !important;

    font-size: clamp(2rem, 3vw, 3rem) !important;
    font-weight: 700 !important;
    line-height: 1.12 !important;
    text-align: left !important;
}

body:has(.current_issue):not(:has(.usal-site-home))
.current_issue > h2::after {
    content: "";
    display: block;

    width: 65px;
    height: 4px;

    margin-top: 14px;

    background: #087452;
}

/* Título del número */

body:has(.current_issue):not(:has(.usal-site-home))
.current_issue_title {
    width: 100% !important;
    margin: 0 0 24px !important;
    padding: 0 !important;

    color: #073f32 !important;

    font-size: clamp(1.65rem, 2.4vw, 2.35rem) !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
}

/* Contenedor de portada y datos */

body:has(.current_issue):not(:has(.usal-site-home))
.obj_issue_toc {
    display: block !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;
    background: transparent !important;
}

/*
 * Esta es la grilla correcta:
 * portada a la izquierda y datos a la derecha.
 */

body:has(.current_issue):not(:has(.usal-site-home))
.obj_issue_toc .heading {
    display: grid !important;

    grid-template-columns: minmax(220px, 290px) minmax(0, 1fr) !important;
    grid-template-rows: auto !important;

    column-gap: 42px !important;
    row-gap: 14px !important;

    align-items: start !important;

    width: 100% !important;
    min-height: 0 !important;

    margin: 0 0 42px !important;
    padding: 0 !important;

    border: 0 !important;
    background: transparent !important;
}

/* Portada */

body:has(.current_issue):not(:has(.usal-site-home))
.obj_issue_toc .heading .cover {
    grid-column: 1 !important;
    grid-row: 1 / span 8 !important;

    display: block !important;

    width: 100% !important;
    max-width: 290px !important;

    margin: 0 !important;
    padding: 0 !important;
}

body:has(.current_issue):not(:has(.usal-site-home))
.obj_issue_toc .heading .cover img {
    display: block !important;

    width: 100% !important;
    height: auto !important;
    max-height: 430px !important;

    object-fit: contain !important;

    border: 1px solid #d3dfda !important;
    border-radius: 9px !important;

    box-shadow: 0 12px 28px rgba(0, 0, 0, .16) !important;
}

/* Todos los datos del número van en la segunda columna */

body:has(.current_issue):not(:has(.usal-site-home))
.obj_issue_toc .heading > *:not(.cover) {
    grid-column: 2 !important;

    width: 100% !important;
    max-width: 900px !important;

    margin-right: 0 !important;
    margin-left: 0 !important;
}

/* Fecha de publicación */

body:has(.current_issue):not(:has(.usal-site-home))
.obj_issue_toc .published,
body:has(.current_issue):not(:has(.usal-site-home))
.current_issue .published {
    margin: 0 0 10px !important;
    padding: 0 !important;

    color: #596a64 !important;

    font-size: 15px !important;
    font-weight: 500 !important;
    line-height: 1.5 !important;
}

/* Descripción */

body:has(.current_issue):not(:has(.usal-site-home))
.obj_issue_toc .description,
body:has(.current_issue):not(:has(.usal-site-home))
.obj_issue_toc .issue_description {
    max-width: 900px !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #5c6c66 !important;

    font-size: 15px !important;
    line-height: 1.75 !important;
}

/* “Ver todos los números” */

body:has(.current_issue):not(:has(.usal-site-home))
.obj_issue_toc .heading .published + a,
body:has(.current_issue):not(:has(.usal-site-home))
.current_issue a.read_more {
    display: inline-flex !important;
    align-items: center !important;

    width: fit-content !important;
    min-height: 38px !important;

    margin-top: 12px !important;
    padding: 8px 15px !important;

    border: 1px solid #087452 !important;
    border-radius: 5px !important;

    background: transparent !important;
    color: #087452 !important;

    font-size: 13px !important;
    font-weight: 700 !important;
}

body:has(.current_issue):not(:has(.usal-site-home))
.current_issue a.read_more:hover {
    background: #087452 !important;
    color: #fff !important;
}

/* ==========================================================
   SECCIONES DEL NÚMERO
   ========================================================== */

body:has(.current_issue):not(:has(.usal-site-home))
.obj_issue_toc .sections {
    display: block !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
}

body:has(.current_issue):not(:has(.usal-site-home))
.obj_issue_toc .section {
    display: block !important;

    width: 100% !important;

    margin: 42px 0 0 !important;
    padding: 0 !important;

    border: 0 !important;
    background: transparent !important;
}

/* Título de sección */

body:has(.current_issue):not(:has(.usal-site-home))
.obj_issue_toc .section > h2,
body:has(.current_issue):not(:has(.usal-site-home))
.obj_issue_toc .section_title {
    display: block !important;

    width: 100% !important;

    margin: 0 0 20px !important;
    padding: 0 0 13px !important;

    border: 0 !important;
    border-bottom: 1px solid #d9e4df !important;

    background: transparent !important;
    color: #073f32 !important;

    font-size: clamp(1.25rem, 1.8vw, 1.7rem) !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
}

body:has(.current_issue):not(:has(.usal-site-home))
.obj_issue_toc .section > h2::after,
body:has(.current_issue):not(:has(.usal-site-home))
.obj_issue_toc .section_title::after {
    content: "";
    display: block;

    width: 58px;
    height: 3px;

    margin-top: 12px;

    background: #087452;
}

/* ==========================================================
   TARJETAS DE ARTÍCULOS
   ========================================================== */

body:has(.current_issue):not(:has(.usal-site-home))
.obj_article_summary {
    display: block !important;

    width: 100% !important;
    min-height: 0 !important;

    margin: 0 0 18px !important;
    padding: 22px 25px !important;

    border: 1px solid #dce6e1 !important;
    border-left: 5px solid #087452 !important;
    border-radius: 10px !important;

    background: #fff !important;

    box-shadow: 0 6px 18px rgba(0, 65, 47, .06) !important;

    transition:
        transform .2s ease,
        box-shadow .2s ease,
        border-color .2s ease !important;
}

body:has(.current_issue):not(:has(.usal-site-home))
.obj_article_summary:hover {
    border-left-color: #e9470c !important;

    transform: translateY(-2px);

    box-shadow: 0 12px 27px rgba(0, 65, 47, .11) !important;
}

body:has(.current_issue):not(:has(.usal-site-home))
.obj_article_summary .title {
    margin: 0 0 7px !important;
    padding: 0 !important;
}

body:has(.current_issue):not(:has(.usal-site-home))
.obj_article_summary .title a {
    color: #087452 !important;

    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.45 !important;
}

body:has(.current_issue):not(:has(.usal-site-home))
.obj_article_summary .authors,
body:has(.current_issue):not(:has(.usal-site-home))
.obj_article_summary .pages {
    margin: 4px 0 0 !important;

    color: #5e6e68 !important;

    font-size: 14px !important;
    font-weight: 400 !important;
}

/* Botón PDF */

body:has(.current_issue):not(:has(.usal-site-home))
.obj_article_summary .obj_galley_link,
body:has(.current_issue):not(:has(.usal-site-home))
.obj_article_summary .galleys_links a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: auto !important;
    min-width: 76px !important;
    min-height: 36px !important;

    margin: 14px 0 0 !important;
    padding: 7px 14px !important;

    border: 1px solid #087452 !important;
    border-radius: 5px !important;

    background: transparent !important;
    color: #087452 !important;

    font-size: 13px !important;
    font-weight: 700 !important;
}

body:has(.current_issue):not(:has(.usal-site-home))
.obj_article_summary .obj_galley_link:hover,
body:has(.current_issue):not(:has(.usal-site-home))
.obj_article_summary .galleys_links a:hover {
    background: #087452 !important;
    color: #fff !important;
}

/* ==========================================================
   MENÚ DE LA REVISTA — A LA DERECHA
   ========================================================== */

body:has(.current_issue):not(:has(.usal-site-home))
.usal-main-navigation {
    min-height: 54px !important;

    background: #075f49 !important;
    border: 0 !important;
    box-shadow: 0 4px 13px rgba(0, 55, 40, .14) !important;
}

body:has(.current_issue):not(:has(.usal-site-home))
.usal-main-navigation .pkp_navigation_primary_row {
    display: flex !important;
    align-items: center !important;

    min-height: 54px !important;
}

body:has(.current_issue):not(:has(.usal-site-home))
.usal-main-navigation .pkp_navigation_primary_wrapper {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;

    width: 100% !important;
    min-height: 54px !important;

    gap: 18px !important;
}

body:has(.current_issue):not(:has(.usal-site-home))
.pkp_navigation_primary {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;

    gap: 8px !important;

    margin: 0 !important;
    padding: 0 !important;
}

/* Solapas */

body:has(.current_issue):not(:has(.usal-site-home))
.pkp_navigation_primary > li > a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    min-height: 38px !important;

    margin: 0 !important;
    padding: 8px 16px !important;

    border: 1px solid rgba(255, 255, 255, .28) !important;
    border-radius: 5px !important;

    background: rgba(255, 255, 255, .06) !important;
    color: #fff !important;

    font-size: 14px !important;
    font-weight: 600 !important;

    white-space: nowrap !important;
}

/* Hover */

body:has(.current_issue):not(:has(.usal-site-home))
.pkp_navigation_primary > li > a:hover,
body:has(.current_issue):not(:has(.usal-site-home))
.pkp_navigation_primary > li > a:focus {
    border-color: rgba(255, 255, 255, .75) !important;

    background: rgba(255, 255, 255, .16) !important;
    color: #fff !important;
}

/* Solapa activa: no más gris */

body:has(.current_issue):not(:has(.usal-site-home))
.pkp_navigation_primary > li.current > a,
body:has(.current_issue):not(:has(.usal-site-home))
.pkp_navigation_primary > li > a[aria-current="page"],
body:has(.current_issue):not(:has(.usal-site-home))
.pkp_navigation_primary > li > a[aria-expanded="true"] {
    border-color: #e7b860 !important;

    background: #e7b860 !important;
    color: #073f32 !important;

    box-shadow: none !important;
}

/* Buscar */

body:has(.current_issue):not(:has(.usal-site-home))
.pkp_navigation_search_wrapper {
    flex: 0 0 auto !important;

    margin: 0 0 0 16px !important;
    padding: 0 !important;
}

body:has(.current_issue):not(:has(.usal-site-home))
.pkp_navigation_search_wrapper a {
    display: inline-flex !important;
    align-items: center !important;

    min-height: 38px !important;

    padding: 8px 14px !important;

    border: 1px solid rgba(255, 255, 255, .28) !important;
    border-radius: 5px !important;

    background: rgba(255, 255, 255, .06) !important;
    color: #fff !important;

    font-size: 14px !important;
    font-weight: 600 !important;
}

/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media (max-width: 850px) {
    body:has(.current_issue):not(:has(.usal-site-home))
    .pkp_structure_content {
        padding: 26px 18px 52px !important;
    }

    body:has(.current_issue):not(:has(.usal-site-home))
    .pkp_structure_main {
        padding: 26px 20px !important;
    }

    body:has(.current_issue):not(:has(.usal-site-home))
    .obj_issue_toc .heading {
        grid-template-columns: 1fr !important;
    }

    body:has(.current_issue):not(:has(.usal-site-home))
    .obj_issue_toc .heading .cover,
    body:has(.current_issue):not(:has(.usal-site-home))
    .obj_issue_toc .heading > *:not(.cover) {
        grid-column: 1 !important;
        grid-row: auto !important;
    }

    body:has(.current_issue):not(:has(.usal-site-home))
    .obj_issue_toc .heading .cover {
        max-width: 260px !important;
        margin-bottom: 20px !important;
    }

    body:has(.current_issue):not(:has(.usal-site-home))
    .usal-main-navigation .pkp_navigation_primary_wrapper,
    body:has(.current_issue):not(:has(.usal-site-home))
    .pkp_navigation_primary {
        justify-content: flex-start !important;
        flex-wrap: wrap !important;
    }
}
/* ==========================================================
   REVISTAS: CONTENIDO + SIDEBAR FIJA A LA DERECHA
   ========================================================== */

/* Layout general de la revista */
body:has(.current_issue):not(:has(.usal-site-home))
.pkp_structure_content.has_sidebar {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 280px !important;
    gap: 34px !important;
    align-items: start !important;

    width: 100% !important;
    max-width: 1600px !important;

    margin: 0 auto !important;
    padding: 38px clamp(24px, 4vw, 72px) 72px !important;
}

/* Columna principal */
body:has(.current_issue):not(:has(.usal-site-home))
.pkp_structure_content.has_sidebar .pkp_structure_main {
    grid-column: 1 !important;

    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;

    margin: 0 !important;
}

/* Sidebar */
body:has(.current_issue):not(:has(.usal-site-home))
.pkp_structure_content.has_sidebar .pkp_structure_sidebar {
    grid-column: 2 !important;

    display: block !important;
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;

    width: 280px !important;
    min-width: 280px !important;
    max-width: 280px !important;

    margin: 0 !important;
    padding: 0 !important;

    float: none !important;
    clear: none !important;
}

/* Bloques laterales */
body:has(.current_issue):not(:has(.usal-site-home))
.pkp_structure_content.has_sidebar .pkp_block {
    width: 100% !important;
    margin: 0 0 24px !important;
    padding: 16px !important;

    border: 1px solid #d9e4df !important;
    border-top: 5px solid #087452 !important;
    background: #fff !important;
    border-radius:8px;

    box-shadow: 0 8px 22px rgba(0, 65, 47, .07) !important;
}

/* Títulos naranja de la sidebar */
body:has(.current_issue):not(:has(.usal-site-home))
.pkp_structure_content.has_sidebar .pkp_block .title {
    margin: 0 0 14px !important;
    padding: 10px 12px !important;

    border: 0 !important;
    border-radius: 5px !important;

    background: #f8872f !important;
    color: #fff !important;

    font-size: 16px !important;
    font-weight: 700 !important;
    text-transform: none !important;
}

/* Links laterales */
body:has(.current_issue):not(:has(.usal-site-home))
.pkp_structure_content.has_sidebar .pkp_block a {
    color: #087452 !important;
}

body:has(.current_issue):not(:has(.usal-site-home))
.pkp_structure_content.has_sidebar .pkp_block a:hover {
    color: #034a38 !important;
    text-decoration: underline !important;
}

/* Evita que reglas viejas manden la sidebar debajo */
body:has(.current_issue):not(:has(.usal-site-home))
.pkp_structure_content.has_sidebar::before,
body:has(.current_issue):not(:has(.usal-site-home))
.pkp_structure_content.has_sidebar::after {
    display: none !important;
    content: none !important;
}

/* Responsive */
@media (max-width: 980px) {
    body:has(.current_issue):not(:has(.usal-site-home))
    .pkp_structure_content.has_sidebar {
        grid-template-columns: 1fr !important;
    }

    body:has(.current_issue):not(:has(.usal-site-home))
    .pkp_structure_content.has_sidebar .pkp_structure_main,
    body:has(.current_issue):not(:has(.usal-site-home))
    .pkp_structure_content.has_sidebar .pkp_structure_sidebar {
        grid-column: 1 !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
    }

    body:has(.current_issue):not(:has(.usal-site-home))
    .pkp_structure_content.has_sidebar .pkp_structure_sidebar {
        margin-top: 26px !important;
    }
}
/* ==========================================================
   SIDEBAR USAL
   ========================================================== */

.pkp_structure_sidebar {
    width: 320px;
}

.pkp_structure_sidebar .pkp_block{
    margin-bottom:28px;
    padding:0;
    overflow:hidden;

    background:#fff;
    border:1px solid #d8e3df;
    border-radius:12px;

    box-shadow:0 10px 24px rgba(0,65,47,.08);
}

.pkp_structure_sidebar .pkp_block .title{
    margin:0;
    padding:16px 20px;

    background:#f58220;

    color:#fff;
    font-size:20px;
    font-weight:700;

    border:none;
}

.pkp_structure_sidebar .content,
.pkp_structure_sidebar .pkp_block > div{
    padding:20px;
}

.pkp_structure_sidebar a{
    color:#0b6b55;
    text-decoration:none;
}

.pkp_structure_sidebar a:hover{
    color:#f58220;
}

.pkp_structure_sidebar ul{
    margin:0;
    padding-left:20px;
}

.pkp_structure_sidebar li{
    margin:10px 0;
}

/* ==========================================================
   BUSCADOR
   ========================================================== */

.pkp_structure_sidebar input[type=text],
.pkp_structure_sidebar select{
    width:100%;
    height:42px;

    border:1px solid #cfd9d5;
    border-radius:6px;

    padding:0 12px;
    margin-bottom:15px;
}

.pkp_structure_sidebar button,
.pkp_structure_sidebar input[type=submit]{
    background:#0b6b55;
    color:#fff;

    border:none;
    border-radius:6px;

    padding:10px 18px;
    cursor:pointer;
}

.pkp_structure_sidebar button:hover,
.pkp_structure_sidebar input[type=submit]:hover{
    background:#07503f;
}

/* ==========================================================
   NUBE DE PALABRAS
   ========================================================== */

.pkp_structure_sidebar .tagCloud{
    text-align:center;
    line-height:2;
}

.pkp_structure_sidebar .tagCloud a{
    padding:2px 4px;
}

/* ==========================================================
   REDES SOCIALES
   ========================================================== */

.pkp_structure_sidebar .block_socialmedia a,
.pkp_structure_sidebar .block_social a{
    display:block;
    margin-bottom:10px;

    border-radius:6px;
    overflow:hidden;
}

/* ==========================================================
   MÁS LEÍDOS
   ========================================================== */

.pkp_structure_sidebar .block_most_read li{
    margin-bottom:14px;
}

/* ==========================================================
   IDIOMA
   ========================================================== */

.pkp_structure_sidebar .block_language a{
    display:block;
    padding:6px 0;
}

.pkp_structure_sidebar .block_language .current{
    display:inline-block;

    background:#f58220;
    color:#fff;

    padding:4px 10px;
    border-radius:5px;
}
/* ==========================================================
   SIDEBAR INSTITUCIONAL USAL
   ========================================================== */

.pkp_structure_content.has_sidebar {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 320px !important;
    gap: 36px !important;
    align-items: start !important;
}

.pkp_structure_content.has_sidebar > .pkp_structure_main {
    grid-column: 1 !important;
    min-width: 0 !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}

.pkp_structure_content.has_sidebar > .usal-sidebar,
.pkp_structure_content.has_sidebar > .pkp_structure_sidebar {
    grid-column: 2 !important;
    grid-row: 1 !important;
    position: relative !important;
    inset: auto !important;
    display: block !important;
    float: none !important;
    clear: none !important;
    width: 320px !important;
    min-width: 320px !important;
    max-width: 320px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.usal-sidebar-block {
    width: 100%;
    margin: 0 0 24px;
    overflow: hidden;
    border: 1px solid #d9e4df;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 8px 22px rgba(0, 65, 47, .07);
}

.usal-sidebar-title {
    margin: 0 !important;
    padding: 13px 17px !important;
    border: 0 !important;
    background: #e9470c !important;
    color: #fff !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    text-transform: none !important;
}

.usal-sidebar-content {
    padding: 17px;
}

.usal-sidebar-links {
    margin: 0;
    padding: 0;
    list-style: none;
}

.usal-sidebar-links li {
    margin: 0;
    padding: 0;
    border-bottom: 1px solid #edf2ef;
}

.usal-sidebar-links li:last-child {
    border-bottom: 0;
}

.usal-sidebar-links a {
    display: block;
    padding: 9px 2px;
    color: #087452 !important;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.4;
    text-decoration: none !important;
}

.usal-sidebar-links a:hover,
.usal-sidebar-links a:focus {
    color: #034a38 !important;
    padding-left: 6px;
}

.usal-sidebar-language .is-current {
    color: #e9470c !important;
    font-weight: 800;
}

.usal-sidebar-search label,
.usal-sidebar-scope legend {
    color: #243a33;
    font-size: 13px;
    font-weight: 700;
}

.usal-sidebar-search-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    margin: 7px 0 14px;
}

.usal-sidebar-search-row input {
    width: 100% !important;
    min-width: 0;
    min-height: 40px;
    margin: 0 !important;
    padding: 8px 10px;
    border: 1px solid #bdcbc5;
    border-radius: 5px;
}

.usal-sidebar-search-row button {
    min-width: 44px;
    min-height: 40px;
    padding: 8px 11px;
    border: 1px solid #087452;
    border-radius: 5px;
    background: #087452;
    color: #fff !important;
    font-size: 13px;
}

.usal-sidebar-search-row button:hover {
    border-color: #034a38;
    background: #034a38;
}

.usal-sidebar-scope {
    margin: 0 0 12px;
    padding: 0;
    border: 0;
}

.usal-sidebar-scope label {
    display: block;
    margin: 7px 0;
    font-weight: 500;
}

.usal-sidebar-scope input {
    margin-right: 7px;
}

.usal-sidebar-note {
    margin: 0 0 10px;
    color: #5e6d68;
    font-size: 13px;
    line-height: 1.55;
}

.usal-keyword-cloud {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.usal-keyword-cloud a {
    display: inline-flex;
    padding: 5px 9px;
    border: 1px solid #cfe0d8;
    border-radius: 999px;
    background: #f0f7f4;
    color: #087452 !important;
    font-size: 12px;
    font-weight: 600;
}

.usal-keyword-cloud a:hover {
    border-color: #087452;
    background: #087452;
    color: #fff !important;
}

.usal-social-links {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
}

.usal-social-links a {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 38px;
    padding: 8px 10px;
    border: 1px solid #d7e2dd;
    border-radius: 5px;
    color: #087452 !important;
    font-size: 12px;
    font-weight: 700;
}

.usal-social-links a:hover {
    border-color: #087452;
    background: #087452;
    color: #fff !important;
}

@media (max-width: 1050px) {
    .pkp_structure_content.has_sidebar {
        grid-template-columns: minmax(0, 1fr) 280px !important;
        gap: 26px !important;
    }

    .pkp_structure_content.has_sidebar > .usal-sidebar,
    .pkp_structure_content.has_sidebar > .pkp_structure_sidebar {
        width: 280px !important;
        min-width: 280px !important;
        max-width: 280px !important;
    }
}

@media (max-width: 900px) {
    .pkp_structure_content.has_sidebar {
        grid-template-columns: 1fr !important;
    }

    .pkp_structure_content.has_sidebar > .pkp_structure_main,
    .pkp_structure_content.has_sidebar > .usal-sidebar,
    .pkp_structure_content.has_sidebar > .pkp_structure_sidebar {
        grid-column: 1 !important;
        grid-row: auto !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
    }

    .pkp_structure_content.has_sidebar > .usal-sidebar,
    .pkp_structure_content.has_sidebar > .pkp_structure_sidebar {
        margin-top: 26px !important;
    }
}
/* ==========================================================
   INDEXACIONES DE REVISTAS
   ========================================================== */

.usal-indexaciones .content {
    text-align: center;
}

.usal-indexaciones__description {
    margin: 0 0 22px;
    color: #333;
    font-size: 14px;
    line-height: 1.55;
    text-align: left;
}

.usal-indexaciones__description strong {
    color: #00543f;
    font-weight: 600;
}

.usal-indexaciones__logos {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}

.usal-indexaciones__item {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    text-decoration: none;
}

.usal-indexaciones__item img {
    display: block;
    width: auto;
    max-width: 100%;
    max-height: 130px;
    height: auto;
    margin: 0 auto;
    object-fit: contain;
    transition:
        transform .2s ease,
        opacity .2s ease;
}

a.usal-indexaciones__item:hover img,
a.usal-indexaciones__item:focus img {
    transform: scale(1.04);
    opacity: .9;
}

a.usal-indexaciones__item:focus {
    outline: 2px solid #008a66;
    outline-offset: 4px;
}