/**
 * AC | Card Grid — grid responsivo de cards (media-text empilhados).
 * Pensado pra ficar dentro de um ac-section (largura/fundo). Alinha por linha.
 */

.ac-card-grid {
  display: grid;
  gap: 24px;
  align-items: stretch;
}
.ac-card-grid--cols-2 { grid-template-columns: repeat(2, 1fr); }
.ac-card-grid--cols-3 { grid-template-columns: repeat(3, 1fr); }
.ac-card-grid--cols-4 { grid-template-columns: repeat(4, 1fr); }

/* Padding vertical em tokens (DS) — default 0. */
.ac-card-grid--pt-0  { padding-top: 0; }
.ac-card-grid--pt-24 { padding-top: 24px; }
.ac-card-grid--pt-32 { padding-top: 32px; }
.ac-card-grid--pt-40 { padding-top: 40px; }
.ac-card-grid--pt-48 { padding-top: 48px; }
.ac-card-grid--pt-56 { padding-top: 56px; }
.ac-card-grid--pt-80 { padding-top: 80px; }
.ac-card-grid--pb-0  { padding-bottom: 0; }
.ac-card-grid--pb-24 { padding-bottom: 24px; }
.ac-card-grid--pb-32 { padding-bottom: 32px; }
.ac-card-grid--pb-40 { padding-bottom: 40px; }
.ac-card-grid--pb-48 { padding-bottom: 48px; }
.ac-card-grid--pb-56 { padding-bottom: 56px; }
.ac-card-grid--pb-80 { padding-bottom: 80px; }

.ac-card-grid > * { min-width: 0; }
.ac-card-grid > .ac-media-text { height: 100%; }
/* Feature-item card: piso de largura 255px (vence o min-width:0 acima) pra o
 * título caber em 3 linhas no grid de 4 colunas. 255px PURO (não min(…,100%)):
 * num grid item, 100% = a largura da própria coluna, então min(255,100%) se
 * anularia. Inerte em 2/3 col (coluna ≫ 255); só atua no 4-col estreito. */
.ac-card-grid > .ac-feature-item--card { min-width: 255px; }

/* Card único OU "órfão" (o último card, sozinho na última linha) → ocupa 100%
 * da largura (atravessa todas as colunas) em vez de ficar numa célula estreita.
 * O `:last-child:nth-child(Nn+1)` casa o último item quando ele inicia uma nova
 * linha sozinho (sobra de 1) no grid de N colunas. */
.ac-card-grid > :only-child,
.ac-card-grid--cols-2 > :last-child:nth-child(2n + 1),
.ac-card-grid--cols-3 > :last-child:nth-child(3n + 1),
.ac-card-grid--cols-4 > :last-child:nth-child(4n + 1) {
  grid-column: 1 / -1;
  max-width: none;
}

/* Neutraliza o "section" do media-text quando vira célula do grid:
 * sem padding-y próprio e sem o inner constrangido (largura/gutter/centragem),
 * pra o card preencher a coluna. */
.ac-card-grid .ac-media-text { padding: 0 !important; }
.ac-card-grid .ac-media-text__inner {
  max-width: none;
  margin: 0;
  padding-inline: 0;
}

@media (max-width: 768px) {
  .ac-card-grid,
  .ac-card-grid--cols-2,
  .ac-card-grid--cols-3,
  .ac-card-grid--cols-4 {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}
