/*
Theme Name: Diário do Fim do Mundo
Theme URI: https://diariodofimdomundo.com.br
Author: Diário do Fim do Mundo
Description: Tema "Dossiê Confidencial" para o blog Diário do Fim do Mundo. Visual de processo/arquivo confidencial, com áreas de widget dedicadas para anúncios (AdSense, Ezoic, Mediavine ou qualquer rede via HTML personalizado).
Version: 1.2
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: diario-fim-do-mundo
*/

*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  font-family: Georgia, 'Iowan Old Style', serif;
  --paper:#eee6d3;
  --paper-2:#e4dabf;
  --ink:#221d16;
  --ink-soft:#4a4238;
  --stamp:#8c2318;
  --rule:#b7a97f;
  background:var(--paper);
  color:var(--ink);
}

img{ max-width:100%; height:auto; display:block; }
a{ color:inherit; }

.wrap{ max-width:760px; margin:0 auto; padding:0 1.25rem 4rem; }

.masthead{
  padding:2.5rem 0 1.25rem; border-bottom:3px double var(--ink);
  display:flex; justify-content:space-between; align-items:flex-end; gap:1rem; flex-wrap:wrap;
}
.masthead a.brand{ text-decoration:none; color:inherit; }
.masthead .case-no{
  font-family:'Courier New', ui-monospace, monospace; font-size:.72rem;
  color:var(--ink-soft); letter-spacing:.08em; text-transform:uppercase;
}
h1.title{ font-size:2.6rem; margin:0; letter-spacing:.01em; font-weight:700; text-wrap:balance; }
.tagline{
  font-family:'Courier New', ui-monospace, monospace; font-size:.75rem;
  color:var(--ink-soft); text-transform:uppercase; letter-spacing:.12em; margin-top:.35rem;
}
nav.primary{
  display:flex; gap:1.1rem; flex-wrap:wrap; padding:.9rem 0;
  border-bottom:1px solid var(--rule);
  font-family:'Courier New', ui-monospace, monospace; font-size:.72rem;
  text-transform:uppercase; letter-spacing:.07em;
  list-style:none; margin:0;
}
nav.primary li{ list-style:none; margin:0; padding:0; }
nav.primary a{ color:var(--ink-soft); text-decoration:none; }
nav.primary a:hover{ color:var(--stamp); text-decoration:underline; }

.stamp{
  display:inline-block; border:2px solid var(--stamp); color:var(--stamp);
  font-family:'Courier New', ui-monospace, monospace; font-weight:700;
  font-size:.68rem; letter-spacing:.1em; text-transform:uppercase;
  padding:.2rem .55rem; transform:rotate(-3deg); margin-bottom:.9rem;
}

.adslot{
  text-align:center; letter-spacing:.05em;
  font-size:.7rem; margin:1.6rem 0; padding:1.1rem;
  border:1px dashed var(--rule); background:var(--paper-2); color:var(--ink-soft);
  font-family:'Courier New', ui-monospace, monospace;
}
.adslot-wrap{ margin:1.6rem 0; }
.adslot-wrap.inline{ margin:1.3rem 0; }
.adslot-wrap:empty{ display:none; }

footer.site{
  border-top:3px double var(--ink); padding-top:1.2rem; margin-top:1rem;
  font-family:'Courier New', ui-monospace, monospace; font-size:.68rem;
  color:var(--ink-soft); letter-spacing:.05em;
}

/* ---------- HOME / ARCHIVE ---------- */
.hero{ padding:2rem 0 1.5rem; border-bottom:1px solid var(--rule); }
.hero h2{ font-size:2.1rem; line-height:1.15; margin:.2rem 0 .7rem; text-wrap:balance; }
.hero h2 a{ color:inherit; text-decoration:none; }
.hero h2 a:hover{ text-decoration:underline; }
.hero p{ font-size:1.05rem; line-height:1.65; color:var(--ink-soft); max-width:60ch; }
.meta{
  font-family:'Courier New', ui-monospace, monospace; font-size:.7rem;
  color:var(--ink-soft); letter-spacing:.05em; margin-top:.8rem;
}
.grid{
  display:grid; grid-template-columns:repeat(auto-fill,minmax(210px,1fr));
  gap:1.6rem 1.6rem; padding:1.8rem 0;
}
.card{ border-top:1px solid var(--rule); padding-top:.8rem; }
.card .tag{
  font-family:'Courier New', ui-monospace, monospace; font-size:.62rem;
  text-transform:uppercase; letter-spacing:.08em; color:var(--stamp);
}
.card .tag a{ color:inherit; text-decoration:none; }
.card .tag a:hover{ text-decoration:underline; }
.card h3, .card h4{ font-size:1.08rem; line-height:1.3; margin:.4rem 0 .35rem; text-wrap:balance; }
.card h3 a, .card h4 a{ color:inherit; text-decoration:none; }
.card h3 a:hover, .card h4 a:hover{ text-decoration:underline; }
.card p{ font-size:.85rem; color:var(--ink-soft); line-height:1.5; margin:0; }
.card .date{
  font-family:'Courier New', ui-monospace, monospace; font-size:.65rem;
  color:var(--ink-soft); opacity:.75; margin-top:.5rem; display:block;
}

/* ---------- ARTICLE ---------- */
.breadcrumb{
  font-family:'Courier New', ui-monospace, monospace; font-size:.68rem;
  color:var(--ink-soft); text-transform:uppercase; letter-spacing:.06em;
  padding:1.2rem 0 0;
}
.breadcrumb a{ color:var(--ink-soft); }
.art-head{ padding:.9rem 0 1.6rem; border-bottom:1px solid var(--rule); }
h2.headline{ font-size:2.3rem; line-height:1.18; margin:.4rem 0 .9rem; text-wrap:balance; }
.byline{
  font-family:'Courier New', ui-monospace, monospace; font-size:.72rem;
  color:var(--ink-soft); letter-spacing:.04em; display:flex; gap:1.2rem; flex-wrap:wrap;
}
.figure{ margin:1.6rem 0; }
.figure .frame{
  border:1px solid var(--rule); overflow:hidden; background:var(--paper-2);
  aspect-ratio:16/9;
}
.figure .frame img{ width:100%; height:100%; object-fit:cover; display:block; }
.figure figcaption{
  font-family:'Courier New', monospace; font-size:.68rem; color:var(--ink-soft);
  margin-top:.5rem; text-align:center;
}
.body{ font-size:1.08rem; line-height:1.75; padding-top:.6rem; }
.body p{ margin:0 0 1.3rem; }
.body p:first-of-type::first-letter{
  font-size:3.4rem; float:left; line-height:.8; padding:.1rem .5rem 0 0; color:var(--stamp);
  font-weight:700;
}
.body h2, .body h3{
  font-size:1.3rem; margin:2rem 0 .9rem; padding-top:1.1rem; border-top:1px solid var(--rule);
  text-wrap:balance;
}
.body blockquote{
  border-left:3px solid var(--stamp); margin:1.8rem 0; padding:.3rem 0 .3rem 1.3rem;
  font-size:1.2rem; font-style:italic; color:var(--ink-soft); text-wrap:balance;
}
.appendix{
  margin-top:2rem; padding:1.1rem 1.3rem; border:1px solid var(--rule); background:var(--paper-2);
}
.appendix .stamp{ margin-bottom:.7rem; }
.appendix ul{ margin:.6rem 0 0; padding-left:1.1rem; font-size:.85rem; color:var(--ink-soft); }
.appendix a{ color:var(--ink-soft); }

.related{ padding:2rem 0 1rem; border-top:1px solid var(--rule); margin-top:2rem; }
.related .stamp{ margin-bottom:1rem; }

/* ---------- PAGINAÇÃO ---------- */
.nav-links, .pagination{
  display:flex; gap:.8rem; flex-wrap:wrap; padding:1.5rem 0;
  border-top:1px solid var(--rule);
  font-family:'Courier New', ui-monospace, monospace; font-size:.72rem;
  text-transform:uppercase; letter-spacing:.05em;
}
.nav-links a, .nav-links span, .page-numbers{
  color:var(--ink-soft); text-decoration:none; padding:.2rem .5rem; border:1px solid transparent;
}
.page-numbers.current{ border-color:var(--rule); color:var(--ink); }
.nav-links a:hover, .page-numbers:hover{ color:var(--stamp); }

/* ---------- COMENTÁRIOS (WordPress padrão) ---------- */
.comments-area{ padding:2rem 0 1rem; border-top:1px solid var(--rule); margin-top:1rem; }
.comments-area .comment-reply-title, .comments-area .comments-title{ font-size:1.1rem; margin:0 0 1rem; }
.comment-list{ list-style:none; margin:0 0 1.5rem; padding:0; }
.comment-list .comment{ padding:1rem 0; border-top:1px solid var(--rule); }
.comment-list .comment-author { font-weight:700; font-size:.9rem; }
.comment-list .comment-metadata{
  font-family:'Courier New', monospace; font-size:.65rem; color:var(--ink-soft); margin-bottom:.4rem;
}
.comment-list .comment-content p{ font-size:.92rem; line-height:1.6; margin:.3rem 0; }
.comment-form{ display:grid; gap:.7rem; max-width:520px; }
.comment-form textarea, .comment-form input[type="text"], .comment-form input[type="email"], .comment-form input[type="url"]{
  font-family:Georgia,serif; font-size:.9rem; padding:.6rem .7rem; border:1px solid var(--rule);
  background:var(--paper); color:var(--ink); width:100%;
}
.comment-form label{ font-family:'Courier New',monospace; font-size:.68rem; text-transform:uppercase; letter-spacing:.05em; color:var(--ink-soft); }
.comment-form p{ margin:0; }
.comment-form #submit, .comment-form input[type="submit"]{
  justify-self:start; font-family:'Courier New',monospace; text-transform:uppercase;
  letter-spacing:.06em; font-size:.75rem; padding:.6rem 1.1rem; border:2px solid var(--ink);
  background:transparent; color:var(--ink); cursor:pointer;
}
.comment-form #submit:hover, .comment-form input[type="submit"]:hover{ background:var(--ink); color:var(--paper); }

@media (max-width:640px){
  h1.title{ font-size:2rem; }
  .hero h2{ font-size:1.6rem; }
  h2.headline{ font-size:1.7rem; }
}
