/* =========================================================
   TURING JOURNAL - OJS 3.5.0.4
   CSS súper optimizado y organizado
   0. Variables | 1. Header | 2. Contenido | 3. Footer | 4. Responsive
========================================================= */

/* =========================================================
   0. VARIABLES GENERALES
========================================================= */

/* Variables globales: colores institucionales, logos, sombras, bordes y ajustes generales del Home. */
:root{
  --ud-red:#8c1919;
  --ud-red-dark:#6f1010;
  --ud-yellow:#f0c300;
  --ud-white:#fff;
  --ud-soft:#f1e3e3;
  --logo-universidad:url("https://doctoradoingenieria.udistrital.edu.co/wp-content/uploads/2023/09/logo-Universidad-Distrital-1024x325.png");
  --logo-doctorado:url("https://doctoradoingenieria.udistrital.edu.co/wp-content/uploads/2023/09/doc-1024x298.png");
  --logo-turing:url("http://turingjournal.udistrital.edu.co/public/site/images/docingud/logo-turing-journal.png");
  --home-offset-top:0px;
  --border-soft:1px solid rgba(140,25,25,.10);
  --border-section:1px solid rgba(140,25,25,.12);
  --shadow-header:0 3px 14px rgba(0,0,0,.18);
  --shadow-soft:0 7px 20px rgba(0,0,0,.06);
  --shadow-card:0 8px 26px rgba(0,0,0,.075);
}

/* Evita desplazamiento horizontal accidental en toda la página. */
html,
body{
  overflow-x:hidden;
}

/* =========================================================
   1. HEADER
========================================================= */

/* Header fijo superior: color institucional, posición sticky y sombra. */
.pkp_structure_head{
  position:sticky!important;
  top:0!important;
  z-index:9999;
  background:var(--ud-red)!important;
  box-shadow:var(--shadow-header);
}

/* Contenedor principal del header: ocupa todo el ancho y conserva el fondo vinotinto. */
.pkp_head_wrapper{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  background:var(--ud-red)!important;
  overflow:visible!important;
}

/* Neutraliza posicionamientos heredados del tema para controlar el header manualmente. */
.pkp_head_wrapper,
.pkp_site_name,
/* Distribución horizontal de los logos superiores. */
.pkp_site_name_wrapper{
  position:static!important;
}

/* Navegación de usuario: ubica login/registro/perfil en la esquina superior derecha. */
.pkp_navigation_user_wrapper{
  position:absolute!important;
  inset:8px 8px auto auto!important;
  z-index:10050!important;
  width:auto!important;
  max-width:none!important;
  min-width:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
}

/* Lista de enlaces de usuario: alineación horizontal y separación entre opciones. */
.pkp_navigation_user{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  flex-wrap:nowrap!important;
  gap:24px!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
  white-space:nowrap!important;
}

/* Elementos de navegación: base para posicionar submenús correctamente. */
.pkp_navigation_user>li,
/* Alineación vertical de cada elemento del menú principal. */
.pkp_navigation_primary>li{
  position:relative!important;
  margin:0!important;
  padding:0!important;
}

/* Asegura que cada elemento del menú de usuario se comporte como bloque. */
.pkp_navigation_user>li{
  display:block!important;
}

/* Evita que los textos del usuario se partan en varias líneas. */
.pkp_navigation_user_wrapper :is(.task_count,.profile){
  white-space:nowrap!important;
}

/* Estilo base compartido para enlaces y botones del menú principal y menú de usuario. */
:is(.pkp_navigation_user,.pkp_navigation_primary)>li>:is(a,button){
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  color:var(--ud-white)!important;
  font-weight:700!important;
  line-height:1!important;
  text-decoration:none!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  transition:background-color .22s ease,box-shadow .22s ease,color .22s ease;
}

/* Tamaño específico para enlaces del menú de usuario. */
.pkp_navigation_user>li>:is(a,button){
  min-height:34px!important;
  padding:9px 13px!important;
  font-size:15px!important;
}

/* Tamaño específico para enlaces del menú principal. */
.pkp_navigation_primary>li>:is(a,button){
  height:54px!important;
  min-height:54px!important;
  margin:0!important;
  padding:0 18px!important;
  font-size:16px!important;
}

/* Estado activo, hover y focus de enlaces del header con línea amarilla inferior. */
.pkp_navigation_user>li:is(.open,.show)>:is(a,button),
.pkp_navigation_user>li>:is(a,button):is(:hover,:focus),
.pkp_navigation_primary>li:is(.current,.open,.show)>a,
.pkp_navigation_primary>li>:is(a,button):is(:hover,:focus),
.pkp_navigation_primary>li>a:is([aria-current="page"],.is_current){
  color:var(--ud-white)!important;
  background:rgba(255,255,255,.10)!important;
  box-shadow:inset 0 -3px 0 var(--ud-yellow)!important;
}

/* Área de marca del sitio: espacio superior donde se muestran los logos institucionales. */
.pkp_site_name{
  max-width:none!important;
  margin:0!important;
  padding:28px 28px 24px!important;
  background:var(--ud-red)!important;
}

.pkp_site_name_wrapper{
  width:100%!important;
  max-width:none!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:30px!important;
  margin:0!important;
}

/* Pseudoelementos usados para insertar los logos institucionales sin modificar HTML. */
.pkp_site_name_wrapper::before,
/* Logo Doctorado en Ingeniería a la derecha. */
.pkp_site_name_wrapper::after{
  content:""!important;
  display:block!important;
  background-repeat:no-repeat!important;
  background-size:contain!important;
}

/* Logo Universidad Distrital a la izquierda. */
.pkp_site_name_wrapper::before{
  order:1!important;
  flex:0 0 clamp(260px,24vw,390px)!important;
  height:78px!important;
  margin-left:18px!important;
  margin-right:auto!important;
  background-image:var(--logo-universidad)!important;
  background-position:center left!important;
  pointer-events:none!important;
}

.pkp_site_name_wrapper::after{
  order:2!important;
  flex:0 0 clamp(280px,26vw,420px)!important;
  height:92px!important;
  margin-top:18px!important;
  margin-left:auto!important;
  margin-right:58px!important;
  background-image:var(--logo-doctorado)!important;
  background-position:center right!important;
}

/* Título textual del sitio, por si OJS lo muestra en lugar de imagen. */
.pkp_site_name .is_text{
  color:var(--ud-white)!important;
  font-size:clamp(24px,3vw,38px);
  font-weight:700;
  line-height:1.15;
  text-align:left;
  text-decoration:none!important;
}

/* Ícono de inicio/casita: ubicación y estilo dentro de la barra del menú. */
.pkp_site_name :is(a.is_img,.is_img){
  position:absolute!important;
  left:82px!important;
  bottom:3px!important;
  z-index:10040!important;
  width:42px!important;
  height:54px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border-radius:0!important;
  box-shadow:none!important;
  transform:none!important;
  transition:background-color .22s ease,box-shadow .22s ease,opacity .22s ease;
}

/* Tamaño del ícono de la casita. */
.pkp_site_name :is(a.is_img,.is_img) img{
  width:24px!important;
  height:24px!important;
  max-width:24px!important;
  max-height:24px!important;
  margin:0!important;
  padding:0!important;
  object-fit:contain!important;
}

/* Hover/focus de la casita con fondo suave y línea amarilla. */
.pkp_site_name :is(a.is_img,.is_img):is(:hover,:focus){
  background:rgba(255,255,255,.10)!important;
  box-shadow:inset 0 -3px 0 var(--ud-yellow)!important;
  opacity:1!important;
}

/* Fila del menú principal: barra vinotinto, borde amarillo y espaciado. */
.pkp_navigation_primary_row{
  position:relative!important;
  top:auto!important;
  z-index:9990!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:0!important;
  min-height:54px!important;
  margin:0!important;
  padding:0 90px 0 126px!important;
  background:var(--ud-red)!important;
  border-top:0!important;
  border-bottom:3px solid var(--ud-yellow)!important;
}

/* Contenedor interno del menú principal y buscador. */
.pkp_navigation_primary_wrapper{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:28px!important;
  margin:0!important;
  padding:0!important;
}

/* Lista del menú principal: mantiene los elementos en una sola línea. */
.pkp_navigation_primary{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  flex-wrap:nowrap!important;
  gap:0!important;
  flex:0 0 auto!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
  white-space:nowrap!important;
}

.pkp_navigation_primary>li{
  display:flex!important;
  align-items:center!important;
}

/* Ajuste de separación del primer enlace del menú. */
.pkp_navigation_primary>li:first-child>a{
  margin-left:8px!important;
}

/* Buscador del header: ubicación, alineación y separación respecto al menú. */
:is(.pkp_search,.pkp_search_wrapper,.pkp_navigation_primary_wrapper .pkp_search){
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  width:auto!important;
  max-width:none!important;
  margin-left:clamp(460px,36.5vw,760px)!important;
  margin-right:0!important;
  padding:0!important;
  flex:0 0 auto!important;
  white-space:nowrap!important;
}

/* Estilo del enlace/botón de búsqueda. */
.pkp_search :is(.search_prompt,a,button){
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  padding:0!important;
  color:var(--ud-white)!important;
  font-size:16px!important;
  font-weight:600!important;
  text-decoration:none!important;
  background:transparent!important;
  border:0!important;
}

/* Agrega el ícono visual de lupa antes del texto de búsqueda. */
.pkp_search .search_prompt::before{
  content:"🔍";
  font-size:14px;
  line-height:1;
}

/* Ajuste para íconos de búsqueda heredados por OJS o librerías. */
.pkp_search .search_prompt :is(.fa,.fa-search,.glyphicon,.icon-search){
  margin-right:3px;
}

/* Submenús desplegables: fondo, borde superior amarillo y comportamiento visual. */
:is(.pkp_navigation_primary,.pkp_navigation_user)>li>:is(ul,.dropdown-menu){
  margin-top:0!important;
  padding:0!important;
  background:var(--ud-white)!important;
  border:0!important;
  border-top:3px solid var(--ud-yellow)!important;
  border-radius:0!important;
  overflow:hidden!important;
  z-index:10080!important;
}

/* Ancho y sombra del submenú del menú principal. */
.pkp_navigation_primary>li>:is(ul,.dropdown-menu){
  min-width:240px!important;
  box-shadow:0 8px 18px rgba(0,0,0,.16)!important;
}

/* Ancho y sombra del submenú del usuario. */
.pkp_navigation_user>li>:is(ul,.dropdown-menu){
  min-width:230px!important;
  box-shadow:0 8px 22px rgba(0,0,0,.18)!important;
}

/* Limpieza visual de cada ítem dentro de los submenús. */
:is(.pkp_navigation_primary,.pkp_navigation_user)>li>:is(ul,.dropdown-menu)>li{
  margin:0!important;
  padding:0!important;
  background:var(--ud-white)!important;
  border:0!important;
}

/* Enlaces internos de submenú: color, espaciado y borde lateral. */
:is(.pkp_navigation_primary,.pkp_navigation_user)>li>:is(ul,.dropdown-menu)>li>a{
  display:block!important;
  margin:0!important;
  padding:13px 20px!important;
  color:var(--ud-red)!important;
  font-size:15px!important;
  font-weight:600!important;
  line-height:1.35!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  background:var(--ud-white)!important;
  border:0!important;
  border-left:4px solid transparent!important;
  box-shadow:none!important;
  transition:background-color .20s ease,color .20s ease,border-color .20s ease;
}

/* Hover/focus de enlaces del submenú. */
:is(.pkp_navigation_primary,.pkp_navigation_user)>li>:is(ul,.dropdown-menu)>li>a:is(:hover,:focus){
  color:var(--ud-red-dark)!important;
  background:var(--ud-soft)!important;
  border-left-color:var(--ud-red)!important;
  box-shadow:none!important;
}

/* Elimina flechas o pseudo-elementos heredados en los submenús. */
:is(.pkp_navigation_primary,.pkp_navigation_user)>li>:is(ul,.dropdown-menu)::before,
:is(.pkp_navigation_primary,.pkp_navigation_user)>li>:is(ul,.dropdown-menu)::after{
  display:none!important;
  content:none!important;
}

/* Oculta submenús al pasar el mouse: permite que se abran solo por clic/estado activo. */
:is(.pkp_navigation_primary,.pkp_navigation_user)>li:hover>:is(ul,.dropdown-menu):not(.show),
:is(.pkp_navigation_primary,.pkp_navigation_user)>li:not(.open):not(.show):not(:has(>:is(a,button)[aria-expanded="true"]))>:is(ul,.dropdown-menu):not(.show){
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}

/* Muestra submenús cuando OJS los marca como abiertos o con aria-expanded. */
:is(.pkp_navigation_primary,.pkp_navigation_user)>li:is(.open,.show)>:is(ul,.dropdown-menu),
:is(.pkp_navigation_primary,.pkp_navigation_user)>li>:is(ul,.dropdown-menu).show,
:is(.pkp_navigation_primary,.pkp_navigation_user)>li:has(>:is(a,button)[aria-expanded="true"])>:is(ul,.dropdown-menu){
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
}

/* =========================================================
   1.8 CASITA / HOME EN MENÚ
   Ajuste:
   - Mantiene la casita en la barra inferior del menú.
   - Corrige español e inglés: /es/index y /en/index.
   - Evita que la imagen se vea como línea.
   - Conserva hover/focus con fondo suave y línea amarilla.
========================================================= */

/* Casita real ubicada en la barra del menú, no junto al logo superior. */
.pkp_site_name a.is_img[href*="/es/index"],
.pkp_site_name a.is_img[href*="/en/index"],
.pkp_site_name a[href*="/Turing-Journal/es/index"],
.pkp_site_name a[href*="/Turing-Journal/en/index"]{
  position:absolute!important;
  left:82px!important;
  bottom:3px!important;
  top:auto!important;
  z-index:10040!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:42px!important;
  min-width:42px!important;
  max-width:42px!important;
  height:54px!important;
  min-height:54px!important;
  max-height:54px!important;
  margin:0!important;
  padding:0!important;
  color:#fff!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  font-size:0!important;
  line-height:1!important;
  overflow:hidden!important;
  text-decoration:none!important;
  transform:none!important;
  transition:background-color .22s ease,box-shadow .22s ease,opacity .22s ease;
}

/* Casita si existe como primer elemento dentro del menú principal. */
.pkp_navigation_primary li:has(>a.is_img[href*="/es/index"]),
.pkp_navigation_primary li:has(>a.is_img[href*="/en/index"]){
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:42px!important;
  min-width:42px!important;
  max-width:42px!important;
  height:54px!important;
  min-height:54px!important;
  max-height:54px!important;
  margin:0 8px 0 0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}

.pkp_navigation_primary a.is_img[href*="/es/index"],
.pkp_navigation_primary a.is_img[href*="/en/index"]{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:42px!important;
  min-width:42px!important;
  max-width:42px!important;
  height:54px!important;
  min-height:54px!important;
  max-height:54px!important;
  margin:0!important;
  padding:0!important;
  color:#fff!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  font-size:0!important;
  line-height:1!important;
  overflow:hidden!important;
  text-decoration:none!important;
}

/* Oculta la imagen original para que no se aplaste como línea. */
.pkp_site_name a.is_img[href*="/es/index"] img,
.pkp_site_name a.is_img[href*="/en/index"] img,
.pkp_site_name a[href*="/Turing-Journal/es/index"] img,
.pkp_site_name a[href*="/Turing-Journal/en/index"] img,
.pkp_navigation_primary a.is_img[href*="/es/index"] img,
.pkp_navigation_primary a.is_img[href*="/en/index"] img{
  display:none!important;
  width:0!important;
  min-width:0!important;
  max-width:0!important;
  height:0!important;
  min-height:0!important;
  max-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  opacity:0!important;
  visibility:hidden!important;
}

/* Dibuja la casita con CSS para que sea igual en español e inglés. */
.pkp_site_name a.is_img[href*="/es/index"]::before,
.pkp_site_name a.is_img[href*="/en/index"]::before,
.pkp_site_name a[href*="/Turing-Journal/es/index"]::before,
.pkp_site_name a[href*="/Turing-Journal/en/index"]::before,
.pkp_navigation_primary a.is_img[href*="/es/index"]::before,
.pkp_navigation_primary a.is_img[href*="/en/index"]::before{
  content:""!important;
  display:block!important;
  width:22px!important;
  min-width:22px!important;
  max-width:22px!important;
  height:22px!important;
  min-height:22px!important;
  max-height:22px!important;
  margin:0!important;
  padding:0!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23ffffff' d='M12 3 2 11h2v10h6v-6h4v6h6V11h2L12 3Zm0 2.65 6 4.8V19h-2v-6H8v6H6v-8.55l6-4.8Z'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  background-size:22px 22px!important;
  border:0!important;
  box-shadow:none!important;
}

/* Limpieza de pseudo-elementos heredados. */
.pkp_site_name a.is_img[href*="/es/index"]::after,
.pkp_site_name a.is_img[href*="/en/index"]::after,
.pkp_site_name a[href*="/Turing-Journal/es/index"]::after,
.pkp_site_name a[href*="/Turing-Journal/en/index"]::after,
.pkp_navigation_primary a.is_img[href*="/es/index"]::after,
.pkp_navigation_primary a.is_img[href*="/en/index"]::after{
  content:none!important;
  display:none!important;
}

/* Hover/focus recuperado: igual al menú principal. */
.pkp_site_name a.is_img[href*="/es/index"]:is(:hover,:focus),
.pkp_site_name a.is_img[href*="/en/index"]:is(:hover,:focus),
.pkp_site_name a[href*="/Turing-Journal/es/index"]:is(:hover,:focus),
.pkp_site_name a[href*="/Turing-Journal/en/index"]:is(:hover,:focus),
.pkp_navigation_primary a.is_img[href*="/es/index"]:is(:hover,:focus),
.pkp_navigation_primary a.is_img[href*="/en/index"]:is(:hover,:focus){
  color:#fff!important;
  background:rgba(255,255,255,.10)!important;
  box-shadow:inset 0 -3px 0 var(--ud-yellow)!important;
  opacity:1!important;
}

/* =========================================================
   2. CONTENIDO
========================================================= */

/* =========================================================
   2.1 HOME
========================================================= */

/* Home: fondo blanco general para la página principal y sus contenedores. */
.pkp_page_index,
.pkp_page_index :is(.pkp_structure_page,.pkp_structure_content,.pkp_structure_main,.pkp_structure_sidebar,.page){
  background:#ffffff!important;
}

/* Home: layout general de contenido, columna principal y sidebar. */
.pkp_page_index .pkp_structure_content{
  width:100%!important;
  max-width:none!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:24px!important;
  margin:0!important;
  padding:30px clamp(26px,3.2vw,62px) 60px!important;
  box-sizing:border-box!important;
}

/* Home: columna principal donde se muestra la revista. */
.pkp_page_index .pkp_structure_main{
  flex:1 1 auto!important;
  width:auto!important;
  max-width:none!important;
  min-width:0!important;
  margin-top:var(--home-offset-top)!important;
  padding:0!important;
  box-sizing:border-box!important;
}

/* Home: columna lateral de idioma/información con ancho controlado. */
.pkp_page_index .pkp_structure_sidebar{
  flex:0 0 clamp(280px,22vw,360px)!important;
  width:clamp(280px,22vw,360px)!important;
  max-width:360px!important;
  min-width:280px!important;
  margin:0!important;
  padding:0!important;
  box-sizing:border-box!important;
}

/* Home: limpia el contenedor page de OJS para que no agregue caja extra. */
.pkp_page_index .page{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}

/* Home: elimina bordes verticales o líneas heredadas del tema. */
.pkp_page_index :is(
  .pkp_structure_content,
  .pkp_structure_main,
  .pkp_structure_sidebar,
  .pkp_structure_body,
  .pkp_structure_page,
  .page
){
  border-left:0!important;
  border-right:0!important;
  outline:0!important;
}

/* Home: elimina pseudo-elementos heredados que pueden dibujar separadores. */
.pkp_page_index :is(
  .pkp_structure_content,
  .pkp_structure_main,
  .pkp_structure_sidebar,
  .pkp_structure_body,
  .page
)::before,
.pkp_page_index :is(
  .pkp_structure_content,
  .pkp_structure_main,
  .pkp_structure_sidebar,
  .pkp_structure_body,
  .page
)::after{
  display:none!important;
  content:none!important;
}

/* Home: mantiene visible el contenido HTML personalizado cargado desde OJS. */
.pkp_page_index .additional_content{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}

/* Home: tarjeta principal que agrupa hero y metadatos de la revista. */
.pkp_page_index .turing-home{
  width:100%!important;
  max-width:1260px!important;
  margin:0 auto!important;
  padding:0!important;
  background:#ffffff!important;
  border:var(--border-soft)!important;
  border-radius:8px!important;
  box-shadow:var(--shadow-card)!important;
  overflow:hidden!important;
}

/* Home: hero principal con texto, marca de agua y portada. */
.pkp_page_index .turing-hero{
  position:relative!important;
  overflow:hidden!important;
  display:grid!important;
  grid-template-columns:minmax(520px,1fr) minmax(260px,320px)!important;
  gap:34px!important;
  align-items:center!important;
  width:100%!important;
  min-height:390px!important;
  margin:0!important;
  padding:40px clamp(28px,3.4vw,58px) 34px!important;
  background:linear-gradient(135deg,#ffffff 0%,#ffffff 72%,#fbf7f7 100%)!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}

/* Home: patrón decorativo de puntos en el lateral del hero. */
.pkp_page_index .turing-hero::before{
  content:"";
  position:absolute;
  inset:0 auto auto 0;
  width:120px;
  height:100%;
  opacity:.16;
  pointer-events:none;
  background-image:radial-gradient(rgba(140,25,25,.34) 1px,transparent 1px);
  background-size:12px 12px;
}

/* Home: líneas amarillas decorativas inferiores del hero. */
.pkp_page_index .turing-hero::after{
  content:"";
  position:absolute;
  left:-18px;
  bottom:14px;
  width:110px;
  height:110px;
  opacity:.36;
  pointer-events:none;
  background:
    linear-gradient(45deg,transparent 42%,var(--ud-yellow) 43%,var(--ud-yellow) 45%,transparent 46%),
    linear-gradient(45deg,transparent 56%,var(--ud-yellow) 57%,var(--ud-yellow) 59%,transparent 60%);
}

/* Home: contenedor del texto principal sobre la marca de agua. */
.pkp_page_index .turing-hero-main{
  position:relative!important;
  z-index:3!important;
  isolation:isolate!important;
  transform:none!important;
}

/* Home: marca de agua con el logo de Turing Journal. */
.pkp_page_index .turing-hero .turing-hero-main::after{
  content:""!important;
  position:absolute!important;
  top:94px!important;
  left:clamp(320px,34vw,445px)!important;
  right:auto!important;
  width:265px!important;
  height:265px!important;
  background:var(--logo-turing) center / contain no-repeat!important;
  opacity:.038!important;
  pointer-events:none!important;
  z-index:-1!important;
}

/* Home: asegura que marca, textos y botones queden por encima de la marca de agua. */
.pkp_page_index :is(
  .turing-brand,
  .turing-accent,
  .turing-lead,
  .turing-text,
  .turing-actions
){
  position:relative!important;
  z-index:2!important;
}

/* Home: bloque visual del logo y nombre Turing Journal. */
.pkp_page_index .turing-brand{
  display:flex!important;
  align-items:center!important;
  gap:18px!important;
  margin-bottom:16px!important;
}

/* Home: tamaño del logo principal de Turing Journal. */
.pkp_page_index .turing-brand-logo,
/* Home: ajuste de imagen del logo para evitar deformaciones. */
.pkp_page_index .turing-brand-logo img{
  width:82px!important;
  height:82px!important;
}

/* Home: caja contenedora del logo principal. */
.pkp_page_index .turing-brand-logo{
  flex:0 0 82px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}

.pkp_page_index .turing-brand-logo img{
  display:block!important;
  object-fit:contain!important;
}

/* Home: estilo tipográfico del título Turing Journal. */
.pkp_page_index .turing-brand-title{
  color:var(--ud-red)!important;
  font-size:clamp(34px,3.3vw,52px)!important;
  font-weight:900!important;
  letter-spacing:.09em!important;
  line-height:.92!important;
  text-transform:uppercase!important;
}

/* Home: segunda línea del título de marca. */
.pkp_page_index .turing-brand-title span{
  display:block!important;
  font-weight:500!important;
  letter-spacing:.20em!important;
}

/* Home: línea amarilla decorativa bajo la marca. */
.pkp_page_index .turing-accent{
  width:78px!important;
  height:3px!important;
  margin:0 0 20px!important;
  background:var(--ud-yellow)!important;
}

/* Home: oculta visualmente el H1 para evitar duplicar el título, conservándolo para estructura. */
.pkp_page_index .turing-hero h1{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
}

/* Home: ancho común para entradilla y texto descriptivo. */
.pkp_page_index :is(.turing-lead,.turing-text){
  width:100%!important;
  max-width:760px!important;
}

/* Home: texto introductorio principal. */
.pkp_page_index .turing-lead{
  margin:0 0 16px!important;
  color:#20242a!important;
  font-size:17px!important;
  font-weight:750!important;
  line-height:1.52!important;
}

/* Home: párrafo descriptivo secundario. */
.pkp_page_index .turing-text{
  margin:0!important;
  color:#42464d!important;
  font-size:15px!important;
  line-height:1.68!important;
}

/* Home: contenedor de botones de acción. */
.pkp_page_index .turing-actions{
  display:flex!important;
  align-items:center!important;
  flex-direction:row!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  margin-top:28px!important;
}

/* Home: estilo base de botones. */
.pkp_page_index .turing-btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  width:auto!important;
  min-width:150px!important;
  min-height:42px!important;
  padding:0 18px!important;
  color:var(--ud-red)!important;
  background:#fff!important;
  border:1px solid var(--ud-red)!important;
  border-radius:2px!important;
  font-size:14px!important;
  font-weight:750!important;
  text-decoration:none!important;
  transition:background-color .22s ease,color .22s ease,box-shadow .22s ease,transform .22s ease!important;
}

/* Home: efecto hover/focus de botones. */
.pkp_page_index .turing-btn:is(:hover,:focus){
  transform:translateY(-1px)!important;
  box-shadow:0 6px 15px rgba(140,25,25,.16)!important;
}

/* Home: botón principal en color institucional. */
.pkp_page_index .turing-btn-primary{
  color:#fff!important;
  background:var(--ud-red)!important;
}

/* Home: hover/focus del botón principal. */
.pkp_page_index .turing-btn-primary:is(:hover,:focus){
  background:var(--ud-red-dark)!important;
}

/* Home: contenedor de la portada de la revista. */
.pkp_page_index .turing-cover{
  position:relative!important;
  z-index:4!important;
  align-self:center!important;
  margin:0!important;
  transform:none!important;
}

/* Home: tamaño, borde y sombra de la portada. */
.pkp_page_index .turing-cover img{
  display:block!important;
  width:min(100%,305px)!important;
  max-width:100%!important;
  height:auto!important;
  margin:0 auto!important;
  border-radius:8px!important;
  box-shadow:0 14px 30px rgba(0,0,0,.18)!important;
}

/* Home: franja de metadatos bajo el hero. */
.pkp_page_index .turing-meta{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:0!important;
  align-items:stretch!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  background:#fff!important;
  border:0!important;
  border-top:var(--border-section)!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:hidden!important;
}

/* Home: cada tarjeta de metadatos: ISSN, periodicidad, áreas y correo. */
.pkp_page_index .turing-meta-item{
  min-width:0!important;
  min-height:96px!important;
  display:grid!important;
  grid-template-columns:28px minmax(0,1fr)!important;
  grid-template-rows:auto auto!important;
  column-gap:14px!important;
  row-gap:5px!important;
  align-content:center!important;
  align-items:start!important;
  padding:22px 22px 18px!important;
  text-align:left!important;
  box-sizing:border-box!important;
  border-right:var(--border-section)!important;
}

/* Home: elimina el borde derecho del último metadato. */
.pkp_page_index .turing-meta-item:last-child{
  border-right:0!important;
}

/* Home: columna e ícono de cada metadato. */
.pkp_page_index .turing-meta-icon{
  position:static!important;
  grid-column:1!important;
  grid-row:1 / span 2!important;
  width:28px!important;
  height:28px!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:center!important;
  margin:1px 0 0!important;
  padding:0!important;
  color:var(--ud-yellow)!important;
  font-size:21px!important;
  line-height:1!important;
}

/* Home: estructura común de etiqueta y valor en metadatos. */
.pkp_page_index :is(.turing-meta-label,.turing-meta-value){
  grid-column:2!important;
  display:block!important;
  min-width:0!important;
  max-width:100%!important;
  margin:0!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
}

/* Home: etiqueta/título de cada metadato. */
.pkp_page_index .turing-meta-label{
  grid-row:1!important;
  color:#24272d!important;
  font-size:13px!important;
  font-weight:850!important;
  line-height:1.2!important;
  letter-spacing:.04em!important;
  text-transform:uppercase!important;
}

/* Home: valor descriptivo de cada metadato. */
.pkp_page_index .turing-meta-value{
  grid-row:2!important;
  color:#454a52!important;
  font-size:14px!important;
  line-height:1.42!important;
}

/* Home: ajuste del correo para evitar desbordes. */
.pkp_page_index .turing-meta-item:nth-child(4) .turing-meta-value{
  font-size:13.5px!important;
  overflow-wrap:break-word!important;
}

/* Home: prepara el ícono personalizado de Áreas temáticas. */
.pkp_page_index .turing-meta-item:nth-child(3) .turing-meta-icon{
  font-size:0!important;
}

/* Home: ícono visual de Áreas temáticas. */
.pkp_page_index .turing-meta-item:nth-child(3) .turing-meta-icon::before{
  content:"▤"!important;
  color:var(--ud-yellow)!important;
  font-size:21px!important;
  line-height:1!important;
}

/* Home: tarjetas laterales nativas de OJS, como Idioma e Información. */
.pkp_page_index .pkp_structure_sidebar .pkp_block{
  width:100%!important;
  margin:0 0 18px!important;
  padding:24px 26px!important;
  background:#fff!important;
  border:var(--border-soft)!important;
  border-radius:8px!important;
  box-shadow:var(--shadow-soft)!important;
}

/* Home: títulos de los bloques laterales. */
.pkp_page_index .pkp_structure_sidebar .pkp_block :is(.title,h2,h3){
  position:relative!important;
  margin:0 0 22px!important;
  padding:0 0 12px!important;
  color:#262a31!important;
  font-size:20px!important;
  font-weight:850!important;
  letter-spacing:.03em!important;
  text-transform:uppercase!important;
}

/* Home: línea amarilla decorativa en títulos del sidebar. */
.pkp_page_index .pkp_structure_sidebar .pkp_block :is(.title,h2,h3)::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:36px;
  height:2px;
  background:var(--ud-yellow);
}

/* Home: limpia listas dentro del sidebar. */
.pkp_page_index .pkp_structure_sidebar .pkp_block ul{
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}

/* Home: separadores entre elementos del sidebar. */
.pkp_page_index .pkp_structure_sidebar .pkp_block li{
  margin:0!important;
  border-bottom:1px solid rgba(0,0,0,.08);
}

/* Home: elimina separador del último elemento del sidebar. */
.pkp_page_index .pkp_structure_sidebar .pkp_block li:last-child{
  border-bottom:0;
}

/* Home: enlaces del sidebar con flecha lateral. */
.pkp_page_index .pkp_structure_sidebar .pkp_block a{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  padding:12px 0!important;
  color:#4d535b!important;
  font-size:15px!important;
  font-weight:650!important;
  text-decoration:none!important;
}

/* Home: flecha visual en enlaces del sidebar. */
.pkp_page_index .pkp_structure_sidebar .pkp_block a::after{
  content:"›";
  color:#9aa0a8;
  font-size:26px;
  line-height:1;
}

/* Home: hover/focus de enlaces laterales. */
.pkp_page_index .pkp_structure_sidebar .pkp_block a:is(:hover,:focus){
  color:var(--ud-red)!important;
}

/* Home: caja introductoria para Publicaciones recientes. */
.pkp_page_index .turing-publicaciones-intro{
  max-width:1260px;
  margin:28px auto 18px!important;
  padding:26px 30px!important;
  background:#fff!important;
  border:var(--border-soft)!important;
  border-left:5px solid var(--ud-red)!important;
  border-radius:8px!important;
  box-shadow:var(--shadow-soft)!important;
}

/* Home: título de Publicaciones recientes. */
.pkp_page_index .turing-publicaciones-intro h2{
  margin:0 0 8px!important;
  color:var(--ud-red)!important;
  font-size:26px!important;
  line-height:1.2!important;
}

/* Home: texto introductorio de publicaciones. */
.pkp_page_index .turing-publicaciones-intro p{
  max-width:780px!important;
  margin:0!important;
  color:#4b4f56!important;
  font-size:15px!important;
  line-height:1.7!important;
}

/* Home: contenedores nativos de listados de OJS. */
.pkp_page_index :is(.current_issue,.obj_issue_toc,.cmp_article_list,.sections){
  max-width:1260px!important;
  margin:30px auto!important;
  background:#fff!important;
  border:var(--border-soft)!important;
  border-radius:8px!important;
  box-shadow:0 7px 22px rgba(0,0,0,.06)!important;
  overflow:hidden!important;
}

/* Home: encabezados de listados nativos de OJS. */
.pkp_page_index :is(
  .current_issue>.title,
  .obj_issue_toc>.heading,
  .sections>.section>.title,
  .cmp_article_list>.title
){
  margin:0!important;
  padding:22px 28px!important;
  color:var(--ud-red)!important;
  font-size:24px!important;
  font-weight:850!important;
  background:#fbf8f8!important;
  border-bottom:var(--border-section)!important;
}

/* Home: tarjetas/resúmenes de números y artículos. */
.pkp_page_index :is(.obj_issue_summary,.obj_article_summary){
  padding:22px 28px!important;
  border-bottom:1px solid rgba(140,25,25,.10)!important;
  transition:background-color .22s ease,transform .22s ease,box-shadow .22s ease!important;
}

/* Home: elimina borde inferior del último resumen. */
.pkp_page_index :is(.obj_issue_summary,.obj_article_summary):last-child{
  border-bottom:0!important;
}

/* Home: efecto hover de resúmenes. */
.pkp_page_index :is(.obj_issue_summary,.obj_article_summary):hover{
  background:#fffafa!important;
  transform:translateY(-1px)!important;
  box-shadow:inset 4px 0 0 var(--ud-red)!important;
}

/* Home: separación del título en resúmenes. */
.pkp_page_index :is(.obj_article_summary,.obj_issue_summary) .title{
  margin:0 0 8px!important;
}

/* Home: estilo del enlace de título en resúmenes. */
.pkp_page_index :is(.obj_article_summary,.obj_issue_summary) .title a{
  color:#20242a!important;
  font-size:18px!important;
  font-weight:850!important;
  line-height:1.35!important;
  text-decoration:none!important;
}

/* Home: hover del título en resúmenes. */
.pkp_page_index :is(.obj_article_summary,.obj_issue_summary) .title a:hover{
  color:var(--ud-red)!important;
}

/* Home: metadatos de artículos en listados nativos. */
.pkp_page_index .obj_article_summary :is(.authors,.pages,.doi){
  color:#656b73!important;
  font-size:14px!important;
  line-height:1.5!important;
}

/* Animación reutilizable para aparición suave al hacer scroll. */
@keyframes turingFadeUp{from{
  opacity:0;
  transform:translateY(18px);
}to{
  opacity:1;
  transform:translateY(0);
}
}

/* Activa animación de entrada cuando el navegador soporta scroll-driven animations. */
@supports (animation-timeline:view()){.pkp_page_index :is(.obj_issue_summary,.obj_article_summary,.turing-publicaciones-intro){
  animation:turingFadeUp both;
  animation-timeline:view();
  animation-range:entry 0% cover 28%;
}
}

/* =========================================================
   2.2 ACTUAL
   Página independiente. Pendiente de ajustar.
========================================================= */

/* =========================================================
   2.3 ARCHIVOS
   Página independiente. Pendiente de ajustar.
========================================================= */

/* =========================================================
   2.4 SOBRE LA REVISTA
   Página independiente:
   - Tarjetas activas.
   - Contenedor alineado.
   - Sidebar Idioma / Información al lado derecho.
   - Sin breadcrumb ni líneas verticales grises.
========================================================= */

/* Página Sobre la revista: oculta la ruta Inicio / Sobre la revista. */
body:has(.turing-about) :is(
  .cmp_breadcrumbs,
  .breadcrumbs,
  .pkp_breadcrumbs,
  .breadcrumb,
  nav[aria-label="breadcrumb"]
){
  display:none!important;
  visibility:hidden!important;
  height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
}

/* Página Sobre la revista: elimina líneas grises verticales heredadas. */
body:has(.turing-about) :is(
  .pkp_structure_page,
  .pkp_structure_body,
  .pkp_structure_content,
  .pkp_structure_main,
  .pkp_structure_sidebar,
  .page
){
  border-left:0!important;
  border-right:0!important;
  outline:0!important;
}

/* Página Sobre la revista: elimina pseudo-separadores del tema. */
body:has(.turing-about) :is(
  .pkp_structure_page,
  .pkp_structure_body,
  .pkp_structure_content,
  .pkp_structure_main,
  .pkp_structure_sidebar,
  .page
)::before,
body:has(.turing-about) :is(
  .pkp_structure_page,
  .pkp_structure_body,
  .pkp_structure_content,
  .pkp_structure_main,
  .pkp_structure_sidebar,
  .page
)::after{
  display:none!important;
  content:none!important;
  border:0!important;
  box-shadow:none!important;
  background:none!important;
}

/* Página Sobre la revista: estructura principal con sidebar igual al Home. */
body:has(.turing-about) .pkp_structure_content{
  width:100%!important;
  max-width:none!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:24px!important;
  margin:0!important;
  padding:30px clamp(26px,3.2vw,62px) 60px!important;
  background:#fff!important;
  box-sizing:border-box!important;
}

/* Página Sobre la revista: columna principal. */
body:has(.turing-about) .pkp_structure_main{
  flex:1 1 auto!important;
  width:auto!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  background:#fff!important;
  box-sizing:border-box!important;
}

/* Página Sobre la revista: sidebar Idioma / Información a la derecha. */
body:has(.turing-about) .pkp_structure_sidebar{
  flex:0 0 clamp(280px,22vw,360px)!important;
  width:clamp(280px,22vw,360px)!important;
  max-width:360px!important;
  min-width:280px!important;
  margin:0!important;
  padding:0!important;
  background:#fff!important;
  box-sizing:border-box!important;
}

/* Página Sobre la revista: limpia la caja nativa page de OJS. */
body:has(.turing-about) .page{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}

/* Página Sobre la revista: oculta el título nativo que OJS coloca por defecto. */
body:has(.turing-about) .page>h1,
body:has(.turing-about) .page>h1:first-child,
body:has(.turing-about) .page .page_title,
.page:has(.turing-about)>h1,
.page:has(.turing-about)>h1:first-child,
.page:has(.turing-about) .page_title,
.pkp_structure_main:has(.turing-about)>.page>h1,
.pkp_structure_main:has(.turing-about)>.page>h1:first-child{
  position:absolute!important;
  left:-9999px!important;
  top:auto!important;
  width:1px!important;
  height:1px!important;
  min-width:1px!important;
  min-height:1px!important;
  max-width:1px!important;
  max-height:1px!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  clip-path:inset(50%)!important;
  white-space:nowrap!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  opacity:0!important;
}

/* Sobre la revista: contenedor general del HTML limpio. */
.turing-about{
  position:relative!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  color:#2a2f36!important;
  font-family:Arial,Helvetica,sans-serif!important;
  box-sizing:border-box!important;
}

/* Sobre la revista: hero superior en tarjeta. */
.turing-about-hero{
  position:relative!important;
  overflow:hidden!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 170px!important;
  gap:28px!important;
  align-items:center!important;
  width:100%!important;
  max-width:none!important;
  min-height:260px!important;
  margin:0 0 24px!important;
  padding:34px clamp(24px,3.6vw,48px)!important;
  background:linear-gradient(135deg,#fff 0%,#fff 70%,#fbf7f7 100%)!important;
  border:var(--border-soft)!important;
  border-left:6px solid var(--ud-red)!important;
  border-radius:10px!important;
  box-shadow:var(--shadow-card)!important;
  box-sizing:border-box!important;
}

/* Sobre la revista: patrón decorativo lateral. */
.turing-about-hero::before{
  content:""!important;
  position:absolute!important;
  inset:0 auto 0 0!important;
  width:120px!important;
  opacity:.15!important;
  pointer-events:none!important;
  background-image:radial-gradient(rgba(140,25,25,.34) 1px,transparent 1px)!important;
  background-size:12px 12px!important;
}

/* Sobre la revista: líneas amarillas decorativas. */
.turing-about-hero::after{
  content:""!important;
  position:absolute!important;
  left:-20px!important;
  bottom:20px!important;
  width:110px!important;
  height:110px!important;
  opacity:.35!important;
  pointer-events:none!important;
  background:
    linear-gradient(45deg,transparent 42%,var(--ud-yellow) 43%,var(--ud-yellow) 45%,transparent 46%),
    linear-gradient(45deg,transparent 56%,var(--ud-yellow) 57%,var(--ud-yellow) 59%,transparent 60%)!important;
}

/* Sobre la revista: texto del hero. */
.turing-about-hero-text{
  position:relative!important;
  z-index:2!important;
}

/* Sobre la revista: etiqueta superior del hero. */
.turing-about-kicker{
  display:inline-flex!important;
  align-items:center!important;
  min-height:28px!important;
  margin:0 0 14px!important;
  padding:5px 12px!important;
  color:var(--ud-red)!important;
  background:#fff8df!important;
  border:1px solid rgba(240,195,0,.45)!important;
  border-radius:999px!important;
  font-size:13px!important;
  font-weight:800!important;
  letter-spacing:.04em!important;
  text-transform:uppercase!important;
}

/* Sobre la revista: título principal interno. */
.turing-about h1{
  margin:0 0 16px!important;
  color:var(--ud-red)!important;
  font-size:clamp(34px,4vw,54px)!important;
  font-weight:900!important;
  line-height:1.05!important;
  letter-spacing:.02em!important;
}

/* Sobre la revista: texto introductorio del hero. */
.turing-about-hero p{
  max-width:820px!important;
  margin:0!important;
  color:#343a42!important;
  font-size:17px!important;
  font-weight:650!important;
  line-height:1.65!important;
  text-align:left!important;
}

/* Sobre la revista: logo lateral del hero. */
.turing-about-hero-logo{
  position:relative!important;
  z-index:2!important;
  width:150px!important;
  height:150px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  justify-self:end!important;
  margin:0!important;
  background:#fff!important;
  border:var(--border-soft)!important;
  border-radius:50%!important;
  box-shadow:0 10px 24px rgba(0,0,0,.10)!important;
  transform:none!important;
}

/* Sobre la revista: imagen del logo lateral. */
.turing-about-hero-logo img{
  display:block!important;
  width:108px!important;
  height:108px!important;
  object-fit:contain!important;
}

/* Sobre la revista: tarjetas resumen. */
.turing-about-summary{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:16px!important;
  width:100%!important;
  max-width:none!important;
  margin:0 0 24px!important;
  padding:0!important;
  box-sizing:border-box!important;
}

/* Sobre la revista: cada tarjeta resumen. */
.turing-about-summary article{
  min-height:94px!important;
  display:block!important;
  padding:20px 22px!important;
  background:#fff!important;
  border:var(--border-soft)!important;
  border-radius:9px!important;
  box-shadow:var(--shadow-soft)!important;
  box-sizing:border-box!important;
}

/* Sobre la revista: etiqueta de resumen. */
.turing-about-summary span{
  display:block!important;
  margin:0 0 6px!important;
  color:#6b7078!important;
  font-size:12px!important;
  font-weight:800!important;
  letter-spacing:.06em!important;
  line-height:1.2!important;
  text-transform:uppercase!important;
}

/* Sobre la revista: valor de resumen. */
.turing-about-summary strong{
  display:block!important;
  color:var(--ud-red)!important;
  font-size:19px!important;
  font-weight:900!important;
  line-height:1.25!important;
}

/* Sobre la revista: secciones y tarjetas internas. */
.turing-about-section,
.turing-about-card{
  position:relative!important;
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin:0 0 24px!important;
  padding:28px clamp(22px,3vw,34px)!important;
  background:#fff!important;
  border:var(--border-soft)!important;
  border-radius:10px!important;
  box-shadow:var(--shadow-soft)!important;
  box-sizing:border-box!important;
}

/* Sobre la revista: línea lateral institucional. */
.turing-about-section::before,
.turing-about-card::before{
  content:""!important;
  position:absolute!important;
  left:0!important;
  top:0!important;
  bottom:0!important;
  width:5px!important;
  background:var(--ud-red)!important;
  border-radius:10px 0 0 10px!important;
}

/* Sobre la revista: grillas internas. */
.turing-about-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:24px!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  box-sizing:border-box!important;
}

/* Sobre la revista: títulos internos. */
.turing-about :is(h2,h3){
  position:relative!important;
  margin:0 0 16px!important;
  padding:0 0 12px!important;
  color:var(--ud-red)!important;
  font-size:clamp(22px,2.2vw,28px)!important;
  font-weight:900!important;
  line-height:1.18!important;
}

/* Sobre la revista: línea amarilla bajo títulos. */
.turing-about :is(h2,h3)::after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  bottom:0!important;
  width:56px!important;
  height:3px!important;
  background:var(--ud-yellow)!important;
}

/* Sobre la revista: párrafos. */
.turing-about p{
  margin:0 0 14px!important;
  color:#3f4650!important;
  font-size:15.5px!important;
  line-height:1.75!important;
  text-align:justify!important;
}

/* Sobre la revista: elimina margen final. */
.turing-about p:last-child{
  margin-bottom:0!important;
}

/* Sobre la revista: etiquetas de áreas. */
.turing-about-tags{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px!important;
  margin:18px 0 0!important;
  padding:0!important;
  list-style:none!important;
}

/* Sobre la revista: cada etiqueta de área. */
.turing-about-tags li{
  display:flex!important;
  align-items:center!important;
  min-height:42px!important;
  margin:0!important;
  padding:10px 13px!important;
  color:#303741!important;
  background:#fbf8f8!important;
  border:1px solid rgba(140,25,25,.12)!important;
  border-left:4px solid var(--ud-red)!important;
  border-radius:6px!important;
  font-size:14px!important;
  font-weight:700!important;
  line-height:1.25!important;
}

/* Sobre la revista: listas con puntos institucionales. */
.turing-check-list{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:8px!important;
  margin:14px 0 16px!important;
  padding:0!important;
  list-style:none!important;
}

/* Sobre la revista: ítems de lista. */
.turing-check-list li{
  position:relative!important;
  margin:0!important;
  padding:0 0 0 26px!important;
  color:#3f4650!important;
  font-size:15px!important;
  line-height:1.55!important;
}

/* Sobre la revista: marcador de lista. */
.turing-check-list li::before{
  content:""!important;
  position:absolute!important;
  left:0!important;
  top:.55em!important;
  width:10px!important;
  height:10px!important;
  background:var(--ud-yellow)!important;
  border:2px solid var(--ud-red)!important;
  border-radius:50%!important;
}

/* Sobre la revista: proceso editorial. */
.turing-process{
  counter-reset:turingProcess!important;
  display:grid!important;
  gap:14px!important;
  margin:22px 0!important;
  padding:0!important;
  list-style:none!important;
}

/* Sobre la revista: paso de proceso. */
.turing-process li{
  counter-increment:turingProcess!important;
  position:relative!important;
  min-height:74px!important;
  margin:0!important;
  padding:16px 18px 16px 72px!important;
  background:#fbf8f8!important;
  border:1px solid rgba(140,25,25,.12)!important;
  border-radius:8px!important;
}

/* Sobre la revista: número del proceso. */
.turing-process li::before{
  content:counter(turingProcess)!important;
  position:absolute!important;
  left:18px!important;
  top:16px!important;
  width:38px!important;
  height:38px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  color:#fff!important;
  background:var(--ud-red)!important;
  border-radius:50%!important;
  font-size:16px!important;
  font-weight:900!important;
  box-shadow:0 5px 12px rgba(140,25,25,.20)!important;
}

/* Sobre la revista: título del paso. */
.turing-process strong{
  display:block!important;
  margin:0 0 5px!important;
  color:#252a31!important;
  font-size:15.5px!important;
  font-weight:900!important;
  line-height:1.3!important;
}

/* Sobre la revista: descripción del paso. */
.turing-process span{
  display:block!important;
  color:#4b525b!important;
  font-size:14.5px!important;
  line-height:1.55!important;
}

/* Sobre la revista: licencia Creative Commons. */
.turing-license{
  display:inline-flex!important;
  align-items:center!important;
  margin-top:4px!important;
  padding:10px 12px!important;
  background:#fbf8f8!important;
  border:1px solid rgba(140,25,25,.12)!important;
  border-radius:8px!important;
  text-decoration:none!important;
}

/* Sobre la revista: imagen de licencia. */
.turing-license img{
  display:block!important;
  width:169px!important;
  height:auto!important;
  max-width:100%!important;
}

/* Sobre la revista: sidebar con tarjetas como Home. */
body:has(.turing-about) .pkp_structure_sidebar .pkp_block{
  width:100%!important;
  margin:0 0 18px!important;
  padding:24px 26px!important;
  background:#fff!important;
  border:var(--border-soft)!important;
  border-radius:8px!important;
  box-shadow:var(--shadow-soft)!important;
  box-sizing:border-box!important;
}

/* Sobre la revista: títulos del sidebar. */
body:has(.turing-about) .pkp_structure_sidebar .pkp_block :is(.title,h2,h3){
  position:relative!important;
  margin:0 0 22px!important;
  padding:0 0 12px!important;
  color:#262a31!important;
  font-size:20px!important;
  font-weight:850!important;
  letter-spacing:.03em!important;
  text-transform:uppercase!important;
}

/* Sobre la revista: línea amarilla del sidebar. */
body:has(.turing-about) .pkp_structure_sidebar .pkp_block :is(.title,h2,h3)::after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  bottom:0!important;
  width:36px!important;
  height:2px!important;
  background:var(--ud-yellow)!important;
}

/* Sobre la revista: listas del sidebar. */
body:has(.turing-about) .pkp_structure_sidebar .pkp_block ul{
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}

/* Sobre la revista: ítems del sidebar. */
body:has(.turing-about) .pkp_structure_sidebar .pkp_block li{
  margin:0!important;
  padding:0!important;
  border-bottom:1px solid rgba(0,0,0,.08)!important;
}

/* Sobre la revista: último ítem sin separador. */
body:has(.turing-about) .pkp_structure_sidebar .pkp_block li:last-child{
  border-bottom:0!important;
}

/* Sobre la revista: enlaces del sidebar. */
body:has(.turing-about) .pkp_structure_sidebar .pkp_block a{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  padding:12px 0!important;
  color:#4d535b!important;
  font-size:15px!important;
  font-weight:650!important;
  text-decoration:none!important;
}

/* Sobre la revista: flecha del sidebar. */
body:has(.turing-about) .pkp_structure_sidebar .pkp_block a::after{
  content:"›"!important;
  color:#9aa0a8!important;
  font-size:26px!important;
  line-height:1!important;
}

/* Sobre la revista: hover del sidebar. */
body:has(.turing-about) .pkp_structure_sidebar .pkp_block a:is(:hover,:focus){
  color:var(--ud-red)!important;
}

/* Sobre la revista responsive: tablet. */
@media(max-width:900px){
  body:has(.turing-about) .pkp_structure_content{
    display:block!important;
    padding:20px 14px 45px!important;
  }

  body:has(.turing-about) .pkp_structure_sidebar{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin-top:20px!important;
  }

  .turing-about-hero,
  .turing-about-summary,
  .turing-about-grid{
    grid-template-columns:1fr!important;
  }

  .turing-about-hero-logo{
    justify-self:start!important;
    width:118px!important;
    height:118px!important;
  }

  .turing-about-hero-logo img{
    width:84px!important;
    height:84px!important;
  }

  .turing-about-tags{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

/* Sobre la revista responsive: celular. */
@media(max-width:640px){
  .turing-about-hero{
    padding:26px 20px!important;
    border-left-width:4px!important;
  }

  .turing-about h1{
    font-size:30px!important;
  }

  .turing-about-hero p{
    font-size:15.5px!important;
    line-height:1.65!important;
  }

  .turing-about-section,
  .turing-about-card{
    padding:24px 20px!important;
  }

  .turing-about-tags{
    grid-template-columns:1fr!important;
  }

  .turing-process li{
    padding-left:62px!important;
  }

  .turing-process li::before{
    left:14px!important;
  }
}

/* =========================================================
   2.5 ENVÍOS
   Página independiente:
   - Diseño aplicado al HTML nativo de OJS.
   - No requiere insertar HTML personalizado.
   - Corrige vista cuando el usuario no ha iniciado sesión.
   - Mejora aviso superior, directrices, checklist y secciones.
   - Oculta el título nativo "Declaración de privacidad" dentro de Envíos.
   - Sidebar Idioma / Información al lado derecho si OJS lo muestra.
   - Sin breadcrumb ni líneas verticales heredadas.
========================================================= */

/* Envíos: oculta breadcrumb/ruta superior. */
body.pkp_page_about.pkp_op_submissions :is(
  .cmp_breadcrumbs,
  .breadcrumbs,
  .pkp_breadcrumbs,
  .breadcrumb,
  nav[aria-label="breadcrumb"]
),
body.pkp_op_submissions :is(
  .cmp_breadcrumbs,
  .breadcrumbs,
  .pkp_breadcrumbs,
  .breadcrumb,
  nav[aria-label="breadcrumb"]
),
body:has(.page_submissions) :is(
  .cmp_breadcrumbs,
  .breadcrumbs,
  .pkp_breadcrumbs,
  .breadcrumb,
  nav[aria-label="breadcrumb"]
){
  display:none!important;
  visibility:hidden!important;
  height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
}

/* Envíos: elimina líneas verticales grises heredadas del tema. */
body.pkp_page_about.pkp_op_submissions :is(
  .pkp_structure_page,
  .pkp_structure_body,
  .pkp_structure_content,
  .pkp_structure_main,
  .pkp_structure_sidebar,
  .page
),
body.pkp_op_submissions :is(
  .pkp_structure_page,
  .pkp_structure_body,
  .pkp_structure_content,
  .pkp_structure_main,
  .pkp_structure_sidebar,
  .page
),
body:has(.page_submissions) :is(
  .pkp_structure_page,
  .pkp_structure_body,
  .pkp_structure_content,
  .pkp_structure_main,
  .pkp_structure_sidebar,
  .page
){
  border-left:0!important;
  border-right:0!important;
  outline:0!important;
}

/* Envíos: elimina pseudo-separadores verticales heredados. */
body.pkp_page_about.pkp_op_submissions :is(
  .pkp_structure_page,
  .pkp_structure_body,
  .pkp_structure_content,
  .pkp_structure_main,
  .pkp_structure_sidebar,
  .page
)::before,
body.pkp_page_about.pkp_op_submissions :is(
  .pkp_structure_page,
  .pkp_structure_body,
  .pkp_structure_content,
  .pkp_structure_main,
  .pkp_structure_sidebar,
  .page
)::after,
body.pkp_op_submissions :is(
  .pkp_structure_page,
  .pkp_structure_body,
  .pkp_structure_content,
  .pkp_structure_main,
  .pkp_structure_sidebar,
  .page
)::before,
body.pkp_op_submissions :is(
  .pkp_structure_page,
  .pkp_structure_body,
  .pkp_structure_content,
  .pkp_structure_main,
  .pkp_structure_sidebar,
  .page
)::after,
body:has(.page_submissions) :is(
  .pkp_structure_page,
  .pkp_structure_body,
  .pkp_structure_content,
  .pkp_structure_main,
  .pkp_structure_sidebar,
  .page
)::before,
body:has(.page_submissions) :is(
  .pkp_structure_page,
  .pkp_structure_body,
  .pkp_structure_content,
  .pkp_structure_main,
  .pkp_structure_sidebar,
  .page
)::after{
  display:none!important;
  content:none!important;
  border:0!important;
  box-shadow:none!important;
  background:none!important;
}

/* Envíos: layout principal con sidebar derecho cuando existe. */
body.pkp_page_about.pkp_op_submissions .pkp_structure_content,
body.pkp_op_submissions .pkp_structure_content,
body:has(.page_submissions) .pkp_structure_content{
  width:100%!important;
  max-width:none!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:24px!important;
  margin:0!important;
  padding:30px clamp(26px,3.2vw,62px) 60px!important;
  background:#fff!important;
  box-sizing:border-box!important;
}

/* Envíos: columna principal. */
body.pkp_page_about.pkp_op_submissions .pkp_structure_main,
body.pkp_op_submissions .pkp_structure_main,
body:has(.page_submissions) .pkp_structure_main{
  flex:1 1 auto!important;
  width:auto!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  background:#fff!important;
  box-sizing:border-box!important;
}

/* Envíos: sidebar Idioma / Información a la derecha. */
body.pkp_page_about.pkp_op_submissions .pkp_structure_sidebar,
body.pkp_op_submissions .pkp_structure_sidebar,
body:has(.page_submissions) .pkp_structure_sidebar{
  flex:0 0 clamp(280px,22vw,360px)!important;
  width:clamp(280px,22vw,360px)!important;
  max-width:360px!important;
  min-width:280px!important;
  margin:0!important;
  padding:0!important;
  background:#fff!important;
  box-sizing:border-box!important;
}

/* Envíos: limpia caja nativa page de OJS. */
body.pkp_page_about.pkp_op_submissions .page,
body.pkp_op_submissions .page,
body:has(.page_submissions) .page,
.page_submissions{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  box-sizing:border-box!important;
}

/* Envíos: oculta el título nativo superior de la página. */
body.pkp_page_about.pkp_op_submissions .page>h1:first-child,
body.pkp_op_submissions .page>h1:first-child,
body:has(.page_submissions) .page>h1:first-child,
.page_submissions>h1:first-child{
  position:absolute!important;
  left:-9999px!important;
  top:auto!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  clip-path:inset(50%)!important;
  white-space:nowrap!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  opacity:0!important;
}

/* Envíos: oculta el título nativo "Declaración de privacidad" que OJS imprime dentro de la página. */
body.pkp_op_submissions .page h2:has(+ .turing-privacy),
body.pkp_op_submissions .page h2:has(+ section.turing-privacy),
body.pkp_op_submissions .page h2:has(+ div + .turing-privacy),
body.pkp_op_submissions .page h2:has(+ a + .turing-privacy),
body:has(.page_submissions) .page h2:has(+ .turing-privacy),
body:has(.page_submissions) .page h2:has(+ section.turing-privacy),
body:has(.page_submissions) .page h2:has(+ div + .turing-privacy),
body:has(.page_submissions) .page h2:has(+ a + .turing-privacy),
.page_submissions h2:has(+ .turing-privacy),
.page_submissions h2:has(+ section.turing-privacy),
.page_submissions h2:has(+ div + .turing-privacy),
.page_submissions h2:has(+ a + .turing-privacy){
  position:absolute!important;
  left:-9999px!important;
  top:auto!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  clip-path:inset(50%)!important;
  white-space:nowrap!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  opacity:0!important;
}

/* Envíos: aviso superior cuando el usuario no ha iniciado sesión. */
.page_submissions .cmp_notification,
body.pkp_op_submissions .cmp_notification,
body:has(.page_submissions) .cmp_notification{
  position:relative!important;
  overflow:visible!important;
  width:100%!important;
  min-height:0!important;
  margin:0 0 28px!important;
  padding:20px 24px!important;
  color:#303741!important;
  background:#fff!important;
  border:var(--border-soft)!important;
  border-left:5px solid var(--ud-red)!important;
  border-radius:10px!important;
  box-shadow:var(--shadow-soft)!important;
  box-sizing:border-box!important;
  font-size:14.5px!important;
  font-weight:500!important;
  line-height:1.65!important;
}

/* Envíos: elimina decoración pesada del aviso superior para que el texto no se dañe. */
.page_submissions .cmp_notification::before,
.page_submissions .cmp_notification::after,
body.pkp_op_submissions .cmp_notification::before,
body.pkp_op_submissions .cmp_notification::after,
body:has(.page_submissions) .cmp_notification::before,
body:has(.page_submissions) .cmp_notification::after{
  display:none!important;
  content:none!important;
}

/* Envíos: enlaces del aviso superior como enlaces de texto limpios. */
.page_submissions .cmp_notification a,
body.pkp_op_submissions .cmp_notification a,
body:has(.page_submissions) .cmp_notification a{
  display:inline!important;
  min-height:0!important;
  margin:0 3px!important;
  padding:0!important;
  color:var(--ud-red)!important;
  background:transparent!important;
  border:0!important;
  border-bottom:2px solid var(--ud-yellow)!important;
  border-radius:0!important;
  box-shadow:none!important;
  font-size:inherit!important;
  font-weight:850!important;
  line-height:inherit!important;
  text-decoration:none!important;
}

/* Envíos: hover de enlaces del aviso superior. */
.page_submissions .cmp_notification a:is(:hover,:focus),
body.pkp_op_submissions .cmp_notification a:is(:hover,:focus),
body:has(.page_submissions) .cmp_notification a:is(:hover,:focus){
  color:var(--ud-red-dark)!important;
  background:transparent!important;
  border-bottom-color:var(--ud-red)!important;
}

/* Envíos: secciones principales nativas como tarjetas. */
.page_submissions>section,
.page_submissions .submission_checklist,
.page_submissions .sections,
body.pkp_op_submissions .page>section,
body:has(.page_submissions) .page>section{
  position:relative!important;
  width:100%!important;
  max-width:none!important;
  margin:0 0 24px!important;
  padding:28px clamp(22px,3vw,34px)!important;
  color:#3f4650!important;
  background:#fff!important;
  border:var(--border-soft)!important;
  border-left:5px solid var(--ud-red)!important;
  border-radius:10px!important;
  box-shadow:var(--shadow-soft)!important;
  box-sizing:border-box!important;
}

/* Envíos: párrafos directos cuando OJS no envuelve en section. */
.page_submissions>p,
body.pkp_op_submissions .page>p,
body:has(.page_submissions) .page>p{
  margin:0 0 16px!important;
  color:#3f4650!important;
  font-size:15.5px!important;
  line-height:1.75!important;
  text-align:justify!important;
}

/* Envíos: títulos internos. */
.page_submissions :is(h1,h2,h3),
body.pkp_op_submissions .page :is(h1,h2,h3),
body:has(.page_submissions) .page :is(h1,h2,h3){
  position:relative!important;
  margin:0 0 16px!important;
  padding:0 0 12px!important;
  color:var(--ud-red)!important;
  font-size:clamp(22px,2.2vw,28px)!important;
  font-weight:900!important;
  line-height:1.18!important;
}

/* Envíos: línea amarilla bajo títulos. */
.page_submissions :is(h1,h2,h3)::after,
body.pkp_op_submissions .page :is(h1,h2,h3)::after,
body:has(.page_submissions) .page :is(h1,h2,h3)::after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  bottom:0!important;
  width:56px!important;
  height:3px!important;
  background:var(--ud-yellow)!important;
}

/* Envíos: enlaces de edición más discretos. */
.page_submissions a[id^="edit-"],
body.pkp_op_submissions .page a[id^="edit-"],
body:has(.page_submissions) .page a[id^="edit-"],
.page_submissions :is(.edit-link,.pkp_screen_reader)+a,
body.pkp_op_submissions .page :is(.edit-link,.pkp_screen_reader)+a{
  color:#007ab2!important;
  font-size:13px!important;
  font-weight:700!important;
  text-decoration:none!important;
  border-bottom:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

/* Envíos: texto general. */
.page_submissions p,
body.pkp_op_submissions .page p,
body:has(.page_submissions) .page p{
  color:#3f4650!important;
  font-size:15.5px!important;
  line-height:1.75!important;
}

/* Envíos: listas nativas y checklist. */
.page_submissions ul,
.page_submissions ol,
body.pkp_op_submissions .page ul,
body.pkp_op_submissions .page ol,
body:has(.page_submissions) .page ul,
body:has(.page_submissions) .page ol{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:9px!important;
  margin:16px 0 0!important;
  padding:0!important;
  list-style:none!important;
}

/* Envíos: ítems de lista. */
.page_submissions li,
body.pkp_op_submissions .page li,
body:has(.page_submissions) .page li{
  position:relative!important;
  margin:0!important;
  padding:0 0 0 28px!important;
  color:#3f4650!important;
  font-size:15px!important;
  line-height:1.6!important;
}

/* Envíos: marcador institucional para listas. */
.page_submissions li::before,
body.pkp_op_submissions .page li::before,
body:has(.page_submissions) .page li::before{
  content:""!important;
  position:absolute!important;
  left:0!important;
  top:.55em!important;
  width:10px!important;
  height:10px!important;
  background:var(--ud-yellow)!important;
  border:2px solid var(--ud-red)!important;
  border-radius:50%!important;
}

/* Envíos: enlaces dentro del contenido. */
.page_submissions a,
body.pkp_op_submissions .page a,
body:has(.page_submissions) .page a{
  color:var(--ud-red)!important;
  font-weight:850!important;
  text-decoration:none!important;
  border-bottom:2px solid var(--ud-yellow)!important;
  background:transparent!important;
  box-shadow:none!important;
}

/* Envíos: hover de enlaces. */
.page_submissions a:is(:hover,:focus),
body.pkp_op_submissions .page a:is(:hover,:focus),
body:has(.page_submissions) .page a:is(:hover,:focus){
  color:var(--ud-red-dark)!important;
  border-bottom-color:var(--ud-red)!important;
}

/* Envíos: secciones editoriales como "Artículos". */
.page_submissions .section,
.page_submissions .section_policy,
body.pkp_op_submissions .page .section,
body.pkp_op_submissions .page .section_policy,
body:has(.page_submissions) .page .section,
body:has(.page_submissions) .page .section_policy{
  position:relative!important;
  margin:22px 0 38px!important;
  padding:22px!important;
  background:#fbf8f8!important;
  border:1px solid rgba(140,25,25,.12)!important;
  border-radius:8px!important;
  box-sizing:border-box!important;
}

/* Envíos: evita que enlaces internos se conviertan en botones rojos por error. */
.page_submissions a[href*="submission"],
body.pkp_op_submissions .page a[href*="submission"],
body:has(.page_submissions) .page a[href*="submission"]{
  display:inline!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  color:var(--ud-red)!important;
  background:transparent!important;
  border:0!important;
  border-bottom:2px solid var(--ud-yellow)!important;
  border-radius:0!important;
  box-shadow:none!important;
  font-size:inherit!important;
  font-weight:850!important;
  line-height:inherit!important;
  text-decoration:none!important;
}

/* Envíos: sidebar con tarjetas como Home. */
body.pkp_page_about.pkp_op_submissions .pkp_structure_sidebar .pkp_block,
body.pkp_op_submissions .pkp_structure_sidebar .pkp_block,
body:has(.page_submissions) .pkp_structure_sidebar .pkp_block{
  width:100%!important;
  margin:0 0 18px!important;
  padding:24px 26px!important;
  background:#fff!important;
  border:var(--border-soft)!important;
  border-radius:8px!important;
  box-shadow:var(--shadow-soft)!important;
  box-sizing:border-box!important;
}

/* Envíos: títulos del sidebar. */
body.pkp_page_about.pkp_op_submissions .pkp_structure_sidebar .pkp_block :is(.title,h2,h3),
body.pkp_op_submissions .pkp_structure_sidebar .pkp_block :is(.title,h2,h3),
body:has(.page_submissions) .pkp_structure_sidebar .pkp_block :is(.title,h2,h3){
  position:relative!important;
  margin:0 0 22px!important;
  padding:0 0 12px!important;
  color:#262a31!important;
  font-size:20px!important;
  font-weight:850!important;
  letter-spacing:.03em!important;
  text-transform:uppercase!important;
}

/* Envíos: línea amarilla del sidebar. */
body.pkp_page_about.pkp_op_submissions .pkp_structure_sidebar .pkp_block :is(.title,h2,h3)::after,
body.pkp_op_submissions .pkp_structure_sidebar .pkp_block :is(.title,h2,h3)::after,
body:has(.page_submissions) .pkp_structure_sidebar .pkp_block :is(.title,h2,h3)::after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  bottom:0!important;
  width:36px!important;
  height:2px!important;
  background:var(--ud-yellow)!important;
}

/* Envíos: listas del sidebar. */
body.pkp_page_about.pkp_op_submissions .pkp_structure_sidebar .pkp_block ul,
body.pkp_op_submissions .pkp_structure_sidebar .pkp_block ul,
body:has(.page_submissions) .pkp_structure_sidebar .pkp_block ul{
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}

/* Envíos: ítems del sidebar. */
body.pkp_page_about.pkp_op_submissions .pkp_structure_sidebar .pkp_block li,
body.pkp_op_submissions .pkp_structure_sidebar .pkp_block li,
body:has(.page_submissions) .pkp_structure_sidebar .pkp_block li{
  margin:0!important;
  padding:0!important;
  border-bottom:1px solid rgba(0,0,0,.08)!important;
}

/* Envíos: último ítem sin separador. */
body.pkp_page_about.pkp_op_submissions .pkp_structure_sidebar .pkp_block li:last-child,
body.pkp_op_submissions .pkp_structure_sidebar .pkp_block li:last-child,
body:has(.page_submissions) .pkp_structure_sidebar .pkp_block li:last-child{
  border-bottom:0!important;
}

/* Envíos: enlaces del sidebar. */
body.pkp_page_about.pkp_op_submissions .pkp_structure_sidebar .pkp_block a,
body.pkp_op_submissions .pkp_structure_sidebar .pkp_block a,
body:has(.page_submissions) .pkp_structure_sidebar .pkp_block a{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  padding:12px 0!important;
  color:#4d535b!important;
  font-size:15px!important;
  font-weight:650!important;
  text-decoration:none!important;
  border-bottom:0!important;
}

/* Envíos: flecha del sidebar. */
body.pkp_page_about.pkp_op_submissions .pkp_structure_sidebar .pkp_block a::after,
body.pkp_op_submissions .pkp_structure_sidebar .pkp_block a::after,
body:has(.page_submissions) .pkp_structure_sidebar .pkp_block a::after{
  content:"›"!important;
  color:#9aa0a8!important;
  font-size:26px!important;
  line-height:1!important;
}

/* Envíos: hover del sidebar. */
body.pkp_page_about.pkp_op_submissions .pkp_structure_sidebar .pkp_block a:is(:hover,:focus),
body.pkp_op_submissions .pkp_structure_sidebar .pkp_block a:is(:hover,:focus),
body:has(.page_submissions) .pkp_structure_sidebar .pkp_block a:is(:hover,:focus){
  color:var(--ud-red)!important;
}

/* Envíos responsive: tablet. */
@media(max-width:900px){
  body.pkp_page_about.pkp_op_submissions .pkp_structure_content,
  body.pkp_op_submissions .pkp_structure_content,
  body:has(.page_submissions) .pkp_structure_content{
    display:block!important;
    padding:20px 14px 45px!important;
  }

  body.pkp_page_about.pkp_op_submissions .pkp_structure_sidebar,
  body.pkp_op_submissions .pkp_structure_sidebar,
  body:has(.page_submissions) .pkp_structure_sidebar{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin-top:20px!important;
  }
}

/* Envíos responsive: celular. */
@media(max-width:640px){
  .page_submissions .cmp_notification,
  body.pkp_op_submissions .cmp_notification,
  body:has(.page_submissions) .cmp_notification,
  .page_submissions>section,
  .page_submissions .submission_checklist,
  .page_submissions .sections,
  body.pkp_op_submissions .page>section,
  body:has(.page_submissions) .page>section{
    padding:24px 20px!important;
  }
}


/* =========================================================
   2.6 EQUIPO EDITORIAL
   Página independiente:
   - Reemplaza la antigua sección Cabecera editorial.
   - Diseño aplicado al HTML nativo de OJS.
   - Compatible con Equipo Editorial, Histórico editorial y .turing-editorial-history.
   - Sidebar Idioma / Información al lado derecho.
   - Sin breadcrumb ni líneas verticales heredadas.
========================================================= */

/* Equipo editorial: oculta breadcrumb/ruta superior. */
body.pkp_page_about.pkp_op_editorialMasthead :is(
  .cmp_breadcrumbs,
  .breadcrumbs,
  .pkp_breadcrumbs,
  .breadcrumb,
  nav[aria-label="breadcrumb"]
),
body.pkp_op_editorialMasthead :is(
  .cmp_breadcrumbs,
  .breadcrumbs,
  .pkp_breadcrumbs,
  .breadcrumb,
  nav[aria-label="breadcrumb"]
),
body.pkp_op_editorialHistory :is(
  .cmp_breadcrumbs,
  .breadcrumbs,
  .pkp_breadcrumbs,
  .breadcrumb,
  nav[aria-label="breadcrumb"]
),
body.pkp_op_editorialTeam :is(
  .cmp_breadcrumbs,
  .breadcrumbs,
  .pkp_breadcrumbs,
  .breadcrumb,
  nav[aria-label="breadcrumb"]
),
body:has(.page_editorial_masthead) :is(
  .cmp_breadcrumbs,
  .breadcrumbs,
  .pkp_breadcrumbs,
  .breadcrumb,
  nav[aria-label="breadcrumb"]
),
body:has(.page_editorial_history) :is(
  .cmp_breadcrumbs,
  .breadcrumbs,
  .pkp_breadcrumbs,
  .breadcrumb,
  nav[aria-label="breadcrumb"]
),
body:has(.page_editorial_team) :is(
  .cmp_breadcrumbs,
  .breadcrumbs,
  .pkp_breadcrumbs,
  .breadcrumb,
  nav[aria-label="breadcrumb"]
),
body:has(.turing-editorial-history) :is(
  .cmp_breadcrumbs,
  .breadcrumbs,
  .pkp_breadcrumbs,
  .breadcrumb,
  nav[aria-label="breadcrumb"]
){
  display:none!important;
  visibility:hidden!important;
  height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
}

/* Equipo editorial: elimina líneas verticales heredadas del tema. */
body.pkp_page_about.pkp_op_editorialMasthead :is(
  .pkp_structure_page,
  .pkp_structure_body,
  .pkp_structure_content,
  .pkp_structure_main,
  .pkp_structure_sidebar,
  .page
),
body.pkp_op_editorialMasthead :is(
  .pkp_structure_page,
  .pkp_structure_body,
  .pkp_structure_content,
  .pkp_structure_main,
  .pkp_structure_sidebar,
  .page
),
body.pkp_op_editorialHistory :is(
  .pkp_structure_page,
  .pkp_structure_body,
  .pkp_structure_content,
  .pkp_structure_main,
  .pkp_structure_sidebar,
  .page
),
body.pkp_op_editorialTeam :is(
  .pkp_structure_page,
  .pkp_structure_body,
  .pkp_structure_content,
  .pkp_structure_main,
  .pkp_structure_sidebar,
  .page
),
body:has(.page_editorial_masthead) :is(
  .pkp_structure_page,
  .pkp_structure_body,
  .pkp_structure_content,
  .pkp_structure_main,
  .pkp_structure_sidebar,
  .page
),
body:has(.page_editorial_history) :is(
  .pkp_structure_page,
  .pkp_structure_body,
  .pkp_structure_content,
  .pkp_structure_main,
  .pkp_structure_sidebar,
  .page
),
body:has(.page_editorial_team) :is(
  .pkp_structure_page,
  .pkp_structure_body,
  .pkp_structure_content,
  .pkp_structure_main,
  .pkp_structure_sidebar,
  .page
),
body:has(.turing-editorial-history) :is(
  .pkp_structure_page,
  .pkp_structure_body,
  .pkp_structure_content,
  .pkp_structure_main,
  .pkp_structure_sidebar,
  .page
){
  border-left:0!important;
  border-right:0!important;
  outline:0!important;
}

/* Equipo editorial: elimina pseudo-separadores. */
body.pkp_op_editorialMasthead :is(
  .pkp_structure_page,
  .pkp_structure_body,
  .pkp_structure_content,
  .pkp_structure_main,
  .pkp_structure_sidebar,
  .page
)::before,
body.pkp_op_editorialMasthead :is(
  .pkp_structure_page,
  .pkp_structure_body,
  .pkp_structure_content,
  .pkp_structure_main,
  .pkp_structure_sidebar,
  .page
)::after,
body.pkp_op_editorialHistory :is(
  .pkp_structure_page,
  .pkp_structure_body,
  .pkp_structure_content,
  .pkp_structure_main,
  .pkp_structure_sidebar,
  .page
)::before,
body.pkp_op_editorialHistory :is(
  .pkp_structure_page,
  .pkp_structure_body,
  .pkp_structure_content,
  .pkp_structure_main,
  .pkp_structure_sidebar,
  .page
)::after,
body.pkp_op_editorialTeam :is(
  .pkp_structure_page,
  .pkp_structure_body,
  .pkp_structure_content,
  .pkp_structure_main,
  .pkp_structure_sidebar,
  .page
)::before,
body.pkp_op_editorialTeam :is(
  .pkp_structure_page,
  .pkp_structure_body,
  .pkp_structure_content,
  .pkp_structure_main,
  .pkp_structure_sidebar,
  .page
)::after,
body:has(.page_editorial_masthead) :is(
  .pkp_structure_page,
  .pkp_structure_body,
  .pkp_structure_content,
  .pkp_structure_main,
  .pkp_structure_sidebar,
  .page
)::before,
body:has(.page_editorial_masthead) :is(
  .pkp_structure_page,
  .pkp_structure_body,
  .pkp_structure_content,
  .pkp_structure_main,
  .pkp_structure_sidebar,
  .page
)::after,
body:has(.page_editorial_history) :is(
  .pkp_structure_page,
  .pkp_structure_body,
  .pkp_structure_content,
  .pkp_structure_main,
  .pkp_structure_sidebar,
  .page
)::before,
body:has(.page_editorial_history) :is(
  .pkp_structure_page,
  .pkp_structure_body,
  .pkp_structure_content,
  .pkp_structure_main,
  .pkp_structure_sidebar,
  .page
)::after,
body:has(.page_editorial_team) :is(
  .pkp_structure_page,
  .pkp_structure_body,
  .pkp_structure_content,
  .pkp_structure_main,
  .pkp_structure_sidebar,
  .page
)::before,
body:has(.page_editorial_team) :is(
  .pkp_structure_page,
  .pkp_structure_body,
  .pkp_structure_content,
  .pkp_structure_main,
  .pkp_structure_sidebar,
  .page
)::after,
body:has(.turing-editorial-history) :is(
  .pkp_structure_page,
  .pkp_structure_body,
  .pkp_structure_content,
  .pkp_structure_main,
  .pkp_structure_sidebar,
  .page
)::before,
body:has(.turing-editorial-history) :is(
  .pkp_structure_page,
  .pkp_structure_body,
  .pkp_structure_content,
  .pkp_structure_main,
  .pkp_structure_sidebar,
  .page
)::after{
  display:none!important;
  content:none!important;
  border:0!important;
  box-shadow:none!important;
  background:none!important;
}

/* Equipo editorial: layout principal con sidebar derecho. */
body.pkp_page_about.pkp_op_editorialMasthead .pkp_structure_content,
body.pkp_op_editorialMasthead .pkp_structure_content,
body.pkp_op_editorialHistory .pkp_structure_content,
body.pkp_op_editorialTeam .pkp_structure_content,
body:has(.page_editorial_masthead) .pkp_structure_content,
body:has(.page_editorial_history) .pkp_structure_content,
body:has(.page_editorial_team) .pkp_structure_content,
body:has(.turing-editorial-history) .pkp_structure_content{
  width:100%!important;
  max-width:none!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:24px!important;
  margin:0!important;
  padding:30px clamp(26px,3.2vw,62px) 60px!important;
  background:#fff!important;
  box-sizing:border-box!important;
}

/* Equipo editorial: columna principal. */
body.pkp_page_about.pkp_op_editorialMasthead .pkp_structure_main,
body.pkp_op_editorialMasthead .pkp_structure_main,
body.pkp_op_editorialHistory .pkp_structure_main,
body.pkp_op_editorialTeam .pkp_structure_main,
body:has(.page_editorial_masthead) .pkp_structure_main,
body:has(.page_editorial_history) .pkp_structure_main,
body:has(.page_editorial_team) .pkp_structure_main,
body:has(.turing-editorial-history) .pkp_structure_main{
  flex:1 1 auto!important;
  width:auto!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  background:#fff!important;
  box-sizing:border-box!important;
}

/* Equipo editorial: sidebar Idioma / Información. */
body.pkp_page_about.pkp_op_editorialMasthead .pkp_structure_sidebar,
body.pkp_op_editorialMasthead .pkp_structure_sidebar,
body.pkp_op_editorialHistory .pkp_structure_sidebar,
body.pkp_op_editorialTeam .pkp_structure_sidebar,
body:has(.page_editorial_masthead) .pkp_structure_sidebar,
body:has(.page_editorial_history) .pkp_structure_sidebar,
body:has(.page_editorial_team) .pkp_structure_sidebar,
body:has(.turing-editorial-history) .pkp_structure_sidebar{
  flex:0 0 clamp(280px,22vw,360px)!important;
  width:clamp(280px,22vw,360px)!important;
  max-width:360px!important;
  min-width:280px!important;
  margin:0!important;
  padding:0!important;
  background:#fff!important;
  box-sizing:border-box!important;
}

/* Equipo editorial: limpia la caja nativa page de OJS. */
body.pkp_page_about.pkp_op_editorialMasthead .page,
body.pkp_op_editorialMasthead .page,
body.pkp_op_editorialHistory .page,
body.pkp_op_editorialTeam .page,
body:has(.page_editorial_masthead) .page,
body:has(.page_editorial_history) .page,
body:has(.page_editorial_team) .page,
body:has(.turing-editorial-history) .page,
.page_editorial_masthead,
.page_editorial_history,
.page_editorial_team{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  box-sizing:border-box!important;
}

/* Equipo editorial: título principal como hero institucional. */
body.pkp_page_about.pkp_op_editorialMasthead .page>h1:first-child,
body.pkp_op_editorialMasthead .page>h1:first-child,
body.pkp_op_editorialHistory .page>h1:first-child,
body.pkp_op_editorialTeam .page>h1:first-child,
body:has(.page_editorial_masthead) .page>h1:first-child,
body:has(.page_editorial_history) .page>h1:first-child,
body:has(.page_editorial_team) .page>h1:first-child,
body:has(.turing-editorial-history) .page>h1:first-child,
.page_editorial_masthead>h1:first-child,
.page_editorial_history>h1:first-child,
.page_editorial_team>h1:first-child{
  position:relative!important;
  overflow:hidden!important;
  display:block!important;
  width:100%!important;
  min-height:220px!important;
  margin:0 0 24px!important;
  padding:96px clamp(24px,3.6vw,48px) 34px!important;
  color:var(--ud-red)!important;
  background:linear-gradient(135deg,#fff 0%,#fff 72%,#fbf7f7 100%)!important;
  border:var(--border-soft)!important;
  border-left:6px solid var(--ud-red)!important;
  border-radius:10px!important;
  box-shadow:var(--shadow-card)!important;
  box-sizing:border-box!important;
  font-size:clamp(34px,4vw,52px)!important;
  font-weight:900!important;
  line-height:1.05!important;
}

/* Equipo editorial: etiqueta superior del hero. */
body.pkp_op_editorialMasthead .page>h1:first-child::before,
body.pkp_op_editorialHistory .page>h1:first-child::before,
body.pkp_op_editorialTeam .page>h1:first-child::before,
body:has(.page_editorial_masthead) .page>h1:first-child::before,
body:has(.page_editorial_history) .page>h1:first-child::before,
body:has(.page_editorial_team) .page>h1:first-child::before,
body:has(.turing-editorial-history) .page>h1:first-child::before,
.page_editorial_masthead>h1:first-child::before,
.page_editorial_history>h1:first-child::before,
.page_editorial_team>h1:first-child::before{
  content:"Equipo editorial"!important;
  position:absolute!important;
  left:clamp(24px,3.6vw,48px)!important;
  top:34px!important;
  display:inline-flex!important;
  align-items:center!important;
  min-height:28px!important;
  padding:5px 12px!important;
  color:var(--ud-red)!important;
  background:#fff8df!important;
  border:1px solid rgba(240,195,0,.45)!important;
  border-radius:999px!important;
  font-size:13px!important;
  font-weight:800!important;
  letter-spacing:.04em!important;
  line-height:1.2!important;
  text-transform:uppercase!important;
}

/* Equipo editorial: patrón decorativo. */
body.pkp_op_editorialMasthead .page>h1:first-child::after,
body.pkp_op_editorialHistory .page>h1:first-child::after,
body.pkp_op_editorialTeam .page>h1:first-child::after,
body:has(.page_editorial_masthead) .page>h1:first-child::after,
body:has(.page_editorial_history) .page>h1:first-child::after,
body:has(.page_editorial_team) .page>h1:first-child::after,
body:has(.turing-editorial-history) .page>h1:first-child::after,
.page_editorial_masthead>h1:first-child::after,
.page_editorial_history>h1:first-child::after,
.page_editorial_team>h1:first-child::after{
  content:""!important;
  position:absolute!important;
  inset:0 auto 0 0!important;
  width:120px!important;
  opacity:.15!important;
  pointer-events:none!important;
  background-image:radial-gradient(rgba(140,25,25,.34) 1px,transparent 1px)!important;
  background-size:12px 12px!important;
}

/* Equipo editorial: oculta líneas horizontales simples de OJS. */
body.pkp_op_editorialMasthead .page hr,
body.pkp_op_editorialHistory .page hr,
body.pkp_op_editorialTeam .page hr,
body:has(.page_editorial_masthead) .page hr,
body:has(.page_editorial_history) .page hr,
body:has(.page_editorial_team) .page hr,
.page_editorial_masthead hr,
.page_editorial_history hr,
.page_editorial_team hr{
  display:none!important;
}

/* Equipo editorial: enlaces generales. */
body.pkp_op_editorialMasthead .page a,
body.pkp_op_editorialHistory .page a,
body.pkp_op_editorialTeam .page a,
body:has(.page_editorial_masthead) .page a,
body:has(.page_editorial_history) .page a,
body:has(.page_editorial_team) .page a,
.page_editorial_masthead a,
.page_editorial_history a,
.page_editorial_team a{
  color:var(--ud-red)!important;
  font-weight:850!important;
  text-decoration:none!important;
  border-bottom:2px solid var(--ud-yellow)!important;
}

/* Equipo editorial: hover enlaces. */
body.pkp_op_editorialMasthead .page a:is(:hover,:focus),
body.pkp_op_editorialHistory .page a:is(:hover,:focus),
body.pkp_op_editorialTeam .page a:is(:hover,:focus),
body:has(.page_editorial_masthead) .page a:is(:hover,:focus),
body:has(.page_editorial_history) .page a:is(:hover,:focus),
body:has(.page_editorial_team) .page a:is(:hover,:focus),
.page_editorial_masthead a:is(:hover,:focus),
.page_editorial_history a:is(:hover,:focus),
.page_editorial_team a:is(:hover,:focus){
  color:var(--ud-red-dark)!important;
  border-bottom-color:var(--ud-red)!important;
}

/* Equipo editorial: contenido nativo en tarjeta. */
body.pkp_op_editorialMasthead .page>p,
body.pkp_op_editorialHistory .page>p,
body.pkp_op_editorialTeam .page>p,
body:has(.page_editorial_masthead) .page>p,
body:has(.page_editorial_history) .page>p,
body:has(.page_editorial_team) .page>p,
.page_editorial_masthead>p,
.page_editorial_history>p,
.page_editorial_team>p{
  position:relative!important;
  width:100%!important;
  margin:0 0 18px!important;
  padding:24px clamp(22px,3vw,34px)!important;
  color:#3f4650!important;
  background:#fff!important;
  border:var(--border-soft)!important;
  border-left:5px solid var(--ud-red)!important;
  border-radius:10px!important;
  box-shadow:var(--shadow-soft)!important;
  box-sizing:border-box!important;
  font-size:15.5px!important;
  line-height:1.75!important;
  text-align:justify!important;
}

/* Equipo editorial: bloques nativos, excepto el histórico personalizado. */
body.pkp_op_editorialMasthead .page :is(section,article,.item,.section,.list):not(.turing-editorial-history),
body.pkp_op_editorialHistory .page :is(section,article,.item,.section,.list):not(.turing-editorial-history),
body.pkp_op_editorialTeam .page :is(section,article,.item,.section,.list):not(.turing-editorial-history),
body:has(.page_editorial_masthead) .page :is(section,article,.item,.section,.list):not(.turing-editorial-history),
body:has(.page_editorial_history) .page :is(section,article,.item,.section,.list):not(.turing-editorial-history),
body:has(.page_editorial_team) .page :is(section,article,.item,.section,.list):not(.turing-editorial-history),
.page_editorial_masthead :is(section,article,.item,.section,.list):not(.turing-editorial-history),
.page_editorial_history :is(section,article,.item,.section,.list):not(.turing-editorial-history),
.page_editorial_team :is(section,article,.item,.section,.list):not(.turing-editorial-history){
  position:relative!important;
  width:100%!important;
  margin:0 0 24px!important;
  padding:28px clamp(22px,3vw,34px)!important;
  background:#fff!important;
  border:var(--border-soft)!important;
  border-left:5px solid var(--ud-red)!important;
  border-radius:10px!important;
  box-shadow:var(--shadow-soft)!important;
  box-sizing:border-box!important;
}

/* Equipo editorial: contenedor del histórico personalizado. */
.turing-editorial-history{
  position:relative!important;
  overflow:hidden!important;
  width:100%!important;
  margin:0 0 24px!important;
  padding:36px clamp(28px,3.4vw,48px)!important;
  color:#3f4650!important;
  background:linear-gradient(135deg,#fff 0%,#fff 76%,#fbf7f7 100%)!important;
  border:var(--border-soft)!important;
  border-left:6px solid var(--ud-red)!important;
  border-radius:10px!important;
  box-shadow:var(--shadow-card)!important;
  box-sizing:border-box!important;
}

/* Equipo editorial: patrón decorativo del histórico. */
.turing-editorial-history::before{
  content:""!important;
  position:absolute!important;
  inset:0 auto 0 0!important;
  width:115px!important;
  opacity:.12!important;
  pointer-events:none!important;
  background-image:radial-gradient(rgba(140,25,25,.34) 1px,transparent 1px)!important;
  background-size:12px 12px!important;
}

/* Equipo editorial: contenido por encima del patrón. */
.turing-editorial-history>*{
  position:relative!important;
  z-index:2!important;
}

/* Equipo editorial: título principal del histórico. */
.turing-editorial-history>h2:first-child{
  position:relative!important;
  margin:0 0 22px!important;
  padding:0 0 14px!important;
  color:var(--ud-red)!important;
  font-size:clamp(28px,2.8vw,38px)!important;
  font-weight:900!important;
  line-height:1.12!important;
}

/* Equipo editorial: línea amarilla bajo título del histórico. */
.turing-editorial-history>h2:first-child::after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  bottom:0!important;
  width:70px!important;
  height:3px!important;
  background:var(--ud-yellow)!important;
}

/* Equipo editorial: párrafos del histórico a ancho completo. */
.turing-editorial-history p{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin:0 0 18px!important;
  color:#3f4650!important;
  font-size:16px!important;
  line-height:1.82!important;
  text-align:justify!important;
  box-sizing:border-box!important;
}

/* Equipo editorial: último párrafo como nota institucional a ancho completo. */
.turing-editorial-history>p:last-child{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin:24px 0 0!important;
  padding:18px 20px!important;
  color:#4b525b!important;
  background:#fff8df!important;
  border:1px solid rgba(240,195,0,.45)!important;
  border-radius:8px!important;
  font-size:14.5px!important;
  line-height:1.65!important;
  box-sizing:border-box!important;
}

/* Equipo editorial: subtítulos de cargos/comités, más limpios. */
.turing-editorial-history h3{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  margin:30px 0 12px!important;
  padding:0 0 10px!important;
  color:var(--ud-red)!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  font-size:clamp(21px,2vw,26px)!important;
  font-weight:900!important;
  line-height:1.2!important;
}

/* Equipo editorial: línea amarilla bajo subtítulos. */
.turing-editorial-history h3::after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  bottom:0!important;
  width:54px!important;
  height:3px!important;
  background:var(--ud-yellow)!important;
}

/* Equipo editorial: lista de integrantes en filas completas. */
.turing-editorial-history ul,
.turing-editorial-history ol{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
  width:100%!important;
  margin:0 0 24px!important;
  padding:16px!important;
  background:#fff!important;
  border:var(--border-soft)!important;
  border-radius:10px!important;
  box-shadow:var(--shadow-soft)!important;
  list-style:none!important;
  box-sizing:border-box!important;
}

/* Equipo editorial: cada integrante en una fila rojo claro. */
.turing-editorial-history li{
  position:relative!important;
  display:block!important;
  width:100%!important;
  min-height:46px!important;
  margin:0!important;
  padding:13px 18px 13px 38px!important;
  color:#3f4650!important;
  background:#fbf8f8!important;
  border:1px solid rgba(140,25,25,.14)!important;
  border-left:4px solid rgba(140,25,25,.35)!important;
  border-radius:8px!important;
  font-size:14.8px!important;
  line-height:1.55!important;
  box-sizing:border-box!important;
}

/* Equipo editorial: marcador institucional por integrante. */
.turing-editorial-history li::before{
  content:""!important;
  position:absolute!important;
  left:16px!important;
  top:19px!important;
  width:9px!important;
  height:9px!important;
  background:var(--ud-yellow)!important;
  border:2px solid var(--ud-red)!important;
  border-radius:50%!important;
}

/* Equipo editorial: campos destacados. */
.turing-editorial-history strong{
  color:#252a31!important;
  font-weight:900!important;
}

/* Equipo editorial: títulos internos nativos. */
body.pkp_op_editorialMasthead .page :is(h2,h3,h4):not(.turing-editorial-history h2):not(.turing-editorial-history h3),
body.pkp_op_editorialHistory .page :is(h2,h3,h4):not(.turing-editorial-history h2):not(.turing-editorial-history h3),
body.pkp_op_editorialTeam .page :is(h2,h3,h4):not(.turing-editorial-history h2):not(.turing-editorial-history h3),
body:has(.page_editorial_masthead) .page :is(h2,h3,h4):not(.turing-editorial-history h2):not(.turing-editorial-history h3),
body:has(.page_editorial_history) .page :is(h2,h3,h4):not(.turing-editorial-history h2):not(.turing-editorial-history h3),
body:has(.page_editorial_team) .page :is(h2,h3,h4):not(.turing-editorial-history h2):not(.turing-editorial-history h3){
  position:relative!important;
  margin:0 0 16px!important;
  padding:0 0 12px!important;
  color:var(--ud-red)!important;
  font-size:clamp(22px,2.2vw,28px)!important;
  font-weight:900!important;
  line-height:1.18!important;
}

/* Equipo editorial: línea amarilla bajo títulos nativos. */
body.pkp_op_editorialMasthead .page :is(h2,h3,h4):not(.turing-editorial-history h2):not(.turing-editorial-history h3)::after,
body.pkp_op_editorialHistory .page :is(h2,h3,h4):not(.turing-editorial-history h2):not(.turing-editorial-history h3)::after,
body.pkp_op_editorialTeam .page :is(h2,h3,h4):not(.turing-editorial-history h2):not(.turing-editorial-history h3)::after,
body:has(.page_editorial_masthead) .page :is(h2,h3,h4):not(.turing-editorial-history h2):not(.turing-editorial-history h3)::after,
body:has(.page_editorial_history) .page :is(h2,h3,h4):not(.turing-editorial-history h2):not(.turing-editorial-history h3)::after,
body:has(.page_editorial_team) .page :is(h2,h3,h4):not(.turing-editorial-history h2):not(.turing-editorial-history h3)::after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  bottom:0!important;
  width:56px!important;
  height:3px!important;
  background:var(--ud-yellow)!important;
}

/* Equipo editorial: listas nativas fuera del histórico personalizado. */
body.pkp_op_editorialMasthead .page :is(ul,ol):not(.turing-editorial-history ul):not(.turing-editorial-history ol),
body.pkp_op_editorialHistory .page :is(ul,ol):not(.turing-editorial-history ul):not(.turing-editorial-history ol),
body.pkp_op_editorialTeam .page :is(ul,ol):not(.turing-editorial-history ul):not(.turing-editorial-history ol),
body:has(.page_editorial_masthead) .page :is(ul,ol):not(.turing-editorial-history ul):not(.turing-editorial-history ol),
body:has(.page_editorial_history) .page :is(ul,ol):not(.turing-editorial-history ul):not(.turing-editorial-history ol),
body:has(.page_editorial_team) .page :is(ul,ol):not(.turing-editorial-history ul):not(.turing-editorial-history ol){
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:9px!important;
  margin:16px 0 0!important;
  padding:0!important;
  list-style:none!important;
}

/* Equipo editorial: sidebar con tarjetas como Home. */
body.pkp_op_editorialMasthead .pkp_structure_sidebar .pkp_block,
body.pkp_op_editorialHistory .pkp_structure_sidebar .pkp_block,
body.pkp_op_editorialTeam .pkp_structure_sidebar .pkp_block,
body:has(.page_editorial_masthead) .pkp_structure_sidebar .pkp_block,
body:has(.page_editorial_history) .pkp_structure_sidebar .pkp_block,
body:has(.page_editorial_team) .pkp_structure_sidebar .pkp_block,
body:has(.turing-editorial-history) .pkp_structure_sidebar .pkp_block{
  width:100%!important;
  margin:0 0 18px!important;
  padding:24px 26px!important;
  background:#fff!important;
  border:var(--border-soft)!important;
  border-radius:8px!important;
  box-shadow:var(--shadow-soft)!important;
  box-sizing:border-box!important;
}

/* Equipo editorial: títulos del sidebar. */
body.pkp_op_editorialMasthead .pkp_structure_sidebar .pkp_block :is(.title,h2,h3),
body.pkp_op_editorialHistory .pkp_structure_sidebar .pkp_block :is(.title,h2,h3),
body.pkp_op_editorialTeam .pkp_structure_sidebar .pkp_block :is(.title,h2,h3),
body:has(.page_editorial_masthead) .pkp_structure_sidebar .pkp_block :is(.title,h2,h3),
body:has(.page_editorial_history) .pkp_structure_sidebar .pkp_block :is(.title,h2,h3),
body:has(.page_editorial_team) .pkp_structure_sidebar .pkp_block :is(.title,h2,h3),
body:has(.turing-editorial-history) .pkp_structure_sidebar .pkp_block :is(.title,h2,h3){
  position:relative!important;
  margin:0 0 22px!important;
  padding:0 0 12px!important;
  color:#262a31!important;
  font-size:20px!important;
  font-weight:850!important;
  letter-spacing:.03em!important;
  text-transform:uppercase!important;
}

/* Equipo editorial: línea amarilla del sidebar. */
body.pkp_op_editorialMasthead .pkp_structure_sidebar .pkp_block :is(.title,h2,h3)::after,
body.pkp_op_editorialHistory .pkp_structure_sidebar .pkp_block :is(.title,h2,h3)::after,
body.pkp_op_editorialTeam .pkp_structure_sidebar .pkp_block :is(.title,h2,h3)::after,
body:has(.page_editorial_masthead) .pkp_structure_sidebar .pkp_block :is(.title,h2,h3)::after,
body:has(.page_editorial_history) .pkp_structure_sidebar .pkp_block :is(.title,h2,h3)::after,
body:has(.page_editorial_team) .pkp_structure_sidebar .pkp_block :is(.title,h2,h3)::after,
body:has(.turing-editorial-history) .pkp_structure_sidebar .pkp_block :is(.title,h2,h3)::after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  bottom:0!important;
  width:36px!important;
  height:2px!important;
  background:var(--ud-yellow)!important;
}

/* Equipo editorial: listas del sidebar. */
body.pkp_op_editorialMasthead .pkp_structure_sidebar .pkp_block ul,
body.pkp_op_editorialHistory .pkp_structure_sidebar .pkp_block ul,
body.pkp_op_editorialTeam .pkp_structure_sidebar .pkp_block ul,
body:has(.page_editorial_masthead) .pkp_structure_sidebar .pkp_block ul,
body:has(.page_editorial_history) .pkp_structure_sidebar .pkp_block ul,
body:has(.page_editorial_team) .pkp_structure_sidebar .pkp_block ul,
body:has(.turing-editorial-history) .pkp_structure_sidebar .pkp_block ul{
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}

/* Equipo editorial: ítems del sidebar. */
body.pkp_op_editorialMasthead .pkp_structure_sidebar .pkp_block li,
body.pkp_op_editorialHistory .pkp_structure_sidebar .pkp_block li,
body.pkp_op_editorialTeam .pkp_structure_sidebar .pkp_block li,
body:has(.page_editorial_masthead) .pkp_structure_sidebar .pkp_block li,
body:has(.page_editorial_history) .pkp_structure_sidebar .pkp_block li,
body:has(.page_editorial_team) .pkp_structure_sidebar .pkp_block li,
body:has(.turing-editorial-history) .pkp_structure_sidebar .pkp_block li{
  margin:0!important;
  padding:0!important;
  border-bottom:1px solid rgba(0,0,0,.08)!important;
}

/* Equipo editorial: último ítem sin línea. */
body.pkp_op_editorialMasthead .pkp_structure_sidebar .pkp_block li:last-child,
body.pkp_op_editorialHistory .pkp_structure_sidebar .pkp_block li:last-child,
body.pkp_op_editorialTeam .pkp_structure_sidebar .pkp_block li:last-child,
body:has(.page_editorial_masthead) .pkp_structure_sidebar .pkp_block li:last-child,
body:has(.page_editorial_history) .pkp_structure_sidebar .pkp_block li:last-child,
body:has(.page_editorial_team) .pkp_structure_sidebar .pkp_block li:last-child,
body:has(.turing-editorial-history) .pkp_structure_sidebar .pkp_block li:last-child{
  border-bottom:0!important;
}

/* Equipo editorial: enlaces del sidebar. */
body.pkp_op_editorialMasthead .pkp_structure_sidebar .pkp_block a,
body.pkp_op_editorialHistory .pkp_structure_sidebar .pkp_block a,
body.pkp_op_editorialTeam .pkp_structure_sidebar .pkp_block a,
body:has(.page_editorial_masthead) .pkp_structure_sidebar .pkp_block a,
body:has(.page_editorial_history) .pkp_structure_sidebar .pkp_block a,
body:has(.page_editorial_team) .pkp_structure_sidebar .pkp_block a,
body:has(.turing-editorial-history) .pkp_structure_sidebar .pkp_block a{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  padding:12px 0!important;
  color:#4d535b!important;
  font-size:15px!important;
  font-weight:650!important;
  text-decoration:none!important;
}

/* Equipo editorial: flecha del sidebar. */
body.pkp_op_editorialMasthead .pkp_structure_sidebar .pkp_block a::after,
body.pkp_op_editorialHistory .pkp_structure_sidebar .pkp_block a::after,
body.pkp_op_editorialTeam .pkp_structure_sidebar .pkp_block a::after,
body:has(.page_editorial_masthead) .pkp_structure_sidebar .pkp_block a::after,
body:has(.page_editorial_history) .pkp_structure_sidebar .pkp_block a::after,
body:has(.page_editorial_team) .pkp_structure_sidebar .pkp_block a::after,
body:has(.turing-editorial-history) .pkp_structure_sidebar .pkp_block a::after{
  content:"›"!important;
  color:#9aa0a8!important;
  font-size:26px!important;
  line-height:1!important;
}

/* Equipo editorial: hover del sidebar. */
body.pkp_op_editorialMasthead .pkp_structure_sidebar .pkp_block a:is(:hover,:focus),
body.pkp_op_editorialHistory .pkp_structure_sidebar .pkp_block a:is(:hover,:focus),
body.pkp_op_editorialTeam .pkp_structure_sidebar .pkp_block a:is(:hover,:focus),
body:has(.page_editorial_masthead) .pkp_structure_sidebar .pkp_block a:is(:hover,:focus),
body:has(.page_editorial_history) .pkp_structure_sidebar .pkp_block a:is(:hover,:focus),
body:has(.page_editorial_team) .pkp_structure_sidebar .pkp_block a:is(:hover,:focus),
body:has(.turing-editorial-history) .pkp_structure_sidebar .pkp_block a:is(:hover,:focus){
  color:var(--ud-red)!important;
}

/* Equipo editorial responsive: tablet. */
@media(max-width:900px){
  body.pkp_op_editorialMasthead .pkp_structure_content,
  body.pkp_op_editorialHistory .pkp_structure_content,
  body.pkp_op_editorialTeam .pkp_structure_content,
  body:has(.page_editorial_masthead) .pkp_structure_content,
  body:has(.page_editorial_history) .pkp_structure_content,
  body:has(.page_editorial_team) .pkp_structure_content,
  body:has(.turing-editorial-history) .pkp_structure_content{
    display:block!important;
    padding:20px 14px 45px!important;
  }

  body.pkp_op_editorialMasthead .pkp_structure_sidebar,
  body.pkp_op_editorialHistory .pkp_structure_sidebar,
  body.pkp_op_editorialTeam .pkp_structure_sidebar,
  body:has(.page_editorial_masthead) .pkp_structure_sidebar,
  body:has(.page_editorial_history) .pkp_structure_sidebar,
  body:has(.page_editorial_team) .pkp_structure_sidebar,
  body:has(.turing-editorial-history) .pkp_structure_sidebar{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin-top:20px!important;
  }

  .turing-editorial-history ul,
  .turing-editorial-history ol{
    grid-template-columns:1fr!important;
  }
}

/* Equipo editorial responsive: celular. */
@media(max-width:640px){
  body.pkp_op_editorialMasthead .page>h1:first-child,
  body.pkp_op_editorialHistory .page>h1:first-child,
  body.pkp_op_editorialTeam .page>h1:first-child,
  body:has(.page_editorial_masthead) .page>h1:first-child,
  body:has(.page_editorial_history) .page>h1:first-child,
  body:has(.page_editorial_team) .page>h1:first-child,
  body:has(.turing-editorial-history) .page>h1:first-child,
  .page_editorial_masthead>h1:first-child,
  .page_editorial_history>h1:first-child,
  .page_editorial_team>h1:first-child{
    min-height:170px!important;
    padding:82px 20px 28px!important;
    border-left-width:4px!important;
    font-size:30px!important;
  }

  body.pkp_op_editorialMasthead .page>h1:first-child::before,
  body.pkp_op_editorialHistory .page>h1:first-child::before,
  body.pkp_op_editorialTeam .page>h1:first-child::before,
  body:has(.page_editorial_masthead) .page>h1:first-child::before,
  body:has(.page_editorial_history) .page>h1:first-child::before,
  body:has(.page_editorial_team) .page>h1:first-child::before,
  body:has(.turing-editorial-history) .page>h1:first-child::before,
  .page_editorial_masthead>h1:first-child::before,
  .page_editorial_history>h1:first-child::before,
  .page_editorial_team>h1:first-child::before{
    left:20px!important;
    top:28px!important;
  }

  .turing-editorial-history{
    padding:28px 20px!important;
  }

  .turing-editorial-history h3{
    font-size:20px!important;
  }

  .turing-editorial-history li{
    padding:12px 14px 12px 34px!important;
    font-size:14.2px!important;
  }

  .turing-editorial-history li::before{
    left:14px!important;
    top:18px!important;
  }
}


/* =========================================================
   2.7 DECLARACIÓN DE PRIVACIDAD
   Página independiente:
   - Diseño tipo tarjeta institucional.
   - Sidebar Idioma / Información al lado derecho.
   - Sin breadcrumb ni líneas verticales heredadas.
   - Compatible con HTML limpio .turing-privacy y con el párrafo nativo de OJS.
========================================================= */

/* Privacidad: detecta la página por el HTML limpio o por el enlace de la política. */
body:not(.pkp_op_submissions):not(:has(.page_submissions)):has(.turing-privacy) :is(
  .cmp_breadcrumbs,
  .breadcrumbs,
  .pkp_breadcrumbs,
  .breadcrumb,
  nav[aria-label="breadcrumb"]
),
body:not(.pkp_op_submissions):not(:has(.page_submissions)):has(a[href*="res_2016-432.pdf"]) :is(
  .cmp_breadcrumbs,
  .breadcrumbs,
  .pkp_breadcrumbs,
  .breadcrumb,
  nav[aria-label="breadcrumb"]
){
  display:none!important;
  visibility:hidden!important;
  height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
}

/* Privacidad: elimina líneas grises verticales heredadas del tema. */
body:not(.pkp_op_submissions):not(:has(.page_submissions)):has(.turing-privacy) :is(
  .pkp_structure_page,
  .pkp_structure_body,
  .pkp_structure_content,
  .pkp_structure_main,
  .pkp_structure_sidebar,
  .page
),
body:not(.pkp_op_submissions):not(:has(.page_submissions)):has(a[href*="res_2016-432.pdf"]) :is(
  .pkp_structure_page,
  .pkp_structure_body,
  .pkp_structure_content,
  .pkp_structure_main,
  .pkp_structure_sidebar,
  .page
){
  border-left:0!important;
  border-right:0!important;
  outline:0!important;
}

/* Privacidad: elimina pseudo-separadores verticales heredados. */
body:not(.pkp_op_submissions):not(:has(.page_submissions)):has(.turing-privacy) :is(
  .pkp_structure_page,
  .pkp_structure_body,
  .pkp_structure_content,
  .pkp_structure_main,
  .pkp_structure_sidebar,
  .page
)::before,
body:not(.pkp_op_submissions):not(:has(.page_submissions)):has(.turing-privacy) :is(
  .pkp_structure_page,
  .pkp_structure_body,
  .pkp_structure_content,
  .pkp_structure_main,
  .pkp_structure_sidebar,
  .page
)::after,
body:not(.pkp_op_submissions):not(:has(.page_submissions)):has(a[href*="res_2016-432.pdf"]) :is(
  .pkp_structure_page,
  .pkp_structure_body,
  .pkp_structure_content,
  .pkp_structure_main,
  .pkp_structure_sidebar,
  .page
)::before,
body:not(.pkp_op_submissions):not(:has(.page_submissions)):has(a[href*="res_2016-432.pdf"]) :is(
  .pkp_structure_page,
  .pkp_structure_body,
  .pkp_structure_content,
  .pkp_structure_main,
  .pkp_structure_sidebar,
  .page
)::after{
  display:none!important;
  content:none!important;
  border:0!important;
  box-shadow:none!important;
  background:none!important;
}

/* Privacidad: layout principal con sidebar derecho como en Home. */
body:not(.pkp_op_submissions):not(:has(.page_submissions)):has(.turing-privacy) .pkp_structure_content,
body:not(.pkp_op_submissions):not(:has(.page_submissions)):has(a[href*="res_2016-432.pdf"]) .pkp_structure_content{
  width:100%!important;
  max-width:none!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:24px!important;
  margin:0!important;
  padding:30px clamp(26px,3.2vw,62px) 60px!important;
  background:#fff!important;
  box-sizing:border-box!important;
}

/* Privacidad: columna principal. */
body:not(.pkp_op_submissions):not(:has(.page_submissions)):has(.turing-privacy) .pkp_structure_main,
body:not(.pkp_op_submissions):not(:has(.page_submissions)):has(a[href*="res_2016-432.pdf"]) .pkp_structure_main{
  flex:1 1 auto!important;
  width:auto!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  background:#fff!important;
  box-sizing:border-box!important;
}

/* Privacidad: sidebar Idioma / Información a la derecha. */
body:not(.pkp_op_submissions):not(:has(.page_submissions)):has(.turing-privacy) .pkp_structure_sidebar,
body:not(.pkp_op_submissions):not(:has(.page_submissions)):has(a[href*="res_2016-432.pdf"]) .pkp_structure_sidebar{
  flex:0 0 clamp(280px,22vw,360px)!important;
  width:clamp(280px,22vw,360px)!important;
  max-width:360px!important;
  min-width:280px!important;
  margin:0!important;
  padding:0!important;
  background:#fff!important;
  box-sizing:border-box!important;
}

/* Privacidad: limpia caja nativa page de OJS. */
body:not(.pkp_op_submissions):not(:has(.page_submissions)):has(.turing-privacy) .page,
body:not(.pkp_op_submissions):not(:has(.page_submissions)):has(a[href*="res_2016-432.pdf"]) .page{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}

/* Privacidad: oculta el título nativo que OJS coloca por defecto. */
body:not(.pkp_op_submissions):not(:has(.page_submissions)):has(.turing-privacy) .page>h1,
body:not(.pkp_op_submissions):not(:has(.page_submissions)):has(.turing-privacy) .page>h1:first-child,
body:not(.pkp_op_submissions):not(:has(.page_submissions)):has(.turing-privacy) .page .page_title,
body:not(.pkp_op_submissions):not(:has(.page_submissions)):has(a[href*="res_2016-432.pdf"]) .page>h1,
body:not(.pkp_op_submissions):not(:has(.page_submissions)):has(a[href*="res_2016-432.pdf"]) .page>h1:first-child,
body:not(.pkp_op_submissions):not(:has(.page_submissions)):has(a[href*="res_2016-432.pdf"]) .page .page_title,
.page:has(.turing-privacy)>h1,
.page:has(.turing-privacy)>h1:first-child,
.page:has(.turing-privacy) .page_title,
.page:has(a[href*="res_2016-432.pdf"])>h1,
.page:has(a[href*="res_2016-432.pdf"])>h1:first-child,
.page:has(a[href*="res_2016-432.pdf"]) .page_title,
.pkp_structure_main:has(.turing-privacy)>.page>h1,
.pkp_structure_main:has(a[href*="res_2016-432.pdf"])>.page>h1{
  position:absolute!important;
  left:-9999px!important;
  top:auto!important;
  width:1px!important;
  height:1px!important;
  min-width:1px!important;
  min-height:1px!important;
  max-width:1px!important;
  max-height:1px!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  clip-path:inset(50%)!important;
  white-space:nowrap!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  opacity:0!important;
}

/* Privacidad: contenedor principal del HTML limpio. */
.turing-privacy{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  color:#2a2f36!important;
  font-family:Arial,Helvetica,sans-serif!important;
  box-sizing:border-box!important;
}

/* Privacidad: hero institucional. */
.turing-privacy-hero{
  position:relative!important;
  overflow:hidden!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 130px!important;
  gap:28px!important;
  align-items:center!important;
  width:100%!important;
  min-height:230px!important;
  margin:0 0 24px!important;
  padding:34px clamp(24px,3.6vw,48px)!important;
  background:linear-gradient(135deg,#fff 0%,#fff 72%,#fbf7f7 100%)!important;
  border:var(--border-soft)!important;
  border-left:6px solid var(--ud-red)!important;
  border-radius:10px!important;
  box-shadow:var(--shadow-card)!important;
  box-sizing:border-box!important;
}

/* Privacidad: patrón decorativo. */
.turing-privacy-hero::before{
  content:""!important;
  position:absolute!important;
  inset:0 auto 0 0!important;
  width:120px!important;
  opacity:.15!important;
  pointer-events:none!important;
  background-image:radial-gradient(rgba(140,25,25,.34) 1px,transparent 1px)!important;
  background-size:12px 12px!important;
}

/* Privacidad: líneas amarillas decorativas. */
.turing-privacy-hero::after{
  content:""!important;
  position:absolute!important;
  left:-20px!important;
  bottom:20px!important;
  width:110px!important;
  height:110px!important;
  opacity:.35!important;
  pointer-events:none!important;
  background:
    linear-gradient(45deg,transparent 42%,var(--ud-yellow) 43%,var(--ud-yellow) 45%,transparent 46%),
    linear-gradient(45deg,transparent 56%,var(--ud-yellow) 57%,var(--ud-yellow) 59%,transparent 60%)!important;
}

/* Privacidad: texto del hero. */
.turing-privacy-hero-text{
  position:relative!important;
  z-index:2!important;
}

/* Privacidad: etiqueta superior. */
.turing-privacy-kicker{
  display:inline-flex!important;
  align-items:center!important;
  min-height:28px!important;
  margin:0 0 14px!important;
  padding:5px 12px!important;
  color:var(--ud-red)!important;
  background:#fff8df!important;
  border:1px solid rgba(240,195,0,.45)!important;
  border-radius:999px!important;
  font-size:13px!important;
  font-weight:800!important;
  letter-spacing:.04em!important;
  text-transform:uppercase!important;
}

/* Privacidad: título interno. */
.turing-privacy h1{
  margin:0 0 16px!important;
  color:var(--ud-red)!important;
  font-size:clamp(34px,4vw,52px)!important;
  font-weight:900!important;
  line-height:1.05!important;
}

/* Privacidad: entradilla. */
.turing-privacy-hero p{
  max-width:780px!important;
  margin:0!important;
  color:#343a42!important;
  font-size:17px!important;
  font-weight:650!important;
  line-height:1.65!important;
  text-align:left!important;
}

/* Privacidad: ícono lateral. */
.turing-privacy-icon{
  position:relative!important;
  z-index:2!important;
  width:118px!important;
  height:118px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  justify-self:end!important;
  color:var(--ud-red)!important;
  background:#fff!important;
  border:var(--border-soft)!important;
  border-radius:50%!important;
  box-shadow:0 10px 24px rgba(0,0,0,.10)!important;
  font-size:48px!important;
  font-weight:900!important;
  line-height:1!important;
}

/* Privacidad: tarjeta principal. */
.turing-privacy-card,
body:not(.pkp_op_submissions):not(:has(.page_submissions)):has(a[href*="res_2016-432.pdf"]) .page>p{
  position:relative!important;
  width:100%!important;
  max-width:none!important;
  margin:0 0 24px!important;
  padding:30px clamp(22px,3vw,36px)!important;
  color:#3f4650!important;
  background:#fff!important;
  border:var(--border-soft)!important;
  border-left:5px solid var(--ud-red)!important;
  border-radius:10px!important;
  box-shadow:var(--shadow-soft)!important;
  box-sizing:border-box!important;
  font-size:15.5px!important;
  line-height:1.78!important;
  text-align:justify!important;
}

/* Privacidad: párrafos dentro de la tarjeta limpia. */
.turing-privacy-card p{
  margin:0 0 14px!important;
  color:#3f4650!important;
  font-size:15.5px!important;
  line-height:1.78!important;
  text-align:justify!important;
}

/* Privacidad: último párrafo sin margen inferior. */
.turing-privacy-card p:last-child{
  margin-bottom:0!important;
}

/* Privacidad: resalta el nombre de la revista. */
.turing-privacy strong,
body:not(.pkp_op_submissions):not(:has(.page_submissions)):has(a[href*="res_2016-432.pdf"]) .page>p strong{
  color:var(--ud-red)!important;
  font-weight:900!important;
}

/* Privacidad: enlace institucional a la política de datos. */
.turing-privacy a,
body:not(.pkp_op_submissions):not(:has(.page_submissions)):has(a[href*="res_2016-432.pdf"]) .page>p a{
  color:var(--ud-red)!important;
  font-weight:850!important;
  text-decoration:none!important;
  border-bottom:2px solid var(--ud-yellow)!important;
  transition:color .22s ease,border-color .22s ease!important;
}

/* Privacidad: hover del enlace. */
.turing-privacy a:is(:hover,:focus),
body:not(.pkp_op_submissions):not(:has(.page_submissions)):has(a[href*="res_2016-432.pdf"]) .page>p a:is(:hover,:focus){
  color:var(--ud-red-dark)!important;
  border-bottom-color:var(--ud-red)!important;
}

/* Privacidad: bloque de nota inferior. */
.turing-privacy-note{
  display:flex!important;
  align-items:flex-start!important;
  gap:14px!important;
  margin:0 0 24px!important;
  padding:18px 20px!important;
  color:#4b525b!important;
  background:#fbf8f8!important;
  border:1px solid rgba(140,25,25,.12)!important;
  border-radius:8px!important;
  box-shadow:var(--shadow-soft)!important;
}

/* Privacidad: marcador de nota. */
.turing-privacy-note::before{
  content:"i"!important;
  flex:0 0 28px!important;
  width:28px!important;
  height:28px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  color:#fff!important;
  background:var(--ud-red)!important;
  border-radius:50%!important;
  font-size:16px!important;
  font-weight:900!important;
  line-height:1!important;
}

/* Privacidad: texto de nota. */
.turing-privacy-note p{
  margin:0!important;
  color:#4b525b!important;
  font-size:14.5px!important;
  line-height:1.6!important;
}

/* Privacidad: sidebar con tarjetas como Home. */
body:not(.pkp_op_submissions):not(:has(.page_submissions)):has(.turing-privacy) .pkp_structure_sidebar .pkp_block,
body:not(.pkp_op_submissions):not(:has(.page_submissions)):has(a[href*="res_2016-432.pdf"]) .pkp_structure_sidebar .pkp_block{
  width:100%!important;
  margin:0 0 18px!important;
  padding:24px 26px!important;
  background:#fff!important;
  border:var(--border-soft)!important;
  border-radius:8px!important;
  box-shadow:var(--shadow-soft)!important;
  box-sizing:border-box!important;
}

/* Privacidad: títulos del sidebar. */
body:not(.pkp_op_submissions):not(:has(.page_submissions)):has(.turing-privacy) .pkp_structure_sidebar .pkp_block :is(.title,h2,h3),
body:not(.pkp_op_submissions):not(:has(.page_submissions)):has(a[href*="res_2016-432.pdf"]) .pkp_structure_sidebar .pkp_block :is(.title,h2,h3){
  position:relative!important;
  margin:0 0 22px!important;
  padding:0 0 12px!important;
  color:#262a31!important;
  font-size:20px!important;
  font-weight:850!important;
  letter-spacing:.03em!important;
  text-transform:uppercase!important;
}

/* Privacidad: línea amarilla del sidebar. */
body:not(.pkp_op_submissions):not(:has(.page_submissions)):has(.turing-privacy) .pkp_structure_sidebar .pkp_block :is(.title,h2,h3)::after,
body:not(.pkp_op_submissions):not(:has(.page_submissions)):has(a[href*="res_2016-432.pdf"]) .pkp_structure_sidebar .pkp_block :is(.title,h2,h3)::after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  bottom:0!important;
  width:36px!important;
  height:2px!important;
  background:var(--ud-yellow)!important;
}

/* Privacidad: listas del sidebar. */
body:not(.pkp_op_submissions):not(:has(.page_submissions)):has(.turing-privacy) .pkp_structure_sidebar .pkp_block ul,
body:not(.pkp_op_submissions):not(:has(.page_submissions)):has(a[href*="res_2016-432.pdf"]) .pkp_structure_sidebar .pkp_block ul{
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}

/* Privacidad: ítems del sidebar. */
body:not(.pkp_op_submissions):not(:has(.page_submissions)):has(.turing-privacy) .pkp_structure_sidebar .pkp_block li,
body:not(.pkp_op_submissions):not(:has(.page_submissions)):has(a[href*="res_2016-432.pdf"]) .pkp_structure_sidebar .pkp_block li{
  margin:0!important;
  padding:0!important;
  border-bottom:1px solid rgba(0,0,0,.08)!important;
}

/* Privacidad: último ítem sin separador. */
body:not(.pkp_op_submissions):not(:has(.page_submissions)):has(.turing-privacy) .pkp_structure_sidebar .pkp_block li:last-child,
body:not(.pkp_op_submissions):not(:has(.page_submissions)):has(a[href*="res_2016-432.pdf"]) .pkp_structure_sidebar .pkp_block li:last-child{
  border-bottom:0!important;
}

/* Privacidad: enlaces del sidebar. */
body:not(.pkp_op_submissions):not(:has(.page_submissions)):has(.turing-privacy) .pkp_structure_sidebar .pkp_block a,
body:not(.pkp_op_submissions):not(:has(.page_submissions)):has(a[href*="res_2016-432.pdf"]) .pkp_structure_sidebar .pkp_block a{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  padding:12px 0!important;
  color:#4d535b!important;
  font-size:15px!important;
  font-weight:650!important;
  text-decoration:none!important;
}

/* Privacidad: flecha del sidebar. */
body:not(.pkp_op_submissions):not(:has(.page_submissions)):has(.turing-privacy) .pkp_structure_sidebar .pkp_block a::after,
body:not(.pkp_op_submissions):not(:has(.page_submissions)):has(a[href*="res_2016-432.pdf"]) .pkp_structure_sidebar .pkp_block a::after{
  content:"›"!important;
  color:#9aa0a8!important;
  font-size:26px!important;
  line-height:1!important;
}

/* Privacidad: hover del sidebar. */
body:not(.pkp_op_submissions):not(:has(.page_submissions)):has(.turing-privacy) .pkp_structure_sidebar .pkp_block a:is(:hover,:focus),
body:not(.pkp_op_submissions):not(:has(.page_submissions)):has(a[href*="res_2016-432.pdf"]) .pkp_structure_sidebar .pkp_block a:is(:hover,:focus){
  color:var(--ud-red)!important;
}

/* Privacidad responsive: tablet. */
@media(max-width:900px){
  body:not(.pkp_op_submissions):not(:has(.page_submissions)):has(.turing-privacy) .pkp_structure_content,
  body:not(.pkp_op_submissions):not(:has(.page_submissions)):has(a[href*="res_2016-432.pdf"]) .pkp_structure_content{
    display:block!important;
    padding:20px 14px 45px!important;
  }

  body:not(.pkp_op_submissions):not(:has(.page_submissions)):has(.turing-privacy) .pkp_structure_sidebar,
  body:not(.pkp_op_submissions):not(:has(.page_submissions)):has(a[href*="res_2016-432.pdf"]) .pkp_structure_sidebar{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin-top:20px!important;
  }

  .turing-privacy-hero{
    grid-template-columns:1fr!important;
    min-height:0!important;
  }

  .turing-privacy-icon{
    justify-self:start!important;
    width:96px!important;
    height:96px!important;
    font-size:40px!important;
  }
}

/* Privacidad responsive: celular. */
@media(max-width:640px){
  .turing-privacy-hero{
    padding:26px 20px!important;
    border-left-width:4px!important;
  }

  .turing-privacy h1{
    font-size:30px!important;
  }

  .turing-privacy-hero p{
    font-size:15.5px!important;
    line-height:1.65!important;
  }

  .turing-privacy-card,
  body:not(.pkp_op_submissions):not(:has(.page_submissions)):has(a[href*="res_2016-432.pdf"]) .page>p{
    padding:24px 20px!important;
  }
}

/* =========================================================
   2.8 CONTACTO
   Página independiente:
   - Diseño aplicado al HTML nativo de OJS.
   - No requiere insertar HTML personalizado.
   - Oculta el título nativo "Contacto" que OJS agrega por defecto.
   - Presenta Contacto principal y Contacto de soporte en una tarjeta amplia.
   - Sidebar Idioma / Información al lado derecho.
   - Sin breadcrumb ni líneas verticales heredadas.
========================================================= */

/* Contacto: oculta breadcrumb/ruta superior. */
body.pkp_page_about.pkp_op_contact :is(
  .cmp_breadcrumbs,
  .breadcrumbs,
  .pkp_breadcrumbs,
  .breadcrumb,
  nav[aria-label="breadcrumb"]
),
body.pkp_op_contact :is(
  .cmp_breadcrumbs,
  .breadcrumbs,
  .pkp_breadcrumbs,
  .breadcrumb,
  nav[aria-label="breadcrumb"]
),
body:has(.page_contact) :is(
  .cmp_breadcrumbs,
  .breadcrumbs,
  .pkp_breadcrumbs,
  .breadcrumb,
  nav[aria-label="breadcrumb"]
){
  display:none!important;
  visibility:hidden!important;
  height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
}

/* Contacto: elimina líneas verticales heredadas del tema. */
body.pkp_page_about.pkp_op_contact :is(
  .pkp_structure_page,
  .pkp_structure_body,
  .pkp_structure_content,
  .pkp_structure_main,
  .pkp_structure_sidebar,
  .page
),
body.pkp_op_contact :is(
  .pkp_structure_page,
  .pkp_structure_body,
  .pkp_structure_content,
  .pkp_structure_main,
  .pkp_structure_sidebar,
  .page
),
body:has(.page_contact) :is(
  .pkp_structure_page,
  .pkp_structure_body,
  .pkp_structure_content,
  .pkp_structure_main,
  .pkp_structure_sidebar,
  .page
){
  border-left:0!important;
  border-right:0!important;
  outline:0!important;
}

/* Contacto: elimina pseudo-separadores verticales heredados. */
body.pkp_op_contact :is(
  .pkp_structure_page,
  .pkp_structure_body,
  .pkp_structure_content,
  .pkp_structure_main,
  .pkp_structure_sidebar,
  .page
)::before,
body.pkp_op_contact :is(
  .pkp_structure_page,
  .pkp_structure_body,
  .pkp_structure_content,
  .pkp_structure_main,
  .pkp_structure_sidebar,
  .page
)::after,
body:has(.page_contact) :is(
  .pkp_structure_page,
  .pkp_structure_body,
  .pkp_structure_content,
  .pkp_structure_main,
  .pkp_structure_sidebar,
  .page
)::before,
body:has(.page_contact) :is(
  .pkp_structure_page,
  .pkp_structure_body,
  .pkp_structure_content,
  .pkp_structure_main,
  .pkp_structure_sidebar,
  .page
)::after{
  display:none!important;
  content:none!important;
  border:0!important;
  box-shadow:none!important;
  background:none!important;
}

/* Contacto: layout principal con sidebar derecho. */
body.pkp_page_about.pkp_op_contact .pkp_structure_content,
body.pkp_op_contact .pkp_structure_content,
body:has(.page_contact) .pkp_structure_content{
  width:100%!important;
  max-width:none!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:24px!important;
  margin:0!important;
  padding:30px clamp(26px,3.2vw,62px) 60px!important;
  background:#fff!important;
  box-sizing:border-box!important;
}

/* Contacto: columna principal. */
body.pkp_page_about.pkp_op_contact .pkp_structure_main,
body.pkp_op_contact .pkp_structure_main,
body:has(.page_contact) .pkp_structure_main{
  flex:1 1 auto!important;
  width:auto!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  background:#fff!important;
  box-sizing:border-box!important;
}

/* Contacto: sidebar Idioma / Información. */
body.pkp_page_about.pkp_op_contact .pkp_structure_sidebar,
body.pkp_op_contact .pkp_structure_sidebar,
body:has(.page_contact) .pkp_structure_sidebar{
  flex:0 0 clamp(280px,22vw,360px)!important;
  width:clamp(280px,22vw,360px)!important;
  max-width:360px!important;
  min-width:280px!important;
  margin:0!important;
  padding:0!important;
  background:#fff!important;
  box-sizing:border-box!important;
}

/* Contacto: limpia la caja nativa page de OJS. */
body.pkp_page_about.pkp_op_contact .page,
body.pkp_op_contact .page,
body:has(.page_contact) .page,
.page_contact{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  box-sizing:border-box!important;
}

/* Contacto: estructura general de la página. */
.page_contact,
body.pkp_op_contact .page,
body:has(.page_contact) .page{
  display:block!important;
}

/* Contacto: oculta el título nativo que OJS agrega por defecto. */
body.pkp_page_about.pkp_op_contact .page>h1:first-child,
body.pkp_op_contact .page>h1:first-child,
body:has(.page_contact) .page>h1:first-child,
.page_contact>h1:first-child{
  position:absolute!important;
  left:-9999px!important;
  top:auto!important;
  width:1px!important;
  height:1px!important;
  min-width:1px!important;
  min-height:1px!important;
  max-width:1px!important;
  max-height:1px!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  clip-path:inset(50%)!important;
  white-space:nowrap!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  opacity:0!important;
}

/* Contacto: enlace de edición discreto. */
body.pkp_op_contact .page>a[id^="edit-"],
body:has(.page_contact) .page>a[id^="edit-"],
.page_contact>a[id^="edit-"],
body.pkp_op_contact .page .pkp_helpers_align_right,
body:has(.page_contact) .page .pkp_helpers_align_right,
.page_contact .pkp_helpers_align_right{
  display:flex!important;
  justify-content:flex-end!important;
  margin:0 0 10px!important;
  color:#007ab2!important;
  font-size:13px!important;
  font-weight:700!important;
  text-decoration:none!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}

/* Contacto: tarjeta principal amplia para los contactos nativos. */
.page_contact .contact_section,
body.pkp_op_contact .page .contact_section,
body:has(.page_contact) .page .contact_section{
  position:relative!important;
  overflow:hidden!important;
  width:100%!important;
  max-width:none!important;
  min-height:330px!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:32px!important;
  align-items:start!important;
  margin:0 0 24px!important;
  padding:96px clamp(28px,3.4vw,46px) 34px!important;
  color:#3f4650!important;
  background:linear-gradient(135deg,#fff 0%,#fff 72%,#fbf7f7 100%)!important;
  border:var(--border-soft)!important;
  border-left:6px solid var(--ud-red)!important;
  border-radius:10px!important;
  box-shadow:var(--shadow-card)!important;
  box-sizing:border-box!important;
}

/* Contacto: etiqueta superior de la tarjeta. */
.page_contact .contact_section::before,
body.pkp_op_contact .page .contact_section::before,
body:has(.page_contact) .page .contact_section::before{
  content:"Comunicación editorial"!important;
  position:absolute!important;
  left:clamp(28px,3.4vw,46px)!important;
  top:34px!important;
  width:auto!important;
  height:28px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:5px 12px!important;
  color:var(--ud-red)!important;
  background:#fff8df!important;
  border:1px solid rgba(240,195,0,.45)!important;
  border-radius:999px!important;
  box-shadow:none!important;
  font-size:13px!important;
  font-weight:800!important;
  letter-spacing:.04em!important;
  line-height:1.2!important;
  text-transform:uppercase!important;
}

/* Contacto: patrón decorativo lateral. */
.page_contact .contact_section::after,
body.pkp_op_contact .page .contact_section::after,
body:has(.page_contact) .page .contact_section::after{
  content:""!important;
  position:absolute!important;
  inset:0 auto 0 0!important;
  width:120px!important;
  opacity:.15!important;
  pointer-events:none!important;
  background-image:radial-gradient(rgba(140,25,25,.34) 1px,transparent 1px)!important;
  background-size:12px 12px!important;
}

/* Contacto: si OJS imprime bloques internos, se organizan como columnas. */
.page_contact .contact_section>*,
body.pkp_op_contact .page .contact_section>*,
body:has(.page_contact) .page .contact_section>*{
  position:relative!important;
  z-index:2!important;
}

/* Contacto: títulos de tarjetas internas sin salto de línea. */
.page_contact .contact_section h2,
body.pkp_op_contact .page .contact_section h2,
body:has(.page_contact) .page .contact_section h2{
  position:relative!important;
  max-width:100%!important;
  margin:0 0 18px!important;
  padding:0 0 12px!important;
  color:var(--ud-red)!important;
  font-size:clamp(20px,1.9vw,26px)!important;
  font-weight:900!important;
  line-height:1.12!important;
  white-space:nowrap!important;
}

/* Contacto: línea amarilla bajo títulos de tarjetas. */
.page_contact .contact_section h2::after,
body.pkp_op_contact .page .contact_section h2::after,
body:has(.page_contact) .page .contact_section h2::after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  bottom:0!important;
  width:56px!important;
  height:3px!important;
  background:var(--ud-yellow)!important;
}

/* Contacto: texto general dentro de tarjetas. */
.page_contact .contact_section p,
body.pkp_op_contact .page .contact_section p,
body:has(.page_contact) .page .contact_section p{
  max-width:520px!important;
  margin:0 0 12px!important;
  color:#3f4650!important;
  font-size:15.5px!important;
  line-height:1.75!important;
}

/* Contacto: nombre del contacto destacado. */
.page_contact .contact_section p:first-of-type,
body.pkp_op_contact .page .contact_section p:first-of-type,
body:has(.page_contact) .page .contact_section p:first-of-type{
  color:#252a31!important;
  font-weight:750!important;
}

/* Contacto: correo en estilo limpio, sin salto de línea. */
.page_contact .contact_section a[href^="mailto:"],
body.pkp_op_contact .page .contact_section a[href^="mailto:"],
body:has(.page_contact) .page .contact_section a[href^="mailto:"],
.page_contact .contact_section a[href*="@"],
body.pkp_op_contact .page .contact_section a[href*="@"],
body:has(.page_contact) .page .contact_section a[href*="@"]{
  display:inline-flex!important;
  align-items:center!important;
  width:auto!important;
  max-width:none!important;
  min-height:36px!important;
  margin-top:8px!important;
  padding:0 14px!important;
  color:var(--ud-red)!important;
  background:#fff8df!important;
  border:1px solid rgba(240,195,0,.45)!important;
  border-radius:4px!important;
  font-size:13.5px!important;
  font-weight:850!important;
  line-height:1.2!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}

/* Contacto: hover de correo. */
.page_contact .contact_section a[href^="mailto:"]:is(:hover,:focus),
body.pkp_op_contact .page .contact_section a[href^="mailto:"]:is(:hover,:focus),
body:has(.page_contact) .page .contact_section a[href^="mailto:"]:is(:hover,:focus),
.page_contact .contact_section a[href*="@"]:is(:hover,:focus),
body.pkp_op_contact .page .contact_section a[href*="@"]:is(:hover,:focus),
body:has(.page_contact) .page .contact_section a[href*="@"]:is(:hover,:focus){
  color:#fff!important;
  background:var(--ud-red)!important;
  border-color:var(--ud-red)!important;
}

/* Contacto: cualquier contenido adicional ocupa todo el ancho. */
.page_contact>p,
.page_contact>section:not(.contact_section),
.page_contact>article,
body.pkp_op_contact .page>p,
body.pkp_op_contact .page>section:not(.contact_section),
body.pkp_op_contact .page>article,
body:has(.page_contact) .page>p,
body:has(.page_contact) .page>section:not(.contact_section),
body:has(.page_contact) .page>article{
  width:100%!important;
}

/* Contacto: sidebar con tarjetas como Home. */
body.pkp_op_contact .pkp_structure_sidebar .pkp_block,
body:has(.page_contact) .pkp_structure_sidebar .pkp_block{
  width:100%!important;
  margin:0 0 18px!important;
  padding:24px 26px!important;
  background:#fff!important;
  border:var(--border-soft)!important;
  border-radius:8px!important;
  box-shadow:var(--shadow-soft)!important;
  box-sizing:border-box!important;
}

/* Contacto: títulos del sidebar. */
body.pkp_op_contact .pkp_structure_sidebar .pkp_block :is(.title,h2,h3),
body:has(.page_contact) .pkp_structure_sidebar .pkp_block :is(.title,h2,h3){
  position:relative!important;
  margin:0 0 22px!important;
  padding:0 0 12px!important;
  color:#262a31!important;
  font-size:20px!important;
  font-weight:850!important;
  letter-spacing:.03em!important;
  text-transform:uppercase!important;
}

/* Contacto: línea amarilla del sidebar. */
body.pkp_op_contact .pkp_structure_sidebar .pkp_block :is(.title,h2,h3)::after,
body:has(.page_contact) .pkp_structure_sidebar .pkp_block :is(.title,h2,h3)::after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  bottom:0!important;
  width:36px!important;
  height:2px!important;
  background:var(--ud-yellow)!important;
}

/* Contacto: listas del sidebar. */
body.pkp_op_contact .pkp_structure_sidebar .pkp_block ul,
body:has(.page_contact) .pkp_structure_sidebar .pkp_block ul{
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}

/* Contacto: ítems del sidebar. */
body.pkp_op_contact .pkp_structure_sidebar .pkp_block li,
body:has(.page_contact) .pkp_structure_sidebar .pkp_block li{
  margin:0!important;
  padding:0!important;
  border-bottom:1px solid rgba(0,0,0,.08)!important;
}

/* Contacto: último ítem sin línea. */
body.pkp_op_contact .pkp_structure_sidebar .pkp_block li:last-child,
body:has(.page_contact) .pkp_structure_sidebar .pkp_block li:last-child{
  border-bottom:0!important;
}

/* Contacto: enlaces del sidebar. */
body.pkp_op_contact .pkp_structure_sidebar .pkp_block a,
body:has(.page_contact) .pkp_structure_sidebar .pkp_block a{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  padding:12px 0!important;
  color:#4d535b!important;
  font-size:15px!important;
  font-weight:650!important;
  text-decoration:none!important;
}

/* Contacto: flecha del sidebar. */
body.pkp_op_contact .pkp_structure_sidebar .pkp_block a::after,
body:has(.page_contact) .pkp_structure_sidebar .pkp_block a::after{
  content:"›"!important;
  color:#9aa0a8!important;
  font-size:26px!important;
  line-height:1!important;
}

/* Contacto: hover del sidebar. */
body.pkp_op_contact .pkp_structure_sidebar .pkp_block a:is(:hover,:focus),
body:has(.page_contact) .pkp_structure_sidebar .pkp_block a:is(:hover,:focus){
  color:var(--ud-red)!important;
}

/* Contacto responsive: tablet. */
@media(max-width:900px){
  body.pkp_op_contact .pkp_structure_content,
  body:has(.page_contact) .pkp_structure_content{
    display:block!important;
    padding:20px 14px 45px!important;
  }

  body.pkp_op_contact .pkp_structure_sidebar,
  body:has(.page_contact) .pkp_structure_sidebar{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin-top:20px!important;
  }

  .page_contact .contact_section,
  body.pkp_op_contact .page .contact_section,
  body:has(.page_contact) .page .contact_section{
    grid-template-columns:1fr!important;
    min-height:0!important;
  }
}

/* Contacto responsive: celular. */
@media(max-width:640px){
  .page_contact .contact_section,
  body.pkp_op_contact .page .contact_section,
  body:has(.page_contact) .page .contact_section{
    padding:88px 20px 28px!important;
    border-left-width:4px!important;
  }

  .page_contact .contact_section::before,
  body.pkp_op_contact .page .contact_section::before,
  body:has(.page_contact) .page .contact_section::before{
    left:20px!important;
    top:28px!important;
  }

  .page_contact .contact_section h2,
  body.pkp_op_contact .page .contact_section h2,
  body:has(.page_contact) .page .contact_section h2{
    font-size:28px!important;
  }
}


/* =========================================================
   2.9 BÚSQUEDA / LOGIN / REGISTRO
   Páginas independientes. Pendiente de ajustar.
========================================================= */

/* =========================================================
   2.10 INFORMACIÓN
   Página independiente:
   - Contenedor general para páginas de información.
   - 2.10.1 Para lectores/as
   - 2.10.2 Para autores/as
   - 2.10.3 Para bibliotecarios/as
   - Sidebar Idioma / Información al lado derecho.
   - Sin breadcrumb ni líneas verticales heredadas.
========================================================= */

/* Información: oculta breadcrumb si se usa el HTML limpio. */
body:has(.turing-info) :is(
  .cmp_breadcrumbs,
  .breadcrumbs,
  .pkp_breadcrumbs,
  .breadcrumb,
  nav[aria-label="breadcrumb"]
){
  display:none!important;
  visibility:hidden!important;
  height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
}

/* Información: elimina líneas verticales grises heredadas del tema. */
body:has(.turing-info) :is(
  .pkp_structure_page,
  .pkp_structure_body,
  .pkp_structure_content,
  .pkp_structure_main,
  .pkp_structure_sidebar,
  .page
){
  border-left:0!important;
  border-right:0!important;
  outline:0!important;
}

/* Información: elimina pseudo-separadores heredados. */
body:has(.turing-info) :is(
  .pkp_structure_page,
  .pkp_structure_body,
  .pkp_structure_content,
  .pkp_structure_main,
  .pkp_structure_sidebar,
  .page
)::before,
body:has(.turing-info) :is(
  .pkp_structure_page,
  .pkp_structure_body,
  .pkp_structure_content,
  .pkp_structure_main,
  .pkp_structure_sidebar,
  .page
)::after{
  display:none!important;
  content:none!important;
  border:0!important;
  box-shadow:none!important;
  background:none!important;
}

/* Información: layout principal con sidebar derecho como en Home. */
body:has(.turing-info) .pkp_structure_content{
  width:100%!important;
  max-width:none!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:24px!important;
  margin:0!important;
  padding:30px clamp(26px,3.2vw,62px) 60px!important;
  background:#fff!important;
  box-sizing:border-box!important;
}

/* Información: columna principal. */
body:has(.turing-info) .pkp_structure_main{
  flex:1 1 auto!important;
  width:auto!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  background:#fff!important;
  box-sizing:border-box!important;
}

/* Información: sidebar Idioma / Información a la derecha. */
body:has(.turing-info) .pkp_structure_sidebar{
  flex:0 0 clamp(280px,22vw,360px)!important;
  width:clamp(280px,22vw,360px)!important;
  max-width:360px!important;
  min-width:280px!important;
  margin:0!important;
  padding:0!important;
  background:#fff!important;
  box-sizing:border-box!important;
}

/* Información: limpia la caja nativa page de OJS. */
body:has(.turing-info) .page{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}

/* Información: oculta el título nativo que OJS coloca por defecto. */
body:has(.turing-info) .page>h1,
body:has(.turing-info) .page>h1:first-child,
body:has(.turing-info) .page .page_title,
.page:has(.turing-info)>h1,
.page:has(.turing-info)>h1:first-child,
.page:has(.turing-info) .page_title,
.pkp_structure_main:has(.turing-info)>.page>h1,
.pkp_structure_main:has(.turing-info)>.page>h1:first-child{
  position:absolute!important;
  left:-9999px!important;
  top:auto!important;
  width:1px!important;
  height:1px!important;
  min-width:1px!important;
  min-height:1px!important;
  max-width:1px!important;
  max-height:1px!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  clip-path:inset(50%)!important;
  white-space:nowrap!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  opacity:0!important;
}

/* Información: contenedor general del HTML limpio. */
.turing-info{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  color:#2a2f36!important;
  font-family:Arial,Helvetica,sans-serif!important;
  box-sizing:border-box!important;
}

/* Información: hero institucional común. */
.turing-info-hero{
  position:relative!important;
  overflow:hidden!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 130px!important;
  gap:28px!important;
  align-items:center!important;
  width:100%!important;
  min-height:230px!important;
  margin:0 0 24px!important;
  padding:34px clamp(24px,3.6vw,48px)!important;
  background:linear-gradient(135deg,#fff 0%,#fff 72%,#fbf7f7 100%)!important;
  border:var(--border-soft)!important;
  border-left:6px solid var(--ud-red)!important;
  border-radius:10px!important;
  box-shadow:var(--shadow-card)!important;
  box-sizing:border-box!important;
}

/* Información: patrón decorativo del hero. */
.turing-info-hero::before{
  content:""!important;
  position:absolute!important;
  inset:0 auto 0 0!important;
  width:120px!important;
  opacity:.15!important;
  pointer-events:none!important;
  background-image:radial-gradient(rgba(140,25,25,.34) 1px,transparent 1px)!important;
  background-size:12px 12px!important;
}

/* Información: líneas amarillas decorativas del hero. */
.turing-info-hero::after{
  content:""!important;
  position:absolute!important;
  left:-20px!important;
  bottom:20px!important;
  width:110px!important;
  height:110px!important;
  opacity:.35!important;
  pointer-events:none!important;
  background:
    linear-gradient(45deg,transparent 42%,var(--ud-yellow) 43%,var(--ud-yellow) 45%,transparent 46%),
    linear-gradient(45deg,transparent 56%,var(--ud-yellow) 57%,var(--ud-yellow) 59%,transparent 60%)!important;
}

/* Información: texto del hero. */
.turing-info-hero-text{
  position:relative!important;
  z-index:2!important;
}

/* Información: etiqueta superior. */
.turing-info-kicker{
  display:inline-flex!important;
  align-items:center!important;
  min-height:28px!important;
  margin:0 0 14px!important;
  padding:5px 12px!important;
  color:var(--ud-red)!important;
  background:#fff8df!important;
  border:1px solid rgba(240,195,0,.45)!important;
  border-radius:999px!important;
  font-size:13px!important;
  font-weight:800!important;
  letter-spacing:.04em!important;
  text-transform:uppercase!important;
}

/* Información: título principal interno. */
.turing-info h1{
  margin:0 0 16px!important;
  color:var(--ud-red)!important;
  font-size:clamp(34px,4vw,52px)!important;
  font-weight:900!important;
  line-height:1.05!important;
}

/* Información: entradilla del hero. */
.turing-info-hero p{
  max-width:780px!important;
  margin:0!important;
  color:#343a42!important;
  font-size:17px!important;
  font-weight:650!important;
  line-height:1.65!important;
  text-align:left!important;
}

/* Información: ícono lateral. */
.turing-info-icon{
  position:relative!important;
  z-index:2!important;
  width:118px!important;
  height:118px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  justify-self:end!important;
  color:var(--ud-red)!important;
  background:#fff!important;
  border:var(--border-soft)!important;
  border-radius:50%!important;
  box-shadow:0 10px 24px rgba(0,0,0,.10)!important;
  font-size:48px!important;
  font-weight:900!important;
  line-height:1!important;
}

/* Información: tarjeta principal de contenido. */
.turing-info-card{
  position:relative!important;
  width:100%!important;
  max-width:none!important;
  margin:0 0 24px!important;
  padding:30px clamp(22px,3vw,36px)!important;
  color:#3f4650!important;
  background:#fff!important;
  border:var(--border-soft)!important;
  border-left:5px solid var(--ud-red)!important;
  border-radius:10px!important;
  box-shadow:var(--shadow-soft)!important;
  box-sizing:border-box!important;
}

/* Información: títulos internos. */
.turing-info :is(h2,h3){
  position:relative!important;
  margin:0 0 16px!important;
  padding:0 0 12px!important;
  color:var(--ud-red)!important;
  font-size:clamp(22px,2.2vw,28px)!important;
  font-weight:900!important;
  line-height:1.18!important;
}

/* Información: línea amarilla bajo títulos. */
.turing-info :is(h2,h3)::after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  bottom:0!important;
  width:56px!important;
  height:3px!important;
  background:var(--ud-yellow)!important;
}

/* Información: párrafos. */
.turing-info p{
  margin:0 0 14px!important;
  color:#3f4650!important;
  font-size:15.5px!important;
  line-height:1.75!important;
  text-align:justify!important;
}

/* Información: último párrafo sin margen inferior. */
.turing-info p:last-child{
  margin-bottom:0!important;
}

/* Información: grilla de accesos o bloques. */
.turing-info-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:16px!important;
  width:100%!important;
  margin:0 0 24px!important;
  padding:0!important;
}

/* Información: tarjetas pequeñas de acceso. */
.turing-info-mini-card{
  position:relative!important;
  min-height:120px!important;
  padding:22px!important;
  background:#fff!important;
  border:var(--border-soft)!important;
  border-radius:9px!important;
  box-shadow:var(--shadow-soft)!important;
  box-sizing:border-box!important;
}

/* Información: línea lateral en tarjetas pequeñas. */
.turing-info-mini-card::before{
  content:""!important;
  position:absolute!important;
  left:0!important;
  top:0!important;
  bottom:0!important;
  width:4px!important;
  background:var(--ud-red)!important;
  border-radius:9px 0 0 9px!important;
}

/* Información: título de tarjeta pequeña. */
.turing-info-mini-card strong{
  display:block!important;
  margin:0 0 8px!important;
  color:var(--ud-red)!important;
  font-size:18px!important;
  font-weight:900!important;
  line-height:1.25!important;
}

/* Información: texto de tarjeta pequeña. */
.turing-info-mini-card span{
  display:block!important;
  color:#4b525b!important;
  font-size:14.5px!important;
  line-height:1.55!important;
}

/* Información: lista institucional. */
.turing-info-list{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:9px!important;
  margin:14px 0 0!important;
  padding:0!important;
  list-style:none!important;
}

/* Información: ítems de lista. */
.turing-info-list li{
  position:relative!important;
  margin:0!important;
  padding:0 0 0 26px!important;
  color:#3f4650!important;
  font-size:15px!important;
  line-height:1.55!important;
}

/* Información: marcador de lista. */
.turing-info-list li::before{
  content:""!important;
  position:absolute!important;
  left:0!important;
  top:.55em!important;
  width:10px!important;
  height:10px!important;
  background:var(--ud-yellow)!important;
  border:2px solid var(--ud-red)!important;
  border-radius:50%!important;
}

/* =========================================================
   2.10.1 INFORMACIÓN - PARA LECTORES/AS
========================================================= */

/* Lectores: acento visual específico. */
.turing-info-readers .turing-info-icon::before{
  content:"👁"!important;
}

/* Lectores: etiqueta superior. */
.turing-info-readers .turing-info-kicker::after{
  content:"";
}

/* =========================================================
   2.10.2 INFORMACIÓN - PARA AUTORES/AS
========================================================= */

/* Autores: acento visual específico. */
.turing-info-authors .turing-info-icon::before{
  content:"✍"!important;
}

/* Autores: destaca enlaces de envío o normas. */
.turing-info-authors a{
  color:var(--ud-red)!important;
  font-weight:850!important;
  text-decoration:none!important;
  border-bottom:2px solid var(--ud-yellow)!important;
}

/* =========================================================
   2.10.3 INFORMACIÓN - PARA BIBLIOTECARIOS/AS
========================================================= */

/* Bibliotecarios: acento visual específico. */
.turing-info-librarians .turing-info-icon::before{
  content:"▦"!important;
}

/* Bibliotecarios: destaca enlaces institucionales. */
.turing-info-librarians a{
  color:var(--ud-red)!important;
  font-weight:850!important;
  text-decoration:none!important;
  border-bottom:2px solid var(--ud-yellow)!important;
}

/* Información: sidebar con tarjetas como Home. */
body:has(.turing-info) .pkp_structure_sidebar .pkp_block{
  width:100%!important;
  margin:0 0 18px!important;
  padding:24px 26px!important;
  background:#fff!important;
  border:var(--border-soft)!important;
  border-radius:8px!important;
  box-shadow:var(--shadow-soft)!important;
  box-sizing:border-box!important;
}

/* Información: títulos del sidebar. */
body:has(.turing-info) .pkp_structure_sidebar .pkp_block :is(.title,h2,h3){
  position:relative!important;
  margin:0 0 22px!important;
  padding:0 0 12px!important;
  color:#262a31!important;
  font-size:20px!important;
  font-weight:850!important;
  letter-spacing:.03em!important;
  text-transform:uppercase!important;
}

/* Información: línea amarilla del sidebar. */
body:has(.turing-info) .pkp_structure_sidebar .pkp_block :is(.title,h2,h3)::after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  bottom:0!important;
  width:36px!important;
  height:2px!important;
  background:var(--ud-yellow)!important;
}

/* Información: listas del sidebar. */
body:has(.turing-info) .pkp_structure_sidebar .pkp_block ul{
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}

/* Información: ítems del sidebar. */
body:has(.turing-info) .pkp_structure_sidebar .pkp_block li{
  margin:0!important;
  padding:0!important;
  border-bottom:1px solid rgba(0,0,0,.08)!important;
}

/* Información: último ítem sin separador. */
body:has(.turing-info) .pkp_structure_sidebar .pkp_block li:last-child{
  border-bottom:0!important;
}

/* Información: enlaces del sidebar. */
body:has(.turing-info) .pkp_structure_sidebar .pkp_block a{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  padding:12px 0!important;
  color:#4d535b!important;
  font-size:15px!important;
  font-weight:650!important;
  text-decoration:none!important;
}

/* Información: flecha del sidebar. */
body:has(.turing-info) .pkp_structure_sidebar .pkp_block a::after{
  content:"›"!important;
  color:#9aa0a8!important;
  font-size:26px!important;
  line-height:1!important;
}

/* Información: hover del sidebar. */
body:has(.turing-info) .pkp_structure_sidebar .pkp_block a:is(:hover,:focus){
  color:var(--ud-red)!important;
}

/* Información responsive: tablet. */
@media(max-width:900px){
  body:has(.turing-info) .pkp_structure_content{
    display:block!important;
    padding:20px 14px 45px!important;
  }

  body:has(.turing-info) .pkp_structure_sidebar{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin-top:20px!important;
  }

  .turing-info-hero,
  .turing-info-grid{
    grid-template-columns:1fr!important;
  }

  .turing-info-icon{
    justify-self:start!important;
    width:96px!important;
    height:96px!important;
    font-size:40px!important;
  }

  .turing-info-tags{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

/* Información responsive: celular. */
@media(max-width:640px){
  .turing-info-hero{
    padding:26px 20px!important;
    border-left-width:4px!important;
  }

  .turing-info h1{
    font-size:30px!important;
  }

  .turing-info-hero p{
    font-size:15.5px!important;
    line-height:1.65!important;
  }

  .turing-info-card{
    padding:24px 20px!important;
  }
}

/* =========================================================
   3. FOOTER
========================================================= */

/* Footer institucional: contenedor general, fondo vinotinto y tipografía. */
.ud-footer{
  position:relative;
  overflow:hidden;
  width:100%;
  max-width:100%;
  margin:0!important;
  padding:0!important;
  color:var(--ud-white);
  background:var(--ud-red);
  font-family:Arial,Helvetica,sans-serif;
}

/* Footer: controla el box-sizing de todos los elementos internos. */
.ud-footer *,
.ud-footer *::before,
.ud-footer *::after{
  box-sizing:border-box;
}

/* Footer: limpia contenedores nativos de OJS para usar el footer personalizado. */
:is(.pkp_structure_footer_wrapper,.pkp_structure_footer,.pkp_footer_content){
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:none!important;
}

/* Footer: oculta la marca por defecto de OJS. */
.pkp_brand_footer{
  display:none!important;
}

/* Footer: base flexible para logos, redes, enlaces y barra inferior. */
:is(.ud-top-logos,.ud-social,.ud-bottom,.ud-links){
  display:flex;
  align-items:center;
  flex-wrap:wrap;
}

/* Footer: fila superior de logos institucionales. */
.ud-top-logos{
  justify-content:space-between;
  gap:25px;
  padding:10px 50px;
}

/* Footer: enlaces contenedores de logos. */
.ud-top-logos a{
  display:flex;
  align-items:center;
  justify-content:center;
}

/* Footer: tamaño y transición de logos. */
.ud-top-logos img{
  max-height:55px;
  width:auto;
  object-fit:contain;
  transition:.30s;
}

/* Footer: efecto hover de logos. */
.ud-top-logos img:hover{
  transform:scale(1.03);
}

/* Footer: distribución principal en columnas. */
.ud-footer-content{
  display:grid;
  grid-template-columns:minmax(250px,1.2fr) minmax(220px,1fr) minmax(260px,1fr);
  width:100%;
  padding:10px 50px;
}

/* Footer: columnas internas. */
.ud-col{
  min-width:0;
}

/* Footer: títulos de columnas. */
.ud-col :is(h2,h3){
  margin:0 0 20px;
  font-size:28px;
  line-height:1.5;
}

/* Footer: separación específica del título principal. */
.ud-col h2{
  margin-bottom:22px;
}

/* Footer: textos y enlaces generales. */
.ud-col :is(p,a){
  margin:0 0 10px;
  color:var(--ud-white);
  font-size:14px;
  line-height:1.8;
  text-decoration:none;
  transition:.30s;
}

/* Footer: hover de enlaces. */
:is(.ud-col a,.ud-links a):hover{
  color:var(--ud-yellow)!important;
  opacity:1;
}

/* Footer: estilo del NIT o texto destacado. */
.ud-nit{
  margin-bottom:22px;
  font-size:28px;
  font-style:italic;
}

/* Footer: línea decorativa amarilla. */
.ud-line{
  width:90px;
  height:2px;
  margin:28px 0;
  background:var(--ud-yellow);
}

/* Footer: fila de redes sociales. */
.ud-social{
  gap:16px;
  margin-top:20px;
}

/* Footer: botón circular para cada red social. */
.ud-social a{
  width:48px;
  height:48px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#111;
  border-radius:50%;
  text-decoration:none;
  transition:.30s;
}

/* Footer: efecto hover de redes sociales. */
.ud-social a:hover{
  transform:translateY(-3px);
  opacity:.90;
}

/* Footer: tamaño de íconos de redes sociales. */
.ud-social img{
  width:22px;
  height:22px;
  display:block;
  object-fit:contain;
}

/* Footer: divisor horizontal interno. */
.ud-divider{
  width:100%;
  height:1px;
  margin:35px 0;
  background:#d9a600;
}

/* Utilidad: margen superior adicional. */
.mt{
  margin-top:55px!important;
}

/* Footer: barra inferior negra con derechos/enlaces. */
.ud-bottom{
  justify-content:space-between;
  gap:15px;
  padding:15px 400px;
  background:#050505;
  font-size:11px;
}

/* Footer: contenedor de enlaces inferiores. */
.ud-links{
  gap:18px;
}

/* Footer: estilo de enlaces inferiores. */
.ud-links a{
  color:var(--ud-white);
  text-decoration:none;
  transition:.30s;
}

/* =========================================================
   4. RESPONSIVE SEPARADO
   Organización solicitada:
   4.1 Header | 4.2 Contenido | 4.3 Footer
   Nota: se eliminaron únicamente las reglas responsive relacionadas con la casa/casita.
========================================================= */

/* =========================================================
   4.1 RESPONSIVE HEADER
   - Sección separada para trabajar únicamente el header.
   - Se eliminaron del responsive las reglas relacionadas con la casa/casita.
   - No se modificó el header original fuera del responsive.
========================================================= */

@media(max-width:900px){

  .pkp_structure_head{
    position:relative!important;
    top:auto!important;
    background:var(--ud-red)!important;
  }

  .pkp_head_wrapper{
    position:relative!important;
    background:var(--ud-red)!important;
    overflow:visible!important;
  }

  .pkp_site_name{
    min-height:56px!important;
    padding:8px 18px 8px 88px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    background:var(--ud-red)!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }

  .pkp_site_name_wrapper{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:46px!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    align-items:center!important;
    gap:10px!important;
    margin:0 0 0 22px!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }

  .pkp_site_name_wrapper::before, .pkp_site_name_wrapper::after{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:42px!important;
    flex:none!important;
    margin:0!important;
    background-size:contain!important;
    background-repeat:no-repeat!important;
  }

  .pkp_site_name_wrapper::before{
    background-position:center left!important;
  }

  .pkp_site_name_wrapper::after{
    background-position:center right!important;
  }

  .pkp_navigation_primary_row{
    padding-left:58px!important;
    padding-right:16px!important;
    gap:18px!important;
    overflow-x:auto!important;
    overflow-y:visible!important;
    -webkit-overflow-scrolling:touch;
  }

  .pkp_navigation_primary_wrapper{
    gap:18px!important;
    flex:0 0 auto!important;
  }

  .pkp_navigation_primary>li>:is(a,button){
    padding:0 10px!important;
    font-size:14px!important;
  }

  :is(.pkp_search,.pkp_search_wrapper,.pkp_navigation_primary_wrapper .pkp_search){
    margin-left:40px!important;
  }

  .pkp_search :is(.search_prompt,a,button){
    font-size:14px!important;
  }

}

@media(max-width:640px){

  .pkp_site_name_wrapper{
    min-width:0!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)!important;
    align-items:center!important;
    column-gap:10px!important;
  }

  .pkp_site_name_wrapper::before, .pkp_site_name_wrapper::after{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:44px!important;
    flex:none!important;
    margin:0!important;
    opacity:1!important;
    visibility:visible!important;
    background-size:contain!important;
    background-repeat:no-repeat!important;
  }

  .pkp_site_name_wrapper::before{
    grid-column:1!important;
    justify-self:start!important;
    background-image:var(--logo-universidad)!important;
    background-position:center left!important;
  }

  .pkp_site_name_wrapper::after{
    grid-column:2!important;
    justify-self:end!important;
    background-image:var(--logo-doctorado)!important;
    background-position:center right!important;
  }

  .pkp_navigation_primary_row{
    display:block!important;
    width:100%!important;
    min-height:0!important;
    margin:0!important;
    padding:14px 18px 16px!important;
    overflow:visible!important;
  }

  .pkp_navigation_primary_wrapper{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
  }

  .pkp_navigation_primary{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    width:100%!important;
    list-style:none!important;
    background:var(--ud-red)!important;
  }

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

  .pkp_navigation_primary>li>:is(a,button){
    width:100%!important;
  }

  .pkp_navigation_primary>li:first-child>a{
    margin-left:0!important;
  }

  :is(.pkp_navigation_primary,.pkp_navigation_user)>li>:is(ul,.dropdown-menu){
    position:static!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0 0 6px 16px!important;
    background:var(--ud-red)!important;
    border:0!important;
    box-shadow:none!important;
  }

  :is(.pkp_navigation_primary,.pkp_navigation_user)>li>:is(ul,.dropdown-menu)>li, :is(.pkp_navigation_primary,.pkp_navigation_user)>li>:is(ul,.dropdown-menu)>li>a{
    background:var(--ud-red)!important;
  }

  :is(.pkp_navigation_primary,.pkp_navigation_user)>li>:is(ul,.dropdown-menu)>li>a{
    padding:8px 0!important;
    color:#fff!important;
    font-size:14px!important;
    border-left:0!important;
  }

  .pkp_navigation_user_wrapper{
    position:static!important;
    inset:auto!important;
    width:100%!important;
    max-width:none!important;
    display:block!important;
  }

  .pkp_navigation_user{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    width:100%!important;
    gap:0!important;
    margin:0!important;
    padding:0!important;
    list-style:none!important;
    background:var(--ud-red)!important;
  }

  .pkp_navigation_user>li>:is(a,button), .pkp_search :is(.search_prompt,a,button){
    width:100%!important;
    justify-content:flex-start!important;
    min-height:40px!important;
    padding:10px 0!important;
    color:#fff!important;
    font-size:15px!important;
    font-weight:700!important;
    text-align:left!important;
    background:transparent!important;
    box-shadow:none!important;
  }

  :is(.pkp_search,.pkp_search_wrapper,.pkp_navigation_primary_wrapper .pkp_search){
    display:block!important;
    width:100%!important;
    max-width:none!important;
  }

}

@media(max-width:640px){

  .pkp_site_name{
    background-color:var(--ud-red)!important;
    background-image:var(--logo-universidad), var(--logo-doctorado)!important;
    background-repeat:no-repeat,no-repeat!important;
  }

  .pkp_site_name_wrapper::before, .pkp_site_name_wrapper::after{
    display:none!important;
    content:none!important;
    background-image:none!important;
  }

  .pkp_site_name_wrapper{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    height:46px!important;
    margin:0 0 0 18px!important;
    padding:0!important;
    background:transparent!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }

}

@media(max-width:640px){

  .pkp_site_name{
    padding:10px 18px 10px 76px!important;
  }

}

@media(max-width:640px){

  .pkp_site_name{
    min-height:73px!important;
    margin-top:0!important;
    padding-top:0!important;
    padding-bottom:0!important;
    padding-left:76px!important;
    padding-right:18px!important;
    justify-content:flex-start!important;
    background-size:clamp(76px,20vw,112px) auto, clamp(82px,22vw,122px) auto!important;
    box-sizing:border-box!important;
  }

}

@media(max-width:640px){

  .pkp_site_name{
    background-position:left 30px top 5px, right 64px top 10px!important;
  }

}

@media(max-width:640px){

  .pkp_navigation_primary_row{
    background:var(--ud-red)!important;
    border-top:0!important;
    border-bottom:3px solid var(--ud-yellow)!important;
  }

  .pkp_navigation_primary>li{
    border:0!important;
  }

  .pkp_navigation_primary>li>:is(a,button){
    border:0!important;
    border-bottom:1px solid rgba(255,255,255,.13)!important;
    box-shadow:none!important;
  }



  /* Submenús móviles: botón desplegable, triángulo y estados de apertura. */
  .pkp_navigation_primary>li:has(>ul),
  .pkp_navigation_primary>li:has(>.dropdown-menu){
    position:relative!important;
    overflow:visible!important;
  }

  .pkp_navigation_primary>li:has(>ul)>:is(a,button),
  .pkp_navigation_primary>li:has(>.dropdown-menu)>:is(a,button),
  .pkp_navigation_primary>li:has(>ul)>a:first-child,
  .pkp_navigation_primary>li:has(>.dropdown-menu)>a:first-child{
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    width:100%!important;
    gap:10px!important;
    padding-right:18px!important;
    cursor:pointer!important;
  }

  .pkp_navigation_primary>li:has(>ul)>:is(a,button)::after,
  .pkp_navigation_primary>li:has(>.dropdown-menu)>:is(a,button)::after,
  .pkp_navigation_primary>li:has(>ul)>a:first-child::after,
  .pkp_navigation_primary>li:has(>.dropdown-menu)>a:first-child::after{
    content:"▾"!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:18px!important;
    height:18px!important;
    margin-left:auto!important;
    color:#fff!important;
    font-size:13px!important;
    font-weight:900!important;
    line-height:1!important;
    opacity:.95!important;
    transform:translateY(-1px)!important;
    transition:transform .18s ease,opacity .18s ease!important;
  }

  .pkp_navigation_primary>li:is(.open,.show,.isOpen,.is_open):has(>ul)>:is(a,button)::after,
  .pkp_navigation_primary>li:is(.open,.show,.isOpen,.is_open):has(>.dropdown-menu)>:is(a,button)::after,
  .pkp_navigation_primary>li:has(>:is(a,button)[aria-expanded="true"])>:is(a,button)::after,
  .pkp_navigation_primary>li:has(>:is(a,button):focus)>:is(a,button)::after,
  .pkp_navigation_primary>li:has(>:is(a,button):active)>:is(a,button)::after,
  .pkp_navigation_primary>li:focus-within:has(>ul)>:is(a,button)::after,
  .pkp_navigation_primary>li:focus-within:has(>.dropdown-menu)>:is(a,button)::after{
    transform:rotate(180deg) translateY(1px)!important;
    opacity:1!important;
  }


  .pkp_navigation_primary>li:not(:has(>ul)):not(:has(>.dropdown-menu))>:is(ul,.dropdown-menu), .pkp_navigation_primary>li:not(.open):not(.show):not(.isOpen):not(.is_open):not(:focus-within):not(:has(>:is(a,button)[aria-expanded="true"])):not(:has(>ul)):not(:has(>.dropdown-menu))>:is(ul,.dropdown-menu){
    position:static!important;
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    width:100%!important;
    min-width:0!important;
    max-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    background:rgba(0,0,0,.10)!important;
    border:0!important;
    box-shadow:none!important;
    transform:none!important;
    clip:auto!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
  }

  .pkp_navigation_primary>li:is(.open,.show,.isOpen,.is_open)>:is(ul,.dropdown-menu), .pkp_navigation_primary>li:has(>:is(a,button)[aria-expanded="true"])>:is(ul,.dropdown-menu), .pkp_navigation_primary>li:has(>:is(a,button):focus)>:is(ul,.dropdown-menu), .pkp_navigation_primary>li:has(>:is(a,button):active)>:is(ul,.dropdown-menu), .pkp_navigation_primary>li:focus-within>:is(ul,.dropdown-menu), .pkp_navigation_primary>li:hover>:is(ul,.dropdown-menu), .pkp_navigation_primary>li>:is(button,a)[aria-expanded="true"] + :is(ul,.dropdown-menu), .pkp_navigation_primary>li>:is(ul,.dropdown-menu)[aria-hidden="false"], .pkp_navigation_primary>li>.dropdown-menu.show, .pkp_navigation_primary>li>.dropdown-menu.isOpen, .pkp_navigation_primary>li>.dropdown-menu.is_open{
    position:static!important;
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    width:100%!important;
    min-width:0!important;
    max-height:360px!important;
    margin:0 0 4px!important;
    padding:4px 0 6px 14px!important;
    overflow:visible!important;
    background:rgba(0,0,0,.10)!important;
    border-left:2px solid rgba(255,255,255,.20)!important;
    box-shadow:none!important;
    transform:none!important;
    clip:auto!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
  }

  .pkp_navigation_primary>li>:is(ul,.dropdown-menu)>li, .pkp_navigation_primary>li>:is(ul,.dropdown-menu)>li>a{
    display:block!important;
    width:100%!important;
    background:transparent!important;
  }

  .pkp_navigation_primary>li>:is(ul,.dropdown-menu)>li>a{
    border-bottom:1px solid rgba(255,255,255,.08)!important;
  }

  .pkp_navigation_primary>li>:is(ul,.dropdown-menu)>li:last-child>a{
    border-bottom:0!important;
  }

  :is(.pkp_search,.pkp_search_wrapper,.pkp_navigation_primary_wrapper .pkp_search){
    border-top:1px solid rgba(255,255,255,.14)!important;
  }

  .pkp_search :is(.search_prompt,a,button), .pkp_navigation_user>li>:is(a,button){
    min-height:32px!important;
    padding:6px 0!important;
    font-size:14px!important;
    line-height:1.25!important;
  }

  .pkp_navigation_user_wrapper{
    border-bottom:1px solid rgba(255,255,255,.12)!important;
  }

}

@media(max-width:640px){

  .pkp_structure_head:has(.pkp_site_nav_menu--isOpen) .pkp_site_name, .pkp_structure_head:has(.pkp_site_nav_menu.isOpen) .pkp_site_name, .pkp_structure_head:has(.pkp_site_nav_menu.is_open) .pkp_site_name, .pkp_structure_head:has(.pkp_site_nav_toggle[aria-expanded="true"]) .pkp_site_name{
    overflow:visible!important;
  }

  .pkp_structure_head:has(.pkp_site_nav_menu--isOpen) .pkp_navigation_primary_row, .pkp_structure_head:has(.pkp_site_nav_menu.isOpen) .pkp_navigation_primary_row, .pkp_structure_head:has(.pkp_site_nav_menu.is_open) .pkp_navigation_primary_row, .pkp_structure_head:has(.pkp_site_nav_toggle[aria-expanded="true"]) .pkp_navigation_primary_row{
    padding:33px 22px 6px!important;
  }

  .pkp_navigation_primary_row, .pkp_navigation_primary_wrapper, .pkp_navigation_primary, .pkp_navigation_primary>li, .pkp_navigation_primary>li>:is(a,button), .pkp_navigation_user_wrapper, .pkp_navigation_user, .pkp_navigation_user>li, .pkp_navigation_user>li>:is(a,button), :is(.pkp_search,.pkp_search_wrapper,.pkp_navigation_primary_wrapper .pkp_search), .pkp_search :is(.search_prompt,a,button){
    border-top:0!important;
    border-right:0!important;
    border-bottom:0!important;
    border-left:0!important;
    box-shadow:none!important;
  }

  .pkp_navigation_primary{
    gap:0!important;
    margin:0!important;
    padding:0!important;
  }

  .pkp_navigation_primary>li{
    margin:0!important;
    padding:0!important;
  }

  .pkp_navigation_primary>li>:is(a,button){
    min-height:30px!important;
    height:auto!important;
    padding:4px 0!important;
    color:#fff!important;
    font-size:15px!important;
    font-weight:700!important;
    line-height:1.2!important;
    text-align:left!important;
    justify-content:flex-start!important;
    background:transparent!important;
  }

  .pkp_navigation_primary>li:is(.open,.show,.isOpen,.is_open)>:is(ul,.dropdown-menu),
  .pkp_navigation_primary>li:has(>:is(a,button)[aria-expanded="true"])>:is(ul,.dropdown-menu),
  .pkp_navigation_primary>li:has(>:is(a,button):focus)>:is(ul,.dropdown-menu),
  .pkp_navigation_primary>li:has(>:is(a,button):active)>:is(ul,.dropdown-menu),
  .pkp_navigation_primary>li:focus-within>:is(ul,.dropdown-menu),
  .pkp_navigation_primary>li:hover>:is(ul,.dropdown-menu),
  .pkp_navigation_primary>li>:is(ul,.dropdown-menu)[aria-hidden="false"],
  .pkp_navigation_primary>li>.dropdown-menu.show,
  .pkp_navigation_primary>li>.dropdown-menu.isOpen,
  .pkp_navigation_primary>li>.dropdown-menu.is_open{
    position:static!important;
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    width:100%!important;
    min-width:0!important;
    max-height:none!important;
    margin:0!important;
    padding:0 0 3px 12px!important;
    overflow:visible!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    transform:none!important;
    clip:auto!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
  }



  /* About/Acerca de: submenú tipo Colombia Forestal en móvil. */
  .pkp_navigation_primary>li:has(>a[href*="/about"]),
  .pkp_navigation_primary>li:has(>a[href*="/about/"]),
  .pkp_navigation_primary>li:has(>a[href*="/about/index"]),
  .pkp_navigation_primary>li:has(>a[href*="/acerca"]),
  .pkp_navigation_primary>li:has(>a[href*="/acerca-de"]),
  .pkp_navigation_primary>li:has(>a[href*="/sobre"]){
    position:relative!important;
    overflow:visible!important;
  }

  .pkp_navigation_primary>li:has(>a[href*="/about"])>:is(ul,.dropdown-menu,[role="menu"],.submenu),
  .pkp_navigation_primary>li:has(>a[href*="/about/"])>:is(ul,.dropdown-menu,[role="menu"],.submenu),
  .pkp_navigation_primary>li:has(>a[href*="/about/index"])>:is(ul,.dropdown-menu,[role="menu"],.submenu),
  .pkp_navigation_primary>li:has(>a[href*="/acerca"])>:is(ul,.dropdown-menu,[role="menu"],.submenu),
  .pkp_navigation_primary>li:has(>a[href*="/acerca-de"])>:is(ul,.dropdown-menu,[role="menu"],.submenu),
  .pkp_navigation_primary>li:has(>a[href*="/sobre"])>:is(ul,.dropdown-menu,[role="menu"],.submenu),
  .pkp_navigation_primary>li:has(>a[href*="/about"]) .dropdown-menu,
  .pkp_navigation_primary>li:has(>a[href*="/about/"]) .dropdown-menu,
  .pkp_navigation_primary>li:has(>a[href*="/about/index"]) .dropdown-menu,
  .pkp_navigation_primary>li:has(>a[href*="/acerca"]) .dropdown-menu,
  .pkp_navigation_primary>li:has(>a[href*="/acerca-de"]) .dropdown-menu,
  .pkp_navigation_primary>li:has(>a[href*="/sobre"]) .dropdown-menu{
    position:static!important;
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    width:160px!important;
    min-width:160px!important;
    max-width:calc(100vw - 64px)!important;
    max-height:none!important;
    height:auto!important;
    margin:8px 0 8px 0!important;
    padding:8px 0!important;
    overflow:visible!important;
    background:#fff!important;
    border:0!important;
    border-radius:7px!important;
    box-shadow:none!important;
    transform:none!important;
    clip:auto!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    pointer-events:auto!important;
  }

  .pkp_navigation_primary>li:has(>a[href*="/about"])>:is(ul,.dropdown-menu,[role="menu"],.submenu)>li,
  .pkp_navigation_primary>li:has(>a[href*="/about/"])>:is(ul,.dropdown-menu,[role="menu"],.submenu)>li,
  .pkp_navigation_primary>li:has(>a[href*="/about/index"])>:is(ul,.dropdown-menu,[role="menu"],.submenu)>li,
  .pkp_navigation_primary>li:has(>a[href*="/acerca"])>:is(ul,.dropdown-menu,[role="menu"],.submenu)>li,
  .pkp_navigation_primary>li:has(>a[href*="/acerca-de"])>:is(ul,.dropdown-menu,[role="menu"],.submenu)>li,
  .pkp_navigation_primary>li:has(>a[href*="/sobre"])>:is(ul,.dropdown-menu,[role="menu"],.submenu)>li,
  .pkp_navigation_primary>li:has(>a[href*="/about"]) .dropdown-menu>li,
  .pkp_navigation_primary>li:has(>a[href*="/about/"]) .dropdown-menu>li,
  .pkp_navigation_primary>li:has(>a[href*="/about/index"]) .dropdown-menu>li,
  .pkp_navigation_primary>li:has(>a[href*="/acerca"]) .dropdown-menu>li,
  .pkp_navigation_primary>li:has(>a[href*="/acerca-de"]) .dropdown-menu>li,
  .pkp_navigation_primary>li:has(>a[href*="/sobre"]) .dropdown-menu>li{
    display:block!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    background:#fff!important;
    border:0!important;
  }

  .pkp_navigation_primary>li:has(>a[href*="/about"])>:is(ul,.dropdown-menu,[role="menu"],.submenu)>li>a,
  .pkp_navigation_primary>li:has(>a[href*="/about/"])>:is(ul,.dropdown-menu,[role="menu"],.submenu)>li>a,
  .pkp_navigation_primary>li:has(>a[href*="/about/index"])>:is(ul,.dropdown-menu,[role="menu"],.submenu)>li>a,
  .pkp_navigation_primary>li:has(>a[href*="/acerca"])>:is(ul,.dropdown-menu,[role="menu"],.submenu)>li>a,
  .pkp_navigation_primary>li:has(>a[href*="/acerca-de"])>:is(ul,.dropdown-menu,[role="menu"],.submenu)>li>a,
  .pkp_navigation_primary>li:has(>a[href*="/sobre"])>:is(ul,.dropdown-menu,[role="menu"],.submenu)>li>a,
  .pkp_navigation_primary>li:has(>a[href*="/about"]) .dropdown-menu>li>a,
  .pkp_navigation_primary>li:has(>a[href*="/about/"]) .dropdown-menu>li>a,
  .pkp_navigation_primary>li:has(>a[href*="/about/index"]) .dropdown-menu>li>a,
  .pkp_navigation_primary>li:has(>a[href*="/acerca"]) .dropdown-menu>li>a,
  .pkp_navigation_primary>li:has(>a[href*="/acerca-de"]) .dropdown-menu>li>a,
  .pkp_navigation_primary>li:has(>a[href*="/sobre"]) .dropdown-menu>li>a{
    display:block!important;
    width:100%!important;
    min-height:38px!important;
    margin:0!important;
    padding:10px 16px!important;
    color:#343a40!important;
    font-size:14px!important;
    font-weight:500!important;
    line-height:1.25!important;
    text-decoration:none!important;
    white-space:normal!important;
    background:#fff!important;
    border:0!important;
    border-left:0!important;
    box-shadow:none!important;
  }

  .pkp_navigation_primary>li:has(>a[href*="/about"])>:is(ul,.dropdown-menu,[role="menu"],.submenu)>li>a:is(:hover,:focus),
  .pkp_navigation_primary>li:has(>a[href*="/about/"])>:is(ul,.dropdown-menu,[role="menu"],.submenu)>li>a:is(:hover,:focus),
  .pkp_navigation_primary>li:has(>a[href*="/about/index"])>:is(ul,.dropdown-menu,[role="menu"],.submenu)>li>a:is(:hover,:focus),
  .pkp_navigation_primary>li:has(>a[href*="/acerca"])>:is(ul,.dropdown-menu,[role="menu"],.submenu)>li>a:is(:hover,:focus),
  .pkp_navigation_primary>li:has(>a[href*="/acerca-de"])>:is(ul,.dropdown-menu,[role="menu"],.submenu)>li>a:is(:hover,:focus),
  .pkp_navigation_primary>li:has(>a[href*="/sobre"])>:is(ul,.dropdown-menu,[role="menu"],.submenu)>li>a:is(:hover,:focus),
  .pkp_navigation_primary>li:has(>a[href*="/about"]) .dropdown-menu>li>a:is(:hover,:focus),
  .pkp_navigation_primary>li:has(>a[href*="/about/"]) .dropdown-menu>li>a:is(:hover,:focus),
  .pkp_navigation_primary>li:has(>a[href*="/about/index"]) .dropdown-menu>li>a:is(:hover,:focus),
  .pkp_navigation_primary>li:has(>a[href*="/acerca"]) .dropdown-menu>li>a:is(:hover,:focus),
  .pkp_navigation_primary>li:has(>a[href*="/acerca-de"]) .dropdown-menu>li>a:is(:hover,:focus),
  .pkp_navigation_primary>li:has(>a[href*="/sobre"]) .dropdown-menu>li>a:is(:hover,:focus){
    color:var(--ud-red-dark)!important;
    background:#f7eeee!important;
    text-decoration:none!important;
    box-shadow:inset 3px 0 0 var(--ud-yellow)!important;
  }

  .pkp_navigation_primary>li:has(>a[href*="/about"])>:is(a,button)::after,
  .pkp_navigation_primary>li:has(>a[href*="/about/"])>:is(a,button)::after,
  .pkp_navigation_primary>li:has(>a[href*="/about/index"])>:is(a,button)::after,
  .pkp_navigation_primary>li:has(>a[href*="/acerca"])>:is(a,button)::after,
  .pkp_navigation_primary>li:has(>a[href*="/acerca-de"])>:is(a,button)::after,
  .pkp_navigation_primary>li:has(>a[href*="/sobre"])>:is(a,button)::after{
    transform:translateY(-1px)!important;
    opacity:1!important;
  }

  .pkp_navigation_primary>li>:is(ul,.dropdown-menu)>li{
    display:block!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    background:transparent!important;
    border:0!important;
  }

  .pkp_navigation_primary>li>:is(ul,.dropdown-menu)>li>a{
    display:block!important;
    width:100%!important;
    min-height:26px!important;
    margin:0!important;
    padding:4px 0!important;
    color:#fff!important;
    font-size:13.5px!important;
    font-weight:600!important;
    line-height:1.2!important;
    text-decoration:none!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
  }

  .pkp_navigation_primary>li>:is(ul,.dropdown-menu)>li>a:hover, .pkp_navigation_primary>li>:is(ul,.dropdown-menu)>li>a:focus{
    color:#fff!important;
    background:transparent!important;
    padding-left:0!important;
    text-decoration:underline!important;
  }


  .pkp_navigation_primary li:is(.open,.show,.isOpen,.is_open) :is(ul,.dropdown-menu),
  .pkp_navigation_primary li:has(>:is(a,button)[aria-expanded="true"]) :is(ul,.dropdown-menu),
  .pkp_navigation_primary li:has(>:is(a,button):focus) :is(ul,.dropdown-menu),
  .pkp_navigation_primary li:focus-within :is(ul,.dropdown-menu){
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    max-height:none!important;
    overflow:visible!important;
    pointer-events:auto!important;
  }


  :is(.pkp_search,.pkp_search_wrapper,.pkp_navigation_primary_wrapper .pkp_search){
    margin:3px 0 0!important;
    padding:4px 0 0!important;
    background:transparent!important;
  }

  .pkp_search :is(.search_prompt,a,button){
    min-height:28px!important;
    padding:3px 0!important;
    color:#fff!important;
    font-size:14px!important;
    font-weight:700!important;
    background:transparent!important;
  }

  .pkp_navigation_user_wrapper{
    margin:0!important;
    padding:0 22px 6px!important;
    background:var(--ud-red)!important;
  }

  .pkp_navigation_user>li>:is(a,button){
    min-height:28px!important;
    padding:3px 0!important;
    color:#fff!important;
    font-size:14px!important;
    font-weight:700!important;
    background:transparent!important;
  }

}

@media(max-width:640px){

  .pkp_site_name{
    overflow:visible!important;
  }

}

@media(max-width:640px){

  .pkp_navigation_primary_row{
    padding-top:0!important;
  }

}

@media(max-width:640px){

  .pkp_structure_head:has(.pkp_site_nav_menu--isOpen) .pkp_navigation_primary_row, .pkp_structure_head:has(.pkp_site_nav_menu.isOpen) .pkp_navigation_primary_row, .pkp_structure_head:has(.pkp_site_nav_menu.is_open) .pkp_navigation_primary_row, .pkp_structure_head:has(.pkp_site_nav_toggle[aria-expanded="true"]) .pkp_navigation_primary_row{
    padding-top:0!important;
  }

  .pkp_navigation_primary_row, .pkp_navigation_primary_wrapper, .pkp_navigation_primary{
    margin-top:0!important;
    padding-top:0!important;
  }

}

/* =========================================================
   4.1.1 CASITA RESPONSIVE EN MENÚ MÓVIL
   Integración solicitada:
   - Casita oculta cuando el menú está cerrado.
   - Casita visible cuando el menú móvil está abierto.
   - Se conserva como enlace real de OJS.
========================================================= */

@media(max-width:640px){

  /* Casita oculta en el header cerrado. */
  .pkp_site_name a.is_img,
  .pkp_site_name .is_img,
  .pkp_site_name a:has(img){
    display:none!important;
    position:absolute!important;
    opacity:0!important;
    visibility:hidden!important;
  }

  .pkp_site_name a.is_img img,
  .pkp_site_name .is_img img,
  .pkp_site_name a:has(img) img{
    display:none!important;
    width:0!important;
    height:0!important;
    max-width:0!important;
    max-height:0!important;
    opacity:0!important;
    visibility:hidden!important;
  }

  .pkp_site_name a.is_img::before,
  .pkp_site_name .is_img::before,
  .pkp_site_name a:has(img)::before,
  .pkp_site_name a.is_img::after,
  .pkp_site_name .is_img::after,
  .pkp_site_name a:has(img)::after{
    content:none!important;
    display:none!important;
  }

  /* Reserva el renglón superior del menú para que la casita quede arriba de Actual. */
  .pkp_structure_head:has(.pkp_site_nav_menu--isOpen) .pkp_site_name,
  .pkp_structure_head:has(.pkp_site_nav_menu.isOpen) .pkp_site_name,
  .pkp_structure_head:has(.pkp_site_nav_menu.is_open) .pkp_site_name,
  .pkp_structure_head:has(.pkp_site_nav_toggle[aria-expanded="true"]) .pkp_site_name{
    overflow:visible!important;
  }

  .pkp_structure_head:has(.pkp_site_nav_menu--isOpen) .pkp_navigation_primary_row,
  .pkp_structure_head:has(.pkp_site_nav_menu.isOpen) .pkp_navigation_primary_row,
  .pkp_structure_head:has(.pkp_site_nav_menu.is_open) .pkp_navigation_primary_row,
  .pkp_structure_head:has(.pkp_site_nav_toggle[aria-expanded="true"]) .pkp_navigation_primary_row{
    padding-top:30px!important;
  }

  /* Casita visible con menu abierto*/
  .pkp_structure_head:has(.pkp_site_nav_menu--isOpen) .pkp_site_name a.is_img,
  .pkp_structure_head:has(.pkp_site_nav_menu--isOpen) .pkp_site_name .is_img,
  .pkp_structure_head:has(.pkp_site_nav_menu--isOpen) .pkp_site_name a:has(img),
  .pkp_structure_head:has(.pkp_site_nav_menu.isOpen) .pkp_site_name a.is_img,
  .pkp_structure_head:has(.pkp_site_nav_menu.isOpen) .pkp_site_name .is_img,
  .pkp_structure_head:has(.pkp_site_nav_menu.isOpen) .pkp_site_name a:has(img),
  .pkp_structure_head:has(.pkp_site_nav_menu.is_open) .pkp_site_name a.is_img,
  .pkp_structure_head:has(.pkp_site_nav_menu.is_open) .pkp_site_name .is_img,
  .pkp_structure_head:has(.pkp_site_nav_menu.is_open) .pkp_site_name a:has(img),
  .pkp_structure_head:has(.pkp_site_nav_toggle[aria-expanded="true"]) .pkp_site_name a.is_img,
  .pkp_structure_head:has(.pkp_site_nav_toggle[aria-expanded="true"]) .pkp_site_name .is_img,
  .pkp_structure_head:has(.pkp_site_nav_toggle[aria-expanded="true"]) .pkp_site_name a:has(img){
    position:absolute!important;
    left:33px!important;
    top:calc(100% + 5px)!important;
    bottom:auto!important;
    z-index:10300!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    width:calc(100vw - 66px)!important;
    min-width:0!important;
    max-width:none!important;
    height:36px!important;
    min-height:36px!important;
    max-height:36px!important;
    margin:0!important;
    padding:0!important;
    color:#fff!important;
    background:var(--ud-red)!important;
    border:0!important;
    border-bottom:0!important;
    box-shadow:none!important;
    opacity:1!important;
    visibility:visible!important;
    overflow:hidden!important;
    text-decoration:none!important;
    pointer-events:auto!important;
  }

  .pkp_structure_head:has(.pkp_site_nav_menu--isOpen) .pkp_site_name a.is_img img,
  .pkp_structure_head:has(.pkp_site_nav_menu--isOpen) .pkp_site_name .is_img img,
  .pkp_structure_head:has(.pkp_site_nav_menu--isOpen) .pkp_site_name a:has(img) img,
  .pkp_structure_head:has(.pkp_site_nav_menu.isOpen) .pkp_site_name a.is_img img,
  .pkp_structure_head:has(.pkp_site_nav_menu.isOpen) .pkp_site_name .is_img img,
  .pkp_structure_head:has(.pkp_site_nav_menu.isOpen) .pkp_site_name a:has(img) img,
  .pkp_structure_head:has(.pkp_site_nav_menu.is_open) .pkp_site_name a.is_img img,
  .pkp_structure_head:has(.pkp_site_nav_menu.is_open) .pkp_site_name .is_img img,
  .pkp_structure_head:has(.pkp_site_nav_menu.is_open) .pkp_site_name a:has(img) img,
  .pkp_structure_head:has(.pkp_site_nav_toggle[aria-expanded="true"]) .pkp_site_name a.is_img img,
  .pkp_structure_head:has(.pkp_site_nav_toggle[aria-expanded="true"]) .pkp_site_name .is_img img,
  .pkp_structure_head:has(.pkp_site_nav_toggle[aria-expanded="true"]) .pkp_site_name a:has(img) img{
    display:none!important;
    width:0!important;
    height:0!important;
    max-width:0!important;
    max-height:0!important;
    opacity:0!important;
    visibility:hidden!important;
  }

  .pkp_structure_head:has(.pkp_site_nav_menu--isOpen) .pkp_site_name a.is_img::before,
  .pkp_structure_head:has(.pkp_site_nav_menu--isOpen) .pkp_site_name .is_img::before,
  .pkp_structure_head:has(.pkp_site_nav_menu--isOpen) .pkp_site_name a:has(img)::before,
  .pkp_structure_head:has(.pkp_site_nav_menu.isOpen) .pkp_site_name a.is_img::before,
  .pkp_structure_head:has(.pkp_site_nav_menu.isOpen) .pkp_site_name .is_img::before,
  .pkp_structure_head:has(.pkp_site_nav_menu.isOpen) .pkp_site_name a:has(img)::before,
  .pkp_structure_head:has(.pkp_site_nav_menu.is_open) .pkp_site_name a.is_img::before,
  .pkp_structure_head:has(.pkp_site_nav_menu.is_open) .pkp_site_name .is_img::before,
  .pkp_structure_head:has(.pkp_site_nav_menu.is_open) .pkp_site_name a:has(img)::before,
  .pkp_structure_head:has(.pkp_site_nav_toggle[aria-expanded="true"]) .pkp_site_name a.is_img::before,
  .pkp_structure_head:has(.pkp_site_nav_toggle[aria-expanded="true"]) .pkp_site_name .is_img::before,
  .pkp_structure_head:has(.pkp_site_nav_toggle[aria-expanded="true"]) .pkp_site_name a:has(img)::before{
    content:""!important;
    display:block!important;
    width:22px!important;
    min-width:22px!important;
    height:22px!important;
    min-height:22px!important;
    margin:0!important;
    padding:0!important;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23ffffff' d='M12 3 2 11h2v10h6v-6h4v6h6V11h2L12 3Zm0 2.65 6 4.8V19h-2v-6H8v6H6v-8.55l6-4.8Z'/%3E%3C/svg%3E")!important;
    background-repeat:no-repeat!important;
    background-position:left center!important;
    background-size:22px 22px!important;
  }

  .pkp_structure_head:has(.pkp_site_nav_menu--isOpen) .pkp_site_name a.is_img::after,
  .pkp_structure_head:has(.pkp_site_nav_menu--isOpen) .pkp_site_name .is_img::after,
  .pkp_structure_head:has(.pkp_site_nav_menu--isOpen) .pkp_site_name a:has(img)::after,
  .pkp_structure_head:has(.pkp_site_nav_menu.isOpen) .pkp_site_name a.is_img::after,
  .pkp_structure_head:has(.pkp_site_nav_menu.isOpen) .pkp_site_name .is_img::after,
  .pkp_structure_head:has(.pkp_site_nav_menu.isOpen) .pkp_site_name a:has(img)::after,
  .pkp_structure_head:has(.pkp_site_nav_menu.is_open) .pkp_site_name a.is_img::after,
  .pkp_structure_head:has(.pkp_site_nav_menu.is_open) .pkp_site_name .is_img::after,
  .pkp_structure_head:has(.pkp_site_nav_menu.is_open) .pkp_site_name a:has(img)::after,
  .pkp_structure_head:has(.pkp_site_nav_toggle[aria-expanded="true"]) .pkp_site_name a.is_img::after,
  .pkp_structure_head:has(.pkp_site_nav_toggle[aria-expanded="true"]) .pkp_site_name .is_img::after,
  .pkp_structure_head:has(.pkp_site_nav_toggle[aria-expanded="true"]) .pkp_site_name a:has(img)::after{
    content:"Inicio"!important;
    display:inline-block!important;
    margin-left:10px!important;
    color:#fff!important;
    font-size:15px!important;
    font-weight:700!important;
    line-height:1!important;
  }

  html[lang^="en"] .pkp_structure_head:has(.pkp_site_nav_menu--isOpen) .pkp_site_name a.is_img::after,
  html[lang^="en"] .pkp_structure_head:has(.pkp_site_nav_menu--isOpen) .pkp_site_name .is_img::after,
  html[lang^="en"] .pkp_structure_head:has(.pkp_site_nav_menu--isOpen) .pkp_site_name a:has(img)::after,
  html[lang^="en"] .pkp_structure_head:has(.pkp_site_nav_menu.isOpen) .pkp_site_name a.is_img::after,
  html[lang^="en"] .pkp_structure_head:has(.pkp_site_nav_menu.isOpen) .pkp_site_name .is_img::after,
  html[lang^="en"] .pkp_structure_head:has(.pkp_site_nav_menu.isOpen) .pkp_site_name a:has(img)::after,
  html[lang^="en"] .pkp_structure_head:has(.pkp_site_nav_menu.is_open) .pkp_site_name a.is_img::after,
  html[lang^="en"] .pkp_structure_head:has(.pkp_site_nav_menu.is_open) .pkp_site_name .is_img::after,
  html[lang^="en"] .pkp_structure_head:has(.pkp_site_nav_menu.is_open) .pkp_site_name a:has(img)::after,
  html[lang^="en"] .pkp_structure_head:has(.pkp_site_nav_toggle[aria-expanded="true"]) .pkp_site_name a.is_img::after,
  html[lang^="en"] .pkp_structure_head:has(.pkp_site_nav_toggle[aria-expanded="true"]) .pkp_site_name .is_img::after,
  html[lang^="en"] .pkp_structure_head:has(.pkp_site_nav_toggle[aria-expanded="true"]) .pkp_site_name a:has(img)::after{
    content:"Home"!important;
  }


  /* Hover/focus de la casita igual al menú principal. */
  .pkp_structure_head:has(.pkp_site_nav_menu--isOpen) .pkp_site_name a.is_img:is(:hover,:focus),
  .pkp_structure_head:has(.pkp_site_nav_menu--isOpen) .pkp_site_name .is_img:is(:hover,:focus),
  .pkp_structure_head:has(.pkp_site_nav_menu--isOpen) .pkp_site_name a:has(img):is(:hover,:focus),
  .pkp_structure_head:has(.pkp_site_nav_menu.isOpen) .pkp_site_name a.is_img:is(:hover,:focus),
  .pkp_structure_head:has(.pkp_site_nav_menu.isOpen) .pkp_site_name .is_img:is(:hover,:focus),
  .pkp_structure_head:has(.pkp_site_nav_menu.isOpen) .pkp_site_name a:has(img):is(:hover,:focus),
  .pkp_structure_head:has(.pkp_site_nav_menu.is_open) .pkp_site_name a.is_img:is(:hover,:focus),
  .pkp_structure_head:has(.pkp_site_nav_menu.is_open) .pkp_site_name .is_img:is(:hover,:focus),
  .pkp_structure_head:has(.pkp_site_nav_menu.is_open) .pkp_site_name a:has(img):is(:hover,:focus),
  .pkp_structure_head:has(.pkp_site_nav_toggle[aria-expanded="true"]) .pkp_site_name a.is_img:is(:hover,:focus),
  .pkp_structure_head:has(.pkp_site_nav_toggle[aria-expanded="true"]) .pkp_site_name .is_img:is(:hover,:focus),
  .pkp_structure_head:has(.pkp_site_nav_toggle[aria-expanded="true"]) .pkp_site_name a:has(img):is(:hover,:focus){
    color:#fff!important;
    background:rgba(255,255,255,.10)!important;
    box-shadow:inset 0 -3px 0 var(--ud-yellow)!important;
    opacity:1!important;
  }
}

/* =========================================================
   4.2 RESPONSIVE CONTENIDO
   - Reglas de contenido conservadas y separadas.
   - Incluye Home y páginas internas dentro de la sección responsive general.
   - No se cambió su comportamiento; solo se reubicó en esta subsección.
========================================================= */

@media(max-width:1180px){

  .pkp_page_index .pkp_structure_content{
    gap:18px!important;
    padding-left:22px!important;
    padding-right:22px!important;
  }

  .pkp_page_index .turing-hero{
    grid-template-columns:minmax(0,1fr) minmax(230px,280px)!important;
  }

  .pkp_page_index .turing-hero .turing-hero-main::after{
    top:50%!important;
    left:50%!important;
    right:auto!important;
    width:clamp(190px,24vw,230px)!important;
    height:clamp(190px,24vw,230px)!important;
    opacity:.034!important;
    transform:translate(-50%,-50%)!important;
  }

  .pkp_page_index .turing-cover img{
    width:min(100%,285px)!important;
  }

  .pkp_page_index .turing-meta-item{
    grid-template-columns:26px minmax(0,1fr)!important;
    column-gap:12px!important;
    padding:20px 18px!important;
  }

  .pkp_page_index .turing-meta-value{
    font-size:13.4px!important;
  }

  .pkp_page_index .turing-meta-item:nth-child(4) .turing-meta-value{
    font-size:12.8px!important;
  }

}

@media(max-width:900px){

  .pkp_page_index .pkp_structure_content{
    display:block!important;
    padding:20px 14px 45px!important;
  }

  .pkp_page_index .pkp_structure_main{
    margin-top:0!important;
  }

  .pkp_page_index .pkp_structure_sidebar{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin-top:20px!important;
  }

  .pkp_page_index .turing-hero{
    grid-template-columns:1fr!important;
    min-height:0!important;
    padding-top:30px!important;
    padding-bottom:30px!important;
  }

  .pkp_page_index .turing-hero .turing-hero-main::after{
    top:50%!important;
    left:50%!important;
    right:auto!important;
    width:clamp(150px,34vw,210px)!important;
    height:clamp(150px,34vw,210px)!important;
    opacity:.026!important;
    transform:translate(-50%,-50%)!important;
  }

  .pkp_page_index .turing-cover img{
    width:min(100%,340px)!important;
  }

  .pkp_page_index .turing-meta{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .pkp_page_index .turing-meta-item:nth-child(2){
    border-right:0!important;
  }

  .pkp_page_index .turing-meta-item:nth-child(-n/**/+2){
    border-bottom:var(--border-section)!important;
  }

}

@media(max-width:640px){

  .pkp_page_index .turing-brand{
    align-items:flex-start!important;
  }

  .pkp_page_index .turing-brand-logo, .pkp_page_index .turing-brand-logo img{
    width:58px!important;
    height:58px!important;
  }

  .pkp_page_index .turing-brand-title{
    font-size:28px!important;
  }

  .pkp_page_index .turing-lead{
    font-size:16px!important;
  }

  .pkp_page_index .turing-actions{
    flex-direction:column!important;
    align-items:stretch!important;
  }

  .pkp_page_index .turing-btn{
    width:100%!important;
  }

  .pkp_page_index .turing-hero .turing-hero-main::after{
    top:50%!important;
    left:50%!important;
    right:auto!important;
    width:clamp(120px,42vw,170px)!important;
    height:clamp(120px,42vw,170px)!important;
    opacity:.022!important;
    transform:translate(-50%,-50%)!important;
  }

  .pkp_page_index .turing-meta{
    grid-template-columns:1fr!important;
  }

  .pkp_page_index .turing-meta-item{
    grid-template-columns:28px minmax(0,1fr)!important;
    padding:20px 18px!important;
    border-right:0!important;
    border-bottom:var(--border-section)!important;
  }

  .pkp_page_index .turing-meta-item:last-child{
    border-bottom:0!important;
  }

}

@media(max-width:900px){

  body.pkp_page_about .pkp_structure_content,
    body.page_about .pkp_structure_content,
    .pkp_page_about .pkp_structure_content,
    .page_about .pkp_structure_content,
    body:has(.turing-about) .pkp_structure_content{
    display:block!important;
    padding:20px 14px 45px!important;
  }

  body.pkp_page_about .pkp_structure_sidebar,
    body.page_about .pkp_structure_sidebar,
    .pkp_page_about .pkp_structure_sidebar,
    .page_about .pkp_structure_sidebar,
    body:has(.turing-about) .pkp_structure_sidebar{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin-top:20px!important;
  }

  .turing-about-hero,
    .turing-about-summary,
    .turing-about-grid{
    grid-template-columns:1fr!important;
  }

}

/* =========================================================
   4.3 RESPONSIVE FOOTER
   - Reglas de footer conservadas y separadas.
   - No se cambió su comportamiento; solo se reubicó en esta subsección.
========================================================= */

@media(max-width:900px){

  .ud-top-logos{
    justify-content:center;
    padding:25px 20px;
  }

  .ud-top-logos img{
    max-width:100%!important;
    max-height:42px;
  }

  .ud-footer-content{
    grid-template-columns:1fr!important;
    padding:45px 20px;
    gap:50px;
  }

  .ud-bottom{
    flex-direction:column;
    text-align:center;
    padding:20px;
  }

  .ud-links{
    justify-content:center;
  }

}

@media(max-width:640px){

  .ud-top-logos{
    gap:12px!important;
    padding:18px 14px!important;
  }

  .ud-top-logos img{
    max-width:42vw!important;
    max-height:30px!important;
  }

  .ud-social{
    gap:12px;
  }

  .ud-social a{
    width:42px;
    height:42px;
  }

  .ud-col :is(h2,h3), .ud-nit{
    font-size:17px;
  }

  .ud-col :is(p,a){
    font-size:13px;
  }

}
