/* ============================================================
   Cases — trilho deslizante no celular, três colunas no desktop.
   O card em si mora em components/case-card.css.
   ============================================================ */

.cases__aside {
    display: grid;
    justify-items: start;
    gap: var(--space-6);
}

/* O .section-head empurra o .lead pra direita; aqui ele divide a coluna
   com o botão e alinha com ele. */
.cases__aside .lead { justify-self: start; }

/* ── Trilho ──────────────────────────────────────────────── */
/* Vaza até a borda da tela pra o próximo card aparecer cortado — é o
   convite pra deslizar. O snap segura cada card alinhado à margem. */

.cases__rail {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: min(82vw, 380px);
    gap: var(--space-4);
    margin-inline: calc(var(--gutter) * -1);
    padding: 0 var(--gutter) var(--space-6);
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: var(--gutter);
    scrollbar-width: none;
}
.cases__rail::-webkit-scrollbar { display: none; }

.cases__item { scroll-snap-align: start; }

/* ── Desktop ─────────────────────────────────────────────── */

@media (min-width: 1024px) {
    .cases__rail {
        grid-auto-flow: row;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: var(--space-6);
        margin-inline: 0;
        padding: 0;
        overflow: visible;
    }
}
