.campaign-hero .hero-details {
  grid-template-columns: minmax(0, 1fr) 270px;
  row-gap: 8px;
}

.campaign-hero .hero-details > h1,
.campaign-hero .hero-details > .hero-subtitle {
  width: 100%;
  max-width: none;
  min-width: 0;
  overflow: hidden;
  margin: 0;
  line-height: 1.25;
  letter-spacing: 0;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

.campaign-hero .hero-details > h1 {
  align-self: end;
  font-size: clamp(11px, 1.08vw, 15px);
  font-weight: 500;
}

.campaign-hero .hero-details > .hero-subtitle {
  color: rgba(255, 255, 255, .8);
  font-size: clamp(9px, .82vw, 12px);
  font-weight: 400;
}

@media (max-width: 900px) {
  .campaign-hero .hero-details {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 6px;
  }

  .campaign-hero .hero-details > h1,
  .campaign-hero .hero-details > .hero-subtitle {
    grid-column: 1;
  }

  .campaign-hero .hero-details > h1 {
    font-size: clamp(8px, 2.65vw, 13px);
  }

  .campaign-hero .hero-details > .hero-subtitle {
    font-size: clamp(7px, 2.25vw, 11px);
  }
}

/* Android: permite duas linhas para os textos sobre a imagem. */
@media (max-width: 560px) {
  .campaign-hero .hero-details > h1,
  .campaign-hero .hero-details > .hero-subtitle {
    display: -webkit-box;
    max-height: none;
    overflow: hidden;
    overflow-wrap: anywhere;
    line-height: 1.3;
    text-overflow: clip;
    white-space: normal;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
}
