:root {
  --paper: #f5f0e6;
  --paper-deep: #e9e0cf;
  --ink: #171714;
  --navy: #162a44;
  --navy-2: #203b5e;
  --burgundy: #7a1f2b;
  --gold: #b18a3b;
  --muted: #6f6a60;
  --line: #2f2e2b;
  --white: #fffdf7;
  --shadow: 0 8px 24px rgba(35, 26, 16, .10);
  --radius: 2px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background:
    radial-gradient(circle at 20% 0%, rgba(177,138,59,.08), transparent 28rem),
    linear-gradient(var(--paper), var(--paper));
  font-family: Georgia, 'Times New Roman', serif;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button, input, textarea, select { font: inherit; }

.utility-bar {
  background: var(--navy);
  color: #fff;
  font-family: Arial, Helvetica, sans-serif;
  font-size: .78rem;
  letter-spacing: .02em;
}
.utility-inner {
  max-width: 1240px;
  margin: auto;
  padding: .48rem 1rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
.utility-links { display: flex; gap: 1rem; flex-wrap: wrap; }
.utility-links a:hover { color: #f6db9c; }

.masthead {
  max-width: 1240px;
  margin: 0 auto;
  padding: 1.25rem 1rem .95rem;
  display: grid;
  grid-template-columns: 160px 1fr 160px;
  align-items: center;
  gap: 1rem;
  border-bottom: 4px double var(--line);
}
.masthead-side {
  font-family: Arial, Helvetica, sans-serif;
  font-size: .72rem;
  color: var(--muted);
  text-transform: uppercase;
  line-height: 1.45;
}
.masthead-side.right { text-align: right; }
.brand { text-align: center; }
.brand-kicker {
  font-family: Arial, Helvetica, sans-serif;
  font-size: .72rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--burgundy);
  font-weight: 700;
}
.brand-title {
  margin: .15rem 0 0;
  color: var(--navy);
  font-weight: 800;
  line-height: .88;
  letter-spacing: -.045em;
  font-size: clamp(2.8rem, 7vw, 5.6rem);
  text-shadow: 0 1px 0 #fff;
}
.brand-motto {
  margin-top: .5rem;
  font-size: .92rem;
  font-style: italic;
  color: var(--muted);
}

.main-nav {
  position: sticky;
  top: 0;
  z-index: 20;
  background: rgba(245, 240, 230, .96);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--line);
  box-shadow: 0 5px 20px rgba(0,0,0,.05);
  position: relative;
}
/* Seta "deslize" — só no mobile */
.main-nav::after {
  content: '›';
  display: none;
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  width: 36px;
  line-height: 1;
  font-size: 1.4rem;
  color: var(--navy);
  background: linear-gradient(to right, transparent, rgba(245,240,230,.98) 40%);
  align-items: center;
  justify-content: flex-end;
  padding-right: 8px;
  pointer-events: none;
  animation: nav-pulse 1.8s ease-in-out infinite;
}
@keyframes nav-pulse {
  0%, 100% { opacity: .5; transform: translateX(0); }
  50%       { opacity: 1;  transform: translateX(3px); }
}
.nav-inner {
  max-width: 1240px;
  margin: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 1rem;
}
.nav-inner a {
  padding: .82rem .82rem .75rem;
  font-family: Arial, Helvetica, sans-serif;
  font-size: .78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .055em;
  border-left: 1px solid rgba(47,46,43,.18);
}
.nav-inner a:last-child { border-right: 1px solid rgba(47,46,43,.18); }
.nav-inner a:hover, .nav-inner a.active { background: var(--navy); color: #fff; }

.breaking {
  max-width: 1240px;
  margin: 1rem auto 0;
  padding: 0 1rem;
}
.breaking-line {
  display: grid;
  grid-template-columns: auto 1fr;
  border: 1px solid var(--line);
  background: var(--white);
}
.breaking-label {
  background: var(--burgundy);
  color: #fff;
  padding: .65rem .8rem;
  font: 700 .75rem/1 Arial, Helvetica, sans-serif;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.breaking-text { padding: .56rem .85rem; font-weight: 700; }

.page {
  max-width: 1240px;
  margin: 1rem auto 3rem;
  padding: 0 1rem;
}

.edition-label {
  display: flex;
  align-items: center;
  gap: .75rem;
  margin: 1.35rem 0 .65rem;
  font: 700 .72rem/1 Arial, Helvetica, sans-serif;
  text-transform: uppercase;
  letter-spacing: .16em;
  color: var(--burgundy);
}
.edition-label::before, .edition-label::after { content: ''; height: 1px; background: var(--line); flex: 1; }

.hero-grid {
  display: grid;
  grid-template-columns: 1.55fr .8fr;
  gap: 1rem;
  border-bottom: 2px solid var(--line);
  padding-bottom: 1rem;
}
.lead-story {
  border: 1px solid var(--line);
  background: var(--white);
  box-shadow: var(--shadow);
}
.lead-image {
  min-height: 410px;
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(180deg, transparent 35%, rgba(6,12,20,.82) 100%),
    radial-gradient(circle at 55% 35%, #e7c691 0 7%, transparent 7.5%),
    linear-gradient(135deg, #60764c 0 30%, #8ba06a 30% 45%, #d6c29c 45% 58%, #8b6b47 58% 100%);
}
.lead-image::after {
  content: 'CRISTO REINA';
  position: absolute;
  bottom: 1rem;
  left: 1rem;
  color: rgba(255,255,255,.92);
  font: 800 clamp(2rem, 5vw, 4.5rem)/.9 Georgia, serif;
  letter-spacing: -.04em;
  max-width: 80%;
}
.lead-copy { padding: 1rem 1.15rem 1.2rem; }
.eyebrow {
  color: var(--burgundy);
  font: 800 .72rem/1.2 Arial, Helvetica, sans-serif;
  text-transform: uppercase;
  letter-spacing: .09em;
}
.headline {
  margin: .35rem 0 .45rem;
  color: var(--navy);
  font-size: clamp(2rem, 4.6vw, 4.25rem);
  line-height: .95;
  letter-spacing: -.035em;
}
.deck { margin: 0; font-size: 1.12rem; line-height: 1.52; color: #383631; }
.byline { margin-top: .9rem; font: 700 .72rem/1.4 Arial, Helvetica, sans-serif; text-transform: uppercase; letter-spacing: .04em; color: var(--muted); }

.hero-sidebar { display: grid; gap: 1rem; }
.story-card {
  background: var(--white);
  border: 1px solid var(--line);
  padding: 1rem;
  box-shadow: 0 5px 16px rgba(35,26,16,.07);
}
.story-card.accent { border-top: 7px solid var(--gold); }
.story-card.burgundy { border-top: 7px solid var(--burgundy); }
.story-card.navy { border-top: 7px solid var(--navy); }
.story-card h3 { margin: .35rem 0 .45rem; color: var(--navy); font-size: 1.55rem; line-height: 1.06; letter-spacing: -.02em; }
.story-card p { margin: 0; line-height: 1.52; color: #4a463e; }
.story-card .readmore { display: inline-block; margin-top: .75rem; color: var(--burgundy); font: 800 .72rem/1 Arial, Helvetica, sans-serif; text-transform: uppercase; letter-spacing: .06em; }

.section { margin-top: 1.35rem; }
.section-header {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: .8rem;
  margin-bottom: .8rem;
}
.section-title {
  margin: 0;
  color: var(--navy);
  font-size: 1.55rem;
  letter-spacing: -.02em;
}
.section-rule { height: 4px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.section-link { color: var(--burgundy); font: 700 .72rem/1 Arial, Helvetica, sans-serif; text-transform: uppercase; }

.news-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
.news-card {
  background: var(--white);
  border: 1px solid #8b877e;
  min-height: 100%;
  display: flex;
  flex-direction: column;
}
.thumb {
  display: block;
  width: 100%;
  height: 190px;
  min-height: 190px;
  max-height: 190px;
  border-bottom: 1px solid var(--line);
  background-color: #e8e2d6;
  background-image: linear-gradient(135deg, rgba(22,42,68,.55), rgba(122,31,43,.3)),
    repeating-linear-gradient(45deg, #b7b4aa 0 12px, #dad3c4 12px 24px);
  background-size: cover;
  background-position: center top;
  overflow: hidden;
  flex-shrink: 0;
}
.thumb.thumb-foto { background: none; }
.thumb.thumb-foto img {
  display: block;
  width: 100%;
  height: 190px;
  min-height: 190px;
  max-height: 190px;
  object-fit: cover;
  object-position: center center;
}

/* .thumb usa background-image para corte perfeito sem distorção */
.thumb.church { background: linear-gradient(180deg,#98b1c4 0 52%,#d8d0bd 52% 100%); position:relative; }
.thumb.church::after { content:'✠'; display:grid; place-items:center; height:100%; font-size:4.2rem; color:var(--burgundy); text-shadow:0 1px #fff; }
.thumb.books { background: repeating-linear-gradient(90deg,#243f62 0 13%,#e6ddc9 13% 19%,#812d36 19% 34%,#c6a75d 34% 42%); }
.thumb.family { background: radial-gradient(circle at 30% 35%,#e7c8a8 0 10%,transparent 10.5%), radial-gradient(circle at 55% 38%,#d7b28e 0 10%,transparent 10.5%), radial-gradient(circle at 75% 42%,#edcdb1 0 8%,transparent 8.5%), linear-gradient(#839c6a 0 50%,#c9b78d 50%); }
.thumb.world { background: radial-gradient(circle at center,#738e6e 0 28%,#c8d4cf 29% 32%,#244465 33% 65%,#c9b982 66%); }
.news-card-body { padding: .85rem .9rem 1rem; flex: 1; }
.news-card h3 { margin: .3rem 0 .45rem; color: var(--navy); font-size: 1.28rem; line-height: 1.07; }
.news-card p { margin: 0; color: #4d483f; line-height: 1.46; font-size: .95rem; }

.editorial-layout { display:grid; grid-template-columns: 1fr 1fr .74fr; gap:1rem; }
.column-box {
  background: rgba(255,253,247,.78);
  border-top: 8px solid var(--navy);
  border-left: 1px solid var(--line);
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  padding: 1rem;
}
.column-box.gold { border-top-color: var(--gold); }
.column-box.burgundy { border-top-color: var(--burgundy); }
.column-box h3 { margin: 0 0 .6rem; font-size: 1.5rem; color: var(--navy); }
.column-box p { margin: 0 0 .7rem; line-height: 1.62; }
.quote-box {
  background: var(--navy);
  color: #fff;
  padding: 1.2rem;
  border: 5px double #f4e5bd;
}
.quote-box blockquote { margin: 0; font-size: 1.45rem; line-height: 1.28; font-style: italic; }
.quote-box cite { display:block; margin-top:.8rem; font:700 .72rem Arial,sans-serif; color:#f4d995; text-transform:uppercase; letter-spacing:.07em; }

.subscribe {
  margin-top: 1.4rem;
  padding: 1.25rem;
  border: 1px solid var(--line);
  outline: 5px solid rgba(177,138,59,.18);
  background: var(--navy);
  color: #fff;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 1rem;
  align-items: center;
}
.subscribe h2 { margin: 0 0 .3rem; font-size: 1.8rem; }
.subscribe p { margin: 0; color: #dbe2eb; }
.subscribe-form { display:flex; gap:.5rem; }
.subscribe input { width:min(300px,40vw); padding:.8rem .85rem; border:1px solid #fff; background:#fff; color:#111; }
.btn {
  border: 0;
  background: var(--burgundy);
  color: #fff;
  padding: .82rem 1rem;
  font: 800 .78rem Arial, sans-serif;
  text-transform: uppercase;
  letter-spacing: .055em;
  cursor: pointer;
}
.btn:hover { filter: brightness(1.12); }

.footer {
  border-top: 6px double var(--line);
  background: #e6dece;
  padding: 2rem 1rem;
}
.footer-grid { max-width:1240px; margin:auto; display:grid; grid-template-columns:1.3fr repeat(3,1fr); gap:1.5rem; }
.footer h4 { margin:.1rem 0 .6rem; color:var(--navy); }
.footer p, .footer li { color:#504c44; line-height:1.5; }
.footer ul { list-style:none; padding:0; margin:0; }
.footer-brand { font-size:2rem; color:var(--navy); font-weight:800; }
.copyright { max-width:1240px; margin:1.3rem auto 0; border-top:1px solid #918b7e; padding-top:.8rem; font: .74rem Arial,sans-serif; color:#686257; }

/* Article page */
.article-shell { display:grid; grid-template-columns:minmax(0, 1fr) 310px; gap:1.5rem; }
.article-main { background:var(--white); border:1px solid var(--line); padding:clamp(1.2rem,3vw,2.7rem); }
.article-main h1 { color:var(--navy); font-size:clamp(2.3rem,5vw,4.7rem); line-height:.96; letter-spacing:-.04em; margin:.4rem 0 .7rem; }
.article-lead { font-size:1.25rem; line-height:1.55; color:#4b463e; }
.article-meta { border-top:1px solid #c5bfb2; border-bottom:1px solid #c5bfb2; padding:.7rem 0; margin:1rem 0 1.5rem; font:.75rem Arial,sans-serif; color:var(--muted); text-transform:uppercase; }
.article-body { max-width:760px; }
.article-body p { font-size:1.11rem; line-height:1.82; margin:0 0 1.2rem; }
/* Capitular: APENAS no primeiro <p> filho direto do article-body */
/* Capitular desativada globalmente */
.article-body h2 { color:var(--navy); font-size:2rem; margin:1.7rem 0 .7rem; }
.article-pullquote { margin:1.8rem 0; padding:1rem 1.2rem; border-top:4px double var(--gold); border-bottom:4px double var(--gold); color:var(--burgundy); font-size:1.7rem; line-height:1.26; font-style:italic; text-align:center; }
.article-sidebar { display:grid; gap:1rem; align-content:start; }

/* Admin */
.admin-body { background:#ece8df; font-family:Arial,Helvetica,sans-serif; color:#20201d; }
.admin-wrap { min-height:100vh; display:grid; grid-template-columns:250px 1fr; }
.admin-sidebar { background:#14273f; color:#fff; padding:1rem 0; position:sticky; top:0; height:100vh; overflow:auto; }
.admin-logo { padding:0 1rem 1rem; border-bottom:1px solid rgba(255,255,255,.15); }
.admin-logo strong { display:block; font:800 1.45rem Georgia,serif; }
.admin-logo span { font-size:.72rem; color:#c9d2dd; }
.admin-menu { padding:.7rem 0; }
.admin-menu a { display:flex; align-items:center; gap:.7rem; padding:.72rem 1rem; color:#dce4ed; font-size:.9rem; }
.admin-menu a:hover,.admin-menu a.active { background:#7a1f2b; color:#fff; }
.admin-icon { width:1.1rem; text-align:center; }
.admin-main { min-width:0; }
.admin-topbar { height:58px; background:#fff; border-bottom:1px solid #ccc6b9; display:flex; align-items:center; justify-content:space-between; padding:0 1.25rem; position:sticky; top:0; z-index:10; }
.admin-content { padding:1.4rem; max-width:1500px; margin:auto; }
.admin-title-row { display:flex; justify-content:space-between; align-items:center; gap:1rem; margin-bottom:1rem; }
.admin-title-row h1 { margin:0; font-family:Georgia,serif; color:var(--navy); }
.admin-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; }
.stat { background:#fff; border:1px solid #c8c1b4; border-left:5px solid var(--navy); padding:1rem; }
.stat:nth-child(2){border-left-color:var(--burgundy)} .stat:nth-child(3){border-left-color:var(--gold)} .stat:nth-child(4){border-left-color:#647953}
.stat-label { color:#6c675f; font-size:.77rem; text-transform:uppercase; letter-spacing:.05em; }
.stat-value { font:700 2rem Georgia,serif; color:var(--navy); margin-top:.2rem; }
.admin-panels { display:grid; grid-template-columns:1.3fr .8fr; gap:1rem; margin-top:1rem; }
.panel { background:#fff; border:1px solid #c8c1b4; }
.panel-head { padding:.85rem 1rem; border-bottom:1px solid #d5cfc4; display:flex; justify-content:space-between; align-items:center; }
.panel-head h2 { margin:0; font:700 1.1rem Georgia,serif; color:var(--navy); }
.panel-body { padding:1rem; }
.post-row { display:grid; grid-template-columns:1fr auto; gap:.8rem; padding:.8rem 0; border-bottom:1px solid #ece7de; }
.post-row:last-child { border-bottom:0; }
.post-title { font-weight:700; color:var(--navy); }
.post-meta { margin-top:.2rem; font-size:.76rem; color:#79736a; }
.status { padding:.25rem .5rem; font-size:.7rem; border-radius:99px; background:#e7f1e7; color:#37573a; align-self:start; }
.status.draft { background:#f6ead2; color:#765d1f; }
.activity { margin:0; padding:0; list-style:none; }
.activity li { padding:.7rem 0; border-bottom:1px solid #ece7de; font-size:.87rem; line-height:1.45; }
.activity time { display:block; color:#777066; font-size:.72rem; margin-top:.2rem; }
.quick-form { display:grid; gap:.7rem; }
.quick-form input,.quick-form textarea,.quick-form select { width:100%; padding:.72rem; border:1px solid #bdb6a9; background:#fff; }
.quick-form textarea { min-height:115px; resize:vertical; }

.mobile-menu { display:none; }

@media (max-width: 980px) {
  .masthead { grid-template-columns:1fr; }
  .masthead-side { display:none; }
  .nav-inner { justify-content:flex-start; overflow-x:auto; scrollbar-width:none; }
  .nav-inner::-webkit-scrollbar { display:none; }
  .main-nav::after { display:flex; }
  .main-nav.nav-scrolled-end::after { display:none; }
  .hero-grid, .article-shell { grid-template-columns:1fr; }
  .news-grid { grid-template-columns:repeat(2,1fr); }
  .editorial-layout { grid-template-columns:1fr 1fr; }
  .editorial-layout .quote-box { grid-column:1/-1; }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .admin-grid { grid-template-columns:repeat(2,1fr); }
  .admin-panels { grid-template-columns:1fr; }
}
@media (max-width: 700px) {
  .utility-inner { flex-direction:column; align-items:flex-end; gap:.3rem; padding:.4rem .8rem; }
  .utility-inner > div:first-child { display:none; }
  .utility-links { gap:.6rem; }
  .masthead { padding-top:.9rem; }
  .brand-title { font-size:3rem; }
  .breaking-line { grid-template-columns:1fr; }
  .news-grid,.editorial-layout,.footer-grid { grid-template-columns:1fr; }
  .subscribe { grid-template-columns:1fr; }
  .subscribe-form { flex-direction:column; }
  .subscribe input { width:100%; }
  .lead-image { min-height:300px; }
  .admin-wrap { grid-template-columns:1fr; }
  .admin-sidebar { position:relative; height:auto; }
  .admin-menu { display:grid; grid-template-columns:repeat(2,1fr); }
  .admin-grid { grid-template-columns:1fr; }
  .admin-content { padding:1rem; }
}

/* ═══════════════════════════════════════════════
   Extensões do sistema CMS — páginas públicas
═══════════════════════════════════════════════ */

/* Flash messages */
.flash-msg {
  padding: .85rem 1rem;
  margin-bottom: 1rem;
  font-family: Arial, sans-serif;
  font-size: .9rem;
  border-left: 4px solid var(--gold);
  background: #fffbe8;
  color: #4a3e00;
}
.flash-msg.erro {
  border-left-color: var(--burgundy);
  background: #fff0f2;
  color: var(--burgundy);
}

/* Article share */
.article-share {
  margin-top: 2rem;
  padding-top: 1rem;
  border-top: 1px solid #c5bfb2;
  display: flex;
  gap: 1rem;
  align-items: center;
  font-family: Arial, sans-serif;
  font-size: .82rem;
  color: var(--muted);
  flex-wrap: wrap;
}
.article-share a {
  color: var(--burgundy);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .05em;
}
.article-share a:hover { text-decoration: underline; }
.article-figure { margin: 0 0 1.5rem; }
.article-figure img { width: 100%; border: 1px solid var(--line); }

/* Busca */
.busca-form {
  display: flex;
  gap: .5rem;
  margin: 1rem 0 1.5rem;
  flex-wrap: wrap;
}
.busca-form input[type=search] {
  flex: 1;
  min-width: 220px;
  padding: .82rem;
  border: 1px solid var(--line);
  background: var(--white);
  font-size: 1rem;
}

/* Paginação */
.paginacao {
  display: flex;
  gap: .4rem;
  margin-top: 2rem;
  font-family: Arial, sans-serif;
}
.paginacao a {
  padding: .5rem .85rem;
  border: 1px solid var(--line);
  background: var(--white);
  font-size: .85rem;
  color: var(--navy);
}
.paginacao a.ativo, .paginacao a:hover {
  background: var(--navy);
  color: #fff;
}

/* Section desc */
.section-desc {
  margin: 0 0 1rem;
  color: var(--muted);
  font-size: 1rem;
  line-height: 1.6;
  font-family: Arial, sans-serif;
}

/* ═══════════════════════════════════════════════
   Admin CSS Extensions
═══════════════════════════════════════════════ */

/* Filters bar */
.admin-filters {
  display: flex;
  gap: .5rem;
  flex-wrap: wrap;
  margin-bottom: .5rem;
}
.admin-filters input, .admin-filters select {
  padding: .6rem .75rem;
  border: 1px solid #bdb6a9;
  background: #fff;
  font-size: .87rem;
  font-family: Arial, sans-serif;
}
.admin-filters input[type=search] { min-width: 200px; }

/* Tables */
.admin-table {
  width: 100%;
  border-collapse: collapse;
  font-family: Arial, sans-serif;
  font-size: .87rem;
}
.admin-table th {
  background: #f5f1ea;
  border-bottom: 2px solid #d5cfc4;
  padding: .65rem 1rem;
  text-align: left;
  font-size: .75rem;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: #6c675f;
}
.admin-table td {
  padding: .72rem 1rem;
  border-bottom: 1px solid #ece7de;
  vertical-align: middle;
}
.admin-table tbody tr:last-child td { border-bottom: 0; }
.admin-table tbody tr:hover { background: #faf7f2; }
.table-title { color: var(--navy); font-weight: 700; }
.table-title:hover { color: var(--burgundy); }
.table-actions { display: flex; gap: .6rem; align-items: center; white-space: nowrap; }
.table-actions a, .table-actions .btn-link, .table-actions button {
  font-size: .78rem;
  color: var(--burgundy);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  font-family: inherit;
}
.table-actions a:hover, .table-actions .btn-link:hover { text-decoration: underline; }
.del-link { color: #a33 !important; }
.badge-destaque {
  font-size: .7rem;
  background: #fef3c7;
  color: #854d0e;
  padding: .1rem .35rem;
  border-radius: 3px;
  margin-left: .3rem;
}

/* Btn variations */
.btn-outline {
  background: transparent;
  border: 1px solid var(--burgundy);
  color: var(--burgundy);
}
.btn-outline:hover { background: var(--burgundy); color: #fff; }
.btn-link {
  background: none; border: none;
  color: var(--burgundy); cursor: pointer;
  font-family: inherit; padding: 0;
}

/* Post form */
.post-form-grid {
  display: grid;
  grid-template-columns: 1fr 300px;
  gap: 1rem;
  align-items: start;
}
.post-form-main, .post-form-sidebar { display: grid; gap: 0; }
.form-field { margin-bottom: .9rem; }
.form-field label {
  display: block;
  font-size: .78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: #6c675f;
  margin-bottom: .3rem;
}
.form-field input[type=text],
.form-field input[type=email],
.form-field input[type=number],
.form-field input[type=datetime-local],
.form-field input[type=search],
.form-field textarea,
.form-field select {
  width: 100%;
  padding: .72rem;
  border: 1px solid #bdb6a9;
  background: #fff;
  font: inherit;
  font-size: .95rem;
}
.form-field input:focus, .form-field textarea:focus, .form-field select:focus {
  outline: 2px solid var(--burgundy);
  border-color: var(--burgundy);
}
.form-field textarea { min-height: 80px; resize: vertical; }
.titulo-input { font-size: 1.1rem !important; font-weight: 700; }
.slug-preview {
  display: inline-block;
  background: #ece8df;
  padding: .3rem .6rem;
  font-size: .82rem;
  color: #6c675f;
  border: 1px solid #c8c1b4;
}

/* Rich editor */
.editor-toolbar {
  display: flex;
  gap: 2px;
  padding: .4rem;
  background: #f0ece4;
  border: 1px solid #bdb6a9;
  border-bottom: 0;
  flex-wrap: wrap;
}
.editor-toolbar.is-sticky {
  position: fixed;
  top: 58px;
  z-index: 100;
  box-shadow: 0 3px 10px rgba(0,0,0,.15);
  border: 1px solid #bdb6a9;
}
.editor-toolbar button {
  padding: .3rem .6rem;
  background: #fff;
  border: 1px solid #c8c1b4;
  cursor: pointer;
  font-size: .82rem;
  font-family: inherit;
  color: var(--navy);
}
.editor-toolbar button:hover { background: var(--navy); color: #fff; }
.rich-editor {
  min-height: 320px;
  padding: 1rem;
  border: 1px solid #bdb6a9;
  background: #fff;
  line-height: 1.75;
  font-size: 1rem;
  font-family: Georgia, serif;
  color: var(--ink);
  overflow-y: auto;
}
.rich-editor:focus { outline: 2px solid var(--burgundy); }
.rich-editor h2 { color: var(--navy); font-size: 1.6rem; margin: 1.2rem 0 .5rem; }
.rich-editor h3 { color: var(--navy); font-size: 1.3rem; margin: 1rem 0 .4rem; }
.rich-editor p { margin: 0 0 .9rem; }
.rich-editor .article-pullquote {
  margin: 1.2rem 0; padding: .8rem 1rem;
  border-top: 4px double var(--gold); border-bottom: 4px double var(--gold);
  color: var(--burgundy); font-size: 1.4rem; font-style: italic; text-align: center;
}

/* Toggle */
.toggle-label {
  display: flex;
  align-items: center;
  gap: .5rem;
  font-size: .88rem;
  font-family: Arial, sans-serif;
  cursor: pointer;
}

/* Capa editor */
.capa-editor { display: grid; gap: 1rem; }
.capa-bloco {
  background: #fff;
  border: 1px solid #c8c1b4;
  padding: 1rem;
}
.capa-bloco-titulo {
  font: 700 .82rem Arial, sans-serif;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--navy);
  margin-bottom: .8rem;
  padding-bottom: .5rem;
  border-bottom: 1px solid #e0d9ce;
}
.capa-lead .capa-select { max-width: 680px; }
.capa-slots-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: .75rem; }
.capa-slot label {
  display: block;
  font-size: .75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: #6c675f;
  margin-bottom: .3rem;
}
.capa-select {
  width: 100%;
  padding: .65rem;
  border: 1px solid #bdb6a9;
  background: #fff;
  font-family: Arial, sans-serif;
  font-size: .88rem;
}

/* Status variants */
.status.revisao  { background: #e8f0fe; color: #1a5276; }
.status.agendado { background: #fde8f8; color: #6d2a5e; }

/* Admin menu always-bottom links */
.admin-menu { display: flex; flex-direction: column; }

@media (max-width: 980px) {
  .post-form-grid { grid-template-columns: 1fr; }
  .capa-slots-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 700px) {
  .capa-slots-grid { grid-template-columns: 1fr; }
  .admin-filters { flex-direction: column; }
  .table-actions { flex-wrap: wrap; }
}

/* ═══════════════════════════════════════════════
   Arquivo editorial
═══════════════════════════════════════════════ */
.arquivo-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  flex-wrap: wrap;
  margin-bottom: 1.5rem;
  padding-bottom: 1rem;
  border-bottom: 4px double var(--line);
}
.arquivo-resumo {
  margin: .25rem 0 0;
  font-family: Arial, sans-serif;
  font-size: .88rem;
  color: var(--muted);
}
.arquivo-anos {
  display: flex;
  gap: .3rem;
  flex-wrap: wrap;
}
.arquivo-anos a {
  padding: .35rem .75rem;
  border: 1px solid var(--line);
  background: var(--white);
  font: 700 .78rem Arial, sans-serif;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: var(--navy);
}
.arquivo-anos a:hover,
.arquivo-anos a.ativo {
  background: var(--navy);
  color: #fff;
  border-color: var(--navy);
}

/* Bloco de mês */
.arquivo-mes {
  margin-bottom: 2.5rem;
}
.arquivo-contagem {
  font: 700 .72rem Arial, sans-serif;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--muted);
  white-space: nowrap;
}

/* Lista de artigos */
.arquivo-lista {
  display: flex;
  flex-direction: column;
  border-top: 1px solid #c8c1b4;
}
.arquivo-item {
  display: grid;
  grid-template-columns: 52px 1fr;
  gap: 1rem;
  align-items: start;
  padding: 1rem 0;
  border-bottom: 1px solid #ddd7cc;
}
.arquivo-item:last-child {
  border-bottom: none;
}

/* Coluna de data */
.arquivo-data {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: .15rem;
  min-width: 42px;
}
.arquivo-dia {
  font: 800 1.9rem/1 Georgia, serif;
  color: var(--navy);
}
.arquivo-mes-abrev {
  font: 700 .7rem/1 Arial, sans-serif;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--muted);
  margin-top: .1rem;
}

/* Corpo do artigo na lista */
.arquivo-corpo { min-width: 0; }
.arquivo-meta {
  display: flex;
  align-items: center;
  gap: .4rem;
  flex-wrap: wrap;
  margin-bottom: .3rem;
}
.arquivo-sep { color: #c0b9af; font-size: .8rem; }
.arquivo-autor {
  font: 400 .75rem Arial, sans-serif;
  color: var(--muted);
}
.arquivo-tempo {
  font: 400 .75rem Arial, sans-serif;
  color: var(--muted);
}
.arquivo-titulo {
  margin: 0 0 .3rem;
  font-size: 1.35rem;
  line-height: 1.1;
  letter-spacing: -.02em;
}
.arquivo-titulo a {
  color: var(--navy);
}
.arquivo-titulo a:hover { color: var(--burgundy); }
.arquivo-linha {
  margin: 0;
  font-size: .92rem;
  line-height: 1.5;
  color: #4a463e;
}

/* Thumbnail */
.arquivo-thumb {
  display: block;
  width: 56px;
  flex-shrink: 0;
}
.arquivo-thumb img {
  width: 56px;
  height: 38px;
  object-fit: cover;
  border: 1px solid var(--line);
  display: block;
}

/* Índice de meses (footer) */
.arquivo-indice {
  margin-top: 2rem;
  padding: 1rem;
  background: var(--white);
  border: 1px solid #c8c1b4;
  border-top: 4px solid var(--navy);
  display: flex;
  flex-wrap: wrap;
  gap: .3rem .6rem;
  align-items: center;
}
.arquivo-indice-titulo {
  font: 700 .72rem Arial, sans-serif;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--muted);
  width: 100%;
  margin-bottom: .2rem;
}
.arquivo-indice a {
  font: 400 .82rem Arial, sans-serif;
  color: var(--navy);
  padding: .2rem .4rem;
  border: 1px solid transparent;
}
.arquivo-indice a:hover {
  border-color: var(--line);
  background: var(--paper-deep);
}
.arquivo-indice a span {
  color: var(--muted);
  font-size: .75rem;
}

@media (max-width: 600px) {
  .arquivo-item { grid-template-columns: 42px 1fr; }
  .arquivo-thumb { display: none; }
  .arquivo-data { min-width: 34px; }
  .arquivo-dia { font-size: 1.5rem; }
  .arquivo-header { flex-direction: column; }
}

/* Dica de scroll do menu */
.nav-scroll-hint {
  display: none; /* JS controla */
  text-align: right;
  padding: .55rem 1.2rem;
  padding-top: calc(.55rem + 10px);
  font-family: Arial, sans-serif;
  font-size: .72rem;
  color: var(--muted);
  background: var(--paper-deep);
  border-bottom: 1px solid #d5cfc4;
  letter-spacing: .05em;
}

/* ── Sumário do artigo ─────────────────────────────────────── */
.article-sumario {
  background: var(--white);
  border: 1px solid #c8c1b4;
  border-left: 4px solid var(--navy);
  padding: 1rem 1.4rem;
  margin: 0 0 1.8rem;
  display: inline-block;
  min-width: 240px;
  max-width: 100%;
}
.article-sumario strong {
  display: block;
  font: 700 .78rem Arial, sans-serif;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--navy);
  margin-bottom: .6rem;
}
.article-sumario ol {
  margin: 0;
  padding-left: 1.2rem;
  line-height: 1.7;
}
.article-sumario li {
  font-size: .92rem;
  font-family: Arial, sans-serif;
}
.article-sumario a {
  color: var(--navy);
}
.article-sumario a:hover {
  color: var(--burgundy);
  text-decoration: underline;
}

/* ── Abas do Arquivo ───────────────────────────────────────── */
.arquivo-abas {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .6rem;
  margin: 2rem 0 2.2rem;
  padding: 1.4rem 0;
  border-top: 1px solid #d5cfc4;
  border-bottom: 1px solid #d5cfc4;
}
.arquivo-abas-label {
  font: 700 .75rem Arial, sans-serif;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--muted);
  margin-right: .4rem;
}
.arquivo-aba {
  padding: .65rem 1.6rem;
  font: 700 .82rem Arial, sans-serif;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--navy);
  border: 2px solid var(--navy);
  background: transparent;
  transition: all .15s;
}
.arquivo-aba:hover {
  background: var(--navy);
  color: #fff;
}
.arquivo-aba.ativa {
  background: var(--navy);
  color: #fff;
  border-color: var(--navy);
}

/* ── Subcategorias na página de categoria ─────────────────── */
.subcat-nav {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  margin-bottom: 1.8rem;
  padding-bottom: 1rem;
  border-bottom: 2px solid #d5cfc4;
}
.subcat-aba {
  padding: .5rem 1.1rem;
  font: 700 .78rem Arial, sans-serif;
  text-transform: uppercase;
  letter-spacing: .07em;
  border: 1px solid var(--navy);
  color: var(--navy);
  background: transparent;
}
.subcat-aba:hover {
  background: var(--navy);
  color: #fff;
}
.subcat-grupo {
  margin-bottom: 2.5rem;
}
/* ── Player de áudio do artigo ─────────────────────────────── */
.article-audio {
  margin: 2rem 0 2rem;
  padding: 1.2rem 1.4rem;
  background: var(--white);
  border: 1px solid #c8c1b4;
  border-left: 4px solid var(--navy);
}
.article-audio-label {
  font: 700 .78rem Arial, sans-serif;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--navy);
  margin-bottom: .8rem;
}

/* ── Navegação anterior / próximo ──────────────────────────── */
.article-nav {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  margin: 2.5rem 0 1.5rem;
  max-width: 760px;
}
.article-nav-anterior a,
.article-nav-proximo a {
  display: flex;
  flex-direction: column;
  gap: .4rem;
  padding: 1.1rem 1.2rem;
  background: var(--white);
  border: 1px solid #c8c1b4;
  border-top: 3px solid var(--burgundy);
  height: 100%;
  transition: border-color .15s, box-shadow .15s;
}
.article-nav-proximo a {
  border-top-color: var(--navy);
  text-align: right;
}
.article-nav-anterior a:hover,
.article-nav-proximo a:hover {
  box-shadow: 0 2px 8px rgba(0,0,0,.08);
}
.article-nav-label {
  font: 700 .72rem Arial, sans-serif;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--burgundy);
}
.article-nav-proximo .article-nav-label {
  color: var(--navy);
}
.article-nav-titulo {
  font: 600 1rem Georgia, serif;
  color: var(--navy);
  line-height: 1.35;
}

/* ── Curtir ────────────────────────────────────────────────── */
.article-curtir {
  display: flex;
  align-items: center;
  padding: 1.2rem 0;
  margin: 1rem 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}