/**
 * AC | Topic Section — header de categoria + grid 2-col de topic-cards.
 */

.ac-topic-section {
  width: 100%;
  scroll-margin-top: 80px; /* compensa header fixo quando a âncora é clicada */
}

.ac-topic-section--pt-0   { padding-top: 0; }
.ac-topic-section--pt-24  { padding-top: 24px; }
.ac-topic-section--pt-32  { padding-top: 32px; }
.ac-topic-section--pt-40  { padding-top: 40px; }
.ac-topic-section--pt-48  { padding-top: 48px; }
.ac-topic-section--pt-56  { padding-top: 56px; }
.ac-topic-section--pt-80  { padding-top: 80px; }
.ac-topic-section--pb-0   { padding-bottom: 0; }
.ac-topic-section--pb-24  { padding-bottom: 24px; }
.ac-topic-section--pb-32  { padding-bottom: 32px; }
.ac-topic-section--pb-40  { padding-bottom: 40px; }
.ac-topic-section--pb-48  { padding-bottom: 48px; }
.ac-topic-section--pb-56  { padding-bottom: 56px; }
.ac-topic-section--pb-80  { padding-bottom: 80px; }

.ac-topic-section__inner {
  max-width: 1104px;
  /* margin-inline: auto; */
  /* padding-inline: 16px; */
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.ac-topic-section__header {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.ac-topic-section__title {
  margin: 0;
  font-family: Raleway, sans-serif;
  font-weight: 700;
  font-size: 24px;
  line-height: 120%;
  color: #033936;
}

.ac-topic-section__description {
  margin: 0;
  font-family: Arial, sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 160%;
  color: #404040;
}

.ac-topic-section__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  /* Cards HUGAM o conteúdo (não esticam pela altura da linha) — assim o CTA
   * fica sempre a 24px (o padding do card) do bottom, sem espaço sobrando. */
  align-items: start;
}

@media (max-width: 768px) {
  .ac-topic-section__inner {
    gap: 24px;
  }
  .ac-topic-section__grid { grid-template-columns: 1fr; gap: 16px; }
}
