/* =================================================================
   FINETIPS CASE — Estilos das páginas de detalhe de case
   Arquivo: case.css
   Descrição: Seções específicas das páginas finetipscase-*.html.
               Reutiliza header, hero (home.css), breadcrumb
               (breadcrumbs.css), trilha/cards de case (cases.css),
               CTA e footer. Inclui hero do case, galeria de
               capturas e cabeçalho da seção "Outros cases".
               Suporta light e dark mode.
   ================================================================= */

/* =================================================================
   HERO DO CASE
   ================================================================= */

.case-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: 48px;
  align-items: center;
}

.case-hero-content .home-hero-title {
  font-size: clamp(1.75rem, 3vw, 2.5rem);
}

.case-hero-sub {
  color: #FFFFFF;
  font-size: 1.0625rem;
  font-weight: 600;
  line-height: 1.5;
  margin: 0 0 var(--spacing-md);
  max-width: 560px;
}

.case-hero-desc {
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.875rem;
  line-height: 1.75;
  margin: 0;
  max-width: 560px;
}

/* Light mode: textos escuros na hero */
body:not(.dark-mode) .case-hero-sub {
  color: #0F172A;
}

body:not(.dark-mode) .case-hero-desc {
  color: rgba(15, 23, 42, 0.72);
}

body:not(.dark-mode) .case-hero-content .home-hero-title {
  color: #0F172A;
}

/* =================================================================
   GALERIA DE CAPTURAS
   ================================================================= */

.case-gallery {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.case-gallery-row {
  display: grid;
  gap: 12px;
}

.case-gallery-row--2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.case-gallery-row--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

/* Variantes de colunas — grids variados por página */
.case-gallery-row--2-40-60 {
  grid-template-columns: 4fr 6fr;
}

.case-gallery-row--2-60-40 {
  grid-template-columns: 6fr 4fr;
}

.case-gallery-row--3-40-30-30 {
  grid-template-columns: 4fr 3fr 3fr;
}

.case-gallery-row--3-30-30-40 {
  grid-template-columns: 3fr 3fr 4fr;
}

.case-shot {
  margin: 0;
  border: none;
  border-radius: 0;
  overflow: hidden;
  background-color: #050E30;
}

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

.case-gallery-row--2 .case-shot img,
.case-gallery-row--2-40-60 .case-shot img,
.case-gallery-row--2-60-40 .case-shot img {
  aspect-ratio: 4 / 3;
}

.case-gallery-row--wide .case-shot img {
  aspect-ratio: 21 / 9;
}

.case-gallery-row--3 .case-shot img,
.case-gallery-row--3-40-30-30 .case-shot img,
.case-gallery-row--3-30-30-40 .case-shot img {
  aspect-ratio: 4 / 5;
}

/* =================================================================
   SEÇÃO "OUTROS CASES"
   ================================================================= */

.case-others-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--spacing-xl);
  margin-bottom: var(--spacing-xl);
}

.case-others-title {
  font-family: var(--font-heading);
  font-size: clamp(1.5rem, 2.6vw, 2rem);
  font-weight: 600;
  color: var(--text-color);
  margin: 0 0 var(--spacing-md);
}

.case-others-lead {
  color: var(--text-secondary);
  font-size: 0.9375rem;
  line-height: 1.7;
  margin: 0;
  max-width: 720px;
}

/* =================================================================
   CTA — TÍTULO EM DESTAQUE
   ================================================================= */

.case-detail-cta .cta-title {
  font-size: clamp(1.75rem, 3.2vw, 2.5rem);
  line-height: 1.3;
}

.case-detail-cta .cta-description {
  margin-left: 0;
  margin-right: 0;
}

/* =================================================================
   RESPONSIVO
   ================================================================= */

@media (max-width: 900px) {
  .case-hero-grid {
    grid-template-columns: 1fr;
    gap: var(--spacing-xl);
  }

  .case-gallery-row--3,
  .case-gallery-row--3-40-30-30,
  .case-gallery-row--3-30-30-40 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .case-others-head {
    flex-direction: column;
  }
}

@media (max-width: 640px) {
  .case-gallery-row--2,
  .case-gallery-row--3,
  .case-gallery-row--2-40-60,
  .case-gallery-row--2-60-40,
  .case-gallery-row--3-40-30-30,
  .case-gallery-row--3-30-30-40 {
    grid-template-columns: 1fr;
  }

  .case-gallery-row--wide .case-shot img {
    aspect-ratio: 16 / 9;
  }
}
