/*
Theme Name: Recre-ad
Theme URI: https://sdi.es/
Template: astra
Author: SDi
Author URI: https://sdi.es/
Description: The Astra WordPress theme is lightning-fast and highly customizable. It has over 1 million downloads and the only theme in the world with 6,000+ five-star reviews! It’s ideal for professional web designers, solopreneurs, small businesses, eCommerce, membership sites and any type of website. It offers special features and templates so it works perfectly with all page builders like Spectra, Elementor, Beaver Builder, etc. Fast performance, clean code, mobile-first design and schema markup are all built-in, making the theme exceptionally SEO-friendly. It’s fully compatible with WooCommerce, SureCart and other eCommerce plugins and comes with lots of store-friendly features and templates. Astra also provides expert support for free users. A dedicated team of fully trained WordPress experts are on hand to help with every aspect of the theme. Try the live demo of Astra: https://zipwp.org/themes/astra/
Tags: custom-menu,custom-logo,entertainment,one-column,two-columns,left-sidebar,e-commerce,right-sidebar,custom-colors,editor-style,featured-images,full-width-template,microformats,post-formats,rtl-language-support,theme-options,threaded-comments,translation-ready,blog
Version: 1.0.0.1785492402
Updated: 2026-07-31 12:06:42

*/


/* ==========================================================================
   NEWS
   ========================================================================== */

.category-filter {
   font-family: 'Montserrat';
   font-size: 14px;
   font-weight: 600;

   display: flex;
   flex-direction: row;
   align-items: center;
   gap: 12px;
}

.category-filter .category-filter-title {
   color: #666666;
}

.category-filter a {
   color: #000000;
   padding: 8px 16px;
   background-color: #F3F4F6;
   border-radius: 50px;

   transition: all 0.3s ease;
}

.category-filter a:hover {
   background-color: #373CF5;
   color: #FFFFFF;
}

.category-filter a.active_category {
   background-color: #373CF5;
   color: #FFFFFF;
}

.event-category-filter {
   font-family: 'Montserrat';
   font-size: 14px;
   font-weight: 600;

   display: flex;
   flex-direction: row;
   align-items: center;
   gap: 12px;
}

.event-category-filter .event-category-filter-title {
   color: #666666;
}

.event-category-filter a {
   color: #000000;
   padding: 8px 16px;
   background-color: #F3F4F6;
   border-radius: 50px;

   transition: all 0.3s ease;
}

.event-category-filter a:hover {
   background-color: #3EABAB;
   color: #FFFFFF;
}

.event-category-filter a.active_category {
   background-color: #3EABAB;
   color: #FFFFFF;
}

.news-extract .elementor-posts-container .elementor-post:first-child {
   grid-column: span 3;
   display: flex;
   flex-direction: row;
   gap: 32px;
   background-color: #F3F4F6;
}

.news-extract .elementor-posts-container .elementor-post:first-child a.elementor-post__thumbnail__link {
   margin-bottom: 0 !important;
   flex: 0 0 48%;
   max-width: 590px;
   align-self: stretch;
   overflow: hidden;
}

.news-extract .elementor-posts-container .elementor-post:first-child a.elementor-post__thumbnail__link .elementor-post__thumbnail {
   height: 100%;
   width: 100%;
}

.news-extract .elementor-posts-container .elementor-post:first-child a.elementor-post__thumbnail__link img {
   width: 100% !important;
   height: 100% !important;
   max-width: none;
   object-fit: cover !important;
   object-position: center;
}

.news-extract .elementor-posts-container .elementor-post:first-child .elementor-post__text {
   flex: 1 1 0;
   min-width: 0;
   padding: 32px !important;
}

.news-extract .elementor-posts-container .elementor-post:first-child .elementor-post__text .elementor-post__title,
.news-extract .elementor-posts-container .elementor-post:first-child .elementor-post__text .elementor-post__title a {
   font-size: 32px !important;
   font-weight: 600 !important;
   line-height: 37.5px !important;
}

.news-extract .elementor-posts-container .elementor-post:first-child .elementor-post__text .elementor-post__excerpt,
.news-extract .elementor-posts-container .elementor-post:first-child .elementor-post__text .elementor-post__excerpt p {
   font-size: 18px !important;
   font-weight: 400 !important;
   line-height: 29.25px !important;
   color: #666666 !important;
}

.news-extract .elementor-posts-container .elementor-post:first-child .elementor-post__text .elementor-post__meta-data {
   margin-bottom: 0 !important;
}

.news-extract .elementor-posts-container .elementor-post:first-child .elementor-post__text .elementor-post__meta-data .badge-category a {
   color: #3EABAB !important;
   background-color: #3EABAB1A !important;
}

.news-extract .elementor-posts-container .elementor-post:first-child .elementor-post__text a.elementor-post__read-more {
   border: 0 !important;
   color: #FFFFFF !important;
   background-color: #1D1D1B !important;
   padding: 12px 24px !important;
   border-radius: 50px !important;
   width: fit-content !important;
}

.news-extract .elementor-posts-container .elementor-post {
   border: 1px solid #0000001A;
   border-radius: 16px;
   overflow: hidden;
}

.news-extract .elementor-posts-container .elementor-post .elementor-post__text {
   padding: 32px;
   display: flex;
   flex-direction: column;
   gap: 16px;
}

.news-extract .elementor-posts-container .elementor-post .elementor-post__text .elementor-post__meta-data {
   order: -1;
}

.news-extract .elementor-posts-container .elementor-post .elementor-post__text .elementor-post-date {
   display: flex;
   flex-direction: row;
   gap: 12px;
}

.news-extract .elementor-posts-container .elementor-post .elementor-post__text .elementor-post-date .badge-category a {
   background-color: #76BC211A;
   padding: 4px 12px;
   border-radius: 50px;
   color: #76BC21;
   font-weight: 700;
   font-size: 12px;
   line-height: 16px;
   letter-spacing: 0.3px;
   text-transform: uppercase;
}

.news-extract .elementor-posts-container .elementor-post .elementor-post__text .elementor-post__excerpt {
   margin-bottom: 16px !important;
}

.news-extract .elementor-posts-container .elementor-post .elementor-post__text .elementor-post__read-more {
   display: block !important;
   padding-top: 16px;
   margin-top: auto !important;
   border-top: 1px solid #0000001A;
   width: 100%;
}

.news-extract .elementor-posts-container .elementor-post a img{
   display:block;
   width: 100%;
   height: 100%;
   object-fit: cover;
   object-position: center;
   overflow: hidden;
}

.new-info .elementor-post-info__terms-list-item{
   background-color: #76BC211A;
   padding: 6px 16px !important;
   border-radius: 50px;
   color: #76BC21;
   font-family: 'Montserrat';
   font-size: 14px;
   line-height: 20px;
   font-weight: 700;
   letter-spacing: 0.35px;
   text-transform: uppercase;
}

.gradiente {
  position: relative;
}

.gradiente > .elementor-background-overlay {
  background:
    linear-gradient(
      180deg,
      rgba(0, 0, 0, 0.3) 29.6%,
      rgba(0, 0, 0, 0.75) 70.98%
    ),
    linear-gradient(
      107.63deg,
      rgba(118, 188, 33, 0.52) 0.7%,
      rgba(62, 171, 171, 0.52) 24.88%,
      rgba(55, 60, 245, 0.52) 50.95%,
      rgba(204, 0, 0, 0.52) 74.17%,
      rgba(101, 56, 25, 0.52) 99.3%
    );
  opacity: 1 !important;
}

/* Formulario newsletter */
.sombra .elementor-field-type-email {
  position: relative;
  height: auto !important;
  padding: 0 !important;
  box-shadow:
    0px 10px 18px -10px #0000001A,
    0px 2px 6px -2px #00000014;
}

.sombra .elementor-field-type-email .elementor-field {
  box-sizing: border-box;
  height: 56px !important;
  min-height: 56px;
  padding: 0 52px 0 16px !important;
}

.sombra .elementor-field-type-email::after {
  position: absolute;
  top: 50%;
  right: 18px;
  z-index: 1;
  color: #6B7280;
  font-family: 'Font Awesome 7 PRO';
  font-size: 16px;
  font-weight: 300;
  line-height: 1;
  content: "\f0e0";
  pointer-events: none;
  transform: translateY(-50%);
}

.caja-azul{
    background: #3EABAB1A;
    border-left: #3EABAB solid 3.32px;
    padding: 20px;
}
.caja-azul strong, .caja-azul b{
    color: #3EABAB;
}

.verde{
  color: #76BC21;
  font-style: italic;
}

.verde-si{
  color: #76BC21;
  font-style: italic;
}

.gris{
color: #99A1AF;
}

.blanco{
  filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(2%) hue-rotate(88deg) brightness(112%) contrast(101%);
}

/* noticias */

.ultimas-noticias .elementor-posts-container {
  gap: 24px;
}

.ultimas-noticias .elementor-post {
  display: flex;
  flex-direction: column;
  background: #ffffff;
  border-radius: 10px;
  border: #0000001A solid 1.11px;
  overflow: hidden;
  margin: 0;
}

.ultimas-noticias .elementor-post__thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ultimas-noticias .elementor-post__thumbnail__link {
  margin: 0 !important;
}

.ultimas-noticias .elementor-post__text {
  display: flex !important;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  padding: 20px 24px 24px;
  
  flex: 1 1 auto;
}

.ultimas-noticias .elementor-post__meta-data {
  order: 1 !important;
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  margin: 0 !important;
}


.ultimas-noticias .elementor-post__excerpt {
  order: 3 !important;
  margin: 0 !important;
}

.ultimas-noticias .badge-category a{
  order: 1 !important;
  display: inline-flex;
  align-items: center;
  background-color: rgba(118, 188, 33, 0.1);
  color: #76bc21;
  padding: 4px 12px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 700;
  line-height: 16px;
  letter-spacing: 0.35px;
  text-transform: uppercase;
  text-decoration: none;
}

.ultimas-noticias .elementor-post__title{
  order: 2 !important;
  margin: 0 !important;
}

.ultimas-noticias .elementor-post__title a:hover {
  color: #1C1F7D !important;
}

.ultimas-noticias .elementor-post__read-more {
  order: 4 !important;
  margin-top: auto !important;
}

.ultimas-noticias .elementor-post__read-more::after {
    font-family: 'Font Awesome 7 PRO';
    content: "\f061";
    padding-left: 6px;
    font-weight: 300;
}

.ultimas-noticias .elementor-post__read-more:hover {
  color: #1C1F7D !important;
}

.ultimas-noticias .elementor-post-date{
  display: flex;
  flex-wrap: nowrap;  
  gap: 10px;
}

/* fin noticias */

.open-innovation .elementor-icon{
    padding: 14px;
    border-radius: 16px;
}

.open-innovation .uno .elementor-icon,
.open-innovation .cuatro .elementor-icon{
    background: #76BC2115;
    
}

.open-innovation .dos .elementor-icon{
    background: #3EABAB15;
}


.open-innovation .tres .elementor-icon{
    background: #373CF515;
}

.destacado .cinco .elementor-icon{
    background: #FFFFFF0D;
}

.destacado .elementor-icon{
    padding: 14px;
    border-radius: 16px;
    border: 1.11px solid #FFFFFF1A;
    box-shadow: 0px 4px 6px -4px #0000001A !important;
    box-shadow: 0px 10px 15px -3px #0000001A !important;

}


.open-innovation .fa-acorn::before{
    content: "\e098" !important;
    font-weight: 300;
}


.gradiente-imagen{
  background: linear-gradient(0deg, #1D1D1B 0%, rgba(29, 29, 27, 0.4) 50%, rgba(0, 0, 0, 0) 100%) !important;
  position: absolute !important;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100%;
}

/* EVENTOS SECUNDARIOS */
/* filtro_obj_prog_secundarios */

.fops-titulo{
  font-family: 'Montserrat';
  font-size: 24px;
  font-weight: 600;
  line-height: 32px;
  margin: 0 0 20px;
  color: #1D1D1B;
}

.fops-programacion{
  margin-top: 48px !important;
}

.fops-objetivos{
  margin-top: 40px !important;
}

.fops-objetivos-list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.fops-objetivo-item{
  display: flex;
  align-items: center;
  gap: 14px;
  background: #F5F5F7;
  border-radius: 12px;
  border-top: 1.11px solid #F3F4F6;
  padding: 18px 20px;
}

.fops-check{
  box-sizing: border-box;
  display: flex;
  flex-shrink: 0;
  width: 26px;
  height: 26px;
  padding: 4px;
  align-items: center;
  justify-content: center;
  color: #5A9119;
  background: rgba(118, 188, 33, .1);
  border-radius: 50%;
}

.fops-check i{
  width: 18px;
  height: 18px;
  font-size: 18px;
  font-weight: 300;
  line-height: 1;
}

.fops-objetivo-texto{
  color: #1D1D1B;
  font-family: 'Montserrat';
  font-size: 16px;
  font-weight: 500;
  line-height: 24px;
}

.fops-timeline{
  list-style: none;
  margin: 0;
  padding: 0;
  position: relative;
}

.fops-timeline::before{
  content: "";
  position: absolute;
  left: 9px;
  top: 10px;
  bottom: 10px;
  width: 2px;
  background: rgba(62, 171, 171, 0.2);
}

.fops-timeline-item{
  position: relative;
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 12px 0;
}

.fops-timeline-dot{
  position: relative;
  z-index: 1;
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: 3px solid #3EABAB;
  background: #ffffff;
}

.fops-timeline-hora{
  flex-shrink: 0;
  min-width: 46px;
  color: #3EABAB;
  font-family: 'Montserrat';
  font-size: 14px;
  font-weight: 700;
  line-height: 20px;
  letter-spacing: 1.4px;
}

.fops-timeline-desc{
  color: #1D1D1B;
  font-family: 'Montserrat';
  font-size: 18px;
  font-weight: 600;
  line-height: 28px;
}

.titulo-categoria{
  background-color: #3EABAB;
  border-radius: 50px;
  padding: 6px 16px !important;
}

/* fin filtro_obj_prog_secundarios */

/* EVENTOS PRINCIPALES */
/* filtro_prog_principales */

.fpp-timeline{
  max-width: 830px;
  margin: 0 auto;
  position: relative;
}

.fpp-timeline::before{
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 2px;
  background: #E5E9EC;
  transform: translateX(-50%);
}

.fpp-item{
  position: relative;
  display: flex;
  width: 100%;
  min-height: 142px;
  padding: 0 0 20px 24px;
  justify-content: flex-end;
}

.fpp-item:nth-child(even){
  padding: 0 24px 20px 0;
  justify-content: flex-start;
}

.fpp-card{
  box-sizing: border-box;
  width: 376px;
  padding: 17px 16px 16px;
  background: #FFF;
  border: 1px solid #E8E8E8;
  border-radius: 11px;
  box-shadow: 0 2px 2px rgba(29, 29, 27, .08);
}

.fpp-marker{
  position: absolute;
  z-index: 1;
  top: 42px;
  left: 50%;
  display: flex;
  width: 40px;
  height: 40px;
  align-items: center;
  justify-content: center;
  color: #FFF;
  font-size: 16px;
  background: #3EABAB;
  border: 3.32px solid #F9FAFB;
  border-radius: 50%;
  box-shadow: 0 1px 2px -1px #0000001A, 0 1px 3px #0000001A;
  transform: translateX(-50%);
}

.fpp-marker i{
  font-size: 16px;
  font-weight: 300;
  line-height: 1;
}

.fpp-hora{
  display: block;
  margin: 0 0 8px !important;
  color: #3EABAB;
  font-family: 'Montserrat';
  font-size: 18px;
  font-weight: 700;
  line-height: 28px;
}

.fpp-titulo{
  margin: 0 0 8px !important;
  color: #1D1D1B;
  font-family: 'Montserrat';
  font-size: 20px;
  font-weight: 700;
  line-height: 28px;
}

.fpp-ponente{
  color: #6A7282;
  font-family: 'Montserrat';
  font-size: 14px;
  font-weight: 600;
  line-height: 20px;
  margin: 0 0 8px !important;
}
.fpp-descripcion{
  margin: 0 0 8px !important;
  color: #666666;
  font-family: 'Montserrat';
  font-size: 14px;
  font-weight: 400;
  line-height: 22.75px;
}

.fpp-ponente i{
  margin-right: 6px;
  font-size: 10px;
}

@media (max-width: 640px){
  .fpp-timeline{
    max-width: none;
  }

  .fpp-timeline::before{
    left: 12px;
  }

  .fpp-item,
  .fpp-item:nth-child(even){
    min-height: 0;
    padding: 0 0 18px 42px;
    justify-content: flex-start;
  }

  .fpp-card{
    width: 100%;
  }

  .fpp-marker{
    top: 26px;
    left: 20px;
  }
}

/* fin filtro_prog_principales */

.fecha-evento .elementor-heading-title::before{
  font-family: 'Font Awesome 7 PRO';
    content: "\f073";
    padding-right: 8px;
    font-weight: 200;
}

.hora-evento .elementor-heading-title::before{
  font-family: 'Font Awesome 7 PRO';
    content: "\f017";
    padding-right: 8px;
    font-weight: 200;
}

.ubicacion-evento .elementor-heading-title::before{
  font-family: 'Font Awesome 7 PRO';
    content: "\f3c5";
    padding-right: 8px;
    font-weight: 200;
}

/* EVENTOS SECUNDARIOS */
/* barra_lateral_secundarios */

.bls-wrapper{
  display: flex;
  flex-direction: column;
}

.bls-card{
  box-sizing: border-box;
  background: #FFFFFF;
  border: 1.11px solid #0000001A;
  border-radius: 20px;
  padding: 28px 24px;
}

.bls-card-organizador{
  background: #F5F7FA;
  border: none;
  border-top: 1.11px solid #F3F4F6;
  margin-top: 32px;
}

.bls-card-inscripcion{
  box-shadow: 0px 8px 10px -6px #F3F4F680, 0px 20px 25px -5px #F3F4F680;
}

.bls-titulo{
  font-family: 'Montserrat';
  font-size: 20px;
  font-weight: 700;
  line-height: 28px;
  color: #1D1D1B;
  margin: 0 0 12px !important;
}

.bls-fila{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 0;
}

.bls-label{
  font-family: 'Montserrat';
  font-size: 15px;
  font-weight: 500;
  color: #6A7282;
}

.bls-valor{
  font-family: 'Montserrat';
  font-size: 15px;
  font-weight: 700;
  color: #1D1D1B;
  text-align: right;
}

.bls-valor-precio{
  color: #76BC21;
}

.bls-divisor{
  display: block;
  height: 0;
  border-bottom: 1.11px solid #F9FAFB;
}

.bls-boton{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  margin-top: 24px;
  padding: 17px 24px;
  background: #373CF5;
  color: #FFFFFF !important;
  font-family: 'Montserrat';
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  text-decoration: none !important;
  border-radius: 50px;
  box-shadow: 0px 4px 6px -4px #2B7FFF33, 0px 10px 15px -3px #2B7FFF33 !important;
  transition: background-color .2s ease;
}

.bls-boton:hover{
  background: #1C1F7D;
}

.bls-boton i{
  font-size: 15px;
  font-weight: 400;
}

.bls-nota{
  margin: 12px 0 0 !important;
  color: #6A7282;
  font-family: 'Montserrat';
  font-size: 13px;
  font-weight: 400;
  line-height: 18px;
  text-align: center;
}

.bls-card-label{
  display: block;
  color: #9AA1AC;
  font-family: 'Montserrat';
  font-size: 12px;
  font-weight: 700;
  line-height: 16px;
  letter-spacing: 1px;
  text-transform: uppercase;
}

.bls-organizador{
  display: flex;
  align-items: center;
  gap: 16px;
  margin: 16px 0 0;
}

.bls-logo{
  box-sizing: border-box;
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  padding: 8px;
  background: #FFFFFF;
  border: 1.11px solid #0000001A;
  border-radius: 12px;
}

.bls-logo img{
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.bls-empresa{
  margin: 0 !important;
  color: #1D1D1B;
  font-family: 'Montserrat';
  font-size: 15px;
  font-weight: 700;
  line-height: 22px;
}

.cb-compartir{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  padding-top: 32px;
}

.cb-compartir-label{
  color: #6A7282;
  font-family: 'Montserrat';
  font-size: 15px;
  font-weight: 600;
}

.cb-compartir-botones{
  display: flex;
  gap: 10px;
}

.cb-share-btn{
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0;
  color: #3EABAB;
  background: #FFFFFF;
  border: 1.11px solid #0000001A;
  border-radius: 50%;
}

.cb-share-btn:hover{
  background: #6A72821A;
  color: #3EABAB;
  border-color: #3EABAB;
}

.cb-share-btn i{
  font-size: 16px;
  font-weight: 300;
  line-height: 1;
}

.cb-share-btn.cb-copiado{
  color: #76BC21;
  border-color: #76BC21;
}

/* fin barra_lateral_secundarios */

.imagen-startup{
  position: absolute !important;
  top: 24px;
  right: 24px;
  width: 45px;
  height: 45px;
  z-index: 2;
  margin: 0 !important;
}

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

.fa-building::before{
  content: "\f19c" !important;
}

.listas-entidades .elementor-icon-list-items{
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 8px;
}

.listas-entidades .elementor-icon-list-item{
  width: auto;
  background: #F9FAFB;
  border: 1.11px solid #E5E7EB;
  border-radius: 10px;
  padding: 6px 12px !important;
}

.listas-entidades .elementor-icon-list-item a{
  padding: 0 !important;
}

.novedades .uno .elementor-icon{
    background: #76BC2115;
}

.novedades .dos .elementor-icon{
    background: #3EABAB15;
}

.novedades .tres .elementor-icon{
    background: #373CF515;
}

.novedades .elementor-icon{
    padding: 14px;
    border-radius: 16px;

}



/* Información práctica */
.elementor-section:has(.informacion-practica):has(.mapa-info) > .elementor-container {
  display: grid !important;
  grid-template-columns: minmax(0, 3fr) minmax(0, 7fr);
  gap: 28px;
  width: calc(100% - 40px) !important;
  max-width: 1216px !important;
  margin: 0 auto !important;
  align-items: stretch;
}

/* Proporción de columnas: 30% información y 70% mapa. */
.elementor-section:has(.informacion-practica):has(.mapa-info)
> .elementor-container > .elementor-column:has(.informacion-practica) {
  width: auto !important;
  max-width: none !important;
  flex: 0 1 auto !important;
}
.elementor-section:has(.informacion-practica):has(.mapa-info)
> .elementor-container > .mapa-info {
  width: 100% !important;
  max-width: none !important;
  min-width: 0;
  flex: 1 1 auto !important;
}

/* Tarjetas en vertical. */
.elementor-section:has(.informacion-practica):has(.mapa-info)
.elementor-inner-section > .elementor-container {
  display: flex !important;
  flex-direction: column !important;
  gap: 20px;
}
.informacion-practica {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}
.informacion-practica > .elementor-widget-wrap {
  position: relative;
  box-sizing: border-box;
  min-height: 101px;
  padding: 22px 20px 20px 76px !important;
  background: #f8f9fa;
  border: 1px solid #eef0f2;
  border-radius: 15px;
}
.icono-info {
  position: absolute !important;
  top: 22px;
  left: 20px;
  width: 42px !important;
  height: 42px !important;
  min-height: 42px !important;
  margin: 0 !important;
}
.icono-info .elementor-widget-container {
  box-sizing: border-box;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  overflow: hidden;
  background: #fff;
  border: 1px solid #dde1e6;
  border-radius: 50%;
  box-shadow: 0 1px 2px rgb(0 0 0 / 8%);
}

/* Mapa. */
.mapa-info {
  align-self: stretch;
}
.mapa-info,
.mapa-info > .elementor-widget-wrap,
.mapa-info .elementor-widget-google_maps,
.mapa-info .elementor-custom-embed,
.mapa-info iframe {
  width: 100% !important;
  height: 100% !important;
}
.mapa-info > .elementor-widget-wrap,
.mapa-info .elementor-widget-google_maps,
.mapa-info .elementor-custom-embed {
  overflow: hidden;
  border-radius: 18px;
}
.mapa-info iframe {
  display: block;
  border: 0;
}


/* El círculo visible pertenece al enlace .elementor-icon de Elementor. */

/* Información práctica: tarjetas al 100% y mapa debajo en móvil. */
@media (max-width: 767px) {
  .elementor-section:has(.informacion-practica):has(.mapa-info) > .elementor-container {
    grid-template-columns: minmax(0, 1fr);
    gap: 20px;
  }

  .elementor-section:has(.informacion-practica):has(.mapa-info)
  .elementor-inner-section > .elementor-container {
    flex-direction: column !important;
    flex-wrap: wrap !important;
    gap: 20px;
  }

  .elementor-section:has(.informacion-practica):has(.mapa-info)
  .elementor-inner-section > .elementor-container > .informacion-practica {
    box-sizing: border-box;
    flex: 0 0 100% !important;
    width: 100% !important;
  }

  .elementor-section:has(.informacion-practica):has(.mapa-info)
  > .elementor-container > .mapa-info {
    grid-column: 1;
    width: 100% !important;
  }
}
.icono-info .elementor-icon-wrapper {
  display: block;
  width: 42px;
  height: 42px;
}
.icono-info .elementor-icon {
  box-sizing: border-box;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  padding: 0 !important;
  background: #fff;
  border-radius: 50%;
  box-shadow: 0 1px 2px rgb(0 0 0 / 8%);
}

/* LISTADO DE EVENTOS */
.agenda-listado > .elementor-widget-wrap {
  position: relative;
  box-sizing: border-box;
  display: flex;
  flex-flow: row wrap;
  align-content: center;
  min-height: 208px;
  padding: 0 30px 0 402px !important;
  overflow: hidden;
}

.agenda-listado .listado-fecha-num,
.agenda-listado .listado-fecha-mes {
  position: absolute !important;
  left: 0 !important;
  z-index: 2;
  display: block !important;
  width: 132px !important;
  margin: 0 !important;
  text-align: center;
}

.agenda-listado .listado-fecha-num { top: calc(50% - 34px) !important; }
.agenda-listado .listado-fecha-mes { top: calc(50% + 14px) !important; }

.agenda-listado .listado-fecha-num .elementor-shortcode {
  margin: 0;
  color: #3EABAB;
  font-family: 'Montserrat';
  font-size: 48px;
  font-weight: 300;
  line-height: 48px;
}

.agenda-listado .listado-fecha-mes .elementor-shortcode {
  margin: 0;
  color: #666666;
  font-family: 'Montserrat';
  font-size: 12px;
  font-weight: 600;
  line-height: 16px;
  letter-spacing: 1.2px;
  text-transform: uppercase;
}

.agenda-listado .listado-imagen {
  position: absolute;
  inset: 0 auto 0 132px;
  width: 240px !important;
  height: 208px;
  margin: 0 !important;
}

.agenda-listado .listado-imagen .elementor-widget-container,
.agenda-listado .listado-imagen a,
.agenda-listado .listado-imagen img {
  display: block;
  width: 100% !important;
  height: 100% !important;
}

.agenda-listado .listado-imagen img {
  max-width: none !important;
  object-fit: cover;
  object-position: center;
}

.agenda-listado .listado-titulo {
  flex: 0 0 100%;
  width: 100%;
  margin: 0 0 12px !important;
}

.agenda-listado .listado-titulo .elementor-heading-title { margin: 0; }

.agenda-listado .listado-info {
  flex: 0 0 auto;
  width: auto !important;
  margin: 0 !important;
}

.agenda-listado .listado-info + .listado-info { margin-left: 28px !important; }

.agenda-listado .listado-info .elementor-icon-box-wrapper {
  display: flex;
  align-items: center;
}

.agenda-listado .listado-ver-mas,
.agenda-listado [class~="listado-ver-más"] {
  flex: 0 0 100%;
  width: 100%;
  margin: 18px 0 0 !important;
}

/* Vista compacta en móvil. */
@media (max-width: 767px) {
  .agenda-listado > .elementor-widget-wrap.elementor-element-populated {
    display: flex !important;
    flex-flow: row wrap !important;
    align-items: flex-start !important;
    align-content: flex-start !important;
    min-height: 0 !important;
    padding: 16px 20px !important;
    overflow: visible !important;
  }

  .agenda-listado .listado-fecha-num,
  .agenda-listado .listado-fecha-mes {
    display: none !important;
  }

  .agenda-listado .listado-imagen {
    position: static !important;
    z-index: 1;
    order: 1;
    flex: 0 0 30% !important;
    width: 30% !important;
    height: 72px !important;
    margin: 0 !important;
    overflow: hidden;
    border-radius: 12px;
  }

  .agenda-listado .elementor-widget:has(.evento-etiquetas) {
    position: relative !important;
    z-index: 1;
    order: 2;
    flex: 0 0 70% !important;
    box-sizing: border-box;
    width: 70% !important;
    min-height: 72px;
    margin: 0 !important;
    padding: 0 0 0 12px !important;
  }

  .agenda-listado .elementor-widget:has(.evento-etiquetas) .evento-etiquetas {
    align-items: flex-start;
  }

  .agenda-listado .listado-titulo {
    position: relative;
    z-index: 1;
    order: 3;
    flex: 0 0 100% !important;
    width: 100% !important;
    margin: 16px 0 8px !important;
    padding: 0 !important;
  }

  .agenda-listado .listado-info {
    position: relative;
    z-index: 1;
    order: 4;
    flex: 0 0 33.333% !important;
    box-sizing: border-box;
    width: 33.333% !important;
    min-width: 0;
    margin: 0 !important;
    padding: 0 6px 0 0 !important;
  }

  .agenda-listado .listado-info + .listado-info { margin: 0 !important; }

  .agenda-listado .listado-info .elementor-icon-box-wrapper {
    align-items: flex-start;
    gap: 5px !important;
  }

  .agenda-listado .listado-ver-mas,
  .agenda-listado [class~="listado-ver-más"] {
    position: relative !important;
    z-index: 2;
    order: 5;
    flex: 0 0 100% !important;
    width: 100% !important;
    margin: 16px 0 0 !important;
    padding: 0 !important;
    pointer-events: auto !important;
  }
}


/* Agenda listado: tablet */
@media (min-width: 768px) and (max-width: 1024px) {
  /* Una tarjeta por fila sin modificar la composición horizontal de cada evento. */
  .listado-agenda .elementor-loop-container {
    display: flex !important;
    flex-direction: column !important;
    gap: 20px;
  }

  .listado-agenda .e-loop-item {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .listado-agenda .agenda-listado .listado-imagen {
    height: auto !important;
    bottom: 0 !important;
  }

  .listado-agenda .agenda-listado .listado-titulo {
    margin-bottom: 18px !important;
  }

  .listado-agenda .agenda-listado .listado-info {
    flex: 0 0 50% !important;
    box-sizing: border-box;
  }

  .listado-agenda .agenda-listado .listado-info + .listado-info {
    margin-left: 0 !important;
  }

  .listado-agenda .agenda-listado .listado-info + .listado-info + .listado-info {
    margin-top: 12px !important;
  }
}
/* Etiquetas de categoría e inscripción del listado de eventos. */
.evento-etiquetas,
.buena-practica-etiquetas {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
}

.evento-etiqueta,
.buena-practica-etiqueta {
  display: inline-flex;
  align-items: center;
  min-height: 27px;
  padding: 6px 16px;
  border-radius: 50px;
  font-family: 'Montserrat', sans-serif;
  font-size: 10px;
  font-style: normal;
  font-weight: 700;
  line-height: 15px;
  letter-spacing: 1px;
  text-transform: uppercase;
}

.evento-etiqueta--categoria {
  color: #3EABAB;
  background-color: rgba(62, 171, 171, 0.1);
}

.evento-etiqueta--abierta {
  color: #76BC21;
  background-color: rgba(118, 188, 33, 0.1);
}

.evento-etiqueta--proximamente {
  color: #666666;
  background-color: rgba(102, 102, 102, 0.1);
}

/* Las buenas prácticas comparten el formato de las etiquetas de eventos. */
.buena-practica-etiqueta {
  color: #76BC21;
  background-color: #76BC211A;
}
/* AGENDA HOME */
.a-home > .elementor-widget-wrap {
  position: relative;
  box-sizing: border-box;
  display: flex;
  flex-flow: row wrap;
  align-content: center;
  min-height: 94px;
  padding: 20px 250px 20px 199px !important;
  border-bottom: 1px solid #E5E7EB;
}

/* Icono */
.a-home .a-home-icono {
  position: absolute;
  top: 29px;
  left: 22px;
  width: 38px;
  height: 38px;
  margin: 0 !important;
}

.a-home .a-home-icono .elementor-widget-container {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  background: rgba(118, 188, 33, 0.1);
  border-radius: 10px;
}

.a-home .a-home-icono .elementor-icon {
  display: grid;
  place-items: center;
  color: #76BC21;
  font-size: 16px;
}

/* Fecha */
.a-home .a-home-fecha {
  position: absolute;
  top: 39px;
  left: 70px;
  width: 110px;
  margin: 0 !important;
}

.a-home .a-home-fecha .elementor-heading-title {
  margin: 0;
  color: #666666;
  font-family: 'Montserrat', sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
}

/* Información del evento */
.a-home .a-home-titulo {
  flex: 0 0 100%;
  width: 100%;
  margin: 0 0 2px !important;
}

.a-home .a-home-titulo .elementor-heading-title {
  margin: 0;
  color: #1D1D1B;
  font-family: 'Montserrat', sans-serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 20px;
}

.a-home .a-home-ubicacion {
  flex: 0 0 100%;
  width: 100%;
  margin: 0 !important;
}

.a-home .a-home-ubicacion .elementor-heading-title {
  margin: 0;
  color: #666666;
  font-family: 'Montserrat', sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
}

/* Solo posiciona las categorías: sus estilos propios no se modifican. */
.a-home .a-home-categoria {
  position: absolute;
  top: 37px;
  right: 22px;
  width: auto !important;
  margin: 0 !important;
}

.a-home .a-home-categoria .elementor-widget-container {
  width: auto;
}

.a-home .a-home-icono .elementor-icon{
    padding: 14px;
    border-radius: 16px;
    background: #76BC211A;
}

@media (max-width: 767px) {
  .a-home > .elementor-widget-wrap {
    min-height: 0;
    padding: 24px 24px 24px 76px !important;
  }

  .a-home .a-home-icono {
    top: 24px;
    left: 24px;
  }

  .a-home .a-home-fecha {
    position: static;
    flex: 0 0 100%;
    width: 100%;
    margin: 0 0 8px !important;
  }

  .a-home .a-home-titulo,
  .a-home .a-home-ubicacion {
    width: 100%;
  }

  .a-home .a-home-categoria {
    position: static;
    width: 100%;
    margin-top: 16px !important;
  }
}

/* AJUSTES AGENDA HOME */
/* El Loop Grid no añade espacio entre la línea separadora y la siguiente fila. */
.elementor-11 .elementor-element.elementor-element-624e04b {
  --grid-row-gap: 0px !important;
}

/* Todos los elementos se alinean respecto al centro vertical de la fila. */
.a-home .a-home-icono {
  top: 50%;
  transform: translateY(-50%);
}

.a-home .a-home-fecha {
  top: 50%;
  left: 88px;
  transform: translateY(-50%);
}

.a-home .a-home-categoria {
  top: 50%;
  transform: translateY(-50%);
}

/* La última tarjeta no muestra una línea separadora inferior. */
.elementor-11 .elementor-element.elementor-element-624e04b .e-loop-item:last-child .a-home > .elementor-widget-wrap,
.elementor-11 .elementor-element.elementor-element-624e04b .elementor-loop-container-item:last-child .a-home > .elementor-widget-wrap {
  border-bottom: 0;
}

/* Imagen destacada del loop 976 */
.elementor-976 .elementor-element.elementor-element-28596d3 > .elementor-element-populated,
.elementor-976 .elementor-element.elementor-element-28596d3 > .elementor-element-populated > .elementor-background-overlay {
  border-radius: 26px !important;
}

.elementor-976 .elementor-element.elementor-element-28596d3 {
  border-radius: 26px !important;
  overflow: hidden;
}

.elementor-976 .elementor-element.elementor-element-28596d3 > .elementor-element-populated {
  overflow: hidden;
}

/* Filtro de eventos en móvil */
@media (max-width: 767px) {
  .event-category-filter {
    flex-wrap: wrap;
    gap: 8px;
  }

  .event-category-filter .event-category-filter-title {
    flex: 0 0 100%;
  }

  .event-category-filter a {
    padding: 8px 14px;
  }
}




/* Formularios Contact Form 7 en popup de inscripción */
.popup-formulario-inscripción .wpcf7-form p {
  margin: 0 0 16px;
}

.popup-formulario-inscripción .wpcf7-form label,
.popup-formulario-inscripción .wpcf7-form p {
  display: block;
  color: #4b556b;
  font-family: "Montserrat", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
}

.popup-formulario-inscripción .wpcf7-form-control-wrap {
  display: block;
  margin-top: 4px;
}

.popup-formulario-inscripción .wpcf7-form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
.popup-formulario-inscripción .wpcf7-form select,
.popup-formulario-inscripción .wpcf7-form textarea {
  box-sizing: border-box;
  width: 100%;
  min-height: 40px;
  margin: 0;
  padding: 8px 16px;
  border: 1px solid #dfe3e8;
  border-radius: 4px;
  background-color: #ffffff;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  color: #4b556b;
  font-family: "Montserrat", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
}

.popup-formulario-inscripción .wpcf7-form input::placeholder,
.popup-formulario-inscripción .wpcf7-form textarea::placeholder {
  color: #9ca3af;
  opacity: 1;
}

.popup-formulario-inscripción .wpcf7-form textarea {
  min-height: 116px;
  resize: vertical;
}

.popup-formulario-inscripción .wpcf7-form input[type="submit"] {
  display: block;
  min-height: 44px;
  margin: 0 0 0 auto;
  padding: 10px 24px 10px 24px;
  border: 0;
  border-radius: 999px;
  background-color: #373cf5;
  box-shadow: none;
  color: #ffffff;
  cursor: pointer;
  font-family: "Montserrat", sans-serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 24px;
}

.popup-formulario-inscripción .wpcf7-form input[type="submit"]:hover,
.popup-formulario-inscripción .wpcf7-form input[type="submit"]:focus {
  background-color: #292edb;
}

.popup-formulario-inscripción .wpcf7-form p:has(input[type="submit"]) {
  position: relative;
}

.popup-formulario-inscripción .wpcf7-form-control-wrap[class*="formid:"]{
  font-family: 'Montserrat';
  font-weight: 400;
  font-size: 16px;
  line-height: 28px;
  letter-spacing: 1.8px;
  color: red;
  display: inline-block;
  width: auto;
}

.popup-formulario-inscripción .wpcf7-response-output {
  font-family: 'Montserrat';
  font-weight: 400;
  font-size: 18px;
  line-height: 28px;
  letter-spacing: 1.8px;
  display: inline-block;
  width: auto;
  display: table !important;
  width: auto !important;
  margin: 2em auto 1em !important;
}

.popup-formulario-inscripción .wpcf7-response-output {
  display: table;
  width: auto;
  margin: 2em auto 1em;
}

.popup-formulario-inscripción .wpcf7-response-output.cf7-response-hidden {
  display: none !important;
}

/* Oculta la respuesta general cuando CF7 muestra el aviso dinámico de límite */
.popup-formulario-inscripción .wpcf7-form:has(.wpcf7-form-control-wrap[class*="formid:"]) .wpcf7-response-output {
  display: none !important;
}

.wpcf7-form-control-wrap[data-name="privacidad"] {
  padding-top: 40px;
}

.cky-consent-container .cky-btn-customize{
  border-color: #373CF5 !important;
  color: #373CF5 !important;
}

.cky-consent-container .cky-btn-reject, .cky-consent-container .cky-btn-accept{
  border-color: #373CF5 !important;
  background-color: #373CF5 !important;
}

.cky-prefrence-btn-wrapper .cky-btn{
  border-color: #373CF5 !important;
  background-color: #373CF5 !important;
}

.cky-show-desc-btn{
  color: #373CF5 !important;
}

.cky-switch input[aria-label="Desactivar Analítica"]{
  background-color: #373CF5 !important;
}

.cky-always-active{
  color: #76BC21 !important;
}