/* ═══════════════════════════════════════
   CASE PAGES — shared styles
═══════════════════════════════════════ */


/* ── Section: Hero (white) ── */
.section-case-hero {
  background-color: var(--color-primary-100);
  padding-top: var(--spacing-112);
  padding-inline: var(--page-padding);
  display: flex;
  flex-direction: column;
  gap: var(--spacing-80);
  align-items: center;
  overflow: hidden;
}

.section-case-hero__inner {
  max-width: var(--page-max-width);
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: var(--spacing-40);
}

.section-case-hero__heading {
  flex: 0 0 628px;
}

.section-case-hero__heading .text-h1 {
  color: var(--color-neutral-900);
}

.section-case-hero__subtitle {
  color: var(--color-primary-900);
  opacity: 0.7;
  max-width: 500px;
}

.section-case-hero__image {
  width: 100%;
  max-width: var(--page-max-width);
  border-radius: var(--radius-card);
  overflow: hidden;
  line-height: 0;
}

.section-case-hero__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}


/* ── Section: Problemas (primary-100 bg) ── */
.section-case-problemas {
  background-color: var(--color-primary-100);
  padding-block: var(--spacing-112);
  padding-inline: var(--page-padding);
}

.section-case-problemas .section__inner {
  display: flex;
  flex-direction: column;
}

.section-case-problemas .section-header {
  max-width: 766px;
}


/* ── Section: Solução (black bg) ── */
.section-case-solucao {
  background-color: var(--color-black);
  padding-block: var(--spacing-112);
  padding-inline: var(--page-padding);
  display: flex;
  flex-direction: column;
  gap: var(--spacing-80);
  align-items: center;
}

.section-case-solucao .section-header--split {
  max-width: var(--page-max-width);
  width: 100%;
}

.case-solution-cards {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-24);
  max-width: var(--page-max-width);
  width: 100%;
}

.case-solution-card {
  background-color: var(--color-card-dark-2);
  border-radius: var(--radius-card);
  padding: var(--spacing-40);
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--spacing-40);
}

.case-solution-card__left {
  display: flex;
  gap: var(--spacing-24);
  align-items: flex-start;
  flex: 0 0 450px;
}

.case-solution-card__number {
  color: var(--color-neutral-100);
  font-size: var(--font-size-md);
  line-height: var(--line-height-normal);
  opacity: 0.7;
  white-space: nowrap;
  flex-shrink: 0;
  padding-top: 0.2em;
}

.case-solution-card__title {
  color: var(--color-neutral-0);
  font-family: var(--font-heading);
  font-size: var(--font-size-h5);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-normal);
}

.case-solution-card__list {
  flex: 1;
  min-width: 0;
  list-style: none;
  padding-left: 0;
  display: flex;
  flex-direction: column;
  gap: var(--spacing-8);
}

.case-solution-card__list li {
  color: var(--color-neutral-100);
  font-size: var(--font-size-md);
  line-height: var(--line-height-normal);
  opacity: 0.7;
  padding-left: var(--spacing-16);
  position: relative;
}

.case-solution-card__list li::before {
  content: '—';
  position: absolute;
  left: 0;
  opacity: 0.5;
}


/* ── Section: Imagens — white bg ── */
.section-case-imagens {
  background-color: var(--color-neutral-0);
  padding-block: var(--spacing-112);
  padding-inline: var(--page-padding);
}

.case-imagens-gallery {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-24);
  max-width: var(--page-max-width);
  margin-inline: auto;
  align-items: center;
}

.case-imagens-full {
  width: 100%;
  border-radius: var(--radius-card);
  overflow: hidden;
  line-height: 0;
}

.case-imagens-full img {
  width: 100%;
  height: auto;
  display: block;
}

.case-imagens-caption {
  max-width: 790px;
  text-align: center;
  color: var(--color-neutral-900);
  opacity: 0.7;
  font-size: var(--font-size-md);
  line-height: var(--line-height-normal);
}


/* ── Section: Resultados (primary-900 bg) ── */
.section-case-resultados {
  background-color: var(--color-primary-900);
  padding-block: var(--spacing-112);
  padding-inline: var(--page-padding);
  display: flex;
  flex-direction: column;
  gap: var(--spacing-80);
  align-items: center;
}

.section-case-resultados .section-header--split {
  max-width: var(--page-max-width);
  width: 100%;
}

.section-case-resultados .section-header--split .text-h2 {
  color: var(--color-neutral-0);
}

.section-case-resultados .section-header--split .text-overline {
  color: var(--color-neutral-100);
}

.section-case-resultados .section-header__lead {
  color: var(--color-neutral-0);
  max-width: 380px;
  opacity: 0.7;
}

.case-resultado-cards {
  max-width: var(--page-max-width);
  width: 100%;
}

.case-resultado-legado {
  background-color: #3f0031;
  border-radius: var(--radius-card);
  padding: var(--spacing-64);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--spacing-48);
  max-width: var(--page-max-width);
  width: 100%;
}

.case-resultado-legado__content {
  flex: 1;
  min-width: 0;
}

.case-resultado-legado__heading {
  color: white;
  font-family: var(--font-heading);
  font-size: var(--font-size-h4);
  font-weight: var(--font-weight-heading);
  line-height: var(--line-height-snug);
  margin-bottom: var(--spacing-16);
}

.case-resultado-legado__text {
  color: white;
  font-size: var(--font-size-lg);
  line-height: var(--line-height-normal);
  opacity: 0.8;
}

.case-resultado-legado__icon {
  width: 128px;
  height: 128px;
  border-radius: 50%;
  border: 4px solid rgba(255, 255, 255, 0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: white;
}

/* Result card check icon */
.card-list__icon--check {
  color: var(--color-primary-500);
}

/* 4-column card grid variant */
.card-list--4col {
  grid-template-columns: repeat(4, 1fr);
}

/* Single full-width card, icon + text inline */
.card-list--1col {
  grid-template-columns: 1fr;
}

.card-list--1col .card-list__item {
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  min-height: auto;
}


/* Flex wrapper for mixed content (lists + subsection label) inside a solution card */
.case-solution-card__content {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--spacing-16);
}

.case-solution-card__subsection-label {
  color: var(--color-neutral-0);
  font-size: var(--font-size-md);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-normal);
}


/* ══════════════════════════════════
   RESPONSIVE
══════════════════════════════════ */
@media (max-width: 1024px) {
  .section-case-hero__inner {
    flex-direction: column;
    align-items: flex-start;
  }

  .section-case-hero__heading {
    flex: none;
    max-width: 100%;
  }

  .section-case-hero__subtitle {
    max-width: 100%;
  }

  .section-case-hero__image img {
    height: 100%;
  }

  .case-solution-card {
    flex-direction: column;
  }

  .case-solution-card__left {
    flex: none;
    width: 100%;
  }

  .case-resultado-legado {
    padding: var(--spacing-40);
  }

  .card-list--4col {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .section-case-hero {
    padding-top: var(--spacing-64);
  }

  .section-case-hero__image img {
    height: 100%;
  }

  .section-case-problemas,
  .section-case-solucao,
  .section-case-imagens,
  .section-case-resultados {
    padding-block: var(--spacing-80);
  }

  .case-solution-card {
    padding: var(--spacing-24);
  }

  .case-resultado-legado {
    flex-direction: column;
    gap: var(--spacing-32);
  }

  .case-resultado-legado__icon {
    width: 80px;
    height: 80px;
    align-self: center;
  }
}

@media (max-width: 480px) {
  .section-case-hero__image img {
    height: 100%;
  }

  .card-list--4col {
    grid-template-columns: 1fr;
  }
}
