.elementor-1542 .elementor-element.elementor-element-0015316{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--gap:20px 20px;--row-gap:20px;--column-gap:20px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:80px;--padding-bottom:80px;--padding-left:0px;--padding-right:0px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );text-transform:var( --e-global-typography-primary-text-transform );line-height:var( --e-global-typography-primary-line-height );color:var( --e-global-color-primary );}.elementor-1542 .elementor-element.elementor-element-261be75{text-align:center;}.elementor-1542 .elementor-element.elementor-element-261be75 .elementor-heading-title{color:var( --e-global-color-060ca96 );}.elementor-widget-loop-grid .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );text-transform:var( --e-global-typography-accent-text-transform );line-height:var( --e-global-typography-accent-line-height );}.elementor-widget-loop-grid .elementor-pagination{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );line-height:var( --e-global-typography-secondary-line-height );}.elementor-widget-loop-grid .e-load-more-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );line-height:var( --e-global-typography-secondary-line-height );}.elementor-1542 .elementor-element.elementor-element-2961996{--grid-columns:3;--e-loop-nothing-found-message-space-from-top:20px;--e-loop-nothing-found-message-space-from-bottom:20px;--e-loop-nothing-found-message-color:var( --e-global-color-text );}.elementor-1542 .elementor-element.elementor-element-2961996 .elementor-loop-container{grid-auto-rows:1fr;}.elementor-1542 .elementor-element.elementor-element-2961996 .e-loop-item > .elementor-section, .elementor-1542 .elementor-element.elementor-element-2961996 .e-loop-item > .elementor-section > .elementor-container, .elementor-1542 .elementor-element.elementor-element-2961996 .e-loop-item > .e-con, .elementor-1542 .elementor-element.elementor-element-2961996 .e-loop-item .elementor-section-wrap  > .e-con{height:100%;}.elementor-1542 .elementor-element.elementor-element-2961996 .elementor-pagination{text-align:center;font-family:var( --e-global-typography-dbcf84c-font-family ), Sans-serif;font-size:var( --e-global-typography-dbcf84c-font-size );font-weight:var( --e-global-typography-dbcf84c-font-weight );text-transform:var( --e-global-typography-dbcf84c-text-transform );line-height:var( --e-global-typography-dbcf84c-line-height );margin-top:20px;}.elementor-1542 .elementor-element.elementor-element-2961996 .elementor-pagination .page-numbers:not(.dots){color:var( --e-global-color-text );}.elementor-1542 .elementor-element.elementor-element-2961996 .elementor-pagination a.page-numbers:hover{color:var( --e-global-color-secondary );}.elementor-1542 .elementor-element.elementor-element-2961996 .elementor-pagination .page-numbers.current{color:var( --e-global-color-secondary );}body:not(.rtl) .elementor-1542 .elementor-element.elementor-element-2961996 .elementor-pagination .page-numbers:not(:first-child){margin-left:calc( 10px/2 );}body:not(.rtl) .elementor-1542 .elementor-element.elementor-element-2961996 .elementor-pagination .page-numbers:not(:last-child){margin-right:calc( 10px/2 );}body.rtl .elementor-1542 .elementor-element.elementor-element-2961996 .elementor-pagination .page-numbers:not(:first-child){margin-right:calc( 10px/2 );}body.rtl .elementor-1542 .elementor-element.elementor-element-2961996 .elementor-pagination .page-numbers:not(:last-child){margin-left:calc( 10px/2 );}@media(max-width:1600px){.elementor-1542 .elementor-element.elementor-element-0015316{--padding-top:80px;--padding-bottom:80px;--padding-left:30px;--padding-right:30px;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-widget-loop-grid .elementor-pagination{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-widget-loop-grid .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}.elementor-widget-loop-grid .e-load-more-message{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-1542 .elementor-element.elementor-element-2961996 .elementor-pagination{font-size:var( --e-global-typography-dbcf84c-font-size );line-height:var( --e-global-typography-dbcf84c-line-height );}}@media(max-width:1024px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-widget-loop-grid .elementor-pagination{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-widget-loop-grid .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}.elementor-widget-loop-grid .e-load-more-message{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-1542 .elementor-element.elementor-element-2961996{--grid-columns:2;}.elementor-1542 .elementor-element.elementor-element-2961996 .elementor-pagination{font-size:var( --e-global-typography-dbcf84c-font-size );line-height:var( --e-global-typography-dbcf84c-line-height );}}@media(max-width:767px){.elementor-1542 .elementor-element.elementor-element-0015316{--padding-top:80px;--padding-bottom:80px;--padding-left:15px;--padding-right:15px;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-widget-loop-grid .elementor-pagination{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-widget-loop-grid .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}.elementor-widget-loop-grid .e-load-more-message{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-1542 .elementor-element.elementor-element-2961996{--grid-columns:1;}.elementor-1542 .elementor-element.elementor-element-2961996 .elementor-pagination{font-size:var( --e-global-typography-dbcf84c-font-size );line-height:var( --e-global-typography-dbcf84c-line-height );}}/* Start custom CSS for shortcode, class: .elementor-element-c227307 *//* ==================================================
   Panel de filtro de eventos
================================================== */
.twf-filtro-eventos-panel {
  width: 100%;
  margin-bottom: 40px;
}

/* ==================================================
   Parte superior: categorías
================================================== */
.twf-filtro-eventos-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 18px 20px;
  background: #ffffff;
  border: 1px solid rgba(10, 37, 122, 0.12);
  border-radius: 16px 16px 0 0;
}

.twf-filtro-eventos-heading {
  display: flex;
  flex-direction: column;
  gap: 3px;
  flex: 0 0 auto;
}

.twf-filtro-eventos-kicker {
  color: #7b8496;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.1em;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.twf-filtro-eventos-title {
  color: #0A257A;
  font-size: 18px;
  font-weight: 800;
  line-height: 1.2em;
}

/* ==================================================
   Chips de categorías
================================================== */
.twf-filtro-eventos-categorias {
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 14px;
}

.twf-chip-categoria {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 8px 22px;
  border: 1px solid transparent;
  border-radius: 999px;
  color: #ffffff;
  font-family: inherit;
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  text-decoration: none !important;
  cursor: pointer;
  box-shadow: none;
  transition:
    background-color 0.25s ease,
    color 0.25s ease,
    border-color 0.25s ease,
    box-shadow 0.25s ease;
}

.twf-chip-categoria:hover,
.twf-chip-categoria:focus {
  text-decoration: none !important;
}

.twf-chip-categoria::after {
  content: "";
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 5px;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
  opacity: 0;
  transition: opacity 0.25s ease;
}

/* Estado activo general */
.twf-chip-categoria.is-active {
  background: #ffffff;
  color: #1e2430;
  border-color: currentColor;
  box-shadow: 0 0 0 3px rgba(10, 37, 122, 0.10);
}

.twf-chip-categoria.is-active::after {
  opacity: 1;
}

/* ==================================================
   Botón Todos de categorías
   Se usa first-child porque el PHP actual puede no tener data-posts="all"
================================================== */
.twf-filtro-eventos-categorias .twf-chip-categoria:first-child,
.twf-chip-categoria[data-posts="all"] {
  background: #1e2430;
  border-color: #1e2430;
  color: #ffffff;
}

.twf-filtro-eventos-categorias .twf-chip-categoria:first-child:hover,
.twf-filtro-eventos-categorias .twf-chip-categoria:first-child:focus,
.twf-chip-categoria[data-posts="all"]:hover,
.twf-chip-categoria[data-posts="all"]:focus {
  background: #2f3746;
  border-color: #2f3746;
  color: #ffffff;
  box-shadow: 0 3px 9px rgba(0, 0, 0, 0.12);
}

.twf-filtro-eventos-categorias .twf-chip-categoria:first-child.is-active,
.twf-chip-categoria[data-posts="all"].is-active {
  background: #ffffff;
  border-color: #1e2430;
  color: #1e2430;
  box-shadow: 0 0 0 3px rgba(30, 36, 48, 0.12);
}

/* ==================================================
   Categorías por color
================================================== */

/* Proyección */
.twf-chip-categoria.twf-cat-proyeccion {
  background: #f08020;
  border-color: #f08020;
  color: #ffffff;
}

.twf-chip-categoria.twf-cat-proyeccion:hover,
.twf-chip-categoria.twf-cat-proyeccion:focus,
.twf-chip-categoria.twf-cat-proyeccion.is-active {
  background: #ffffff;
  border-color: #f08020;
  color: #f08020;
}

/* Académico */
.twf-chip-categoria.twf-cat-academico {
  background: #0088c9;
  border-color: #0088c9;
  color: #ffffff;
}

.twf-chip-categoria.twf-cat-academico:hover,
.twf-chip-categoria.twf-cat-academico:focus,
.twf-chip-categoria.twf-cat-academico.is-active {
  background: #ffffff;
  border-color: #0088c9;
  color: #0088c9;
}

/* Cultural */
.twf-chip-categoria.twf-cat-cultural {
  background: #e00b11;
  border-color: #e00b11;
  color: #ffffff;
}

.twf-chip-categoria.twf-cat-cultural:hover,
.twf-chip-categoria.twf-cat-cultural:focus,
.twf-chip-categoria.twf-cat-cultural.is-active {
  background: #ffffff;
  border-color: #e00b11;
  color: #e00b11;
}

/* ==================================================
   Parte inferior: fechas
================================================== */
.twf-filtro-eventos-bottom {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 18px 20px 20px;
  background: #f7f9ff;
  border: 1px solid rgba(10, 37, 122, 0.12);
  border-top: 0;
  border-radius: 0 0 16px 16px;
}

.twf-filtro-fechas-label {
  color: #0A257A;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.2em;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

/* ==================================================
   Filtro de fechas de eventos
================================================== */
.twf-filtro-eventos-fechas {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 14px;
  margin-bottom: 0;
}

.twf-chip-fecha {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 8px 22px;
  border: 1px solid #0A257A;
  border-radius: 999px;
  background: #0A257A;
  color: #ffffff;
  font-family: inherit;
  font-size: 12px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  text-decoration: none !important;
  cursor: pointer;
  transition:
    background-color 0.25s ease,
    color 0.25s ease,
    border-color 0.25s ease,
    box-shadow 0.25s ease;
}

.twf-chip-fecha:hover,
.twf-chip-fecha:focus {
  background: #ffffff;
  color: #0A257A;
  border-color: #0A257A;
  text-decoration: none !important;
  box-shadow: 0 0 0 3px rgba(10, 37, 122, 0.10);
}

.twf-chip-fecha.is-active {
  background: #ffffff;
  color: #0A257A;
  border-color: #0A257A;
  box-shadow: 0 0 0 3px rgba(10, 37, 122, 0.10);
}

/* ==================================================
   Mensaje sin resultados del filtro
================================================== */
.twf-filtro-empty-message {
  width: 100%;
  grid-column: 1 / -1;
  padding: 28px 20px;
  border: 1px solid rgba(10, 37, 122, 0.12);
  border-radius: 14px;
  background: #f7f9ff;
  color: #1e2430;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.4em;
  text-align: center;
}

/* ==================================================
   Responsive
================================================== */
@media (max-width: 767px) {
  .twf-filtro-eventos-panel {
    margin-bottom: 28px;
  }

  .twf-filtro-eventos-top {
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
    padding: 16px;
  }

  .twf-filtro-eventos-title {
    font-size: 16px;
  }

  .twf-filtro-eventos-categorias {
    justify-content: flex-start;
    gap: 10px;
  }

  .twf-chip-categoria {
    min-height: 34px;
    padding: 8px 16px;
    font-size: 11px;
  }

  .twf-chip-categoria::after {
    left: 14px;
    right: 14px;
    bottom: 5px;
  }

  .twf-filtro-eventos-bottom {
    padding: 16px;
  }

  .twf-filtro-eventos-fechas {
    justify-content: flex-start;
    gap: 10px;
  }

  .twf-chip-fecha {
    min-height: 34px;
    padding: 8px 16px;
    font-size: 11px;
  }

  .twf-filtro-empty-message {
    padding: 22px 16px;
    font-size: 14px;
  }
}/* End custom CSS */