.mini-banners {
  align-items: stretch;
}

.mini-banners article {
  position: relative;
  display: flex !important;
  align-items: center;
  min-height: 230px;
  height: 100% !important;
  padding: 28px 24px !important;
  isolation: isolate;
  background-size: 190%;
  background-position: 70% 45%;
  overflow: hidden;
}

/* Gradiente escuro só atrás do texto (esquerda); lado do produto (direita) fica claro */
.mini-banners article::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0, 0, 0, .82) 0%, rgba(0, 0, 0, .78) 38%, rgba(0, 0, 0, .25) 65%, rgba(0, 0, 0, 0) 90%);
  z-index: 0;
}

.mini-banners article > div {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-rows: auto auto auto auto;
  gap: 10px;
  align-content: center;
  min-width: 0;
}

.mini-banners small {
  align-self: start;
}

/* Altura mínima de 2 linhas: títulos de 1 ou 2 linhas ficam no mesmo eixo entre os cards */
.mini-banners h3 {
  align-self: start;
  margin: 0 !important;
  line-height: 1.18;
  min-height: 2.36em;
  display: flex;
  align-items: end;
}

.mini-banners p {
  align-self: start;
  margin: 0 !important;
  line-height: 1.4;
}

.mini-banners a {
  align-self: start;
  justify-self: start;
  margin: 6px 0 0 !important;
  white-space: nowrap;
}

@media (max-width: 900px) {
  .mini-banners article { min-height: 220px; }
}

@media (max-width: 420px) {
  .mini-banners article {
    padding: 25px 20px !important;
  }
  .mini-banners h3 { font-size: 19px; }
  .mini-banners a { padding: 10px 12px !important; letter-spacing: 1.4px !important; }
}
