/* Rodapé da Videira, cópia de videira-home-footer.css (home Lovable). Carregado em todas as páginas da Videira. */
.footer {
  --footer-cream: #f7f4ee;
  position: relative;
  overflow: hidden;
  /* Mesmas cores calculadas do rodapé do Início (o color-mix original fica quase preto nas outras páginas). */
  background: radial-gradient(150% 120% at 85% 0, oklab(0.187715 0.0824245 0.00620255) 0%, oklab(0.109216 0.0824245 0.00620255) 55%, oklab(0.075086 0.0824245 0.00620255) 100%);
  color: var(--footer-cream);
  padding: 96px 0 0;
}
.footer-watermark { position: absolute; left: -7%; top: 46%; width: 660px; opacity: .05; filter: blur(1px); transform: translateY(calc(-50% + var(--footer-py, 0px))); pointer-events: none; }
.footer-arc { position: absolute; left: 2%; top: 0; height: 100%; width: 400px; color: rgba(247, 244, 238, .14); pointer-events: none; }
.footer-leaves { position: absolute; width: 230px; color: var(--footer-cream); opacity: .08; filter: blur(7px); pointer-events: none; }
.footer-leaves-right { top: -40px; right: -30px; transform: translateY(calc(var(--footer-py, 0px) * .6)); }
.footer-leaves-left { bottom: -50px; left: 22%; transform: rotate(160deg) translateY(calc(var(--footer-py, 0px) * -.5)); }
.footer-inner { position: relative; margin: 0 clamp(24px, 4vw, 80px); padding-bottom: 36px; }
.footer-grid { display: grid; grid-template-columns: 1.25fr 1.15fr 0.9fr 1.2fr; }
.footer-col { padding: 0 40px; }
.footer-col:first-child { padding-left: 0; }
.footer-col + .footer-col { border-left: 1px solid rgba(247, 244, 238, .12); }
.footer-logo { width: 235px; height: auto; }
.footer-address { display: flex; align-items: center; gap: 16px; margin: 44px 0 0; font-size: 14.5px; line-height: 1.6; color: rgba(247, 244, 238, .85); }
.footer-icon { display: grid; place-items: center; flex: 0 0 46px; width: 46px; height: 46px; border: 1px solid rgba(247, 244, 238, .28); border-radius: 50%; transition: border-color .3s ease, background .3s ease; }
.footer-icon svg { height: 19px; width: 19px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.footer-heading { font-size: 11px; font-weight: 700; letter-spacing: .24em; color: rgba(247, 244, 238, .76); margin: 8px 0 26px; }
.footer-cultos { list-style: none; margin: 0; padding: 0; }
.footer-cultos li { display: flex; align-items: center; gap: 18px; padding: 16px 0; border-bottom: 1px solid rgba(247, 244, 238, .12); }
.footer-cultos li:first-child { padding-top: 0; }
.footer-cultos li:last-child { border-bottom: 0; }
.footer-culto-info { display: flex; flex-direction: column; gap: 3px; }
.footer-culto-nome { font-size: 15px; color: rgba(247, 244, 238, .88); }
.footer-culto-hora { font-size: 18px; font-weight: 700; letter-spacing: .03em; }
.footer-nav { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 13px; }
.footer-link { position: relative; display: inline-block; font-size: 15px; color: rgba(247, 244, 238, .9); text-decoration: none; padding-bottom: 2px; background: linear-gradient(currentColor, currentColor) left bottom / 0% 1px no-repeat; transition: color .3s ease, background-size .35s ease, transform .3s ease; }
.footer-link:hover, .footer-link:focus-visible { color: var(--footer-cream); background-size: 100% 1px; }
.footer-link:focus-visible, .footer-contato-link:focus-visible, .footer-cta:focus-visible { outline: 2px solid rgba(247, 244, 238, .7); outline-offset: 4px; }
.footer-contato { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 20px; }
.footer-contato-link { display: flex; align-items: center; gap: 16px; color: rgba(247, 244, 238, .88); text-decoration: none; font-size: 14.5px; transition: color .3s ease; }
.footer-contato-link:hover { color: var(--footer-cream); }
.footer-contato-link:hover .footer-icon { border-color: rgba(247, 244, 238, .6); background: rgba(247, 244, 238, .08); }
.footer-contato-texto { word-break: break-word; }
.footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 76px; padding: 28px 0 30px; border-top: 1px solid rgba(247, 244, 238, .14); }
.footer-copy { margin: 0; font-size: 14px; color: rgba(247, 244, 238, .6); }
.footer-cta { display: inline-flex; align-items: center; gap: 16px; font-size: 15px; font-weight: 600; color: var(--footer-cream); text-decoration: none; }
.footer-cta-circle { display: grid; place-items: center; width: 48px; height: 48px; border: 1px solid rgba(247, 244, 238, .45); border-radius: 50%; transition: transform .3s ease, background .3s ease, border-color .3s ease; }
.footer-cta-circle svg { height: 17px; width: 17px; }
.footer-cta:hover .footer-cta-circle { transform: translateX(6px); background: rgba(247, 244, 238, .12); border-color: var(--footer-cream); }

.footer.footer-motion-ready .footer-reveal { opacity: 0; transform: translateY(26px); transition: opacity .85s ease, transform .95s cubic-bezier(.22,.61,.36,1); }
.footer.footer-motion-ready .footer-col:nth-child(1) { transition-delay: .05s; }
.footer.footer-motion-ready .footer-col:nth-child(2) { transition-delay: .16s; }
.footer.footer-motion-ready .footer-col:nth-child(3) { transition-delay: .27s; }
.footer.footer-motion-ready .footer-col:nth-child(4) { transition-delay: .38s; }
.footer.footer-motion-ready .footer-bottom { transition-delay: .5s; }
.footer.footer-motion-ready .footer-reveal.is-visible { opacity: 1; transform: none; }
.footer.footer-motion-ready .footer-watermark { opacity: 0; transition: opacity 1.6s ease .2s; }
.footer.footer-motion-ready:has(.footer-reveal.is-visible) .footer-watermark { opacity: .05; }

@media (max-width: 1100px) {
  .footer-grid { grid-template-columns: 1fr 1fr; row-gap: 54px; }
  .footer-col { padding: 0 32px; }
  .footer-col:nth-child(3) { border-left: 0; padding-left: 0; }
  .footer-watermark { width: 480px; }
}
@media (max-width: 767px) {
  .footer { padding: 64px 0 0; }
  .footer-grid { grid-template-columns: 1fr; row-gap: 44px; }
  .footer-col { padding: 0; border-left: 0 !important; }
  .footer-logo { width: 200px; }
  .footer-address { margin-top: 32px; }
  .footer-watermark { width: 380px; left: -30%; }
  .footer-arc, .footer-leaves-left { display: none; }
  .footer-bottom { flex-direction: column; align-items: flex-start; gap: 20px; margin-top: 54px; }
}
@media (prefers-reduced-motion: reduce) {
  .footer.footer-motion-ready .footer-reveal { opacity: 1; transform: none; transition: none; }
  .footer.footer-motion-ready .footer-watermark { opacity: .05; transition: none; }
  .footer-link, .footer-cta-circle, .footer-icon { transition: none; }
}

/* Ajustes do rodapé comum (vindos de videira-home.css). */
.footer-logo { object-fit: contain; }
.footer-cta svg { width: 1rem; height: 1rem; }
.footer .footer-heading { font-family: var(--fonte-texto), system-ui, sans-serif; }
/* Assinatura discreta da plataforma. */
.footer-assinatura { margin-left: 1.2em; font-size: .78em; letter-spacing: .06em; opacity: .45; }

