/* =========================================================
   RATIO — layout.css
   Containers, grid system, espaçamento de seções
   e estruturas de coluna reutilizáveis.
   Depende de: base.css (tokens)
   ========================================================= */

/* ---------------------------------------------------------
   Container principal
   --------------------------------------------------------- */
.container {
  width: 100%;
  max-width: var(--container-max);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--space-6);
  padding-right: var(--space-6);
}

.container--narrow {
  max-width: 860px;
}

.container--reading {
  max-width: var(--reading-max);
}

/* ---------------------------------------------------------
   Seções
   --------------------------------------------------------- */
.section {
  padding-top: var(--section-padding-y);
  padding-bottom: var(--section-padding-y);
}

.section--sm {
  padding-top: var(--space-9);
  padding-bottom: var(--space-9);
}

.section--lg {
  padding-top: calc(var(--section-padding-y) * 1.33);
  padding-bottom: calc(var(--section-padding-y) * 1.33);
}

/* Cabeçalho de seção */
.section__header {
  margin-bottom: var(--space-11);
}

.section__header--center {
  text-align: center;
  max-width: 640px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: var(--space-11);
}

.section__header--center p {
  margin-left: auto;
  margin-right: auto;
}

/* ---------------------------------------------------------
   Grid de 2 colunas
   --------------------------------------------------------- */
.grid-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-8);
}

.grid-2--wide {
  grid-template-columns: 1.25fr 1fr;
}

.grid-2--narrow {
  grid-template-columns: 1fr 1.25fr;
}

/* ---------------------------------------------------------
   Grid de 3 colunas
   --------------------------------------------------------- */
.grid-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-6);
}

/* ---------------------------------------------------------
   Grid de 4 colunas
   --------------------------------------------------------- */
.grid-4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-5);
}

/* ---------------------------------------------------------
   Flex row utilitário
   --------------------------------------------------------- */
.flex-row {
  display: flex;
  flex-direction: row;
  gap: var(--space-5);
}

.flex-row--gap-sm {
  gap: var(--space-3);
}

.flex-row--gap-lg {
  gap: var(--space-8);
}

.flex-row--center {
  align-items: center;
}

.flex-row--wrap {
  flex-wrap: wrap;
}

/* ---------------------------------------------------------
   Layout hero (duas colunas, texto + visual)
   --------------------------------------------------------- */
.hero-layout {
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  gap: var(--space-9);
  align-items: center;
}

.hero-layout__text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
}

.hero-layout__visual {
  display: flex;
  align-items: center;
  justify-content: center;
}

/* ---------------------------------------------------------
   Layout de conteúdo com barra lateral
   --------------------------------------------------------- */
.layout-with-aside {
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: var(--space-11);
  align-items: start;
}

/* ---------------------------------------------------------
   Centrado vertical
   --------------------------------------------------------- */
.center-y {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* ---------------------------------------------------------
   Utilitários de alinhamento de texto
   --------------------------------------------------------- */
.text-center { text-align: center; }
.text-left   { text-align: left;   }
.text-right  { text-align: right;  }

/* ---------------------------------------------------------
   Divisor horizontal
   --------------------------------------------------------- */
hr.divider {
  border: none;
  border-top: 1px solid var(--color-border);
  margin: 0;
}

hr.divider--light {
  border-color: var(--color-border-light);
}
