/* =========================
   RESET
========================= */
*,
*::before,
*::after {
   margin: 0;
   padding: 0;
   box-sizing: border-box;
}

:root {
   --roxo: #4B1D6B;
   --vinho: #5B0F19;
   --dourado: #C9A227;
   --dourado-escuro: #a88418;
   --branco: #ffffff;
   --preto: #1a1a1a;
   --cinza: #6f6f6f;
   --cinza-claro: #f7f7f7;
   --borda: #ececec;
   --sombra: 0 12px 35px rgba(0, 0, 0, 0.10);
   --sombra-hover: 0 18px 40px rgba(0, 0, 0, 0.14);
   --radius: 22px;
   --container: 1180px;
}

html {
   scroll-behavior: smooth;
}

body {
   font-family: 'Poppins', sans-serif;
   background: var(--cinza-claro);
   color: var(--preto);
   line-height: 1.6;
}

img {
   max-width: 100%;
   display: block;
}

a {
   text-decoration: none;
   color: inherit;
}

section {
   width: min(100%, var(--container));
   margin: 0 auto;
   padding: 80px 24px;
}

/* Skip link */
.skip-link {
   position: absolute;
   top: -999px;
   left: 8px;
   background: var(--dourado);
   color: var(--preto);
   padding: 8px 16px;
   border-radius: 0 0 8px 8px;
   font-weight: 700;
   z-index: 9999;
}

.skip-link:focus {
   top: 0;
}

/* =========================
   TIPOGRAFIA
========================= */
h1,
h2,
h3 {
   font-family: 'Playfair Display', serif;
   line-height: 1.2;
}

h1 {
   font-size: clamp(2.2rem, 4vw, 3.4rem);
   color: var(--roxo);
}

h2 {
   font-size: clamp(1.9rem, 3vw, 2.7rem);
   color: var(--roxo);
   text-align: center;
   margin-bottom: 18px;
}

h3 {
   font-size: 1.5rem;
   color: var(--vinho);
}

.subtitulo {
   text-align: center;
   color: var(--cinza);
   max-width: 720px;
   margin: 0 auto 50px;
   font-size: 1.02rem;
}

/* =========================
   ANIMAÇÕES
========================= */
.animar {
   opacity: 0;
   transform: translateY(28px);
   transition: opacity 0.55s ease, transform 0.55s ease;
}

.animar.visivel {
   opacity: 1;
   transform: none;
}

/* =========================
   HEADER
========================= */
header {
   width: 100%;
   background: linear-gradient(90deg, var(--roxo), var(--vinho));
   box-shadow: 0 6px 24px rgba(0, 0, 0, 0.18);
   position: sticky;
   top: 0;
   z-index: 1000;
}

.header-inner {
   width: min(100%, var(--container));
   margin: 0 auto;
   min-height: 80px;
   padding: 0 24px;
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 20px;
}

.logo-area {
   flex-shrink: 0;
}

.logo-area img {
   height: 110px;
   width: auto;
   object-fit: contain;
}

/* NAV */
nav {
   display: flex;
   align-items: center;
   gap: 22px;
   flex-wrap: wrap;
   justify-content: flex-end;
}

nav a {
   color: var(--branco);
   font-weight: 600;
   font-size: 0.93rem;
   position: relative;
   transition: 0.25s ease;
   white-space: nowrap;
}

nav a::after {
   content: "";
   position: absolute;
   left: 0;
   bottom: -6px;
   width: 0;
   height: 2px;
   background: var(--dourado);
   transition: 0.3s ease;
}

nav a:hover,
nav a.ativo {
   color: #fff7d6;
}

nav a:hover::after,
nav a.ativo::after {
   width: 100%;
}

/* Hamburguer */
.menu-toggle {
   display: none;
   background: none;
   border: none;
   color: var(--branco);
   font-size: 1.5rem;
   cursor: pointer;
   padding: 8px;
   border-radius: 8px;
   transition: background 0.2s;
   flex-shrink: 0;
}

.menu-toggle:hover {
   background: rgba(255, 255, 255, 0.12);
}

/* =========================
   BOTÃO
========================= */
.botao {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   gap: 8px;
   background: var(--dourado);
   color: var(--preto);
   padding: 14px 30px;
   border-radius: 999px;
   font-weight: 700;
   font-size: 0.98rem;
   transition: 0.25s ease;
   box-shadow: 0 8px 18px rgba(201, 162, 39, 0.22);
}

.botao:hover {
   background: var(--dourado-escuro);
   transform: translateY(-2px);
}

/* =========================
   BANNER HOME
========================= */
.banner {
   width: 100%;
   max-width: 100%;
   margin: 0;
   padding: 130px 24px;
   min-height: 70vh;
   display: flex;
   align-items: center;
   justify-content: center;
   text-align: center;
   color: var(--branco);
   background: linear-gradient(rgba(75, 29, 107, 0.78), rgba(91, 15, 25, 0.72)), url("../img/banner.jpg") center/cover no-repeat;
   border-radius: 0 0 28px 28px;
}

.banner-conteudo {
   max-width: 820px;
}

.banner-topo {
   display: block;
   font-size: 1.05rem;
   font-weight: 600;
   letter-spacing: 0.04em;
   text-transform: uppercase;
   color: #f6e6ff;
   margin-bottom: 18px;
}

.banner h1 {
   color: var(--branco);
   font-size: clamp(2.4rem, 6vw, 4.4rem);
   margin-bottom: 18px;
}

.banner p {
   max-width: 760px;
   margin: 0 auto 30px;
   font-size: 1.12rem;
   color: #f7f2f9;
}

/* BANNER PÁGINAS INTERNAS */
.banner-pagina {
   width: 100%;
   max-width: 100%;
   padding: 100px 24px;
   min-height: 30vh;
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: center;
   text-align: center;
   color: var(--branco);
   background: linear-gradient(rgba(75, 29, 107, 0.85), rgba(91, 15, 25, 0.90)), url("../img/banner.jpg") center/cover no-repeat;
}

.banner-quem-somos {
  background: linear-gradient(rgba(75, 29, 107, 0.85), rgba(91, 15, 25, 0.90)), url("../img/departamentos.jpeg") center/cover no-repeat;
}

.banner-departamentos {
  background: linear-gradient(rgba(75, 29, 107, 0.85), rgba(91, 15, 25, 0.90)), url("../img/quem-somos.jpeg") center/cover no-repeat;
}

.banner-pagina h1 {
   color: var(--branco);
   margin-bottom: 10px;
}

.banner-pagina p {
   color: #f0e6ff;
   font-size: 1.05rem;
}

/* LIVE BANNER */
.live-banner {
   background: linear-gradient(90deg, var(--vinho), var(--roxo));
   color: var(--branco);
   text-align: center;
   padding: 16px 24px;
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 14px;
   flex-wrap: wrap;
}

.live-dot {
   display: inline-block;
   width: 10px;
   height: 10px;
   background: #ff3b3b;
   border-radius: 50%;
   animation: pulse 1.2s infinite;
   flex-shrink: 0;
}

@keyframes pulse {

   0%,
   100% {
      opacity: 1;
      transform: scale(1)
   }

   50% {
      opacity: 0.4;
      transform: scale(1.3)
   }
}

.live-banner span {
   font-weight: 700;
}

.live-banner a {
   background: var(--dourado);
   color: var(--preto);
   padding: 7px 20px;
   border-radius: 999px;
   font-weight: 700;
   font-size: 0.9rem;
   transition: 0.2s;
}

.live-banner a:hover {
   background: var(--dourado-escuro);
}

/* =========================
   HOME - CULTOS
========================= */
.cultos {
   text-align: center;
}

.cards-cultos {
   display: grid;
   grid-template-columns: repeat(2, minmax(260px, 320px));
   justify-content: center;
   gap: 28px;
   margin-top: 35px;
}

.card-culto {
   background: var(--branco);
   border-radius: var(--radius);
   padding: 34px 28px;
   box-shadow: var(--sombra);
   border-top: 5px solid var(--dourado);
   transition: 0.28s ease;
}

.card-culto:hover {
   transform: translateY(-6px);
   box-shadow: var(--sombra-hover);
}

.card-culto h3 {
   margin-bottom: 14px;
}

.card-culto .culto-titulo {
   font-weight: 700;
   color: var(--roxo);
   margin-bottom: 8px;
}

.card-culto .horario {
   font-size: 1.05rem;
   font-weight: 600;
   color: var(--preto);
}

/* =========================
   HOME - SOBRE
========================= */
.sobre-home {
   text-align: center;
}

.sobre-home p {
   color: var(--cinza);
   font-size: 1.05rem;
   margin-bottom: 14px;
   max-width: 820px;
   margin-left: auto;
   margin-right: auto;
}

/* =========================
   HOME - TESTEMUNHOS
========================= */
.testemunhos {
   text-align: center;
   background: linear-gradient(135deg, rgba(75, 29, 107, 0.05), rgba(91, 15, 25, 0.05));
   border-radius: 28px;
}

.testemunhos-grid {
   display: grid;
   grid-template-columns: repeat(3, minmax(220px, 1fr));
   gap: 24px;
   margin-top: 36px;
}

.testemunho-card {
   background: var(--branco);
   border-radius: var(--radius);
   padding: 28px 24px;
   text-align: left;
   box-shadow: var(--sombra);
   transition: 0.28s ease;
   border-left: 4px solid var(--dourado);
}

.testemunho-card:hover {
   transform: translateY(-5px);
   box-shadow: var(--sombra-hover);
}

.testemunho-aspas {
   font-size: 2.5rem;
   color: var(--dourado);
   line-height: 1;
   font-family: 'Playfair Display', serif;
   margin-bottom: 10px;
}

.testemunho-card p {
   color: var(--cinza);
   font-size: 0.97rem;
   margin-bottom: 16px;
   line-height: 1.7;
}

.testemunho-autor {
   font-weight: 700 !important;
   color: var(--roxo) !important;
   font-size: 0.95rem !important;
   margin-bottom: 0 !important;
}

/* =========================
   CTA
========================= */
.cta {
   text-align: center;
   background: linear-gradient(135deg, rgba(75, 29, 107, 0.08), rgba(91, 15, 25, 0.08));
   border-radius: 28px;
   padding: 70px 24px;
   margin-bottom: 30px;
}

.cta h2 {
   margin-bottom: 16px;
}

.cta p {
   max-width: 700px;
   margin: 0 auto 24px;
   color: var(--cinza);
}

/* =========================
   PÁGINA GENÉRICA
========================= */
.pagina h1 {
   text-align: center;
   margin-bottom: 10px;
}

.intro {
   text-align: center;
}

.intro p {
   max-width: 780px;
   margin: 0 auto;
   color: var(--cinza);
   font-size: 1.04rem;
}

/* =========================
   QUEM SOMOS
========================= */
.cards-institucional {
   display: grid;
   grid-template-columns: repeat(2, minmax(280px, 1fr));
   gap: 28px;
}

.card-inst {
   background: var(--branco);
   padding: 36px 30px;
   border-radius: var(--radius);
   box-shadow: var(--sombra);
   border-top: 5px solid var(--dourado);
   transition: 0.28s ease;
}

.card-inst:hover {
   transform: translateY(-6px);
   box-shadow: var(--sombra-hover);
}

.card-inst h2 {
   text-align: left;
   margin-bottom: 14px;
   font-size: 2rem;
}

.card-inst p {
   color: var(--cinza);
   margin-bottom: 10px;
}

.valores-section {
   text-align: center;
}

.grid-valores {
   display: grid;
   grid-template-columns: repeat(4, minmax(160px, 1fr));
   gap: 18px;
   margin-top: 34px;
}

.valor {
   background: var(--branco);
   padding: 24px 16px;
   border-radius: 18px;
   box-shadow: var(--sombra);
   font-weight: 600;
   font-size: 0.95rem;
   transition: 0.28s ease;
}

.valor:hover {
   transform: translateY(-5px);
   box-shadow: var(--sombra-hover);
   background: var(--roxo);
   color: var(--branco);
}

/* Líderes */
.lideres-section {
   text-align: center;
}

.lideres-grid {
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
   gap: 20px;
   margin-top: 36px;
}

.lider-card {
   background: var(--branco);
   border-radius: var(--radius);
   padding: 26px 18px;
   text-align: center;
   box-shadow: var(--sombra);
   transition: 0.28s ease;
   border-top: 4px solid var(--dourado);
}

.lider-card:hover {
   transform: translateY(-5px);
   box-shadow: var(--sombra-hover);
}

.lider-avatar {
   width: 64px;
   height: 64px;
   border-radius: 50%;
   background: linear-gradient(135deg, var(--roxo), var(--vinho));
   display: flex;
   align-items: center;
   justify-content: center;
   margin: 0 auto 14px;
   font-size: 1.5rem;
   color: var(--branco);
}

.lider-card h3 {
   font-size: 1rem;
   margin-bottom: 4px;
}

.lider-cargo {
   font-size: 0.88rem;
   color: var(--cinza);
}

/* =========================
   DEPARTAMENTOS
========================= */
.grid-deps {
   display: grid;
   grid-template-columns: repeat(3, minmax(260px, 1fr));
   gap: 28px;
}

.dep-card {
   background: var(--branco);
   padding: 30px;
   border-radius: var(--radius);
   box-shadow: var(--sombra);
   border-top: 5px solid var(--dourado);
   transition: 0.28s ease;
}

.dep-card:hover {
   transform: translateY(-6px);
   box-shadow: var(--sombra-hover);
}

.dep-card h3 {
   margin-bottom: 14px;
}

.lider {
   font-weight: 700;
   margin-bottom: 10px;
   color: var(--roxo);
}

.descricao {
   margin-top: 16px;
   color: var(--cinza);
   font-size: 0.95rem;
}

/* =========================
   AGENDA
========================= */
.agenda-grid {
   display: grid;
   grid-template-columns: repeat(3, minmax(240px, 1fr));
   gap: 28px;
}

.evento-card {
   background: var(--branco);
   padding: 30px;
   border-radius: var(--radius);
   text-align: center;
   box-shadow: var(--sombra);
   border-top: 5px solid var(--roxo);
   transition: 0.28s ease;
}

.evento-card:hover {
   transform: translateY(-6px);
   box-shadow: var(--sombra-hover);
}

.evento-card h3 {
   margin-bottom: 14px;
}

.evento-card .hora {
   font-weight: 700;
   color: var(--roxo);
   margin-bottom: 6px;
}

.evento-card p {
   margin-bottom: 4px;
}

.evento-card hr {
   margin: 16px 0;
   border: none;
   border-top: 1px solid #ece7f3;
}

.destaque {
   border-top-color: var(--dourado);
}

/* =========================
   FOTOS / GALERIA
========================= */
.galeria {
   display: grid;
   grid-template-columns: repeat(4, minmax(160px, 1fr));
   gap: 16px;
}

.galeria-item {
   position: relative;
   overflow: hidden;
   border-radius: 18px;
   box-shadow: var(--sombra);
   cursor: pointer;
}

.galeria-item img {
   width: 100%;
   height: 230px;
   object-fit: cover;
   object-position: 50% 30%;
   transition: transform 0.4s ease;
   display: block;
}

.galeria-item:hover img {
   transform: scale(1.07);
}

.galeria-overlay {
   position: absolute;
   inset: 0;
   background: rgba(75, 29, 107, 0);
   display: flex;
   align-items: center;
   justify-content: center;
   transition: background 0.3s;
}

.galeria-item:hover .galeria-overlay {
   background: rgba(75, 29, 107, 0.45);
}

.galeria-overlay i {
   color: #fff;
   font-size: 2rem;
   opacity: 0;
   transform: scale(0.7);
   transition: 0.3s;
}

.galeria-item:hover .galeria-overlay i {
   opacity: 1;
   transform: scale(1);
}

@media (max-width: 480px) {
  .galeria {
    grid-template-columns: 1fr;
  }
}

/* Lightbox */
.lightbox {
   display: none;
   position: fixed;
   inset: 0;
   background: rgba(0, 0, 0, 0.93);
   z-index: 9000;
   align-items: center;
   justify-content: center;
   padding: 20px;
}

.lightbox.ativo {
   display: flex;
}

.lightbox img {
   max-width: 90vw;
   max-height: 85vh;
   border-radius: 12px;
   object-fit: contain;
}

.lightbox-fechar {
   position: absolute;
   top: 20px;
   right: 24px;
   color: #fff;
   font-size: 2rem;
   cursor: pointer;
   background: none;
   border: none;
   padding: 8px;
   transition: transform 0.2s;
}

.lightbox-fechar:hover {
   transform: scale(1.2);
}

.lightbox-nav {
   position: absolute;
   top: 50%;
   transform: translateY(-50%);
   background: rgba(255, 255, 255, 0.12);
   color: #fff;
   border: none;
   font-size: 2rem;
   cursor: pointer;
   padding: 12px 16px;
   border-radius: 8px;
   transition: background 0.2s;
}

.lightbox-nav:hover {
   background: rgba(255, 255, 255, 0.25);
}

.lightbox-prev {
   left: 16px;
}

.lightbox-next {
   right: 16px;
}

/* =========================
   MENSAGENS / PREGAÇÕES
========================= */
.mensagens-grid {
   display: grid;
   grid-template-columns: repeat(2, minmax(280px, 1fr));
   gap: 28px;
}

.mensagem {
   background: var(--branco);
   padding: 32px 30px;
   border-radius: var(--radius);
   box-shadow: var(--sombra);
   border-top: 5px solid var(--dourado);
   transition: 0.28s ease;
}

.mensagem:hover {
   transform: translateY(-4px);
   box-shadow: var(--sombra-hover);
}

.mensagem h3 {
   margin-bottom: 10px;
}

.data {
   display: block;
   color: var(--roxo);
   font-weight: 700;
   margin-bottom: 16px;
   font-size: 0.9rem;
}

.mensagem p {
   color: var(--cinza);
   margin-bottom: 14px;
}

.mensagem-link {
   display: inline-flex;
   align-items: center;
   gap: 8px;
   color: var(--vinho);
   font-weight: 700;
   font-size: 0.92rem;
   transition: color 0.2s;
}

.mensagem-link:hover {
   color: var(--roxo);
}

.videos-section {
   text-align: center;
   margin-top: 10px;
}

.videos-grid {
   display: grid;
   grid-template-columns: repeat(2, minmax(290px, 1fr));
   gap: 24px;
   margin-top: 36px;
}

.video-card {
   background: var(--branco);
   border-radius: var(--radius);
   overflow: hidden;
   box-shadow: var(--sombra);
   transition: 0.28s ease;
}

.video-card:hover {
   transform: translateY(-4px);
   box-shadow: var(--sombra-hover);
}

.video-card iframe {
   width: 100%;
   height: 210px;
   border: none;
   display: block;
}

.video-info {
   padding: 18px 20px;
   text-align: left;
}

.video-info h3 {
   font-size: 1.05rem;
   margin-bottom: 6px;
}

/* =========================
   CONTATO
========================= */
.contato-grid {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 28px;
   align-items: start;
}

.info-contato,
.formulario {
   background: var(--branco);
   padding: 34px 30px;
   border-radius: var(--radius);
   box-shadow: var(--sombra);
}

.info-contato h2,
.formulario h2 {
   text-align: left;
   margin-bottom: 20px;
   font-size: 2rem;
}

.info-contato p {
   margin-bottom: 18px;
}

.info-contato a {
   color: var(--roxo);
   font-weight: 700;
}

.info-contato a:hover {
   color: var(--vinho);
}

form {
   display: flex;
   flex-direction: column;
   gap: 14px;
}

input,
textarea,
select {
   width: 100%;
   border: 1.5px solid var(--borda);
   border-radius: 14px;
   padding: 14px 16px;
   outline: none;
   font-family: 'Poppins', sans-serif;
   font-size: 0.97rem;
   background: #fff;
   transition: border-color 0.2s;
}

input:focus,
textarea:focus {
   border-color: var(--roxo);
}

textarea {
   min-height: 140px;
   resize: vertical;
}

button[type="submit"],
.btn-form {
   border: none;
   background: var(--dourado);
   color: var(--preto);
   padding: 15px 22px;
   border-radius: 999px;
   font-weight: 700;
   cursor: pointer;
   font-family: 'Poppins', sans-serif;
   font-size: 1rem;
   transition: 0.25s ease;
   width: 100%;
}

button[type="submit"]:hover,
.btn-form:hover {
   background: var(--dourado-escuro);
   transform: translateY(-2px);
}

.mapa {
   margin-top: 34px;
}

.mapa iframe {
   width: 100%;
   height: 360px;
   border: none;
   border-radius: var(--radius);
   box-shadow: var(--sombra);
}

/* =========================
   AÇÃO SOCIAL
========================= */
.acao-grid {
   display: grid;
   grid-template-columns: repeat(3, minmax(240px, 1fr));
   gap: 28px;
   margin-top: 40px;
}

.acao-texto {
   grid-column: 1/-1;
   text-align: center;
   max-width: 820px;
   margin: 0 auto 10px;
}

.acao-texto p {
   color: var(--cinza);
   margin-bottom: 12px;
}

.acao-box {
   background: var(--branco);
   padding: 30px;
   border-radius: var(--radius);
   box-shadow: var(--sombra);
   text-align: center;
   transition: 0.28s ease;
}

.acao-box:hover {
   transform: translateY(-5px);
   box-shadow: var(--sombra-hover);
}

.acao-box h3 {
   margin-bottom: 12px;
}

.acao-box p {
   color: var(--cinza);
   margin-bottom: 8px;
}

.acao-box.destaque {
   border-top: 5px solid var(--dourado);
}

.pix-destaque {
   background: linear-gradient(135deg, var(--roxo), var(--vinho));
   color: var(--branco);
   border-radius: var(--radius);
   padding: 34px;
   text-align: center;
   margin-top: 36px;
   box-shadow: var(--sombra);
}

.pix-destaque h3 {
   color: var(--dourado);
   margin-bottom: 12px;
}

.pix-destaque p {
   color: rgba(255, 255, 255, 0.85);
   margin-bottom: 8px;
}

.pix-chave {
   background: rgba(255, 255, 255, 0.12);
   border-radius: 12px;
   padding: 12px 24px;
   font-size: 1.1rem;
   font-weight: 700;
   color: var(--dourado);
   display: inline-block;
   margin: 12px 0;
   letter-spacing: 0.03em;
   word-break: break-all;
}

/* =========================
   DÍZIMOS
========================= */
.dizimos-hero {
   text-align: center;
   background: linear-gradient(135deg, rgba(75, 29, 107, 0.07), rgba(91, 15, 25, 0.07));
   border-radius: 28px;
}

.dizimos-hero p {
   color: var(--cinza);
   max-width: 700px;
   margin: 0 auto 30px;
   font-size: 1.04rem;
}

.dizimos-grid {
   display: grid;
   grid-template-columns: repeat(2, minmax(280px, 1fr));
   gap: 28px;
}

.dizimo-card {
   background: var(--branco);
   border-radius: var(--radius);
   padding: 36px 30px;
   box-shadow: var(--sombra);
   text-align: center;
   border-top: 5px solid var(--dourado);
   transition: 0.28s ease;
}

.dizimo-card:hover {
   transform: translateY(-5px);
   box-shadow: var(--sombra-hover);
}

.dizimo-card .icone {
   font-size: 2.4rem;
   color: var(--dourado);
   margin-bottom: 14px;
}

.dizimo-card h3 {
   margin-bottom: 14px;
}

.dizimo-card p {
   color: var(--cinza);
   margin-bottom: 10px;
}

.pix-box {
   background: linear-gradient(135deg, var(--roxo), var(--vinho));
   border-radius: 14px;
   padding: 18px;
   margin: 14px 0;
}

.pix-box p {
   color: rgba(255, 255, 255, 0.8) !important;
   font-size: 0.9rem;
   margin-bottom: 6px !important;
}

.pix-box strong {
   display: block;
   color: var(--dourado);
   font-size: 1rem;
   word-break: break-all;
   letter-spacing: 0.02em;
}

.verso-biblica {
   text-align: center;
   max-width: 700px;
   margin: 40px auto 0;
   background: var(--branco);
   border-radius: var(--radius);
   padding: 32px;
   box-shadow: var(--sombra);
   border-left: 6px solid var(--dourado);
}

.verso-biblica blockquote {
   font-family: 'Playfair Display', serif;
   font-size: 1.12rem;
   color: var(--roxo);
   font-style: italic;
   line-height: 1.7;
   margin-bottom: 10px;
}

.verso-biblica cite {
   color: var(--cinza);
   font-size: 0.92rem;
}

/* =========================
   PEDIDO DE ORAÇÃO
========================= */
.oracao-intro {
   text-align: center;
}

.oracao-intro p {
   color: var(--cinza);
   max-width: 700px;
   margin: 0 auto;
}

.oracao-form-wrap {
   max-width: 700px;
   margin: 0 auto;
   background: var(--branco);
   border-radius: var(--radius);
   padding: 40px 36px;
   box-shadow: var(--sombra);
   border-top: 5px solid var(--dourado);
}

.oracao-form-wrap h2 {
   text-align: left;
   margin-bottom: 24px;
}

/* =========================
   WHATSAPP FLUTUANTE
========================= */
.whatsapp-float {
   position: fixed;
   bottom: 28px;
   right: 28px;
   z-index: 8000;
   background: #25D366;
   color: #fff;
   width: 60px;
   height: 60px;
   border-radius: 50%;
   display: flex;
   align-items: center;
   justify-content: center;
   font-size: 1.7rem;
   box-shadow: 0 6px 24px rgba(37, 211, 102, 0.4);
   transition: transform 0.25s ease, box-shadow 0.25s ease;
   text-decoration: none;
}

.whatsapp-float:hover {
   transform: scale(1.1) translateY(-4px);
   box-shadow: 0 10px 30px rgba(37, 211, 102, 0.55);
   color: #fff;
}

.tooltip-wa {
   position: absolute;
   right: 70px;
   background: var(--preto);
   color: #fff;
   padding: 6px 12px;
   border-radius: 8px;
   font-size: 0.85rem;
   white-space: nowrap;
   opacity: 0;
   pointer-events: none;
   transition: opacity 0.2s;
}

.whatsapp-float:hover .tooltip-wa {
   opacity: 1;
}

/* =========================
   RESPONSIVO
========================= */
@media (max-width: 1100px) {
   .grid-deps {
      grid-template-columns: repeat(2, minmax(260px, 1fr));
   }

   .agenda-grid {
      grid-template-columns: repeat(2, minmax(240px, 1fr));
   }

   .galeria {
      grid-template-columns: repeat(3, minmax(160px, 1fr));
   }

   .grid-valores {
      grid-template-columns: repeat(2, minmax(160px, 1fr));
   }

   .acao-grid {
      grid-template-columns: repeat(2, minmax(240px, 1fr));
   }

   .testemunhos-grid {
      grid-template-columns: repeat(2, minmax(220px, 1fr));
   }

}

@media (max-width: 900px) {
   .menu-toggle {
      display: flex;
   }

   nav#nav-principal {
      display: none;
      flex-direction: column;
      width: 100%;
      gap: 0;
      padding-bottom: 16px;
      border-top: 1px solid rgba(255, 255, 255, 0.12);
      margin-top: 12px;
   }

   nav#nav-principal.aberto {
      display: flex;
   }

   nav#nav-principal a {
      padding: 12px 4px;
      border-bottom: 1px solid rgba(255, 255, 255, 0.08);
      font-size: 1rem;
   }

   .header-inner {
      flex-wrap: wrap;
      min-height: auto;
      padding: 14px 20px;
   }

   .cards-institucional,
   .contato-grid,
   .mensagens-grid,
   .cards-cultos,
   .dizimos-grid,
   .videos-grid {
      grid-template-columns: 1fr;
   }

   .grid-deps,
   .agenda-grid,
   .acao-grid,
   .galeria {
      grid-template-columns: 1fr 1fr;
   }

   .banner {
      min-height: auto;
      padding: 100px 24px;
   }

   .banner h1 {
      font-size: clamp(2.2rem, 7vw, 3.6rem);
   }
}

@media (max-width: 640px) {
   section {
      padding: 56px 18px;
   }

   .logo-area img {
      height: 56px;
   }

   .banner {
      padding: 80px 18px;
      border-radius: 0 0 18px 18px;
   }

   .banner h1 {
      font-size: 2rem;
   }

   .banner-pagina {
      padding: 70px 18px;
   }

   .banner-pagina h1 {
      font-size: 2rem;
   }

   .grid-deps,
   .agenda-grid,
   .galeria,
   .acao-grid,
   .grid-valores,
   .testemunhos-grid {
      grid-template-columns: 1fr;
   }

   .galeria-item img {
      height: 200px;
   }

   .card-inst,
   .dep-card,
   .evento-card,
   .mensagem,
   .acao-box,
   .info-contato,
   .formulario,
   .card-culto,
   .dizimo-card {
      padding: 24px 18px;
   }

   .info-contato h2,
   .formulario h2,
   .card-inst h2 {
      font-size: 1.7rem;
   }

   .mapa iframe {
      height: 260px;
   }

   .oracao-form-wrap {
      padding: 26px 18px;
   }


   .whatsapp-float {
      bottom: 20px;
      right: 20px;
      width: 52px;
      height: 52px;
      font-size: 1.4rem;
   }
}

/* =========================
   FOOTER NOVO (compacto)
========================= */
.footer {
   margin-top: 60px;
   background: #0f0f0f;
   font-family: 'Poppins', sans-serif;
}

.footer-main {
   display: flex;
   align-items: center;
   justify-content: space-between;
   padding: 26px 40px;
   gap: 24px;
   flex-wrap: wrap;
   border-bottom: 1px solid rgba(255, 255, 255, 0.08);
   width: min(100%, var(--container));
   margin: 0 auto;
}

.footer-brand {
   display: flex;
   align-items: center;
   gap: 14px;
   flex-shrink: 0;
}

.footer-brand-logo {
   width: 44px;
   height: 44px;
   border-radius: 50%;
   background: linear-gradient(135deg, var(--roxo), var(--vinho));
   display: flex;
   align-items: center;
   justify-content: center;
   flex-shrink: 0;
}

.footer-brand-logo i {
   color: var(--dourado);
   font-size: 1.1rem;
}

.footer-brand-name {
   font-size: 12.5px;
   font-weight: 600;
   color: var(--dourado);
   line-height: 1.35;
   max-width: 150px;
   font-family: 'Playfair Display', serif;
}

.footer-sep {
   width: 1px;
   height: 38px;
   background: rgba(255, 255, 255, 0.1);
   flex-shrink: 0;
}

.footer-info {
   display: flex;
   gap: 28px;
   flex-wrap: wrap;
   align-items: center;
}

.footer-info-item {
   display: flex;
   align-items: center;
   gap: 9px;
}

.footer-info-icon {
   width: 30px;
   height: 30px;
   border-radius: 50%;
   background: rgba(201, 162, 39, 0.10);
   display: flex;
   align-items: center;
   justify-content: center;
   flex-shrink: 0;
}

.footer-info-icon i {
   color: var(--dourado);
   font-size: 0.75rem;
}

.footer-info-text {
   font-size: 11.5px;
   color: #bbb;
   line-height: 1.5;
}

.footer-info-text strong {
   display: block;
   color: #e0e0e0;
   font-size: 10px;
   font-weight: 600;
   letter-spacing: 0.06em;
   text-transform: uppercase;
   margin-bottom: 1px;
}

.footer-socials {
   display: flex;
   gap: 9px;
   align-items: center;
   flex-shrink: 0;
}

.footer-social-btn {
   width: 36px;
   height: 36px;
   border-radius: 50%;
   border: 1px solid rgba(255, 255, 255, 0.14);
   background: transparent;
   display: flex;
   align-items: center;
   justify-content: center;
   text-decoration: none;
   transition: border-color 0.2s, background 0.2s;
}

.footer-social-btn:hover {
   background: rgba(255, 255, 255, 0.07);
   border-color: rgba(255, 255, 255, 0.3);
}

.footer-social-btn i {
   font-size: 0.85rem;
}

.footer-social-btn.wa i {
   color: #25D366;
}

.footer-social-btn.ig i {
   color: #E1306C;
}

.footer-social-btn.yt i {
   color: #FF0000;
}

.footer-bottom {
   display: flex;
   align-items: center;
   justify-content: space-between;
   padding: 13px 40px;
   flex-wrap: wrap;
   gap: 6px;
   width: min(100%, var(--container));
   margin: 0 auto;
}

.footer-copy {
   font-size: 11px;
   color: #505050;
}

.footer-dev {
   font-size: 11px;
   color: #505050;
}

.footer-dev strong {
   color: var(--dourado);
}

@media (max-width: 900px) {
   .footer-main {
      padding: 22px 28px;
      gap: 18px;
   }

   .footer-sep {
      display: none;
   }

   .footer-bottom {
      padding: 12px 28px;
   }
}

@media (max-width: 640px) {
   .footer-main {
      padding: 20px 18px;
      flex-direction: column;
      align-items: flex-start;
   }

   .footer-info {
      gap: 16px;
   }

   .footer-bottom {
      padding: 12px 18px;
      flex-direction: column;
      align-items: center;
      text-align: center;
   }

   .footer-socials {
      align-self: flex-start;
   }
}
