/*
Theme Name: Sitio Web Revista Rivar.
Author: Citiaps
Description: Tema personalizado Revista Rivar.
Version: 1.0
*/

/* Estilos General*/
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: 'HelveticaNeueLTStd-Cn', sans-serif;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'BebasNeuePro-SemiExpRegular', sans-serif;
}

h1 {
  font-size: 2.5em;
  color: #666;
}

h2{
  font-size: 1.8em;
  color: #666;
}

h3{
  font-size: 1.6em;
  color: #E77500;
}

h4{
  font-size: 1.4em;
  color: #666;
}

h5{
  font-size: 1.2em;
  color: #666;
}

h6{
  font-size: 1em;
  color: #666;
}

p{
  font-size: 1.5em;
  color: #666;
  text-align: justify;
}

a {
  color: #E77500;
  text-decoration: none;
}

a:hover {
  color: #00A499;
}

ul {
  font-size: 1.4em;
  color: #666;
  text-align: justify;
}
ol {
  font-size: 1.4em;
  color: #666;
  text-align: justify;
}

::marker{
  color: #808080;
  font-size: 1em;
}

@media (max-width: 768px) {
  h1 {
    font-size: 2em;
  }
  h2 {
    font-size: 1.6em;
  }
  h3 {
    font-size: 1.4em;
  }
  h4 {
    font-size: 1.2em;
  }
  h5 {
    font-size: 1em;
  }
  h6 {
    font-size: 0.8em;
  }
  p {
    font-size: 1.2em;
  }
  a {
    font-size: 1.2em;
  }
  ul {
    font-size: 1.2em;
  }
  ol {
    font-size: 1.2em;
  }
  ::marker{
    font-size: 1em;
  }
}

/* ------------------- */
/* Estilos Header */
/* ------------------- */
.main-navegation {
  display: flex;
  flex-direction: column;
}

.logo-institucional {
  margin-left: 191px;
}

.logo-image {
  padding: 1rem;
  width: 400px;
}

.menu-container {
  padding: 1rem 0;
}

.nav-menu {
  font-family: 'BebasNeuePro-SemiExpRegular', sans-serif;
  max-width: 1270px;
  margin: 0 auto;
  list-style-type: none;
  padding: 0;
  display: flex;
  justify-content: flex-end;
}

.nav-menu li {
  margin: 0 10px;
}

.nav-menu a {
  text-decoration: none;
  color: #808080;
  font-size: 18px;
  font-weight: 500;
  transition: color 0.3s ease;
  position: relative;
  padding-bottom: 5px;
}

.nav-menu a:hover,
.nav-menu .current-menu-item > a {
  color: #f0f0f0;
}

.nav-menu .current-menu-item > a {
  color: #E77500;
}

.nav-menu a:hover {
  color: #E77500;
}

.hamburger-icon {
  display: none;
  cursor: pointer;
}

.hamburger-icon img {
  width: 30px;
}

.menu-container .nav-menu .sub-menu {
  display: none;
}

/* Responsive Styles */

@media (max-width: 768px) {


  .hidden-responsive {
    display: none;
  }

  .main-navigation {
      position: relative;
  }

  .logo-institucional {
      margin-left: 0;
      width: 100%;
  }

  .logo-image {
      padding: 1rem;
      width: 300px; /* Unificación */
  }

  .nav-menu {
      display: none;
      flex-direction: column;
      gap: 20px;
      background-color: #525252;
      width: 100%;
      position: absolute;
      top: 0;
      left: 0;
      padding: 1rem;
      box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
      z-index: 1000;
      flex-wrap: wrap; /* Unificación */
      justify-content: center;
  }

  
  .nav-menu a {
    font-size: 1.5em; /* Unificación */
    padding: 10px; /* Unificación */
    color: #fff; /* Unificación */
  }

  .nav-menu li {
      margin: 10px 0; /* Unificación */
  }

  .nav-menu a {
      font-size: 20px; /* Unificación */
  }

  .nav-menu.open {
      display: flex;
      margin-top: 60px;
      justify-content: center;
      align-items: center;
  }

  .menu-container {
      display: flex;
      justify-content: flex-end;
      align-items: center;
      background-color: #ffffff;
      font-family: "BebasNeuePro-SemiExpRegular", sans-serif;
  }

  .menu-container .nav-menu .sub-menu {
      display: block;
      margin-left: 20px;
  }

  /* .menu-container .nav-menu .sub-menu a {
      font-size: 1.2em;
  } */

  .hamburger-icon {
      display: block;
      padding: 1rem;
  }

  .menu-item {
    width: 100%;
  }
}


/* ------------------- */
/* Estilos básicos para el footer */
/* ------------------- */
.footer {
  background-color: #394049;
  color: #fff;
  padding-bottom: 30px;
  padding-top: 10px;
}

.hr{
  border: 1px solid #666;
}

.footer-container {
  padding-top: 30px;
  display: flex;
  justify-content: space-around;
  align-items: center;
  flex-direction: row;
  margin: 0 auto;
  max-width: 1700px;
  gap: 20px;
}

.footer-item {
  text-align: start;
  padding: 10px;
  font: 0.9em 'HelveticaNeueLTStd-Cn', sans-serif;
  margin: 10px;
  width: 100%;

  display: flex;
  justify-content: center;
  align-items: center;

  flex-direction: column;
  gap: 20px;
}

.footer-item img {
  width: 90%;
}

.footer-item a {
  color: #fff;
  text-decoration: none;

  max-width: 100%;
  max-height: 100%;
}

.footer-item h3{
  max-width: 100%;
}

.footer-red-social {
  display: flex;
  justify-content: center;
  gap: 20px;
}

.footer-red-social img {
  width: 50px;
  height: 50px;
}

.footer-red-social img:hover {
  transform: scale(1.1);
}

@media (max-width: 768px) {
  .footer-container {
    flex-direction: column;
  }

  .footer-item {
    width: 100%;
    align-items: center;
    justify-content: center;
  }
}



/* ------------------------- */
/* Estilos básicos para el slider */
/* ------------------------- */
.slider {
  position: relative;
  max-width: 100vw;
  margin: auto;
  overflow: hidden;
}

.slides {
  display: flex;
  transition: transform 0.5s ease-in-out;
  width: 100vw; 
}

.slide {
  min-width: 100vw;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

.slide-image {
  position: relative;
  width: 100%;
  height: 20vw;
  overflow: hidden;
}

.slide-image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.slide-content {
  position: absolute;
  bottom: 20px;
  left: 20px;
  background: rgba(0, 0, 0, 0.5);
  color: #fff;
  padding: 10px;
  border-radius: 5px;
}

/* Contenedor de navegación del slider */
.slider-nav {
  position: absolute;
  width: 100%;
  display: flex;
  justify-content: space-between;
  top: 50%;
  transform: translateY(-50%);
  padding: 0 20px;
  opacity: 0; /* Oculta las flechas por defecto */
  transition: opacity 0.3s ease;
}

.slider:hover .slider-nav {
  opacity: 1; /* Muestra las flechas al pasar el cursor sobre el slider */
}

.slider-nav .prev,
.slider-nav .next {
  color: #ffffff;
  cursor: pointer;
  user-select: none;
  border-radius: 50%;
  width: 50px;
  height: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: rgba(0, 0, 0, 0.308);
  font-size: 2em;
}


/* ------------------------- */
/* Estilos Index */
/* ------------------------- */

.barra{
  position: relative;
  padding-left: 3rem;
}

.barra:before {
  content: "";
  position: absolute;
  left: 0;               /* Se posiciona al borde izquierdo del h2 */
  top: 50%;              /* Centra verticalmente la barra respecto al h2 */
  transform: translateY(-50%); /* Ajusta para que quede perfectamente centrada */
  width: 20px;           /* Ancho de la barra (cortito, ajústalo a tu gusto) */
  height: 73px;           /* Grosor de la barra */
  background-color: #ea7600;  /* Color naranja; cambia el valor si necesitas otro tono */
  border-radius: 2px;
}

.section-index {
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 20px;
  max-width: 1270px;
  margin: auto;
  align-items: left;
}

.br-index{
  border-bottom: 1px solid #666;
  margin-bottom: 20px;
}

/* video */
.video-wrapper {
  display: flex;
  flex-direction: row;
  gap: 20px;
  justify-content: center;
  align-items: center;
}

.video-wrapper iframe {
  width: 800px;
  height: 400px;
}

@media (max-width: 768px) {
  .video-wrapper iframe {
    width: 100%;
    height: 200px;
  }
}

/* Ultima edición */
.container-ultima-edicion{
  width: 100%;
}
.box-ultima-edicion {
  display: flex;
  flex-direction: row;
  gap: 20px;
}

@media (max-width: 768px) {
  .box-ultima-edicion {
    flex-direction: column;
    align-items: center;

  }
}

.item-foto-ultima-edicion{
  height: 480px;
}

.box-ultima-edicion img {
  width: 370px;
  height: 100%;

  object-fit: cover;
}
.item-info-ultima-edicion {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.item-info-ultima-edicion .title{
  font-size: 1.8em;
  color: #E77500;
  text-decoration: none;
}

.item-info-ultima-edicion .title:hover{
  color: #00A499;
}

.item-archive-ultima-edicion {
  width: 100%;
  
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}
.article-ultima-edicion{
  width: 100%;
  border-bottom: 1px solid #666;
  padding-bottom: 40px;
}

.article-ultima-edicion a{
  color: #00A499;
  text-decoration: none;
  font-size: 1.2em;
}
.article-ultima-edicion a:hover{
  color: #E77500;
}
.vermas-ultima-edicion{
  width: 100%;
  text-align: right;
}
.vermas-ultima-edicion a{
  color: #E77500;
  text-decoration: none;
}
.vermas-ultima-edicion a:hover{
  color: #00A499;
}

/* indexacion */
/* informativos */
.container-informativos,
.container-indexacion{
  width: 100%;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
  flex-direction: row;
  gap: 20px;
  justify-content: space-around;
  align-items: center;
  justify-items: center


}

.indexacion-section .box-indexacion {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
  gap: 20px;
  justify-items: center;
  align-items: start; 
  width: 100%;
}

@media (max-width: 768px) {
  .container-informativos,
  .container-indexacion{
    flex-direction: column;
    align-items: center;
  }

  .indexacion-section .box-indexacion {
    grid-template-columns: repeat(1, 1fr);
  }

  .box-indexacion {
    display: flex;
    flex-direction: column;
    gap: 20px;
    align-items: center;
  }
}


.item-informativos,
.item-indexacion{
  width: 350px;
  height: 120px;
}

.item-informativos img,
.item-indexacion img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.item-informativos img:hover,
.item-indexacion img:hover{
  transform: scale(1.1);
  transition: transform 0.5s;
}

.ver-mas-indexacion{
  padding-top: 20px;
  width: 100%;
  text-align: center;
}
.ver-mas-indexacion a{
  color: #666;
  text-decoration: none;
  border: 1px solid #ddd;
  padding: 10px;
  background-color: #fff;
}
.ver-mas-indexacion a:hover{
  color: #E77500;
}

/* Noticias */
/* Contenedor de dos columnas */
.two-columns {
  display: flex;
  flex-direction: row;
  gap: 2rem; /* Espacio horizontal entre columnas */
  /* Si quieres bordes, fondo o padding extra, puedes hacerlo aquí */
}

.column-left {
  flex: 1; 
  box-sizing: border-box;
  background-color: #f9f9f9;
  padding: 1rem;
}

.column-right {
  flex: 2;
  box-sizing: border-box;
  background-color: #ffffff;
  padding: 1rem;
}

/* Responsive: en pantallas pequeñas, las columnas se apilan */
@media (max-width: 768px) {
  .two-columns {
    flex-direction: column;
  }
  .column-left,
  .column-right {
    width: 100%;
    margin-bottom: 1rem;
  }
}

.container-noticias {
  width: 100%;
  display: flex;
  flex-direction: row;
  gap: 20px;
}

.box-noticias {
  display: flex;
  flex-direction: column;     /* o `display: flex; flex-direction: column;` */
  width: 100%;
  gap: 20px;          /* si usas flex, puedes mantener un gap vertical */
  padding-left: 0px;
  margin: 0 auto;     /* centra si lo deseas */
  justify-items: center;
}

.item-noticias {
  width: 100%;
  height: auto;

  /* Podemos usar un borde inferior en lugar de un recuadro */

  padding: 20px 0;
  margin-bottom: 10px;  /* Espacio entre noticias */
  box-sizing: border-box;

  /* Si quieres animación al hover, hazlo aquí: */
  transition: transform 0.3s;
}



.item-noticias-2 {
  width: 100%;
  height: auto;

  /* Podemos usar un borde inferior en lugar de un recuadro */
  border-bottom: 1px solid #ddd;
  padding: 25px 0;
  margin-bottom: 10px;  /* Espacio entre noticias */
  box-sizing: border-box;

  /* Si quieres animación al hover, hazlo aquí: */
  transition: transform 0.3s;
}

.item-noticias:hover {
  transform: scale(1.01);
}

.item-noticias-2:hover {
  transform: scale(1.01);
}

.item-img-noticias {
  display:none;
}

.item-noticias img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.item-noticias-2 img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.item-description-noticias {
  height: 80%; 
  overflow: hidden; /* Oculta el contenido adicional */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  line-clamp: 2; 
  overflow: hidden;
  text-overflow: ellipsis; /* Añade puntos suspensivos al final */
}

a.titulo-publicacion{
  font-size: 1.2em !important;
  color: #E77500 !important;
  text-decoration: none !important;
  padding-bottom:10px;
}

.item-excerpt {
  font-size: 1.5rem;
  line-height: 1;
  /* Sin line clamp:
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  */
  overflow: visible; /* o quita el overflow */
  margin-bottom: 1rem;
  padding-top:15px;
}


  



@media (max-width: 768px) {

  .item-noticias {
    width: 100% !important;    /* Ocupa todo el ancho disponible */
    max-width: 100% !important;
    height: auto !important;    /* Se adapta a su contenido */
    margin-bottom: 1.5rem;        /* Separación vertical entre tarjetas */
    box-sizing: border-box;     /* Para que padding y border no ensanchen */
  }

  .item-noticias-2 {
    width: 100%;
    height: 100%;
  }

  .item-description-noticias{
    height: 100%; 
  }
}

.item-noticias a {
  color: #666;
  text-decoration: none;
  text-align: justify;
  font-size: 1.2em;
}

.item-noticias-2 a {
  color: #666;
  text-decoration: none;
  text-align: justify;
  font-size: 1.2em;
}

.item-noticias a:hover {
  color: #00A499;
}

.item-noticias-2 a:hover {
  color: #00A499;
}

.ver-noticia {
  width: 100%;
  text-align: right;
  padding-top: 7px;
}

.ver-noticia a {
  color: #E77500;
  text-decoration: none;
}

.ver-noticia a:hover {
  color: #00A499;
}

.ver-mas-noticias {
  padding-top: 20px;
  width: 100%;
  text-align: center;
}

.ver-mas-noticias a {
  display: inline-block;         /* Para que se comporte como botón */
  padding: 10px 25px;           /* Ajusta el tamaño del padding */
  border: 2px solid #00A499;    /* Color de contorno */
  border-radius: 30px;          /* Bordes redondeados */
  background-color: transparent; /* Sin fondo */
  color: #00A499;               /* Texto color turquesa */
  font-weight: 600;             /* Un poco más de grosor en la fuente */
  text-transform: uppercase;     /* Mayúsculas */
  text-decoration: none;         /* Sin subrayado */
  transition: all 0.3s ease;     /* Transición suave */
}

.ver-mas-noticias a:hover {
  background-color: #00A499;  /* Fondo turquesa al hacer hover */
  color: #fff;                /* Texto en blanco para resaltar */
  border-color: #00A499;      /* Borde del mismo color */
}


/* archive noticias */
.indexacion-section,
.noticia-section {
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 20px;
  max-width: 1270px;
  margin: auto;
  align-items: left;
}

.indexacion-container,
.noticia-container {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.indexacion-title,
.noticia-titulo{
  font-size: 1.8em;
}

.noticia-box {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
  gap: 20px;
  justify-items: center;
}

@media (max-width: 768px) {
  /* En móvil el grid será de 1 sola columna */
  .noticia-box {
    grid-template-columns: 1fr !important;
  }
}


.fecha-noticia{
  color: #666;
  font-size: 1em;
}

.pagination {
  display: flex;
  justify-content: center;
  gap: 20px;
}

.pagination a {
  color: #E77500;
  text-decoration: none;
}

.pagination a:hover {
  color: #00A499;
}

/* ------------------------- */


/* otros numeros */
.main-otros-numeros {
  background-color: #DAE9F9;
  padding-bottom: 20px;
}

.container-otros-numeros {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.box-otros-numeros {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
  gap: 20px;
  justify-items: center;
}

.item-otros-numeros {
  border: 1px solid #ddd; 
  display: flex;
  flex-direction: column; /* Cambio para apilar elementos verticalmente */
  align-items: center; /* Centra los elementos en la columna */
  width: 350px;
  padding: 10px;
  gap: 10px;
  background-color: #fff;
}

.item-otros-numeros:hover {
  transform: scale(1.1);
  transition: transform 0.5s;
}

.item-img-otros-numeros {
  flex-shrink: 0; 
  width: 150px;
  height: 200px;
}

.item-otros-numeros img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.item-otros-numeros a {
  color: #E77500;
  text-decoration: none;
  white-space: normal;
  word-wrap: break-word;
  text-align: center; 
  font-size: 1.2em;

}

.item-otros-numeros a:hover {
  color: #00A499;
}

.ver-mas-otros-numeros {
  padding-top: 20px;
  width: 100%;
  text-align: center;
}

.ver-mas-otros-numeros a {
  color: #666;
  text-decoration: none;
  border: 1px solid #ddd;
  padding: 10px;
  background-color: #fff;
}

.ver-mas-otros-numeros a:hover {
  color: #E77500;
}

.img-badge {
  position: absolute;
  background-color: rgba(0, 0, 0, 0.7);
  color: white;
  padding: 0.4em 0.6em; 
  border-bottom-right-radius: 0.5em;
  font-size: 120%; 
}


/* ------------------------- */
/* Estilos para la página cuerpo editorial */
/* ------------------------- */
.main-cuerpo-editorial {
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 20px;
  max-width: 1270px;
  margin: auto;
  align-items: left;
}

.editorial-group {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.editorial-group h2 {
  border-bottom: 2px solid #33333370;
  padding-bottom: 10px;
}

.editorial-items{
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
  gap: 20px;
  justify-items: center;
}

@media (max-width: 768px) {
  .editorial-items{
    grid-template-columns: repeat(1, 1fr);
  }
}

.editorial-member {
  margin-bottom: 20px;
  width: 350px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.editorial-member h3 {
  font-size: 1.2em;
  margin: 0;
}

.editorial-member p {
  font-size: 1em;
  margin: 0.1px 0;
  text-align: center;
}

.editorial-member .cargo {
  color: #E77500;
}

/* ------------------------- */	
/* Estilos para la página defauld */
/* ------------------------- */
.main-defauld {
  display: flex;
  flex-direction: row;
  gap: 20px;
  padding: 20px;
  max-width: 1270px;
  margin: auto;
  align-items: left;

  font-size: 0.8em;
}

.main-defauld section{
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.main-defauld ul {
  padding-left: 20px;
}

.main-defauld aside:not(:has(> ul:empty)) {
  width: 30%;
}

.main-defauld aside ul {
  padding-left: 20px;
  padding-right: 20px;
}

.main-defauld aside ul li{
  padding: 10px;
  width: 100%;
  border-bottom: 1px solid #E77500;
}

.main-defauld aside ul li ul li{
  border-bottom: none;
  font-size: 0.7em;
}

.main-defauld aside li a.active {
  color: #E77500;
}

.main-defauld aside ul li a{
  color: #808080;
  text-decoration: none;
  font-size: 1em;
}

.main-defauld aside ul li a:hover{
  color: #00A499;
}

.main-defauld section{
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 20px;
}


/* ------------------------- */
/* Estilos para la archive publicacion */
/* ------------------------- */
.publicaciones-list {
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 20px;
  max-width: 1270px;
  margin: auto;
  align-items: left;
}

.publicaciones-wrapper {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.publicacion-item{
  display: flex;
  flex-direction: row;
  gap: 80px;
  border: 1px solid #ddd;
  padding: 10px;
}

.publicacion-item img{
  width: 200px;
  height: 250px;

  object-fit: cover;
}

.publicacion-content{
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.publicacion-contenido{
  /* padding-top: 20px; */
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 10px;
  font-size: 0.8em;

  overflow: hidden; /* Oculta el contenido adicional */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 7; /* Limita a 7 líneas */
  line-clamp: 7;
  overflow: hidden;
  text-overflow: ellipsis; /* Añade puntos suspensivos al final */
}

@media (max-width: 768px) {
  .publicacion-item{
    flex-direction: column;
    gap: 20px;
    width: 90%;
    margin: auto;
  }
  .publicacion-item img{
    width: 100%;
    height: 150px;
  }

  .publicacion-content{
    width: 100%;
  }

  .publicacion-contenido{
    -webkit-line-clamp: 4; /* Limita a 3 líneas */
    line-clamp: 4;
    height: 110%;
  }
}

/* ------------------------- */
/* Estilos para el single publicacion */
/* ------------------------- */
.main-publicacion {
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 20px;
  max-width: 1270px;
  margin: auto;
  align-items: left;
}

.publicacion-detalle {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.publicacion-titulo-detalle {
  padding-top: 20px;
}

.publicacion-encabezado {
  display: flex;
  flex-direction: row;
  gap: 20px;
}

@media (max-width: 768px) {
  .publicacion-encabezado {
    flex-direction: column;
    gap: 20px;
  }
}

.publicacion-imagen-detalle {
  width: 350px;
  height: 480px;
}

.publicacion-imagen-detalle img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.publicacion-data {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.publicacion-data p{
  font-size: 1.2em;
  color: #666;
}
.publicacion-contenido-detalle {
  padding-top: 10px;
  display: flex;
  flex-direction: column;
  gap: 20px;

  font-size: 0.8em;
  line-height: 2em;
}


.articulos-relacionados {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.articulos-tipo {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.articulo-tipo-title{
  background-color: #394049;
  border-top-left-radius: 20px;
  border-bottom-right-radius: 20px;
  color: #fff;
  padding: 15px;
  width: 100%;
}

.articulos-list{
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 20px;
}

.articulo-item {
  display: flex;
  flex-direction: column;
  gap: 10px;
  border: 1px solid #ddd;
  padding: 10px;
}

.articulo-item h4 a {
  font-size: 0.8em;
  color: #00A499;
}

.articulo-item h4:hover a {
  color: #E77500;
}

.articulo-autores {
  font-size: 1em;
  color: #666;  
  width: 100%;
}

.articulo-revista {
  font-size: 1em;
  color: #666;
  width: 100%;
}


.articulo-file {
  font-size: 1em;
  color: #E77500;
  display: flex;
  justify-content: flex-end;
  gap: 20px;
}

.articulo-file a{
  align-content: flex-end;
}
.articulo-file a:hover {
  color: #00A499;
}

/* archive articulos */
.main-archive-articulo{
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 20px;
  max-width: 1270px;
  margin: auto;
  align-items: left;
}

.main-archive-articulo .articulos-list{
  margin-top: 20px;
  margin-bottom: 20px;
}

.main-archive-articulo .articulo-tipo-title a{
  color: #ffffff;
}

.main-archive-articulo .articulo-tipo-title a:hover{
  color: #E77500;

}

.main-archive-articulo .articulo-title a{
  color: #E77500;
  font-weight: normal;
  font-size: 1.1em;

  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;

}

.main-archive-articulo .articulo-item {
  gap: 5px;
  width: 100%;
  display: flex;
  flex-direction: column;
  height: 100%;
}

.articulo-item .enlace {
  margin-top: auto;
  display: flex;
  justify-content: flex-end;
  gap: 5px;
}


.main-archive-articulo .articulo-file{
  gap: 5px;
}

/* single articulo */
.main-single-articulo {
  display: flex;
  flex-direction: column;
  gap: 20px;
  max-width: 1270px;
  margin: auto;
  align-items: left;
  padding: 20px;
}

.single-articulo-title {
  font-size: 2em;
  color: #E77500;
  margin-bottom: 20px;
}

.container-single-articulo {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.single-articulo-content {
  display: flex;
  flex-direction: row;
  gap: 20px;
}

.single-articulo-text {
  width: 70%;
}

.single-articulo-meta {
  width: 30%;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.single-articulo-autores {
  font-size: 1.2em;
  color: #666;
}

.single-articulo-revista {
  font-size: 1.2em;
  color: #666;
}

.single-articulo-revista a {
  color: #E77500;
}

.single-articulo-revista a:hover {
  color: #00A499;
}

.single-articulo-publicacion {
  font-size: 1.2em;
  color: #666;
}

.single-articulo-publicacion a {
  color: #E77500;
}

.single-articulo-publicacion a:hover {
  color: #00A499;
}

.single-articulo-file {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.single-articulo-file a {
  color: #E77500;
}

.single-articulo-file a:hover {
  color: #00A499;
}

/* ------------------------- */


/* buscar */
.color-search{
  background-color:  #00A499;
}

.color-search h2{
  color: #fff;
}

.buscador-articulos {
  display: flex;
  flex-direction: row;
  gap: 20px;
  padding: 0px;
  max-width: 1270px;
  margin: 0px;
  align-items: left;
  justify-content: space-between;
  width: 80%;
}



.buscador-articulos .col{
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.buscador-articulos .col p{
  font-size: 1.2em;
  color: #fff;
}

.main-archive-articulo .buscador-articulos .col p{
  color: #666;
}

.buscador-articulos input {
  width: 300px;
  padding: 10px;
  font-size: 1.2em;
  height: 43px;
}

.buscador-articulos select {
  padding: 10px;
  font-size: 1.2em;
  width: 300px;

}

.buscador-articulos button {
  padding: 10px;
  font-size: 1.2em;
  background-color: #E77500;
  color: #fff;
  border: none;
  cursor: pointer;
  transition: background-color 0.3s ease;
  width: 100px;
}

.buscador-articulos button:hover {
  background-color: #d46a00;
}

/* ------------------------- */
/* Responsive Styles for Small Devices */
@media (max-width: 810px) {
  /* Slider */
  .slide-image {
    height: 30vw;
  }

  /* Content Sections */
  .indexacion-section,
  .noticia-section,
  .container-otros-numeros,
  .main-acerca-de,
  .main-cuerpo-editorial,
  .main-defauld,
  .publicaciones-list,
  .main-single-articulo {
    padding: 10px;
    margin-bottom: 20px;
  }

  .section-index{
    margin-bottom: 0px;
    padding: 10px;
  }

  .noticia-section{
    max-width: 650px;
    padding-bottom: 50px;
  }

  /* Layouts in Grid */
  .box-informativos,
  .box-noticias,
  .noticia-box,
  .articulos-list,
  .box-otros-numeros {
    grid-template-columns: 1fr;
  }

  /* About and Editorial Pages */
  .main-acerca-de {
    flex-direction: column;
    align-items: center;
  }
  .main-acerca-de aside {
    width: 100%;
  }
  .main-acerca-de section {
    width: 100%;
  }
  
  /* Single Article */
  .single-articulo-content {
    flex-direction: column;
  }
  .single-articulo-meta {
    width: 100%;
  }

  /* --- estilo “base” para el form buscador --- */
  .buscador-articulos {
    display: flex;
    flex-wrap: wrap;
    justify-content: center; /* centra las columnas hijas */
    gap: 1rem;               /* espacio entre filas/columnas */
    width: 0;             /* ocupa el 100% de su contenedor padre */
    max-width: 800px;        /* pero no crece más allá de 800px */
    margin: 0 auto;          /* lo centra dentro de su padre */
    padding: 0 1rem;         /* un poco de acolchado lateral */
  }

  /* Cada columna ocupa 100% en móviles muy pequeños */
  .buscador-articulos .col {
    flex: 1 1 100%; /* flex‑grow, flex‑shrink y base 100% */
  }

}

/* -- Centrar el buscador completo -- */
.color-search .buscador-articulos {
  display: flex !important;           /* ya lo tenías, reforzamos */
  justify-content: center;            /* centra todo el contenido */
  flex-wrap: wrap;                    /* permite que baje a 2 filas si no cabe */
  gap: 1rem;                          /* espacio uniforme entre columnas */
  margin: 0 auto;                     /* centra el form si tiene width */
  max-width: 900px;                   /* opcional: limita ancho del buscador */
  padding: 1.5rem 0;                  /* un poco de espacio arriba y abajo */
}






/* Estilos lista summary */
summary {
  font-size: 2em;
  font-weight: 700;
  color: #E77500;
  padding: 10px;
  cursor: pointer;
}

summary:hover {
  color: #00A499;
}

details {
  border-bottom: 1px solid #666;
  overflow: hidden;
  transition: height 0.3s ease-in-out;
}

details[open] {
  transition: height 0.3s ease-in-out;
}

details > * {
  margin-bottom: 15px;
}

@media (max-width: 768px) {
  .wp-block-group {
    flex-direction: column;
    gap: 20px;
  }
}

/* Contenedor general del header */
.site-header {
  background-color: #fff; /* Cambia el color si necesitas otro */
  padding: 0.5rem 0; /* Espaciado vertical */
}

/* Contenedor interno para centrar y alinear logo + menú */
.header-container {
  margin: 0 auto;    /* Centrar horizontalmente */
  align-items: center;      /* Alinea verticalmente logo y menú */
  justify-content: space-between; /* Logo a la izquierda, menú a la derecha */
}

/* Logo */
.header-logo img {
  /* Ajusta la altura o anchura según quieras */
  max-height: 120px;
  height: auto;
  width: auto;
}

@media (max-width: 1024px){
  .header-logo img {
    /* Ajusta la altura o anchura según quieras */
    max-height: 120px;
    height: auto;
    width: 90%;
  }
}

/* Navegación principal */
.main-navigation .nav-menu {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: 1.5rem; /* Espacio entre ítems del menú */
}

.main-navigation .nav-menu li {
  /* Puedes agregar estilos adicionales a los <li> */
}

.main-navigation .nav-menu li a {
  text-decoration: none;
  color: #333;
  font-size: 23px; /* Ajusta el tamaño de letra según tu preferencia */
  font-weight: 500;
}

/* Si quieres un efecto hover */
.main-navigation .nav-menu li a:hover {
  color: #666;
}

.mobile-menu-toggle {
  display: none;
}


/* dibujo las 3 rayitas */
.mobile-menu-toggle {
  display: block;
  width: 30px;
  cursor: pointer;
  margin-left: auto; /* o donde quieras ubicarlo */
  margin-right: 60px;
}

.mobile-menu-toggle span {
  display: block;
  height: 3px;
  background: #333;
  margin: 6px 0;
  border-radius: 2px;
  transition: background .3s;
}

/* menú abierto */
.main-navigation .nav-menu.open {
  display: block;
}

@media (min-width: 769px) {
  .main-navigation .nav-menu {
    display: flex !important;
  }
  .mobile-menu-toggle {
    display: none;
  }
}

@media (max-width: 768px) {
  /* El nav siempre al 100% (para no tocar al logo) */
  .main-navigation {
    width: 100%;
  }
  /* Arrancamos oculto */
  .main-navigation .nav-menu {
    display: none;
    flex-direction: column;
    background: #fff;
    box-shadow: 0 2px 6px rgba(0,0,0,0.1);
  }
  /* Cuando slideToggle() lo muestre, le damos ancho y centrado */
  .main-navigation .nav-menu.open {
    display: flex!important;
    width: 80%;         /* o el % ó max‑width que necesites */
    max-width: 400px;
    margin: 0 auto;     /* lo centra horizontalmente */
  }
  .main-navigation .nav-menu li + li {
    border-top: 1px solid #eee;
  }
  .main-navigation .nav-menu li a {
    padding: .75rem 1rem;
    color: #333;
    text-decoration: none;
  }
  .main-navigation .nav-menu li a:hover {
    background: var(--main-lighter-green-color);
    color: #fff;
  }
}

/* Estilos para el navbar */


.main-nav {
  z-index: 999;
  background-color: var(--main-green-color);
  display: flex;
  justify-content: space-between; /* Esto permite que el logo y el menú se separen */
  align-items: center; /* Centra verticalmente los elementos */
  overflow: hidden;
  max-width: 100%;
  padding-left: 20px; /* Espacio entre el logo y el borde izquierdo */
  > a {
    display: grid;
  }
  ul{
  /* Menú de navegación */
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end; /* Alinea los ítems del menú a la derecha */
  align-items: center;
  list-style: none; /* Elimina los puntos de las listas */
  margin: 0; /* Elimina el margen por defecto */
  padding: 0 36px 0 0; 
  }
}

.button-test:hover{
  filter: brightness(0.8);
}

.front-nav {
  position: absolute;
  right: 0%;
  left: 0%;
  top: 0%;
}

.main-nav img {
  width: auto;
  height: 100px;
  margin: auto 0px;
}

@media (max-width: 600px) {
  .main-nav img {
      min-width: 100px;
      width: 250px !important;
      height: auto;
  }
}

@media (max-width: 1024px){
  .main-nav img {
    width: 350px;
    margin: auto 0px;
  }
}

.main-nav div {
  margin-inline: 10px;
  width: 100%;
  ul {
    max-width: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: end;
  }
}
.main-nav li {
  width: max-content;
  margin-left: 20px; /* Espaciado entre los elementos del menú */
  a {
    display: block;
    padding: 20px;
    color: black;
    text-decoration: none; /* Elimina el subrayado de los links */
  }
}
.menu-btn {
  display: none;
}

/* Estilo usado en los pages para que las imagenes mantengan su formato */
.onlyPageContent {
  margin-top: 120px;
  ul {
    height: 100%;
    max-width: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: end;
  }
}

.main-nav li {
  width: max-content;
  a {
    display: block;
    color: black;
    padding: 20px;
  }
}
.menu-btn {
  display: none;
}
.slider-buttons{
  place-self: start;
  display: flex;
  justify-content: center;
  gap: 10px;
  padding-top: 12%;
}
.slider-buttons button{
  display: grid;
  place-content: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  color: #FFF;
  border: 0px solid transparent;
  font-weight: 800;
  font-size: 1.3rem;
  background-color: #01a499;
  &:hover{
    filter: saturate(200%);
  }
}


.main-header {
  display: grid;
  grid-template-columns: 3fr 5fr;
  gap: 24px;
}
.slider-content{
  display: flex;
  flex-direction: column;
  justify-content: space-evenly;
  padding-inline: 5vw;
}
.slider-title{
  color: #01a499;
  font-size: 64px;
  font-weight: 800;
}

.slider-cuerpo{
  color:#111827;
  font-size: 24px;
}
.slider-more{
  border: 1px solid #01a499;
  width: max-content;
  border-radius: 8px;
  overflow: hidden;
  a{
    display: block;
    color: #01a499;
    font-weight: 900;
    padding: 8px 16px;

  }
  a:hover{
    background-color: #01a499;
    color:white;
  }
}
.slider-nav {
  width: 100%;
  overflow: hidden;
  background-color: var(--main-green-color);
  border-radius: 5vw 0 0px 5vw;
  padding-left: 16px;
  min-height: 60vh;
  padding-top: 60px;
  padding-left: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 300px;
  img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 5vw 0 0px 5vw;
  }
}

@media (max-width: 802px) {
  .slider-title{
    font-size: 2rem;
    line-height: 2.1rem;
  }
  .slider-nav{
    height: fit-content; 
    min-height: auto;
    img{
      display: block;
    }
  }
  .slider-content{
    padding-block: 32px;
    gap:16px;
  }
  .slider-cuerpo{
    font-size: 1.2rem;
  }
  .main-header {
    grid-template-columns: auto;
  }
  .onlyPageContent {
    margin-top: 0px;
  }
  .main-nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    border-radius: 0px;
    grid-template-columns: 1fr min-content;
    height: auto;
    text-align: center;
    position: relative;
    margin: 0vw;
  }

  .logo {
    display: flex;
  }
  .main-nav img {
    min-width: 100px;
    width: 250px;
    height: auto;
  }
  .main-nav div {
    display: none;
    flex-direction: column;
    grid-column: 1/-1;
    margin-inline: 0px;
  }

  .main-nav li {
    width: 100%;
    text-align: center;
    a {
      display: block;
      padding: 20px;
    }
  }
  .menu-btn {
    display: grid;
    color: black;
    width: fit-content;
    background-color: transparent;
    cursor: pointer;
    place-self: center;
    border: none;
    text-align: left;
    margin-right: 45px;
    
    & span {
      place-self: center;
      grid-column: 1;
      width: 30px;
      margin-right: 10px;
      border: 2px solid black;
      font-size: 0.5rem !important;
    }
    
    & .menu-btn2 {
      font-size: 1.5rem !important;
      grid-column: 2;
      grid-row: 1/4;
      padding-right: 20px;
      border: none;
      padding-top:10px;
    }
  }
  
}

@media (max-width: 600px) {
  .menu-btn {
      & .menu-btn2 {
          font-size: 1.1rem !important;
          grid-column: 2;
          grid-row: 1 / 4;
          padding-right: 20px;
          border: none;
          padding-top: 5px;
      }
  }
  .menu-btn {
      display: grid;
      color: black;
      width: fit-content;
      background-color: transparent;
      cursor: pointer;
      place-self: center;
      border: none;
      text-align: left;
      margin-right: 15px;
    }
}

@media (max-width: 370px){
  .main-nav img {
    min-width: 100px;
    width: 250px;
    height: auto;
  }
}


/* Estilo para páginas en general */

html, body {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.wrapper {
  min-height: 90vh; /* Al menos 100% de la altura de la ventana */
  display: flex;
  flex-direction: column;
}

.wrapper-2 {
  min-height: 60vh; /* Al menos 100% de la altura de la ventana */
  display: flex;
  flex-direction: column;
}

.page-content {
  display: flex;
  flex-direction: column;
  height: 100%;
  flex: 1;
  min-height: 60vh;
  section {
    h1 {
      text-align: center;
    }
  }
}

.body-page {
  font-family: "Nunito Sans", sans-serif;
  background-color: var(--main-lighter-green-color);
  flex-grow: 1;
  padding-top: 40px;
  padding-inline: 8vw;
  padding-bottom: 80px;
  p {
    background-color: var(--main-lighter-green-color);
  }
}

@media (max-width: 1550px) {
  .body-page {
    padding-inline: 6vw;
  }
}

@media (max-width: 1365px) {
  .body-page {
    padding-inline: 7vw;
  }
}

.top-wave {
  position: relative;
  overflow: visible;
  &::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 10px;
    left: 0;
    width: 100%;
    height: 100px;
    background-color: var(
      --main-lighter-green-color
    ); /* Color que quieras para el fondo */
    mask-image: url("data:image/svg+xml,%3Csvg%20width%3D%221677%22%20height%3D%22197%22%20viewBox%3D%220%200%201677%20197%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M193%2040C147%2015.6981%20101.5%200.500002%200.5%200.5V179.5L1677%20196V4.99998C1591.5%20-9%201525.53%2020.0328%201472%2047C1406.5%2080%201226.25%20120.893%201035.5%2040C844.5%20-41%20669.5%2025.5%20622%2040C595.284%2048.1554%20463.5%2087.5%20391.5%2086C319.5%2084.5%20267.214%2079.2075%20193%2040Z%22%20fill%3D%22%23ffffff%22%20stroke%3D%22%22%2F%3E%3C%2Fsvg%3E");
    background-repeat: no-repeat;
    transform: translateY(-100%); /* Ajusta la posición de la onda */
  }
}

h1.titulo-generico{
  color: var(--main-green-color);
  font-size: 40px;
  padding-top: 4rem;
}

h1.titulo-generico-2{
  color: var(--main-green-color);
  font-size: 40px;
  padding-top: 3rem;
  text-align: center;
}

/* Estilos para la sección de equipo */
.equipo-seccion {
  padding: 4rem 2rem;
  max-width: 1200px;
  margin: 0 auto;
}

.equipo-titulo {
  text-align: center;
  color: var(--main-green-color);
  font-size: 2.5rem;
  margin-bottom: 3rem;
  font-weight: 700;
}

.equipo-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr); /* Exactamente 3 columnas */
  gap: 2rem;
  justify-items: center;
}

.miembro-card {
  width: 100%;
  max-width: 350px;
  background-color: white;
  border-radius: 15px;
  overflow: hidden;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease;
  border: 1px solid var(--main-green-color);
}

.miembro-card:hover {
  transform: translateY(-5px);
}

.miembro-imagen {
  width: 100%;
  height: 300px;
  overflow: hidden;
}

.miembro-imagen img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.miembro-card:hover .miembro-imagen img {
  transform: scale(1.05);
}

.miembro-info {
  padding: 1.5rem;
  text-align: center;
}

.miembro-nombre {
  color: var(--main-dark-grey-color);
  font-size: 1.5rem;
  margin-bottom: 0.5rem;
  font-weight: 700;
}

.miembro-puesto {
  color: var(--main-green-color);
  font-size: 1.1rem;
  margin-bottom: 0.5rem;
  font-weight: 600;
}

.miembro-correo {
  color: var(--main-grey-color);
  text-decoration: none;
  font-size: 1rem;
  transition: color 0.3s ease;
  display: inline-block;
}

.miembro-correo:hover {
  color: var(--main-green-color);
}

/* Responsive */
@media (max-width: 1024px) {
  .equipo-grid {
      grid-template-columns: repeat(2, 1fr); /* 2 columnas en tablets */
  }
}

@media (max-width: 768px) {
  .equipo-seccion {
      padding: 2rem 1rem;
  }
  
  .equipo-titulo {
      font-size: 2rem;
      margin-bottom: 2rem;
  }
  
  .equipo-grid {
      grid-template-columns: 1fr; /* 1 columna en móviles */
      gap: 1.5rem;
  }
  
  .miembro-imagen {
      height: 250px;
  }
  
  .miembro-nombre {
      font-size: 1.3rem;
  }
  
  .miembro-puesto {
      font-size: 1rem;
  }
}

/* Algunos estilos para la sección relacionada a las publicaciones */
/* Opcional: un poquito de separación para el buscador */
.buscador-publicaciones {
  margin: 2rem 0;
}


/* Autor de publicación, justo debajo de la fecha */
.publicacion-autor {
  font-size: 16px;        /* igual que la fecha */
  color: #666;              /* mismo gris */
  border-bottom: 1px solid #ddd; /* la línea fina debajo */
}


/* Generales para body */

body .is-layout-flex {
  display: flex;
  flex-direction: row;
}