@import url('https://fonts.googleapis.com/css2?family=Lato:wght@300;400;700;900&display=swap');

/* ESTILOS GENERALES DE LOS TÍTULOS */
h1, h2, h3, h4, h5, h6 {
  font-family: 'Lato', sans-serif !important;
  color: #333 !important; 
  margin-bottom: 1em !important; 
  line-height: 1.3 !important;
  text-transform: none !important; 
}

/* TÍTULO H1 - Principal */
h1 {
  font-size: 2em !important;
  font-weight: 900 !important; 
}

/* TÍTULO H2 - Subtítulo destacado */
h2 {
  font-size: 2.25em !important;  
  font-weight: 700 !important; 
  color: #1A1A1A !important; 
}

/* TÍTULO H3 - Sección intermedia */
h3 {
  font-size: 1.875em !important; 
  font-weight: 600 !important;
  color: #333333 !important;
}

/* TÍTULO H4 - Subsección o destacado */
h4 {
  font-size: 1.625em !important; 
  font-weight: 500 !important;
  color: #555 !important;
}

/* TÍTULO H5 - Bloques pequeños o información adicional */
h5 {
  font-size: 1.375em !important; 
  font-weight: 400 !important;
  color: #777 !important;
}

/* TÍTULO H6 - Texto de menor relevancia */
h6 {
  font-size: 1em !important; 
  color: #999 !important;
}


/* OPCIÓN PARA FORZAR MAYÚSCULAS SOLO CUANDO LO DESEES */
.text-uppercase {
    text-transform: uppercase !important;
}

/*body.single-post .header-bg-municipio,
body.category-noticias .header-bg-municipio {
  display: none !important;
}*/

.slider-title-overlay {
  position: absolute;
  top: 50%; 
  left: 50%;  /* Centrado horizontal */
  transform: translate(-50%, -50%);  /* Centrado perfecto */
  background-color: rgba(0, 0, 0, 0.5);  /* Fondo oscuro transparente */
  padding: 20px;
  border-radius: 8px;  
  z-index: 2;  /* Asegura que el título esté por encima del slider */
}

.post-header-title {
  color: #fff;
  font-size: 3rem;  
  font-weight: bold;
  text-align: center;
  margin: 0;
  padding: 0;
}


/*======PAGINA NO HAY NADA====*/

 .content-none{
  margin-top:5rem !important;
}
/*===== MENU ======*/

body.post-type-archive-campana nav#primary-navigation .nav-menu > li a[href*="/campana"],
body.single-campana nav#primary-navigation .nav-menu > li a[href*="/campana"],
body.tax-categoria_campana nav#primary-navigation .nav-menu > li a[href*="/campana"] {
  border: 0.2em solid #ffffff !important;
}

body.post-type-archive-publicaciones nav#primary-navigation .nav-menu > li a[href*="/publicaciones"],
body.single-publicaciones nav#primary-navigation .nav-menu > li a[href*="/publicaciones"],
body.tax-categoria_publicacion nav#primary-navigation .nav-menu > li a[href*="/publicaciones"] {
  border: 0.2em  solid #ffffff !important;
}

body.post-type-archive-enlaces nav#primary-navigation .nav-menu > li a[href*="/enlaces"],
body.single-enlaces nav#primary-navigation .nav-menu > li a[href*="/enlaces"],
body.tax-categoria_enlace nav#primary-navigation .nav-menu > li a[href*="/enlaces"] {
  border: 0.2em  solid #ffffff !important;
}





/*===== ESTILOS VARIOS ====*/

.margen-arriba{
  margin-top: 15rem !important;
}

.margen-abajo{
  margin-bottom: 15rem !important;

}

.imagenes-anuncios{
  padding-top: 15rem !important;
  padding-bottom: 15rem !important;
}

.textwidget{
	color:white;
}

/* Ocultar la sección de comentarios */
#comments, .comment-respond, .comments-area {
    display: none !important;
}



/* Para .block-content en múltiples categorías */
body.category-eventos .block-content,
body.category-asambleas .block-content,
body.category-otros .block-content,
body.category-premios-de-buenas-practicas .block-content {
  margin-top: -20rem !important;
}

/* Para .page-title-block en múltiples categorías */
body.category-eventos .page-title-block,
body.category-asambleas .page-title-block,
body.category-otros .page-title-block,
body.category-premios-de-buenas-practicas .page-title-block {
  padding-top: 0 !important;
}

.clase-botones{
  padding-top: 3.125em;
}

.breadcrumbs{
    display: none !important;
}

p {
	text-align: justify !important;
}

.parrafo2{
	    text-align: center !important;
}

.justificado{
		text-align: justify !important;
}

.bloque_3c_title{
  margin-top:10rem !important;
  text-align: center !important;
}
@media (max-width: 480px) {
  .margen2 {
    margin-top: 0 !important;  
    margin-bottom: 0 !important;  

  }
}

@media (max-width: 768px) {
  .margen2 {
    margin-top:0!important;  
    margin-bottom: 0 !important; 
  }
}




/*===== MARGENES =====*/
.bloque_image_texto_title,
.bloque_image_texto_txt,
.margentodo 
{
  margin:5rem !important;
}
.margentitulo{
  margin:15rem 5rem 5rem !important;
}
.portfolio-preloader-wrapper{
  padding: 5rem;
}
.margengrupotrabajo{
  margin:0rem 5rem 15rem !important;

}
.margenboton{
  margin-left:5rem;
}




/*TITULO IMAGENES LA RED*/
.objetivos_red_title a{
  margin: 0;
  padding: 0;
  color: #fff;
  transition: text-shadow 0.3s ease, transform 0.3s ease !important;

}
.objetivos_red_title a:hover {
  text-shadow: 0 0 1em rgba(255, 255, 255, 0.8) !important; 
  transform: scale(1.05) !important; 
}
.col {
  width: 25%;
}

/*RESPONSIVO IMAGENES LA RED*/
@media (min-width: 768px) {
  .wpb_column.vc_col-sm-3 {
    width: 50% !important;  
  }
}
@media (min-width: 1440px) {
  .wpb_column.vc_col-sm-3 {
    width: 25% !important;
  }
}



/* Estilos para la clase 'puntos' */
.puntos{
		text-align: justify !important;
}

/* Estilos para los botones */
.botones{
    background-color: transparent !important;
    color: white !important;
    border: 0.2em solid white !important;
    padding: 0.625em 1.25em;
    transition: all 0.3s ease-in-out;
}








/*=====NOTICIAS=====*/

.post-grid-date{
  margin-bottom: 0.625em!important;
}

.vc_gitem-post-data-source-post_title h4{  
  color:rgb(105, 105, 105) !important;
  display: inline !important;
  font-size: 1.2em !important;
  height: auto !important;
  text-align: left !important;
  text-transform: none !important;
}

.vc_btn3.vc_btn3-color-juicy-pink, .vc_btn3.vc_btn3-color-juicy-pink.vc_btn3-style-flat {
  display: inline-block !important;
  padding:0.8em !important;
  font-size: 1em !important;
  color: #333 !important;  
  background-color: transparent !important; 
  border: 1px solid #333 !important; 
  text-align: center !important;
  border-radius: 0px !important;
}
.vc_btn3.vc_btn3-color-juicy-pink, .vc_btn3.vc_btn3-color-juicy-pink.vc_btn3-style-flat:hover{
  color: #000000 !important;  
  background-color: rgb(223, 221, 221) !important; 
  
}

.contenido-principal {
  text-align: justify !important;
}
.texto-documento{
    color:rgb(105, 105, 105) !important;
}
.texto-documento:hover{
    color:#178b47 !important;
}

/*MARGENES CATEGORIA*/
.portfolio-row-outer {
  margin-top: 15rem !important;
  margin-bottom: 15rem !important;
}
/*MARGINBOTTOM CATEGORIAS*/
.pagina-de-noticias .panel-center.col-xs-12 {
  margin-bottom: 15rem !important;  /* Ajusta el valor según lo necesites */
  margin-top: 15rem !important;  /* Ajusta el valor según lo necesites */

}
/*

CONTENIDO INTERNO NOTICIAS


*/
.post-content-date-container {
  display: block; /* La fecha irá a la izquierda */
  text-align: right;
  margin-bottom: 1em;  /* Espacio debajo de la fecha */
}
.post-content-image{
  padding-bottom: 5rem;
}
.post-content-date {
  font-weight: bold;  
  color: #000;        
  font-size: 0.8em;
  margin-bottom: 0.3em; 
}

.post-content-divider {
  border: none;
  border-top: 1px solid #ccc;  
  margin: 0;
}

/*

menu categorias (noticias)

*/
  .contenido-con-sidebar {
    display: flex;
    justify-content: space-between; 
    align-items: flex-start;       
    gap: 10rem;  
    margin:15rem 5rem 5rem;               
}

.contenido-principal {
    width: 70%;  
}

.sidebar-categorias {
    width: 30%;
    padding: 1em;
    text-align: left;
    max-height: 18.75em;  
    overflow-y: auto;   /* Desplazamiento vertical si hay demasiadas categorías */
}

.categorias-titulo {
    margin-top: -25px !important;         
    margin-bottom: 0.625em;   
    font-weight: bold;
    text-align: left;
}

.sidebar-categorias ul {
    list-style: none;
    padding: 0;
    margin: 0;
    border: 1px solid #ddd;
    border-collapse: collapse;
}



.sidebar-categorias li {
    padding: 0.5em 1.2em;
    border-bottom: 1px solid #ddd;
}
.sidebar-categorias li a:hover {
  color: #178b47 !important;
}

.sidebar-categorias li:last-child {
    border-bottom: none;
}

.sidebar-categorias a {
    color: #000;
    text-decoration: none;
    display: block;
}

.sidebar-categorias a:hover {
   color: #2980b9;
    text-decoration: none;
}
.single-post .panel-center.col-xs-12 {
  margin-bottom: 15rem; 
}
/*icono descarga noticias*/
.icono-documento {
  text-align: left;
  margin-top: 1.25em;  
}

.icono-documento img {
  width: 2.5em;    /* Tamaño del icono */
  height: 2.5em;
  cursor: pointer;
}

.icono-documento a:hover img {
  opacity: 0.8;  /* Efecto hover */
}
#main{
	background-color:white !important;
}


/*====== Pagina no hay noticias en esta categoria (POR SI ACASO) ======*/
body.category-otros #main-content {
  margin-top: 40em !important;
  margin-bottom: 3em !important;
}
body.category-eventos #main-content {
  margin-top: 40em !important;
  margin-bottom: 3em !important;
}body.category-asambleas #main-content {
  margin-top: 40em !important;
  margin-bottom: 3em !important;
}body.category-premios-de-buenas-practicas #main-content {
  margin-top: 40em !important;
  margin-bottom: 3em !important;
}


  /*PAGINACION NOTICIAS*/
/* Contenedor principal de la paginación */



/*===== RESPONSIVO NOTICIAS =====*/

@media (max-width: 768px) {
  .contenido-con-sidebar {
      flex-direction: column !important;
      align-items: center !important;
  }

  .contenido-principal {
      width: 100% !important;
      order: 1 !important;
  }

  .sidebar-categorias {
      width: 100% !important;
      order: 2 !important;
      margin-top: 1.25em !important;
      text-align: left !important;
      padding: 0.625em !important;
      box-sizing: border-box !important;
      max-height: none !important;
      overflow: visible !important;
  }

  .categorias-titulo {
      font-size: 1.8em!important;
      text-align: center !important;
      margin-bottom: 0.625em;
  }

  .sidebar-categorias ul {
      padding-left: 0 !important;
      list-style: none;
      margin-left: 0 !important;
  }

  .sidebar-categorias li {
      display: block !important;
      margin-bottom: 0.625em !important;
  }

  .sidebar-categorias a {
      display: block;
      padding: 0.625em;
      text-align: left !important;
      color: #333;
      text-decoration: none;
  }

  .sidebar-categorias a:hover {
      background-color: #f2f2f2;
      color: #178b47;
  }

  .sidebar-categorias {
      text-align: justify !important;
  }
}

@media (max-width: 480px) {
  .sidebar-categorias {
      padding: 0.313em !important;
  }

  .categorias-titulo {
    font-size: 1.8em !important;
  }
}

/*==== Responsivo Premios ====*/
  
.premios{
  padding-top: 1,5rem !important;
}
@media (max-width: 768px) {
  .premios {
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 0.5em !important;
      }
}



/*===== CAMPAÑAS=====*/
.post-author-date{
  display: none !important;
}

.grid-post-meta-inner{
  display: none !important;
}

.title a{
  color: rgb(105, 105, 105) !important;
  display: inline !important;
  font-weight: 500 !important;
  height: auto !important;
  text-align: left !important;
  text-size-adjust: 100% !important;
  text-transform: none !important;
}

.info a{
  display:none !important;
}
.description {
  display:none !important;
}
.taxonomy-categoria_noticias .panel-center {
  margin-bottom: 15rem !important;  /* Cambia el valor según lo necesites */
}

.vc_custom_heading .vc_gitem-post-data .vc_gitem-post-data-source-post_excerpt p {
  display: block;
  font-size: 0.938em;
  font-weight: 300;
  text-align: left;
  text-size-adjust: 100%;
  unicode-bidi: isolate;
}

/*MAPA*/
.gm-style-mtc {
    right: 0.625em !important; /* Lo desplaza a la derecha */
    left: auto !important; /* Elimina la posición izquierda por defecto */
    top: 0.625em !important;  /* Controla la posición vertical */
}




/*==== TIPOS DE CONTENIDO ====*/

 
/*===== PROYECTOS =====*/

/* Contenedor global */
.contenedor-proyectos {
  max-width: 75em !important;
  margin: 5rem auto !important;
  padding: 5rem !important;
  box-sizing: border-box !important;
  margin-top: 15rem !important;
  margin-bottom: 10rem !important;
}

/* Grid de 2 columnas en pantallas grandes */
.grid-proyectos {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 2em !important; 
  align-items: start !important;
  margin-top: 15rem !important;
  margin-bottom: 10rem;
}

/* Aseguramos que los proyectos se apilen uno debajo del otro en pantallas pequeñas */
@media (max-width: 768px) {
  .grid-proyectos {
    grid-template-columns: 1fr !important;  /* Un solo proyecto por fila */
  }

  .item-proyecto {
    margin-bottom: 1.25em !important; /* Añadimos margen entre proyectos */
  }
}

.item-proyecto {
  padding: 0.625em !important;      
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important; 
}

/* Contenedor de la imagen en el grid */
/* Mantiene una altura fija para el layout, pero la imagen se ajustará completa */
.imagen-proyecto {
  width: 100%;
  height: 100%; 
  overflow: hidden;
  margin-bottom: 0.625em;
  position: relative;
}

.imagen-proyecto img {
  width: 100%;
  height: 100%;
  object-fit: contain;  
  object-position: center;
  display: block;
}

/* Título del proyecto */
.titulo-proyecto {
  font-weight: 500 !important;
  font-size: 1.3em !important;
  color: #333 !important;
  margin-bottom: 0.5rem !important;  
  margin: 1rem 0rem 1rem 0rem !important;
  text-transform: none;
}

/* Extracto del proyecto */
.resumen-proyecto {
  font-family: 'Lato', sans-serif !important;
  font-weight: 300 !important;
  font-size: 0.938em !important;
  color: #666 !important;
  margin-bottom: 0.5rem !important; 
}

/* Paginación */
.paginacion {
  margin-bottom: 15rem;
  text-align: center;
}

/* Navegación de paginación */
.navegacion {
  display: inline-flex;
  gap: 0.625em;
}

.prev-link a,
.next-link a {
  background-color: #fff !important;
  border: 1px solid #ccc !important;
  color: #333 !important;
  padding: 0.5rem 1.5rem !important;
  border-radius: 3.125em !important;
  text-decoration: none !important;
  display: inline-block !important;
}

.prev-link a:hover,
.next-link a:hover {
  background-color: #f2f2f2  !important; 
  border-color: #333 !important;       
  color: #333 !important;
}

.vc_row .wpb_row .vc_row-fluid {
  padding: 0.938em !important;
}


/* INTERIOR DE PROYECTOS */
/* Contenedor del single de proyecto */
.contenedor-proyecto-single {
  max-width: 62.5em;
  margin: 10rem auto 0 auto;  
  margin-bottom: 15rem;       
  padding: 2rem;
  box-sizing: border-box;
  font-family: 'Lato', sans-serif;
}
/* Título y categorías */
.proyecto-header {
  margin-bottom: 2rem;
}
.proyecto-article{
  padding: 5rem;
}


.proyecto-content {
  font-size: 0.938em;
  line-height: 21.40.2em;
  color: #555;
  font-weight: 300;
  margin-bottom: 2em;
  line-height: 1.6;
}
/*IMAGENES DENTRO DEL PROYETO*/
.imagenes-single-proyecto{
  display: block !important;
  margin: 8rem auto !important;
  max-width: 100% !important;
  height: auto !important;
  object-fit: contain !important; 
}

/**LISTAR DESCARGAS**/
/* Quita viñetas, márgenes y relleno por defecto del <ul> */
.field--items ul {
  list-style: none;
  margin: 0;
  padding: 0;

  /* Crea varias columnas (3 de ejemplo) */
  columns: 3;              
  -webkit-columns: 3;
  -moz-columns: 3;

  /* Espacio horizontal entre columnas */
  column-gap: 2rem;
  -webkit-column-gap: 2rem;
  -moz-column-gap: 2rem;
}

/* Cada <li> en su propia columna */
.field--item li {
  margin-bottom: 0.5rem;
  list-style: none;
  /* Evita que se parta en dos columnas */
  break-inside: avoid;
  -webkit-column-break-inside: avoid;
  -moz-column-break-inside: avoid;
}

/* Media query para pantallas pequeñas (menores a 768px) */
@media (max-width: 768px) {
  .field--items ul {
    columns: 2;
    -webkit-columns: 2;
    -moz-columns: 2;
    column-gap: 1rem;
  }
}

/* Media query para pantallas muy pequeñas (menores a 480px) */
@media (max-width: 480px) {
  .field--items ul {
    columns: 1;
    -webkit-columns: 1;
    -moz-columns: 1;
    column-gap: 0.5rem;
  }
}





/*=====CAMPAÑAS=====*/

 .slider-area {
    margin-top: 1.25rem !important;
    margin-bottom: 1.25rem !important;
}

/* ===== CONTENEDOR GENERAL ===== */
/* Contenedor más pequeño */
.contenedor-campanas {
  max-width: 75em !important;
  margin: 5rem auto !important;
  box-sizing: border-box !important;
  margin-top: 15rem !important;
}

/* Grid de 2 columnas con menos espacio */
.grid-campanas {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 2em !important; 
  align-items: start !important;
  margin:1.25em 1.25em 15rem 1.25em;
  padding-top: 15rem;

}
.campana-article{
  margin:5rem;
}
/* Tarjeta de cada campaña */
.item-campana {
  padding: 0.625em !important;      
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important; 
}

/* Imagen destacada */
.item-campana img {
  width: 100% !important;
  height: auto !important;
  margin-bottom: 0.5rem !important; 
}

/* Título */
.titulo-campana {
  color: #333 !important;
  margin-bottom: 0.5rem !important;  
  margin: 1rem 0rem 1rem 0rem !important;
  text-transform: none;
}

/* Subtítulo */
.subtitulo-campana {
  font-weight: 400 !important;
  color: #777 !important;
  margin-bottom: 1rem !important; 
}

/* Resumen (excerpt) */
.resumen-campana {
  font-weight: 300 !important;
  font-size: 0.938em !important;
  color: #666 !important;
  margin-bottom: 0.5rem !important; 
}


/* Botón "Leer más" */
.btn-leer-mas {
  align-self: flex-start !important;
  display: inline-block !important;
  background-color: transparent !important;
  border: 1px solid #999 !important;
  color: #333 !important;
  padding: 1.2rem 1.5rem !important;
  text-decoration: none !important;
  border-radius: 0 !important;
  font-size: 1.5rem !important;
  margin-top: 0 !important;      
}

.btn-leer-mas:hover {
  background-color: #f2f2f2 !important;
  color: #000 !important;
}

/* Responsivo: 1 columna en pantallas pequeñas */
@media screen and (max-width: 768px) {
  .grid-campanas {
    grid-template-columns: 1fr !important;
  }
}


  /*BOTON SIGUIENTE*/
  .navegacion span a,
  .navegacion span a.prev-link,
  .navegacion span a.next-link {
    background-color: #fff !important;
    border: 1px solid #ccc !important;
    color: #333 !important;
    padding: 0.5rem 1.5rem !important;
    border-radius: 3.125em !important;
    text-decoration: none !important;
    display: inline-block !important;
  }
  
  .navegacion a:hover,
  .navegacion span a.prev-link:hover,
  .navegacion span a.next-link:hover {
    background-color:#f2f2f2  !important; 
    border-color: #333 !important;       
    color: #333 !important;
  }

  



/*===== INTERIOR CAMPAÑA =====*/

.campana-slider {
  margin-bottom: 2rem;
}

/* Contenedor principal de la campaña individual */
.campana-single {
  max-width: 62.5em;
  margin: 10rem auto 0 auto;  
  margin-bottom: 15rem;   
  padding-top: 5rem !important;       
  padding: 2rem;
  box-sizing: border-box;
  
}

.campana-header {
  margin-bottom: 2rem; 
}

/* Título de la campaña */
.campana-title {
  margin-bottom: 1rem; 
  padding-top: 5rem; 
}

/* Subtítulo de la campaña */
.campana-subtitle {
  color: #777;
  margin-bottom: 1rem;
}


/* Contenedor general del slider */
.slider-wrapper {
  max-width: 50em;     
  margin: 0 auto;       
  position: relative;   
}

/* Slider interno */

.images-bottom.slider {
  margin-top: 8rem;
  position: relative;
  height: 18.75em;       
  overflow: hidden;
}

.images-bottom.slider .slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: none;
}

.images-bottom.slider .slide img {
  width: 100%;
  height: 100%;
  object-fit: contain; 
  display: block;
}

/* Flechas de navegación */
.slider-prev,
.slider-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(0,0,0,0.5);
  color: #fff;
  border: none;
  font-size: 2rem;
  padding: 0.5rem;
  cursor: pointer;
  z-index: 10;
}

.slider-prev {
  left: 0.313em;  /
}

.slider-next {
  right: 0.313em; 
}

/* Ajustes responsivos opcionales */
@media (max-width: 768px) {
  .slider-prev,
  .slider-next {
    font-size: 1.5rem;
    padding: 0.5rem;
  }
}







/*==== PUBLICACIONES ====*/


.filtros-publicaciones {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.875em;
  margin:15rem 8rem 8rem 8rem;
}

/* Botón base */
.boton-categoria {
  padding: 0.625em 1.25em;
  background-color: #ffffff;
  color: #000000;
  border: 1px solid black;
  text-decoration: none;
  transition: background-color 0.3s ease;
  box-shadow: 0 0.2em 0.313em rgba(0, 0, 0, 0.2);
  text-align: center;
}
  
  .boton-categoria:hover {
    background-color: #161616;
    color:#fff;
  }
  
  /* Estado activo */
  .boton-categoria.active {
    background-color: #178b47;
  }
  
  @media (max-width: 600px) {
    .boton-categoria {
      padding: 0.5em 1em;
      font-size: 0.8em;
    }
  }

 /* -------------------------
   CONTENEDOR PRINCIPAL
------------------------- */
.contenedor-publicaciones {
  max-width: 75em;
  margin: 0 auto;
}
.barra-filtros{
  width: 100%;
  padding: 0.625em 0;}

/* Masonry con 4 columnas en pantallas grandes */
.listado-publicaciones {
  column-count: 4;       /* 4 columnas */
  column-gap: 1.25em;     /* Espacio horizontal entre columnas */
  margin:5rem 5rem 15rem 5rem;
}

/* Tarjetas estilo “masonry” */
.tarjeta-publicacion {
  display: inline-block;   
  width: 100%;             
  margin-bottom: 1.25em;     
  /* Evitar que se corte la tarjeta en columnas */
  break-inside: avoid;
  -webkit-column-break-inside: avoid;
  -moz-column-break-inside: avoid;
  
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 0.5em;
  box-shadow: 0 0.2em 0.5em rgba(0,0,0,0.1);
  box-sizing: border-box;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  padding: 1.25em; /* Ajusta el padding interior */
}

.tarjeta-publicacion:hover {
  transform: translateY(-0.313em);
  box-shadow: 0 0.313em 0.938em rgba(0,0,0,0.2);
}

/* Imágenes, contenido, etc. */
.imagen-publicacion img {
  width: 100%;
  height: auto;
  display: block;
}

.contenido-publicacion {
  padding: 0.938em;
  text-align: left;
}

.titulo-publicacion {
text-align: center !important;
color: black !important;

}

.titulo-publicacion a {
  color: black;
  text-decoration: none;
}


.extracto-publicacion {
  font-size: 0.8em;
  color: #666;
  margin-top: 0.625em;
}

/* ICONO DESCARGA */
.icono-descarga {
  text-align: center;
  margin-bottom: 0.5em;
}
.icono-descarga i {
  font-size: 2rem;
  color: #3498db;
}

@media (max-width: 1200px) {
  .listado-publicaciones {
    column-count: 3; 
  }
}
@media (max-width: 900px) {
  .listado-publicaciones {
    column-count: 2;
  }
}
@media (max-width: 600px) {
  .listado-publicaciones {
    column-count: 1; 
  }
    .boton-categoria {
      flex: 0 0 auto;  
      min-width: 8rem; 
      margin: 0.3125rem; 
    }
  }
  






/*===== ENLACES ===== */
.barra-filtros-enlaces {
  width: 100%;
  padding: 0.625em 0;
}
.filtros-enlaces {
  gap: 1.875em;
  margin: 15rem 8rem 8rem 8rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

/* -------------------------------
   Contenedor y Masonry para Enlaces
------------------------------- */
.contenedor-enlaces {
  margin-top: 10rem;
  max-width: 75em;
  margin: 0 auto;
  margin-bottom: 15rem;
}
.listado-enlaces {
  display: flex;
  flex-wrap: wrap;        
  gap: 1.25em;              
  justify-content: center; 
  margin-bottom: 10rem;
}

/* Cada tarjeta se comporta como un bloque dentro de la columna (masonry) */
.tarjeta-enlace {
  display: flex;              
  align-items: center;        
  justify-content: flex-start; 
  
  width: 17.5em;              
  height: 5.625em;                
  
  background-color: #f9f8f5;   
  border: 1px solid #ddd;      
  box-shadow: 0 0.2em 0.5em rgba(0,0,0,0.1);

  padding: 0.625em 1em;         
  box-sizing: border-box;
  text-decoration: none;       
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  margin-bottom: 1rem;        
}
.tarjeta-enlace:hover {
  transform: translateY(-0.3em);
  box-shadow: 0 0.3em 1em rgba(0,0,0,0.2);
}

/* -------------------------------
   Contenido de la Tarjeta (Enlace)
------------------------------- */
.contenido-enlace {
  text-align: left;
}
.titulo-enlace {
  text-align: left !important;
  text-transform: none;
  margin: 0;
  color: black;
}

.titulo-enlace a {
  color: black;
  text-decoration: none;
}
.titulo-enlace a:hover {
  color: #2980b9;
}
.extracto-enlace {
  font-size: 0.875em;
  color: #666;
  margin-top: 0.625em;
}
.icono-enlace {
  flex: 0 0 auto;
  margin-right: 0.625em;
}

.icono-enlace img {
  width: 1.875em;  
  height: auto;
  display: block;
}

/* -------------------------------
   Media Queries para Responsividad
------------------------------- */
/* Pantallas hasta 1200px: 3 columnas */
@media (max-width: 1200px) {
  .listado-enlaces {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin:5rem;
  }
  .tarjeta-enlace {
    flex: 0 1 calc(33.33% - 1.25em);
    margin: 0.625em;
  }
}

@media (max-width: 900px) {
  .tarjeta-enlace {
    flex: 0 1 calc(50% - 1.25em);
  }
}

@media (max-width: 600px) {
  .tarjeta-enlace {
    flex: 0 1 100%;
  }
}








	/* Forzar en desktop: texto blanco por defecto y hover (y active) verde */
nav#primary-navigation .nav-menu > li > a {
	color: #ffffff !important;
}
nav#primary-navigation .nav-menu > li > a:hover,
nav#primary-navigation .nav-menu > li > a:focus,
nav#primary-navigation .nav-menu > li > a:active {
	color: #178b47 !important;
}

/* En móvil, si prefieres que los enlaces se muestren en negro, se puede agregar: */
@media screen and (max-width: 1220px) {
	nav#primary-navigation .nav-menu > li > a {
	color: #3C3950 !important;
}
  nav#primary-navigation .nav-menu > li > a:hover,
  nav#primary-navigation .nav-menu > li > a:focus,
  nav#primary-navigation .nav-menu > li > a:active {
	color: #178b47 !important;
		}
}



/*===== FOOTER =====*/
.footer-widgets{
  padding-top: 2rem !important;
  padding-bottom: 2rem !important;
}
#colophon{
  background-color:#178b47 !important;
}
.estilo-footer{
  color: #fff !important;
}
  

/*RESPONSIVO FORM*/
  @media (max-width: 1078px) and (min-width: 885px) {
    .frm_fields_container {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important; 
    }

    .frm_form_field {
        width: 100% !important;
        margin-bottom: 1em !important; 
    }

    .frm_form_field input,
    .frm_form_field textarea {
        width: 100% !important;
    }

    .frm_style .frm_submit {
        text-align: center !important;
        width: 100% !important;
    }
}









/*RESPONSIVO MAPA*/
/* Opcional: si Google Maps usa otra estructura, prueba también con este selector */
.gm-style-iw-c {
  background: #178B47 !important;
  border: 2px solid #178B47 !important;
  border-radius: 10px !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.3) !important;
  padding: 15px !important;
  margin: 10px !important;
}

.gm-style-iw-c * {
  color: #fff !important;
}
.gm-style-iw-d{
  scrollbar-color: #fff #178B47 !important;
  overflow-x: hidden !important;
  overflow: auto !important;
}

/* Aseguramos que las listas dentro del InfoWindow tengan puntos visibles */
.gm-style-iw ul, .gm-style-iw-d ul {
  list-style-type: disc !important; 
  list-style-position: inside !important; 
  padding: 0 !important; 
  margin: 0 !important; 
}

.gm-style-iw ul li::marker, .gm-style-iw-d ul li::marker {
  color: white !important; 
}

.gm-style-iw ul li, .gm-style-iw-d ul li {
  text-align: left !important; 
}

  /* Contenedor general */
  .map-wrapper {
  position: relative !important;
  width: 100% !important;
  height: 600px !important; 
  }
  
  .my-custom-infowindow{
    padding-right: 2rem !important;
    padding-left: 2rem !important;

  }
  .gm-ui-hover-effect span {
    background-color: #fff !important;
    -webkit-mask-size: cover !important;
    -webkit-mask-position: center !important;
    -webkit-mask-repeat: no-repeat !important;
    mask-size: cover !important;
    mask-position: center !important;
    mask-repeat: no-repeat !important;
  }
  
 .puntosmapa{
    list-style: disc !important;
 }

 .puntosmapa:before {
  display: none;
    list-style-type: none !important;
 }

  /* Mapa */
  .map-area, #map {
  width: 100% !important;
  height: 100% !important;
  }
  
  /* Panel lateral en escritorio */
  .info-panel {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 280px !important;
  height: 100% !important;
  background-color: rgba(0, 0, 0, 0.4) !important;
  z-index: 10 !important;
  padding: 20px 0 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-evenly !important;
  align-items: center !important;
  text-align: center !important;
  font-family: Arial, sans-serif !important;
  font-weight: bold !important;
  color: #000 !important;
  }
  
  /* Bloques internos */
  .info-block {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  width: 100% !important;
  margin-bottom: 40px !important; /* Espacio entre bloques en escritorio */
  }
  .info-block:last-of-type {
  margin-bottom: 0 !important;
  }
  
  /* Estilos para números y etiquetas */
  .stat-number, .info-number {
  font-size: 60px !important;
  margin: 0 !important;
  }
  .info-line, .stat-line {
  width: 80% !important;
  border-top: 3px solid #000 !important;
  margin: 20px 0 !important;
  }
  .stat-label, .info-label {
  font-size: 30px !important;
  margin: 0 !important;
  }
  .gm-style-iw-tc{
    display: none !important;
  }
  /* Responsivo: en pantallas pequeñas, el panel se coloca encima del mapa */
  @media (max-width: 768px) {
  .map-wrapper {
  display: flex !important;
  flex-direction: column-reverse !important; 
  height: auto !important;
  }
  .info-panel {
  position: static !important;
  width: 100% !important;
  height: auto !important;
  background-color: #cacaca66!important;
  }
  .map-area, #map {
  height: 600px !important;
  }
  .info-block {
  margin-bottom: 5rem !important; 
  margin-top: 5rem !important; 

  }
  .stat-label{
    padding-bottom: 5rem !important;
  }
  }



/* Ajuste de ancho en pantallas pequeñas para el contenido WPBakery */
@media (max-width: 1024px) {
  .vc_row .vc_column_container.thegem-custom-688a0f825a4c93120 {
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .vc_column-inner.thegem-custom-688a0f825a4c {
    padding: 0 !important;
    width: 100% !important;
  }
}

