/* ===== Rodapé (home e páginas internas) =====
   Colunas seguem a grade vertical do site: marca entre v0 (8%) e v1 (36%),
   links entre v1 e v3 (92%). */
.ifx-footer {
  position: relative;
  z-index: 1;
  background: #000;
  border-top: 1px solid rgba(255,255,255,.12);
  padding: 100px 8vw 40px;
  color: #fff;
}

.ifx-footer-top {
  display: grid;
  grid-template-columns: 28vw 1fr;
  padding-bottom: 80px;
}
.ifx-footer-brand { padding-right: 3vw; }
.ifx-footer-logo { display: inline-block; margin-bottom: 26px; }
.ifx-footer-logo img { width: 150px; height: auto; display: block; }
.ifx-footer-slogan {
  margin: 0 0 30px;
  max-width: 18ch;
  font-weight: 500;
  font-size: clamp(22px, 2.2vw, 32px);
  line-height: 1.15;
  letter-spacing: -0.01em;
  color: rgba(255,255,255,.45);
}
.ifx-footer-slogan .hl { color: #fff; font-weight: 700; }

/* mesmo estilo do CTA do hero, em tamanho menor */
.ifx-footer-cta {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 18px;
  height: 52px;
  padding: 0 22px;
  border-radius: 4px;
  background: #13100F;
  color: #E9E8E2;
  text-decoration: none;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  transition: background .2s ease;
}
.ifx-footer-cta:hover { background: #630102; }
.ifx-footer-cta .plus { font-size: 16px; line-height: 1; transition: transform .5s ease; }
.ifx-footer-cta:hover .plus { transform: rotate(360deg); }

.ifx-footer-cols {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr) minmax(0,1.5fr);
  gap: 30px;
  padding-left: 3vw;
}
.ifx-footer-col h3 {
  margin: 0 0 18px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: rgba(255,255,255,.4);
}
.ifx-footer-col ul { list-style: none; margin: 0; padding: 0; }
.ifx-footer-col li { margin-bottom: 10px; }
.ifx-footer-col a {
  color: rgba(255,255,255,.85);
  text-decoration: none;
  font-size: 15px;
  overflow-wrap: anywhere;
  transition: color .15s ease;
}
.ifx-footer-col a:hover { color: #fff; text-decoration: underline; text-underline-offset: 4px; }
.ifx-footer-col small { display: block; margin-top: 2px; font-size: 12px; color: rgba(255,255,255,.4); }

.ifx-footer-bottom {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 10px 30px;
  padding-top: 26px;
  border-top: 1px solid rgba(255,255,255,.12);
  font-size: 13px;
  color: rgba(255,255,255,.45);
}
.ifx-footer-bottom p { margin: 0; }
.ifx-footer-bottom strong { color: rgba(255,255,255,.75); font-weight: 600; }

/* quando o rodapé aparece, o blur fixo do pé da tela sai de cima dele (js/footer.js) */
.ifx-bottom-blur { transition: opacity .4s ease; }
body.ifx-footer-in .ifx-bottom-blur { opacity: 0; }

@media (max-width: 900px) {
  .ifx-footer { padding: 70px 8vw 32px; }
  .ifx-footer-top { grid-template-columns: 1fr; gap: 50px; padding-bottom: 50px; }
  .ifx-footer-brand { padding-right: 0; }
  .ifx-footer-cols { padding-left: 0; }
}
@media (max-width: 520px) {
  .ifx-footer-cols { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
  .ifx-footer-col:last-child { grid-column: 1 / -1; }
  .ifx-footer-bottom { flex-direction: column; }
}
