/* ==========================================================================
   RODAPÉ — marca, colunas de links, créditos e assinatura gigante
   ========================================================================== */

.rodape {
  width: 100%;
  margin-top: 40px;
}

.rodape .fundo {
  position: relative;
  width: 100%;
  overflow: hidden;
  background-image: radial-gradient(ellipse 900px 500px at 50% 120%, var(--cor-roxo-transparente), transparent 60%);
  border-top: 1px solid var(--bolha-borda);
}

.rodape .blush {
  position: absolute;
  top: 10%;
  right: 8%;
  width: 420px;
  height: 420px;
  border-radius: 50%;
  background: radial-gradient(circle, var(--cor-roxo-transparente) 0, transparent 70%);
  pointer-events: none;
  animation: blush-rodape 12s ease-in-out infinite;
}

.rodape .container-site {
  position: relative;
  z-index: 1;
}

.rodape .conteudo {
  display: flex;
  justify-content: space-between;
  gap: 80px;
  width: 100%;
  padding: 90px 0 60px;
}

/* Marca */
.rodape .marca {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 18px;
  max-width: 340px;
}

.rodape .marca .logo img {
  width: auto;
  height: 36px;
  filter: drop-shadow(0 8px 16px rgba(20, 5, 60, .6));
}

.rodape .marca .frase {
  font-size: var(--f2);
  line-height: 1.6;
  color: var(--cor-cinza);
}

.rodape .marca .entrar-plataforma {
  height: 48px;
  padding: 0 26px;
  margin: 4px 0 0;
  font-size: var(--f2);
  border-radius: var(--raio-pilula);
}

.rodape .marca .redes {
  display: flex;
  gap: 10px;
}

.rodape .marca .redes a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 14px;
  background: #ffffff0d;
  border: 1px solid var(--bolha-borda);
  box-shadow: var(--bolha-sombra-leve);
  transition: border-color .2s, transform .2s, background .2s;
}

.rodape .marca .redes a svg {
  width: 18px;
  height: 18px;
  fill: var(--cor-texto);
}

.rodape .marca .redes a:hover {
  border-color: var(--bolha-borda-forte);
  background: #ffffff17;
  transform: translateY(-2px);
}

/* Colunas */
.rodape .colunas {
  display: flex;
  gap: 80px;
}

.rodape .coluna {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.rodape .coluna h3 {
  margin: 0 0 6px;
  font-size: var(--f1);
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--cor-texto);
}

.rodape .coluna ul {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.rodape .coluna a {
  display: inline-block;
  font-size: var(--f2);
  color: var(--cor-cinza);
  transition: color .3s, transform .3s;
}

.rodape .coluna a:hover {
  color: var(--cor-roxo-claro);
  transform: translateX(3px);
}

/* Base */
.rodape .base {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 20px;
  width: 100%;
  padding: 30px 0 40px;
  border-top: 1px solid transparent;
  border-image: linear-gradient(90deg, transparent 0, var(--bolha-borda-forte) 25%, var(--bolha-borda-forte) 75%, transparent 100%) 1;
}

.rodape .base .empresa {
  font-size: var(--f1);
  line-height: 1.6;
  color: var(--cor-cinza);
}

.rodape .base .empresa .cnpj {
  display: block;
  white-space: nowrap;
}

.rodape .base .institucional {
  display: flex;
  align-items: center;
  gap: 24px;
}

.rodape .base .institucional a {
  font-size: var(--f1);
  color: var(--cor-cinza);
  transition: color .3s;
}

.rodape .base .institucional a:hover {
  color: var(--cor-roxo-claro);
}

@keyframes blush-rodape {
  0%, to { transform: translate(0) scale(1); opacity: .7; }
  50% { transform: translate(-30px, 20px) scale(1.15); opacity: 1; }
}

/* ---------- Mobile ---------- */
@media screen and (max-width: 1000px) {
  .rodape .conteudo {
    flex-direction: column;
    gap: 44px;
    padding: 60px 0 40px;
  }

  .rodape .marca {
    max-width: 100%;
  }

  .rodape .colunas {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 36px 24px;
  }

  .rodape .base {
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
    padding: 26px 0 32px;
  }
}
