/* ============ ÜBER UNS (sobre.css) ============ */
/* Estrutura e layout. Cores/typografia vêm do base.css. */

/* 1) Filosofia (texto + vídeo) */
.sobre-nos .filosofia-conteudo{
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-4);
  align-items: flex-start;
  justify-content: space-between;
}
.sobre-nos .filosofia-conteudo .texto{ flex: 1 1 55%; min-width: 280px; }
.sobre-nos .filosofia-conteudo .video-container{ flex: 1 1 40%; min-width: 280px; }
.sobre-nos .filosofia-conteudo .video-container video{
  width: 100%;
  height: auto;
  display: block;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0,0,0,.08);
}
/* Espaço padrão entre seções desta página */ section{ margin-bottom:100px; }

/* 2) Pilares */
#pilares .pilares{ margin-top: var(--space-3); }
#pilares h2{ text-align: center; }
.pilares-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: var(--space-3);
  margin: var(--space-4) 0;
}
.pilar{
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0,0,0,.06);
  padding: var(--space-2);
  text-align: left;
}
.pilar img{
  display: block;
  max-width: 140px;
  height: auto;
  margin: 0 0 var(--space-1) 0;
}

/* 3) Split (vídeo/imagem + texto) */
.split{
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: var(--space-4);
  align-items: center;
}
.split-media{ margin: 0; }
.split-media img,
.split-media video{
  width: 100%;
  height: auto;
  display: block;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0,0,0,.08);
  object-fit: cover;
}
.split-content h2{ margin-bottom: var(--space-2); }
.split-content p { margin-top: var(--space-2); }
.split.reverse .split-media{ order: 2; }
.split.reverse .split-content{ order: 1; }

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

/* ≤ 1024px (tablet) — pilares em full-bleed, um por linha */
@media (max-width: 1024px) {
  /* Reduz o respiro geral entre seções */
  section {
    margin-bottom: 60px;
  }

  /* Filosofia: empilha; vídeo full-width */
  .sobre-nos .filosofia-conteudo {
    flex-direction: column;
    gap: var(--space-2);
  }
  .sobre-nos .filosofia-conteudo .video-container {
    position: relative;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    height: auto;
    background: transparent;
  }
  .sobre-nos .filosofia-conteudo .video-container video {
    width: 100%;
    height: auto;
    border-radius: 0;
    box-shadow: none;
    object-fit: contain;
  }

  /* Pilares — full-bleed e coluna única */
  #pilares {
    position: relative;
    isolation: isolate;
    padding: var(--space-4) 0; /* 🔽 menor padding vertical */
  }
  #pilares::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    bottom: 0;
    left: 50%;
    width: 100vw;
    transform: translateX(-50%);
    background: var(--color-bg);
  }
  #pilares .pilares {
    max-width: 1500px;
    margin-inline: auto;
    padding-inline: var(--container-gutter);
  }
  .pilares-grid {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
    align-items: stretch;
    margin: var(--space-4) 0 var(--space-3);
  }
  .pilar {
    width: 100%;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0,0,0,.06);
    padding: var(--space-3);
    text-align: left;
  }
  .pilar img {
    display: block;
    max-width: 160px;
    height: auto;
    margin-bottom: var(--space-2);
  }

  /* Split: empilha; mídia full-width */
  .split {
    grid-template-columns: 1fr;
  }
  .split-media {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
  }
  .split-media img,
  .split-media video {
    width: 100%;
    height: auto;
    border-radius: 0;
    box-shadow: none;
    object-fit: contain;
  }
}

/* ≤ 768px (mobile) */
@media (max-width: 768px) {
  section {
    margin-bottom: 40px; /* 🔽 ainda menor no mobile */
  }

  .pilares-grid {
    gap: var(--space-3);
  }
  .pilar {
    text-align: center;
    padding: var(--space-3);
  }
  .pilar img {
    margin: 0 auto var(--space-2);
    max-width: clamp(140px, 50vw, 180px);
  }
  .pilar h3,
  .pilar p {
    text-align: center;
  }
}

/* ≤ 480px (mobile pequeno) */
@media (max-width: 480px) {
  section {
    margin-bottom: 30px; /* 🔽 mínimo espaçamento */
  }
}
