.elementor-1115 .elementor-element.elementor-element-7b5ca79{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1115 .elementor-element.elementor-element-58541b5{--display:flex;--align-items:flex-start;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1115 .elementor-element.elementor-element-58541b5.e-con{--align-self:flex-start;}.elementor-widget-icon-list .elementor-icon-list-item:not(:last-child):after{border-color:var( --e-global-color-text );}.elementor-widget-icon-list .elementor-icon-list-icon i{color:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-icon svg{fill:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-item > .elementor-icon-list-text, .elementor-widget-icon-list .elementor-icon-list-item > a{font-family:var( --e-global-typography-text-font-family ), Arial, sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-widget-icon-list .elementor-icon-list-text{color:var( --e-global-color-secondary );}.elementor-1115 .elementor-element.elementor-element-debac45{background-color:#69C2BF59;padding:10px 10px 10px 10px;border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-secondary );border-radius:10px 10px 10px 10px;--e-icon-list-icon-size:20px;--icon-vertical-offset:0px;}.elementor-1115 .elementor-element.elementor-element-debac45 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(10px/2);}.elementor-1115 .elementor-element.elementor-element-debac45 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(10px/2);}.elementor-1115 .elementor-element.elementor-element-debac45 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(10px/2);}.elementor-1115 .elementor-element.elementor-element-debac45 .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-10px/2);}.elementor-1115 .elementor-element.elementor-element-debac45 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-10px/2);}.elementor-1115 .elementor-element.elementor-element-debac45 .elementor-icon-list-icon i{color:var( --e-global-color-primary );transition:color 0.3s;}.elementor-1115 .elementor-element.elementor-element-debac45 .elementor-icon-list-icon svg{fill:var( --e-global-color-primary );transition:fill 0.3s;}.elementor-1115 .elementor-element.elementor-element-debac45 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-1115 .elementor-element.elementor-element-debac45 .elementor-icon-list-item > a{font-family:var( --e-global-typography-2c5154c-font-family ), Arial, sans-serif;font-size:var( --e-global-typography-2c5154c-font-size );font-weight:var( --e-global-typography-2c5154c-font-weight );line-height:var( --e-global-typography-2c5154c-line-height );}.elementor-1115 .elementor-element.elementor-element-debac45 .elementor-icon-list-text{color:var( --e-global-color-1bb2198 );transition:color 0.3s;}.elementor-1115 .elementor-element.elementor-element-d090044{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Arial, sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );word-spacing:var( --e-global-typography-primary-word-spacing );color:var( --e-global-color-primary );}.elementor-1115 .elementor-element.elementor-element-e458355 .elementor-heading-title{color:var( --e-global-color-primary );}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Arial, sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-1115 .elementor-element.elementor-element-af3f2c4{text-align:justify;font-family:var( --e-global-typography-text-font-family ), Arial, sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );color:var( --e-global-color-text );}.elementor-1115 .elementor-element.elementor-element-492b318{--swiper-slides-to-display:3;--swiper-slides-gap:10px;--arrow-prev-left-align:0%;--arrow-prev-translate-x:0px;--arrow-prev-left-position:0px;--arrow-prev-top-align:50%;--arrow-prev-translate-y:-50%;--arrow-prev-top-position:0px;--arrow-next-right-align:0%;--arrow-next-translate-x:0%;--arrow-next-right-position:0px;--arrow-next-top-align:50%;--arrow-next-translate-y:-50%;--arrow-next-top-position:0px;--arrow-size:32px;--arrow-normal-color:var( --e-global-color-1bb2198 );--arrow-hover-color:#153659;--swiper-pagination-size:12px;--dots-normal-color:var( --e-global-color-1bb2198 );}.elementor-1115 .elementor-element.elementor-element-492b318 :is(.elementor-swiper-button-prev, .elementor-swiper-button-next) {background-color:#FFFFFFA6;border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-astglobalcolor5 );border-radius:100px 100px 100px 100px;padding:5px 5px 5px 5px;}.elementor-1115 .elementor-element.elementor-element-492b318 :is(.elementor-swiper-button-prev:hover, .elementor-swiper-button-next:hover) {background-color:var( --e-global-color-1bb2198 );}.elementor-1115 .elementor-element.elementor-element-492b318 .swiper-slide > .elementor-element{height:100%;}@media(max-width:1366px){.elementor-widget-icon-list .elementor-icon-list-item > .elementor-icon-list-text, .elementor-widget-icon-list .elementor-icon-list-item > a{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-1115 .elementor-element.elementor-element-debac45 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-1115 .elementor-element.elementor-element-debac45 .elementor-icon-list-item > a{font-size:var( --e-global-typography-2c5154c-font-size );line-height:var( --e-global-typography-2c5154c-line-height );}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );word-spacing:var( --e-global-typography-primary-word-spacing );}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-1115 .elementor-element.elementor-element-af3f2c4{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-1115 .elementor-element.elementor-element-492b318{--swiper-slides-to-display:3;}}@media(max-width:1200px){.elementor-1115 .elementor-element.elementor-element-492b318{--swiper-slides-to-display:2;}}@media(max-width:1024px){.elementor-widget-icon-list .elementor-icon-list-item > .elementor-icon-list-text, .elementor-widget-icon-list .elementor-icon-list-item > a{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-1115 .elementor-element.elementor-element-debac45 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-1115 .elementor-element.elementor-element-debac45 .elementor-icon-list-item > a{font-size:var( --e-global-typography-2c5154c-font-size );line-height:var( --e-global-typography-2c5154c-line-height );}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );word-spacing:var( --e-global-typography-primary-word-spacing );}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-1115 .elementor-element.elementor-element-af3f2c4{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-1115 .elementor-element.elementor-element-492b318{--swiper-slides-to-display:2;}}@media(max-width:880px){.elementor-1115 .elementor-element.elementor-element-492b318{--swiper-slides-to-display:2;}}@media(max-width:767px){.elementor-widget-icon-list .elementor-icon-list-item > .elementor-icon-list-text, .elementor-widget-icon-list .elementor-icon-list-item > a{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-1115 .elementor-element.elementor-element-debac45 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-1115 .elementor-element.elementor-element-debac45 .elementor-icon-list-item > a{font-size:var( --e-global-typography-2c5154c-font-size );line-height:var( --e-global-typography-2c5154c-line-height );}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );word-spacing:var( --e-global-typography-primary-word-spacing );}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-1115 .elementor-element.elementor-element-af3f2c4{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-1115 .elementor-element.elementor-element-492b318{--swiper-slides-to-display:1;}.elementor-1115 .elementor-element.elementor-element-492b318 :is(.elementor-swiper-button-prev, .elementor-swiper-button-next) {border-width:1px 1px 1px 1px;}}/* Start custom CSS for loop-carousel, class: .elementor-element-492b318 *//* ==========================================================
   CURSOS, CAPACITACIONES Y EVENTOS EXTERNOS
   ========================================================== */

/* ==========================================================
   CODHEM — EVENTOS EXTERNOS
   Diseño compacto, secundario, dinámico y accesible
   ========================================================== */

.codhem-eventos-section,
.codhem-eventos-externos {
  --ext-font: var(--codhem-font);
  --ext-navy: var(--codhem-primary);
  --ext-blue: var(--codhem-blue);
  --ext-teal: var(--codhem-secondary);
  --ext-purple: var(--codhem-purple);
  --ext-gold: var(--codhem-gold);
  --ext-text: var(--codhem-ink);
  --ext-muted: var(--codhem-slate-blue);
  --ext-border: rgba(21, 54, 89, 0.13);
  --ext-surface: var(--codhem-white);
  --ext-soft: #f4f7f8;

  position: relative;
  width: 100%;
  overflow: hidden;
  color: var(--ext-text);
  font-family: var(--ext-font);

}

.codhem-eventos-section *,
.codhem-eventos-externos * {
  box-sizing: border-box;
  font-family: inherit;
}

.codhem-eventos-section > .e-con-inner,
.codhem-eventos-externos > .e-con-inner {
  display: flex !important;
  width: min(calc(100% - 40px), 1180px) !important;
  max-width: 1180px !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 12px !important;
  margin-inline: auto !important;
}

/* ==========================================================
   ENCABEZADO SECUNDARIO
   ========================================================== */

.codhem-eventos-section > .e-con-inner > .e-con:first-child,
.codhem-eventos-externos > .e-con-inner > .e-con:first-child {
  width: fit-content !important;
  min-height: 0 !important;
  margin: 0 0 2px !important;
  padding: 0 !important;
}

.codhem-eventos-section > .e-con-inner > .e-con:first-child .elementor-widget,
.codhem-eventos-externos > .e-con-inner > .e-con:first-child .elementor-widget {
  margin: 0 !important;
}

.codhem-eventos-section > .e-con-inner > .e-con:first-child .elementor-icon-list-item,
.codhem-eventos-externos > .e-con-inner > .e-con:first-child .elementor-icon-list-item {
  display: inline-flex !important;
  min-height: 30px;
  gap: 7px;
  padding: 6px 10px !important;
  color: var(--ext-blue);

  border-radius: 8px;
}

.codhem-eventos-section > .e-con-inner > .e-con:first-child .elementor-icon-list-icon,
.codhem-eventos-externos > .e-con-inner > .e-con:first-child .elementor-icon-list-icon {
  color: var(--ext-blue) !important;
}

.codhem-eventos-section > .e-con-inner > .e-con:first-child svg,
.codhem-eventos-externos > .e-con-inner > .e-con:first-child svg {
  width: 12px !important;
  height: 12px !important;
  fill: currentColor !important;
}

.codhem-eventos-section > .e-con-inner > .e-con:first-child .elementor-icon-list-text,
.codhem-eventos-externos > .e-con-inner > .e-con:first-child .elementor-icon-list-text {
  color: var(--ext-blue) !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}

.codhem-eventos-section .titulo-principal,
.codhem-eventos-externos .titulo-principal {
  margin: 0 !important;
}

.codhem-eventos-section .titulo-principal .elementor-heading-title,

.codhem-eventos-externos .titulo-principal .elementor-heading-title {
  max-width: 900px;
  margin: 0 !important;
  color: var(--ext-navy) !important;
  font-size: clamp(1.5rem, 2vw, 2rem) !important;
  font-weight: 750 !important;
  line-height: 1.16 !important;
  letter-spacing: -0.025em !important;
  text-wrap: balance;
}

.codhem-eventos-section .texto-descriptivo,
.codhem-eventos-section .texto-descriptivo p,
.codhem-eventos-externos .texto-descriptivo,
.codhem-eventos-externos .texto-descriptivo p {
  max-width: 820px;
  margin: 0 !important;
  color: var(--ext-muted) !important;
  font-size: 0.9375rem !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
}

/* ==========================================================
   TARJETA COMPACTA
   ========================================================== */

.codhem-evento-card {
  --color-evento: var(--ext-blue);
  --color-evento-rgb: 58, 83, 126;

  position: relative;
  display: flex !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 330px !important;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.96) !important;
  border: 1px solid var(--ext-border) !important;
  border-radius: 14px !important;
  box-shadow: 0 7px 20px rgba(21, 54, 89, 0.065) !important;
  transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

/* ==========================================================
   COLOR AUTOMÁTICO SEGÚN EL TIPO DE EVENTO
   Las clases tipo-evento-* ya las genera WordPress.
   ========================================================== */

.tipo-evento-doctorado .codhem-evento-card {
  --color-evento: var(--codhem-blue);
  --color-evento-rgb: 58, 83, 126;
}

.tipo-evento-posgrado .codhem-evento-card {
  --color-evento: var(--codhem-purple);
  --color-evento-rgb: 128, 103, 171;
}

.tipo-evento-curso .codhem-evento-card,
.tipo-evento-cursos .codhem-evento-card {
  --color-evento: #318f91;
  --color-evento-rgb: 49, 143, 145;
}

.tipo-evento-capacitacion .codhem-evento-card,
.tipo-evento-capacitaciones .codhem-evento-card {
  --color-evento: #68966b;
  --color-evento-rgb: 104, 150, 107;
}

.tipo-evento-taller .codhem-evento-card,
.tipo-evento-talleres .codhem-evento-card {
  --color-evento: #568f83;
  --color-evento-rgb: 86, 143, 131;
}

.tipo-evento-diplomado .codhem-evento-card,
.tipo-evento-diplomados .codhem-evento-card {
  --color-evento: #877a28;
  --color-evento-rgb: 135, 122, 40;
}

.tipo-evento-conferencia .codhem-evento-card,
.tipo-evento-conferencias .codhem-evento-card {
  --color-evento: #647fac;
  --color-evento-rgb: 100, 127, 172;
}

.tipo-evento-conversatorio .codhem-evento-card,
.tipo-evento-conversatorios .codhem-evento-card {
  --color-evento: #a06298;
  --color-evento-rgb: 160, 98, 152;
}

.tipo-evento-seminario .codhem-evento-card,
.tipo-evento-seminarios .codhem-evento-card {
  --color-evento: #4f8971;
  --color-evento-rgb: 79, 137, 113;
}

.tipo-evento-boletin .codhem-evento-card,
.tipo-evento-boletines .codhem-evento-card {
  --color-evento: #64777e;
  --color-evento-rgb: 100, 119, 126;
}

.tipo-evento-convocatoria .codhem-evento-card,
.tipo-evento-convocatorias .codhem-evento-card {
  --color-evento: #8a7c2d;
  --color-evento-rgb: 138, 124, 45;
}

.tipo-evento-evento .codhem-evento-card,
.tipo-evento-eventos .codhem-evento-card {
  --color-evento: #557b9e;
  --color-evento-rgb: 85, 123, 158;
}

.codhem-evento-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: var(--color-evento);
  opacity: 0.72;
}

.codhem-evento-card > .e-con-inner {
  display: flex !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 100% !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 18px 17px 16px !important;
}

@media (hover: hover) {
  .codhem-evento-card:hover {
    border-color: rgba(var(--color-evento-rgb), 0.34) !important;
    box-shadow: 0 11px 25px rgba(21, 54, 89, 0.095) !important;
    transform: translateY(-2px);
  }
}

/* Categoría */

.codhem-evento-tipo {
  width: fit-content !important;
  margin: 0 !important;
}

.codhem-evento-tipo .elementor-heading-title,
.codhem-evento-tipo a {
  display: inline-flex;
  width: fit-content;
  min-height: 24px;
  align-items: center;
  margin: 0 !important;
  padding: 5px 8px !important;
  color: var(--color-evento) !important;
  font-size: 0.6875rem !important;
  font-weight: 750 !important;
  line-height: 1 !important;
  letter-spacing: 0.035em !important;
  text-decoration: none !important;
  text-transform: uppercase;
  background: rgba(var(--color-evento-rgb), 0.1) !important;
  border: 1px solid rgba(var(--color-evento-rgb), 0.18);
  border-radius: 6px;
}

/* Institución */

.codhem-evento-institucion,
.codhem-evento-institucion .elementor-heading-title,
.codhem-evento-institucion p {
  display: -webkit-box;
  margin: 0 !important;
  overflow: hidden;
  color: var(--ext-muted) !important;
  font-size: 0.75rem !important;
  font-weight: 650 !important;
  line-height: 1.35 !important;
  letter-spacing: 0.01em;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

/* Título */

.codhem-evento-titulo {
  margin: 0 !important;
}

.codhem-evento-titulo .elementor-heading-title,
.codhem-evento-titulo .elementor-heading-title a {
  display: -webkit-box;
  margin: 0 !important;
  overflow: hidden;
  color: var(--ext-navy) !important;
  font-size: clamp(1.0625rem, 1.25vw, 1.1875rem) !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  letter-spacing: -0.012em !important;
  text-decoration: none !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.codhem-evento-titulo a:hover {
  color: var(--color-evento) !important;
}

/* Descripción y cualquier nota adicional dinámica */

.codhem-evento-descripcion,
.codhem-evento-descripcion p,
.codhem-evento-card > .e-con-inner > .elementor-widget-text-editor:not(.codhem-evento-descripcion),
.codhem-evento-card > .e-con-inner > .elementor-widget-text-editor:not(.codhem-evento-descripcion) p {
  margin: 0 !important;
  color: var(--ext-text) !important;
  font-size: 0.8125rem !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
}

.codhem-evento-descripcion,
.codhem-evento-descripcion p {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

/* ==========================================================
   DATOS DINÁMICOS
   Flex evita huecos cuando un campo viene vacío
   ========================================================== */

.codhem-evento-datos {
  width: 100% !important;
  min-height: 0 !important;
  margin: auto 0 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  background: transparent !important;
  border: 0 !important;
}

.codhem-evento-lista,
.codhem-evento-lista .elementor-widget-container {
  width: 100% !important;
  margin: 0 !important;
}

.codhem-evento-lista .elementor-icon-list-items {
  display: grid !important;
  width: 100% !important;
  grid-template-columns: minmax(108px, 1.18fr) minmax(82px, 1fr) minmax(82px, 1fr);
  align-items: stretch !important;
  gap: 6px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.codhem-evento-lista .elementor-icon-list-item {
  display: flex !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 42px !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 5px !important;
  margin: 0 !important;
  padding: 7px 6px !important;
  overflow: visible !important;
  color: var(--ext-blue);
  text-align: left !important;
  background: rgba(var(--color-evento-rgb), 0.055);
  border: 1px solid rgba(var(--color-evento-rgb), 0.11) !important;
  border-radius: 8px;
}

/* Elementor deja el li aunque el campo dinámico esté vacío. */
.codhem-evento-lista .elementor-icon-list-item:not(:has(.elementor-icon-list-text:not(:empty))) {
  display: none !important;
}

.codhem-evento-lista .elementor-icon-list-item::before,
.codhem-evento-lista .elementor-icon-list-item::after {
  display: none !important;
}

.codhem-evento-lista .elementor-icon-list-icon {
  display: grid !important;
  flex: 0 0 16px !important;
  width: 16px !important;
  min-width: 16px !important;
  height: 16px !important;
  place-items: center;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--color-evento) !important;
}

.codhem-evento-lista .elementor-icon-list-icon i {
  color: inherit !important;
  font-size: 14px !important;
}

.codhem-evento-lista .elementor-icon-list-icon svg {
  display: block !important;
  width: 14px !important;
  height: 14px !important;
  fill: currentColor !important;
}

.codhem-evento-lista .elementor-icon-list-text {
  display: block !important;
  min-width: 0 !important;
  padding: 0 !important;
  color: var(--ext-blue) !important;
  font-size: 0.65rem !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  text-align: left !important;
  white-space: nowrap !important;
  overflow-wrap: normal !important;
  word-break: keep-all !important;
  hyphens: none !important;
}

/* Los datos largos ocupan una fila completa sin cortarse. */
.codhem-evento-lista .elementor-icon-list-item:nth-child(n + 4) {
  grid-column: 1 / -1;
}

.codhem-evento-lista .elementor-icon-list-item:nth-child(n + 4) .elementor-icon-list-text {
  white-space: normal !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
}

/* ==========================================================
   BOTÓN SECUNDARIO
   ========================================================== */

.codhem-evento-boton {
  width: 100% !important;
  margin: 2px 0 0 !important;
}

.codhem-evento-boton .elementor-button {
  display: flex !important;
  width: 100% !important;
  min-height: 40px;
  align-items: center;
  justify-content: center;
  padding: 9px 14px !important;
  color: var(--color-evento) !important;
  font-size: 0.875rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-align: center;
  background: var(--codhem-white) !important;
  border: 1px solid rgba(var(--color-evento-rgb), 0.42) !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.codhem-evento-boton .elementor-button:hover {
  color: var(--codhem-white) !important;
  background: var(--color-evento) !important;
  border-color: var(--color-evento) !important;
  transform: translateY(-1px);
}

/* ==========================================================
   CARRUSEL
   Funciona con o sin la clase codhem-eventos-carousel
   ========================================================== */

.codhem-eventos-carousel ,
.codhem-eventos-section .elementor-widget-loop-carousel  {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  flex: 0 0 100% !important;
  align-self: stretch !important;
  margin: 12px 0 0 !important;
  padding: 2px 30px 0 !important;
  overflow: visible !important;
  --container-widget-width: 100% !important;
  --container-widget-flex-grow: 1 !important;
}

.codhem-eventos-carousel .swiper ,
.codhem-eventos-section .elementor-widget-loop-carousel .swiper  {
  width: 100% !important;
  max-width: none !important;
  overflow: hidden !important;
}

.codhem-eventos-carousel .swiper-wrapper ,
.codhem-eventos-section .elementor-widget-loop-carousel .swiper-wrapper  {
  width: 100% !important;
  align-items: stretch !important;
}

.codhem-eventos-carousel .swiper-slide ,
.codhem-eventos-section .elementor-widget-loop-carousel .swiper-slide  {
  display: flex !important;
  height: auto !important;
}

.codhem-eventos-carousel .swiper-slide > * ,
.codhem-eventos-section .elementor-widget-loop-carousel .swiper-slide > *  {
  width: 100% !important;
  height: 100% !important;
}

.codhem-eventos-carousel .elementor-swiper-button ,
.codhem-eventos-section .elementor-widget-loop-carousel .elementor-swiper-button  {
  display: grid !important;
  width: 36px !important;
  height: 36px !important;
  place-items: center;
  color: var(--ext-blue) !important;
  background: rgba(255, 255, 255, 0.96) !important;
  border: 1px solid rgba(21, 54, 89, 0.11) !important;
  border-radius: 50%;
  box-shadow: 0 5px 14px rgba(21, 54, 89, 0.1) !important;
}

.codhem-eventos-carousel .elementor-swiper-button svg ,
.codhem-eventos-section .elementor-widget-loop-carousel .elementor-swiper-button svg  {
  width: 14px !important;
  height: 14px !important;
  fill: currentColor !important;
}

.codhem-eventos-carousel .swiper-pagination ,
.codhem-eventos-section .elementor-widget-loop-carousel .swiper-pagination  {
  position: relative !important;
  inset: auto !important;
  display: flex !important;
  justify-content: center;
  gap: 6px;
  margin: 13px 0 0 !important;
}

.codhem-eventos-carousel .swiper-pagination-bullet ,
.codhem-eventos-section .elementor-widget-loop-carousel .swiper-pagination-bullet  {
  width: 7px !important;
  height: 7px !important;
  margin: 0 !important;
  background: rgba(21, 54, 89, 0.25) !important;
  border-radius: 999px;
  opacity: 1 !important;
  transition: width 180ms ease, background-color 180ms ease;
}

.codhem-eventos-carousel .swiper-pagination-bullet-active ,
.codhem-eventos-section .elementor-widget-loop-carousel .swiper-pagination-bullet-active  {
  width: 20px !important;
  background: var(--ext-blue) !important;
}

/* ==========================================================
   TABLETA
   ========================================================== */

@media (max-width: 1024px) {
  .codhem-eventos-section > .e-con-inner,
  .codhem-eventos-externos > .e-con-inner {
    width: min(calc(100% - 32px), 900px) !important;
 }

  .codhem-evento-card {
    min-height: 320px !important;
  }

  .codhem-evento-card > .e-con-inner {
    padding: 17px 16px 15px !important;
  }
}

/* ==========================================================
   CELULAR
   ========================================================== */

@media (max-width: 767px) {
  .codhem-eventos-section > .e-con-inner,
  .codhem-eventos-externos > .e-con-inner {
    width: calc(100% - 28px) !important;
    gap: 10px !important;
  }

  .codhem-eventos-section .titulo-principal .elementor-heading-title,

  .codhem-eventos-externos .titulo-principal .elementor-heading-title {
    font-size: clamp(1.375rem, 5.8vw, 1.75rem) !important;
    line-height: 1.2 !important;
  }

  .codhem-eventos-section .texto-descriptivo,
  .codhem-eventos-section .texto-descriptivo p,
  .codhem-eventos-externos .texto-descriptivo,
  .codhem-eventos-externos .texto-descriptivo p {
    font-size: 0.875rem !important;
    line-height: 1.55 !important;
  }

  .codhem-eventos-carousel ,
.codhem-eventos-section .elementor-widget-loop-carousel  {
    margin-top: 10px !important;
    padding-inline: 0 !important;
  }

  .codhem-eventos-carousel .elementor-swiper-button ,
.codhem-eventos-section .elementor-widget-loop-carousel .elementor-swiper-button  {
    display: none !important;
  }

  .codhem-evento-card {
    min-height: 0 !important;
    border-radius: 13px !important;
  }

  .codhem-evento-card > .e-con-inner {
    gap: 9px !important;
    padding: 16px 15px 14px !important;
  }

  .codhem-evento-titulo .elementor-heading-title,
  .codhem-evento-titulo .elementor-heading-title a {
    font-size: 1.0625rem !important;
  }

  .codhem-evento-lista .elementor-icon-list-items {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .codhem-evento-lista .elementor-icon-list-item {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 40px !important;
    padding: 6px 7px !important;
  }

  .codhem-evento-lista .elementor-icon-list-item:nth-child(n + 4) {
    grid-column: 1 / -1 !important;
  }

  .codhem-evento-boton .elementor-button {
    min-height: 42px;
  }
}

@media (max-width: 380px) {
  .codhem-evento-lista .elementor-icon-list-items {
    grid-template-columns: 1fr !important;
  }

  .codhem-evento-lista .elementor-icon-list-item {
    grid-column: 1 / -1 !important;
  }
}

/* ==========================================================
   ACCESIBILIDAD
   ========================================================== */

.codhem-eventos-section a:focus-visible,
.codhem-eventos-section button:focus-visible,
.codhem-eventos-section .elementor-swiper-button:focus-visible,
.codhem-eventos-externos a:focus-visible,
.codhem-eventos-externos button:focus-visible,
.codhem-eventos-externos .elementor-swiper-button:focus-visible {
  outline: 3px solid var(--ext-navy) !important;
  outline-offset: 3px !important;
}

@media (prefers-reduced-motion: reduce) {
  .codhem-eventos-section *,
  .codhem-eventos-externos * {
    animation: none !important;
    scroll-behavior: auto !important;
    transition: none !important;
  }

  .codhem-evento-card:hover,
  .codhem-evento-boton .elementor-button:hover {
    transform: none !important;
  }
}

@media (forced-colors: active) {
  .codhem-evento-card,
  .codhem-evento-lista .elementor-icon-list-item,
  .codhem-evento-boton .elementor-button {
    border: 1px solid CanvasText !important;
  }
}/* End custom CSS */