/*
Theme Name: Sabedoria de Deus
Theme URI: https://www.sabedoriadedeus.com.br
Description: Tema filho do Hello Elementor para o blog Sabedoria de Deus. Layout com header banner full-width, conteúdo em 2 colunas (posts + sidebar) e rodapé com últimos posts e categorias. Visual sereno com tipografia serif, inspirado em mensagens bíblicas.
Author: Jana Moreno Consultoria
Author URI: https://www.janamorenoconsultoria.com.br
Template: hello-elementor
Version: 1.0.0
Text Domain: sabedoria-de-deus
*/

/* ======================================================
   Design tokens
====================================================== */
:root{
  --sd-bg: #faf7f0;
  --sd-surface: #ffffff;
  --sd-ink: #1a2238;          /* azul noite */
  --sd-ink-soft: #3b4566;
  --sd-muted: #6b7280;
  --sd-gold: #b8893b;         /* dourado suave */
  --sd-gold-soft: #d9b86a;
  --sd-line: #e7e1d2;
  --sd-accent: #2a3a6b;
  --sd-radius: 10px;
  --sd-shadow: 0 6px 24px rgba(26,34,56,.08);
  --sd-container: 1200px;
  --sd-serif: 'Playfair Display', Georgia, 'Times New Roman', serif;
  --sd-body: 'Lora', Georgia, serif;
}

/* ======================================================
   Base
====================================================== */
html, body{ background: var(--sd-bg); color: var(--sd-ink); }
body{
  font-family: var(--sd-body);
  font-size: 17px;
  line-height: 1.7;
}
h1,h2,h3,h4,h5,h6{
  font-family: var(--sd-serif);
  color: var(--sd-ink);
  line-height: 1.25;
  margin: 0 0 .6em;
}
a{ color: var(--sd-accent); text-decoration: none; transition: color .2s ease; }
a:hover{ color: var(--sd-gold); }
img{ max-width: 100%; height: auto; display: block; }

.sd-container{
  max-width: var(--sd-container);
  margin: 0 auto;
  padding: 0 20px;
}

/* ======================================================
   Header + menu superior
====================================================== */
.sd-site-header{
  background: var(--sd-surface);
  border-bottom: 1px solid var(--sd-line);
  position: sticky;
  top: 0;
  z-index: 100;
  box-shadow: 0 2px 8px rgba(26,34,56,.04);
}
.sd-header-inner{
  display:flex; align-items:center; justify-content:space-between;
  padding: 14px 20px;
  max-width: var(--sd-container); margin: 0 auto;
  gap: 20px;
}
.sd-brand{
  font-family: var(--sd-serif);
  font-size: 1.55rem;
  font-weight: 700;
  color: var(--sd-ink);
  letter-spacing: .3px;
}
.sd-brand span{ color: var(--sd-gold); }

.sd-menu-toggle{
  display:none; background:none; border:0; cursor:pointer;
  font-size: 1.6rem; color: var(--sd-ink);
}
.sd-nav ul{
  list-style:none; display:flex; gap: 28px; margin:0; padding:0;
}
.sd-nav a{
  font-family: var(--sd-serif);
  font-size: 1rem;
  color: var(--sd-ink);
  text-transform: uppercase;
  letter-spacing: 1.2px;
  position: relative;
  padding: 6px 0;
}
.sd-nav a::after{
  content:""; position:absolute; left:0; bottom:0;
  width:0; height:2px; background: var(--sd-gold);
  transition: width .25s ease;
}
.sd-nav a:hover::after,
.sd-nav .current-menu-item > a::after{ width: 100%; }

/* ======================================================
   Header banner 100%
====================================================== */
.sd-hero{
  width:100%;
  min-height: 320px;
  background: linear-gradient(135deg, rgba(26,34,56,.78), rgba(42,58,107,.65)),
              url('assets/hero-default.jpg') center/cover no-repeat;
  color:#fff;
  display:flex; align-items:center; justify-content:center;
  text-align:center;
  padding: 60px 20px;
}
.sd-hero h1{
  color:#fff;
  font-size: clamp(1.8rem, 4vw, 3rem);
  margin-bottom: .3em;
}
.sd-hero p{
  color: #f3eedc;
  font-style: italic;
  max-width: 680px; margin: 0 auto;
}
.sd-hero .sd-ornament{
  width: 60px; height: 2px; background: var(--sd-gold-soft);
  margin: 18px auto;
}

/* ======================================================
   Layout principal — 2 colunas
====================================================== */
.sd-main{
  max-width: var(--sd-container);
  margin: 40px auto;
  padding: 0 20px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 40px;
}
.sd-content{ min-width: 0; }
.sd-sidebar{ min-width: 0; }

/* ======================================================
   Posts (lista)
====================================================== */
.sd-post-card{
  background: var(--sd-surface);
  border: 1px solid var(--sd-line);
  border-radius: var(--sd-radius);
  overflow: hidden;
  margin-bottom: 30px;
  box-shadow: var(--sd-shadow);
  transition: transform .25s ease, box-shadow .25s ease;
}
.sd-post-card:hover{
  transform: translateY(-3px);
  box-shadow: 0 10px 28px rgba(26,34,56,.12);
}
.sd-post-card .sd-thumb img{
  width:100%; height: 280px; object-fit: cover;
}
.sd-post-card .sd-body{ padding: 24px 28px 28px; }
.sd-post-card h2{
  font-size: 1.7rem; margin-bottom: 8px;
}
.sd-post-card h2 a{ color: var(--sd-ink); }
.sd-post-card h2 a:hover{ color: var(--sd-gold); }
.sd-meta{
  font-size: .85rem; color: var(--sd-muted);
  text-transform: uppercase; letter-spacing: 1px;
  margin-bottom: 12px;
}
.sd-meta a{ color: var(--sd-gold); }
.sd-excerpt{ color: var(--sd-ink-soft); margin-bottom: 16px; }
.sd-readmore{
  display:inline-block;
  font-family: var(--sd-serif);
  color: var(--sd-accent);
  border-bottom: 2px solid var(--sd-gold-soft);
  padding-bottom: 2px;
}
.sd-readmore:hover{ color: var(--sd-gold); }

/* Single post */
.sd-single{
  background: var(--sd-surface);
  border: 1px solid var(--sd-line);
  border-radius: var(--sd-radius);
  padding: 40px;
  box-shadow: var(--sd-shadow);
}
.sd-single h1{ font-size: clamp(1.8rem, 3.2vw, 2.6rem); }
.sd-single .sd-thumb{ margin: 20px 0 30px; border-radius: 8px; overflow: hidden; }
.sd-single-content p{ margin: 0 0 1.1em; }
.sd-single-content blockquote{
  border-left: 4px solid var(--sd-gold);
  background: #fbf6e8;
  padding: 16px 22px;
  margin: 24px 0;
  font-style: italic;
  color: var(--sd-ink-soft);
  border-radius: 4px;
}

/* Archive (categoria) */
.sd-archive-header{
  background: var(--sd-surface);
  border:1px solid var(--sd-line);
  border-radius: var(--sd-radius);
  padding: 28px 30px;
  margin-bottom: 30px;
  box-shadow: var(--sd-shadow);
}
.sd-archive-header h1{
  font-size: 2rem; margin-bottom: 8px; color: var(--sd-ink);
}
.sd-archive-header h1::before{
  content:"✦ "; color: var(--sd-gold);
}
.sd-archive-header .sd-desc{ color: var(--sd-ink-soft); margin: 0; }

/* Paginação */
.sd-pagination{
  display:flex; justify-content:center; gap:8px;
  margin: 30px 0 10px;
  flex-wrap: wrap;
}
.sd-pagination .page-numbers{
  display:inline-block;
  padding: 9px 14px;
  border: 1px solid var(--sd-line);
  border-radius: 6px;
  color: var(--sd-ink);
  background: var(--sd-surface);
  font-family: var(--sd-serif);
  transition: all .2s;
}
.sd-pagination .page-numbers.current,
.sd-pagination .page-numbers:hover{
  background: var(--sd-ink);
  color: #fff;
  border-color: var(--sd-ink);
}

/* ======================================================
   Sidebar
====================================================== */
.sd-widget{
  background: var(--sd-surface);
  border:1px solid var(--sd-line);
  border-radius: var(--sd-radius);
  padding: 22px 24px;
  margin-bottom: 24px;
  box-shadow: var(--sd-shadow);
}
.sd-widget h3{
  font-size: 1.15rem;
  margin-bottom: 14px;
  padding-bottom: 10px;
  border-bottom: 2px solid var(--sd-gold-soft);
  text-transform: uppercase;
  letter-spacing: 1.2px;
}
.sd-widget form{ display:flex; gap:8px; }
.sd-widget input[type="search"]{
  flex:1; padding: 10px 12px;
  border:1px solid var(--sd-line); border-radius: 6px;
  font-family: var(--sd-body); font-size: .95rem;
  background: #fbfaf5;
}
.sd-widget input[type="search"]:focus{
  outline:none; border-color: var(--sd-gold);
}
.sd-widget button{
  background: var(--sd-ink); color:#fff; border:0;
  padding: 0 16px; border-radius:6px; cursor:pointer;
  font-family: var(--sd-serif); letter-spacing:.5px;
}
.sd-widget button:hover{ background: var(--sd-accent); }
.sd-widget ul{ list-style:none; padding:0; margin:0; }
.sd-widget li{
  padding: 8px 0;
  border-bottom: 1px dashed var(--sd-line);
}
.sd-widget li:last-child{ border-bottom:0; }
.sd-widget li a{ color: var(--sd-ink-soft); }
.sd-widget li a:hover{ color: var(--sd-gold); }
.sd-widget li .count{ color: var(--sd-muted); font-size:.85rem; }

/* ======================================================
   Footer
====================================================== */
.sd-footer{
  background: var(--sd-ink);
  color: #e9e6dc;
  margin-top: 60px;
  padding: 50px 20px 0;
}
.sd-footer-grid{
  max-width: var(--sd-container);
  margin: 0 auto;
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 50px;
}
.sd-footer h4{
  color:#fff;
  font-size: 1.15rem;
  margin-bottom: 18px;
  padding-bottom: 10px;
  border-bottom: 2px solid var(--sd-gold);
  display:inline-block;
}
.sd-footer ul{ list-style:none; padding:0; margin:0; }
.sd-footer li{ padding: 6px 0; border-bottom: 1px solid rgba(255,255,255,.07); }
.sd-footer li:last-child{ border-bottom:0; }
.sd-footer a{ color: #e9e6dc; }
.sd-footer a:hover{ color: var(--sd-gold-soft); }
.sd-footer-bottom{
  text-align:center;
  padding: 22px 10px;
  margin-top: 40px;
  border-top: 1px solid rgba(255,255,255,.1);
  font-size: .92rem;
  color: #cfc9b8;
}
.sd-footer-bottom a{ color: var(--sd-gold-soft); font-weight:600; }

/* ======================================================
   Responsivo
====================================================== */
@media (max-width: 900px){
  .sd-main{ grid-template-columns: 1fr; }
  .sd-footer-grid{ grid-template-columns: 1fr; gap: 30px; }
  .sd-menu-toggle{ display:block; }
  .sd-nav{
    display:none;
    position:absolute; top:100%; left:0; right:0;
    background: var(--sd-surface);
    border-top: 1px solid var(--sd-line);
    box-shadow: var(--sd-shadow);
  }
  .sd-nav.is-open{ display:block; }
  .sd-nav ul{ flex-direction: column; gap:0; padding: 10px 20px; }
  .sd-nav li{ border-bottom:1px solid var(--sd-line); }
  .sd-nav li:last-child{ border-bottom:0; }
  .sd-nav a{ display:block; padding: 14px 0; }
  .sd-post-card .sd-thumb img{ height: 220px; }
  .sd-single{ padding: 24px; }
}

/* ======================================================
   Reset/override Elementor desorganizado em conteúdo padrão
====================================================== */
.sd-content .elementor-widget:not(:last-child){ margin-bottom: 20px; }
.sd-content figure{ margin: 20px 0; }
