/* ==========================================================================
   DEMOCRACIA E DIREITO — CUSTOM REDESIGN OVERLAY
   Carregar DEPOIS de style-1.5.1.min.css e do arquivo de cores (colors/default.min.css)
   Não remove nem edita os arquivos originais do tema — só sobrescreve visual.
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Source+Serif+4:opsz,wght@8..60,400;8..60,600;8..60,700;8..60,900&family=Inter:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600&display=swap');

:root{
  --ink:#12213B;
  --ink-soft:#2B3A57;
  --parchment:#F6F3EC;
  --paper:#FCFAF5;
  --green:#1C6B44;
  --green-deep:#0F4A2D;
  --red:#B23A2E;
  --gold:#B08A3E;
  --line:#D8D2C2;
  --text:#242220;
  --text-mute:#6B6558;
}

/* ---------- Base ---------- */
body{
  background:var(--parchment) !important;
  color:var(--text) !important;
  font-family:'Inter',sans-serif !important;
}
h1,h2,h3,h4,h5,.title,.title-index{
  font-family:'Source Serif 4',serif !important;
  color:var(--ink) !important;
  line-height:1.15;
}
a{ color:var(--green-deep); }
a:hover{ color:var(--green); }

/* ---------- Header / Masthead ---------- */
#header{
  background:var(--paper);
  border-bottom:3px solid var(--ink);
}
.logo-banner{
  background:var(--paper);
  padding:22px 0;
}
.logo-banner .logo{
  max-height:52px;
}

/* Top utility nav (nav/_nav_top) */
.nav-top, .top-bar, #header .nav-top-cnt{
  background:var(--ink) !important;
  color:#D9DEE8 !important;
  font-family:'JetBrains Mono',monospace;
  font-size:12px;
}
.nav-top a{ color:#D9DEE8 !important; opacity:.8; }
.nav-top a:hover{ opacity:1; color:#fff !important; }

/* ---------- Main navbar ---------- */
.main-menu.navbar{
  background:var(--ink) !important;
  border:none;
  border-radius:0;
  margin-bottom:0;
}
.main-menu .navbar-nav > li > a{
  color:#E7E9EF !important;
  font-family:'Inter',sans-serif;
  font-weight:600;
  font-size:13.5px;
  letter-spacing:.02em;
  border-bottom:3px solid transparent;
  transition:.15s;
}
.main-menu .navbar-nav > li > a:hover,
.main-menu .navbar-nav > li.active > a{
  border-bottom-color:var(--gold) !important;
  background:rgba(255,255,255,.05) !important;
  color:#fff !important;
}
.main-menu .dropdown-menu{
  background:var(--ink);
  border:none;
  border-top:2px solid var(--gold);
  border-radius:0;
}
.main-menu .dropdown-menu > li > a{
  color:#D9DEE8;
  font-size:13px;
}
.main-menu .dropdown-menu > li > a:hover{
  background:rgba(255,255,255,.08);
  color:#fff;
}
.main-menu .search-form input{
  border-radius:999px;
  border:1.5px solid var(--line);
}

/* ---------- News ticker ---------- */
.news-ticker-cnt{
  background:var(--red) !important;
  padding:0 !important;
  display:flex;
  align-items:center;
  min-height:38px;
}
.news-ticker-cnt .row{
  display:flex;
  align-items:center;
  width:100%;
}
.news-ticker-title{
  background:#8C2A20;
  color:#fff !important;
  font-family:'JetBrains Mono',monospace !important;
  font-size:11px !important;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  padding:10px 16px;
  display:inline-block;
}
.news-ticker-cnt .news-ticker,
.news-ticker-cnt .news-ticker a{
  color:#fff !important;
  font-size:13.5px;
}
.news-ticker-cnt .bnt-news-ticker{
  color:#fff !important;
}
.news-ticker-sep{ display:none; }

/* ---------- Section headers ---------- */
.section-head{
  border-bottom:2.5px solid var(--ink) !important;
  padding-bottom:10px;
  margin-bottom:22px;
}
.section-head .title a{
  font-size:23px !important;
  font-weight:700;
  color:var(--ink) !important;
}
.section-head .a-view-all{
  font-family:'JetBrains Mono',monospace;
  font-size:12px;
  font-weight:600;
  color:var(--green-deep) !important;
  text-transform:uppercase;
}

/* ---------- Post cards (used across homepage blocks) ---------- */
.post-item{
  background:transparent;
}
.post-item .category-label{
  font-family:'JetBrains Mono',monospace !important;
  font-size:10.5px !important;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  padding:4px 10px !important;
  border-radius:0 !important;
}
.post-item .title{
  font-size:16px !important;
  font-weight:600 !important;
  margin:10px 0 6px;
}
.post-item .title a{ color:var(--ink) !important; }
.post-item .description{
  font-size:13px;
  color:var(--text-mute) !important;
  line-height:1.5;
}
.post-item .post-meta{
  font-family:'JetBrains Mono',monospace;
  font-size:11px !important;
  color:var(--text-mute) !important;
}
.post-item-image{
  overflow:hidden;
  border-radius:0 !important;
}
.post-item-image img{
  transition:transform .35s ease;
}
.post-item:hover .post-item-image img{
  transform:scale(1.04);
}

/* Horizontal / list / small variants inherit the same tokens */
.post-item-horizontal .title,
.post-item-list .title,
.post-item-small .title,
.post-item-mid .title{
  font-family:'Source Serif 4',serif !important;
  color:var(--ink) !important;
}

/* ---------- Featured section (hero: #featured / .featured-box) ---------- */
#featured{
  background:var(--ink);
}
.featured-box{
  position:relative;
  overflow:hidden;
}
.featured-box .overlay{
  background:linear-gradient(180deg, rgba(10,15,22,.05) 0%, rgba(10,15,22,.92) 78%) !important;
}
.featured-box .caption{
  position:absolute;
  left:0; right:0; bottom:0;
  z-index:2;
  padding:22px;
}
.featured-box .caption .title{
  font-family:'Source Serif 4',serif !important;
  font-weight:700 !important;
  color:#fff !important;
  line-height:1.15 !important;
}
.featured-left .featured-box .caption .title{
  font-size:32px !important;
}
.featured-right .featured-box .caption .title{
  font-size:16px !important;
}
.featured-box .caption .post-meta,
.featured-box .caption .post-meta *{
  font-family:'JetBrains Mono',monospace !important;
  color:rgba(255,255,255,.65) !important;
  font-size:11px !important;
}
.featured-box > a > .category-label{
  position:absolute;
  top:16px; left:16px;
  z-index:3;
  font-family:'JetBrains Mono',monospace !important;
  border-radius:0 !important;
  text-transform:uppercase;
  letter-spacing:.1em;
  font-size:10.5px !important;
  padding:5px 12px !important;
}
.box-inner{
  height:100%;
  position:relative;
}

/* Left hero slider (real markup: .owl-carousel.featured-slider > .featured-slider-item) */
#featured-slider.featured-slider{
  background:var(--ink);
}
.featured-slider-item{
  position:relative;
  overflow:hidden;
}
.featured-slider-item .caption{
  position:absolute;
  left:0; right:0; bottom:0;
  z-index:2;
  padding:28px;
  background:linear-gradient(180deg, rgba(10,15,22,0) 0%, rgba(10,15,22,.92) 75%);
}
.featured-slider-item .caption h2.title,
.featured-slider-item .caption .title{
  font-family:'Source Serif 4',serif !important;
  font-weight:700 !important;
  color:#fff !important;
  font-size:34px !important;
  line-height:1.15 !important;
  margin:0 0 10px !important;
}
.featured-slider-item .caption .post-meta,
.featured-slider-item .caption .post-meta *{
  font-family:'JetBrains Mono',monospace !important;
  color:rgba(255,255,255,.65) !important;
  font-size:11.5px !important;
}
.featured-slider-item > a.category-label,
.featured-slider-item > a > .category-label{
  position:absolute;
  top:18px; left:18px;
  z-index:3;
  font-family:'JetBrains Mono',monospace !important;
  border-radius:0 !important;
  text-transform:uppercase;
  letter-spacing:.1em;
  font-size:10.5px !important;
  padding:5px 12px !important;
  display:inline-block;
}

/* ---------- Sidebar ---------- */
#sidebar{
  padding-top:4px;
}
#sidebar .widget,
#sidebar .sidebar-widget{
  background:var(--ink);
  color:#fff;
  padding:24px;
  margin-bottom:20px;
}
#sidebar .widget .widget-title,
#sidebar .sidebar-widget .title{
  color:#fff !important;
  font-size:16px;
  padding-bottom:12px;
  margin-bottom:14px;
  border-bottom:1px solid rgba(255,255,255,.15);
}
#sidebar .widget a,
#sidebar .sidebar-widget a{
  color:#fff !important;
}
#sidebar .widget .post-meta,
#sidebar .widget .category-label{
  color:rgba(255,255,255,.55) !important;
}
#sidebar .widget-popular-posts .num,
#sidebar .sidebar-widget-popular .num{
  font-family:'Source Serif 4',serif;
  font-size:24px;
  font-weight:700;
  color:var(--gold);
}

/* Poll widget */
.widget-poll,
.sidebar-widget-poll{
  background:var(--paper) !important;
  color:var(--text) !important;
  border:1px solid var(--line);
}
.widget-poll .title,
.sidebar-widget-poll .title{
  color:var(--ink) !important;
  border-color:var(--line) !important;
}
.poll-answer, .widget-poll li{
  border:1px solid var(--line) !important;
  border-radius:0 !important;
}
.poll-answer .progress-bar,
.widget-poll .progress-bar{
  background-color:rgba(28,107,68,.15) !important;
}

/* ---------- Buttons ---------- */
.btn-load-more{
  background:var(--ink) !important;
  color:#fff !important;
  border-radius:0 !important;
  font-family:'JetBrains Mono',monospace;
  font-size:12.5px;
  letter-spacing:.06em;
  text-transform:uppercase;
  padding:12px 24px;
}
.btn-load-more:hover{ background:var(--green-deep) !important; }

/* ---------- Footer ---------- */
footer, #footer{
  background:var(--ink) !important;
  color:#B9C1D1 !important;
  padding-top:48px;
}
footer h5, #footer h5, footer .widget-title, #footer .widget-title{
  color:#fff !important;
  font-family:'JetBrains Mono',monospace !important;
  font-size:12px !important;
  letter-spacing:.08em;
  text-transform:uppercase;
}
footer a, #footer a{ color:#9AA3B5 !important; }
footer a:hover, #footer a:hover{ color:#fff !important; }
footer .copyright, #footer .copyright{
  border-top:1px solid rgba(255,255,255,.12);
  color:#7C8499 !important;
  font-size:12px;
}

/* ---------- Category label colors stay dynamic (inline style from CMS) ---------- */
/* but square them off + normalize typography globally: */
.category-label{
  border-radius:0 !important;
  font-family:'JetBrains Mono',monospace !important;
}

/* ---------- Responsive ---------- */
@media (max-width:767px){
  .featured-slider .title,
  .owl-carousel .item h2{ font-size:24px !important; }
  .section-head .title a{ font-size:19px !important; }
}
