/* ================================
   Estilos personalizados block_browse
   Portal de libros - neumórfico y amigable
   ================================ */

/* Título "Navegar" */
.pkp_block.block_browse .title {
    font-size: 1.8rem;
    font-weight: 500;
    text-align: center;
    color: #1e3a5f; /* azul elegante tipo biblioteca */
    margin-bottom: 1.2rem;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* Bloque completo */
.pkp_block.block_browse {
    background-color: #f0f4f8; /* fondo suave estilo papel */
    border-radius: 16px;
    padding: 1.2rem;
    box-shadow: 8px 8px 16px #c0c4cc, -8px -8px 16px #ffffff; 
}

/* Links principales como botones neumórficos */
.pkp_block.block_browse nav.content ul > li {
    border-radius: 12px;
    margin-bottom: 0.8rem;
    background-color: #e6ebf0;
    box-shadow: 6px 6px 12px #c0c4cc, -6px -6px 12px #ffffff;
    transition: all 0.3s ease;
}

/* Links principales internos */
.pkp_block.block_browse nav.content ul > li > a {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.5rem 0.8rem;
    font-size: 1rem;
    font-weight: 700;
    color: #2c3e50;
    text-align: center;
    border-radius: 12px;
    text-decoration: none;
    background-color: transparent;
    transition: all 0.3s ease;
}

/* Hover tipo neumórfico: efecto presionado suave */
.pkp_block.block_browse nav.content ul > li:hover {
    transform: translateY(-1px);
    box-shadow: inset 2px 2px 6px #c0c4cc, inset -2px -2px 6px #ffffff;
    background-color: #d4d9df;
    color: #1e6292;
}

/* Submenús neumórficos */
.pkp_block.block_browse nav.content ul li.has_submenu > ul {
    border-radius: 10px;
    padding: 0.4rem;
    margin-top: 0.5rem;
    list-style: none;
    background-color: #e6ebf0;
    box-shadow: 6px 6px 12px #c0c4cc, -6px -6px 12px #ffffff;
    transition: all 0.3s ease;
}

/* Links dentro de submenús */
.pkp_block.block_browse nav.content ul li.has_submenu > ul li a {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: 0.4rem 0.6rem;
    font-size: 0.95rem;
    color: #34495e;
    border-radius: 8px;
    background-color: transparent;
    transition: all 0.3s ease;
}

/* Hover de submenús */
.pkp_block.block_browse nav.content ul li.has_submenu > ul li:hover {
    transform: translateY(-0.5px);
    box-shadow: inset 1px 1px 4px #c0c4cc, inset -1px -1px 4px #ffffff;
    color: #1e6292;
    background-color: #d4d9df;
}

/* Opcional: iconos de libros a la izquierda */
.pkp_block.block_browse nav.content ul > li > a::before {
    content: "📚"; 
    font-size: 1.1rem;
}
.pkp_block.block_browse nav.content ul li.has_submenu > ul li a::before {
    content: "📖";
    margin-right: 0.5rem;
    font-size: 1rem;
}

/* ================================
   Estilos personalizados block_information
   Portal de libros - estilo neumórfico
   ================================ */

/* Título "Información" */
.pkp_block.block_information .title {
    font-size: 1.8rem;
    font-weight: 500;
    text-align: center;
    color: #1e3a5f; /* azul elegante tipo biblioteca */
    margin-bottom: 1rem;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* Bloque completo */
.pkp_block.block_information {
    background-color: #f0f4f8; /* fondo suave tipo papel */
    border-radius: 16px;
    padding: 1rem;
    box-shadow: 8px 8px 16px #c0c4cc, -8px -8px 16px #ffffff;
}

/* Links como botones neumórficos */
.pkp_block.block_information .content ul > li {
    border-radius: 12px;
    margin-bottom: 0.8rem;
    background-color: #e6ebf0;
    box-shadow: 6px 6px 12px #c0c4cc, -6px -6px 12px #ffffff;
    transition: all 0.3s ease;
}

/* Links internos */
.pkp_block.block_information .content ul > li > a {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.5rem 0.8rem;
    font-size: 1rem;
    font-weight: 700;
    color: #2c3e50;
    text-decoration: none;
    border-radius: 12px;
    transition: all 0.3s ease;
}

/* Hover tipo neumórfico: efecto presionado suave */
.pkp_block.block_information .content ul > li:hover {
    transform: translateY(-1px);
    box-shadow: inset 2px 2px 6px #c0c4cc, inset -2px -2px 6px #ffffff;
    background-color: #d4d9df;
    color: #1e6292;
}

/* Opcional: iconos de información */
.pkp_block.block_information .content ul > li > a::before {
    content: "ℹ️";
    margin-right: 0.5rem;
    font-size: 1rem;
}

 /*-------------------------------------------------------------
     slideInUp
 /*-------------------------------------------------------------*/

       .pkp_block {
  -webkit-animation-name:pkp_block;
  animation-name: pkp_block;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  visibility: visible;
   animation-delay: 0.9s; 
  }
  @-webkit-keyframes pkp_block {
  0%{
  -webkit-transform: translateY(100%);
  transform: translateY(100%);
  visibility: visible;
  }
  100% {
  -webkit-transform: translateY(0);
  transform: translateY(0);
  }
  }
  @keyframes pkp_block {
  0% {
  -webkit-transform: translateY(100%);
  transform: translateY(100%);
  visibility: visible;
  }
  100% {
  -webkit-transform: translateY(0);
  transform: translateY(0);
  }
  } 


/* ==========================
   Contenedor principal de búsqueda
   ========================== */
.page_search {
    max-width: 800px;                /* Limita el ancho de la sección */
    margin: 20px auto;               /* Centrado horizontal con margen arriba/abajo */
    padding: 20px;                   /* Espaciado interno */
    background-color: #f8f9fa;       /* Fondo claro */
    border-radius: 10px;             /* Bordes redondeados */
     border: 1px solid #000000;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Sombra suave */
}

/* Encabezado de la sección */
.page_search .page-header h1 {
    font-size: 1.8rem;
    font-weight: 700;
    color: #032e54;
    text-align: center;
    margin-bottom: 20px;
}

/* ==========================
   Formulario de búsqueda
   ========================== */
#search-form .form-group {
    margin-bottom: 15px;
}

/* Campo de búsqueda y botón */
#search-form .input-group {
    display: flex;
    justify-content: center;
    align-items: center;
}

#search-form .input-group input.query {
    max-width: 400px;   /* Limita el ancho máximo del input  border: 1px solid #ced4da; */
    width: 100%;        /* Se adapta al contenedor */
    height: 36px;       /* Altura más compacta */
    font-size: 0.95rem;
    border-radius: 6px 0 0 6px;
    background-color: #ced4da;
    padding: 0 10px;
    outline: none;
}

#search-form .input-group input.btn {
    height: 36px;       /* Altura igual al input */
    font-size: 0.95rem;
    border-radius: 0 6px 6px 0;
    background-color: #3498db;
    border: none;
    color: #000000;
    cursor: pointer;
    transition: background-color 0.3s;
}



/* ==========================
   Filtros avanzados 
   ========================== */
.search-advanced {
    margin-top: 15px;
    background-color:#ced4da;
    padding: 15px;
    border-radius: 8px;
}

.search-advanced label {
    font-weight: 600;
    color: #032e54;
}

.search-advanced select,
.search-advanced input {
    width: 100%;
    padding: 6px 10px;
    border-radius: 6px;
    margin-bottom: 10px;
    border: 1px solid #3498db;

    font-size: 0.95rem;
}

/* ==========================
   Resultados de búsqueda
   ========================== */
.search-results h2 {
    font-size: 1.4rem;
    color: #032e54;
    margin-top: 25px;
    margin-bottom: 15px;
}

.cmp_notification.notice {
    font-size: 0.95rem;
    background-color: #e2e3e5;
    color: #555;
    padding: 12px;
    border-radius: 6px;
    text-align: center;
}

/* ==========================
   Responsive
   ========================== */
  @media screen and (max-width: 992px) {
    #search-form .input-group input.query {
       max-width: 300px; 
    }
@media screen and (max-width: 768px) {
   #search-form .input-group input.query {
       max-width: 200px; 
       margin-left: -180px;
    }
      #search-form .input-group input.btn {
   margin-left: 10px;
   top: -35px;
    height: 35px;       /* Altura igual al input */
    width: 60px;
    font-size: 0.95rem;
   
}
    .page_search {
        padding: 15px;
        margin: 15px;
    }

    #search-form .input-group {
        flex-direction: column;
    }

    

    .search-advanced {
        padding: 10px;
    }

}
@media screen and (max-width:532px) {
    #search-form .input-group input.query {
       max-width: 200px; 
       margin-left: -90px;
    }
       #search-form .input-group input.btn {
   top: -35px;
    height: 35px;       /* Altura igual al input */
    width: 60px;
    font-size: 0.95rem;
   
}
  
   
}
 }

/* ==========================
   margen sobre los libros de lso    resultado de busquedaa

   ========================== */
 .pkp_page_search .obj_monograph_summary {
    margin-top:15px !important;
}


.card-journal-omp {
    width: 100%;
    max-width: 220px;  /* 🔥 antes no tenía límite */
    margin: 10px auto;
}

.card-journal-img img {
    height: 280px;      /* 🔥 tamaño más pequeño */
    object-fit: cover;
}

.card-journal-body {
    padding: 10px;      /* 🔥 menos espacio interno */
}

.card-journal-title {
    font-size: 0.95rem; /* 🔥 título más pequeño */
}

.card-journal-author {
    font-size: 0.75rem; /* 🔥 autores más pequeños */
}

.card-journal-link .btn {
    padding: 4px 0;     /* 🔥 botón compacto */
    font-size: 0.75rem;
}

/*-------------------------------------------------------------
  book  y estilo index tpl catalogo future index
 /*-------------------------------------------------------------*/
 


/* Ícono y texto */
.fecha-publicacion span {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}

/* Hover sutil */
.fecha-publicacion:hover {
  background-color: #f1c40f;     /* dorado suave (combina con tu hero) */
  color: #fff;
  border-color: #e0b400;
  transform: scale(1.03);
}

/* Ícono calendario */
.fecha-publicacion span::before {
  content: "🗓️";
  font-size: 1.1rem;
}






/* ===============================
   SECCIÓN DE VIDEO CON MARCO
=============================== */

.video-section {
    background: #f0f4f8; /* fondo suave estilo papel */
  text-align: center;
  padding: 50px 0;
   border: 1px solid #000000;
  border-radius: 15px;
  box-shadow: 0 6px 20px rgba(0,0,0,0.3);
  width: 95%;
  max-width: 1200px;
  margin: 40px auto;
}

/* Fondo gris con borde negro (marco completo) */
.video-section .fondo-politicas-2 {
  background: #e0e0e0;           /* gris claro detrás del video */
  display: inline-block;
  padding: 20px;
  border: 6px solid #000000;     /* 👈 borde negro grueso */
  border-radius: 15px;           /* esquinas redondeadas */
  box-shadow: 0 4px 16px rgba(0,0,0,0.4); /* sombra para relieve */
  width: 90%;                    /* ocupa casi todo el ancho */
  max-width: 900px;              /* ancho máximo */
  margin: 0 auto;                /* centrado */
}

/* Contenedor del video */
.video-section .lazy-youtube-embed {
  display: inline-block;
  width: 100%;                   /* ocupa todo el ancho del marco */
  max-width: 720px;              /* pero no más de 720px */
  height: 405px;
  background-color: #000;
  border-radius: 10px;
  position: relative;
  box-shadow: 0 4px 12px rgba(0,0,0,0.3); /* sombra del propio video */
}

/* Ícono del botón de reproducción */
.video-section .lazy-youtube-embed::before {
  content: "▶";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 4rem;
  color: white;
  opacity: 0.8;
  pointer-events: none;
  transition: opacity 0.3s ease;
}

/* Efecto hover en el ícono */
.video-section .lazy-youtube-embed:hover::before {
  opacity: 1;
}
  /* ==============================
   Carrusel de Novedades (Libros cards)
   ============================== */
   .carousel-wrapper {
     width: 100%;
      max-width: 1400px; /* Más grande que el container normal */ 
      margin: auto; 
      position: relative;
      padding: 20px 40px; /* Espacio a los lados */ 
     } 
     /* Contenedor general */ 
      .carousel-accordion-container {
     width: 100%;
    overflow: hidden;
     position: relative; 
    }
     /* PISTA (antes .container) */
      .books-track { 
    display: flex;
     gap: 25px; 
     transition: transform 0.5s ease;
     } 
     /* Tarjeta */ 
     .book-accordion { 
    width: 230px; 
       max-height: 440px;   /* Ajusta este valor a tu gusto */
    flex-shrink: 0;
     position: relative; 
     cursor: pointer;
    transform-style:
    preserve-3d; transition: 
    transform 0.4s ease; 
    border: 1px solid #000; /* ← Borde negro */
     border-radius: 12px; /* opcional, para que combine con la portada */ 
     padding: 5px; /* opcional, para separar imagen del borde */ 
     overflow: hidden;
    } 
   
 
 /* Portadas */ 
 .book-accordion img {
 width: 100%; 
 height: 200px; 
 object-fit: cover; 
 border-radius: 12px; 
 box-shadow: 0 10px 25px rgba(0,0,0,0.3); transition: box-shadow 0.25s ease; 
}
 /* Hover portada */ 
 .book-accordion:hover img { 
box-shadow: 0 15px 25px rgba(0,0,0,1.35);
 } 
 /* Título */ 
 .book-title { 
text-align: center; 
font-size: 14px; 
margin-top: 10px; 

}


  /* Botones */ 
  .prev-btn, .next-btn { 
position: absolute;
top: 50%; 
transform: translateY(-50%); 
background: white;
 border: none; 
 padding: 10px 15px; 
 cursor: pointer; 
 border-radius: 50%; 
 font-size: 1.2rem; 
 box-shadow: 0 5px 15px rgba(0,0,0,0.2);
  transition: 0.3s ease; 
} 
  
  .prev-btn:hover, 
  .next-btn:hover {
 transform: translateY(-50%) scale(1.1);
 }
  .prev-btn { 
    left: -20px; 
} 
.next-btn { 
right: -15px;
 } 

 .section-title {
    font-size: 3.5rem; /* antes 2.6rem */
    font-weight: 800;
    text-align: center;
    margin-bottom: 25px;
    position: relative;
}

.btn-primary {
    margin-top: 5px !important;
}


 /* ==========================
   videos de lanzamientos
   ========================== */
/* Contenedor de videos */
.video-container {
    display: flex;
    flex-direction: column; 
    align-items: center;    
    gap: 25px;              
    margin: 30px 0;         
    padding: 0 20px;        /* Más espacio lateral */
    width: 100%;             /* Ocupa todo el ancho disponible */
    max-width: 1300px;       /* Limite máximo para no salir de la página */
    box-sizing: border-box;  
}

/* Estilo de cada iframe */
.video-container iframe {
    width: 100%;             /* Ocupa todo el ancho del contenedor */
    height: 450px;           /* Menos altura que antes */
    border-radius: 10px;    
    box-shadow: 0 4px 15px rgba(0,0,0,0.2); 
    border: none;
    transition: transform 0.3s ease, box-s /*titulos de pagina portal  */
 }
.pkp1 {
  font-size: 2.2rem;           /* ajusta el tamaño */
  color: #2c3e50;              /* gris oscuro elegante */
  letter-spacing: 1px;         /* espaciado entre letras */
  text-transform: uppercase;   /* opcional, todas mayúsculas */
}

 /* ==========================
   index libros 
   ========================== */
 
 .pkp_page_index .featured-item{
  position: relative;  
   width: 100%;             /* Ocupa todo el ancho disponible */
    max-width: 1300px;             
  height: auto;                             
  overflow: hidden;             
  box-sizing: border-box;       
  display: flex;
  flex-direction: row;       /* Portada a la izquierda, sinopsis a la derecha */
  justify-content: flex-start;
  align-items: flex-start;
  gap: 25px;                 /* Espacio entre portada y sinopsis */
  flex-wrap: nowrap; 
  border: none !important;
box-shadow: none !important;
outline: none !important;

 }

  /* Títulos de libros H5 */
.pkp_page_index .pkp {
    position: absolute;
    width:100%;
    height: auto;               /* ✔ deja que el contenedor crezca con el texto */
    max-height:50%;            /* opcional, si quieres límite */
    overflow: hidden;
    overflow-wrap: break-word;  /* evita desbordes de palabras largas */
    word-wrap: break-word;      /* compatibilidad */
    white-space: normal;        /* permite que el texto baje */
    
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;

    top: 20px;
    left: 50%;
    transform: translate(-50%, -50%);
    padding-top: 15px;
     padding-bottom: 15px;
}

.pkp h5 {
  width: 100%;                
  text-align: left;           
  font-size: 1.7rem;          
  font-weight: bold;          
  color: #2c3e50;             
  margin: 0;                 
  padding: 0;                
}

 
/* contenedor el libro tre dimencion index  */
  #featuredMonographs .book-container {
  position: relative;
   overflow: visible;
   box-sizing: border-box;
   margin-left:50px;
   margin-top:70px;
    width:150px;
    height:200px;
    display: block;
    -webkit-perspective: 1200px;
    -moz-perspective: 1200px;
    perspective: 1200px
}
 
#featuredMonographs img {
    width: 150px;
    height: 200px;
    object-fit: cover;   /* esto hace que la imagen llene el contenedor */
    object-position: center;
}

/* Contenedor letras */
#featuredMonographs p {
    font-size: 16px;          
    color: rgba(0, 0, 0, 0.6);
    line-height: 1.7;         
    font-family: Arial, sans-serif; 
    font-weight: normal;      
    margin-bottom: 10px;      /* Espaciado inferior */
    text-align: left -10px;         /* Alineación a la izquierda (opcional) */
    word-wrap: break-word;    /* Evita que las palabras largas se desborden */
}

.pkp2 {
 margin-top: 60px;
  padding: 20px;
  border-radius: 6px;
  flex: 1;                  /* Toma el espacio restante sin salirse */
  min-width: 250px;         /* Evita que se haga muy pequeño */
  max-width: 80%;          /* Garantiza que no se desborde */
  overflow: hidden;
}

 
/* === RESPONSIVE DESIGN === */

/* Tablets (hasta 1029px) */
@media (max-width:1030px) {
    
    .featured-item{
       box-sizing: border-box; 
      width:250px;
      max-width: 60%;
      left:0px;           /* evita empujar hacia la derecha */
      margin-right: 0;
      padding: 10px;
      flex-wrap: wrap;
      height: auto;
   
    }
   #featuredMonographs .book-container {
      position: relative;
      margin-top: 85px;
      margin-bottom: -20px;
      margin-left:10px;
        width:150px;
    height:200px;
   }
  .pkp2 {
  width: 100%;
  padding: 1rem 1.5rem;
  overflow: hidden;
  width: 50%;
}
  
   }

/* Tablets (hasta 992px) */
@media (max-width: 992px) {

  .featured-item {
      width: 100%;
      flex-direction: column;
      height: auto;
      padding: 2rem 1rem;
  }

  #featuredMonographs .book-container { 
      margin-top: 70px;
      margin-left:15px;
      width: 150px;
      height: 220px;
      perspective: 1200px;
  }
  #featuredMonographs img {
    width: 150px;
    height: 220px;
    object-fit: cover;   /* esto hace que la imagen llene el contenedor */
    object-position: center;
}


  .pkp {
      position: absolute;
      top: 25px;
  }

  .pkp1 {
      font-size: 1.8rem;
  }

  /* SIN SINOPSIS → reducir margen */
  .pkp2 {
      margin-top: 20px !important;
      width: 60%;
       
        
  }
}

/* Celulares grandes (hasta 768px) */
@media (max-width: 768px) {
  .featured-item {
      flex-direction: column;
      align-items: center;
      text-align: center;
  }

  #featuredMonographs .book-container{ 
  
      width: 180px;
      height: 220px !important;
      margin: 120px 0 30px 0;
  }

  .pkp1 {
      font-size: 1.5rem;
  }

  .pkp {
      position: absolute;
      font-size: 1.1rem;
  }

  /* SIN SINOPSIS */
  .pkp2 {
      width: 95%;
      margin: 20px auto;
      padding: 1rem;
  }
}

/* Celulares pequeños (hasta 480px) */
@media (max-width: 480px) {
  #featuredMonographs .book-container {
      width: 170px;
      height: 220px;
      margin: 180px 0 30px 0;
  }

  .pkp1 {
      font-size: 1.3rem;
  }

  .pkp {
      position: absolute;
      font-size: 1rem;
  }

  

  /* SIN SINOPSIS → espacio ajustado */
  .pkp2 {
      width: 100%;
      margin: 10px auto;
  }
}



/* Estilo para la fecha de publicación */
.fecha-publicacion {
  position: relative;
  display: inline-block;
  background-color: #f8f9fa;     /* fondo gris claro */
  border: 1px solid #ccc;        /* borde sutil */
  border-radius: 8px;            /* esquinas redondeadas */
  padding: 6px 12px;
  font-family: "Segoe UI", Tahomahadow 0.3s ease;
}

/* Efecto hover */
.video-container iframe:hover {
    transform: scale(1.02);
    box-shadow: 0 6px 20px rgba(0,0,0,0.3);
}

/* Responsive */
@media screen and (max-width: 1024px) {
    .video-container iframe {
        height: 350px;
    }
}

@media screen and (max-width: 768px) {
    .video-container iframe {
        width: 100%;
        height: auto;
        aspect-ratio: 16 / 9;
    }
}


 .pkp_page_index h1.title1 {
  font-weight:700;    /* un poco más grueso */
  text-align: center;    /* centrado */
}


/* ======== Cards del Catálogo 0.1 (index) ======== */

/* === TARJETA GENERAL === */
 
.card {
    width: 95%;
    height: 50%;
      max-height: 420px;   /* Ajusta este valor a tu gusto */
    border-radius: 16px;
    overflow: hidden;
    background: #ffffff;
    border: 1px solid #000; /* borde negro igual que el carrusel */
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

/* Hover de la tarjeta */
.card:hover {
    box-shadow: 0 15px 25px rgba(0,0,0,0.35); 
}

/* === IMAGEN === */
.card-img-top {
    height: 200px;
    object-fit: cover;
    width: 100%;
    display: block;
    border-radius: 12px;
    box-shadow: 0 10px 25px rgba(0,0,0,0.3);
    transition: box-shadow 0.15s ease;
}

/* Hover de la imagen */
.card-img-top:hover {
    box-shadow: 0 15px 25px rgba(0,0,0,1.35); /* sombra intensa tipo carrusel */
}

/* === TÍTULO === */
.card-title {
    font-size: 1.15rem;
    font-weight: 700;
    color: #222;
    text-align: center;
}

/* === CONTENIDO === */
.card-body {
    padding: 1.2rem 1rem;
}

/* === BOTONES === */
.card .btn-primary,
.card .btn-secondary {
    transition: 0.25s ease;
    border: none;
}

/* Hover de botones */
.card .btn-primary:hover,
.card .btn-secondary:hover {
    box-shadow: 0 10px 20px rgba(0,0,0,0.35);
    transform: translateY(-2px);
}

/* ==========================
   auxiliares del modal
   ========================== */

.modal {
    z-index: 99999 !important;
}

.modal-backdrop {
    z-index: 99998 !important;
}
.modal.show {
    display: block !important;
}

.modal-backdrop.show {
    opacity: 0.5 !important;
    display: block !important;
}
.modal.fade.show {
    opacity: 1 !important;
    display: block !important;
}

.modal-backdrop.show {
    opacity: 0.5 !important;
}




/* ==========================================================================
   Alineación de tarjetas de libros en la portada (2026-10-20)
   Portada arriba, botones fijos abajo y título centrado en el espacio entre ambos.
   ========================================================================== */

/* --- Novedades (carrusel .book-accordion) --- */
.books-track {
    align-items: stretch;
}
.book-accordion {
    display: flex;
    flex-direction: column;
    height: 440px;
    max-height: none;
}
.book-accordion > a:first-child {
    flex: 0 0 auto;
    display: block;
}
.book-accordion .book-title {
    margin: auto 0;                 /* centra el título en el espacio libre */
    padding: 0 4px;                 /* sin relleno vertical: evita asomar la línea recortada */
    line-height: 1.35;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 6;          /* títulos muy largos: 6 líneas y "…" */
    line-clamp: 6;
    overflow: hidden;
}
.book-accordion .btn {
    flex: 0 0 auto;
}
.book-accordion .book-title + .btn {
    margin-top: 10px;
}

/* --- Catálogo 0.1 (tarjetas .card de la portada) --- */
.pkp_page_index .row > [class*="col-"] > .card {
    display: flex;
    flex-direction: column;
    height: 460px;
    max-height: none;               /* antes 420px + overflow:hidden cortaba "Ver libro" */
}
.pkp_page_index .row > [class*="col-"] > .card > .card-img-top {
    flex: 0 0 auto;
}
.pkp_page_index .row > [class*="col-"] > .card > .card-body {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}
.pkp_page_index .row > [class*="col-"] > .card .card-title {
    margin: auto 0;                 /* centra el título en el espacio libre */
    padding: 0;                     /* sin relleno vertical: evita asomar la línea recortada */
    line-height: 1.3;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;          /* títulos muy largos: 4 líneas y "…" */
    line-clamp: 4;
    overflow: hidden;
}
.pkp_page_index .row > [class*="col-"] > .card .card-body > .btn {
    flex: 0 0 auto;
}
.pkp_page_index .row > [class*="col-"] > .card .card-title + .btn {
    margin-top: 12px;
}
.pkp_page_index .row > [class*="col-"] > .card {
    margin-left: auto;              /* tarjeta (95% de ancho) centrada en su columna */
    margin-right: auto;
}

/* --- Celular: flechas del carrusel de Novedades dentro de la pantalla --- */
@media (max-width: 576px) {
    .carousel-wrapper .prev-btn { left: 2px; }
    .carousel-wrapper .next-btn { right: 2px; }
}

/* ==========================================================================
   Banner principal compacto (2026-10-20)
   Antes: imagen de 500 px + carrusel de 425 px (más de media pantalla).
   Ahora: altura adaptable para que al entrar se vea también el contenido.
   (Selectores con #headerNavigationContainer para ganar a styleSheet.css)
   ========================================================================== */
#headerNavigationContainer {
    --edup-banner-alto: 360px;      /* escritorio */
    --edup-menu-alto: 72px;         /* franja superior con el menú */
}
#headerNavigationContainer .bannel {
    height: var(--edup-banner-alto);
    object-fit: cover;              /* recorta en lugar de estirar */
    object-position: right top;     /* escudos UP/VIP (arriba a la derecha) nunca se cortan */
}
/* Sello QS como imagen propia: siempre visible en la esquina inferior derecha */
#headerNavigationContainer .edup-qs {
    position: absolute;
    z-index: 5;
    right: 3.2%;
    top: calc(var(--edup-banner-alto) - 10px - 8px - clamp(58px, 6.5vw, 96px));
    height: clamp(58px, 6.5vw, 96px);
    width: auto;
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, .45));   /* sello con fondo transparente: la sombra sigue su silueta */
}
#headerNavigationContainer #hero {
    top: var(--edup-menu-alto);
    height: calc(var(--edup-banner-alto) - var(--edup-menu-alto));
    align-items: flex-end !important;   /* textos abajo: no chocan con el logo central */
    padding-bottom: 14px;
}
/* Menú principal fijo arriba (antes dependía de margin-top:-440px, atado al banner de 500 px) */
#headerNavigationContainer .navbar-header {
    top: 0;
    margin-top: 0;
}
/* Franja gris del menú de usuario: justo debajo del banner, sea cual sea su altura */
#headerNavigationContainer .container-2 {
    top: calc(var(--edup-banner-alto) - 10px);
}
#headerNavigationContainer #heroCarousel {
    bottom: 0;
}
#headerNavigationContainer #hero .carousel-container {
    margin-bottom: 0;
}
#headerNavigationContainer #hero h2 {
    font-size: 2.3rem;
    margin-bottom: 8px;
}
#headerNavigationContainer #hero p {
    font-size: 1.45rem;
    margin: 0 auto 14px auto;
}
#headerNavigationContainer #hero .btn-get-started {
    padding: 9px 26px;
    margin: 4px;
}
#headerNavigationContainer #hero .carousel-control-prev,
#headerNavigationContainer #hero .carousel-control-next {
    bottom: 0;
}
#headerNavigationContainer #hero .carousel-control-next-icon,
#headerNavigationContainer #hero .carousel-control-prev-icon {
    height: 120px;
}

@media (max-width: 991px) {
    #headerNavigationContainer { --edup-banner-alto: 320px; }
    #headerNavigationContainer #hero h2 { font-size: 2rem; }
    #headerNavigationContainer #hero p { font-size: 1.25rem; }
}
@media (max-width: 576px) {
    #headerNavigationContainer { --edup-banner-alto: 300px; --edup-menu-alto: 64px; }
    #headerNavigationContainer .bannel { object-position: 52% top; }   /* celular: logo de la Editorial al centro */
    #headerNavigationContainer #hero { padding-bottom: 26px; }          /* buscador dentro del banner */
    #headerNavigationContainer .edup-qs { height: 52px; top: calc(var(--edup-banner-alto) - 10px - 8px - 52px); right: 8px; }
    #headerNavigationContainer #hero h2 { font-size: 1.6rem; margin-bottom: 6px; }
    #headerNavigationContainer #hero p { font-size: 1.05rem; margin-bottom: 10px; }
}

/* ==========================================================================
   Equipo editorial con tarjetas (2026-10-20)
   Estilos por estructura (h2/h3/ul/li) para que sigan funcionando aunque el
   editor del panel quite clases.
   ========================================================================== */
.page_editorial_team {
    --eq-azul: #0b3d91;
    --eq-azul-claro: #e8f0fc;
    --eq-borde: #dbe3ef;
    --eq-texto2: #5a6472;
}
.page_editorial_team .equipo-intro {
    font-size: 1.05rem;
    color: var(--eq-texto2);
    background: var(--eq-azul-claro);
    border-left: 4px solid var(--eq-azul);
    border-radius: 8px;
    padding: 12px 16px;
    margin: 6px 0 24px;
}
.page_editorial_team h2 {
    font-size: 1.35rem;
    font-weight: 700;
    color: var(--eq-azul);
    margin: 30px 0 14px;
    padding-bottom: 6px;
    border-bottom: 2px solid var(--eq-borde);
}
.page_editorial_team h3 {
    font-size: .95rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--eq-texto2);
    margin: 20px 0 10px;
}
.page_editorial_team ul {
    list-style: none;
    padding: 0;
    margin: 0 0 8px;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
    gap: 14px;
}
.page_editorial_team ul > li {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 2px;
    background: #fff;
    border: 1px solid var(--eq-borde);
    border-radius: 12px;
    padding: 14px 14px 12px 70px;
    min-height: 82px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .06);
    transition: box-shadow .2s ease, transform .2s ease;
}
.page_editorial_team ul > li:hover {
    box-shadow: 0 6px 16px rgba(11, 61, 145, .15);
    transform: translateY(-2px);
}
.page_editorial_team .equipo-ini {
    position: absolute;
    left: 14px;
    top: 14px;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: var(--eq-azul);
    color: #fff;
    font-weight: 700;
    font-size: .95rem;
    display: flex;
    align-items: center;
    justify-content: center;
    letter-spacing: .02em;
}
.page_editorial_team ul > li > strong {
    font-size: 1.02rem;
    color: #1d2633;
    line-height: 1.3;
}
.page_editorial_team ul > li > em {
    font-style: normal;
    font-weight: 600;
    color: var(--eq-azul);
    font-size: .92rem;
}
.page_editorial_team .equipo-afil {
    font-size: .85rem;
    color: var(--eq-texto2);
}
.page_editorial_team ul > li > a {
    display: inline-block;
    align-self: flex-start;
    margin-top: 6px;
    font-size: .8rem;
    font-weight: 600;
    text-decoration: none;
    border-radius: 999px;
    padding: 2px 10px 2px 8px;
    border: 1px solid var(--eq-borde);
    color: var(--eq-azul);
}
.page_editorial_team ul > li > a + a {
    margin-top: 4px;
}
.page_editorial_team ul > li > a[href*="orcid.org"]::before {
    content: "iD";
    display: inline-block;
    background: #a6ce39;             /* verde oficial de ORCID */
    color: #fff;
    border-radius: 50%;
    width: 16px;
    height: 16px;
    line-height: 16px;
    text-align: center;
    font-size: .62rem;
    margin-right: 5px;
}
.page_editorial_team ul > li > a[href^="mailto:"]::before {
    content: "\2709";
    margin-right: 5px;
}
.page_editorial_team ul > li > a:hover,
.page_editorial_team ul > li > a:focus {
    background: var(--eq-azul-claro);
    border-color: var(--eq-azul);
}
/* Autoridades y coordinación: tarjetas más destacadas */
.page_editorial_team ul.equipo-autoridades {
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}
.page_editorial_team ul.equipo-autoridades > li {
    border-top: 4px solid var(--eq-azul);
    padding-top: 16px;
}
.page_editorial_team ul.equipo-autoridades .equipo-ini {
    top: 18px;
    width: 46px;
    height: 46px;
}
/* ORCID y correo en la misma línea */
.page_editorial_team ul > li { display: block; }
.page_editorial_team ul > li > strong,
.page_editorial_team ul > li > em,
.page_editorial_team .equipo-afil { display: block; }
.page_editorial_team ul > li > a { margin-top: 8px; }
.page_editorial_team ul > li > a + a { margin-left: 6px; }

/* ==========================================================================
   Botón "Enviar un manuscrito" al inicio de la barra lateral (2026-10-20)
   Antes se veía borroso por text-shadow blanco heredado de estilo.css.
   ========================================================================== */
#sidebar .block_make_submission.edup-enviar {
    background: none;
    box-shadow: none;
    padding: 0;
    margin-bottom: 22px;
}
#sidebar .block_make_submission.edup-enviar .content {
    padding: 0;
    background: none;
}
#sidebar .block_make_submission.edup-enviar a.block_make_submission_link {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    padding: 14px 18px;
    background: linear-gradient(135deg, #0d6efd, #0b3d91);
    color: #fff;
    font-family: inherit;
    font-size: 1.08rem;
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: .01em;
    text-align: center;
    text-decoration: none;
    text-shadow: none;              /* causa de la borrosidad */
    border: 0;
    border-radius: 12px;
    box-shadow: 0 6px 16px rgba(13, 110, 253, .30);
    -webkit-font-smoothing: antialiased;
    transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
}
#sidebar .block_make_submission.edup-enviar a.block_make_submission_link::before {
    content: "\270E";               /* lápiz */
    font-size: 1.2rem;
    line-height: 1;
}
#sidebar .block_make_submission.edup-enviar a.block_make_submission_link:hover,
#sidebar .block_make_submission.edup-enviar a.block_make_submission_link:focus {
    filter: brightness(1.08);
    transform: translateY(-1px);
    box-shadow: 0 10px 22px rgba(13, 110, 253, .38);
    color: #fff;
}
/* Bloque "Objetivos Específicos" (bloque personalizado): sin el marco extra del contenedor */
#sidebar #customblock-objetivosespecificos {
    padding: 0;
    border: 0;
    background: none;
    box-shadow: none;
}
#sidebar #customblock-objetivosespecificos .content {
    padding: 0;
    margin: 0;
}
#sidebar #customblock-objetivosespecificos .content > div {
    margin: 0;
}
#sidebar .block_make_submission.edup-enviar a.block_make_submission_link:focus-visible {
    outline: 3px solid #f6b024;
    outline-offset: 2px;
}

/* ==========================================================================
   Página "Instrucciones" para autores (2026-10-20)
   ========================================================================== */
.edup-instrucciones {
    --in-azul: #0b3d91;
    --in-azul2: #0d6efd;
    --in-claro: #eef4fd;
    --in-borde: #dbe3ef;
    --in-texto2: #4f5b6b;
    font-size: 1.02rem;
    line-height: 1.65;
    color: #1f2733;
    max-width: 920px;
}
.edup-instrucciones h2 {
    scroll-margin-top: 90px;        /* el menú fijo no tapa el título al usar el índice */
    font-size: 1.4rem;
    font-weight: 700;
    color: var(--in-azul);
    margin: 42px 0 14px;
    padding-bottom: 8px;
    border-bottom: 2px solid var(--in-borde);
}
.edup-instrucciones h3 {
    font-size: 1.08rem;
    font-weight: 700;
    color: #1f2733;
    margin: 22px 0 8px;
}
.edup-instrucciones .edup-lead {
    font-size: 1.12rem;
    color: var(--in-texto2);
    margin-bottom: 18px;
}
.edup-instrucciones .edup-nota {
    background: var(--in-claro);
    border-left: 4px solid var(--in-azul2);
    border-radius: 8px;
    padding: 10px 14px;
    font-size: .96rem;
}
/* Botones de acción */
.edup-instrucciones .edup-acciones {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 16px 0 24px;
}
.edup-instrucciones a.edup-btn {
    display: inline-block;
    padding: 11px 22px;
    border-radius: 10px;
    background: linear-gradient(135deg, var(--in-azul2), var(--in-azul));
    color: #fff;
    font-weight: 700;
    text-decoration: none;
    text-shadow: none;
    box-shadow: 0 4px 12px rgba(13, 110, 253, .25);
}
.edup-instrucciones a.edup-btn:hover, .edup-instrucciones a.edup-btn:focus { filter: brightness(1.08); color: #fff; }
.edup-instrucciones a.edup-btn.edup-btn-sec {
    background: #fff;
    color: var(--in-azul);
    border: 2px solid var(--in-azul2);
    box-shadow: none;
}
/* Índice */
.edup-instrucciones .edup-indice {
    background: #fff;
    border: 1px solid var(--in-borde);
    border-radius: 12px;
    padding: 14px 18px 8px;
    margin: 6px 0 10px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .05);
}
.edup-instrucciones .edup-indice p { margin: 0 0 6px; color: var(--in-texto2); }
.edup-instrucciones .edup-indice ol {
    columns: 2 260px;
    column-gap: 28px;
    margin: 0;
    padding-left: 20px;
}
.edup-instrucciones .edup-indice li { margin-bottom: 6px; break-inside: avoid; }
.edup-instrucciones .edup-indice a { text-decoration: none; }
.edup-instrucciones .edup-indice a:hover { text-decoration: underline; }
/* Tablas */
.edup-instrucciones table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    border: 1px solid var(--in-borde);
    border-radius: 10px;
    overflow: hidden;
    margin: 10px 0 16px;
    font-size: .96rem;
    overflow-wrap: break-word;      /* parte palabras solo si no caben */
}
.edup-instrucciones table th {
    background: var(--in-azul);
    color: #fff;
    text-align: left;
    font-weight: 600;
    padding: 10px 12px;
}
.edup-instrucciones table td {
    padding: 9px 12px;
    border-top: 1px solid var(--in-borde);
    vertical-align: top;
}
.edup-instrucciones table tbody tr:nth-child(even) td { background: #f7f9fc; }
.edup-instrucciones table td:first-child { font-weight: 600; }
/* Bloques de partes del libro */
.edup-instrucciones .edup-partes {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));   /* 2×2 en escritorio */
    gap: 14px;
    margin: 12px 0;
}
.edup-instrucciones .edup-partes > div {
    background: #fff;
    border: 1px solid var(--in-borde);
    border-top: 4px solid var(--in-azul2);
    border-radius: 10px;
    padding: 4px 16px 10px;
}
.edup-instrucciones .edup-partes h3 { margin-top: 12px; color: var(--in-azul); }
.edup-instrucciones .edup-partes ol, .edup-instrucciones .edup-partes ul { padding-left: 20px; }
/* Pasos del proceso editorial */
.edup-instrucciones ol.edup-pasos {
    list-style: none;
    counter-reset: paso;
    padding: 0;
    margin: 16px 0 10px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);                          /* 3×2 en escritorio */
    gap: 12px;
}
.edup-instrucciones ol.edup-pasos > li {
    counter-increment: paso;
    position: relative;
    background: var(--in-claro);
    border-radius: 12px;
    padding: 44px 12px 12px;
    text-align: center;
    font-size: .92rem;
    line-height: 1.4;
}
.edup-instrucciones ol.edup-pasos > li::before {
    content: counter(paso);
    position: absolute;
    top: 10px;
    left: 50%;
    transform: translateX(-50%);
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--in-azul);
    color: #fff;
    font-weight: 700;
    line-height: 28px;
}
.edup-instrucciones ol.edup-pasos > li strong { display: block; color: var(--in-azul); margin-bottom: 4px; }
.edup-instrucciones ol.edup-pasos > li span { color: var(--in-texto2); }
/* Lista de verificación */
.edup-instrucciones ul.edup-check { list-style: none; padding: 0; }
.edup-instrucciones ul.edup-check > li {
    position: relative;
    padding: 8px 12px 8px 42px;
    margin-bottom: 6px;
    background: #fff;
    border: 1px solid var(--in-borde);
    border-radius: 8px;
}
.edup-instrucciones ul.edup-check > li::before {
    content: "";
    position: absolute;
    left: 13px;
    top: 11px;
    width: 18px;
    height: 18px;
    border: 2px solid var(--in-azul2);
    border-radius: 4px;
}
/* En Politicas, la lista de condiciones lleva marca verde en vez de casilla vacia */
.edup-politicas ul.edup-check > li::before {
    content: "\2713";
    border: 0;
    border-radius: 50%;
    background: #e5f4e4;
    color: #1e7d32;
    font-weight: 700;
    font-size: .8rem;
    line-height: 20px;
    width: 20px;
    height: 20px;
    text-align: center;
    top: 10px;
}
@media (max-width: 576px) {
    .edup-instrucciones ol.edup-pasos { grid-template-columns: repeat(2, 1fr); }
    .edup-instrucciones table { font-size: .9rem; }
    .edup-instrucciones table th, .edup-instrucciones table td { padding: 8px; }
}
@media print {
    .edup-instrucciones .edup-acciones, .edup-instrucciones .edup-indice { display: none; }
}

/* ==========================================================================
   Página "Acerca de" (2026-10-21)
   ========================================================================== */
.edup-acerca {
    --ac-azul: #0b3d91;
    --ac-azul2: #0d6efd;
    --ac-claro: #eef4fd;
    --ac-borde: #dbe3ef;
    --ac-texto2: #4f5b6b;
    font-size: 1.02rem;
    line-height: 1.65;
    color: #1f2733;
    max-width: 920px;
}
.edup-acerca h2 {
    font-size: 1.4rem;
    font-weight: 700;
    color: var(--ac-azul);
    margin: 38px 0 14px;
    padding-bottom: 8px;
    border-bottom: 2px solid var(--ac-borde);
}
/* Presentación */
.edup-acerca .edup-hero {
    background: linear-gradient(135deg, var(--ac-azul) 0%, #134ba8 60%, var(--ac-azul2) 100%);
    color: #fff;
    border-radius: 16px;
    padding: 26px 28px 22px;
    box-shadow: 0 10px 28px rgba(11, 61, 145, .25);
}
.edup-acerca .edup-hero p { margin: 0 0 12px; font-size: 1.08rem; }
.edup-acerca .edup-hero strong { color: #fff; }
.edup-acerca .edup-hero .edup-hero-titulo {
    font-size: 1.6rem;
    font-weight: 800;
    letter-spacing: .01em;
    margin-bottom: 8px;
}
.edup-acerca .edup-acciones { display: flex; flex-wrap: wrap; gap: 10px; margin: 16px 0 0; }
.edup-acerca a.edup-btn {
    display: inline-block;
    padding: 11px 22px;
    border-radius: 10px;
    background: #f6b024;
    color: #1f2733;
    font-weight: 700;
    text-decoration: none;
    text-shadow: none;
    box-shadow: 0 4px 12px rgba(0, 0, 0, .18);
}
.edup-acerca a.edup-btn:hover, .edup-acerca a.edup-btn:focus { filter: brightness(1.06); color: #1f2733; }
.edup-acerca a.edup-btn.edup-btn-sec {
    background: transparent;
    color: #fff;
    border: 2px solid rgba(255, 255, 255, .85);
    box-shadow: none;
}
.edup-acerca a.edup-btn.edup-btn-sec:hover { background: rgba(255, 255, 255, .12); color: #fff; }
/* Datos clave */
.edup-acerca ul.edup-datos {
    list-style: none;
    padding: 0;
    margin: 18px 0 6px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
}
.edup-acerca ul.edup-datos > li {
    background: #fff;
    border: 1px solid var(--ac-borde);
    border-radius: 12px;
    padding: 14px 12px;
    text-align: center;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .05);
}
.edup-acerca ul.edup-datos strong { display: block; font-size: 1.12rem; color: var(--ac-azul); }
.edup-acerca ul.edup-datos span { display: block; font-size: .9rem; color: var(--ac-texto2); }
/* Líneas de producción */
.edup-acerca ul.edup-lineas {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 12px;
}
.edup-acerca ul.edup-lineas > li {
    position: relative;
    background: #fff;
    border: 1px solid var(--ac-borde);
    border-radius: 12px;
    padding: 14px 14px 14px 62px;
    min-height: 74px;
}
.edup-acerca ul.edup-lineas .edup-ico {
    position: absolute;
    left: 14px;
    top: 14px;
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: var(--ac-claro);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
}
.edup-acerca ul.edup-lineas strong { display: block; color: #1f2733; }
.edup-acerca ul.edup-lineas li > span:not(.edup-ico) { display: block; font-size: .93rem; color: var(--ac-texto2); line-height: 1.45; }
/* Compromisos */
.edup-acerca ul.edup-compromisos { list-style: none; padding: 0; margin: 0; columns: 2 300px; column-gap: 24px; }
.edup-acerca ul.edup-compromisos > li {
    position: relative;
    padding: 6px 0 6px 30px;
    break-inside: avoid;
}
.edup-acerca ul.edup-compromisos > li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 6px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #e5f4e4;
    color: #1e7d32;
    font-weight: 700;
    font-size: .8rem;
    line-height: 20px;
    text-align: center;
}
/* Enlaces */
.edup-acerca ul.edup-enlaces { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.edup-acerca ul.edup-enlaces a {
    display: inline-block;
    padding: 8px 16px;
    border: 1px solid var(--ac-borde);
    border-radius: 999px;
    background: #fff;
    color: var(--ac-azul);
    font-weight: 600;
    text-decoration: none;
}
.edup-acerca ul.edup-enlaces a:hover, .edup-acerca ul.edup-enlaces a:focus { background: var(--ac-claro); border-color: var(--ac-azul2); }
@media (max-width: 768px) {
    .edup-acerca ul.edup-datos { grid-template-columns: repeat(2, 1fr); }
    .edup-acerca .edup-hero { padding: 20px 18px 16px; }
    .edup-acerca .edup-hero .edup-hero-titulo { font-size: 1.35rem; }
}

/* ==========================================================================
   Aviso de cookies y videos con carga bajo demanda (2026-10-21)
   ========================================================================== */
.edup-cookies {
    position: fixed;
    left: 16px;
    right: 16px;
    bottom: 16px;
    z-index: 1990;                  /* por debajo de la ventana de bienvenida (2000) */
    max-width: 880px;
    margin: 0 auto;
    background: #fff;
    border: 1px solid #dbe3ef;
    border-left: 5px solid #0d6efd;
    border-radius: 12px;
    box-shadow: 0 12px 32px rgba(0, 0, 0, .22);
    padding: 16px 18px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px 18px;
    font-size: .97rem;
    line-height: 1.5;
    color: #1f2733;
}
.edup-cookies-texto { margin: 0; flex: 1 1 380px; }
.edup-cookies-texto a { color: #0b3d91; font-weight: 600; text-decoration: underline; }
.edup-cookies-botones { display: flex; gap: 10px; flex-wrap: wrap; }
.edup-cookies button {
    border-radius: 10px;
    padding: 10px 18px;
    font-weight: 700;
    font-size: .95rem;
    cursor: pointer;
    text-shadow: none;
}
.edup-cookies .edup-cookies-pri { background: linear-gradient(135deg, #0d6efd, #0b3d91); color: #fff; border: 0; }
.edup-cookies .edup-cookies-sec { background: #fff; color: #0b3d91; border: 2px solid #0d6efd; }
.edup-cookies button:hover, .edup-cookies button:focus { filter: brightness(1.08); }
.edup-cookies button:focus-visible { outline: 3px solid #f6b024; outline-offset: 2px; }
.edup-cookies-pref-cont { text-align: center; padding: 10px 0 14px; }
.edup-cookies-pref { color: inherit; opacity: .85; font-size: .9rem; text-decoration: underline; }
/* Video con carga bajo demanda */
.edup-video {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: linear-gradient(135deg, #0b3d91, #134ba8);
    border-radius: 10px;
    color: #fff;
    text-align: center;
    padding: 16px;
}
.edup-video iframe { width: 100%; height: 100%; }
.edup-video-btn {
    background: #f6b024;
    color: #1f2733;
    border: 0;
    border-radius: 999px;
    padding: 12px 26px;
    font-weight: 800;
    font-size: 1.05rem;
    cursor: pointer;
    box-shadow: 0 6px 16px rgba(0, 0, 0, .25);
}
.edup-video-btn:hover, .edup-video-btn:focus { filter: brightness(1.06); }
.edup-video-nota { margin: 0; font-size: .85rem; opacity: .9; max-width: 420px; }
@media (max-width: 576px) {
    .edup-cookies { left: 8px; right: 8px; bottom: 8px; padding: 14px; }
    .edup-cookies-botones { width: 100%; }
    .edup-cookies-botones button { flex: 1 1 auto; }
}
@media print { .edup-cookies, .edup-cookies-pref-cont { display: none; } }

/* ==========================================================================
   Pagina de Contacto (2026-10-21)
   ========================================================================== */
.edup-contacto { max-width: 920px; color: #1f2733; }
.edup-contacto .edup-lead { font-size: 1.12rem; color: #4f5b6b; margin: 6px 0 22px; }
.edup-contacto h2 {
    font-size: 1.35rem;
    font-weight: 700;
    color: #0b3d91;
    margin: 34px 0 12px;
    padding-bottom: 8px;
    border-bottom: 2px solid #dbe3ef;
}
.edup-contacto-tarjetas {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 16px;
}
.edup-contacto .edup-contacto-tarjeta {
    position: relative;
    background: #fff;
    border: 1px solid #dbe3ef;
    border-top: 5px solid #0d6efd;
    border-radius: 14px;
    padding: 18px 20px 16px 20px;
    box-shadow: 0 4px 14px rgba(11, 61, 145, .08);
}
.edup-contacto .edup-contacto-tarjeta h2 {
    margin: 0 0 10px 52px;
    padding: 0;
    border: 0;
    font-size: 1.2rem;
    line-height: 40px;
}
.edup-contacto-ico {
    position: absolute;
    left: 18px;
    top: 18px;
    width: 40px;
    height: 40px;
    border-radius: 12px;
    background: #eef4fd;
    color: #0b3d91;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
}
.edup-contacto-nombre { font-weight: 700; font-size: 1.05rem; margin: 0 0 2px; }
.edup-contacto-cargo, .edup-contacto-afil { margin: 0 0 2px; color: #4f5b6b; font-size: .95rem; }
.edup-contacto-para {
    margin: 10px 0 12px;
    font-size: .95rem;
    background: #f7f9fc;
    border-radius: 8px;
    padding: 8px 12px;
    color: #384354;
}
.edup-contacto-datos { list-style: none; padding: 0; margin: 0; }
.edup-contacto-datos li { display: flex; align-items: baseline; gap: 10px; padding: 6px 0; border-top: 1px solid #eef1f5; flex-wrap: wrap; }
.edup-contacto-etq {
    min-width: 92px;
    font-size: .8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #6b7686;
}
.edup-contacto-datos a { color: #0b3d91; font-weight: 600; word-break: break-all; }
.edup-contacto-enlaces, .edup-contacto-redes { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.edup-contacto-enlaces a, .edup-contacto-redes a {
    display: inline-block;
    padding: 8px 16px;
    border: 1px solid #dbe3ef;
    border-radius: 999px;
    background: #fff;
    color: #0b3d91;
    font-weight: 600;
    text-decoration: none;
}
.edup-contacto-enlaces a:hover, .edup-contacto-redes a:hover,
.edup-contacto-enlaces a:focus, .edup-contacto-redes a:focus { background: #eef4fd; border-color: #0d6efd; }
.edup-contacto-direccion p { margin: 0; }

/* ==========================================================================
   Pagina "Lanzamientos" (2026-10-21)
   ========================================================================== */
.edup-lanz { color: #1f2733; }
.edup-lanz .edup-lead { font-size: 1.12rem; color: #4f5b6b; margin: 6px 0 14px; max-width: 920px; }
.edup-lanz-barra { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin: 0 0 18px; }
.edup-lanz-total { font-weight: 700; color: #0b3d91; }
.edup-lanz a.edup-lanz-canal {
    display: inline-block; padding: 9px 18px; border-radius: 10px;
    background: #c4302b; color: #fff; font-weight: 700; text-decoration: none;
}
.edup-lanz a.edup-lanz-canal:hover, .edup-lanz a.edup-lanz-canal:focus { filter: brightness(1.08); color: #fff; }
.edup-lanz-lista {
    list-style: none; padding: 0; margin: 0;
    display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 18px;
}
.edup-lanz-item {
    background: #fff; border: 1px solid #dbe3ef; border-radius: 14px; overflow: hidden;
    box-shadow: 0 4px 14px rgba(11, 61, 145, .08); display: flex; flex-direction: column;
    transition: box-shadow .2s ease, transform .2s ease;
}
.edup-lanz-item:hover { box-shadow: 0 10px 24px rgba(11, 61, 145, .16); transform: translateY(-2px); }
/* Recuadro del video: portada del libro de fondo; se carga YouTube al pulsar (o con consentimiento) */
.edup-lanz .edup-video {
    position: relative; aspect-ratio: 16 / 9; height: auto; border-radius: 0;
    background-color: #0b3d91; background-position: center; background-size: contain; background-repeat: no-repeat;
}
.edup-lanz .edup-video::before {
    content: ""; position: absolute; inset: 0;
    background: linear-gradient(180deg, rgba(11, 61, 145, .15) 0%, rgba(11, 61, 145, .55) 100%);
}
.edup-lanz .edup-video > * { position: relative; z-index: 1; }
.edup-lanz .edup-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border-radius: 0 !important; }
.edup-lanz .edup-video .edup-video-nota { display: none; }   /* la nota se muestra una sola vez abajo */
.edup-lanz-info { padding: 14px 16px 16px; display: flex; flex-direction: column; flex: 1 1 auto; }
.edup-lanz-fecha { margin: 0 0 4px; font-size: .82rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: #6b7686; }
.edup-lanz h2.edup-lanz-titulo { font-size: 1.05rem; line-height: 1.35; margin: 0 0 12px; color: #1f2733; font-weight: 700; border: 0; padding: 0; }
.edup-lanz-acciones { margin: auto 0 0; display: flex; flex-wrap: wrap; gap: 8px; }
.edup-lanz-acciones a { display: inline-block; padding: 7px 14px; border-radius: 999px; font-weight: 600; font-size: .9rem; text-decoration: none; }
.edup-lanz a.edup-lanz-libro { background: linear-gradient(135deg, #0d6efd, #0b3d91); color: #fff; }
.edup-lanz a.edup-lanz-yt { border: 1px solid #dbe3ef; color: #0b3d91; background: #fff; }
.edup-lanz a.edup-lanz-libro:hover { color: #fff; filter: brightness(1.08); }
.edup-lanz a.edup-lanz-yt:hover { background: #eef4fd; border-color: #0d6efd; }
.edup-lanz .edup-nota { margin-top: 22px; background: #eef4fd; border-left: 4px solid #0d6efd; border-radius: 8px; padding: 10px 14px; }

/* ==========================================================================
   Pagina "Convocatorias" (2026-10-21)
   ========================================================================== */
.edup-conv { color: #1f2733; max-width: 960px; }
.edup-conv h2 { font-size: 1.35rem; font-weight: 700; color: #0b3d91; margin: 34px 0 12px; padding-bottom: 8px; border-bottom: 2px solid #dbe3ef; }
.edup-conv-hero {
    background: linear-gradient(135deg, #0b3d91 0%, #04163a 100%);
    color: #fff; border-radius: 18px; padding: 28px 30px 24px; position: relative; overflow: hidden;
    box-shadow: 0 8px 24px rgba(11, 61, 145, .22);
}
.edup-conv-hero::after {
    content: ""; position: absolute; right: -90px; top: -90px; width: 260px; height: 260px;
    border: 12px solid rgba(245, 181, 27, .55); border-radius: 50%;
}
.edup-conv-sello {
    display: inline-block; margin: 0 0 10px; padding: 4px 14px; border-radius: 999px;
    background: #f5b51b; color: #04163a; font-weight: 800; font-size: .85rem; letter-spacing: .04em; text-transform: uppercase;
}
.edup-conv .edup-conv-hero h2.edup-conv-titulo { color: #fff; border: 0; padding: 0; margin: 0 0 12px; font-size: 1.9rem; line-height: 1.2; }
.edup-conv-fechas { margin: 0 0 10px; font-size: 1.1rem; }
.edup-conv-fechas span { display: block; font-size: .8rem; text-transform: uppercase; letter-spacing: .06em; color: #c8d6ec; }
.edup-conv-fechas strong { font-size: 1.6rem; color: #f5b51b; }
.edup-conv-sub { color: #dbe5f5; margin: 0 0 18px; max-width: 700px; }
.edup-conv-botones { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; position: relative; z-index: 1; }
.edup-conv a.edup-conv-btn {
    display: inline-block; padding: 10px 20px; border-radius: 10px; font-weight: 700; text-decoration: none;
    border: 2px solid rgba(255, 255, 255, .7); color: #fff;
}
.edup-conv a.edup-conv-btn:hover, .edup-conv a.edup-conv-btn:focus { background: rgba(255, 255, 255, .12); color: #fff; }
.edup-conv a.edup-conv-btn-oro { background: #f5b51b; border-color: #f5b51b; color: #04163a; }
.edup-conv a.edup-conv-btn-oro:hover, .edup-conv a.edup-conv-btn-oro:focus { background: #ffc943; color: #04163a; }
.edup-conv-video { margin: 22px 0 6px; border-radius: 14px; overflow: hidden; background: #04163a; box-shadow: 0 4px 14px rgba(11, 61, 145, .15); }
.edup-conv-video video { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; }
.edup-conv-hitos { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 14px; }
.edup-conv-hitos li {
    background: #fff; border: 1px solid #dbe3ef; border-top: 5px solid #0d6efd; border-radius: 12px; padding: 14px 16px;
    display: flex; flex-direction: column; gap: 4px; box-shadow: 0 4px 12px rgba(11, 61, 145, .06);
}
.edup-conv-hitos li:nth-child(-n+2) { border-top-color: #f5b51b; }
.edup-conv-hito-etq { font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: #6b7686; }
.edup-conv-hitos strong { font-size: 1.2rem; color: #0b3d91; }
.edup-conv-hitos li > span:last-child { font-size: .92rem; color: #4f5b6b; }
.edup-conv-tipos { list-style: none; padding: 0; margin: 0 0 12px; display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 10px; }
.edup-conv-tipos li { background: #f7f9fc; border-left: 4px solid #0d6efd; border-radius: 8px; padding: 10px 14px; display: flex; flex-direction: column; }
.edup-conv-tipos strong { color: #0b3d91; }
.edup-conv-tipos span { font-size: .92rem; color: #4f5b6b; }
.edup-conv-check { list-style: none; padding: 0; margin: 0 0 12px; }
.edup-conv-check li { position: relative; padding: 6px 0 6px 32px; border-bottom: 1px solid #eef1f5; }
.edup-conv-check li::before {
    content: "\2713"; position: absolute; left: 0; top: 6px; width: 22px; height: 22px; border-radius: 50%;
    background: #1e9e5a; color: #fff; font-size: .8rem; font-weight: 700; display: flex; align-items: center; justify-content: center;
}
.edup-conv-pasos { list-style: none; counter-reset: paso; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 12px; }
.edup-conv-pasos li { counter-increment: paso; background: #fff; border: 1px solid #dbe3ef; border-radius: 12px; padding: 50px 14px 14px; position: relative; }
.edup-conv-pasos li::before {
    content: counter(paso); position: absolute; left: 14px; top: 12px; width: 30px; height: 30px; border-radius: 50%;
    background: linear-gradient(135deg, #0d6efd, #0b3d91); color: #fff; font-weight: 800; display: flex; align-items: center; justify-content: center;
}
.edup-conv .edup-conv-nota { margin-top: 22px; background: #eef4fd; border-left: 4px solid #0d6efd; border-radius: 8px; padding: 10px 14px; }
@media (max-width: 600px) {
    .edup-conv-hero { padding: 22px 18px 20px; }
    .edup-conv .edup-conv-hero h2.edup-conv-titulo { font-size: 1.45rem; }
    .edup-conv-fechas strong { font-size: 1.3rem; }
}

/* ==========================================================================
   Pagina "Metricas" (2026-10-21)
   ========================================================================== */
.edup-met-intro .edup-lead { font-size: 1.12rem; color: #4f5b6b; margin: 6px 0 18px; max-width: 920px; }
#edup-metricas { color: #1f2733; min-height: 200px; }
.edup-met-cargando { color: #6b7686; }
.edup-met-kpis { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-bottom: 18px; }
.edup-met-kpi {
    background: linear-gradient(135deg, #0b3d91 0%, #04163a 100%); color: #fff; border-radius: 14px; padding: 16px 16px 14px;
    display: flex; flex-direction: column; gap: 2px; box-shadow: 0 6px 16px rgba(11, 61, 145, .18);
}
.edup-met-kpi:nth-child(3n+2) { background: linear-gradient(135deg, #0d6efd 0%, #0b3d91 100%); }
.edup-met-kpi:last-child { background: linear-gradient(135deg, #f5b51b 0%, #e09a00 100%); color: #04163a; }
.edup-met-kpi strong { font-size: 2rem; line-height: 1.1; font-weight: 800; font-variant-numeric: tabular-nums; }
.edup-met-kpi span { font-weight: 700; font-size: .95rem; }
.edup-met-kpi small { opacity: .8; font-size: .78rem; }
.edup-met-card {
    background: #fff; border: 1px solid #dbe3ef; border-radius: 14px; padding: 16px 18px; margin-bottom: 16px;
    box-shadow: 0 4px 14px rgba(11, 61, 145, .07); min-width: 0;
}
.edup-met-card h2 { font-size: 1.15rem; font-weight: 700; color: #0b3d91; margin: 0 0 12px; padding: 0; border: 0; }
.edup-met-fila { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 16px; }
.edup-met-fila > .edup-met-card { margin-bottom: 16px; }
.edup-met-svg { width: 100%; height: auto; display: block; overflow: visible; }
.edup-met-grid { stroke: #e6ebf3; stroke-width: 1; }
.edup-met-eje { font-size: 12px; fill: #6b7686; font-family: inherit; }
.edup-met-valor { font-size: 13px; fill: #0b3d91; font-weight: 700; font-family: inherit; }
.edup-met-leyenda { display: flex; flex-wrap: wrap; gap: 16px; margin: 8px 0 0; font-size: .9rem; color: #4f5b6b; }
.edup-met-leyenda i, .edup-met-cats i { display: inline-block; width: 12px; height: 12px; border-radius: 3px; margin-right: 6px; vertical-align: -1px; }
.edup-met-top { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(380px, 1fr)); gap: 6px 22px; }
.edup-met-top li { display: flex; align-items: center; gap: 10px; padding: 6px 0; border-bottom: 1px solid #eef1f5; min-width: 0; }
.edup-met-pos { flex: 0 0 26px; height: 26px; border-radius: 50%; background: #eef4fd; color: #0b3d91; font-weight: 800; font-size: .85rem; display: flex; align-items: center; justify-content: center; }
.edup-met-top li:nth-child(-n+3) .edup-met-pos { background: #f5b51b; color: #04163a; }
.edup-met-top a { display: flex; align-items: center; gap: 12px; text-decoration: none; color: inherit; min-width: 0; flex: 1 1 auto; }
.edup-met-top img, .edup-met-sinport { flex: 0 0 44px; width: 44px; height: 62px; object-fit: cover; border-radius: 4px; background: #dbe3ef; box-shadow: 0 2px 6px rgba(0, 0, 0, .15); }
.edup-met-info { display: flex; flex-direction: column; gap: 4px; min-width: 0; flex: 1 1 auto; }
.edup-met-tit { font-weight: 700; font-size: .95rem; line-height: 1.25; color: #1f2733; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.edup-met-top a:hover .edup-met-tit, .edup-met-top a:focus .edup-met-tit { color: #0d6efd; text-decoration: underline; }
.edup-met-barra { display: block; height: 8px; background: #eef1f5; border-radius: 4px; overflow: hidden; }
.edup-met-barra i { display: block; height: 100%; background: linear-gradient(90deg, #0d6efd, #0b3d91); border-radius: 4px; }
.edup-met-cifras { font-size: .82rem; color: #6b7686; }
.edup-met-dona-w { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.edup-met-dona { width: 190px; height: 190px; flex: 0 0 auto; }
.edup-met-dona-n { font-size: 34px; font-weight: 800; fill: #0b3d91; font-family: inherit; }
.edup-met-cats { list-style: none; margin: 0; padding: 0; flex: 1 1 160px; }
.edup-met-cats li { display: flex; align-items: center; gap: 4px; padding: 5px 0; border-bottom: 1px solid #eef1f5; font-size: .92rem; }
.edup-met-cats li span { flex: 1 1 auto; }
.edup-met-paises { list-style: none; margin: 0; padding: 0; }
.edup-met-paises li { display: grid; grid-template-columns: minmax(110px, 40%) 1fr auto; align-items: center; gap: 10px; padding: 5px 0; font-size: .92rem; }
.edup-met-pais { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.edup-met-nota, .edup-met-vacio { color: #6b7686; font-size: .88rem; margin: 10px 0 0; }
.edup-met-vacio { background: #f7f9fc; border-radius: 8px; padding: 12px 14px; }
.edup-met-metodo { font-size: .85rem; color: #6b7686; background: #f7f9fc; border-left: 4px solid #dbe3ef; border-radius: 6px; padding: 10px 14px; margin-top: 4px; }
.edup-met-calidad { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 10px; }
.edup-met-calidad li { background: #f7f9fc; border-left: 4px solid #1e9e5a; border-radius: 8px; padding: 10px 14px; display: flex; flex-direction: column; }
.edup-met-calidad strong { color: #0b3d91; }
.edup-met-calidad span { font-size: .9rem; color: #4f5b6b; }
.edup-met-cta {
    margin-top: 22px; background: linear-gradient(135deg, #0b3d91 0%, #04163a 100%); color: #fff; border-radius: 16px; padding: 22px 24px;
    display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px;
}
.edup-met-cta p { margin: 0; font-size: 1.1rem; max-width: 560px; }
.edup-met-cta strong { color: #f5b51b; }
.edup-met-cta a { display: inline-block; padding: 10px 20px; border-radius: 10px; background: #f5b51b; color: #04163a; font-weight: 800; text-decoration: none; }
.edup-met-cta a.edup-met-cta-2 { background: transparent; border: 2px solid rgba(255, 255, 255, .7); color: #fff; }
.edup-met-cta a:hover, .edup-met-cta a:focus { filter: brightness(1.08); }
@media (max-width: 600px) {
    .edup-met-kpis { grid-template-columns: repeat(2, 1fr); }
    .edup-met-top { grid-template-columns: 1fr; }
    .edup-met-kpi strong { font-size: 1.6rem; }
    .edup-met-dona { width: 160px; height: 160px; }
}
/* Audiencia (Google Analytics) */
h2.edup-met-seccion { font-size: 1.35rem; color: #0b3d91; margin: 26px 0 12px; padding-bottom: 8px; border-bottom: 2px solid #dbe3ef; display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
h2.edup-met-seccion small { font-size: .8rem; font-weight: 600; color: #6b7686; background: #eef4fd; border-radius: 999px; padding: 2px 10px; }
.edup-met-kpis-ga .edup-met-kpi:last-child { background: linear-gradient(135deg, #1e9e5a 0%, #11693b 100%); color: #fff; }
.edup-met-mapa-w { display: grid; grid-template-columns: minmax(0, 1.8fr) minmax(250px, 1fr); gap: 18px; align-items: start; }
.edup-met-mapa { min-width: 0; }
.edup-met-pais-geo { stroke: #fff; stroke-width: .6; transition: opacity .15s; }
.edup-met-pais-geo:hover { opacity: .75; stroke: #04163a; stroke-width: 1; }
.edup-met-pa { stroke: #f5b51b; stroke-width: 1.6; }
.edup-met-escala { display: flex; align-items: center; gap: 4px; font-size: .8rem; color: #6b7686; margin: 8px 0 0; }
.edup-met-escala i { display: inline-block; width: 28px; height: 10px; border-radius: 2px; }
.edup-met-escala span { margin: 0 4px; }
.edup-met-secc li { grid-template-columns: minmax(140px, 55%) 1fr auto; }
@media (max-width: 760px) { .edup-met-mapa-w { grid-template-columns: 1fr; } }
/* ==========================================================================
   Pie de pagina renovado (2026-10-22)
   ========================================================================== */
.pkp_structure_content::after { content: ""; display: table; clear: both; }
#footer.edup-pie {
    clear: both;
    margin-top: 56px;
    background: linear-gradient(180deg, #0b3d91 0%, #04163a 100%);
    color: #dbe5f5;
    font-size: .95rem;
    border-top: 5px solid #f5b51b;
}
#footer.edup-pie a { color: #fff; text-decoration: none; }
#footer.edup-pie a:hover, #footer.edup-pie a:focus { color: #f5b51b; text-decoration: underline; }
#footer.edup-pie a:focus-visible { outline: 2px solid #f5b51b; outline-offset: 2px; border-radius: 4px; }
#footer.edup-pie svg { width: 18px; height: 18px; flex: 0 0 auto; }
#footer .edup-pie-panel { background: rgba(255, 255, 255, .06); padding: 14px 0; }

/* Franja de invitacion */
#footer .edup-pie-cta { background: rgba(255, 255, 255, .07); border-bottom: 1px solid rgba(255, 255, 255, .1); }
#footer .edup-pie-cta .container { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; padding-top: 16px; padding-bottom: 16px; }
#footer .edup-pie-cta p { margin: 0; font-size: 1.05rem; color: #fff; }
#footer .edup-pie-cta strong { color: #f5b51b; }
#footer.edup-pie a.edup-pie-cta-btn {
    display: inline-block; padding: 9px 20px; border-radius: 10px; background: #f5b51b; color: #04163a;
    font-weight: 800; text-decoration: none; white-space: nowrap;
}
#footer.edup-pie a.edup-pie-cta-btn:hover, #footer.edup-pie a.edup-pie-cta-btn:focus { background: #ffc943; color: #04163a; text-decoration: none; }

/* Columnas */
#footer .edup-pie-principal { padding: 38px 0 26px; }
#footer .edup-pie-grid { display: grid; grid-template-columns: 1.5fr .9fr 1.1fr 1.45fr; gap: 28px 32px; }
#footer .edup-pie-grid::before, #footer .edup-pie-grid::after { display: none; }   /* .container de Bootstrap 3 usa clearfix */
#footer.edup-pie h2 {
    font-size: .82rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; color: #f5b51b;
    margin: 6px 0 14px; padding: 0; border: 0; font-family: inherit;
}
#footer.edup-pie ul { list-style: none; margin: 0; padding: 0; }
#footer .edup-pie-col li { margin: 0 0 9px; }
#footer .edup-pie-col a { color: #dbe5f5; }
#footer .edup-pie-marca p { margin: 12px 0 0; color: #b9c8e2; font-size: .9rem; line-height: 1.5; }
#footer.edup-pie a.edup-pie-logo { display: flex; align-items: center; gap: 14px; color: #fff; text-decoration: none; }
#footer .edup-pie-logo img { width: 64px; height: auto; background: #fff; border-radius: 50%; padding: 6px; box-shadow: 0 4px 14px rgba(0, 0, 0, .25); }
#footer .edup-pie-logo span { display: flex; flex-direction: column; font-size: .88rem; color: #c8d6ec; line-height: 1.35; }
#footer .edup-pie-logo strong { font-size: 1.3rem; color: #fff; font-weight: 800; }
#footer .edup-pie-sellos { display: flex; flex-wrap: wrap; gap: 8px; }
#footer.edup-pie a.edup-pie-sello {
    display: inline-flex; align-items: center; gap: 6px; padding: 4px 12px; border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, .35); color: #fff; font-size: .82rem; font-weight: 700;
}
#footer.edup-pie a.edup-pie-sello-oa { border-color: #f68212; color: #ffb36b; }
#footer.edup-pie a.edup-pie-sello:hover { text-decoration: none; background: rgba(255, 255, 255, .08); }
#footer .edup-pie-contacto li { display: flex; align-items: center; gap: 10px; }
#footer .edup-pie-contacto li svg { color: #f5b51b; }
#footer .edup-pie-contacto a { font-size: .9rem; overflow-wrap: anywhere; }
#footer .edup-pie-redes-t { margin: 14px 0 8px; font-size: .82rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; color: #f5b51b; }
#footer.edup-pie ul.edup-pie-redes { display: flex; flex-wrap: wrap; gap: 8px; }
#footer .edup-pie-redes a {
    display: flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 50%;
    background: rgba(255, 255, 255, .1); color: #fff; transition: background .15s, color .15s, transform .15s;
}
#footer .edup-pie-redes a:hover, #footer .edup-pie-redes a:focus { background: #f5b51b; color: #04163a; transform: translateY(-2px); }

/* Franja inferior */
#footer .edup-pie-base { border-top: 1px solid rgba(255, 255, 255, .12); background: rgba(0, 0, 0, .18); }
#footer .edup-pie-base .container { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 24px; padding-top: 14px; padding-bottom: 14px; font-size: .85rem; }
#footer .edup-pie-base .container::before, #footer .edup-pie-base .container::after, #footer .edup-pie-cta .container::before, #footer .edup-pie-cta .container::after { display: none; }
#footer .edup-pie-copy { margin: 0; color: #b9c8e2; }
#footer .edup-pie-copy a { color: #fff; text-decoration: underline; }
#footer.edup-pie ul.edup-pie-legal { display: flex; flex-wrap: wrap; gap: 6px 18px; }
#footer .edup-pie-legal li { color: #b9c8e2; }
#footer .edup-pie-legal a { color: #dbe5f5; }
#edup-pie-cookies:empty { display: none; }
#edup-pie-cookies .edup-cookies-pref-cont { display: inline; margin: 0; padding: 0; }
#footer .edup-pie-idioma a { font-weight: 700; }

@media (max-width: 991px) {
    #footer .edup-pie-grid { grid-template-columns: 1fr 1fr; }
    #footer .edup-pie-marca { grid-column: 1 / -1; }
}
@media (max-width: 520px) {
    #footer .edup-pie-grid { grid-template-columns: 1fr; }
    #footer .edup-pie-cta .container, #footer .edup-pie-base .container { flex-direction: column; align-items: flex-start; }
}
@media print {
    #footer .edup-pie-cta, #footer .edup-pie-redes, #footer .edup-pie-redes-t { display: none; }
    #footer.edup-pie { background: none; color: #000; border-top: 1px solid #000; }
    #footer.edup-pie a { color: #000; }
}
#footer #edup-pie-cookies a { font-size: inherit; font-family: inherit; color: #dbe5f5; text-decoration: none; }
#footer #edup-pie-cookies a:hover { color: #f5b51b; text-decoration: underline; }

/* ==========================================================================
   Portada: libros con la cubierta completa (2026-10-22)
   Las cubiertas tienen proporciones muy distintas (de apaisadas a muy altas);
   antes se recortaban con object-fit: cover a 200 px de alto. Ahora cada
   cubierta se ve entera dentro de un marco de altura fija con fondo suave.
   ========================================================================== */

/* --- Novedades (carrusel) --- */
.book-accordion {
    height: 540px;
    border: 1px solid #cfd8e6;
    background: #fff;
    box-shadow: 0 6px 18px rgba(4, 22, 58, .08);
    transition: box-shadow .2s ease, transform .2s ease;
}
.book-accordion:hover { box-shadow: 0 12px 28px rgba(4, 22, 58, .18); transform: translateY(-3px); }
.book-accordion > a.edup-portada,
.pkp_page_index .card > a.edup-portada {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 290px;
    padding: 10px;
    border-radius: 9px;
    background: linear-gradient(180deg, #f3f6fb 0%, #e6ecf5 100%);
    flex: 0 0 auto;
}
.book-accordion > a.edup-portada img,
.pkp_page_index .card > a.edup-portada > .card-img-top {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    border-radius: 3px;
    box-shadow: 0 6px 16px rgba(0, 0, 0, .28);
    transition: transform .2s ease, box-shadow .2s ease;
}
.book-accordion:hover > a.edup-portada img,
.pkp_page_index .card:hover > a.edup-portada > .card-img-top {
    transform: scale(1.03);
    box-shadow: 0 10px 22px rgba(0, 0, 0, .35);
}
.book-accordion .book-title,
.pkp_page_index .card .card-title { font-family: inherit; font-size: 14px; font-weight: 600; color: #1f2d3d; }

/* --- Catálogo 1.0 (tarjetas) --- */
.pkp_page_index .row > [class*="col-"] > .card {
    height: 570px;
    padding: 5px;
    border: 1px solid #cfd8e6;
    border-radius: 12px;
    box-shadow: 0 6px 18px rgba(4, 22, 58, .08);
}
.pkp_page_index .row > [class*="col-"] > .card:hover { box-shadow: 0 12px 28px rgba(4, 22, 58, .18); }

/* Encabezados de sección y enlace a la colección */
.pkp_page_index h2.section-title { font-size: 2.6rem; font-weight: 800; color: #0b3d91; margin: 40px 0 20px; }
.pkp_page_index .edup-ver-todo { text-align: center; margin: -8px 0 22px; }
.pkp_page_index .edup-ver-todo a { font-weight: 700; color: #0b3d91; }

@media (max-width: 576px) {
    .pkp_page_index h2.section-title { font-size: 2rem; }
    .book-accordion { height: 520px; }
    .book-accordion > a.edup-portada { height: 270px; }
    .pkp_page_index .row > [class*="col-"] > .card { height: auto; }
    .pkp_page_index .card > a.edup-portada { height: 340px; }
}
@media (prefers-reduced-motion: reduce) {
    .book-accordion, .book-accordion img, .card-img-top { transition: none; }
    .book-accordion:hover { transform: none; }
}

/* ==========================================================================
   Barra lateral: botones ordenados en "Navegar" e "Información" (2026-10-22)
   Antes: cada botón tenía el ancho de su texto, centrado, y al partirse en dos
   líneas el ícono quedaba desalineado. Ahora todos ocupan el mismo ancho, con el
   ícono en una columna fija y el texto alineado a la izquierda.
   ========================================================================== */
#sidebar .pkp_block.block_information .content ul,
#sidebar .pkp_block.block_browse nav.content ul {
    margin: 0;
    padding: 0;
    list-style: none;
}
#sidebar .pkp_block.block_information .content ul > li,
#sidebar .pkp_block.block_browse nav.content ul > li {
    width: 100%;
    margin: 0 0 10px;
    padding: 0;
    line-height: 1.3;
}
#sidebar .pkp_block.block_information .content ul > li > a,
#sidebar .pkp_block.block_browse nav.content ul > li > a,
#sidebar .pkp_block.block_browse nav.content ul li.has_submenu > ul li a {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    width: 100%;
    min-height: 46px;
    padding: 9px 10px;
    text-align: left;
    line-height: 1.3;
    box-sizing: border-box;
    overflow-wrap: normal;
    word-break: normal;
}
/* Menos relleno en los bloques para que los botones tengan más ancho útil */
#sidebar .pkp_block.block_information,
#sidebar .pkp_block.block_browse {
    padding: 22px 14px 14px;
}
#sidebar .pkp_block.block_information .content,
#sidebar .pkp_block.block_browse nav.content {
    margin: 0;
    padding: 0;
}
/* Ícono en columna fija: el texto siempre empieza en la misma posición */
#sidebar .pkp_block.block_information .content ul > li > a::before,
#sidebar .pkp_block.block_browse nav.content ul > li > a::before,
#sidebar .pkp_block.block_browse nav.content ul li.has_submenu > ul li a::before {
    flex: 0 0 22px;
    width: 22px;
    margin: 0;
    text-align: center;
    font-size: 1rem;
    line-height: 1;
}
/* Encabezados "Categorías" y "Series" dentro de Navegar */
#sidebar .pkp_block.block_browse nav.content ul li.has_submenu {
    margin-top: 16px;
    padding: 10px 6px 2px;
    font-size: .8rem;
    letter-spacing: .04em;
    text-transform: uppercase;
}
#sidebar .pkp_block.block_browse nav.content ul li.has_submenu > ul {
    margin: 8px 0 0;
    padding: 0;
    background: none;
    box-shadow: none;
}
#sidebar .pkp_block.block_browse nav.content ul li.has_submenu > ul li {
    margin: 0 0 8px;
    padding: 0;
    border-radius: 12px;
    background-color: #e6ebf0;
    box-shadow: 4px 4px 10px #c9cdd4, -4px -4px 10px #ffffff;
    text-transform: none;
    letter-spacing: 0;
}
#sidebar .pkp_block.block_browse nav.content ul li.has_submenu > ul li a {
    font-size: .95rem;
    font-weight: 700;
}
#sidebar .pkp_block.block_information .content ul > li > a:focus-visible,
#sidebar .pkp_block.block_browse nav.content ul a:focus-visible {
    outline: 2px solid #0b3d91;
    outline-offset: 2px;
}

/* ==========================================================================
   Buscador del banner (2026-10-23): campo redondeado, botón y "Búsqueda avanzada"
   ========================================================================== */
#headerNavigationContainer form.edup-buscador {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    width: 680px;              /* ancho fijo: el contenedor del banner se ajusta al contenido */
    max-width: calc(100vw - 32px);
    margin: 4px auto 0;
    font-family: "Segoe UI", system-ui, -apple-system, Roboto, "Helvetica Neue", Arial, sans-serif;
    padding: 0;
    border: 0;
    box-shadow: none;
    float: none;
}
#headerNavigationContainer .edup-buscador-caja {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    padding: 5px;
    background: #fff;
    border: 2px solid transparent;
    border-radius: 999px;
    box-shadow: 0 10px 28px rgba(4, 22, 58, .35);
    transition: border-color .2s, box-shadow .2s;
}
#headerNavigationContainer .edup-buscador-caja:focus-within {
    border-color: #f5b51b;
    box-shadow: 0 0 0 4px rgba(245, 181, 27, .35), 0 10px 28px rgba(4, 22, 58, .35);
}
#headerNavigationContainer .edup-buscador-ico {
    position: absolute;
    left: 20px;
    width: 20px;
    height: 20px;
    color: #5b6b82;
    pointer-events: none;
}
#headerNavigationContainer input.edup-buscador-campo {
    flex: 1 1 auto;
    min-width: 0;
    width: auto;
    height: 46px;
    margin: 0;
    padding: 0 12px 0 46px;
    border: 0;
    outline: 0;
    background: transparent;
    box-shadow: none;
    border-radius: 999px;
    font-family: inherit;
    font-size: 1.05rem;
    letter-spacing: 0;
    color: #1f2d3d;
}
#headerNavigationContainer input.edup-buscador-campo::placeholder { color: #7a8699; opacity: 1; }
#headerNavigationContainer button.edup-buscador-btn {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    height: 46px;
    margin: 0;
    padding: 0 24px;
    border: 0;
    border-radius: 999px;
    background: linear-gradient(135deg, #1a73e8 0%, #0b3d91 100%);
    color: #fff;
    font-family: inherit;
    font-size: 1rem;
    font-weight: 700;
    cursor: pointer;
    transition: filter .15s, transform .15s;
}
#headerNavigationContainer button.edup-buscador-btn svg { width: 18px; height: 18px; }
#headerNavigationContainer button.edup-buscador-btn:hover { filter: brightness(1.12); }
#headerNavigationContainer button.edup-buscador-btn:active { transform: scale(.97); }
#headerNavigationContainer button.edup-buscador-btn:focus-visible { outline: 3px solid #f5b51b; outline-offset: 2px; }
#headerNavigationContainer a.edup-buscador-avanzada {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 4px 14px;
    border-radius: 999px;
    background: rgba(4, 22, 58, .45);
    color: #fff;
    font-size: .92rem;
    font-weight: 600;
    text-decoration: none;
    backdrop-filter: blur(2px);
    transition: background .15s, color .15s;
}
#headerNavigationContainer a.edup-buscador-avanzada svg { width: 16px; height: 16px; }
#headerNavigationContainer a.edup-buscador-avanzada:hover,
#headerNavigationContainer a.edup-buscador-avanzada:focus { background: rgba(4, 22, 58, .7); color: #f5b51b; text-decoration: none; }
#headerNavigationContainer a.edup-buscador-avanzada:focus-visible { outline: 2px solid #f5b51b; outline-offset: 2px; }

@media (max-width: 576px) {
    #headerNavigationContainer form.edup-buscador { width: 100%; gap: 8px; }
    #headerNavigationContainer input.edup-buscador-campo { height: 40px; font-size: .98rem; padding-left: 40px; }
    #headerNavigationContainer .edup-buscador-ico { left: 16px; width: 18px; height: 18px; }
    #headerNavigationContainer button.edup-buscador-btn { height: 40px; padding: 0 14px; }
    #headerNavigationContainer .edup-buscador-txt { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
    #headerNavigationContainer a.edup-buscador-avanzada { font-size: .85rem; padding: 3px 12px; }
}

/* ==========================================================================
   Formato de oración en todo el sitio (2026-10-23)
   Se quitan las mayúsculas forzadas por CSS: los textos se muestran tal como
   están escritos (mayúscula inicial y en nombres propios o siglas).
   ========================================================================== */
.pkp_block.block_browse .title,
.pkp_block.block_information .title,
.pkp1,
.page_editorial_team h3,
.edup-contacto-etq,
.edup-lanz-fecha,
.edup-conv-sello,
.edup-conv-fechas span,
.edup-conv-hito-etq,
#footer.edup-pie h2,
#footer .edup-pie-redes-t,
#sidebar .pkp_block.block_browse nav.content ul li.has_submenu,
.book-spine h1,
.book-line h1 {
    text-transform: none;
}
/* Sin mayúsculas, el espaciado amplio entre letras ya no hace falta */
.pkp_block.block_browse .title,
.pkp_block.block_information .title,
#footer.edup-pie h2,
#footer .edup-pie-redes-t,
#sidebar .pkp_block.block_browse nav.content ul li.has_submenu {
    letter-spacing: normal;
}
#footer.edup-pie h2,
#footer .edup-pie-redes-t { font-size: .95rem; }
#sidebar .pkp_block.block_browse nav.content ul li.has_submenu { font-size: .9rem; }

/* ==========================================================================
   Ficha del libro renovada (2026-10-23)
   ========================================================================== */
.edup-libro { --edup-azul: #0b3d91; --edup-azul-osc: #04163a; --edup-oro: #f5b51b; --edup-gris: #5b6b82; --edup-borde: #dde4ee; }

/* --- Cabecera --- */
.edup-libro .edup-libro-cab {
    display: grid;
    grid-template-columns: 230px 1fr;
    gap: 32px;
    align-items: start;
    margin: 10px 0 28px;
    padding: 26px;
    background: linear-gradient(135deg, #f4f7fc 0%, #e8eef8 100%);
    border: 1px solid var(--edup-borde);
    border-radius: 18px;
}
.edup-libro .edup-libro-portada { margin: 0; padding: 0; border: 0; }
.edup-libro .edup-libro-portada .book-container { margin: 0 auto; }
.edup-libro .edup-libro-portada img {
    display: block; width: 100%; max-width: 230px; height: auto;
    border-radius: 4px; box-shadow: 0 14px 30px rgba(4, 22, 58, .30);
}
.edup-libro .book-spine span { display: none; }

.edup-libro .edup-libro-etiquetas { list-style: none; margin: 0 0 12px; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.edup-libro .edup-libro-etiquetas li { margin: 0; padding: 0; }
.edup-libro .edup-libro-etiquetas a,
.edup-libro .edup-libro-etiquetas .edup-etq-oa {
    display: inline-block; padding: 4px 12px; border-radius: 999px; font-size: .82rem; font-weight: 700;
    background: #fff; border: 1px solid var(--edup-borde); color: var(--edup-azul); text-decoration: none;
}
.edup-libro .edup-libro-etiquetas .edup-etq-oa { background: #fff4e5; border-color: #f68212; color: #b25500; }
.edup-libro .edup-libro-etiquetas a:hover { background: var(--edup-azul); color: #fff; border-color: var(--edup-azul); }

.edup-libro h1.edup-libro-titulo { margin: 0 0 14px; padding: 0; border: 0; font-size: 1.85rem; line-height: 1.25; color: #13233a; }
.edup-libro .edup-libro-subtitulo { display: block; margin-top: 6px; font-size: 1.2rem; font-weight: 400; color: #3b4a60; }

.edup-libro .edup-libro-autores { margin: 0 0 14px; padding: 0; border: 0; }
.edup-libro .edup-libro-autores ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.edup-libro .edup-autor-nombre { font-weight: 700; color: #13233a; }
.edup-libro .edup-autor-afil { display: block; font-size: .88rem; color: var(--edup-gris); }
.edup-libro a.edup-orcid {
    display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; margin-left: 6px;
    border-radius: 50%; background: #a6ce39; color: #fff; font-size: .62rem; font-weight: 800; text-decoration: none; vertical-align: 1px;
}
.edup-libro a.edup-orcid:hover { background: #8db32a; }

.edup-libro .edup-libro-datos { display: flex; flex-wrap: wrap; gap: 8px 26px; margin: 0 0 18px; }
.edup-libro .edup-libro-datos dt { font-size: .75rem; font-weight: 700; color: var(--edup-gris); margin: 0; }
.edup-libro .edup-libro-datos dd { margin: 0; font-size: .95rem; color: #13233a; }
.edup-libro .edup-libro-datos a { color: var(--edup-azul); }

/* Botones: descarga (principal) y secundarios */
.edup-libro .edup-libro-acciones { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.edup-libro .edup-libro-descargas { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; padding: 0; border: 0; }
.edup-libro .edup-libro-descargas .pub_format_single,
.edup-libro .edup-libro-descargas .pub_format_remote { margin: 0; }
.edup-libro .edup-libro-descargas a.cmp_download_link,
.edup-libro .edup-libro-descargas a.remote_resource {
    display: inline-flex; align-items: center; gap: 8px; padding: 11px 22px; border-radius: 999px; border: 0;
    background: linear-gradient(135deg, #1a73e8 0%, var(--edup-azul) 100%); color: #fff; font-weight: 700; font-size: 1rem;
    text-decoration: none; box-shadow: 0 6px 16px rgba(11, 61, 145, .3);
}
.edup-libro .edup-libro-descargas a.cmp_download_link:hover,
.edup-libro .edup-libro-descargas a.remote_resource:hover { filter: brightness(1.1); color: #fff; }
.edup-libro .edup-formato-multiple { background: #fff; border: 1px solid var(--edup-borde); border-radius: 12px; padding: 10px 14px; }
.edup-libro .edup-formato-multiple ul { list-style: none; margin: 6px 0 0; padding: 0; }
.edup-libro .edup-formato-multiple li { display: flex; gap: 10px; align-items: center; justify-content: space-between; margin: 4px 0; }
.edup-libro .edup-libro-botones { display: flex; flex-wrap: wrap; gap: 8px; }
.edup-libro .edup-btn-sec {
    display: inline-flex; align-items: center; gap: 7px; padding: 9px 16px; border-radius: 999px;
    border: 1.5px solid var(--edup-azul); background: #fff; color: var(--edup-azul);
    font-weight: 700; font-size: .92rem; text-decoration: none; cursor: pointer; font-family: inherit;
}
.edup-libro .edup-btn-sec:hover, .edup-libro .edup-btn-sec:focus { background: var(--edup-azul); color: #fff; text-decoration: none; }
.edup-libro .edup-btn-sec:focus-visible, .edup-libro .edup-libro-descargas a:focus-visible { outline: 3px solid var(--edup-oro); outline-offset: 2px; }

/* --- Columna principal --- */
.edup-libro .main_entry > .item > .label,
.edup-libro .main_entry > .item > h2.label,
.edup-libro .edup-libro-refs > summary {
    font-size: 1.15rem; font-weight: 800; color: #13233a; margin: 0 0 12px; padding: 0 0 6px; border-bottom: 2px solid var(--edup-oro);
    display: inline-block;
}
.edup-libro .main_entry > .item { margin-bottom: 30px; }

.edup-libro .edup-libro-video .edup-video-miniatura {
    position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px;
    width: 100%; max-width: 640px; aspect-ratio: 16 / 9; height: auto; padding: 0;
    background-color: var(--edup-azul-osc); background-size: cover; background-position: center;
    border-radius: 14px; overflow: hidden; box-shadow: 0 10px 26px rgba(4, 22, 58, .25);
}
.edup-libro .edup-libro-video .edup-video-miniatura::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(4,22,58,.05) 30%, rgba(4,22,58,.65) 100%); }
.edup-libro .edup-libro-video .edup-video-miniatura > * { position: relative; z-index: 1; }
.edup-libro .edup-libro-video .edup-video-miniatura iframe { position: absolute; inset: 0; width: 100%; height: 100%; border-radius: 0 !important; }
.edup-libro .edup-libro-video .edup-video-btn { font-size: 1.05rem; padding: 12px 24px; }
.edup-libro .edup-libro-video .edup-video-nota { color: #fff; text-shadow: 0 1px 3px rgba(0,0,0,.7); padding: 0 14px; text-align: center; }

.edup-libro .edup-libro-claves { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.edup-libro .edup-libro-claves li { margin: 0; padding: 0; }
.edup-libro .edup-libro-claves a {
    display: inline-block; padding: 5px 13px; border-radius: 999px; background: #eef3fb; border: 1px solid var(--edup-borde);
    color: #1f3a66; font-size: .9rem; text-decoration: none;
}
.edup-libro .edup-libro-claves a:hover { background: var(--edup-azul); color: #fff; }

.edup-libro .edup-cita {
    position: relative; padding: 18px 20px; background: #f8fafd; border: 1px solid var(--edup-borde);
    border-left: 4px solid var(--edup-azul); border-radius: 10px;
}
.edup-libro .edup-cita p { margin: 0 0 12px; line-height: 1.6; padding-left: 2em; text-indent: -2em; overflow-wrap: anywhere; }

.edup-libro details.edup-libro-refs > summary { cursor: pointer; list-style: none; }
.edup-libro details.edup-libro-refs > summary::-webkit-details-marker { display: none; }
.edup-libro details.edup-libro-refs > summary::after { content: " \25BE"; color: var(--edup-azul); }
.edup-libro details.edup-libro-refs[open] > summary::after { content: " \25B4"; }
.edup-libro details.edup-libro-refs .value p { padding-left: 2em; text-indent: -2em; overflow-wrap: anywhere; }

/* --- Ficha técnica --- */
.edup-libro .edup-libro-ficha {
    background: #fff; border: 1px solid var(--edup-borde); border-radius: 14px; padding: 18px 18px 6px;
}
.edup-libro .edup-ficha-titulo { margin: 0 0 12px; font-size: 1.05rem; font-weight: 800; color: #13233a; }
.edup-libro .edup-libro-ficha .item { padding: 10px 0; margin: 0; border-top: 1px solid #eef1f5; }
.edup-libro .edup-libro-ficha .label { font-size: .78rem; font-weight: 700; color: var(--edup-gris); margin: 0 0 3px; font-family: inherit; }
.edup-libro .edup-libro-ficha .value, .edup-libro .edup-libro-ficha .copyright, .edup-libro .edup-libro-ficha .license { font-size: .92rem; overflow-wrap: anywhere; }

@media (max-width: 991px) {
    .edup-libro .edup-libro-cab { grid-template-columns: 170px 1fr; gap: 22px; padding: 20px; }
    .edup-libro h1.edup-libro-titulo { font-size: 1.55rem; }
}
@media (max-width: 600px) {
    .edup-libro .edup-libro-cab { grid-template-columns: 1fr; text-align: left; }
    .edup-libro .edup-libro-portada img { max-width: 170px; margin: 0 auto; }
    .edup-libro h1.edup-libro-titulo { font-size: 1.35rem; }
    .edup-libro .edup-libro-descargas a.cmp_download_link { width: 100%; justify-content: center; }
}
@media print {
    .edup-libro .edup-libro-botones, .edup-libro .edup-libro-video, .edup-libro .edup-cita-copiar { display: none; }
    .edup-libro details.edup-libro-refs > .value { display: block; }
}

/* Botón de descarga de la plantilla en Instrucciones */
a.edup-plantilla-btn {
    display: inline-flex; align-items: center; gap: 8px; padding: 11px 22px; border-radius: 999px;
    background: linear-gradient(135deg, #1a73e8 0%, #0b3d91 100%); color: #fff; font-weight: 700; text-decoration: none;
    box-shadow: 0 6px 16px rgba(11, 61, 145, .3);
}
a.edup-plantilla-btn:hover, a.edup-plantilla-btn:focus { filter: brightness(1.1); color: #fff; text-decoration: none; }
a.edup-plantilla-btn small { font-weight: 400; opacity: .9; }

/* Ajustes sobre reglas antiguas del tema (estilo.css / bootstrap3) */
/* public/metrics/metrics.css pone fondo blanco con !important a todo .item / .label / .sub_item de la ficha */
.edup-libro .edup-libro-cab .item, .edup-libro .edup-libro-cab .label, .edup-libro .edup-libro-cab .sub_item, .edup-libro .edup-libro-descargas > div { background: transparent !important; padding: 0; border: 0; box-shadow: none; }
.edup-libro .edup-libro-cab .edup-libro-autores { margin-bottom: 14px; }
.edup-libro .edup-libro-descargas a.cmp_download_link,
.edup-libro .edup-libro-descargas a.remote_resource { text-shadow: none; line-height: 1.2; }
.edup-libro .row { align-items: flex-start; }
.edup-libro .edup-libro-ficha { align-self: flex-start; height: auto; margin-left: 0; margin-right: 0; }
.edup-libro .edup-libro-ficha .item { border-bottom: 0; padding: 10px 0; }
.edup-libro .main_entry .item { padding-top: 0; }

/* --- Capítulos (libros publicados por capítulos), renovado 2026-10-26 --- */
.edup-libro .edup-capitulos { scroll-margin-top: 90px; }
.edup-libro .edup-capitulos .label .edup-capitulos-n {
    display: inline-flex; align-items: center; justify-content: center; min-width: 26px; height: 26px; padding: 0 8px; margin-left: 6px;
    border-radius: 999px; background: var(--edup-azul); color: #fff; font-size: .8rem; font-weight: 700; vertical-align: 3px;
}
.edup-libro ol.edup-capitulos-lista { list-style: none; margin: 14px 0 0; padding: 0; display: grid; gap: 12px; }
.edup-libro ol.edup-capitulos-lista > li {
    display: flex; gap: 16px; align-items: flex-start; margin: 0; padding: 16px 18px;
    background: #fff; border: 1px solid var(--edup-borde); border-radius: 14px; box-shadow: 0 2px 8px rgba(4, 22, 58, .05);
}
.edup-libro ol.edup-capitulos-lista > li:hover { border-color: #b9c8e0; box-shadow: 0 6px 16px rgba(4, 22, 58, .09); }
.edup-libro .edup-cap-num {
    flex: 0 0 40px; height: 40px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
    background: linear-gradient(135deg, #1a73e8 0%, var(--edup-azul) 100%); color: #fff; font-weight: 800; font-size: 1rem;
}
.edup-libro .edup-cap-cuerpo { flex: 1; min-width: 0; }
.edup-libro .edup-capitulos-lista .title { font-weight: 700; color: #13233a; font-size: 1.02rem; line-height: 1.35; }
.edup-libro .edup-capitulos-lista .subtitle { margin-top: 3px; font-weight: 600; color: var(--edup-azul); font-size: .98rem; line-height: 1.35; }
.edup-libro .edup-capitulos-lista a:hover .title { color: var(--edup-azul); text-decoration: underline; }
.edup-libro .edup-capitulos-lista .authors { margin-top: 5px; font-size: .9rem; color: var(--edup-gris); }
.edup-libro .edup-capitulos-lista .doi { margin-top: 4px; font-size: .85rem; color: var(--edup-gris); word-break: break-all; }
.edup-libro .edup-capitulos-lista .files { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.edup-libro .edup-capitulos-lista .files a.cmp_download_link {
    display: inline-flex; align-items: center; gap: 6px; padding: 7px 16px; border-radius: 999px; border: 0;
    background: linear-gradient(135deg, #1a73e8 0%, var(--edup-azul) 100%); color: #fff !important; font-weight: 700; font-size: .9rem;
    text-decoration: none; text-shadow: none; line-height: 1.2; box-shadow: 0 4px 10px rgba(11, 61, 145, .25);
}
.edup-libro .edup-capitulos-lista .files a.cmp_download_link:hover { filter: brightness(1.1); }
.edup-libro .edup-capitulos-lista .files a.cmp_download_link:focus-visible { outline: 3px solid var(--edup-oro); outline-offset: 2px; }
@media (max-width: 576px) {
    .edup-libro ol.edup-capitulos-lista > li { padding: 14px; gap: 12px; }
    .edup-libro .edup-cap-num { flex-basis: 32px; height: 32px; font-size: .9rem; }
}

/* ==========================================================================
   Página "Consejo Científico": tarjetas de miembros con logo oficial (2026-10-26)
   ========================================================================== */
.edup-acerca ul.edup-cc-miembros {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
    gap: 14px;
}
.edup-acerca ul.edup-cc-miembros > li {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    background: #fff;
    border: 1px solid var(--ac-borde);
    border-radius: 12px;
    padding: 18px 16px 16px;
}
.edup-acerca .edup-cc-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 96px;
    width: 100%;
    margin-bottom: 12px;
}
.edup-acerca .edup-cc-logo img {
    max-height: 96px;
    max-width: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
}
.edup-acerca ul.edup-cc-miembros strong { display: block; color: #1f2733; line-height: 1.35; }
.edup-acerca ul.edup-cc-miembros li > span:not(.edup-cc-logo) { display: block; font-size: .93rem; color: var(--ac-texto2); margin-top: 4px; }
@media (max-width: 576px) {
    .edup-acerca ul.edup-cc-miembros { grid-template-columns: 1fr 1fr; gap: 10px; }
    .edup-acerca .edup-cc-logo { height: 72px; }
    .edup-acerca .edup-cc-logo img { max-height: 72px; }
}

/* ==========================================================================
   Logo de la Universidad en la barra principal (2026-10-26): proporción real
   (antes 55x50 px deformado) y alto hasta el borde inferior de la barra.
   ========================================================================== */
#headerNavigationContainer .navbar-header .logo1 img {
    height: 66px;
    width: auto;
    margin-top: 2px;
    margin-left: 40px;
    background: transparent;
    filter: drop-shadow(0 1px 3px rgba(0, 0, 0, .35));
}
@media (max-width: 576px) {
    #headerNavigationContainer .navbar-header .logo1 img { height: 58px; margin-left: 10px; margin-top: 3px; }
}
/* ==========================================================================
   Texto justificado en párrafos largos (2026-10-23)
   Sinopsis, biografías, descripciones y páginas institucionales. Con división
   silábica automática (según el idioma de la página) para evitar huecos.
   En pantallas muy estrechas se alinea a la izquierda: justificar en ~350 px
   abre espacios grandes entre palabras.
   ========================================================================== */
.edup-libro .abstract .value,
.edup-libro .author_bios .value,
.category-description,
.page_catalog_series .description,
.page_catalog_category .description,
.edup-acerca p,
.page_submissions .author_guidelines p,
.page_submissions .author_guidelines li,
.edup-instrucciones p,
.edup-conv p,
.edup-met-intro p,
.pkp_page_index .modal-body,
.edup-bienvenida__texto p {
    text-align: justify;
    -webkit-hyphens: auto;
    hyphens: auto;
    text-wrap: pretty;
}
/* Textos que deben conservar su alineación propia */
.edup-conv .edup-conv-hero p,
.edup-instrucciones td p,
.edup-instrucciones .edup-plantilla-desc,
.edup-bienvenida__texto p:first-child {
    text-align: inherit;
}
/* Barra lateral: Objetivo general y Objetivos específicos justificados (pedido 2026-10-26).
   Columna estrecha: la división silábica evita huecos grandes. El estilo viene en línea, de ahí el !important. */
.block_web_feed .content,
.block_web_feed .content p,
#customblock-objetivosespecificos .content,
#customblock-objetivosespecificos p,
#customblock-objetivosespecificos li,
#customblock-objetivosespecificos div {
    text-align: justify !important;
    -webkit-hyphens: auto;
    hyphens: auto;
}

@media (max-width: 576px) {
    .edup-libro .abstract .value,
    .edup-libro .author_bios .value,
    .category-description,
    .page_catalog_series .description,
    .page_catalog_category .description,
    .edup-acerca p,
    .page_submissions .author_guidelines p,
    .page_submissions .author_guidelines li,
    .edup-instrucciones p,
    .edup-conv p,
    .edup-met-intro p,
    .pkp_page_index .modal-body,
    .edup-bienvenida__texto p {
        text-align: left;
    }
}
