/* Container */
.benefits { padding: 8px 0; }
.benefits-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
  max-width:1100px;
  margin:0 auto;
}

/* Card */
.benefit{
  background:#b6d77c;
  border:1px solid #E5EEE7;
  border-radius:16px;
  padding:16px 14px;
  text-align:center;
  box-shadow:0 4px 14px rgba(0,0,0,.06);
}
.benefit-ico{
  width:44px; height:44px; display:block; margin:0 auto 10px;
}
.benefit-ttl{
  font-size:18px; line-height:1.15; margin:0 0 6px; font-weight:800; color:#0b3f3a;
}

/* DESKTOP/TABLET: mostrar texto inteiro (sem corte) */
.benefit-txt{
  font-size:14px; line-height:1.45; margin:0; color:#1e3d37;
  display:block;                 /* sem clamp */
  overflow:visible;              /* sem clamp */
}

/* Tablet (mesma grade do desktop, só levemente menor) */
@media (max-width: 1024px){
  .benefits-grid{ gap:16px; }
  .benefit-ttl{ font-size:17px; }
  .benefit-txt{ font-size:13.5px; line-height:1.45; }
}

/* Mobile: 2 colunas; clamp em 3 linhas; cartões simétricos */
@media (max-width: 640px){
  .benefits-grid{
    grid-template-columns:repeat(2,1fr);
    gap:12px;
    padding:0 6px;
  }
  .benefit{
    padding:14px 10px;
    border-radius:14px;
    min-height:160px;            /* mantém todos os cards com altura igual */
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
  }
  .benefit-ico{ width:40px; height:40px; margin-bottom:8px; }
  .benefit-ttl{ font-size:15px; margin-bottom:4px; }

  /* MOBILE: mostra até 3 linhas com reticências */
  .benefit-txt{
    font-size:13px; line-height:1.4;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:3;  /* ← 3 linhas no mobile */
            line-clamp:3;
    overflow:hidden;
  }
}

/* Telinhas muito pequenas */
@media (max-width: 360px){
  .benefit-ico{ width:36px; height:36px; }
  .benefit-ttl{ font-size:14px; }
  .benefit-txt{ font-size:12px; }
}
