/*
Theme Name: AdoreMS
Theme URI: https://adorems.com.br
Author: AdoreMS
Author URI: https://adorems.com.br
Description: Tema leve para o portal gospel AdoreMS — com agenda (CPT Evento), artistas e igrejas. Landing e listagens básicas prontas.
Version: 1.0.0
License: GNU General Public License v2 or later
Text Domain: adorems
*/
:root{
  --navy:#0D1B2A; --green:#1F8F50; --gold:#D4AF37; --light:#F5F7FA; --slate:#6B7280; --border:#E6E9EE;
}
*{box-sizing:border-box}
body{margin:0;font-family:Montserrat,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--light);color:var(--navy)}
a{color:inherit;text-decoration:none}
.container{max-width:1160px;margin:0 auto;padding:0 20px}
.btn{display:inline-block;padding:12px 18px;border-radius:12px;font-weight:700;font-size:14px}
.btn-primary{background:var(--navy);color:#fff}
.btn-gold{background:var(--gold);color:var(--navy)}
.btn-outline{border:1px solid var(--navy);color:var(--navy)}
.badge{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--gold);padding:6px 12px;border-radius:999px;font-size:12px;color:var(--navy);background:#fff}
header.site-header{background:#fff;border-bottom:1px solid var(--border)}
.topbar{display:flex;align-items:center;justify-content:space-between;padding:14px 0}
nav.primary a{font-size:14px;margin-left:22px;opacity:.95}
nav.primary a:hover{opacity:.7}
.hero{padding:64px 0}
.grid{display:grid;gap:28px}
@media(min-width:960px){.grid-2{grid-template-columns:1.05fr .95fr}}
.lead{font-size:18px;color:var(--slate)}
.title-xl{font-size:44px;line-height:1.1;font-weight:800}
.search{margin-top:18px;background:#fff;border:1px solid var(--border);border-radius:16px;padding:10px;display:flex;gap:10px;align-items:center}
.search input{flex:1;border:0;outline:0;font-size:14px}
.card{background:#fff;border:1px solid var(--border);border-radius:20px;overflow:hidden}
.card .head{padding:14px 16px;border-bottom:1px solid #EEF1F4;background:#FAFBFC;color:var(--slate);font-size:12px;font-weight:700;display:flex;justify-content:space-between}
.card .body{padding:16px}
.section{padding:64px 0}
.section .eyebrow{display:block;margin:0 auto 10px auto;text-align:center}
.section h2{text-align:center;font-size:32px;font-weight:800;margin:0}
.section p.sub{max-width:760px;margin:10px auto 0 auto;text-align:center;color:var(--slate)}
.features{display:grid;gap:20px;margin-top:28px}
@media(min-width:900px){.features{grid-template-columns:repeat(4,1fr)}}
.feature{background:#fff;border:1px solid var(--border);border-radius:20px;padding:18px}
.feature .icon{width:46px;height:46px;border-radius:12px;background:#FFF8E6;display:flex;align-items:center;justify-content:center;margin-bottom:10px}
.muted{color:var(--slate)}
.hero-card{aspect-ratio:4/3;border:1px solid var(--border);border-radius:26px;overflow:hidden;background:linear-gradient(120deg,var(--navy),#1b3248);color:#fff;display:flex}
.hero-card .wrap{padding:28px;display:flex;flex-direction:column;justify-content:space-between;width:100%}
.news{display:grid;gap:20px;margin-top:24px}
@media(min-width:900px){.news{grid-template-columns:repeat(3,1fr)}}
.imgph{aspect-ratio:4/5;background:#e9eef4}
.dirgrid{display:grid;gap:20px;margin-top:24px}
@media(min-width:900px){.dirgrid{grid-template-columns:repeat(4,1fr)}}
.square{aspect-ratio:1/1;background:#e9eef4}
.callout{background:linear-gradient(120deg,var(--navy),#1b3248);border-radius:26px;color:#fff;padding:40px}
footer.site-footer{background:#fff;border-top:1px solid var(--border);padding:44px 0 28px}
footer .cols{display:grid;gap:24px}
@media(min-width:900px){footer .cols{grid-template-columns:repeat(4,1fr)}}
.tiny{font-size:12px}

/* Todas as thumbs ficam 4:5 */
.thumb {
  display: block;
  aspect-ratio: 4/5;
  overflow: hidden;
  background: #e9eef4; /* cor de fundo quando não houver imagem */
}

.thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Placeholder (sem imagem destacada) */
.thumb.placeholder {
  background: linear-gradient(135deg, #eef2f7, #e6ebf2);
}


.card select {
  background:#fff;
  appearance:none;
}
.card label.tiny { display:block; margin-bottom:4px; }


/* Mantém a imagem do banner do evento em 4:5, cobrindo a área */
.ratio-4-5{ aspect-ratio:4/5; overflow:hidden; }
.ratio-4-5 img{ width:100%; height:100%; object-fit:cover; display:block; }


/* Mantém proporção 4:5 (vertical) */
.ratio-4-5 {
  aspect-ratio: 4/5;
  overflow: hidden;
}
.ratio-4-5 img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* ====== Base responsiva ====== */
img, video, iframe { max-width:100%; height:auto; }
.container { max-width:1160px; margin:0 auto; padding:0 16px; }
.section { padding:24px 0; }
.card { border:1px solid var(--border); border-radius:16px; background:#fff; }
.card .body { padding:16px; }
.card .head { padding:12px 16px; display:flex; justify-content:space-between; align-items:center; }

/* Grades padrão (mobile-first) */
.features { display:grid; grid-template-columns:1fr; gap:16px; }
.grid-2 { display:grid; grid-template-columns:1fr; gap:16px; }
.hero { display:grid; gap:16px; }

/* Tipografia um pouco menor no mobile */
h1 { font-size:28px; line-height:1.2; }
h2 { font-size:22px; line-height:1.2; }

/* Formulários: inputs 100% */
input[type=text], input[type=url], input[type=date], input[type=time],
input[type=month], input[type=email], input[type=tel],
select, textarea {
  width:100%; padding:12px; border:1px solid var(--border); border-radius:12px;
}

/* Botões ocupam largura total quando empilhados */
.btn, .btn-primary, .btn-gold, .btn-outline { inline-size: auto; }
@media (max-width: 480px){
  .btn, .btn-primary, .btn-gold { width:100%; text-align:center; }
}

/* Tabelas (se houver) roláveis no mobile */
.table-wrap { overflow-x:auto; -webkit-overflow-scrolling:touch; }
table { width:100%; border-collapse:collapse; }

/* Thumbs já estão em 4:5 */
.thumb { display:block; aspect-ratio:4/5; overflow:hidden; background:#e9eef4; }
.thumb img { width:100%; height:100%; object-fit:cover; display:block; }

/* ====== Breakpoints ====== */
@media (min-width: 640px){ /* sm */
  .features { grid-template-columns:repeat(2,1fr); }
  .grid-2 { grid-template-columns:repeat(2,1fr); }
  .hero { grid-template-columns:1.1fr .9fr; align-items:center; }
}
@media (min-width: 960px){ /* md */
  .features { grid-template-columns:repeat(3,1fr); }
  .hero { grid-template-columns:1.2fr .8fr; }
  h1 { font-size:36px; }
  h2 { font-size:26px; }
}
@media (min-width: 1200px){ /* lg */
  .features { grid-template-columns:repeat(4,1fr); }
}

/* ====== Menu mobile (hamburger) ====== */
.topbar { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 0; }
.hamburger { display:inline-flex; gap:8px; align-items:center; border:1px solid var(--border); background:#fff; padding:8px 12px; border-radius:10px; cursor:pointer; }
.hamburger .bars { width:18px; height:2px; background:#111; position:relative; }
.hamburger .bars::before, .hamburger .bars::after {
  content:""; position:absolute; left:0; width:18px; height:2px; background:#111;
}
.hamburger .bars::before { top:-6px; }
.hamburger .bars::after  { top: 6px; }

nav.primary { display:none; }
nav.primary.open { display:block; }
nav.primary ul { list-style:none; margin:12px 0 0; padding:0; display:grid; gap:8px; }
nav.primary a { display:block; padding:10px 12px; border-radius:10px; color:var(--navy); background:#fff; border:1px solid var(--border); }
@media (min-width: 960px){
  .hamburger { display:none; }
  nav.primary { display:block; }
  nav.primary ul { display:flex; gap:12px; margin:0; }
  nav.primary a { border:none; background:transparent; padding:8px 10px; }
}

/* Espaçamentos extras em cards da Agenda para evitar quebra */
#agenda .card .head { flex-wrap:wrap; gap:8px; }
.paginate, .pagination { display:flex; flex-wrap:wrap; gap:8px; justify-content:center; }

/* Ajustes do hero no mobile */
.hero .title-xl { font-size:28px; }

/* Esconde menu no mobile */
nav.primary { display:none; }

/* Mostra quando o botão abre */
nav.primary.open { display:block; }

/* Estilo do botão hamburger */
.hamburger {
  display:inline-flex;
  flex-direction:column;
  justify-content:center;
  gap:5px;
  width:32px;
  height:32px;
  border:1px solid var(--border);
  background:#fff;
  border-radius:6px;
  cursor:pointer;
}
.hamburger .bars,
.hamburger .bars::before,
.hamburger .bars::after {
  content:"";
  display:block;
  width:18px;
  height:2px;
  background:#111;
  position:relative;
}
.hamburger .bars::before { position:absolute; top:-6px; }
.hamburger .bars::after  { position:absolute; top: 6px; }

/* Desktop: sempre mostra menu, esconde hamburger */
@media (min-width:960px){
  .hamburger { display:none; }
  nav.primary { display:block; }
  nav.primary ul { display:flex; gap:16px; margin:0; padding:0; list-style:none; }
  nav.primary a { padding:8px 12px; border-radius:8px; color:var(--navy); text-decoration:none; }
}

/* ===== Logo responsiva ===== */
.site-logo img,
.custom-logo {
  height: 35px;   /* padrão (mobile) */
  width: auto;
  display: block;
}

/* Desktop (telas maiores que 960px) */
@media (min-width: 960px) {
  .site-logo img,
  .custom-logo {
    height: 80px;  /* aumenta no desktop */
  }
}

/* Alinhamento com o menu */
.logo {
  display: flex;
  align-items: center;
}



.home-banner { margin-bottom: 8px; }
.home-banner .body { padding: 12px; }
.home-banner img { width: 100%; height: auto; display: block; }

/* Galeria (grid responsivo 3-2-1 colunas) */
.gallery-grid {
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
}
.gallery-grid .g-item {
  display:block;
  border-radius:12px;
  overflow:hidden;
  background:#e9eef4;
}
.gallery-grid .g-item img {
  width:100%;
  height:auto;
  display:block;
  object-fit:cover;
}

/* Breakpoints */
@media (min-width:640px){ .gallery-grid{ grid-template-columns:repeat(2,1fr);} }
@media (min-width:960px){ .gallery-grid{ grid-template-columns:repeat(3,1fr);} }

/* Lightbox simples */
.lb {
  position:fixed; inset:0; background:rgba(0,0,0,.85);
  display:none; align-items:center; justify-content:center; z-index:9999;
  padding:20px;
}
.lb.open { display:flex; }
.lb img { max-width:92vw; max-height:88vh; border-radius:12px; }
.lb-close {
  position:absolute; top:16px; right:16px;
  width:36px; height:36px; border-radius:50%;
  background:#fff; border:0; cursor:pointer; font-size:22px; line-height:36px;
}


/* Prévia das imagens (capa e galeria) */
.preview-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}
.preview-grid .prev {
  position: relative;
  border: 1px solid var(--border);
  border-radius: 10px;
  overflow: hidden;
  background: #eef2f7;
  aspect-ratio: 4/5;
}
.preview-grid .prev img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.preview-grid .rm {
  position: absolute;
  top: 6px; right: 6px;
  width: 26px; height: 26px;
  border: 0; border-radius: 50%;
  background: rgba(255,255,255,.95);
  cursor: pointer;
  font-weight: 700;
  line-height: 26px;
}
@media (min-width: 640px){ .preview-grid{ grid-template-columns: repeat(4, 1fr);} }
@media (min-width: 960px){ .preview-grid{ grid-template-columns: repeat(6, 1fr);} }

/* Pills de tipo (Notícia / Cobertura) */
.pill {
  display:inline-block;
  padding:4px 8px;
  border-radius:999px;
  font-size:12px;
  font-weight:700;
  line-height:1;
}

/* Personalize as cores se quiser */
.pill-post { background:#eef2ff; color:#3730a3; border:1px solid #c7d2fe; }       /* Notícia */
.pill-cobertura { background:#ecfdf5; color:#065f46; border:1px solid #a7f3d0; } /* Cobertura */

/* ===== Layout 2 colunas na Cobertura ===== */
.cobertura-wrap {
  display: grid;
  grid-template-columns: 1fr; /* mobile: 1 coluna */
  gap: 16px;
}
.gallery-col { min-width: 0; } /* evita overflow */
.ads-col { min-width: 0; }

@media (min-width: 960px){
  .cobertura-wrap {
    grid-template-columns: 1fr 320px; /* galeria + lateral de ~300px */
    align-items: start;
  }
}

/* ===== Galeria 1x1 (quadrada) ===== */
.gallery-grid-1x1 {
  display: grid;
  grid-template-columns: repeat(2, 1fr); /* mobile: 2 colunas */
  gap: 10px;
}

@media (min-width: 640px){
  .gallery-grid-1x1 { grid-template-columns: repeat(3, 1fr); }
}
@media (min-width: 1200px){
  .gallery-grid-1x1 { grid-template-columns: repeat(4, 1fr); }
}

.gallery-grid-1x1 .g-item {
  display: block;
  border-radius: 12px;
  overflow: hidden;
  background: #e9eef4;
  aspect-ratio: 1/1;      /* força quadrado */
}
.gallery-grid-1x1 .g-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;       /* corta sem distorcer */
  display: block;
}

/* ===== Lateral de ads ===== */
.cobertura-ads .body { padding: 12px; }
.cobertura-ads img { width: 100%; height: auto; display: block; }

/* ===== Lightbox ===== */
.lb {
  position: fixed; inset: 0; background: rgba(0,0,0,.85);
  display: none; align-items: center; justify-content: center; z-index: 9999;
  padding: 20px;
}
.lb.open { display: flex; }
.lb img { max-width: 92vw; max-height: 88vh; border-radius: 12px; }
.lb-close {
  position: absolute; top: 16px; right: 16px;
  width: 36px; height: 36px; border-radius: 50%;
  background: #fff; border: 0; cursor: pointer; font-size: 22px; line-height: 36px;
}
