.elementor-143 .elementor-element.elementor-element-ef71d49{--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;--justify-content:center;}.elementor-143 .elementor-element.elementor-element-669e72c{--display:flex;--min-height:400px;--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;border-style:solid;--border-style:solid;border-width:1px 1px 1px 1px;--border-top-width:1px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;border-color:#E1E7EF80;--border-color:#E1E7EF80;--border-radius:12px 12px 12px 12px;box-shadow:0px 1px 2px 0px rgba(0, 0, 0, 0.05);--padding-top:24px;--padding-bottom:24px;--padding-left:24px;--padding-right:24px;}.elementor-143 .elementor-element.elementor-element-669e72c:not(.elementor-motion-effects-element-type-background), .elementor-143 .elementor-element.elementor-element-669e72c > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-143 .elementor-element.elementor-element-8896969 .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:18px;font-weight:700;line-height:28px;color:#1D2530;}.elementor-143 .elementor-element.elementor-element-7f583bd .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:16px;font-weight:400;line-height:24px;color:#627084;}.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 ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-icon-list .elementor-icon-list-text{color:var( --e-global-color-secondary );}.elementor-143 .elementor-element.elementor-element-0d5e603{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 20px) 0px;--e-icon-list-icon-size:20px;--icon-vertical-align:center;--icon-vertical-offset:1px;}.elementor-143 .elementor-element.elementor-element-0d5e603 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(12px/2);}.elementor-143 .elementor-element.elementor-element-0d5e603 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(12px/2);}.elementor-143 .elementor-element.elementor-element-0d5e603 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(12px/2);}.elementor-143 .elementor-element.elementor-element-0d5e603 .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-12px/2);}.elementor-143 .elementor-element.elementor-element-0d5e603 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-12px/2);}.elementor-143 .elementor-element.elementor-element-0d5e603 .elementor-icon-list-icon i{color:#6EC1E400;transition:color 0.3s;}.elementor-143 .elementor-element.elementor-element-0d5e603 .elementor-icon-list-icon svg{fill:#6EC1E400;transition:fill 0.3s;}.elementor-143 .elementor-element.elementor-element-0d5e603 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-143 .elementor-element.elementor-element-0d5e603 .elementor-icon-list-item > a{font-family:"Inter", Sans-serif;font-size:16px;font-weight:400;line-height:24px;}.elementor-143 .elementor-element.elementor-element-0d5e603 .elementor-icon-list-text{color:#627084;transition:color 0.3s;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-143 .elementor-element.elementor-element-b62978c .elementor-button{background-color:#FFFFFF;font-family:"Inter", Sans-serif;font-size:18px;font-weight:700;line-height:28px;fill:#3E72CC;color:#3E72CC;border-style:solid;border-width:2px 2px 2px 2px;border-color:#3E72CC;border-radius:12px 12px 12px 12px;}.elementor-143 .elementor-element.elementor-element-b62978c{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-143 .elementor-element.elementor-element-b62978c .elementor-button-content-wrapper{flex-direction:row;}.elementor-143 .elementor-element.elementor-element-b62978c .elementor-button .elementor-button-content-wrapper{gap:10px;}@media(max-width:767px){.elementor-143 .elementor-element.elementor-element-b62978c{--container-widget-width:1000px;--container-widget-flex-grow:0;width:var( --container-widget-width, 1000px );max-width:1000px;}}/* Start custom CSS for container, class: .elementor-element-669e72c *//* CARD */
.card {
  transition: transform .3s ease, box-shadow .3s ease;
}
.card:hover {
  transform: scale(1.02);
  box-shadow: 0 8px 20px rgba(0,0,0,.1);
}

/* BOTÃO DO ELEMENTOR DENTRO DO CARD */
.card .elementor-button {
  /* estado normal */
  background-color: #f5f5f5;        /* cor do fundo normal */
  color: #333;                       /* cor do texto/ícone normal */
  border: 2px solid #2563eb;         /* se usa outline */
  transition: background-color .3s ease, color .3s ease, border-color .3s ease;
}

/* quando fizer hover no CARD, muda o botão */
.card:hover .elementor-button {
  background-color: #2563eb !important; /* cor do print azul */
  color: #fff !important;
  border-color: #2563eb !important;     /* se estiver em outline */
}

/* garante que texto/ícone sigam a cor herdada */
.card .elementor-button .elementor-button-text,
.card .elementor-button .elementor-button-icon {
  color: inherit;
  fill: currentColor;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-ef71d49 *//* GRID: colunas e espaçamento consistentes */
.listing-grid .elementor-container,
.listing-grid .e-con { gap: 32px; }

.listing-grid .e-con-inner { gap: 0; } /* evita gaps internos extras */

/* CARD: ocupar altura toda e alinhar conteúdo */
.card {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 24px;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 0 0 1px rgba(0,0,0,.06) inset;
  transition: transform .3s ease, box-shadow .3s ease;
}

/* MEDIA: caixa da imagem com altura fixa proporcional */
.card-media {
  aspect-ratio: 4 / 3;          /* ajuste se preferir 1/1 ou 16/9 */
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  margin-bottom: 16px;
}
.card-media img {
  width: 100%;
  height: 100%;
  object-fit: contain;          /* mantém proporção, sem cortar */
}

/* TÍTULO e DESCRIÇÃO com alturas mínimas p/ equalizar */
.card-title { 
  font-weight: 700;
  margin: 8px 0 6px;
  min-height: 2.6em;            /* ~2 linhas; ajuste conforme tipografia */
  line-height: 1.3;
}
.card-subtitle {
  color: #707786;
  margin-bottom: 12px;
  min-height: 3.9em;            /* ~3 linhas */
  line-height: 1.3;
}

/* LISTA de bullets com altura previsível (opcional) */
.card-features { margin: 8px 0 16px; }
.card-features li { margin: 8px 0; }

/* CTA sempre no rodapé do card */
.card-cta { margin-top: auto; }

/* BOTÃO DO ELEMENTOR padronizado */
.card-cta .elementor-button {
  width: 100%;
  border-radius: 12px;
  border: 2px solid #2563eb;
  background: #f5f8ff;
  color: #2563eb;
  transition: background-color .3s ease, color .3s ease, border-color .3s ease;
}

/* ==========================
   HOVER ATIVO SÓ EM DISPOSITIVOS COM HOVER REAL
   ========================== */
@media (hover: hover) and (pointer: fine) {
  /* hover no CARD */
  .card:hover { 
    transform: scale(1.02); 
    box-shadow: 0 8px 20px rgba(0,0,0,.08); 
  }

  /* botão muda quando hover no CARD */
  .card:hover .elementor-button {
    background: #2563eb !important;
    border-color: #2563eb !important;
    color: #fff !important;
  }
}

/* ==========================
   MOBILE: DESATIVA QUALQUER HOVER
   ========================== */
@media (max-width: 767px) {
  /* mata transform/box-shadow no mobile */
  .card:hover {
    transform: none !important;
    box-shadow: 0 0 0 1px rgba(0,0,0,.06) inset !important;
  }

  /* anula qualquer variação de cor no hover do card e do botão */
  .card:hover .elementor-button,
  .card .elementor-button:hover {
    background-color: #f5f8ff !important;
    color: #2563eb !important;
    border-color: #2563eb !important;
  }

  /* força estilo fixo do botão no mobile */
  .card .elementor-button {
    background-color: #f5f8ff !important;
    color: #2563eb !important;
    border-color: #2563eb !important;
  }
}

/* Responsivo */
@media (max-width: 1024px) {
  .card { padding: 20px; }
  .card-media { aspect-ratio: 3 / 2; }
}
@media (max-width: 767px) {
  .listing-grid .elementor-container,
  .listing-grid .e-con { gap: 20px; }
  .card { padding: 16px; }
}

/* Acessibilidade: reduz animação para quem prefere menos movimento */
@media (prefers-reduced-motion: reduce) {
  .card { transition: none; }
}/* End custom CSS */