/* ==========================================================================
   Página "Outros Consórcios", complementa style.css, bem.css e sobre.css.
   Cada modalidade é uma seção da mesma LP, com a sub-navegação fixa.
   ========================================================================== */

/* âncoras param abaixo do nav + subnav */
.oc-secao { scroll-margin-top: 132px; }

.mod { padding: 5rem 0; }

.mod-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3.5rem;
  align-items: center;
}
.mod-grid > * { min-width: 0; }

/* alterna o lado do visual para dar ritmo à leitura.
   Classe explícita em vez de :nth-of-type, o <section> do hero entra na
   contagem e inverteria o padrão. */
.mod-invertido .mod-visual { order: -1; }

.mod-lead {
  margin: 1.2rem 0 1rem;
  font-family: var(--f-serif);
  font-style: italic;
  font-size: 1.2rem;
  line-height: 1.5;
  color: var(--tinta);
}

.mod-texto .texto-secao { max-width: none; }

/* ---------- Lista de vantagens ---------- */
.mod-lista {
  list-style: none;
  margin: 1.4rem 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.7rem;
}
.mod-lista li {
  display: flex;
  align-items: flex-start;
  gap: 0.7rem;
  font-size: 0.98rem;
  color: var(--texto);
}
.mod-lista svg {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  margin-top: 0.15rem;
  color: var(--verde);
}

/* ---------- Coluna visual ---------- */
.mod-visual {
  position: relative;
  overflow: hidden;
  padding: 2.4rem 2rem;
  border-radius: var(--raio);
  background: var(--tinta);
  color: #fff;
}

/* Foto de fundo do card, definida por seção com --mod-foto.
   ATENÇÃO: o caminho é relativo a este CSS (css/), não ao HTML → "../img/".
   Camadas: 0 foto · 1 véu · 2 conteúdo. */
.mod-visual[style*="--mod-foto"]::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background: var(--mod-foto) center / cover no-repeat;
  filter: brightness(0.58) saturate(0.8);
  transform: scale(1.03);
}

.mod-visual[style*="--mod-foto"]::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(
    155deg,
    rgba(17, 51, 43, 0.72),
    rgba(11, 25, 23, 0.86)
  );
}

.mod-visual[style*="--mod-foto"] > * {
  position: relative;
  z-index: 2;
}

/* sem foto: mantém o gradiente sólido de antes */
.mod-visual:not([style*="--mod-foto"]) {
  background:
    radial-gradient(24rem 16rem at 85% 5%, rgba(127, 220, 174, 0.16), transparent 60%),
    linear-gradient(155deg, #11332b, var(--tinta));
}

.mod-ico {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3.6rem;
  height: 3.6rem;
  border-radius: 16px;
  background: rgba(127, 220, 174, 0.16);
  color: var(--verde-claro);
  margin-bottom: 1.4rem;
}
.mod-ico svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }

.mod-visual-titulo {
  font-family: var(--f-display);
  font-size: 1.15rem;
  font-weight: 700;
  margin-bottom: 1.2rem;
}

/* Usos da carta de crédito.
   Flex em vez de grid: quando a última linha não completa (Investimento tem 4
   itens, Solar tem 5), o grid deixaria buracos à direita, o flex centraliza. */
.mod-usos {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.7rem;
}
.mod-uso {
  flex: 1 1 8.5rem;
  max-width: 12rem;
  display: flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.8rem 0.9rem;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 255, 255, 0.1);
  font-size: 0.9rem;
  color: rgba(255, 255, 255, 0.88);
}
.mod-uso svg {
  flex-shrink: 0;
  width: 17px;
  height: 17px;
  fill: none;
  stroke: var(--verde-claro);
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* faixa de números/condições da modalidade */
.mod-condicoes {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 1.6rem;
  padding-top: 1.4rem;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}
.mod-cond { text-align: center; padding: 0 0.5rem; }
.mod-cond + .mod-cond { border-left: 1px solid rgba(255, 255, 255, 0.12); }
.mod-cond b {
  display: block;
  font-family: var(--f-display);
  font-size: 1.2rem;
  color: var(--verde-claro);
}
.mod-cond span {
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.55);
}

/* ---------- Aviso (usado em Investimento) ---------- */
.mod-aviso {
  display: flex;
  gap: 0.9rem;
  align-items: flex-start;
  margin-top: 1.6rem;
  padding: 1rem 1.2rem;
  border-left: 3px solid var(--verde);
  border-radius: 0 12px 12px 0;
  background: rgba(14, 107, 86, 0.07);
}
.mod-aviso svg { width: 20px; height: 20px; flex-shrink: 0; margin-top: 0.15rem; color: var(--verde); }
.mod-aviso p { font-size: 0.92rem; line-height: 1.6; color: var(--texto); }

/* ---------- Responsivo ---------- */
@media (max-width: 1024px) {
  .mod-grid { grid-template-columns: 1fr; gap: 2.5rem; }
  /* no empilhado, o texto sempre vem antes do visual */
  .mod-invertido .mod-visual { order: 0; }
}

@media (max-width: 760px) {
  .mod { padding: 3.5rem 0; }
  .oc-secao { scroll-margin-top: 128px; }
  .mod-visual { padding: 1.8rem 1.4rem; }
  .mod-condicoes { grid-template-columns: 1fr; gap: 1rem; }
  .mod-cond + .mod-cond { border-left: none; border-top: 1px solid rgba(255, 255, 255, 0.12); padding-top: 1rem; }
}
