:root {
  --bg: #faf5ec;
  --fg: #26201f;
  --muted: #746a5f;
  --primary: #7a2331;
  --primary-dark: #591722;
  --gold: #a8791a;
  --border: #e9dcc4;
  --card: #fffdf8;
}
* { box-sizing:border-box; }
html, body { margin:0; padding:0; }
body {
  font-family: 'Inter', -apple-system, sans-serif;
  color: var(--fg);
  background: var(--bg);
  line-height:1.5;
}
h1, h2, h3, .font-display {
  font-family: 'Playfair Display', Georgia, serif;
}
a { color:inherit; text-decoration:none; }
.shine {
  font-style:italic;
  background: linear-gradient(90deg, var(--gold), #e8c565, var(--gold));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

/* Header */
.site-header {
  position: sticky; top:0; z-index:40; background: rgba(253,252,249,.85);
  backdrop-filter: blur(8px); border-bottom:1px solid var(--border);
}
.header-inner {
  max-width:1152px; margin:0 auto; padding:16px 20px;
  display:flex; align-items:center; justify-content:space-between;
}
.logo { display:flex; align-items:center; gap:8px; font-family:'Playfair Display',serif; font-weight:700; font-size:20px; color: var(--primary-dark); }
.main-nav { display:flex; align-items:center; gap:26px; }
.main-nav a { font-size:14px; font-weight:500; color: var(--muted); }
.main-nav a:hover { color: var(--primary); }

.menu-toggle {
  display:none; background:none; border:none; padding:6px; color:var(--primary-dark);
  cursor:pointer; align-items:center; justify-content:center;
}
.mobile-nav {
  display:none; flex-direction:column; padding:6px 20px 18px;
  background:var(--card); border-top:1px solid var(--border);
}
.mobile-nav a {
  padding:13px 4px; font-size:15px; font-weight:500; color:var(--fg);
  border-bottom:1px solid var(--border);
}
.mobile-nav a.btn-cta { text-align:center; margin-top:12px; border-bottom:none; padding:12px 22px; }
.mobile-nav.open { display:flex; }
.btn-cta {
  background: linear-gradient(135deg, var(--primary), var(--primary-dark));
  color:#fff !important; padding:10px 22px; border-radius:10px; font-weight:600; font-size:14px;
}
.btn-outline {
  border:1px solid var(--primary); color: var(--primary) !important; padding:10px 22px;
  border-radius:10px; font-weight:600; font-size:14px; display:inline-block;
}
.btn-lg { padding:14px 32px; font-size:15px; }

/* Hero */
.hero { position:relative; overflow:hidden; padding:90px 20px 70px; text-align:center; border-bottom:1px solid var(--border); }
.hero-glow {
  position:absolute; top:-160px; left:50%; transform:translateX(-50%); width:600px; height:500px;
  background: radial-gradient(circle, rgba(168,121,26,.16), transparent 70%); pointer-events:none;
}
.hero-inner { position:relative; max-width:760px; margin:0 auto; }
.hero-badge {
  display:inline-flex; gap:6px; border:1px solid rgba(122,35,49,.25); background:rgba(122,35,49,.07);
  padding:6px 16px; border-radius:999px; font-size:12px; font-weight:600; text-transform:uppercase;
  letter-spacing:1px; color:var(--primary);
}
.hero-title { font-size:44px; font-weight:700; line-height:1.1; margin:26px 0 18px; }
.hero-sub { display:block; margin-top:10px; font-size:20px; font-weight:400; font-style:italic; color:var(--muted); }
.hero-desc { max-width:560px; margin:0 auto; color:var(--muted); font-size:17px; }
.hero-actions { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; margin-top:36px; }
.hero-pills { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; margin-top:40px; }
.pill { background:var(--card); border:1px solid var(--border); border-radius:999px; padding:8px 18px; font-size:13px; box-shadow:0 2px 10px rgba(0,0,0,.04); }

/* Verse */
.verse-box { max-width:900px; margin:50px auto; padding:0 20px; }
.verse-card {
  background: linear-gradient(135deg, #2f1416, #46171b);
  border:1px solid var(--border); border-radius:16px; padding:40px;
}
.verse-tag { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:1px; color:#e0b352; }
.verse-text { font-family:'Playfair Display',serif; font-size:28px; margin-top:16px; line-height:1.35; color:#f7ece0; }
.verse-footer { display:flex; justify-content:space-between; align-items:center; margin-top:20px; flex-wrap:wrap; gap:12px; }
.verse-ref { font-weight:700; color:#e0b352; font-family:'Playfair Display',serif; font-size:18px; }
.verse-footer .btn-outline { border-color:#e0b352; color:#e0b352 !important; }

/* Categories */
.categories, .featured, .perfis-page { max-width:1152px; margin:0 auto; padding:60px 20px; }
.section-head { text-align:center; max-width:600px; margin:0 auto 44px; }
.section-head .eyebrow { font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:1px; color:var(--primary); }
.section-head h2, .section-head h1 { font-size:36px; margin:14px 0 10px; }
.section-head p { color:var(--muted); }
.section-head-row { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:36px; gap:16px; flex-wrap:wrap; }
.link-more { color:var(--primary); font-weight:600; font-size:14px; }

.category-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(180px,1fr)); gap:18px; }
.category-card {
  background:var(--card); border:1px solid var(--border); border-radius:18px; padding:26px 22px;
  text-align:left; transition:transform .2s; box-shadow:0 4px 16px rgba(0,0,0,.03);
}
.category-card:hover { transform:translateY(-4px); }
.category-icon { font-size:28px; }
.category-card h3 { font-size:20px; margin-top:14px; }
.category-card p { color:var(--muted); font-size:13px; margin-top:2px; }
.category-link { display:inline-block; margin-top:16px; font-weight:600; font-size:14px; color:var(--primary); }
.cat-pastor .category-link { color:#a16207; }
.cat-presbitero .category-link { color:#1e3a5f; }
.cat-diacono .category-link { color:#7c2d3a; }
.cat-obreiro .category-link { color:#9a3412; }
.cat-profeta .category-link { color:#581c87; }

/* Profiles */
.profile-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(240px,1fr)); gap:20px; }
.profile-card {
  background:var(--card); border:1px solid var(--border); border-radius:18px; overflow:hidden;
  text-align:left; box-shadow:0 4px 16px rgba(0,0,0,.05); transition:transform .2s; display:block;
}
.profile-card:hover { transform:translateY(-4px); }
.profile-photo-wrap { position:relative; width:100%; height:230px; background:#eee; }
.profile-photo-wrap img { width:100%; height:100%; object-fit:cover; object-position:50% 22%; display:block; }
.profile-photo-fallback {
  width:100%; height:100%; display:flex; align-items:center; justify-content:center;
  color:#fff; font-weight:700; font-size:40px;
}
.profile-badge {
  position:absolute; top:12px; left:12px; background:rgba(89,23,34,.78); color:#fff;
  font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.5px;
  padding:5px 12px; border-radius:6px; backdrop-filter:blur(4px);
}
.profile-card-body { padding:18px 20px 22px; }
.profile-card h3 { font-size:18px; margin-bottom:2px; }
.profile-role { font-size:12px; text-transform:uppercase; letter-spacing:.5px; color:var(--muted); font-weight:600; }
.profile-bio { font-size:13px; color:var(--muted); margin:10px 0 14px; }
.profile-cta { font-weight:600; font-size:13px; color:var(--primary); }

.filter-tabs { display:flex; gap:10px; flex-wrap:wrap; justify-content:center; margin-bottom:40px; }
.filter-tab { padding:8px 18px; border-radius:999px; border:1px solid var(--border); font-size:13px; font-weight:600; color:var(--muted); }
.filter-tab.active { background:var(--primary); color:#fff !important; border-color:var(--primary); }

.pagina-simples { max-width:760px; margin:0 auto; padding:70px 20px; }
.pagina-simples h1 { font-size:32px; margin-bottom:20px; }
.pagina-simples p { color:var(--muted); }

/* Bíblia */
.book-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(160px,1fr)); gap:12px; }
.book-card {
  display:flex; align-items:center; justify-content:space-between; gap:8px;
  background:var(--card); border:1px solid var(--border); border-radius:10px;
  padding:14px 16px; transition:all .15s;
}
.book-card:hover { transform:translateY(-2px); border-color:var(--primary); }
.book-name { font-family:'Playfair Display',serif; font-weight:700; font-size:15px; }
.book-chapters { font-size:11px; text-transform:uppercase; letter-spacing:.5px; color:var(--muted); margin-top:2px; }
.book-arrow { color:var(--primary); font-size:20px; opacity:0; transition:opacity .15s; flex-shrink:0; }
.book-card:hover .book-arrow { opacity:1; }

.chapter-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(46px,1fr)); gap:8px; }
.chapter-pill {
  display:flex; align-items:center; justify-content:center; aspect-ratio:1;
  background:var(--card); border:1px solid var(--border); border-radius:8px;
  font-weight:600; font-size:14px; transition:all .15s;
}
.chapter-pill:hover { background:var(--primary); color:#fff; border-color:var(--primary); }

.chapter-nav { display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-top:10px; }

.verse-list { margin-bottom:30px; }
.verse-list p { margin-bottom:12px; line-height:1.7; font-size:16px; }
.verse-num { color:var(--primary); font-weight:700; font-size:12px; vertical-align:super; margin-right:6px; }

/* Footer */
.site-footer { border-top:1px solid var(--border); padding:50px 20px 20px; }
.footer-inner { max-width:1152px; margin:0 auto; display:flex; justify-content:space-between; flex-wrap:wrap; gap:24px; }
.footer-text { color:var(--muted); font-size:14px; max-width:340px; margin-top:8px; }
.footer-nav { display:flex; gap:24px; }
.footer-nav a { color:var(--muted); font-size:14px; }
.footer-copy { max-width:1152px; margin:30px auto 0; color:var(--muted); font-size:12px; }

@media (max-width: 640px) {
  .main-nav { display:none; }
  .menu-toggle { display:flex; }
  .hero-title { font-size:32px; }
}
