/* ============================================================
   stack-cards.css — "Stack de Cards" (ISOLADO, namespace .stack-cards / .sc-*).
   Figma 3.Delivery: desktop 6205:38820 · 992 6220:42784 · tablet 6220:44673 · mobile 6220:45411 ·
   card1 6220:41361 · card2 6220:41384.
   Mecânica do carrossel (setas/progress/drag/autoplay) vem do carouseltpc.js genérico —
   este arquivo controla TAMANHO/LAYOUT do card e do slide.
   ⚠️ .tpc__slide usa width em CALC (px reais via 100vw), NÃO flex-basis em %: o
   .tpc__track tem width:max-content (biblioteca genérica), então % nos slides gera
   dependência circular de tamanho (o track cresce pro conteúdo, o conteúdo é % do
   track) — resultado instável/gigante. calc(100vw - margens - gap) quebra esse ciclo.
   ⚠️ align-items:stretch no track + height:100% no card: garante que todos os cards
   da mesma linha tenham a MESMA altura (a do mais alto), independente da quantidade
   de texto de cada um.
   ============================================================ */
.stack-cards {
}

.sc-head {
    margin-inline: auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: start;
}

.sc-head__lead {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
}

.sc-head__title {
    margin: 0;
    font-family: var(--font-sans);
    font-weight: var(--fw-extralight);
    color: var(--body-default);
}

.sc-head__body {
    margin: 0;
    align-self: center;
    font-family: var(--font-sans);
    font-weight: var(--fw-light);
    color: var(--body-default);
}

.stack-cards .tp-carousel {
    --tpc-gap: 64px;
}

.stack-cards .tpc__track {
    align-items: stretch;
}

/* tamanho do slide: 78% do espaço útil da tela, calculado em px reais (não % do track) */
.stack-cards .tpc__slide {
    flex: 0 0 auto;
    width: calc((100vw - 2 * 40px - 64px) * 0.78);
    min-width: 0;
    display: flex; /* necessário pro .sc-card conseguir esticar via height:100% */
    max-width: 1160px;
}

.sc-card {
    background: var(--bg-neutral-subtle);
    min-height: 400px;
    height: 100%; /* preenche a altura do slide, já esticado pelo align-items:stretch */
    width: 100%;
    padding: 40px;
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 40px;
    align-content: center;
}

.sc-card__bar {
    position: relative;
    display: block;
    width: 200px;
    height: 17px;
}

    .sc-card__bar img {
        position: absolute;
        top: 0;
        left: -11px;
        width: 284px;
        height: 177px;
        max-width: none;
        pointer-events: none;
    }

.sc-card__col--title {
    grid-column: 1;
    align-self: start;
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.sc-card__title {
    margin: 0;
    font-family: var(--font-sans);
    font-weight: var(--fw-extralight);
    color: var(--title-default);
}

.sc-card__media {
    max-width: 353px;
    height: 100%;
    overflow: hidden;
}

    .sc-card__media img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: contain;
    }

.sc-card__col--text {
    display: flex;
    flex-direction: column;
    gap: 32px;
    min-width: 0;
}

.sc-card__body {
    margin: 0;
    font-family: var(--font-sans);
    font-weight: var(--fw-extralight);
    color: var(--body-default);
}

.sc-card__col--text .title-containerV2 {
    height: 100%;
}
/*@media (min-width: 1920px) {
    .sc-card {
        grid-template-columns: 1fr 3fr;
    }
}*/
@media (max-width: 1200px) {
    .sc-card {
        display: flex;
        flex-direction: column;
        gap: 24px;
        min-height: 0;
    }

    .sc-card__media {
        max-width: 100%;
        height: 320px;
    }
}

@media (max-width: 1024px) {
    .stack-cards .tpc__slide {
        width: calc((100vw - 2 * 20px - 24px) * 0.78);
    }
}

@media (max-width: 992px) {
    .sc-head {
        grid-template-columns: 1fr;
        gap: 24px;
        padding-inline: 28px;
    }

    .sc-head__body {
        align-self: start;
    }

    .stack-cards .tp-carousel {
        --tpc-gap: 24px;
    }

    .sc-card__col--title {
        gap: 24px;
    }

    .sc-card__col--text {
        grid-column: auto;
        max-width: 100%;
        gap: 24px;
    }

    .stack-cards .tpc__slide {
        width: calc(100vw - 40px);
    }
}

@media (max-width: 767px) {
    .sc-head {
        padding-inline: 20px;
    }
}

@media (max-width: 576px) {
    .sc-card__media {
        height: 160px;
    }
}
