/* Ajustes solicitados para a página inicial — versão 1 */

/* Título da galeria: destaque tipográfico sem trocar a paleta da igreja. */
.gallery-home-head h2 em {
  display: inline-block;
  margin-top: .06em;
  color: #41e08f !important;
  font-family: var(--serif, Georgia, serif) !important;
  font-size: 1.12em;
  font-style: italic;
  font-weight: 500 !important;
  letter-spacing: -.035em;
  text-transform: none !important;
}

/* Fotos aparecem inteiras no cartão; o clique já abre a imagem ampliada. */
.gallery-media-v8 {
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #04170f;
}
.gallery-media-v8 > img,
.gallery-media-v8 > video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain !important;
  object-position: center;
  background: #04170f;
}
.gallery-card-v8:hover img { transform: none !important; }

/* Pesquisa com lupa e carrossel horizontal das células (também funciona por toque). */
.cell-tools-v7 {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 10px;
  margin: 0 0 14px;
}
.cell-search-toggle-v7 {
  display: grid;
  place-items: center;
  flex: 0 0 46px;
  width: 46px;
  height: 46px;
  padding: 0;
  border: 1px solid rgba(8,39,25,.18);
  border-radius: 50%;
  background: #fff;
  color: #08743c;
  cursor: pointer;
  transition: background .2s ease, transform .2s ease, border-color .2s ease;
}
.cell-search-toggle-v7:hover { background: #e8f6ed; border-color: #0f9e52; transform: translateY(-1px); }
.cell-search-toggle-v7 svg { width: 21px; height: 21px; }
.cell-search-input-v7 {
  width: min(100%, 330px);
  height: 46px;
  box-sizing: border-box;
  padding: 0 15px;
  border: 1px solid rgba(8,39,25,.2);
  border-radius: 999px;
  outline: none;
  background: #fff;
  color: #082719;
  font: inherit;
}
.cell-search-input-v7:focus { border-color: #0f9e52; box-shadow: 0 0 0 3px rgba(15,158,82,.12); }
.cell-search-input-v7[hidden] { display: none !important; }
.cell-carousel-v7 {
  display: grid;
  grid-template-columns: 46px minmax(0,1fr) 46px;
  align-items: center;
  gap: 12px;
}
.cell-carousel-viewport-v7 {
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  touch-action: pan-x;
}
.cell-carousel-viewport-v7::-webkit-scrollbar { display: none; }
.cell-grid-v7 {
  display: flex !important;
  width: max-content;
  gap: 16px;
  margin: 0;
  padding: 5px 1px 16px;
}
.cell-card-v7 {
  position: relative;
  display: block;
  flex: 0 0 clamp(280px, 34vw, 430px);
  width: auto;
  min-width: 0;
  min-height: 0 !important;
  aspect-ratio: 16 / 9;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border: 0 !important;
  border-radius: 14px;
  outline: 0 !important;
  background: #fff;
  box-shadow: 0 10px 28px rgba(3,40,23,.14) !important;
  scroll-snap-align: start;
  cursor: zoom-in;
}
.cell-card-v7[hidden], .cell-card-v7.is-hidden { display: none !important; }
.cell-card-v7::before, .cell-card-v7::after { content: none !important; display: none !important; }
.cell-card-v7 img {
  position: relative !important;
  inset: auto !important;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain !important;
  object-position: center !important;
  background: #fff;
  transition: transform .25s ease;
}
.cell-card-v7:hover img { transform: scale(1.015) !important; }
.cell-carousel-arrow-v7 {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  padding: 0;
  border: 1px solid rgba(8,39,25,.12);
  border-radius: 50%;
  background: #082719;
  color: #fff;
  cursor: pointer;
  transition: opacity .2s ease, transform .2s ease, background .2s ease;
}
.cell-carousel-arrow-v7:hover:not(:disabled) { background: #0f9e52; transform: scale(1.04); }
.cell-carousel-arrow-v7:disabled { opacity: .28; cursor: default; }
.cell-carousel-arrow-v7 svg { width: 21px; height: 21px; }
.cell-carousel-arrow-v7:focus-visible,
.cell-search-toggle-v7:focus-visible,
.cell-search-input-v7:focus-visible,
.cell-carousel-viewport-v7:focus-visible { outline: 3px solid rgba(15,158,82,.4); outline-offset: 3px; }
.cell-carousel-status-v7 {
  min-height: 1.4em;
  margin: 6px 0 0;
  color: #5d6f65;
  font-size: 12px;
  text-align: center;
}

/* Cor aplicada ao próprio cartão social, sem contorno neon externo. */
.social-card-v7 {
  border: 0 !important;
  box-shadow: none !important;
  color: #fff !important;
  transform: none;
  transition: transform .2s ease, filter .2s ease !important;
}
.social-card-v7:hover,
.social-card-v7:focus-visible,
.social-card-v7:active { transform: translateY(-2px); }
.social-card-v7::before { display: none !important; content: none !important; }
.social-card-v7.instagram { background: linear-gradient(135deg,#f7b733 0%,#ef4e42 38%,#c13584 68%,#6750d8 100%) !important; }
.social-card-v7.facebook { background: #1877f2 !important; }
.social-card-v7.youtube { background: #ff0033 !important; }
.social-card-v7.tiktok { background: #383838 !important; }
.social-card-v7.instagram:hover,
.social-card-v7.instagram:focus-visible,
.social-card-v7.facebook:hover,
.social-card-v7.facebook:focus-visible,
.social-card-v7.youtube:hover,
.social-card-v7.youtube:focus-visible,
.social-card-v7.tiktok:hover,
.social-card-v7.tiktok:focus-visible { filter: brightness(.94); }
.social-card-v7 strong { color: #fff !important; }
.social-card-v7 .social-icon-v7,
.social-card-v7 .social-icon-v7 svg {
  display: grid;
  place-items: center;
  width: 44px !important;
  height: 44px !important;
  color: #fff !important;
  background: transparent !important;
}
.social-card-v7.youtube .social-icon-v7 svg path:first-child { fill: #fff !important; }
.social-card-v7.youtube .social-icon-v7 svg path:last-child { fill: #ff0033 !important; }
.social-card-v7:focus-visible { outline: 3px solid rgba(255,255,255,.8) !important; outline-offset: 3px; }

/* Apenas em celular: mantém a área devocional mais alta, sem tocar no layout desktop. */
@media (max-width: 560px) {
  .devotional-v7-card .biblia-stage {
    min-height: clamp(320px, 92vw, 380px) !important;
    padding-top: 16px !important;
    padding-bottom: 18px !important;
  }
}
@media (max-width: 390px) {
  .cell-carousel-v7 { grid-template-columns: 38px minmax(0,1fr) 38px; gap: 6px; }
  .cell-carousel-arrow-v7 { width: 38px; height: 38px; }
  .cell-card-v7 { flex-basis: 82vw; }
  .cell-tools-v7 { gap: 8px; }
}


/* Ajustes solicitados — galeria e contato */
.gallery-page-head .gallery-page-action { display:flex; justify-content:center; align-items:center; width:100%; }
.gallery-page-head .gallery-see-all-v8 { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:46px; padding:0 22px; border:1px solid #b9e7cb; border-radius:999px; background:#fff; box-shadow:0 8px 24px rgba(4,45,24,.08); text-align:center; transition:transform .2s ease,background .2s ease; }
.gallery-page-head .gallery-see-all-v8:hover { background:#eaf8ef; transform:translateY(-2px); }
.contact-reworked .contact-copy h2 { color:#f5f8f6; }
.contact-reworked .contact-copy h2 em { color:#39d98a; font-style:normal; }
.contact-links-single { display:flex; align-items:center; justify-content:center; }
.contact-instagram-card { position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:16px; width:min(100%,360px); min-height:230px; padding:28px; border:1px solid rgba(255,255,255,.16); border-radius:24px; background:linear-gradient(145deg,#f5b53d 0%,#ed4a55 38%,#c13584 68%,#6554d8 100%); color:#fff; text-decoration:none; text-align:center; box-shadow:0 18px 44px rgba(0,0,0,.16); transition:transform .2s ease,box-shadow .2s ease; }
.contact-instagram-card:hover { transform:translateY(-4px); box-shadow:0 24px 50px rgba(0,0,0,.22); }
.contact-instagram-icon { display:grid; place-items:center; width:78px; height:78px; border:2px solid rgba(255,255,255,.95); border-radius:23px; }
.contact-instagram-icon svg { width:48px; height:48px; }
.contact-instagram-card b { font-size:17px; font-weight:800; }
.contact-instagram-arrow { position:absolute; right:20px; top:18px; font-size:20px; }
@media(max-width:700px) {
 .gallery-page-head { gap:22px; }
 .gallery-page-head .gallery-page-action { justify-content:center; }
 .gallery-page-head .gallery-see-all-v8 { width:auto; max-width:100%; }
 .contact-reworked .contact-layout { grid-template-columns:1fr; gap:28px; }
 .contact-instagram-card { width:100%; min-height:205px; }
 .cell-carousel-v7 { position:relative; display:block !important; padding:0 0 4px; }
 .cell-carousel-v7 .cell-carousel-arrow-v7 { display:grid !important; position:absolute; z-index:4; top:50%; transform:translateY(-50%); width:34px; height:34px; border:1px solid rgba(255,255,255,.42); border-radius:50%; background:rgba(3,30,17,.42); color:#fff; box-shadow:0 2px 10px rgba(0,0,0,.12); backdrop-filter:blur(2px); }
 .cell-carousel-v7 .cell-carousel-arrow-v7:hover:not(:disabled) { background:rgba(3,30,17,.62); transform:translateY(-50%); }
 .cell-carousel-v7 .cell-carousel-arrow-v7:disabled { opacity:.22; }
 .cell-carousel-v7 .cell-carousel-arrow-v7[data-cell-prev] { left:7px; }
 .cell-carousel-v7 .cell-carousel-arrow-v7[data-cell-next] { right:7px; }
 .cell-carousel-v7 .cell-carousel-arrow-v7 svg { width:18px; height:18px; }
 .cell-carousel-viewport-v7 { width:100%; }
 .cell-grid-v7 { gap:12px !important; padding-left:calc((100vw - min(84vw, 430px))/2) !important; padding-right:calc((100vw - min(84vw, 430px))/2) !important; }
 .cell-card-v7 { flex:0 0 min(84vw,430px) !important; scroll-snap-align:center !important; aspect-ratio:16/9; }
 .cell-card-v7 img { object-fit:contain !important; }
}


/* Correção solicitada: faixa "Encontre sua célula" em verde, sem alterar a devocional. */
.cells-v7 { background:linear-gradient(145deg,#087b3d 0%,#0f9e52 58%,#08743a 100%) !important; color:#fff !important; }
.cells-v7 .eyebrow-light, .cells-v7 .section-head-v7 h2, .cells-v7 .section-head-v7 h2 em { color:#fff !important; }
.cells-v7 .section-head-v7>p { color:rgba(255,255,255,.86) !important; }
@media(max-width:700px) {
 .cells-v7 .cell-carousel-v7 .cell-carousel-arrow-v7 { width:32px; height:32px; }
}

/* Ponto administrativo discreto, com a mesma linguagem visual da Área Kids. */
.admin-dot { display:inline-grid; place-items:center; width:16px; height:16px; min-width:16px; padding:0; margin-left:8px; border:0; border-radius:50%; background:rgba(255,255,255,.08); color:rgba(255,255,255,.28); font-size:16px; line-height:1; cursor:pointer; opacity:.48; transition:opacity .2s ease,background .2s ease; }
.admin-dot:hover,.admin-dot:focus-visible { opacity:.9; background:rgba(255,255,255,.16); outline:1px solid rgba(255,255,255,.25); }
