/* =====================================================================
   V35 — correções solicitadas (Ministério Manassés)
   Carregado por último em todas as páginas principais.
   ===================================================================== */

/* ---------- 1. Transição hero → galeria: somente a onda, sem linha reta ---------- */
html{background:#04170f}
body{background:#04170f}
main{background:transparent}
.wave-sep{
  margin-bottom:-1px!important;
  border:0!important;box-shadow:none!important;outline:0!important;
  background:transparent!important;overflow:hidden;
}
.wave-sep svg{display:block!important;width:100%;height:100%;border:0!important;outline:0!important;shape-rendering:geometricPrecision}
.wave-sep svg path{stroke:none!important}
.gallery-home-v8,.experience-v7,.cells-v7,.gallery-page-band{border-top:0!important;box-shadow:none!important}
.gallery-home-v8::before{content:none!important}

/* ---------- 2. Janela de pesquisa: menor, com rolagem própria ---------- */
body.search-open{overflow:hidden}
.site-search-card{
  width:min(540px,calc(100% - 28px))!important;
  max-height:min(74vh,620px)!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch;
  margin:10vh auto 0!important;
  padding:24px 22px!important;
}
.site-search-card h2{font-size:30px!important;margin:10px 0 12px!important}
.site-search-results{
  max-height:44vh;overflow-y:auto;overscroll-behavior:contain;
  display:grid;gap:8px;margin-top:12px;padding-right:2px;
}
.site-search-results::-webkit-scrollbar{width:8px}
.site-search-results::-webkit-scrollbar-thumb{background:#c3ddd0;border-radius:8px}
.site-search-group{grid-column:1/-1;font-size:9px;font-weight:900;letter-spacing:.16em;color:#08743c;margin-top:4px}
.search-content-hit{display:block;padding:11px 13px;border:1px solid #dbe9e0;border-radius:14px;background:#fff;color:#122019;transition:.18s}
.search-content-hit:hover{border-color:#8be6b1;transform:translateX(2px)}
.search-content-hit strong{display:block;font-size:12.5px;color:#082719}
.search-content-hit small{display:block;color:#6b7a71;font-size:11px;line-height:1.55;margin-top:3px}
.search-content-hit mark{background:rgba(37,217,120,.22);color:#08361f;padding:0 2px;border-radius:3px}

/* ---------- 3. Bíblia devocional: mobile = mesma geometria do desktop, sem filtros ---------- */
/* Filtros de tema SOMENTE no celular (o computador mantém). */
@media(max-width:760px){
  .theme-picker-v7{display:none!important}
  .devotional-v7-intro{display:block!important}
  .biblia-card{padding:16px 12px 14px!important}
  /* O livro inteiro, do tamanho exato da tela: escala aplicada na caixa inteira. */
  .biblia-stage{
    width:100%;min-width:0;overflow:hidden!important;
    display:grid!important;place-items:center!important;
    min-height:calc(360px * var(--bs,.5) + 26px)!important;
    height:auto!important;padding:10px 0 12px!important;
  }
  .biblia-persp{
    width:calc(520px * var(--bs,.5))!important;
    height:calc(360px * var(--bs,.5))!important;
    transform:none!important;
    overflow:visible!important;position:relative!important;display:block!important;
  }
  .biblia-scale{
    position:absolute!important;left:0!important;top:0!important;
    width:520px!important;height:360px!important;
    transform:scale(var(--bs,.5))!important;transform-origin:top left!important;
    margin:0!important;
  }
}
/* Segurança: em telas muito estreitas a escala usa a variável calculada pelo JS. */
@media(max-width:420px){
  .biblia-card{padding:14px 10px 12px!important}
}

/* ---------- 4. Botões: sem seta, com brilho neon suave no hover ---------- */
.button{transition:transform .22s ease,box-shadow .22s ease,filter .22s ease,background .22s ease}
.button:hover{transform:translateY(-2px)}
.button span{display:none!important}
.course-cta span{display:none!important}
.button-gold:hover{
  box-shadow:0 0 0 3px rgba(37,217,120,.16),0 0 26px rgba(37,217,120,.5),0 14px 34px rgba(25,220,111,.32)!important;
  filter:brightness(1.06);
}
.button-glass:hover{box-shadow:0 0 22px rgba(255,255,255,.28)}
.button-neon:hover,.biblia-card .button-neon:hover{
  box-shadow:0 0 0 3px rgba(46,232,127,.18),0 0 30px rgba(46,232,127,.55),0 12px 30px rgba(24,190,102,.4)!important;
}
.button-dark:hover{box-shadow:0 0 24px rgba(15,158,82,.35)}
.button-outline-neon:hover{box-shadow:0 0 22px rgba(46,232,127,.35)}

/* ---------- 5. Cursos: foto no Estudo Bíblico e brasão na Escola de Líderes ---------- */
.course-media{
  display:grid;place-items:center;height:170px;overflow:hidden;
  border-radius:16px;margin-bottom:8px;background:#eef6f0;
}
.course-media img{width:100%;height:100%;object-fit:cover;display:block}
.course-media .course-media-logo{
  width:auto;height:auto;max-width:62%;max-height:72%;
  object-fit:contain;padding:0;
  filter:drop-shadow(0 8px 18px rgba(0,0,0,.35));
}
.course-card-featured .course-media{background:radial-gradient(ellipse at 50% 30%,rgba(37,217,120,.22),transparent 70%),linear-gradient(150deg,#062b1a,#03150d)}
.course-card-featured .course-media img{border:0}
@media(max-width:760px){.course-media{height:150px}}

/* ---------- 6. Quem somos: liderança com fotos e valores redesenhados ---------- */
.leadership-photo-v7{
  aspect-ratio:1/1;border-radius:18px;overflow:hidden;
  background:linear-gradient(135deg,#082719,#0f9e52);
  display:grid;place-items:center;
}
.leadership-photo-v7 img{width:100%;height:100%;object-fit:cover;object-position:center 22%;display:block}
.leadership-note{font-size:10.5px;color:#8b9a91;letter-spacing:.04em;margin-top:8px;display:block}

.values-section .values-grid{
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;border:0!important;background:transparent!important;
}
.values-section .value-card{
  position:relative;min-height:0;padding:34px 30px 32px;
  border-radius:24px;overflow:hidden;
  background:linear-gradient(160deg,rgba(255,255,255,.07),rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.14)!important;
  box-shadow:0 20px 50px rgba(1,16,9,.35);
  transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;
}
.values-section .value-card:hover{
  transform:translateY(-6px);
  border-color:rgba(37,217,120,.55)!important;
  box-shadow:0 28px 64px rgba(1,16,9,.45),0 0 30px rgba(37,217,120,.18);
}
.values-section .value-card::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:3px;
  background:linear-gradient(180deg,var(--v31-green-2,#25d978),rgba(37,217,120,0));
}
.values-section .value-mark{
  width:58px;height:58px;margin:0 0 18px;display:grid;place-items:center;
  border-radius:16px;font-size:26px;
  background:rgba(37,217,120,.14);
  border:1px solid rgba(37,217,120,.35);
  color:var(--gold,#d9c49f);
}
.values-section .value-number{display:block;margin-bottom:14px;opacity:.8}
.values-section .value-card h3{font-size:24px;margin:0 0 10px}
.values-section .value-card p{color:#c4d3ca;font-size:13.5px;line-height:1.75;max-width:none}
@media(max-width:880px){
  .values-section .values-grid{grid-template-columns:1fr}
}

/* ---------- 7. Slot de mídia: foto pode virar vídeo em qualquer lugar ---------- */
.media-video-slot{width:100%;height:100%;object-fit:cover;display:block;background:#04170f}

/* =====================================================================
   V36 — ajustes pedidos
   ===================================================================== */

/* ---------- Galeria: foto/vídeo em pé ganha fundo desfocado (marca d'água da própria imagem) ---------- */
.gallery-media-v8{position:relative;background:#04170f}
.gallery-media-v8 > .gallery-blur-bg{
  position:absolute!important;left:-34px!important;top:-34px!important;
  width:calc(100% + 68px)!important;height:calc(100% + 68px)!important;
  object-fit:cover!important;object-position:center!important;
  filter:blur(26px) brightness(.62) saturate(1.15);
  transform:none!important;pointer-events:none!important;cursor:default!important;
  z-index:0;background:transparent!important;
}
.gallery-media-v8 > img:not(.gallery-blur-bg),
.gallery-media-v8 > video{position:relative;z-index:1;background:transparent!important}

/* ---------- Linha reta sob a onda do início: o brilho da galeria não encosta mais na borda ---------- */
.gallery-home-v8{
  background:
    radial-gradient(closest-side, rgba(37,217,120,.13), rgba(37,217,120,0)) no-repeat 92% 55% / 70% 70%,
    linear-gradient(#04170f,#031309)!important;
}

/* ---------- Faixas claras: texto escuro (antes ficava branco sobre verde clarinho) ---------- */
.soft-section .section-heading-light h2{color:#082719!important}
.soft-section .section-heading-light>p{color:#3f5a4c!important}
.soft-section .section-heading-light .eyebrow{color:#0a7a3e!important}

/* ---------- Quem somos: essência (cores proporcionais) ---------- */
.essence-v36{background:linear-gradient(180deg,#04170f,#062417)!important}
.essence-v36 .story-grid{display:grid;grid-template-columns:1.02fr 1fr;gap:clamp(34px,6vw,84px);align-items:center}
.essence-v36 .eyebrow{color:#41e08f!important}
.essence-v36 .story-copy h2{color:#fff!important;margin:18px 0 22px}
.essence-v36 .story-copy h2 em{color:#41e08f!important;font-style:italic}
.essence-v36 .story-copy p{color:rgba(255,255,255,.80)!important;font-size:17px;line-height:1.75;max-width:520px}
.essence-photo-v36{position:relative;border-radius:24px;overflow:hidden;border:1px solid rgba(255,255,255,.12);box-shadow:0 30px 70px rgba(0,0,0,.45)}
.essence-photo-v36::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(2,18,10,.55));pointer-events:none}
.essence-photo-v36 img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;box-shadow:none}
@media(max-width:820px){.essence-v36 .story-grid{grid-template-columns:1fr}.essence-v36 .story-copy p{font-size:16px}}

/* ---------- Quem somos: pastores (card único) ---------- */
.pastors-v36{max-width:980px;margin:34px auto 0}
.pastors-photo-v36{margin:0;border-radius:26px;overflow:hidden;box-shadow:0 28px 64px rgba(2,30,16,.28);background:#04170f}
.pastors-photo-v36 img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;object-position:center 25%}
.pastors-text-v36{position:relative;width:min(88%,760px);margin:-70px auto 0;padding:30px 36px 32px;border-radius:22px;background:#fff;border:1px solid #d8e9df;box-shadow:0 22px 50px rgba(2,30,16,.16);text-align:center}
.pastors-text-v36 .eyebrow{justify-content:center}
.pastors-text-v36 h3{margin:8px 0 10px;color:#082719;font-family:var(--serif);font-size:clamp(26px,3.4vw,34px);line-height:1.1}
.pastors-text-v36 p{margin:0 auto;max-width:600px;color:#4a5f54;font-size:16px;line-height:1.75}
@media(max-width:620px){.pastors-text-v36{width:calc(100% - 24px);margin-top:-44px;padding:22px 20px 24px}}
.leadership-section .section-heading{text-align:center;margin-inline:auto}
.leadership-section .section-heading .eyebrow{justify-content:center}
@media(max-width:620px){.pastors-photo-v36 img{aspect-ratio:1/1;object-position:center 30%}.pastors-text-v36{margin-top:-34px}}


/* =====================================================================
   V38 — contato conforme a referência e rodapé compacto em duas colunas
   Desktop preservado; os ajustes de rodapé abaixo são exclusivos de mobile.
   ===================================================================== */

/* Página Contato: fundo, tipografia e cartão Instagram conforme o print. */
.contact-main-v37{
  background:#03150d!important;
  color:#fff!important;
  padding:42px 0 46px!important;
}
.contact-main-v37 > .wrap{
  width:min(864px,calc(100% - 56px));
}
.contact-main-v37 .contact-layout{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 336px!important;
  gap:clamp(52px,7.8vw,82px)!important;
  align-items:center!important;
}
.contact-main-v37 .contact-copy{min-width:0}
.contact-main-v37 .contact-copy .eyebrow{
  color:#35d98a!important;
  font-size:8px!important;
  letter-spacing:.23em!important;
  gap:11px;
}
.contact-main-v37 .contact-copy .eyebrow:before{width:20px}
.contact-main-v37 .contact-copy h2{
  color:#f7f7f3!important;
  font-family:var(--serif)!important;
  font-size:clamp(44px,5.2vw,58px)!important;
  font-weight:400!important;
  letter-spacing:-.045em!important;
  line-height:1.04!important;
  margin:18px 0 16px!important;
}
.contact-main-v37 .contact-copy h2 em{
  color:#39dd91!important;
  font-style:italic!important;
  font-weight:400!important;
}
.contact-main-v37 .contact-copy p{
  max-width:390px!important;
  margin:0!important;
  color:rgba(229,238,232,.66)!important;
  font-size:11.5px!important;
  line-height:1.95!important;
}
.contact-card-v37{min-width:0;width:100%}
.instagram-cta-v37{
  width:100%;
  min-height:202px;
  padding:24px 18px 22px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:13px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:21px;
  background:linear-gradient(112deg,#ffb83d 0%,#ff674e 30%,#df3479 61%,#7547d2 100%);
  color:#fff!important;
  text-align:center;
  text-decoration:none!important;
  box-shadow:0 18px 42px rgba(0,0,0,.14);
  transition:transform .22s ease,box-shadow .22s ease,filter .22s ease;
}
.instagram-cta-v37:hover,
.instagram-cta-v37:focus-visible{
  transform:translateY(-3px);
  box-shadow:0 22px 48px rgba(0,0,0,.22);
  filter:saturate(1.06);
}
.instagram-cta-v37:focus-visible{outline:2px solid #fff;outline-offset:4px}
.instagram-cta-icon-v37{
  width:64px;height:64px;flex:0 0 64px;
  display:grid;place-items:center;
  border:1px solid rgba(255,255,255,.72);
  border-radius:17px;
  color:#fff;
}
.instagram-cta-icon-v37 svg{display:block;width:31px;height:31px}
.instagram-cta-v37>b{
  color:#fff!important;
  font-family:var(--serif)!important;
  font-size:20px!important;
  font-weight:600!important;
  line-height:1.18!important;
  letter-spacing:-.025em;
}
.instagram-cta-v37>small{
  color:#fff!important;
  font-size:9px!important;
  font-weight:800!important;
  line-height:1.4;
  letter-spacing:.1em;
  text-transform:uppercase;
}

@media(min-width:761px){.contact-card-v37{transform:translateX(18px)}}

/* Texto da liderança: espaçamento entre os dois parágrafos. */
.pastors-text-v36 p+p{margin-top:12px}

/* Rodapé mobile: quatro blocos distribuídos em duas colunas, sem mudar desktop. */
@media(max-width:760px){
  .footer-main-v7{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:26px 16px!important;
    padding:42px 0 28px!important;
  }
  .footer-brand-v7,.footer-column-v7,.footer-invite-v7{min-width:0}
  .footer-brand-v7 img{width:54px!important;height:60px!important}
  .footer-brand-v7 p{font-size:12px!important;line-height:1.6!important;margin:8px 0 0!important}
  .footer-column-v7>span{
    font-size:8px!important;
    line-height:1.4;
    letter-spacing:.13em!important;
    margin-bottom:12px!important;
  }
  .footer-column-v7 a,.footer-invite-v7 a{
    font-size:11px!important;
    line-height:1.5!important;
    margin:7px 0!important;
    overflow-wrap:anywhere;
  }
  .footer-invite-v7 .eyebrow{font-size:8px!important;letter-spacing:.12em!important;gap:6px}
  .footer-invite-v7 .eyebrow:before{width:14px;flex:0 0 14px}
  .footer-invite-v7 h2{font-size:21px!important;line-height:1.16!important;margin:10px 0!important;letter-spacing:-.025em}
  .footer-bottom-v7{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    align-items:center!important;
    gap:8px 12px!important;
    padding:14px 0!important;
    font-size:9px!important;
    line-height:1.5!important;
  }
  .footer-bottom-v7>span{min-width:0}
  .footer-bottom-v7>span:nth-child(2){text-align:right}
  .footer-bottom-v7 .admin-access{grid-column:2;justify-self:end;margin-top:-3px}
}

/* No celular, o cartão permanece destacado, mas ocupa a largura disponível. */
@media(max-width:760px){
  .contact-main-v37{padding:50px 0 46px!important}
  .contact-main-v37 > .wrap{width:calc(100% - 36px)}
  .contact-main-v37 .contact-layout{
    grid-template-columns:minmax(0,1fr)!important;
    gap:26px!important;
  }
  .contact-main-v37 .contact-copy h2{font-size:clamp(40px,10vw,51px)!important}
  .contact-main-v37 .contact-copy p{font-size:13px!important;line-height:1.8!important;max-width:470px!important}
  .instagram-cta-v37{min-height:190px;border-radius:20px;gap:12px}
}
@media(max-width:380px){
  .footer-main-v7{column-gap:12px!important;row-gap:22px!important}
  .footer-column-v7 a,.footer-invite-v7 a{font-size:10.5px!important}
  .footer-invite-v7 h2{font-size:19px!important}
  .instagram-cta-v37>b{font-size:19px!important}
}

/* Ajustes finais solicitados: verde igual à identidade principal e acesso admin no padrão Kids. */
body:has(#celulas) .cells-v7,
#celulas.cells-v7,
.cells-v7 {
  background: #082719 !important;
  background-image: none !important;
  color: #fff !important;
}
#celulas .cells-head .eyebrow,
#celulas .cells-head h2,
#celulas .cells-head h2 em,
#celulas .cells-head > p { color: inherit !important; }
#celulas .cells-head h2 em { color: #08ad55 !important; }

/* O ponto administrativo fica centralizado no rodapé, discreto como na Área Kids. */
.footer-bottom-v7 { position: relative !important; padding-bottom: 28px !important; }
.footer-bottom-v7 .admin-dot {
  position: absolute !important;
  left: 50% !important;
  bottom: 7px !important;
  transform: translateX(-50%) !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: transparent !important;
  color: transparent !important;
  font-size: 0 !important;
  opacity: .72 !important;
  cursor: pointer !important;
  z-index: 2;
}
.footer-bottom-v7 .admin-dot::before { content: ""; display: block; width: 3px; height: 3px; margin: auto; border-radius: 50%; background: #5e6f65; }
.footer-bottom-v7 .admin-dot:hover,
.footer-bottom-v7 .admin-dot:focus-visible { opacity: 1 !important; outline: none !important; }
.footer-bottom-v7 .admin-dot:hover::before,
.footer-bottom-v7 .admin-dot:focus-visible::before { background: #9ba9a0; width: 4px; height: 4px; }

/* Modal de Testemunhos: reproduz a estrutura centralizada do modal Kids. */
#testimonials-admin.modal {
  position: fixed !important; inset: 0 !important; z-index: 99999 !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  padding: 20px !important; box-sizing: border-box !important;
}
#testimonials-admin.modal[hidden] { display: none !important; }
#testimonials-admin .modal-backdrop { position: absolute !important; inset: 0 !important; }
#testimonials-admin .modal-card { position: relative !important; margin: 0 !important; box-sizing: border-box !important; }
#testimonials-admin .modal-backdrop { background: rgba(2,10,7,.74); backdrop-filter: blur(3px); }
#testimonials-admin .modal-card {
  width: min(600px,100%);
  max-height: 88vh;
  overflow: auto;
  background: #fff;
  border-radius: 24px;
  padding: 30px 26px 26px;
  box-shadow: 0 30px 90px rgba(0,0,0,.4);
  animation: modal-pop .2s ease;
  color: #122019;
}
#testimonials-admin .modal-close {
  position: absolute; top: 14px; right: 14px; width: 36px; height: 36px;
  border-radius: 50%; border: 1px solid #dfe9e3; background: #f4f8f5;
  color: #122019; font-size: 14px; cursor: pointer;
}
#testimonials-admin h3 { font-family: "Fredoka",sans-serif; font-weight: 600; font-size: 23px; margin: 6px 0 16px; }
#testimonials-admin .form-grid { display: grid; gap: 12px; }
#testimonials-admin .form-grid label { font-size: 12px; font-weight: 900; color: #0b2f1e; display: block; margin-bottom: 5px; letter-spacing: .3px; }
#testimonials-admin .form-grid input,
#testimonials-admin .form-grid select {
  width: 100%; min-height: 48px; padding: 0 14px; border: 2px solid #dfe9e3;
  border-radius: 13px; font: inherit; font-size: 14px; background: #f4f8f5; color: #122019;
}
#testimonials-admin .form-grid input:focus,
#testimonials-admin .form-grid select:focus { outline: 0; border-color: #08ad55; background: #fff; }
#testimonials-admin .admin-status { min-height: 20px; font-size: 13px; font-weight: 800; margin: 10px 0 0; }
#testimonials-admin .admin-status.error { color: #d6336c; }
#testimonials-admin .admin-status.success { color: #08743c; }
#testimonials-admin .testimonials-admin-history { margin-top: 22px; }
#testimonials-admin .testimonials-admin-history h4 { margin: 0 0 10px; color: #0b2f1e; font-size: 16px; }
#testimonials-admin .testimonials-admin-history-list { display: grid; gap: 9px; max-height: 220px; overflow-y: auto; padding-right: 3px; }
#testimonials-admin .testimonials-admin-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px; border: 1px solid #dfe9e3; border-radius: 13px; background: #f8fbf9; }
#testimonials-admin .testimonials-admin-row strong { display: block; color: #173c2a; font-size: 13px; overflow-wrap: anywhere; }
#testimonials-admin .testimonials-admin-row small { display: block; color: #66766e; font-size: 11px; margin-top: 3px; }
#testimonials-admin .testimonials-delete { flex: 0 0 auto; border: 1px solid #efc9ce; border-radius: 10px; background: #fff7f7; color: #a52235; font-size: 11px; font-weight: 800; padding: 9px 10px; cursor: pointer; }
#testimonials-admin .testimonials-delete:hover { background: #ffe9eb; }
#testimonials-admin .admin-destination-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin-top: 22px; }
#testimonials-admin .admin-destination-btn {
  display: flex; flex-direction: column; align-items: flex-start; gap: 7px; min-height: 110px;
  padding: 18px; border: 1px solid #dfe9e3; border-radius: 14px; background: #fbfdfc;
  color: #0b2f1e; text-align: left; cursor: pointer; transition: .2s ease; text-decoration: none;
}
#testimonials-admin .admin-destination-btn strong { font-size: 13px; letter-spacing: .3px; }
#testimonials-admin .admin-destination-btn span { color: #66766e; font-size: 12px; line-height: 1.45; }
#testimonials-admin .admin-destination-btn:hover { transform: translateY(-2px); border-color: #08ad55; box-shadow: 0 12px 28px rgba(3,50,27,.1); background: #f5fcf7; }
#testimonials-admin .admin-destination-kids:hover { border-color: #d8781d; background: #fff8ed; }
@media(max-width:620px) { #testimonials-admin.modal { padding: 12px !important; } #testimonials-admin .modal-card { width: 100%; max-height: 90dvh; padding: 27px 20px 22px; } #testimonials-admin .admin-destination-grid { grid-template-columns: 1fr; } #testimonials-admin .testimonials-admin-row { align-items: flex-start; } }
@keyframes modal-pop { from { transform: scale(.94); opacity: 0; } to { transform: scale(1); opacity: 1; } }

/* Administração de testemunhos e histórico Kids: edição e ordenação. */
.testimonials-admin-row { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px; border:1px solid #dfe8e2; border-radius:12px; margin:8px 0; background:#fff; }
.testimonials-admin-info { min-width:0; display:flex; flex-direction:column; gap:4px; overflow-wrap:anywhere; }
.testimonials-admin-info strong { color:#173c2a; font-size:14px; }
.testimonials-admin-info small { color:#68766d; font-size:12px; }
.testimonials-admin-actions,.kids-history-actions { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:5px; flex-shrink:0; }
.testimonials-admin-actions button { border:1px solid #d5e1d8; border-radius:8px; padding:7px 9px; background:#f8fbf9; color:#173c2a; font-size:10px; font-weight:700; cursor:pointer; }
.testimonials-admin-actions button:disabled,.kids-history-actions button:disabled { opacity:.35; cursor:not-allowed; }
.history-card-admin { align-items:center; }
.history-card-info { min-width:0; display:flex; flex-direction:column; gap:4px; overflow-wrap:anywhere; }
.kids-history-actions .btn { min-height:30px; padding:5px 7px; font-size:9px; }
#testimonials-admin .modal-card { max-height:calc(100dvh - 32px) !important; overflow-y:auto !important; overscroll-behavior:contain; }
#testimonials-admin .testimonials-admin-history-list { max-height:320px; overflow-y:auto; }

/* Rodapé: copyright centralizado em todas as páginas que usam o rodapé v7.
   Na página Testemunhos, o ponto administrativo fica imediatamente ao lado do copyright. */
.footer-bottom-v7 { display:flex !important; align-items:center !important; justify-content:center !important; gap:7px !important; position:relative !important; padding:14px 0 !important; min-height:44px; }
.footer-bottom-v7 > span:first-child { order:1; text-align:center !important; }
.footer-bottom-v7 > span:nth-child(2) { position:absolute !important; right:0 !important; text-align:right !important; }
.footer-bottom-v7 .admin-dot { position:static !important; order:2; transform:none !important; display:inline-flex !important; align-items:center !important; justify-content:center !important; width:12px !important; height:16px !important; min-width:12px !important; padding:0 !important; margin:0 !important; opacity:.72 !important; }
.footer-bottom-v7 .admin-dot::before { width:3px !important; height:3px !important; }
@media(max-width:760px) {
  .footer-bottom-v7 { display:flex !important; flex-wrap:wrap !important; justify-content:center !important; gap:5px 7px !important; padding:14px 0 !important; }
  .footer-bottom-v7 > span:first-child { flex:0 1 auto !important; text-align:center !important; }
  .footer-bottom-v7 > span:nth-child(2) { position:static !important; flex:1 0 100% !important; order:3; text-align:center !important; }
  .footer-bottom-v7 .admin-dot { position:static !important; order:2; margin:0 !important; }
}


/* Testemunhos: cards de mídia em proporção uniforme e visualização ampliada dentro do site. */
.testimonial-media { aspect-ratio: 1.15 !important; min-height: 0 !important; overflow: hidden; position: relative; background: #06150e; }
.testimonial-media > iframe, .testimonial-media > video, .testimonial-media > img { position:absolute !important; inset:0 !important; width:100% !important; height:100% !important; min-height:0 !important; border:0 !important; }
.testimonial-media > img { object-fit:cover; cursor:zoom-in; }
.testimonial-media > video { object-fit:contain; }
.testimonial-expand { position:absolute; right:9px; bottom:9px; z-index:5; border:1px solid rgba(255,255,255,.65); border-radius:999px; padding:8px 11px; background:rgba(2,21,13,.88); color:#fff; font-size:11px; font-weight:800; cursor:pointer; box-shadow:0 4px 15px rgba(0,0,0,.25); }
.testimonial-expand:hover { background:#08743c; }
.testimonials-media-lightbox[hidden] { display:none !important; }
.testimonials-media-lightbox { position:fixed; inset:0; z-index:9999; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; padding:56px 20px 24px; box-sizing:border-box; background:rgba(1,8,5,.94); }
.testimonials-lightbox-content { width:min(1100px,94vw); height:min(76vh,760px); display:flex; align-items:center; justify-content:center; background:#000; border-radius:14px; overflow:hidden; box-shadow:0 25px 90px rgba(0,0,0,.55); }
.testimonials-lightbox-content img, .testimonials-lightbox-content video { max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain; }
.testimonials-lightbox-content iframe { width:100%; height:100%; border:0; background:#000; }
.testimonials-lightbox-close { position:absolute; top:15px; right:18px; width:42px; height:42px; border-radius:50%; border:1px solid rgba(255,255,255,.45); background:rgba(9,32,20,.9); color:#fff; font-size:27px; cursor:pointer; }
.testimonials-lightbox-title { margin:0; max-width:90vw; color:#fff; text-align:center; font-size:14px; }
@media(max-width:600px) { .testimonials-media-lightbox { padding:58px 10px 18px; } .testimonials-lightbox-content { width:96vw; height:72vh; border-radius:9px; } .testimonial-expand { font-size:10px; padding:7px 9px; } }


/* Células: contraste consistente para os títulos e o link de ajuda. */
body.gcs-page .cells-v7 .cells-head h2 { color:#fff !important; }
body.gcs-page .cells-v7 .cells-head h2 em { color:#e6c171 !important; }
body.gcs-page .cells-v7 .cells-head > p { color:rgba(255,255,255,.82) !important; }
body.gcs-page .cells-v7 > section.section-space { background:#fff !important; color:#082719 !important; }
body.gcs-page .cells-v7 .story-copy h2 { color:#082719 !important; }
body.gcs-page .cells-v7 .story-copy h2 em { color:#087a43 !important; }
body.gcs-page .cells-v7 .welcome-grid h2 { color:#082719 !important; }
body.gcs-page .cells-v7 .welcome-grid h2 em { color:#087a43 !important; }
body.gcs-page .cells-v7 .welcome-copy p { color:#43534a !important; }
body.gcs-page .cells-v7 .welcome-copy .text-link,
body.gcs-page .cells-v7 .welcome-copy .text-link span { color:#075b32 !important; }

/* Ampliação no próprio player, sem recriar vídeo ou duplicar o áudio. */
body.testimonial-media-open { overflow:hidden !important; }
.testimonial-media.is-expanded {
  position:fixed !important; left:3vw !important; top:9vh !important;
  width:94vw !important; height:78vh !important; max-width:none !important;
  aspect-ratio:auto !important; min-height:0 !important; z-index:10000 !important;
  overflow:hidden !important; border-radius:12px !important;
  background:#000 !important; box-shadow:0 0 0 100vmax rgba(1,8,5,.94),0 25px 90px rgba(0,0,0,.65) !important;
}
.testimonial-media.is-expanded > iframe,
.testimonial-media.is-expanded > video,
.testimonial-media.is-expanded > img { width:100% !important; height:100% !important; object-fit:contain !important; }
.testimonial-media.is-expanded > .testimonial-expand { display:none !important; }
.testimonial-expanded-close { position:fixed; top:2vh; right:3vw; z-index:10002; width:42px; height:42px; border:1px solid rgba(255,255,255,.55); border-radius:50%; background:#082719; color:#fff; font-size:28px; line-height:1; cursor:pointer; }
.testimonial-expanded-title { position:fixed; left:5vw; right:5vw; bottom:2vh; z-index:10002; margin:0; color:#fff; text-align:center; font-size:14px; text-shadow:0 2px 10px #000; pointer-events:none; }
@media(max-width:600px) { .testimonial-media.is-expanded { left:2vw !important; top:13vh !important; width:96vw !important; height:68vh !important; border-radius:8px !important; } .testimonial-expanded-close { top:4vh; right:4vw; } .testimonial-expanded-title { bottom:7vh; font-size:12px; } }


/* Testemunhos v51: overlay isolado do layout para evitar repintura/travamento. */
.testimonial-viewer-overlay { position:fixed !important; inset:0 !important; z-index:2147483000 !important; display:flex !important; flex-direction:column !important; align-items:center !important; justify-content:center !important; gap:12px !important; padding:58px 18px 26px !important; box-sizing:border-box !important; background:rgba(1,8,5,.96) !important; isolation:isolate !important; }
.testimonial-viewer-overlay .testimonial-media { position:relative !important; flex:0 1 auto !important; width:min(1100px,94vw) !important; height:min(74vh,760px) !important; max-width:none !important; min-height:0 !important; aspect-ratio:auto !important; overflow:hidden !important; border-radius:12px !important; background:#000 !important; box-shadow:0 18px 65px rgba(0,0,0,.5) !important; }
.testimonial-viewer-overlay .testimonial-media > iframe, .testimonial-viewer-overlay .testimonial-media > video, .testimonial-viewer-overlay .testimonial-media > img { position:absolute !important; inset:0 !important; width:100% !important; height:100% !important; max-width:100% !important; max-height:100% !important; object-fit:contain !important; }
.testimonial-viewer-overlay .testimonial-expand { display:none !important; }
.testimonial-viewer-overlay .testimonial-expanded-close { position:fixed !important; top:14px !important; right:18px !important; z-index:2147483002 !important; width:44px !important; height:44px !important; border:1px solid rgba(255,255,255,.6) !important; border-radius:50% !important; background:#08743c !important; color:#fff !important; font-size:28px !important; cursor:pointer !important; }
.testimonial-viewer-overlay .testimonial-expanded-title { position:static !important; max-width:90vw !important; margin:0 !important; color:#fff !important; text-align:center !important; font-size:14px !important; }
body.testimonial-media-open { overflow:hidden !important; }
/* Botão da galeria: contraste e proporção consistentes no desktop e celular. */
.gallery-see-all-v8 { display:inline-flex !important; align-items:center !important; justify-content:center !important; gap:9px !important; padding:12px 20px !important; min-height:44px !important; box-sizing:border-box !important; border:1px solid #d7b45c !important; border-radius:999px !important; background:#0b5b36 !important; color:#fff !important; text-decoration:none !important; box-shadow:0 7px 20px rgba(4,45,24,.13) !important; transition:background .2s ease, transform .2s ease !important; }
.gallery-see-all-v8:hover { background:#087a43 !important; color:#fff !important; transform:translateY(-2px) !important; }
@media(max-width:600px) { .testimonial-viewer-overlay { padding:62px 8px 20px !important; gap:10px !important; } .testimonial-viewer-overlay .testimonial-media { width:96vw !important; height:70vh !important; border-radius:8px !important; } .testimonial-viewer-overlay .testimonial-expanded-close { top:10px !important; right:10px !important; } .gallery-see-all-v8 { padding:11px 16px !important; font-size:11px !important; white-space:normal !important; text-align:center !important; } }


/* Ajuste pontual: seções finais da página Célula */
body.gcs-page .cells-intro-v7,
body.gcs-page .cells-how-v7 {
  background: #fff !important;
  color: #082719 !important;
  position: relative;
}
body.gcs-page .cells-intro-v7 .story-copy .eyebrow,
body.gcs-page .cells-how-v7 .eyebrow { color: #087a43 !important; }
body.gcs-page .cells-intro-v7 .story-copy h2,
body.gcs-page .cells-how-v7 .welcome-grid h2 { color: #082719 !important; }
body.gcs-page .cells-intro-v7 .story-copy h2 em,
body.gcs-page .cells-how-v7 .welcome-grid h2 em { color: #087a43 !important; }
body.gcs-page .cells-intro-v7 .story-copy p,
body.gcs-page .cells-how-v7 .welcome-copy p { color: #43534a !important; }
body.gcs-page .cells-intro-v7 .about-pillars { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:28px; }
body.gcs-page .cells-intro-v7 .about-pillars > div { display:flex; align-items:center; gap:12px; min-height:68px; padding:14px; border:1px solid #dbe8df; border-radius:8px; background:#f4f8f5; }
body.gcs-page .cells-intro-v7 .about-pillars b { display:grid; place-items:center; width:36px; height:36px; flex:0 0 36px; border-radius:50%; background:#087a43; color:#fff !important; font-size:12px; }
body.gcs-page .cells-intro-v7 .about-pillars span { color:#082719 !important; font-weight:800; }
body.gcs-page .cells-intro-v7 .story-grid > img { width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:8px; box-shadow:0 18px 45px rgba(2,21,13,.12); }
body.gcs-page .cells-how-v7 { border-top:1px solid #e8eee9; }
body.gcs-page .cells-how-v7 .welcome-grid { align-items:center; }
body.gcs-page .cells-how-v7 .welcome-copy .text-link,
body.gcs-page .cells-how-v7 .welcome-copy .text-link span { color:#075b32 !important; }
@media(max-width:620px) { body.gcs-page .cells-intro-v7 .about-pillars { grid-template-columns:1fr; } }


/* Ajuste de contraste da página Célula: as duas seções finais ficam em fundo claro. */
body.gcs-page .cells-intro-v7,
body.gcs-page .cells-how-v7 { background: #ffffff !important; color: #082719 !important; }
body.gcs-page .cells-intro-v7 .story-copy .eyebrow,
body.gcs-page .cells-how-v7 .eyebrow { color: #087a43 !important; }
body.gcs-page .cells-intro-v7 .story-copy h2,
body.gcs-page .cells-how-v7 .welcome-grid h2 { color: #082719 !important; }
body.gcs-page .cells-intro-v7 .story-copy h2 em,
body.gcs-page .cells-how-v7 .welcome-grid h2 em { color: #087a43 !important; }
body.gcs-page .cells-intro-v7 .story-copy p,
body.gcs-page .cells-how-v7 .welcome-copy p { color: #43534a !important; }
body.gcs-page .cells-how-v7 .welcome-copy .text-link,
body.gcs-page .cells-how-v7 .welcome-copy .text-link span { color: #075b32 !important; }
body.gcs-page .cells-intro-v7 .about-pillars > div { background: #f4f8f5 !important; border-color: #dbe8df !important; }
body.gcs-page .cells-intro-v7 .about-pillars b { background: #087a43 !important; color: #ffffff !important; }
body.gcs-page .cells-intro-v7 .about-pillars span { color: #082719 !important; }
@media (max-width: 620px) {
  body.gcs-page .cells-intro-v7 .about-pillars { grid-template-columns: 1fr !important; }
}
