/* =========================================================
   CABECERA ACADEMO: banner a todo el ancho + barra de menú
   ========================================================= */
.pkp_structure_head {
    background-color: #0b2a5b;
    border-bottom: none;
    padding: 0;
}
.pkp_head_wrapper {
    max-width: none;
    width: 100%;
    padding: 0;
}

/* La página deja de estar "encajonada": el azul y el banner van de borde a borde */
.pkp_structure_page {
    max-width: none;
    width: 100%;
    margin: 0;
    box-shadow: none;
}

/* --- Banner --- */
.pkp_site_name_wrapper {
    max-width: none;
    width: 100%;
    padding: 0;
    background-color: #0b2a5b;
}
.pkp_site_name {
    margin: 0;
    padding: 0;
    max-width: none;
}
/* El enlace del nombre de la revista se convierte en el banner */
.pkp_site_name .is_text,
.pkp_site_name .is_img,
.pkp_site_name > a {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 2172 / 406;          /* proporción real del banner */
    background: url('../images/cab_academo.jpg') center center / 100% 100% no-repeat;
    text-indent: -9999px;
    overflow: hidden;
    white-space: nowrap;
    font-size: 0;
    padding: 0;
    margin: 0;
}
/* Oculta el logo subido por OJS y cualquier texto dentro del banner */
.pkp_site_name img { display: none !important; }

/* --- Barra de navegación bajo el banner --- */
.pkp_navigation_primary_row {
    background-color: #0b2a5b;
    border-top: 1px solid rgba(255, 255, 255, 0.18);
    max-width: none;
    padding: 0;
}
.pkp_navigation_primary_wrapper,
.pkp_navigation_search_wrapper {
    max-width: 1200px;
    margin: 0 auto;
}
.pkp_navigation_primary {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px 30px;
    padding: 6px 15px;
    margin: 0;
}
.pkp_navigation_primary > li > a {
    color: #ffffff !important;
    font-weight: 600;
    text-transform: none;
    letter-spacing: 0;
    font-size: 14px;
    padding: 14px 4px;
}
.pkp_navigation_primary > li > a:hover,
.pkp_navigation_primary > li > a:focus {
    color: #ffffff !important;
    box-shadow: inset 0 -3px 0 #ffffff;
    text-decoration: none;
}
.pkp_navigation_primary ul li a { color: #0b2a5b !important; }
.pkp_navigation_user_wrapper .pkp_navigation_user > li > a { color: #ffffff !important; }
.pkp_head_wrapper .pkp_search .search_controls a,
.pkp_head_wrapper .pkp_search input { color: #ffffff; }

/* --- ESTRUCTURA A DOS COLUMNAS --- */
.pkp_structure_content { display: flex; flex-wrap: wrap; justify-content: space-between; max-width: 1200px; margin: 0 auto; padding: 40px 20px; }
.pkp_structure_main { width: 68%; }
.pkp_structure_sidebar { width: 28%; }

/* --- RESUMEN DE ARTÍCULOS --- */
.obj_article_summary { display: flex; align-items: flex-start; margin-bottom: 30px; padding-bottom: 20px; border-bottom: 1px solid #eeeeee; }
.obj_article_summary .cover { width: 150px; flex-shrink: 0; margin-right: 20px; margin-top: 0; }
.obj_article_summary .cover img { max-width: 100%; height: auto; border: 1px solid #ccc; }
.obj_article_summary .title { font-size: 1.3rem; margin-bottom: 10px; }
.obj_article_summary .title a { color: #1E6292; }
.obj_article_summary .authors { color: #555555; font-style: italic; margin-bottom: 10px; }

/* --- BOTONES DEL SIDEBAR --- */
.pkp_structure_sidebar .pkp_block { margin-bottom: 30px; }
.sidebar-btn { display: block; width: 100%; padding: 15px; border: 2px solid #333333; color: #333333; text-align: center; font-weight: bold; text-transform: uppercase; margin-bottom: 15px; border-radius: 4px; transition: all 0.3s ease; }
.sidebar-btn:hover { background-color: #f5f5f5; text-decoration: none; }

/* --- FOOTER ESTILOS --- */
.volver-arriba-container { text-align: center; margin-bottom: 20px; }
.volver-arriba { display: inline-block; width: 40px; height: 40px; border: 3px solid #1E6292; color: #1E6292; font-size: 24px; font-weight: bold; text-decoration: none; line-height: 35px; text-align: center; border-radius: 5px; }
.volver-arriba:hover { background-color: #1E6292; color: #fff; text-decoration: none; }
.footer-institucional { background-color: #1E6292; color: #fff; padding: 40px 20px; font-family: 'Lato', sans-serif; }
.footer-contenido { max-width: 1200px; margin: 0 auto; }
.footer-logos { display: flex; gap: 40px; border-bottom: 1px solid rgba(255,255,255,0.2); padding-bottom: 30px; margin-bottom: 30px; }
.footer-logos img { max-height: 70px; }
.footer-legal h4 { color: #fff; font-size: 16px; font-weight: bold; margin-bottom: 15px; text-transform: uppercase; }
.footer-legal p { font-size: 13px; line-height: 1.6; margin-bottom: 15px; text-align: justify; color: #f0f0f0; }
.footer-legal a { color: #fff; text-decoration: underline; font-weight: bold; }
.footer-legal a:hover { color: #ccc; }
.footer-licencia { display: flex; align-items: center; gap: 15px; margin-top: 20px; }
.footer-licencia p { font-size: 13px; margin: 0; color: #f0f0f0; }

/* --- OCULTAR EL PIE POR DEFECTO DE OJS (usamos el institucional) --- */
.pkp_structure_footer_wrapper { display: none; }

/* --- RESPONSIVE --- */
@media (max-width: 992px) {
    .pkp_structure_main,
    .pkp_structure_sidebar { width: 100%; }
    .obj_article_summary { display: block; }
    .obj_article_summary .cover { margin: 0 0 15px 0; }
    .footer-logos { flex-wrap: wrap; gap: 20px; }
}

/* --- CABECERA EN MÓVIL: recorte central para que el logo siga legible --- */
@media (max-width: 767px) {
    .pkp_site_name .is_text,
    .pkp_site_name .is_img,
    .pkp_site_name > a {
        aspect-ratio: 2172 / 406;   /* el banner nuevo se ve completo también en móvil */
        height: auto;
        background-size: 100% 100%;
        background-position: center center;
    }
    .pkp_navigation_primary { justify-content: flex-start; gap: 0 18px; }
}

/* --- CUERPO A ANCHO COMPLETO CON CONTENIDO CENTRADO --- */
body { background-color: #ffffff; }
.pkp_structure_content { border: none; }

/* =========================================================
   ANCHO COMPLETO REAL
   El tema por defecto fija `width: 1140px` (no max-width) a estos
   contenedores dentro de media queries, por eso hay que forzarlos.
   ========================================================= */
.pkp_site_name_wrapper,
.has_site_logo .pkp_head_wrapper,
.pkp_head_wrapper,
.pkp_navigation_primary_row {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}
/* El banner ocupa todo el viewport */
.pkp_site_name {
    position: relative !important;
    width: 100% !important;
    max-width: none !important;
    left: auto !important;
    right: auto !important;
    padding: 0 !important;
}
/* Los enlaces del menú y la barra de usuario siguen centrados a 1200 px */
.pkp_navigation_primary_wrapper,
.pkp_navigation_user_wrapper .pkp_navigation_user {
    width: 100% !important;
    max-width: 1200px;
    margin: 0 auto !important;
    padding: 0 15px !important;
}
/* Contenido y pie centrados */
.pkp_structure_content,
.pkp_structure_footer {
    width: 100% !important;
    max-width: 1200px;
    margin: 0 auto !important;
}

/* =========================================================
   BARRA DE MENÚ EXPANDIDA
   Una sola fila, enlaces repartidos y buscador en la misma línea.
   ========================================================= */
.pkp_navigation_primary_row {
    background-color: #0b2a5b;
}
.pkp_navigation_primary_wrapper {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    max-width: 1600px;
    padding: 0 20px !important;
}
.pkp_navigation_primary {
    display: flex;
    flex: 1 1 auto;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
    gap: 0;
    padding: 0;
    margin: 0;
    list-style: none;
}
.pkp_navigation_primary > li { flex: 0 1 auto; }
.pkp_navigation_primary > li > a {
    display: block;
    white-space: nowrap;
    padding: 16px 12px;
    font-size: 14px;
    font-weight: 600;
    text-transform: none;
    letter-spacing: 0;
    color: #ffffff !important;
}

/* Submenús desplegables sobre fondo blanco */
.pkp_navigation_primary > li > ul {
    background: #ffffff;
    border: 1px solid #d9d9d9;
    box-shadow: 0 6px 14px rgba(0, 0, 0, 0.15);
    min-width: 240px;
}
.pkp_navigation_primary > li > ul li a {
    color: #0b2a5b !important;
    text-transform: none;
    font-weight: 500;
    padding: 10px 15px;
    white-space: normal;
}
.pkp_navigation_primary > li > ul li a:hover { background: #f0f4fa; }

/* Buscador integrado en la misma barra, a la derecha */
.pkp_navigation_search_wrapper {
    flex: 0 0 auto;
    margin-left: 20px;
    padding: 0 !important;
    border: none;
}
.pkp_navigation_search_wrapper a,
.pkp_navigation_search_wrapper .pkp_search a {
    color: #ffffff !important;
    white-space: nowrap;
}

/* En pantallas medianas y pequeñas el menú vuelve a poder envolverse */
@media (max-width: 1100px) {
    .pkp_navigation_primary_wrapper { flex-wrap: wrap; }
    .pkp_navigation_primary { flex-wrap: wrap; justify-content: center; }
    .pkp_navigation_primary > li > a { padding: 12px 10px; }
}

/* =========================================================
   BARRA LATERAL ESTILO ACADEMO
   Títulos centrados con línea azul, enlaces convertidos en
   botones con borde azul e iconos azules.
   ========================================================= */
.pkp_structure_sidebar .pkp_block {
    margin-bottom: 35px;
    padding: 0;
    font-size: 15px;
}

/* --- Título de cada bloque: centrado, azul y subrayado --- */
.pkp_structure_sidebar .pkp_block .title {
    display: block;
    text-align: center;
    color: #0b2a5b;
    font-weight: 700;
    font-size: 17px;
    text-transform: none;
    padding: 0 0 8px 0;
    margin: 0 0 15px 0;
    border-bottom: 2px solid #0b2a5b;
}

/* --- Enlaces de la barra lateral en azul --- */
.pkp_structure_sidebar a { color: #0b2a5b; }
.pkp_structure_sidebar a:hover,
.pkp_structure_sidebar a:focus { color: #14418a; text-decoration: underline; }

/* --- Botones con borde azul --- */
.pkp_structure_sidebar .block_make_submission_link,
.pkp_structure_sidebar .sidebar-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    box-sizing: border-box;
    padding: 14px 15px;
    background: #ffffff;
    border: 2px solid #0b2a5b;
    border-radius: 4px;
    color: #0b2a5b !important;
    font-weight: 700;
    font-size: 16px;
    text-align: center;
    text-decoration: none !important;
    box-shadow: none;
    transition: background-color .2s ease, color .2s ease;
}
.pkp_structure_sidebar .block_make_submission_link:hover,
.pkp_structure_sidebar .block_make_submission_link:focus,
.pkp_structure_sidebar .sidebar-btn:hover,
.pkp_structure_sidebar .sidebar-btn:focus {
    background: #0b2a5b;
    color: #ffffff !important;
}
/* El icono cambia a blanco al pasar el cursor */
.pkp_structure_sidebar .block_make_submission_link:hover::before,
.pkp_structure_sidebar .sidebar-btn:hover::before { filter: brightness(0) invert(1); }

/* --- Iconos azules (SVG embebido, sin dependencias externas) --- */
.pkp_structure_sidebar .block_make_submission_link::before,
.pkp_structure_sidebar .sidebar-btn.icono-publicar::before {
    content: "";
    flex: 0 0 auto;
    width: 22px;
    height: 22px;
    background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b2a5b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h8'/><polyline points='14 2 14 8 20 8'/><line x1='18' y1='13' x2='18' y2='21'/><line x1='14' y1='17' x2='22' y2='17'/></svg>") center/contain no-repeat;
}
.pkp_structure_sidebar .sidebar-btn.icono-login::before {
    content: "";
    flex: 0 0 auto;
    width: 22px;
    height: 22px;
    background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b2a5b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4'/><polyline points='10 17 15 12 10 7'/><line x1='15' y1='12' x2='3' y2='12'/></svg>") center/contain no-repeat;
}
/* Icono de idioma junto al título del bloque de idiomas */
.pkp_structure_sidebar .block_language .title::before {
    content: "";
    display: inline-block;
    vertical-align: -4px;
    width: 20px;
    height: 20px;
    margin-right: 8px;
    background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b2a5b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='10'/><line x1='2' y1='12' x2='22' y2='12'/><path d='M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10A15.3 15.3 0 0 1 12 2z'/></svg>") center/contain no-repeat;
}

/* --- Bloque de idioma: opciones en línea --- */
.pkp_structure_sidebar .block_language ul {
    display: flex;
    justify-content: space-around;
    list-style: none;
    padding: 0;
    margin: 0;
}
.pkp_structure_sidebar .block_language li { margin: 0; }
.pkp_structure_sidebar .block_language a { font-weight: 600; }

/* --- Bloque de información: enlaces separados --- */
.pkp_structure_sidebar .block_information ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
.pkp_structure_sidebar .block_information li { margin-bottom: 10px; }

/* --- Buscador lateral con borde azul redondeado --- */
.pkp_structure_sidebar .block_search input[type="text"],
.pkp_structure_sidebar .block_search input[type="search"] {
    width: 100%;
    box-sizing: border-box;
    padding: 12px 15px;
    border: 2px solid #0b2a5b;
    border-radius: 25px;
    outline: none;
}
.pkp_structure_sidebar .block_search input:focus { border-color: #14418a; }
.pkp_structure_sidebar .block_search button,
.pkp_structure_sidebar .block_search input[type="submit"] {
    margin-top: 10px;
    width: 100%;
    padding: 10px;
    background: #0b2a5b;
    border: 2px solid #0b2a5b;
    border-radius: 4px;
    color: #ffffff;
    font-weight: 700;
    cursor: pointer;
}

/* --- Logos de apoyo (CONACYT / PROCIENCIA) --- */
.pkp_structure_sidebar .pkp_block img { max-width: 100%; height: auto; }

/* =========================================================
   QUITAR LAS LÍNEAS VERTICALES DIVISORIAS
   El tema por defecto las dibuja con .pkp_structure_main:before/:after
   ========================================================= */
.pkp_structure_main::before,
.pkp_structure_main::after {
    display: none !important;
    content: none !important;
}

/* =========================================================
   BOTÓN "ENVIAR UN ARTÍCULO" (selector ampliado)
   En 3.5 el enlace puede venir con la clase cmp_button, así que
   se cubren todas las variantes.
   ========================================================= */
.pkp_structure_sidebar .block_make_submission .content a,
.pkp_structure_sidebar .block_make_submission a.cmp_button,
.pkp_structure_sidebar a.block_make_submission_link,
.pkp_structure_sidebar a.sidebar-btn {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    box-sizing: border-box;
    padding: 14px 15px !important;
    background: #ffffff !important;
    background-image: none !important;
    border: 2px solid #0b2a5b !important;
    border-radius: 4px !important;
    color: #0b2a5b !important;
    font-weight: 700;
    font-size: 16px;
    text-align: center;
    text-decoration: none !important;
    box-shadow: none !important;
    text-shadow: none !important;
}
.pkp_structure_sidebar .block_make_submission .content a:hover,
.pkp_structure_sidebar .block_make_submission a.cmp_button:hover,
.pkp_structure_sidebar a.block_make_submission_link:hover,
.pkp_structure_sidebar a.sidebar-btn:hover {
    background: #0b2a5b !important;
    color: #ffffff !important;
}
.pkp_structure_sidebar .block_make_submission .content a::before {
    content: "";
    flex: 0 0 auto;
    width: 22px;
    height: 22px;
    background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b2a5b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h8'/><polyline points='14 2 14 8 20 8'/><line x1='18' y1='13' x2='18' y2='21'/><line x1='14' y1='17' x2='22' y2='17'/></svg>") center/contain no-repeat;
}
.pkp_structure_sidebar .block_make_submission .content a:hover::before { filter: brightness(0) invert(1); }

/* =========================================================
   PANEL DE PRESENTACIÓN DE LA PORTADA
   (portada + caja "Sobre la revista")
   Se usa desde: Ajustes del sitio web > Configuración >
   Contenido adicional de la página de inicio.
   ========================================================= */
.academo-presentacion {
    display: flex;
    align-items: stretch;
    margin: 0 0 40px 0;
    background: #efece7;
    border: 1px solid #e2ddd5;
}
.academo-presentacion .portada {
    flex: 0 0 300px;
    max-width: 300px;
}
.academo-presentacion .portada img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    margin: 0;
}
.academo-presentacion .texto {
    flex: 1 1 auto;
    padding: 28px 32px;
}
.academo-presentacion .texto h2,
.academo-presentacion .texto .titulo {
    margin: 0 0 18px 0;
    padding-bottom: 8px;
    border-bottom: 2px solid #0b2a5b;
    color: #0b2a5b;
    font-size: 18px;
    font-weight: 700;
}
.academo-presentacion .texto p {
    margin: 0 0 14px 0;
    text-align: justify;
    line-height: 1.65;
    font-size: 15px;
    color: #2a2a2a;
}
.academo-presentacion .texto p:last-child { margin-bottom: 0; }
.academo-presentacion .texto a { color: #0b2a5b; font-weight: 600; }

@media (max-width: 767px) {
    .academo-presentacion { display: block; }
    .academo-presentacion .portada { max-width: none; }
    .academo-presentacion .portada img { height: auto; }
    .academo-presentacion .texto { padding: 20px; }
}

/* =========================================================
   ORDEN DE LA PÁGINA DE INICIO
   El "Contenido adicional" se renderiza al final en el núcleo;
   aquí lo subimos arriba del número actual.
   ========================================================= */
.page_index_journal {
    display: flex;
    flex-direction: column;
}
.page_index_journal .additional_content { order: -1; }
.page_index_journal .homepage_image { order: -2; }
.page_index_journal .homepage_image img { max-width: 100%; height: auto; }

/* Variante del panel con tablas, por si el editor no admite <div> */
table.academo-presentacion { width: 100%; border-collapse: collapse; background: #efece7; }
table.academo-presentacion td { vertical-align: top; padding: 0; }
table.academo-presentacion td.portada { width: 300px; }
table.academo-presentacion td.portada img { display: block; width: 100%; height: auto; }
table.academo-presentacion td.texto { padding: 28px 32px; }

/* =========================================================
   BOTÓN DE ENVÍO: selector definitivo, sin depender del bloque
   ========================================================= */
.pkp_structure_sidebar .pkp_block a.cmp_button,
.pkp_structure_sidebar .pkp_block a[class*="submission"],
.pkp_structure_sidebar a.cmp_button {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    box-sizing: border-box;
    padding: 14px 15px !important;
    background: #ffffff !important;
    background-image: none !important;
    border: 2px solid #0b2a5b !important;
    border-radius: 4px !important;
    color: #0b2a5b !important;
    font-weight: 700 !important;
    font-size: 16px !important;
    text-decoration: none !important;
    box-shadow: none !important;
    text-shadow: none !important;
}
.pkp_structure_sidebar .pkp_block a.cmp_button:hover,
.pkp_structure_sidebar .pkp_block a[class*="submission"]:hover,
.pkp_structure_sidebar a.cmp_button:hover {
    background: #0b2a5b !important;
    color: #ffffff !important;
}
.pkp_structure_sidebar .pkp_block a.cmp_button::before,
.pkp_structure_sidebar a.cmp_button::before {
    content: "";
    flex: 0 0 auto;
    width: 22px;
    height: 22px;
    background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b2a5b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h8'/><polyline points='14 2 14 8 20 8'/><line x1='18' y1='13' x2='18' y2='21'/><line x1='14' y1='17' x2='22' y2='17'/></svg>") center/contain no-repeat;
}
.pkp_structure_sidebar .pkp_block a.cmp_button:hover::before,
.pkp_structure_sidebar a.cmp_button:hover::before { filter: brightness(0) invert(1); }

/* =========================================================
   JUEGO DE ICONOS SVG (azul #0b2a5b, embebidos, sin librerías)
   Uso en botones:  class="sidebar-btn icono-login"
   Uso automático:  título de cada bloque nativo
   ========================================================= */
.pkp_structure_sidebar [class*="icono-"]::before,
.pkp_structure_sidebar .pkp_block .title::before {
    flex: 0 0 auto;
    display: inline-block;
    width: 22px;
    height: 22px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}
/* En los títulos el icono va pegado al texto */
.pkp_structure_sidebar .pkp_block .title::before {
    width: 20px;
    height: 20px;
    margin-right: 8px;
    vertical-align: -4px;
}

/* --- Acceso / iniciar sesión --- */
.icono-login::before {
    content: "";
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b2a5b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4'/><polyline points='10 17 15 12 10 7'/><line x1='15' y1='12' x2='3' y2='12'/></svg>");
}
/* --- Publicar / enviar artículo --- */
.icono-publicar::before,
.pkp_structure_sidebar .block_make_submission .title::before {
    content: "";
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b2a5b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h8'/><polyline points='14 2 14 8 20 8'/><line x1='18' y1='13' x2='18' y2='21'/><line x1='14' y1='17' x2='22' y2='17'/></svg>");
}
/* --- Información --- */
.icono-info::before,
.pkp_structure_sidebar .block_information .title::before {
    content: "";
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b2a5b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='10'/><line x1='12' y1='16' x2='12' y2='12'/><line x1='12' y1='8' x2='12.01' y2='8'/></svg>");
}
/* --- Buscar --- */
.icono-buscar::before,
.pkp_structure_sidebar .block_search .title::before {
    content: "";
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b2a5b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='11' cy='11' r='8'/><line x1='21' y1='21' x2='16.65' y2='16.65'/></svg>");
}
/* --- Métricas / estadísticas --- */
.icono-metrica::before {
    content: "";
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b2a5b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><line x1='18' y1='20' x2='18' y2='10'/><line x1='12' y1='20' x2='12' y2='4'/><line x1='6' y1='20' x2='6' y2='14'/></svg>");
}
/* --- Contacto / correo --- */
.icono-contacto::before {
    content: "";
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b2a5b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M4 4h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2z'/><polyline points='22,6 12,13 2,6'/></svg>");
}
/* --- Archivo / números anteriores --- */
.icono-archivo::before {
    content: "";
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b2a5b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='21 8 21 21 3 21 3 8'/><rect x='1' y='3' width='22' height='5'/><line x1='10' y1='12' x2='14' y2='12'/></svg>");
}
/* --- Descargar / PDF --- */
.icono-descargar::before {
    content: "";
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b2a5b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/><polyline points='7 10 12 15 17 10'/><line x1='12' y1='15' x2='12' y2='3'/></svg>");
}

/* =========================================================
   ICONOS EN BLOQUES PERSONALIZADOS
   El título de un bloque personalizado no admite HTML, así que
   el icono se asigna por el id que genera OJS: #customblock-<nombre>
   Comprueba el id real con el inspector del navegador.
   ========================================================= */
#customblock-apoya .title::before {
    content: "";
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b2a5b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z'/></svg>");
}
#customblock-metrica .title::before,
#customblock-metricas .title::before {
    content: "";
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b2a5b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><line x1='18' y1='20' x2='18' y2='10'/><line x1='12' y1='20' x2='12' y2='4'/><line x1='6' y1='20' x2='6' y2='14'/></svg>");
}
#customblock-visitas .title::before {
    content: "";
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b2a5b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='10'/><line x1='2' y1='12' x2='22' y2='12'/><path d='M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10A15.3 15.3 0 0 1 12 2z'/></svg>");
}

/* --- Logos dentro de bloques personalizados: tamaño uniforme --- */
.pkp_structure_sidebar .block_custom .content img {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 0 auto 15px auto;
}
.pkp_structure_sidebar .block_custom .content p { margin: 0 0 12px 0; }

/* =========================================================
   CARRUSEL DE DESTACADOS (función nativa de OJS 3.5, Swiper)
   Se configura en Ajustes del sitio web > Destacados.
   ========================================================= */
.highlights { margin: 0 0 45px 0; }
.highlights .swiper { position: relative; padding-bottom: 35px; }

.highlights .swiper-slide-image {
    width: 100%;
    height: auto;
    max-height: 340px;
    object-fit: cover;
    border-radius: 6px;
}
.highlights .swiper-slide-content { padding: 18px 4px 0 4px; }
.highlights .swiper-slide-title {
    margin: 0 0 8px 0;
    color: #0b2a5b;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.35;
}
.highlights .swiper-slide-desc {
    color: #444;
    font-size: 15px;
    line-height: 1.6;
}
/* Botón del destacado, con el mismo lenguaje que la barra lateral */
.highlights .swiper-slide-button {
    display: inline-block;
    margin-top: 15px;
    padding: 10px 22px;
    background: #ffffff;
    border: 2px solid #0b2a5b;
    border-radius: 4px;
    color: #0b2a5b;
    font-weight: 700;
    text-decoration: none;
}
.highlights .swiper-slide-button:hover { background: #0b2a5b; color: #ffffff; }

/* Flechas circulares azules */
.highlights .swiper-button-prev,
.highlights .swiper-button-next {
    width: 46px;
    height: 46px;
    border: none;
    border-radius: 50%;
    background: #0b2a5b;
    color: #ffffff;
    cursor: pointer;
}
.highlights .swiper-button-prev::after,
.highlights .swiper-button-next::after {
    font-size: 18px;
    font-weight: 700;
}
.highlights .swiper-button-prev:hover,
.highlights .swiper-button-next:hover { background: #14418a; }

/* Puntos de paginación en azul */
.highlights .swiper-pagination-bullet { background: #9aa8bf; opacity: 1; }
.highlights .swiper-pagination-bullet-active { background: #0b2a5b; }

/* =========================================================
   CORRECCIÓN DE LA TABLA DE CONTENIDOS (OJS 3.5)
   Anula la maquetación flex heredada del CSS para OJS 3.3,
   que solapaba título, autores y galeradas.
   ========================================================= */
.obj_article_summary {
    display: block !important;
    margin-bottom: 0;
    padding: 22px 0;
    border-bottom: 1px solid #e6e6e6;
}
.obj_article_summary .title {
    display: block;
    text-align: left !important;
    margin: 0 0 6px 0;
    font-size: 1.15rem;
    line-height: 1.4;
}
.obj_article_summary .title a { color: #0b2a5b; }
.obj_article_summary .authors {
    display: block;
    text-align: left;
    margin: 0 0 8px 0;
    color: #555;
    font-style: normal;
    font-size: 14px;
}
.obj_article_summary .pages {
    display: block;
    margin: 0 0 10px 0;
    color: #777;
    font-size: 13px;
}
.obj_article_summary .galleys_links {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.obj_article_summary .galleys_links li { margin: 0; }
.obj_article_summary .cover {
    float: left;
    width: 110px;
    margin: 0 18px 10px 0;
}
.obj_article_summary::after { content: ""; display: block; clear: both; }

/* =========================================================
   CARRUSEL DE ARTÍCULOS DEL NÚMERO ACTUAL
   Marcado generado por el tema (carruselArticulos.tpl).
   3 tarjetas en escritorio, 2 en tableta, 1 en móvil.
   ========================================================= */
.academo-carrusel { margin: 10px 0 45px 0; }
.academo-carrusel-titulo {
    margin: 0 0 6px 0;
    padding-bottom: 10px;
    border-bottom: 2px solid #0b2a5b;
    color: #0b2a5b;
    font-size: 20px;
    font-weight: 700;
    text-align: center;
}
.academo-carrusel-marco {
    position: relative;
    margin-top: 25px;
    padding: 0 56px;
}
.academo-carrusel-pista {
    display: flex;
    gap: 24px;
    margin: 0;
    padding: 0;
    list-style: none;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    scrollbar-width: none;
}
.academo-carrusel-pista::-webkit-scrollbar { display: none; }

.academo-tarjeta {
    flex: 0 0 calc((100% - 48px) / 3);
    scroll-snap-align: start;
    min-width: 0;
}
.academo-tarjeta-enlace { display: block; text-decoration: none; }
.academo-tarjeta img,
.academo-tarjeta-sinimagen {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border-radius: 6px;
    background: #e8ecf3;
}
.academo-tarjeta-titulo {
    display: block;
    margin-top: 14px;
    color: #0b2a5b;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.4;
}
.academo-tarjeta-enlace:hover .academo-tarjeta-titulo { text-decoration: underline; }
.academo-tarjeta-autores {
    margin: 6px 0 0 0;
    color: #555;
    font-size: 14px;
    line-height: 1.45;
}
.academo-tarjeta-paginas {
    margin: 6px 0 0 0;
    color: #808080;
    font-size: 13px;
}

/* Flechas circulares azules */
.academo-carrusel-control {
    position: absolute;
    top: 38%;
    transform: translateY(-50%);
    width: 46px;
    height: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    border-radius: 50%;
    background: #0b2a5b;
    color: #ffffff;
    font-size: 26px;
    line-height: 1;
    cursor: pointer;
    transition: background-color .2s ease, opacity .2s ease;
}
.academo-carrusel-control:hover { background: #14418a; }
.academo-carrusel-control:disabled { opacity: .3; cursor: default; }
.academo-carrusel-control.izq { left: 0; }
.academo-carrusel-control.der { right: 0; }

@media (max-width: 1024px) {
    .academo-tarjeta { flex-basis: calc((100% - 24px) / 2); }
}
@media (max-width: 640px) {
    .academo-carrusel-marco { padding: 0 44px; }
    .academo-tarjeta { flex-basis: 100%; }
}

/* =========================================================
   CARRUSEL - AJUSTES v2.1 (según la muestra)
   Imagen más alta, título negro, autores en negrita azul,
   icono PDF tipo documento, flechas con chevron grueso.
   ========================================================= */
.academo-tarjeta img,
.academo-tarjeta-sinimagen {
    aspect-ratio: 1 / 1;          /* antes 4/3: ahora casi cuadrada */
}
.academo-tarjeta-titulo {
    margin-top: 18px;
    color: #000000;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.35;
}
.academo-tarjeta-enlace:hover .academo-tarjeta-titulo {
    color: #0b2a5b;
    text-decoration: none;
}
.academo-tarjeta-autores {
    margin: 6px 0 0 0;
    color: #0b2a5b;
    font-weight: 700;
    font-size: 15px;
    line-height: 1.4;
}
.academo-tarjeta-seccion {
    margin: 18px 0 0 0;
    color: #000000;
    font-size: 15px;
}
.academo-tarjeta-paginas {
    margin: 14px 0 0 0;
    color: #666666;
    font-size: 14px;
}

/* --- Galeradas con icono de documento --- */
.academo-tarjeta-galeradas {
    display: flex;
    gap: 12px;
    margin: 14px 0 0 0;
    padding: 0;
    list-style: none;
}
.academo-tarjeta-galeradas a {
    display: block;
    width: 36px;
    height: 42px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    transition: transform .15s ease;
}
.academo-tarjeta-galeradas a:hover { transform: translateY(-2px); }

/* Documento con esquina doblada y banda "PDF" */
.academo-icono-pdf {
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 42'><path d='M4 1h19l10 10v28a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2z' fill='%23ffffff' stroke='%230b2a5b' stroke-width='2'/><path d='M23 1v10h10' fill='none' stroke='%230b2a5b' stroke-width='2'/><rect x='0' y='17' width='30' height='13' rx='1.5' fill='%230b2a5b'/><text x='15' y='27' font-family='Arial,Helvetica,sans-serif' font-size='10' font-weight='700' fill='%23ffffff' text-anchor='middle'>PDF</text></svg>");
}
/* Otros formatos (ePub, HTML...) */
.academo-icono-archivo {
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 42'><path d='M4 1h19l10 10v28a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2z' fill='%23ffffff' stroke='%230b2a5b' stroke-width='2'/><path d='M23 1v10h10' fill='none' stroke='%230b2a5b' stroke-width='2'/><line x1='8' y1='20' x2='26' y2='20' stroke='%230b2a5b' stroke-width='2'/><line x1='8' y1='26' x2='26' y2='26' stroke='%230b2a5b' stroke-width='2'/><line x1='8' y1='32' x2='20' y2='32' stroke='%230b2a5b' stroke-width='2'/></svg>");
}

/* --- Flechas: chevron grueso en círculo --- */
.academo-carrusel-control { font-size: 0; }
.academo-carrusel-control svg {
    width: 24px;
    height: 24px;
    fill: none;
    stroke: #ffffff;
    stroke-width: 3.5;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.academo-carrusel-control { top: 30%; }

/* --- Enlace "Ver más…" --- */
.academo-carrusel-vermas {
    margin: 30px 0 0 0;
    text-align: center;
}
.academo-carrusel-vermas a {
    color: #0b2a5b;
    font-weight: 700;
    font-size: 17px;
    text-decoration: none;
}
.academo-carrusel-vermas a:hover { text-decoration: underline; }

/* Texto sólo para lectores de pantalla */
.visually-hidden {
    position: absolute !important;
    width: 1px; height: 1px;
    margin: -1px; padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    border: 0;
}


/* =========================================================
   PÁGINA DEL ARTÍCULO (v2.2)
   Columna de detalles al estilo de la muestra: etiquetas grises,
   separadores finos, galeradas como iconos, métricas y gráfico.
   ========================================================= */
.obj_article_details .entry_details .item {
    padding: 22px 22px;
    border-bottom: 1px solid #e3e3e3;
}
.obj_article_details .entry_details .item:last-child { border-bottom: none; }
.obj_article_details .entry_details .item .label {
    margin: 0 0 8px 0;
    font-size: 14px;
    font-weight: 400;
    color: #6b6b6b;
    text-transform: none;
    letter-spacing: 0;
}
.obj_article_details .entry_details .item.cover_image img {
    display: block;
    width: 100%;
    height: auto;
}
.obj_article_details .entry_details .item.issue a,
.obj_article_details .entry_details .item.license a { color: #0b2a5b; }

/* --- Galeradas como iconos en rejilla --- */
.obj_article_details .galleys_links {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px 10px;
    margin: 0;
    padding: 0;
    list-style: none;
    justify-items: center;
}
.obj_article_details .galleys_links li { margin: 0; }
.obj_article_details a.academo-galerada {
    display: block;
    width: 38px;
    height: 44px;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0;
    background-color: transparent !important;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    font-size: 0 !important;
    line-height: 0;
    color: transparent !important;
    overflow: hidden;
    transition: transform .15s ease;
}
.obj_article_details a.academo-galerada::before,
.obj_article_details a.academo-galerada::after { display: none !important; content: none !important; }
.obj_article_details a.academo-galerada:hover,
.obj_article_details a.academo-galerada:focus { transform: translateY(-2px); }
.obj_article_details a.academo-galerada-pdf { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 42'><path d='M4 1h19l10 10v28a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2z' fill='%23ffffff' stroke='%230b2a5b' stroke-width='2'/><path d='M23 1v10h10' fill='none' stroke='%230b2a5b' stroke-width='2'/><rect x='0' y='17' width='30' height='13' rx='1.5' fill='%230b2a5b'/><text x='15' y='27' font-family='Arial,Helvetica,sans-serif' font-size='10' font-weight='700' fill='%23ffffff' text-anchor='middle'>PDF</text></svg>"); }
.obj_article_details a.academo-galerada-xml { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 42'><path d='M4 1h19l10 10v28a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2z' fill='%23ffffff' stroke='%230b2a5b' stroke-width='2'/><path d='M23 1v10h10' fill='none' stroke='%230b2a5b' stroke-width='2'/><rect x='0' y='17' width='30' height='13' rx='1.5' fill='%230b2a5b'/><text x='15' y='27' font-family='Arial,Helvetica,sans-serif' font-size='10' font-weight='700' fill='%23ffffff' text-anchor='middle'>XML</text></svg>"); }
.obj_article_details a.academo-galerada-epub { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 42'><path d='M4 1h19l10 10v28a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2z' fill='%23ffffff' stroke='%230b2a5b' stroke-width='2'/><path d='M23 1v10h10' fill='none' stroke='%230b2a5b' stroke-width='2'/><rect x='0' y='17' width='30' height='13' rx='1.5' fill='%230b2a5b'/><text x='15' y='27' font-family='Arial,Helvetica,sans-serif' font-size='9' font-weight='700' fill='%23ffffff' text-anchor='middle'>ePub</text></svg>"); }
.obj_article_details a.academo-galerada-html { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 42'><path d='M4 1h19l10 10v28a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2z' fill='%23ffffff' stroke='%230b2a5b' stroke-width='2'/><path d='M23 1v10h10' fill='none' stroke='%230b2a5b' stroke-width='2'/><rect x='0' y='17' width='30' height='13' rx='1.5' fill='%230b2a5b'/><text x='15' y='27' font-family='Arial,Helvetica,sans-serif' font-size='8.5' font-weight='700' fill='%23ffffff' text-anchor='middle'>HTML</text></svg>"); }
.obj_article_details a.academo-galerada-mp3 { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 42'><path d='M4 1h19l10 10v28a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2z' fill='%23ffffff' stroke='%230b2a5b' stroke-width='2'/><path d='M23 1v10h10' fill='none' stroke='%230b2a5b' stroke-width='2'/><rect x='0' y='17' width='30' height='13' rx='1.5' fill='%230b2a5b'/><text x='15' y='27' font-family='Arial,Helvetica,sans-serif' font-size='10' font-weight='700' fill='%23ffffff' text-anchor='middle'>MP3</text></svg>"); }
.obj_article_details a.academo-galerada-kindle { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 42'><path d='M4 1h19l10 10v28a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2z' fill='%23ffffff' stroke='%230b2a5b' stroke-width='2'/><path d='M23 1v10h10' fill='none' stroke='%230b2a5b' stroke-width='2'/><rect x='0' y='17' width='30' height='13' rx='1.5' fill='%230b2a5b'/><text x='15' y='27' font-family='Arial,Helvetica,sans-serif' font-size='7.5' font-weight='700' fill='%23ffffff' text-anchor='middle'>Kindle</text></svg>"); }
.obj_article_details a.academo-galerada-archivo { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 42'><path d='M4 1h19l10 10v28a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2z' fill='%23ffffff' stroke='%230b2a5b' stroke-width='2'/><path d='M23 1v10h10' fill='none' stroke='%230b2a5b' stroke-width='2'/><line x1='8' y1='20' x2='26' y2='20' stroke='%230b2a5b' stroke-width='2'/><line x1='8' y1='26' x2='26' y2='26' stroke='%230b2a5b' stroke-width='2'/><line x1='8' y1='32' x2='20' y2='32' stroke='%230b2a5b' stroke-width='2'/></svg>"); }

/* --- Métricas por formato --- */
.academo-metricas .academo-metricas-sub {
    margin: -4px 0 12px 0;
    font-size: 14px;
    color: #6b6b6b;
}
.academo-metricas-lista {
    margin: 0;
    padding: 0 0 12px 0;
    list-style: none;
}
.academo-metricas-lista li {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 3px 0;
    font-size: 15px;
}
.academo-metricas-lista li::before {
    content: "";
    flex: 0 0 16px;
    height: 16px;
    background: center / contain no-repeat;
}
.academo-metrica-vista::before { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b2a5b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z'/><circle cx='12' cy='12' r='3'/></svg>") !important; }
.academo-metrica-descarga::before { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b2a5b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/><polyline points='7 10 12 15 17 10'/><line x1='12' y1='15' x2='12' y2='3'/></svg>") !important; }
.academo-metrica-audio::before { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><polygon points='6 4 20 12 6 20' fill='%230b2a5b'/></svg>") !important; }
.academo-metrica-nombre { flex: 1 1 auto; }
.academo-metrica-total { font-variant-numeric: tabular-nums; }

/* --- Gráfico de descargas (HTML/CSS puro) --- */
.academo-grafico { margin: 40px 0; }
.academo-grafico .label {
    font-size: 17px;
    font-weight: 700;
    color: #222222;
    margin: 0 0 18px 0;
}
.academo-grafico-cuerpo {
    display: flex;
    gap: 8px;
    max-width: 420px;
    height: 200px;
    padding-bottom: 22px;   /* espacio para los meses */
}
.academo-grafico-eje {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    margin: -7px 0 -7px 0;
    padding: 0;
    list-style: none;
    font-size: 12px;
    color: #666666;
    text-align: right;
    font-variant-numeric: tabular-nums;
}
.academo-grafico-zona {
    position: relative;
    flex: 1 1 auto;
    border-left: 1px solid #bdbdbd;
    border-bottom: 1px solid #bdbdbd;
    background-image: linear-gradient(to bottom, #ececec 1px, transparent 1px);
    background-size: 100% 25%;
}
.academo-grafico-barras {
    display: flex;
    align-items: flex-end;
    gap: 6px;
    height: 100%;
    margin: 0;
    padding: 0 4px;
    list-style: none;
}
.academo-grafico-barras li {
    position: relative;
    flex: 1 1 0;
    height: 100%;
    display: flex;
    align-items: flex-end;
}
.academo-grafico-barra {
    display: block;
    width: 100%;
    min-height: 0;
    background: #0b2a5b;
    opacity: .85;
    transition: opacity .15s ease;
}
.academo-grafico-barras li:hover .academo-grafico-barra { opacity: 1; }
.academo-grafico-mes {
    position: absolute;
    left: 50%;
    bottom: -21px;
    transform: translateX(-50%);
    font-size: 12px;
    color: #666666;
}

/* =========================================================
   BLOQUE "ARTÍCULOS MÁS CONSULTADOS"
   (plugin de bloque academoMasConsultados)
   ========================================================= */
.pkp_structure_sidebar .block_academo_mas_consultados .title::before {
    content: "";
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b2a5b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='23 6 13.5 15.5 8.5 10.5 1 18'/><polyline points='17 6 23 6 23 12'/></svg>");
}
.block_academo_mas_consultados ol {
    margin: 0;
    padding: 0;
    list-style: none;
    text-align: center;
}
.block_academo_mas_consultados li { margin: 0 0 16px 0; line-height: 1.4; }
.block_academo_mas_consultados .vistas {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin-top: 3px;
    font-size: 14px;
    font-weight: 700;
    color: #333333;
}
.block_academo_mas_consultados .vistas::before {
    content: "";
    width: 16px;
    height: 16px;
    background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b2a5b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z'/><circle cx='12' cy='12' r='3'/></svg>") center / contain no-repeat;
}

@media (max-width: 767px) {
    .academo-grafico-cuerpo { max-width: 100%; }
    .academo-grafico-mes { font-size: 10px; }
}


/* =========================================================
   ARTÍCULO A DOS COLUMNAS REALES (v2.3)
   El tema padre coloca los detalles con float; con el ancho de la
   columna principal de Academo el bloque caía al final de la página.
   Con flex, los detalles (portada, galeradas, fecha, número, licencia,
   cómo citar, compartir...) quedan siempre a la derecha del resumen.
   ========================================================= */
@media (min-width: 992px) {
    .obj_article_details .row {
        display: flex !important;
        flex-wrap: nowrap !important;
        align-items: stretch;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    .obj_article_details .row::before,
    .obj_article_details .row::after {
        display: none !important;
        content: none !important;
    }
    .obj_article_details .main_entry {
        float: none !important;
        flex: 1 1 auto;
        width: auto !important;
        min-width: 0;
        padding-right: 30px;
        border-right: 1px solid #e3e3e3;
    }
    .obj_article_details .entry_details {
        float: none !important;
        flex: 0 0 34%;
        width: 34% !important;
        max-width: 300px;
        min-width: 0;
        margin: 0 !important;
        border-left: none !important;
    }
}
.obj_article_details .entry_details { overflow-wrap: anywhere; }

/* Nota bajo el icono de galerada, p. ej. "inglés" */
.obj_article_details .galleys_links li {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
}
.academo-galerada-nota {
    font-size: 12px;
    line-height: 1.2;
    color: #0b2a5b;
    text-align: center;
}

/* Botones de compartir y selector de citas a lo ancho de la columna */
.obj_article_details .entry_details .citation_formats,
.obj_article_details .entry_details select { max-width: 100%; }


/* =========================================================
   MENÚ EN TIPO ORACIÓN (v2.3)
   "REDES SOCIALES" / "Redes Sociales" -> "Redes sociales".
   Se pasa todo a minúscula y se pone en mayúscula sólo la
   primera letra de cada opción.
   ========================================================= */
.pkp_navigation_primary > li > a {
    text-transform: lowercase !important;
    letter-spacing: 0 !important;
}
.pkp_navigation_primary > li > a::first-letter {
    text-transform: uppercase;
}

/* =========================================================
   BOTONES DE COMPARTIR (plugin Shariff) CON COLOR DE MARCA
   Fondo lleno con el color de cada red, icono y texto blancos,
   en rejilla de dos columnas. Funciona con cualquier tema de
   Shariff (estándar, gris o blanco) elegido en el plugin.
   ========================================================= */
.shariff ul {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}
.shariff ul li,
.shariff ul li.shariff-button {
    flex: 0 0 calc(50% - 3px) !important;
    width: calc(50% - 3px) !important;
    max-width: none !important;
    margin: 0 !important;
    height: auto !important;
    border: none !important;
    border-radius: 0 !important;
    overflow: hidden;
}
.shariff ul li a {
    display: flex !important;
    align-items: center;
    gap: 8px;
    height: 34px !important;
    padding: 0 10px !important;
    border: none !important;
    border-radius: 0 !important;
    color: #ffffff !important;
    font-size: 14px !important;
    font-weight: 700;
    text-decoration: none !important;
    transition: filter .15s ease;
}
.shariff ul li a:hover,
.shariff ul li a:focus { filter: brightness(1.12); color: #ffffff !important; }
.shariff ul li a *,
.shariff ul li a .fab,
.shariff ul li a .fas,
.shariff ul li a .share_text { color: #ffffff !important; }
.shariff ul li a svg,
.shariff ul li a svg path { fill: #ffffff !important; }
.shariff ul li a .fab,
.shariff ul li a .fas,
.shariff ul li a svg { width: 20px; font-size: 20px !important; text-align: center; }

/* Colores de cada red */
.shariff li.twitter a, .shariff li.x a      { background-color: #000000 !important; }
.shariff li.facebook a                       { background-color: #3b5998 !important; }
.shariff li.linkedin a                       { background-color: #0077b5 !important; }
.shariff li.whatsapp a                       { background-color: #5cbe4a !important; }
.shariff li.mail a                           { background-color: #999999 !important; }
.shariff li.telegram a                       { background-color: #0088cc !important; }
.shariff li.threema a                        { background-color: #333333 !important; }
.shariff li.xing a                           { background-color: #126567 !important; }
.shariff li.reddit a                         { background-color: #ff4500 !important; }
.shariff li.pinterest a                      { background-color: #cb2027 !important; }
.shariff li.tumblr a                         { background-color: #36465d !important; }
.shariff li.bluesky a                        { background-color: #1185fe !important; }
.shariff li.mastodon a                       { background-color: #6364ff !important; }
.shariff li.info a,
.shariff li.print a                          { background-color: #666666 !important; }

/* =========================================================
   GRÁFICO DE DESCARGAS - AJUSTE v2.3
   Las cifras del eje se colocan exactamente sobre cada línea
   de la cuadrícula (antes podían quedar desplazadas).
   ========================================================= */
.academo-grafico-cuerpo {
    display: block;
    position: relative;
    padding: 0 0 22px 46px;
}
.academo-grafico-zona { height: 100%; }
.academo-grafico-eje {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 100%;
    width: 42px;
    margin: 0 !important;
    padding: 0 6px 0 0 !important;
    list-style: none;
}
.academo-grafico-eje li {
    position: absolute;
    right: 6px;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1;
    transform: translateY(-50%);
    white-space: nowrap;
}
.academo-grafico-eje li::before { content: none !important; }

/* =========================================================
   OCULTAR EL GRÁFICO DUPLICADO DEL PLUGIN DE ESTADÍSTICAS
   El tema ya muestra su propio gráfico "Descargas". Lo ideal es
   desactivar también la opción en el plugin de estadísticas de
   uso, para que la página no cargue Chart.js sin necesidad.
   ========================================================= */
.obj_article_details .item.downloads_chart,
.obj_article_details .item:has(canvas.usageStatsGraph) {
    display: none !important;
}


/* =========================================================
   INSIGNIAS DE CITAS (v2.4): OpenAlex y Google Académico
   Diseño propio y circular, en línea con las de Dimensions/PlumX.
   ========================================================= */
.academo-insignias {
    display: flex;
    flex-wrap: wrap;
    gap: 18px 26px;
    align-items: flex-start;
}
.academo-insignias-fusionadas { margin-top: 22px; }
.academo-insignia {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    width: 76px;
    color: #0b2a5b !important;
    text-decoration: none !important;
    text-align: center;
}
.academo-insignia[hidden] { display: none !important; }
.academo-insignia-circulo {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: #ffffff;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .15);
    transition: transform .15s ease;
}
.academo-insignia:hover .academo-insignia-circulo,
.academo-insignia:focus .academo-insignia-circulo { transform: scale(1.06); }
.academo-insignia-nombre {
    font-size: 12px;
    line-height: 1.2;
    font-weight: 600;
}

/* OpenAlex: anillo en degradado con el número de citas al centro */
.academo-insignia-openalex .academo-insignia-circulo {
    background:
        radial-gradient(circle, #ffffff 0 22px, transparent 23px),
        conic-gradient(#0b2a5b, #1f6fb2, #37b3c9, #7bd389, #37b3c9, #1f6fb2, #0b2a5b);
}
.academo-insignia-numero {
    font-size: 17px;
    font-weight: 700;
    color: #0b2a5b;
    font-variant-numeric: tabular-nums;
}

/* Google Académico: birrete dentro de un aro azul */
.academo-insignia-scholar .academo-insignia-circulo {
    border: 5px solid #1f6fb2;
    background: #ffffff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b2a5b' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><polygon points='12 4 1 9.5 12 15 23 9.5'/><path d='M5.5 11.8v4.4c0 1.6 2.9 3 6.5 3s6.5-1.4 6.5-3v-4.4'/><line x1='21' y1='10.5' x2='21' y2='16'/></svg>") center / 34px 34px no-repeat;
    box-sizing: border-box;
}

/* =========================================================
   BLOQUE "NÚMEROS PUBLICADOS": PORTADAS QUE GIRAN (v2.4)
   (plugin de bloque academoPortadas)
   ========================================================= */
.pkp_structure_sidebar .block_academo_portadas .title::before {
    content: "";
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b2a5b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M2 4h7a3 3 0 0 1 3 3v13a2 2 0 0 0-2-2H2z'/><path d='M22 4h-7a3 3 0 0 0-3 3v13a2 2 0 0 1 2-2h8z'/></svg>");
}
.academo-portadas { text-align: center; }
.academo-portadas-escena {
    position: relative;
    width: 100%;
    max-width: 210px;
    aspect-ratio: 210 / 297;
    margin: 6px auto 0 auto;
    perspective: 1200px;
}
.academo-portada {
    position: absolute;
    inset: 0;
    display: block;
    visibility: hidden;
    backface-visibility: hidden;
    transform-origin: center center;
}
.academo-portada img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 6px;
    box-shadow: 0 8px 18px rgba(0, 0, 0, .28);
}
.academo-portada.activa {
    visibility: visible;
    animation: academoPortadaEntra .8s ease-out both;
}
.academo-portada.saliendo {
    visibility: visible;
    animation: academoPortadaSale .4s ease-in both;
}
@keyframes academoPortadaSale {
    from { transform: rotateY(0deg); }
    to   { transform: rotateY(-90deg); }
}
@keyframes academoPortadaEntra {
    0%, 50% { transform: rotateY(90deg); }
    100%    { transform: rotateY(0deg); }
}
.academo-portadas-leyenda {
    min-height: 2.6em;
    margin: 14px 0 0 0;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.3;
    color: #0b2a5b;
}
.academo-portadas-puntos {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 7px;
    margin-top: 8px;
}
.academo-portadas-puntos button {
    width: 10px;
    height: 10px;
    padding: 0;
    border: 2px solid #0b2a5b;
    border-radius: 50%;
    background: transparent;
    cursor: pointer;
}
.academo-portadas-puntos button[aria-current="true"] { background: #0b2a5b; }
@media (prefers-reduced-motion: reduce) {
    .academo-portada.activa,
    .academo-portada.saliendo { animation: none; }
    .academo-portada.saliendo { visibility: hidden; }
}

/* =========================================================
   INSIGNIAS DE TERCEROS (v2.5): Dimensions, PlumX, Altmetric
   Mismo tamaño y alineación que las de OpenAlex / Google Académico.
   ========================================================= */
.academo-insignia-externa {
    min-height: 64px;
    color: #0b2a5b;
}
.academo-insignia-externa > :first-child {
    display: flex !important;
    align-items: center;
    justify-content: center;
    min-width: 64px;
    min-height: 64px;
}
.academo-insignia-externa .altmetric-embed img { width: 64px; height: 64px; }
.academo-insignia-externa .plumx-plum-print-popup { font-size: 0; }
/* Las ventanas emergentes de los servicios deben quedar por encima */
.academo-insignias { position: relative; z-index: 2; }

/* Leyenda bajo cada icono de galerada (v2.5.1) */
.academo-galerada-nota {
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap;
}

/* =========================================================
   PIE DE PÁGINA INSTITUCIONAL v2.6
   Fondo azul de la revista, logo blanco de la Universidad
   Americana y datos de la revista centrados.
   ========================================================= */
.pkp_structure_footer_wrapper,
.pkp_structure_footer,
.pkp_brand_footer { display: none !important; }

.footer-institucional {
    background-color: #0b2a5b;
    color: #ffffff;
    padding: 50px 20px 30px 20px;
    text-align: center;
}
.footer-institucional .footer-contenido {
    max-width: 900px;
    margin: 0 auto;
}
.footer-institucional p {
    margin: 0 0 10px 0;
    font-size: 15px;
    line-height: 1.6;
    color: #e8edf5;
    text-align: center;
}
.footer-institucional a { color: #ffffff; text-decoration: underline; font-weight: 400; }
.footer-institucional a:hover,
.footer-institucional a:focus { color: #cfe0ff; }

.footer-revista .footer-titulo {
    font-size: 17px;
    font-weight: 700;
    color: #ffffff;
}
.footer-separador { margin: 0 8px; opacity: .6; }

.footer-universidad { margin: 28px 0; }
.footer-universidad img {
    display: inline-block;
    width: 240px;
    max-width: 70%;
    height: auto;
}

.footer-legal {
    padding: 22px 0;
    border-top: 1px solid rgba(255, 255, 255, .18);
    border-bottom: 1px solid rgba(255, 255, 255, .18);
}
.footer-legal p { font-size: 13px; text-align: center; }

.footer-institucional .footer-licencia {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin: 22px 0 0 0;
}
.footer-institucional .footer-licencia p { margin: 0; font-size: 14px; }

.footer-sellos {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin: 26px 0 0 0;
    padding: 0;
    list-style: none;
}
.footer-sellos li {
    padding: 5px 14px;
    border: 1px solid rgba(255, 255, 255, .45);
    border-radius: 20px;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .3px;
}

.footer-ojs {
    margin-top: 30px;
    font-size: 13px;
}
.footer-ojs a { text-decoration: none; opacity: .8; }
.footer-ojs a:hover { opacity: 1; text-decoration: underline; }

/* Botón "volver arriba" en el azul de la revista */
.volver-arriba { border-color: #0b2a5b !important; color: #0b2a5b !important; }
.volver-arriba:hover { background-color: #0b2a5b !important; color: #ffffff !important; }

/* =========================================================
   MENÚ PRINCIPAL: CONTRASTE AL ABRIR SUBMENÚS (v2.6.1)
   El tema padre pinta de blanco la opción cuyo submenú está
   abierto; con el texto blanco del tema Academo, la opción
   desaparecía. Se mantiene el fondo azul y se marca con la
   misma línea inferior blanca que la opción activa.
   ========================================================= */
.pkp_navigation_primary > li:hover > a,
.pkp_navigation_primary > li:focus-within > a,
.pkp_navigation_primary > li > a:hover,
.pkp_navigation_primary > li > a:focus,
.pkp_navigation_primary > li > a[aria-expanded="true"],
.pkp_navigation_primary > li.in_focus > a,
.pkp_navigation_primary > li.open > a,
.pkp_navigation_primary > li.show > a {
    background: rgba(255, 255, 255, .10) !important;
    color: #ffffff !important;
    border-color: transparent !important;
    box-shadow: inset 0 -3px 0 #ffffff;
    text-decoration: none;
}
/* Flecha del desplegable siempre blanca */
.pkp_navigation_primary > li > a::after,
.pkp_navigation_primary > li > a .dropdown-toggle,
.pkp_navigation_primary > li > a[aria-haspopup]::after {
    border-top-color: #ffffff !important;
    color: #ffffff !important;
}
/* Foco visible con teclado */
.pkp_navigation_primary > li > a:focus-visible {
    outline: 2px solid #ffffff;
    outline-offset: 2px;
}
