.elementor-2560 .elementor-element.elementor-element-297e1f0{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}/* Start custom CSS *//* ===== Parâmetros ===== */
:root{
  --ai-grid-gap: 30px;
  --ai-fundo-min: 170px; /* altura mínima do bloco do fundo (imagem + "Leia mais") */
}

/* ===== GRID 3/2/1 colunas ===== */
.ai-event-group-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:var(--ai-grid-gap);
  align-items:stretch;                   /* mesma altura por linha */
}
@media (max-width:1024px){ .ai-event-group-grid{ grid-template-columns:repeat(2, minmax(0,1fr)); } }
@media (max-width:767px){  .ai-event-group-grid{ grid-template-columns:1fr; } }

/* ===== Item e wrappers ocupando 100% ===== */
.ai-event-card{
  align-self:stretch;
  height:100%;
}
.ai-event-card__inner{
  height:100%;
  width:100%;
}

/* wrapper do Elementor (div.elementor) precisa ocupar 100% */
.ai-event-card__inner > .elementor{
  height:100%;
  width:100%;
  display:flex;
  flex-direction:column;
}

/* ===== Container do CARD (raiz do seu template) também precisa ter height:100% e virar flex-col ===== */
.ai-event-card__inner > .elementor .elementor-element-52e768a{
  height:100%;
  display:flex;
  flex-direction:column;
}

/* Topo do card: cresce para ocupar o espaço livre */
.ai-event-card__inner > .elementor .elementor-element-a4a9223{
  flex:1 1 auto;
  min-height:0;
}

/* Fundo do card (imagem + "Leia mais"): cola no rodapé e tem altura mínima fixa */
.ai-event-card__inner > .elementor .elementor-element-21abc04{
  flex:0 0 var(--ai-fundo-min);
  min-height:var(--ai-fundo-min);
  margin-top:0;                 /* não usamos mais margin-top:auto aqui */
}

/* Reseta min-heights de containers internos que possam atrapalhar */
.ai-event-card__inner [class*="e-con"]{
  min-height:auto !important;
}

/* ===== Título completo (sem reticências) ===== */
.ai-event-card .elementor-widget-theme-post-title .elementor-heading-title,
.ai-event-card h1.elementor-heading-title,
.ai-event-card h2.elementor-heading-title,
.ai-event-card h3.elementor-heading-title{
  display:block !important;
  -webkit-line-clamp:unset !important;
  -webkit-box-orient:unset !important;
  overflow:visible !important;
  white-space:normal !important;
  text-overflow:clip !important;
  line-height:1.15;
}

/* ===== Excerpt limitado (opcional) ===== */
.ai-event-card .elementor-widget-theme-post-excerpt .elementor-widget-container{
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
  margin:0;
}

/* Título do grupo */
.ai-event-group-title{
  text-transform:uppercase;
  font-family:"Co Headline", sans-serif;
  padding-top:20px;
}

/* Garantias básicas */
.ai-event-card img{ max-width:100%; height:auto; display:block; }/* End custom CSS */