/* ═══════════════════════════════════════════════════════
   Portal de Notícias — style.css
   ═══════════════════════════════════════════════════════ */

:root {
  --accent:       #C2410C;
  --accent-dark:  #9A3412;
  --accent-light: #FFEDD5;
  --accent-soft:  #FFF7ED;
  --accent-rgb:   194,65,12;
  --accent-contrast: #fff;
  --highlight:    #FB923C;
  --dark:         #2A1A12;
  --dark2:        #3D2619;
  --text:         #1e293b;
  --muted:        #64748b;
  --border:       #e2e8f0;
  --bg:           #f1f5f9;
  --bg-white:     #ffffff;
  --radius-sm:    6px;
  --radius:       12px;
  --radius-lg:    18px;
  --shadow-sm:    0 1px 3px rgba(0,0,0,.08),0 1px 2px rgba(0,0,0,.04);
  --shadow:       0 4px 16px rgba(0,0,0,.08),0 2px 4px rgba(0,0,0,.04);
  --shadow-md:    0 10px 30px rgba(0,0,0,.12),0 4px 8px rgba(0,0,0,.06);
  --shadow-lg:    0 20px 60px rgba(0,0,0,.18);
  --header-h:     62px;
  --tr:           .22s cubic-bezier(.4,0,.2,1);
  /* aliases para compatibilidade com regras existentes */
  --red:          var(--accent);
  --red-dark:     var(--accent-dark);
  --red-light:    var(--accent-light);
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  font-family: 'Inter', system-ui, sans-serif;
  color: var(--text);
  background: var(--bg);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
a { color: var(--red); text-decoration: none; transition: color var(--tr); }
a:hover { color: var(--red-dark); }
img { max-width: 100%; height: auto; display: block; }

/* ─ Header ─ */
.site-header {
  background:var(--dark);
  position:sticky;
  top:0;
  z-index:999;
  height:var(--header-h);
  border-bottom:3px solid var(--accent);
  box-shadow:0 4px 20px rgba(0,0,0,.2);
}
.header-inner { display:flex; align-items:center; justify-content:space-between; height:var(--header-h); gap:1.5rem; }
.site-logo { display:flex; align-items:center; gap:.6rem; text-decoration:none; flex-shrink:0; }
.logo-icon { width:40px; height:40px; flex-shrink:0; display:block; }
.logo-icon img { width:100%; height:100%; display:block; border-radius:8px; object-fit:cover; }
.logo-img { display:block; height:48px; width:auto; max-width:min(320px, 62vw); object-fit:contain; }
@media (max-width:576px) { .logo-img { height:38px; } }
.logo-text { display:flex; flex-direction:column; line-height:1; }
.logo-name { font-size:1.35rem; font-weight:500; color:#fff; letter-spacing:-1px; }
.logo-name { font-weight:800; }
.logo-name span { color:var(--highlight); font-weight:800; letter-spacing:-1px; }
.logo-tag { font-size:.56rem; color:rgba(255,255,255,.6); letter-spacing:.04em; margin-top:2px; }
.main-nav { display:flex; align-items:center; }
.nav-list { display:flex; gap:0; list-style:none; }
.nav-list .nav-link {
  color:rgba(255,255,255,.72);
  padding:.55rem 1rem;
  font-size:.8rem;
  font-weight:600;
  letter-spacing:.01em;
  white-space:nowrap;
  position:relative;
  transition:color var(--tr);
}
.nav-list .nav-link::after {
  content:'';
  position:absolute;
  bottom:-2px;
  left:50%;right:50%;
  height:2px;
  background:#fff;
  transition:left var(--tr),right var(--tr);
}
.nav-list .nav-link:hover,
.nav-list .nav-link.active { color:#fff; }
.nav-list .nav-link:hover::after,
.nav-list .nav-link.active::after { left:0;right:0; }
.dropdown-wrap { position:relative; }
.dropdown-menu-custom {
  display:none;
  position:absolute;
  top:calc(100% + 6px);
  left:0;
  background:#fff;
  border-radius:var(--radius-sm);
  box-shadow:var(--shadow-md);
  list-style:none;
  padding:.4rem 0;
  min-width:195px;
  z-index:200;
  border-top:3px solid var(--accent);
}
.dropdown-wrap.open .dropdown-menu-custom { display:block; }
@media (min-width:992px) and (hover:hover) { .dropdown-wrap:hover .dropdown-menu-custom { display:block; } }
.dropdown-menu-custom a { display:flex; align-items:center; gap:.5rem; padding:.5rem 1rem; color:var(--text); font-size:.8rem; font-weight:500; }
.dropdown-menu-custom a:hover { background:var(--red-light); color:var(--red); }
.hamburger { display:none; flex-direction:column; gap:5px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.12); border-radius:var(--radius-sm); cursor:pointer; padding:.48rem .55rem; }
.hamburger span { display:block; width:20px; height:2px; background:#fff; border-radius:2px; transition:all .3s; }
.hamburger.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.hamburger.open span:nth-child(2){opacity:0;width:0}
.hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}
.nav-overlay { display:none; position:fixed; inset:0; background:rgba(0,0,0,.55); backdrop-filter:blur(4px); z-index:998; }
.nav-overlay.active { display:block; }

/* ─ Layout ─ */
.main-content { min-height:70vh; padding-bottom:3.5rem; }

/* ─ Section title ─ */
.section-title {
  display:flex;
  align-items:center;
  gap:.5rem;
  font-size:.72rem;
  font-weight:800;
  color:var(--dark);
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-bottom:1rem;
  padding-bottom:.5rem;
  border-bottom:1px solid var(--border);
}
.section-title::before { content:''; display:block; width:3px; height:.9em; background:var(--red); border-radius:2px; flex-shrink:0; }
.section-title .total-count { font-size:.7rem; color:var(--muted); font-weight:500; text-transform:none; letter-spacing:0; margin-left:auto; background:var(--bg-white); padding:.15rem .5rem; border-radius:20px; border:1px solid var(--border); }

/* ─ Badge cat ─ */
.badge-cat { display:inline-block; background:var(--cat-color,var(--red)); color:var(--cat-text,#fff); font-size:.6rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; padding:.18rem .55rem; border-radius:3px; }
.badge-cat:hover { filter:brightness(.9); color:var(--cat-text,#fff); }

/* ─ HERO ─ */
.hero-card { border-radius:var(--radius-lg); overflow:hidden; position:relative; background:var(--dark); box-shadow:var(--shadow-md); margin-bottom:1.5rem; }
.hero-img-wrap { position:relative; overflow:hidden; }
.hero-img { width:100%; height:clamp(260px,42vw,500px); object-fit:cover; display:block; transition:transform .7s ease; }
.hero-card:hover .hero-img { transform:scale(1.04); }
.hero-img-wrap::after {
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(to bottom,transparent 20%,rgba(5,5,15,.55) 60%,rgba(5,5,15,.95) 100%);
}
.hero-body { position:absolute; bottom:0; left:0; right:0; padding:1.5rem 2rem 2rem; z-index:2; }
.hero-cat { display:inline-block; background:var(--red); color:#fff; font-size:.6rem; font-weight:800; text-transform:uppercase; letter-spacing:.1em; padding:.22rem .65rem; border-radius:3px; margin-bottom:.75rem; }
.hero-title { font-size:clamp(1.3rem,3vw,2.1rem); font-weight:800; line-height:1.18; margin-bottom:.6rem; font-family:'Merriweather',serif; }
.hero-title a { color:#fff; }
.hero-title a:hover { color:rgba(255,255,255,.88); }
.hero-sub { color:rgba(255,255,255,.72); font-size:.88rem; line-height:1.5; margin-bottom:.9rem; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.hero-meta { display:flex; gap:1rem; font-size:.72rem; color:rgba(255,255,255,.55); flex-wrap:wrap; align-items:center; margin-bottom:1rem; }
.hero-meta i { color:var(--highlight); margin-right:.15rem; }
.btn-hero { display:inline-flex; align-items:center; gap:.4rem; background:var(--red); color:#fff !important; font-size:.78rem; font-weight:700; padding:.55rem 1.35rem; border-radius:50px; transition:background var(--tr),transform var(--tr); letter-spacing:.02em; }
.btn-hero:hover { background:var(--red-dark); transform:translateY(-1px); }

/* ─ News list compact ─ */
.news-list { display:flex; flex-direction:column; gap:0; background:var(--bg-white); border-radius:var(--radius); box-shadow:var(--shadow-sm); overflow:hidden; padding:.25rem .75rem; }
.news-list-item { display:flex; gap:.85rem; padding:.85rem 0; border-bottom:1px solid var(--border); }
.news-list-item:last-child { border-bottom:none; }
.news-list-thumb { flex-shrink:0; width:88px; height:66px; border-radius:var(--radius-sm); overflow:hidden; background:var(--border); }
.news-list-thumb img { width:100%; height:100%; object-fit:cover; transition:transform var(--tr); }
.news-list-thumb:hover img { transform:scale(1.07); }
.news-list-body { flex:1; min-width:0; display:flex; flex-direction:column; gap:.2rem; justify-content:center; }
.news-list-title { font-size:.83rem; font-weight:700; line-height:1.35; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.news-list-title a { color:var(--text); }
.news-list-title a:hover { color:var(--red); }
.news-list-date { font-size:.68rem; color:var(--muted); display:flex; align-items:center; gap:.2rem; }

/* ─ News card grid ─ */
.news-card { background:var(--bg-white); border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow-sm); transition:box-shadow var(--tr),transform var(--tr); display:flex; flex-direction:column; }
.news-card:hover { box-shadow:var(--shadow-md); transform:translateY(-4px); }
.news-card-img-wrap { overflow:hidden; }
.news-card .card-img { width:100%; aspect-ratio:16/9; object-fit:cover; display:block; transition:transform .5s ease; }
.news-card:hover .card-img { transform:scale(1.06); }
.news-card-body { padding:1rem 1.1rem 1.2rem; flex:1; display:flex; flex-direction:column; gap:.4rem; }
.news-card-title { font-size:.88rem; font-weight:700; line-height:1.35; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.news-card-title a { color:var(--text); }
.news-card-title a:hover { color:var(--red); }
.news-card-sub { font-size:.76rem; color:var(--muted); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; flex:1; }
.news-card-foot { display:flex; align-items:center; justify-content:space-between; margin-top:.5rem; padding-top:.55rem; border-top:1px solid var(--border); font-size:.68rem; color:var(--muted); }

/* ─ News list full ─ */
.news-list-full { display:flex; flex-direction:column; gap:1px; background:var(--border); border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow-sm); }
.news-list-full-item { display:flex; gap:1.2rem; padding:1.1rem 1.25rem; background:var(--bg-white); transition:background var(--tr); }
.news-list-full-item:hover { background:#fafbfc; }
.news-list-full-thumb { flex-shrink:0; width:155px; height:112px; border-radius:var(--radius-sm); overflow:hidden; background:var(--border); }
.news-list-full-thumb img { width:100%; height:100%; object-fit:cover; transition:transform .4s; }
.news-list-full-item:hover .news-list-full-thumb img { transform:scale(1.05); }
.news-list-full-body { flex:1; min-width:0; display:flex; flex-direction:column; gap:.35rem; justify-content:center; }
.news-full-title { font-size:1rem; font-weight:700; line-height:1.35; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.news-full-title a { color:var(--text); }
.news-full-title a:hover { color:var(--red); }
.news-full-sub { font-size:.8rem; color:var(--muted); line-height:1.45; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.news-full-meta { display:flex; gap:.85rem; font-size:.7rem; color:var(--muted); flex-wrap:wrap; }
.news-full-meta i { color:var(--red); }

/* ─ Sidebar ─ */
.sidebar-widget { background:var(--bg-white); border-radius:var(--radius); box-shadow:var(--shadow-sm); overflow:hidden; }
.widget-title { display:flex; align-items:center; gap:.45rem; font-size:.65rem; font-weight:800; text-transform:uppercase; letter-spacing:.1em; color:var(--dark); padding:.6rem .9rem; border-bottom:1px solid var(--border); }
.widget-title::before { content:''; width:3px; height:.85em; background:var(--red); border-radius:2px; display:block; flex-shrink:0; }
.widget-title i { color:var(--red); }

/* Most read */
.most-read-list { list-style:none; padding:.3rem .75rem; counter-reset:mrl; }
.most-read-list li { counter-increment:mrl; display:flex; align-items:flex-start; gap:.7rem; padding:.72rem .25rem; border-bottom:1px solid var(--border); }
.most-read-list li:last-child { border-bottom:none; }
.most-read-list li::before { content:counter(mrl); font-size:1.4rem; font-weight:900; color:var(--border); line-height:1; flex-shrink:0; width:26px; text-align:center; }
.most-read-list li:first-child::before { color:rgba(var(--accent-rgb),.25); }
.most-read-content { flex:1; min-width:0; display:flex; flex-direction:column; gap:.2rem; }
.most-read-list li a { font-size:.8rem; font-weight:600; color:var(--text); line-height:1.35; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.most-read-list li a:hover { color:var(--red); }
.views-count { font-size:.66rem; color:var(--muted); display:flex; align-items:center; gap:.2rem; }

/* Cat list */
.cat-list { list-style:none; padding:.4rem .75rem; }
.cat-list li { border-bottom:1px solid var(--border); }
.cat-list li:last-child { border-bottom:none; }
.cat-list li a { display:flex; align-items:center; justify-content:space-between; padding:.6rem .25rem; font-size:.8rem; font-weight:500; color:var(--text); }
.cat-list li a::after { content:'›'; color:var(--muted); }
.cat-list li a:hover { color:var(--red); }

/* Weather */
#weatherContent { padding:1rem 1.1rem .5rem; }
.weather-main { display:flex; align-items:center; gap:1rem; margin-bottom:.75rem; }
.weather-icon { font-size:3rem; line-height:1; }
.weather-temp { font-size:2.6rem; font-weight:900; color:var(--dark); line-height:1; letter-spacing:-1px; }
.weather-cond { font-size:.8rem; color:var(--muted); font-weight:500; margin-top:.1rem; }
.weather-details { display:grid; grid-template-columns:1fr 1fr; gap:.4rem .75rem; padding:.75rem 1.1rem 1rem; background:var(--bg); font-size:.73rem; color:var(--muted); border-top:1px solid var(--border); }
.weather-details span { display:flex; align-items:center; gap:.3rem; }
.weather-details i { color:var(--red); }
.widget-city-name { padding:.45rem 1.1rem .85rem; font-size:.7rem; color:var(--muted); display:flex; align-items:center; gap:.3rem; }
.widget-city-name i { color:var(--red); }

/* Ads */
.ad-block { text-align:center; }
.sidebar-ad { padding:.5rem; }

/* ─ Article ─ */
.article-full { background:var(--bg-white); border-radius:var(--radius); padding:2rem; box-shadow:var(--shadow-sm); }
.article-title { font-size:clamp(1.4rem,3.5vw,2.1rem); font-weight:800; line-height:1.18; color:var(--dark); margin-bottom:.75rem; font-family:'Merriweather',serif; }
.article-subtitle { font-size:1.05rem; color:var(--muted); line-height:1.6; margin-bottom:1.25rem; padding-left:1rem; border-left:3px solid var(--red); font-style:italic; }
.article-meta { display:flex; gap:1.1rem; font-size:.73rem; color:var(--muted); flex-wrap:wrap; align-items:center; padding:.9rem 0; border-top:1px solid var(--border); border-bottom:1px solid var(--border); margin-bottom:1.5rem; }
.article-meta i { color:var(--red); margin-right:.15rem; }
.article-figure { margin:0 -2rem 1.75rem; }
.article-img { width:100%; aspect-ratio:16/7; object-fit:cover; display:block; }
.article-figure figcaption { font-size:.7rem; color:var(--muted); padding:.42rem 2rem; background:var(--bg); border-bottom:1px solid var(--border); font-style:italic; }
.article-body { font-family:'Merriweather',serif; font-size:.97rem; line-height:1.92; color:#2d3748; text-align:left; }
.article-body p { margin-bottom:1.4rem; }
.article-body p:last-child { margin-bottom:0; }
.article-body h2 { font-family:'Inter',sans-serif; font-size:1.2rem; font-weight:800; margin:2rem 0 .85rem; color:var(--dark); border-left:3px solid var(--red); padding-left:.75rem; }
.article-body h3 { font-family:'Inter',sans-serif; font-size:1.05rem; font-weight:700; margin:1.5rem 0 .65rem; color:var(--dark); }
.article-body blockquote { border-left:4px solid var(--red); padding:1rem 1.25rem; margin:1.5rem 0; background:var(--red-light); border-radius:0 var(--radius-sm) var(--radius-sm) 0; font-style:italic; color:#555; }
.article-body ul,.article-body ol { padding-left:1.75rem; margin-bottom:1.25rem; }
.article-body li { margin-bottom:.4rem; }

/* Tags */
.article-tags { display:flex; align-items:center; gap:.5rem; flex-wrap:wrap; margin-top:2rem; padding-top:1.25rem; border-top:1px solid var(--border); }
.article-tags>i { color:var(--muted); }
.tag-link { background:var(--bg); color:var(--muted); font-size:.7rem; font-weight:600; padding:.26rem .75rem; border-radius:50px; border:1px solid var(--border); transition:all var(--tr); }
.tag-link:hover { background:var(--red); color:#fff; border-color:var(--red); }

/* Share */
.share-box { background:var(--bg); border-radius:var(--radius); padding:1rem 1.25rem; display:flex; align-items:center; gap:.75rem; flex-wrap:wrap; margin-top:1.5rem; border:1px solid var(--border); }
.share-label { font-size:.72rem; font-weight:800; color:var(--dark); white-space:nowrap; text-transform:uppercase; letter-spacing:.07em; }
.share-buttons { display:flex; gap:.45rem; flex-wrap:wrap; }
.share-btn { display:inline-flex; align-items:center; gap:.35rem; padding:.4rem .9rem; border-radius:50px; font-size:.74rem; font-weight:700; cursor:pointer; border:none; text-decoration:none; transition:all var(--tr); letter-spacing:.02em; }
.share-btn:hover { transform:translateY(-2px); box-shadow:0 4px 14px rgba(0,0,0,.2); }
.share-btn.whatsapp  { background:#25d366; color:#fff; }
.share-btn.facebook  { background:#1877f2; color:#fff; }
.share-btn.twitter, .share-btn.x { background:#000; color:#fff; }
.share-btn.telegram { background:#2AABEE; color:#fff; }
.share-btn.copy      { background:var(--dark2); color:#fff; }

/* ─ Cat pills ─ */
.cat-pills { display:flex; flex-wrap:wrap; gap:.4rem; margin-bottom:1.2rem; }
.cat-pill { padding:.3rem .88rem; border-radius:50px; background:var(--bg-white); color:var(--muted); font-size:.73rem; font-weight:600; border:1px solid var(--border); transition:all var(--tr); }
.cat-pill[style] { border-color:var(--cat-color); color:var(--cat-color); }
.cat-pill:hover,.cat-pill.active { background:var(--cat-color,var(--red)); color:var(--cat-text,#fff); border-color:var(--cat-color,var(--red)); }

/* Search bar */
.search-bar .form-control { border:1px solid var(--border); border-radius:50px !important; padding:.5rem 1.1rem; font-size:.83rem; background:var(--bg-white); }
.search-bar .form-control:focus { border-color:var(--red); box-shadow:0 0 0 3px rgba(var(--accent-rgb),.1); outline:none; }
.search-bar .btn { border-radius:50px !important; padding:.5rem 1.1rem; }

/* Pagination */
.pagination { gap:.3rem; margin-top:2rem; }
.page-link { border-radius:var(--radius-sm) !important; color:var(--red); border:1px solid var(--border); font-size:.8rem; font-weight:600; padding:.4rem .72rem; background:var(--bg-white); transition:all var(--tr); }
.page-item.active .page-link { background:var(--red); border-color:var(--red); color:#fff; }
.page-link:hover { background:var(--red-light); color:var(--red-dark); border-color:var(--red); }

/* Breadcrumb */
.breadcrumb { font-size:.72rem; background:none; padding:0; margin-bottom:1.25rem; }
.breadcrumb-item a { color:var(--muted); }
.breadcrumb-item a:hover { color:var(--red); }
.breadcrumb-item.active { color:var(--muted); }
.breadcrumb-item+.breadcrumb-item::before { color:var(--border); }

/* Cookie */
.cookie-banner { position:fixed; bottom:1rem; left:1rem; right:auto; width:340px; background:var(--dark); color:#fff; z-index:9999; padding:1.2rem; border-radius:var(--radius); box-shadow:var(--shadow-lg); animation:slideUp .4s var(--tr); border-top:3px solid var(--accent); }
@keyframes slideUp { from{transform:translateY(120%);opacity:0} to{transform:translateY(0);opacity:1} }
.cookie-content { display:flex; flex-direction:column; gap:.85rem; }
.cookie-content p { margin:0; font-size:.8rem; color:rgba(255,255,255,.75); line-height:1.55; }
.cookie-content a { color:var(--highlight); }
.cookie-content .btn { align-self:flex-start; border-radius:50px; font-size:.78rem; font-weight:700; padding:.38rem 1.2rem; }

/* ─ Footer ─ */
.site-footer { background:var(--dark); color:rgba(255,255,255,.75); padding:3.5rem 0 0; margin-top:0; }
.footer-grid { display:grid; grid-template-columns:2.2fr 1fr 1fr; gap:3rem; padding-bottom:3rem; border-bottom:1px solid rgba(255,255,255,.2); }
.footer-logo { color:#fff; font-size:1.45rem; font-weight:900; display:flex; align-items:center; gap:.5rem; margin-bottom:.75rem; letter-spacing:-.5px; }
.footer-logo i { color:rgba(255,255,255,.9); }
.footer-brand p { font-size:.82rem; line-height:1.7; margin-bottom:1.5rem; }
.social-links { display:flex; gap:.55rem; flex-wrap:wrap; }
.social-links a { width:38px; height:38px; border-radius:10px; background:rgba(255,255,255,.15); border:1px solid rgba(255,255,255,.25); color:#fff; display:flex; align-items:center; justify-content:center; font-size:.95rem; transition:all var(--tr); }
.social-links a:hover { background:#fff; border-color:#fff; color:var(--dark); transform:translateY(-2px); }
.footer-links h5 { color:#fff; font-size:.68rem; font-weight:800; text-transform:uppercase; letter-spacing:.12em; margin-bottom:1rem; padding-bottom:.6rem; border-bottom:1px solid rgba(255,255,255,.25); }
.footer-links ul { list-style:none; display:flex; flex-direction:column; gap:.55rem; }
.footer-links a { color:rgba(255,255,255,.8); font-size:.8rem; display:flex; align-items:center; gap:.4rem; transition:color var(--tr); }
.footer-links a:hover { color:#fff; }
.footer-links a::before { content:'›'; color:var(--red); }
.footer-bottom { text-align:center; padding:1.1rem 0; font-size:.72rem; color:rgba(255,255,255,.6); border-top:1px solid rgba(255,255,255,.2); }

/* Static pages */
.content-page { line-height:1.85; }
.content-page h2 { font-size:1.12rem; font-weight:700; margin:2rem 0 .75rem; border-left:3px solid var(--red); padding-left:.75rem; color:var(--dark); }
.ad-feature-card { padding:2rem; background:var(--bg); border-radius:var(--radius); height:100%; text-align:center; border:1px solid var(--border); }

/* 404 */
.error-404 { padding:5rem 0; text-align:center; }
.error-num { font-size:clamp(5rem,15vw,9rem); font-weight:900; color:var(--red); line-height:1; opacity:.12; }

/* PWA banner */
#pwaBanner { position:fixed; bottom:1rem; right:1rem; width:310px; background:#fff; border-radius:var(--radius); box-shadow:var(--shadow-lg); z-index:9998; border:1px solid var(--border); border-top:3px solid var(--accent); overflow:hidden; }
@keyframes slideInRight { from{transform:translateX(120%);opacity:0} to{transform:translateX(0);opacity:1} }
.pwa-banner-inner { display:flex; align-items:center; gap:.8rem; padding:1rem; }
.pwa-icon { width:46px; height:46px; border-radius:10px; flex-shrink:0; }
.pwa-text { flex:1; min-width:0; }
.pwa-text strong { display:block; font-size:.85rem; color:var(--dark); margin-bottom:.1rem; }
.pwa-text span { font-size:.72rem; color:var(--muted); line-height:1.35; }
.pwa-actions { display:flex; gap:.5rem; padding:0 1rem 1rem; }
.pwa-btn-install { flex:1; background:var(--red); color:#fff; border:none; border-radius:50px; padding:.44rem; font-size:.76rem; font-weight:700; cursor:pointer; font-family:inherit; }
.pwa-btn-install:hover { background:var(--red-dark); }
.pwa-btn-dismiss { background:var(--bg); border:1px solid var(--border); color:var(--muted); font-size:.76rem; font-weight:600; border-radius:50px; padding:.44rem .82rem; cursor:pointer; font-family:inherit; }

/* Page hero */
.page-hero { padding:3rem 0 2rem; }

/* ─ Responsive ─ */
@media (max-width:991.98px) {
  .main-nav { position:fixed; top:0; right:-320px; width:min(300px,86vw); height:100vh; height:100dvh; background:var(--dark); z-index:1000; flex-direction:column; align-items:stretch; padding:4.5rem 0 2rem; transition:right .3s cubic-bezier(.4,0,.2,1); overflow-y:auto; border-left:2px solid var(--accent); }
  .main-nav.open { right:0; box-shadow:-10px 0 40px rgba(0,0,0,.35); }
  .nav-list { flex-direction:column; gap:0; }
  .nav-list .nav-link { border-radius:0; padding:.82rem 1.5rem; border-bottom:1px solid rgba(255,255,255,.05); font-size:.86rem; }
  .nav-list .nav-link::after { display:none; }
  .dropdown-menu-custom { position:static; display:none; box-shadow:none; background:rgba(255,255,255,.04); border-radius:0; border-top:none; }
  .dropdown-menu-custom a { color:rgba(255,255,255,.75); padding:.7rem 1.5rem .7rem 2.25rem; font-size:.86rem; }
  .dropdown-menu-custom a:hover, .dropdown-menu-custom a.active { background:rgba(255,255,255,.06); color:#fff; }
  .hamburger { display:flex; }
  .footer-grid { grid-template-columns:1fr 1fr; gap:2rem; }
  .footer-brand { grid-column:1/-1; }
  .top-bar { display:none; }
}

@media (max-width:767.98px) {
  .hero-body { padding:1.1rem 1.25rem 1.5rem; }
  .hero-sub { display:none; }
  .article-full { padding:1.25rem; }
  .article-figure { margin:0 -1.25rem 1.25rem; }
  .article-figure figcaption { padding:.35rem 1.25rem; }
  .news-list-full-thumb { width:110px; height:85px; }
  .breaking-bar { display:none; }
  .article-img { aspect-ratio:16/9; }
}

@media (max-width:575.98px) {
  .hero-img { height:clamp(200px,58vw,310px); }
  .article-title { font-size:1.25rem; }
  .footer-grid { grid-template-columns:1fr; gap:1.5rem; }
  .share-box { flex-direction:column; align-items:flex-start; }
  #pwaBanner { right:0; left:0; bottom:0; width:100%; border-radius:var(--radius) var(--radius) 0 0; }
  .cookie-banner { left:0; right:0; bottom:0; width:100%; border-radius:var(--radius) var(--radius) 0 0; }
}

/* ─── Caderno Financeiro — extra styles ───────────────────── */


/* Lock icon badge */
.badge-lock {
  display: inline-flex; align-items: center; gap: .25rem;
  background: var(--accent); color: #fff;
  font-size: .6rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: .08em; padding: .18rem .55rem; border-radius: 3px;
}

/* Subscription wall */
.sub-wall {
  background: linear-gradient(135deg, var(--accent-soft) 0%, var(--accent-light) 100%);
  border: 2px solid var(--red);
  border-radius: var(--radius-lg);
  padding: 2.5rem 2rem;
  text-align: center;
  margin: 2rem 0;
}
.sub-wall-icon { font-size: 3rem; color: var(--red); margin-bottom: 1rem; }
.sub-wall h3 { font-size: 1.3rem; font-weight: 800; color: var(--dark); margin-bottom: .5rem; }
.sub-wall p  { color: var(--muted); margin-bottom: 1.25rem; font-size: .92rem; }
.sub-wall .price { font-size: 2rem; font-weight: 900; color: var(--red); }
.sub-wall .price small { font-size: .9rem; font-weight: 400; color: var(--muted); }

/* Newsletter bar */
.newsletter-bar {
  background: var(--dark);
  padding: 1.5rem 0;
  margin-top: 3rem;
}
.newsletter-inner {
  display: flex; align-items: center; gap: 1.5rem; flex-wrap: wrap;
}
.newsletter-text {
  display: flex; align-items: center; gap: 1rem; flex: 1; min-width: 240px;
}
.newsletter-text i { font-size: 2rem; color: var(--red); flex-shrink: 0; }
.newsletter-text strong { display: block; color: #fff; font-size: .95rem; }
.newsletter-text span  { color: rgba(255,255,255,.55); font-size: .78rem; }
.newsletter-form { display: flex; gap: .5rem; flex: 1; min-width: 260px; }
.nl-input {
  flex: 1; padding: .52rem 1rem; border-radius: 50px;
  border: 1px solid rgba(255,255,255,.15); background: rgba(255,255,255,.08);
  color: #fff; font-size: .82rem; outline: none;
}
.nl-input::placeholder { color: rgba(255,255,255,.4); }
.nl-input:focus { border-color: var(--red); background: rgba(255,255,255,.12); }
.nl-btn {
  background: var(--red); color: #fff; border: none;
  border-radius: 50px; padding: .52rem 1.25rem;
  font-size: .8rem; font-weight: 700; cursor: pointer; white-space: nowrap;
  transition: background var(--tr);
}
.nl-btn:hover { background: var(--red-dark); }
.nl-msg { color: #fff; font-size: .8rem; align-self: center; }

/* Nav user info */
.nav-user-info {
  padding: .65rem 1.5rem;
  font-size: .78rem;
  color: rgba(255,255,255,.7);
  border-top: 1px solid rgba(255,255,255,.08);
  display: flex; align-items: center; gap: .5rem;
}
.nav-user-sair { color: var(--highlight); font-size: .72rem; margin-left: auto; }
.nav-user-sair:hover { color: #fff; }

/* Assinar page */
.assinar-card { background: #fff; border-radius: var(--radius-lg); box-shadow: var(--shadow-md); padding: 2.5rem; max-width: 480px; margin: 0 auto; }
.assinar-header { text-align: center; margin-bottom: 2rem; }
.assinar-header .preco { font-size: 3rem; font-weight: 900; color: var(--red); line-height: 1; }
.assinar-header .preco sup { font-size: 1.2rem; vertical-align: top; margin-top: .5rem; }
.assinar-header .preco span { font-size: 1rem; font-weight: 400; color: var(--muted); }
.assinar-benefits { list-style: none; padding: 0; margin-bottom: 1.5rem; display: flex; flex-direction: column; gap: .5rem; }
.assinar-benefits li { display: flex; align-items: center; gap: .6rem; font-size: .88rem; color: var(--text); }
.assinar-benefits li i { color: var(--red); font-size: 1rem; }

/* Admin pages */
.admin-badge-prot { background: var(--accent-soft); color: var(--accent-dark); font-size: .65rem; font-weight: 700; padding: .15rem .5rem; border-radius: 3px; }

.share-btn.telegram { background: #2aabee; color: #fff; }
.article-source {
  display: flex; align-items: center; gap: .5rem;
  font-size: .82rem; color: var(--muted); padding: .75rem 0;
  border-top: 1px solid var(--border); margin-top: 1rem;
}
.article-source i { color: var(--red); }
.article-source a { color: var(--red); font-weight: 600; }
.article-source a:hover { text-decoration: underline; }


/* ─── Home: Últimas Notícias — lista full-width ─────── */
.ultimas-list {
  display: flex;
  flex-direction: column;
  background: var(--bg-white);
  border-radius: var(--radius);
  box-shadow: var(--shadow-sm);
  overflow: hidden;
}
.ultima-item {
  display: flex;
  gap: 1.1rem;
  padding: 1rem 1.2rem;
  border-bottom: 1px solid var(--border);
  transition: background var(--tr);
  align-items: flex-start;
}
.ultima-item:last-child { border-bottom: none; }
.ultima-item:hover { background: #fafbfd; }

.ultima-thumb {
  flex-shrink: 0;
  width: 140px;
  height: 100px;
  border-radius: var(--radius-sm);
  overflow: hidden;
  display: block;
  background: var(--border);
}
.ultima-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .45s ease;
}
.ultima-item:hover .ultima-thumb img { transform: scale(1.05); }

.ultima-body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: .35rem;
  justify-content: center;
}
.ultima-meta-top {
  display: flex;
  align-items: center;
  gap: .4rem;
  flex-wrap: wrap;
}
.ultima-title {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.38;
  margin: 0;
  color: var(--text);
}
.ultima-title a { color: var(--text); }
.ultima-title a:hover { color: var(--red); }

.ultima-sub {
  font-size: .82rem;
  color: var(--muted);
  line-height: 1.45;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.ultima-date {
  font-size: .7rem;
  color: var(--muted);
  display: flex;
  align-items: center;
  gap: .25rem;
  margin-top: .1rem;
}

/* Section title link "Ver todas" */
.section-title-link {
  font-size: .7rem;
  font-weight: 600;
  color: var(--red);
  text-transform: none;
  letter-spacing: 0;
  margin-left: auto;
  transition: color var(--tr);
}
.section-title-link:hover { color: var(--red-dark); }

/* Mobile */
@media (max-width: 575.98px) {
  .ultima-thumb { width: 100px; height: 78px; }
  .ultima-title { font-size: .9rem; }
  .ultima-sub { display: none; }
  .ultima-item { padding: .8rem 1rem; gap: .85rem; }
}

/* ═══════════════════════════════════════════════════════
   CADERNO FINANCEIRO — Home Redesign v4
   ═══════════════════════════════════════════════════════ */

/* ─── Utilitários compartilhados ─────────────────────── */
.hcat {
  display: inline-block;
  background: var(--cat-color, var(--accent));
  color: var(--cat-text, #fff);
  font-size: .58rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .1em;
  padding: .2rem .6rem;
  border-radius: 3px;
  line-height: 1;
  align-self: flex-start;
  flex-shrink: 0;
  max-width: fit-content;
  white-space: nowrap;
}
.hcat-sm { font-size: .55rem; }
.item-date {
  font-size: .68rem;
  color: var(--muted);
  display: inline-flex;
  align-items: center;
  gap: .22rem;
}
.item-author {
  font-size: .68rem;
  color: var(--muted);
  display: inline-flex;
  align-items: center;
  gap: .22rem;
}

/* ─── Section headers ─────────────────────────────────── */
.cf-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: .6rem;
  border-bottom: 2px solid var(--accent);
}
.cf-section-label {
  font-size: .7rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: var(--dark);
  display: flex;
  align-items: center;
  gap: .4rem;
}
.cf-section-label i { color: var(--accent); }
.cf-section-more {
  font-size: .7rem;
  font-weight: 600;
  color: var(--accent);
  display: flex;
  align-items: center;
  gap: .2rem;
  transition: gap var(--tr);
}
.cf-section-more:hover { gap: .45rem; color: var(--accent-dark); }

/* ─── Hero Section ────────────────────────────────────── */
.hero-section {
  padding: 1.5rem 0 0;
  margin-top: 1.5rem;
}
.hero-grid {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 1rem;
  align-items: stretch;
}
@media (max-width: 991.98px) {
  .hero-grid { grid-template-columns: 1fr; }
}

/* Hero principal */
.hero-main {
  position: relative;
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-md);
  min-height: 320px;
  background: var(--dark);
}
.hero-main-link {
  display: block;
  height: 100%;
  text-decoration: none;
  position: relative;
}
.hero-main-img {
  width: 100%;
  height: 100%;
  min-height: 320px;
  object-fit: cover;
  display: block;
  transition: transform .9s cubic-bezier(.25,.46,.45,.94);
}
.hero-main:hover .hero-main-img { transform: scale(1.04); }
.hero-placeholder {
  background: var(--dark2);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 4rem;
  color: rgba(255,255,255,.15);
}
.hero-main-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    transparent 20%,
    rgba(10,20,30,.35) 55%,
    rgba(10,20,30,.92) 100%
  );
  pointer-events: none;
}
.hero-main-body {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  padding: 1.5rem 2rem 2rem;
  z-index: 2;
}
.hero-main-tags {
  display: flex;
  align-items: center;
  gap: .5rem;
  margin-bottom: .85rem;
  width: fit-content;
}
.hero-main-title {
  font-family: 'Merriweather', Georgia, serif;
  font-size: clamp(1.4rem, 2.6vw, 2rem);
  font-weight: 700;
  line-height: 1.22;
  color: #fff;
  margin-bottom: .65rem;
}
.hero-main-sub {
  font-size: .88rem;
  color: rgba(255,255,255,.8);
  line-height: 1.5;
  margin-bottom: .85rem;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.hero-main-meta {
  display: flex;
  gap: 1rem;
  font-size: .7rem;
  color: rgba(255,255,255,.6);
}
.hero-main-meta i { color: var(--accent); }

/* Hero stack — cards secundários */
.hero-stack {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.hero-sec-card {
  background: var(--bg-white);
  border-radius: var(--radius);
  box-shadow: var(--shadow-sm);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  flex: 1;
  transition: box-shadow var(--tr), transform var(--tr);
}
.hero-sec-card:hover {
  box-shadow: var(--shadow);
  transform: translateY(-2px);
}
.hero-sec-thumb {
  display: block;
  overflow: hidden;
  flex-shrink: 0;
  height: 170px;
}
.hero-sec-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .55s ease;
}
.hero-sec-card:hover .hero-sec-thumb img { transform: scale(1.06); }
.hero-sec-body {
  padding: 1rem 1.1rem 1.2rem;
  display: flex;
  flex-direction: column;
  gap: .4rem;
  flex: 1;
}
.hero-sec-body .hero-sec-title,
.hero-sec-body .hero-sec-sub,
.hero-sec-body .item-date { width: 100%; }
.hero-sec-title {
  font-size: .95rem;
  font-weight: 700;
  line-height: 1.38;
  margin: 0;
  font-family: 'Merriweather', Georgia, serif;
}
.hero-sec-title a { color: var(--text); }
.hero-sec-title a:hover { color: var(--accent); }
.hero-sec-sub {
  font-size: .78rem;
  color: var(--muted);
  line-height: 1.45;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  flex: 1;
}

/* ─── Ticker de Últimas ───────────────────────────────── */
.latest-ticker {
  background: var(--dark);
  display: flex;
  align-items: stretch;
  overflow: hidden;
  margin-top: 1rem;
}
.ticker-label {
  background: var(--accent);
  color: #fff;
  font-size: .65rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .12em;
  padding: .6rem 1rem;
  white-space: nowrap;
  display: flex;
  align-items: center;
  gap: .35rem;
  flex-shrink: 0;
}
.ticker-track-wrap {
  flex: 1;
  overflow: hidden;
  position: relative;
}
.ticker-track-wrap::before,
.ticker-track-wrap::after {
  content: '';
  position: absolute;
  top: 0; bottom: 0;
  width: 40px;
  z-index: 2;
  pointer-events: none;
}
.ticker-track-wrap::before { left: 0; background: linear-gradient(to right, var(--dark), transparent); }
.ticker-track-wrap::after  { right: 0; background: linear-gradient(to left,  var(--dark), transparent); }
.ticker-track {
  display: flex;
  align-items: center;
  gap: 0;
  white-space: nowrap;
  animation: tickerScroll 40s linear infinite;
}
.ticker-track:hover { animation-play-state: paused; }
.ticker-item {
  color: rgba(255,255,255,.78);
  font-size: .72rem;
  font-weight: 500;
  padding: .6rem 1.5rem;
  text-decoration: none;
  white-space: nowrap;
  transition: color var(--tr);
  border-right: 1px solid rgba(255,255,255,.08);
}
.ticker-item:hover { color: var(--accent); }
@keyframes tickerScroll {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* ─── Espaçamento main container ─────────────────────── */
.main-container { padding-top: 1.75rem; padding-bottom: 2rem; }
.sidebar-stack { display: flex; flex-direction: column; gap: 1.25rem; }

/* ─── Grid 2×2 de notícias ───────────────────────────── */
.news-grid-2x2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}
@media (max-width: 575.98px) {
  .news-grid-2x2 { grid-template-columns: 1fr; }
}
.ngcard {
  background: var(--bg-white);
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  display: flex;
  flex-direction: column;
  transition: box-shadow var(--tr), transform var(--tr);
}
.ngcard:hover {
  box-shadow: var(--shadow);
  transform: translateY(-3px);
}
.ngcard-thumb {
  display: block;
  overflow: hidden;
  flex-shrink: 0;
}
.ngcard-thumb img {
  width: 100%;
  aspect-ratio: 16/9;
  object-fit: cover;
  display: block;
  transition: transform .5s ease;
}
.ngcard:hover .ngcard-thumb img { transform: scale(1.06); }
.ngcard-body {
  padding: .9rem 1rem 1rem;
  display: flex;
  flex-direction: column;
  gap: .35rem;
  flex: 1;
}
/* Garantir que título, subtítulo e rodapé ocupem largura total */
.ngcard-body .ngcard-title,
.ngcard-body .ngcard-sub,
.ngcard-body .ngcard-foot { width: 100%; }
.ngcard-top { display: flex; align-items: center; gap: .35rem; width: fit-content; }
.ngcard-title {
  font-size: .9rem;
  font-weight: 700;
  line-height: 1.38;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.ngcard-title a { color: var(--text); }
.ngcard-title a:hover { color: var(--accent); }
.ngcard-sub {
  font-size: .76rem;
  color: var(--muted);
  line-height: 1.45;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  flex: 1;
}
.ngcard-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: .55rem;
  border-top: 1px solid var(--border);
  margin-top: auto;
}

/* ─── Editorial list (mais lidas main) ───────────────── */
.editorial-list {
  display: flex;
  flex-direction: column;
  gap: 0;
  background: var(--bg-white);
  border-radius: var(--radius);
  box-shadow: var(--shadow-sm);
  overflow: hidden;
}
.editorial-item {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 1rem 1.2rem;
  border-bottom: 1px solid var(--border);
  position: relative;
  transition: background var(--tr);
}
.editorial-item:last-child { border-bottom: none; }
.editorial-item:hover { background: var(--accent-soft); }
.editorial-rank {
  font-size: 2.2rem;
  font-weight: 900;
  color: var(--border);
  line-height: 1;
  flex-shrink: 0;
  width: 36px;
  text-align: center;
  padding-top: .1rem;
  font-variant-numeric: tabular-nums;
}
.editorial-item:nth-child(1) .editorial-rank { color: rgba(var(--accent-rgb),.3); }
.editorial-item:nth-child(2) .editorial-rank { color: rgba(var(--accent-rgb),.18); }
.editorial-thumb {
  flex-shrink: 0;
  width: 110px;
  height: 80px;
  border-radius: var(--radius-sm);
  overflow: hidden;
  display: block;
  background: var(--border);
}
.editorial-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .45s ease;
}
.editorial-item:hover .editorial-thumb img { transform: scale(1.06); }
.editorial-body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: .3rem;
}
.editorial-title {
  font-size: .9rem;
  font-weight: 700;
  line-height: 1.38;
  margin: 0;
}
.editorial-title a { color: var(--text); }
.editorial-title a:hover { color: var(--accent); }
.editorial-sub {
  font-size: .76rem;
  color: var(--muted);
  margin: 0;
  line-height: 1.42;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* ─── Faixa final dark ────────────────────────────────── */
.home-faixa {
  background: var(--dark);
  padding: 2.5rem 0 3rem;
  margin-top: 1rem;
}
.faixa-card {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  border-radius: var(--radius);
  overflow: hidden;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  height: 100%;
  transition: background var(--tr), transform var(--tr);
}
.faixa-card:hover {
  background: rgba(255,255,255,.08);
  transform: translateY(-3px);
}
.faixa-card-img {
  overflow: hidden;
  flex-shrink: 0;
}
.faixa-card-img img {
  width: 100%;
  aspect-ratio: 16/9;
  object-fit: cover;
  display: block;
  transition: transform .55s ease;
  opacity: .88;
}
.faixa-card:hover .faixa-card-img img {
  transform: scale(1.05);
  opacity: 1;
}
.faixa-card-body {
  padding: 1rem 1.1rem 1.25rem;
  display: flex;
  flex-direction: column;
  gap: .4rem;
  flex: 1;
}
.faixa-card-title {
  font-size: .92rem;
  font-weight: 700;
  line-height: 1.38;
  color: rgba(255,255,255,.9);
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.faixa-card-sub {
  font-size: .76rem;
  color: rgba(255,255,255,.5);
  line-height: 1.45;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  flex: 1;
}
.faixa-date { color: rgba(255,255,255,.4); }

/* ─── Mobile tweaks ───────────────────────────────────── */
@media (max-width: 767.98px) {
  .hero-section { padding: 1rem 0 0; }
  .hero-main { min-height: 300px; }
  .hero-main-img { min-height: 300px; }
  .hero-main-body { padding: 1rem 1.25rem 1.5rem; }
  .hero-main-title { font-size: 1.2rem; }
  .hero-sec-thumb { height: 130px; }
  .ticker-label { padding: .5rem .75rem; font-size: .6rem; }
  .editorial-rank { font-size: 1.6rem; width: 26px; }
  .editorial-thumb { width: 80px; height: 64px; }
}

/* ─ Link de destaque "Editais" no menu ─ */
.nav-list .nav-link.nav-editais { color:rgba(255,255,255,.72); }
.nav-list .nav-link.nav-editais i { margin-right:.25rem; }
.nav-list .nav-link.nav-guia i { margin-right:.3rem; }
.nav-list .nav-link.nav-editais:hover, .nav-list .nav-link.nav-editais.active { color:#fff; }

/* ─ Cores do Bootstrap → paleta ativa (variáveis definidas no <head>) ─ */
:root { --blue: var(--accent); }
.text-primary,.text-danger { color:var(--accent) !important; }
.bg-primary,.bg-danger { background-color:var(--accent) !important; }
.btn-primary,.btn-danger { --bs-btn-color:var(--accent-contrast); --bs-btn-bg:var(--accent); --bs-btn-border-color:var(--accent); --bs-btn-hover-color:var(--accent-contrast); --bs-btn-hover-bg:var(--accent-dark); --bs-btn-hover-border-color:var(--accent-dark); --bs-btn-active-bg:var(--accent-darker,var(--accent-dark)); --bs-btn-active-border-color:var(--accent-darker,var(--accent-dark)); --bs-btn-disabled-bg:var(--accent); --bs-btn-disabled-border-color:var(--accent); --bs-btn-focus-shadow-rgb:var(--accent-rgb); }
.btn-outline-primary,.btn-outline-danger { --bs-btn-color:var(--accent); --bs-btn-border-color:var(--accent); --bs-btn-hover-color:var(--accent-contrast); --bs-btn-hover-bg:var(--accent); --bs-btn-hover-border-color:var(--accent); --bs-btn-active-bg:var(--accent-dark); --bs-btn-active-border-color:var(--accent-dark); }
.form-control:focus,.form-select:focus { border-color:var(--accent); box-shadow:0 0 0 .2rem rgba(var(--accent-rgb),.18); }
.form-check-input:checked { background-color:var(--accent); border-color:var(--accent); }
.page-link { color:var(--accent); } .page-item.active .page-link { background:var(--accent); border-color:var(--accent); color:var(--accent-contrast); }

/* H1 da home (SEO) — oculto visualmente, lido por buscadores e leitores de tela */
.seo-h1{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ═══════════════════════════════════════════════════════
   Ajustes 2026-10 — menu, categorias, sidebar, anúncios,
   rodapé, contato e otimização para celular
   ═══════════════════════════════════════════════════════ */
.site-header { background:var(--dark); border-bottom-color:var(--accent); }
.header-inner { gap:.75rem; }
.site-logo { min-width:0; margin-right:auto; }
.logo-text { min-width:0; }
.logo-tag { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:52vw; }
.header-search-btn { display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:var(--radius-sm); color:rgba(255,255,255,.8); background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12); flex-shrink:0; order:2; }
.header-search-btn:hover { color:#fff; background:rgba(255,255,255,.12); }
.main-nav { order:1; }
.hamburger { order:3; width:42px; height:40px; align-items:center; justify-content:center; }
.nav-search { display:none; }
.nav-list, .dropdown-menu-custom, .ultimas-side-list, .most-read-list, .cat-list { padding-left:0; margin-bottom:0; }
.ultimas-side-list, .most-read-list, .cat-list { padding-left:.75rem; padding-right:.75rem; }

/* Botão "Categorias" (abre a lista, não navega) */
button.nav-link { background:none; border:0; font-family:inherit; cursor:pointer; display:inline-flex; align-items:center; gap:.3rem; }
.nav-chevron { font-size:.65rem; transition:transform var(--tr); }
.dropdown-wrap.open .nav-chevron { transform:rotate(180deg); }
.dropdown-menu-custom { border-top-color:var(--accent); max-height:70vh; overflow-y:auto; }
.dropdown-menu-custom a.active { color:var(--accent); font-weight:700; }
.cat-dot { display:inline-block; width:9px; height:9px; border-radius:50%; background:var(--cat-color,var(--accent)); flex-shrink:0; margin-right:.5rem; vertical-align:middle; }
.cat-list li a > span { display:inline-flex; align-items:center; }

/* Títulos de widgets/seções como headings semânticos */
h2.widget-title, h2.cf-section-label { margin:0; line-height:1.4; }
.cf-section-head { gap:.5rem; }

/* Sidebar: Últimas notícias */
.ultimas-side-list { list-style:none; margin:0; padding:.25rem .75rem .35rem; }
.ultimas-side-list li { border-bottom:1px solid var(--border); }
.ultimas-side-list li:last-child { border-bottom:none; }
.ultimas-side-link { display:flex; flex-direction:column; gap:.3rem; padding:.7rem .25rem; color:var(--text); }
.ultimas-side-link:hover .ultimas-side-title { color:var(--accent); }
.ultimas-side-title { font-size:.82rem; font-weight:700; line-height:1.38; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; transition:color var(--tr); }
.ultimas-side-meta { display:flex; align-items:center; gap:.5rem; flex-wrap:wrap; font-size:.68rem; color:var(--muted); }
.ultimas-side-cat { display:inline-flex; align-items:center; font-weight:700; text-transform:uppercase; letter-spacing:.05em; font-size:.58rem; color:var(--cat-color,var(--accent)); }
.ultimas-side-cat::before { content:''; width:7px; height:7px; border-radius:50%; background:currentColor; margin-right:.3rem; }
.ultimas-side-list li.is-current .ultimas-side-title { color:var(--accent); }
.ultimas-side-list li.is-current .ultimas-side-link { border-left:3px solid var(--accent); padding-left:.6rem; }
.widget-assinar { background:linear-gradient(135deg,var(--accent-soft),var(--accent-light)); border:2px solid var(--accent); }
.widget-assinar .widget-title { border-color:rgba(var(--accent-rgb),.2); }
.time-ago { white-space:nowrap; }

/* Espaços de anúncio */
.ad-slot { position:relative; display:block; text-align:center; max-width:100%; overflow:hidden; background:transparent; }
.ad-slot .ad-label { display:block; font-size:.58rem; text-transform:uppercase; letter-spacing:.14em; color:var(--muted); opacity:.8; margin-bottom:.3rem; }
.ad-slot .ad-inner { display:flex; justify-content:center; align-items:center; max-width:100%; overflow:hidden; }
.ad-slot .ad-inner > * { max-width:100%; }
.ad-slot img { margin:0 auto; height:auto; }
.ad-slot iframe { max-width:100%; }
.sidebar-widget.ad-slot { padding:.6rem; }
.grid-ad { grid-column:1 / -1; padding:.5rem 0; }
.news-list-full-ad { background:var(--bg-white); padding:1rem; }
.article-body .ad-slot { margin:1.75rem 0; font-family:'Inter',sans-serif; }

/* Matéria: áudio */
.article-audio { background:var(--accent-soft); border:1px solid var(--accent-light); border-radius:12px; display:flex; align-items:center; gap:12px; }
.article-audio > i { font-size:1.6rem; color:var(--accent); flex-shrink:0; }
.article-audio-label { font-size:.78rem; font-weight:700; color:var(--accent-dark); margin-bottom:4px; }
.article-audio audio { width:100%; }
.article-body img, .article-body iframe, .article-body table { max-width:100%; }
.article-body { overflow-wrap:break-word; }
.article-body a { word-break:break-word; }

/* Rodapé */
.site-footer-v2 { background:var(--dark); border-top:3px solid var(--accent); color:rgba(255,255,255,.65); padding:2rem 0 0; }
.sf-top { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:1rem; padding-bottom:1rem; margin-bottom:1.25rem; border-bottom:1px solid rgba(255,255,255,.1); }
.sf-brand { display:flex; align-items:center; gap:.6rem; text-decoration:none; min-width:0; }
.sf-brand img { flex-shrink:0; }
.sf-brand-name { font-size:1.05rem; font-weight:900; color:#fff; letter-spacing:-.5px; line-height:1.1; }
.sf-brand-tag { font-size:.66rem; color:rgba(255,255,255,.5); letter-spacing:.02em; }
.sf-social { display:flex; gap:.5rem; flex-wrap:wrap; }
.sf-social a { width:38px; height:38px; border-radius:9px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.12); color:rgba(255,255,255,.75); display:flex; align-items:center; justify-content:center; font-size:.95rem; transition:all var(--tr); }
.sf-social a:hover { background:var(--accent); border-color:var(--accent); color:#fff; }
.sf-newsletter { text-align:center; padding-bottom:1.25rem; margin-bottom:1.25rem; border-bottom:1px solid rgba(255,255,255,.1); }
.sf-nl-title { font-size:.9rem; font-weight:700; color:#fff; margin-bottom:.75rem; }
.sf-nl-title i { color:var(--highlight); }
.sf-nl-form { display:flex; gap:.5rem; justify-content:center; max-width:440px; margin:0 auto; }
.sf-nl-form input[type=email] { flex:1; min-width:0; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.18); border-radius:8px; padding:.6rem .9rem; font-size:.9rem; color:#fff; outline:none; }
.sf-nl-form input[type=email]::placeholder { color:rgba(255,255,255,.4); }
.sf-nl-form input[type=email]:focus { border-color:var(--highlight); background:rgba(255,255,255,.12); }
.sf-nl-form button { background:var(--accent); color:var(--accent-contrast); border:none; border-radius:8px; padding:.6rem 1.2rem; font-size:.85rem; font-weight:700; cursor:pointer; white-space:nowrap; }
.sf-nl-form button:hover { background:var(--accent-dark); }
.sf-nl-form button:disabled { opacity:.7; cursor:wait; }
.sf-nl-msg { font-size:.8rem; margin-top:.5rem; min-height:1.2em; }
.sf-nl-msg.ok { color:var(--highlight); } .sf-nl-msg.err { color:#fecaca; }
.sf-nl-note { font-size:.68rem; color:rgba(255,255,255,.4); margin-top:.35rem; }
.sf-nl-note a { color:rgba(255,255,255,.6); text-decoration:underline; }
.sf-links { display:flex; justify-content:center; flex-wrap:wrap; gap:.4rem 1.1rem; padding-bottom:1.25rem; margin-bottom:1rem; border-bottom:1px solid rgba(255,255,255,.08); }
.sf-links a { color:rgba(255,255,255,.55); font-size:.8rem; padding:.2rem 0; }
.sf-links a:hover { color:var(--highlight); }
.sf-copy { text-align:center; padding-bottom:1.25rem; font-size:.72rem; color:rgba(255,255,255,.35); }
.hp-field { position:absolute !important; left:-9999px !important; width:1px; height:1px; opacity:0; pointer-events:none; }

/* Páginas institucionais (Sobre / Privacidade) */
.inst-hero { background:linear-gradient(135deg,var(--dark) 0%,var(--dark2) 100%); color:#fff; padding:2.75rem 0 2.25rem; }
.inst-hero h1 { font-size:clamp(1.4rem,4vw,2rem); font-weight:900; margin:0 0 .4rem; }
.inst-hero h1 i { color:var(--highlight); }
.inst-hero p { color:rgba(255,255,255,.7); font-size:.92rem; margin:0; }
.inst-body { max-width:820px; margin:0 auto; padding:2rem 0 3rem; }
.inst-card { background:var(--bg-white); border-radius:var(--radius); box-shadow:var(--shadow-sm); padding:2rem; }
.content-page p, .content-page li { font-size:.95rem; color:#374151; line-height:1.8; }
.content-page p { margin-bottom:1rem; }
.content-page ul, .content-page ol { padding-left:1.4rem; margin-bottom:1rem; }
.content-page h2 { font-size:1.1rem; }
.content-page h3 { font-size:1rem; font-weight:700; margin:1.5rem 0 .5rem; color:var(--dark); }
.content-page blockquote { border-left:4px solid var(--accent); background:var(--accent-soft); padding:1rem 1.25rem; border-radius:0 8px 8px 0; margin:1rem 0; }
.content-page table { width:100%; border-collapse:collapse; font-size:.86rem; margin:.75rem 0 1rem; display:block; overflow-x:auto; }
.content-page th, .content-page td { padding:.55rem .8rem; border:1px solid var(--border); text-align:left; vertical-align:top; }
.content-page th { background:var(--bg); color:var(--dark); }

/* Contato */
.contact-hero { background:linear-gradient(135deg,var(--dark) 0%,var(--dark2) 100%); color:#fff; padding:2.75rem 0 4.5rem; }
.contact-hero h1 { font-size:clamp(1.5rem,4vw,2.1rem); font-weight:900; margin:0 0 .5rem; }
.contact-hero p { color:rgba(255,255,255,.72); max-width:620px; margin:0; font-size:.95rem; }
.contact-wrap { margin-top:-3rem; padding-bottom:3rem; }
.contact-card { background:var(--bg-white); border-radius:var(--radius-lg); box-shadow:var(--shadow); padding:2rem; }
.contact-card .form-label { font-size:.8rem; font-weight:700; color:var(--dark); margin-bottom:.35rem; }
.contact-card .form-control, .contact-card .form-select { border-radius:10px; padding:.65rem .9rem; font-size:.95rem; border-color:#d6dde6; }
.contact-card textarea { min-height:160px; }
.contact-info { display:flex; flex-direction:column; gap:.85rem; }
.ci-item { display:flex; gap:.85rem; align-items:flex-start; background:var(--bg-white); border-radius:var(--radius); box-shadow:var(--shadow-sm); padding:1rem 1.1rem; color:var(--text); }
a.ci-item:hover { color:var(--text); box-shadow:var(--shadow); }
.ci-icon { width:42px; height:42px; border-radius:10px; background:var(--accent-light); color:var(--accent); display:flex; align-items:center; justify-content:center; font-size:1.15rem; flex-shrink:0; }
.ci-item strong { display:block; font-size:.78rem; text-transform:uppercase; letter-spacing:.06em; color:var(--muted); margin-bottom:.1rem; }
.ci-item span { font-size:.92rem; font-weight:600; word-break:break-word; }
.char-count { font-size:.7rem; color:var(--muted); text-align:right; margin-top:.25rem; }
.captcha-box { display:flex; align-items:center; gap:.75rem; background:var(--bg); border:1px dashed #cbd5e1; border-radius:10px; padding:.75rem .9rem; flex-wrap:wrap; }
.captcha-box .captcha-q { font-weight:800; color:var(--dark); font-size:1rem; white-space:nowrap; }
.captcha-box input { max-width:110px; }
.contact-secure { font-size:.72rem; color:var(--muted); display:flex; align-items:center; gap:.35rem; margin-top:.75rem; justify-content:center; }

/* ─── Celular ─────────────────────────────────────────── */
@media (max-width:991.98px) {
  .nav-search { display:flex; gap:.4rem; padding:0 1.25rem 1rem; margin-bottom:.25rem; border-bottom:1px solid rgba(255,255,255,.08); }
  .nav-search input { flex:1; min-width:0; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.18); border-radius:8px; color:#fff; padding:.55rem .8rem; font-size:16px; outline:none; }
  .nav-search input::placeholder { color:rgba(255,255,255,.45); }
  .nav-search button { background:var(--accent); color:#fff; border:none; border-radius:8px; width:44px; }
  .main-nav { padding-top:4rem; }
  .nav-list .nav-link { width:100%; min-height:48px; display:flex; align-items:center; gap:.35rem; }
  .nav-list .nav-dropdown-toggle { justify-content:space-between; text-align:left; }
  .dropdown-menu-custom { max-height:none; padding:0; }
  .nav-user-info { padding:.85rem 1.5rem; }
}
@media (max-width:767.98px) {
  .main-container { padding-top:1.1rem; }
  .hero-section { margin-top:.75rem; }
  .news-list-full-item { gap:.85rem; padding:.9rem 1rem; }
  .news-full-title { font-size:.92rem; }
  .news-full-sub { display:none; }
  .contact-card, .inst-card { padding:1.25rem; }
  .contact-wrap { margin-top:-2.5rem; }
  .sidebar-stack { margin-top:.5rem; }
  .article-body { font-size:1rem; line-height:1.85; }
  .share-buttons { width:100%; }
  .share-btn { flex:1 1 calc(50% - .45rem); justify-content:center; padding:.6rem .9rem; }
}
@media (max-width:575.98px) {
  .logo-name { font-size:1.15rem; }
  .logo-tag { font-size:.52rem; max-width:44vw; }
  .logo-icon { width:34px; height:34px; }
  .header-search-btn, .hamburger { width:38px; height:38px; }
  .news-list-full-thumb { width:92px; height:72px; }
  .hero-main, .hero-main-img { min-height:240px; }
  .hero-main-title { font-size:1.08rem; }
  .hero-sec-card { flex-direction:row; }
  .hero-sec-thumb { width:120px; height:auto; min-height:100%; }
  .hero-sec-body { padding:.75rem .85rem; }
  .hero-sec-title { font-size:.86rem; }
  .hero-sec-sub { display:none; }
  .sf-top { justify-content:center; text-align:left; }
  .sf-nl-form { flex-direction:column; }
  .sf-nl-form button { width:100%; padding:.75rem; }
  .sf-nl-form input[type=email] { font-size:16px; padding:.7rem .9rem; }
  .search-bar .form-control { font-size:16px; }
  .ticker-item { font-size:.7rem; padding:.55rem 1rem; }
  .cat-pills { flex-wrap:nowrap; overflow-x:auto; -webkit-overflow-scrolling:touch; padding-bottom:.35rem; scrollbar-width:none; }
  .cat-pills::-webkit-scrollbar { display:none; }
  .cat-pill { white-space:nowrap; padding:.42rem .95rem; }
  .breadcrumb { flex-wrap:nowrap; overflow:hidden; white-space:nowrap; }
  .breadcrumb-item.active { overflow:hidden; text-overflow:ellipsis; }
  .contact-card .form-control, .contact-card .form-select { font-size:16px; }
  .pagination .page-link { padding:.5rem .8rem; }
}
@media (max-width:359.98px) {
  .logo-tag { display:none; }
}
@media (min-width:992px) { .dropdown-menu-custom::before { content:''; position:absolute; top:-12px; left:0; right:0; height:12px; } }

/* ═══════════════════════════════════════════════════════
   Editais e concursos
   ═══════════════════════════════════════════════════════ */
:root { --ed-open:#15803d; --ed-open-bg:#dcfce7; --ed-soon:#0369a1; --ed-soon-bg:#e0f2fe; --ed-closed:#64748b; --ed-closed-bg:#f1f5f9; --ed-warn:#b45309; --ed-warn-bg:#fef3c7; --ed-alert:#b91c1c; --ed-alert-bg:#fee2e2; }
.ed-badge { display:inline-flex; align-items:center; gap:.35rem; font-size:.66rem; font-weight:800; letter-spacing:.02em; border-radius:20px; padding:.22rem .65rem; white-space:nowrap; line-height:1.2; }
.ed-dot { width:7px; height:7px; border-radius:50%; background:currentColor; flex-shrink:0; }
.ed-badge-aberto { background:var(--ed-open-bg); color:var(--ed-open); }
.ed-badge-aberto .ed-dot { animation:edPulse 1.6s ease-in-out infinite; }
.ed-badge-breve { background:var(--ed-soon-bg); color:var(--ed-soon); }
.ed-badge-encerrado, .ed-badge-neutro { background:var(--ed-closed-bg); color:var(--ed-closed); }
.ed-badge-andamento { background:var(--ed-warn-bg); color:var(--ed-warn); }
.ed-badge-alerta { background:var(--ed-alert-bg); color:var(--ed-alert); }
@keyframes edPulse { 0%,100% { opacity:1 } 50% { opacity:.35 } }
@media (prefers-reduced-motion:reduce) { .ed-badge-aberto .ed-dot { animation:none; } }
.ed-tipo { display:inline-flex; align-items:center; gap:.3rem; font-size:.68rem; font-weight:800; text-transform:uppercase; letter-spacing:.06em; color:var(--accent-dark); }

/* Página /editais.php */
.editais-hero { background:linear-gradient(135deg,var(--dark) 0%,var(--dark2) 100%); color:#fff; padding:1.75rem 0 2rem; }
.editais-hero .breadcrumb-item a { color:rgba(255,255,255,.6); }
.editais-hero .breadcrumb-item.active { color:rgba(255,255,255,.85); }
.eh-row { display:flex; justify-content:space-between; align-items:flex-end; gap:1.5rem; flex-wrap:wrap; margin-bottom:1.25rem; }
.editais-hero h1 { font-size:clamp(1.5rem,4vw,2.2rem); font-weight:900; margin:0 0 .35rem; letter-spacing:-.5px; }
.editais-hero h1 i { color:var(--highlight); }
.editais-hero p { color:rgba(255,255,255,.72); margin:0; max-width:560px; font-size:.95rem; }
.eh-stats { display:flex; gap:.6rem; }
.eh-stat { display:flex; flex-direction:column; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.14); border-radius:12px; padding:.6rem 1rem; color:#fff; min-width:120px; }
.eh-stat:hover { background:rgba(255,255,255,.14); color:#fff; }
.eh-stat strong { font-size:1.6rem; font-weight:900; line-height:1; }
.eh-stat span { font-size:.7rem; color:rgba(255,255,255,.7); margin-top:.2rem; }
.eh-stat-open strong { color:#86efac; }
.eh-search { display:flex; align-items:center; gap:.5rem; background:#fff; border-radius:14px; padding:.4rem .4rem .4rem 1rem; box-shadow:var(--shadow-md); }
.eh-search > i { color:var(--muted); }
.eh-search input { flex:1; min-width:0; border:0; outline:none; font-size:.95rem; padding:.5rem 0; color:var(--text); background:transparent; }
.eh-search select { border:0; border-left:1px solid var(--border); padding:.5rem .6rem; font-size:.85rem; color:var(--text); background:transparent; outline:none; max-width:190px; }
.eh-search button { background:var(--accent); color:var(--accent-contrast); border:0; border-radius:10px; padding:.6rem 1.2rem; font-weight:700; font-size:.88rem; }
.eh-search button:hover { background:var(--accent-dark); }
.ed-tabs { display:flex; gap:.4rem; margin-bottom:.9rem; overflow-x:auto; scrollbar-width:none; padding-bottom:2px; }
.ed-tabs::-webkit-scrollbar { display:none; }
.ed-tab { display:inline-flex; align-items:center; gap:.4rem; white-space:nowrap; padding:.5rem .95rem; border-radius:10px; background:var(--bg-white); border:1px solid var(--border); color:var(--text); font-size:.82rem; font-weight:700; }
.ed-tab span { background:var(--bg); border-radius:20px; padding:.05rem .5rem; font-size:.7rem; color:var(--muted); }
.ed-tab:hover { border-color:var(--accent); color:var(--accent); }
.ed-tab.active { background:var(--accent); border-color:var(--accent); color:var(--accent-contrast); }
.ed-tab.active span { background:rgba(255,255,255,.25); color:inherit; }
.ed-tab-abertos:not(.active) span { background:var(--ed-open-bg); color:var(--ed-open); }
.ed-type-pills .cat-pill i { margin-right:.15rem; }
.ed-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin-bottom:1rem; }
.ed-card { background:var(--bg-white); border-radius:var(--radius); box-shadow:var(--shadow-sm); padding:1.1rem 1.15rem 1rem; display:flex; flex-direction:column; gap:.55rem; border-top:4px solid var(--ed-closed); transition:box-shadow var(--tr),transform var(--tr); min-width:0; }
.ed-card:hover { box-shadow:var(--shadow); transform:translateY(-2px); }
.ed-card.ed-aberto { border-top-color:var(--ed-open); }
.ed-card.ed-breve { border-top-color:var(--ed-soon); }
.ed-card.ed-andamento { border-top-color:var(--ed-warn); }
.ed-card.ed-alerta { border-top-color:var(--ed-alert); }
.ed-card-top { display:flex; justify-content:space-between; align-items:center; gap:.5rem; flex-wrap:wrap; }
.ed-card-title { font-size:1rem; font-weight:800; line-height:1.35; margin:0; }
.ed-card-title a { color:var(--text); }
.ed-card-title a:hover { color:var(--accent); }
.ed-orgao { font-size:.78rem; color:var(--muted); font-weight:600; }
.ed-chips { display:flex; flex-wrap:wrap; gap:.35rem; }
.ed-chips span { display:inline-flex; align-items:center; gap:.3rem; background:var(--bg); border-radius:6px; padding:.22rem .55rem; font-size:.72rem; font-weight:600; color:var(--text); }
.ed-chips i { color:var(--accent); }
.ed-prazo { font-size:.78rem; color:var(--muted); border-top:1px dashed var(--border); padding-top:.55rem; margin-top:auto; }
.ed-prazo strong { color:var(--text); }
.ed-prazo-det { font-weight:700; color:var(--ed-open); margin-top:.15rem; }
.ed-breve .ed-prazo-det { color:var(--ed-soon); }
.ed-encerrado .ed-prazo-det, .ed-neutro .ed-prazo-det { color:var(--muted); font-weight:500; }
.ed-card-foot { display:flex; gap:.4rem; flex-wrap:wrap; }
.ed-btn { flex:1 1 auto; display:inline-flex; align-items:center; justify-content:center; gap:.35rem; border:1px solid var(--border); border-radius:9px; padding:.55rem .8rem; font-size:.8rem; font-weight:700; color:var(--text); background:var(--bg-white); text-align:center; }
.ed-btn:hover { border-color:var(--accent); color:var(--accent); }
.ed-btn-main { background:var(--ed-open); border-color:var(--ed-open); color:#fff; }
.ed-btn-main:hover { background:#166534; border-color:#166534; color:#fff; }
.ed-empty { background:var(--bg-white); border-radius:var(--radius); box-shadow:var(--shadow-sm); text-align:center; padding:3rem 1.5rem; color:var(--muted); }
.ed-empty > i { font-size:2.5rem; display:block; margin-bottom:.5rem; }

/* Home: bloco de editais */
.ed-grid-compact { gap:.75rem; }
.ed-mini { display:flex; flex-direction:column; gap:.4rem; background:var(--bg-white); border-radius:var(--radius); box-shadow:var(--shadow-sm); padding:.9rem 1rem; color:var(--text); border-left:4px solid var(--ed-closed); min-width:0; }
.ed-mini.ed-aberto { border-left-color:var(--ed-open); } .ed-mini.ed-breve { border-left-color:var(--ed-soon); } .ed-mini.ed-andamento { border-left-color:var(--ed-warn); }
.ed-mini:hover { color:var(--text); box-shadow:var(--shadow); }
.ed-mini:hover .ed-mini-title { color:var(--accent); }
.ed-mini-top { display:flex; justify-content:space-between; gap:.4rem; flex-wrap:wrap; align-items:center; }
.ed-mini-title { font-size:.88rem; line-height:1.35; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; transition:color var(--tr); }
.ed-mini-meta { font-size:.72rem; color:var(--muted); }
.ed-mini-meta i { color:var(--accent); }
.ed-mini-prazo { font-size:.72rem; font-weight:700; color:var(--ed-open); }
.ed-breve .ed-mini-prazo { color:var(--ed-soon); } .ed-encerrado .ed-mini-prazo { color:var(--muted); font-weight:500; }

/* Lateral: editais abertos */
.ed-side-list { list-style:none; margin:0; padding:.25rem .75rem; }
.ed-side-list li { border-bottom:1px solid var(--border); }
.ed-side-list li:last-child { border-bottom:0; }
.ed-side-list a { display:flex; flex-direction:column; gap:.2rem; padding:.7rem .25rem; color:var(--text); }
.ed-side-list a:hover .ed-side-title { color:var(--accent); }
.ed-side-tipo { font-size:.6rem; font-weight:800; text-transform:uppercase; letter-spacing:.06em; color:var(--accent-dark); }
.ed-side-title { font-size:.82rem; font-weight:700; line-height:1.35; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.ed-side-prazo { font-size:.68rem; font-weight:700; color:var(--ed-open); }
.ed-side-more { display:block; text-align:center; font-size:.75rem; font-weight:700; padding:.65rem; border-top:1px solid var(--border); }

/* Matéria: ficha do edital */
.edital-ficha { border:1px solid var(--border); border-radius:var(--radius); overflow:hidden; margin:0 0 1.75rem; background:var(--bg-white); box-shadow:var(--shadow-sm); }
.edf-head { display:flex; justify-content:space-between; align-items:center; gap:.6rem; flex-wrap:wrap; padding:.8rem 1.1rem; background:var(--ed-closed-bg); border-bottom:1px solid var(--border); }
.ed-aberto .edf-head { background:var(--ed-open-bg); } .ed-breve .edf-head { background:var(--ed-soon-bg); } .ed-andamento .edf-head { background:var(--ed-warn-bg); } .ed-alerta .edf-head { background:var(--ed-alert-bg); }
.edf-tipo { font-size:.75rem; font-weight:800; text-transform:uppercase; letter-spacing:.05em; color:var(--dark); }
.edf-tipo i { color:var(--accent); }
.edf-sit { display:flex; align-items:center; gap:.5rem; flex-wrap:wrap; }
.edf-sit .ed-badge { background:#fff; }
.edf-sit-det { font-size:.78rem; font-weight:700; color:var(--dark); }
.edf-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(190px,1fr)); gap:0; margin:0; }
.edf-item { padding:.75rem 1.1rem; border-bottom:1px solid var(--border); border-right:1px solid var(--border); min-width:0; }
.edf-item dt { font-size:.66rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--muted); margin-bottom:.15rem; }
.edf-item dt i { color:var(--accent); }
.edf-item dd { margin:0; font-size:.92rem; font-weight:700; color:var(--text); overflow-wrap:anywhere; }
.edf-obs { display:flex; gap:.6rem; margin:.9rem 1.1rem 0; padding:.75rem .9rem; background:var(--ed-warn-bg); border-radius:8px; font-size:.86rem; color:#78350f; }
.edf-obs i { color:var(--ed-warn); font-size:1.1rem; flex-shrink:0; }
.edf-actions { display:flex; flex-wrap:wrap; gap:.5rem; padding:1rem 1.1rem 1.1rem; }
.edf-btn { display:inline-flex; align-items:center; gap:.4rem; padding:.6rem 1rem; border-radius:10px; border:1px solid var(--border); background:var(--bg-white); color:var(--text); font-size:.84rem; font-weight:700; }
.edf-btn:hover { border-color:var(--accent); color:var(--accent); }
.edf-btn-main { background:var(--ed-open); border-color:var(--ed-open); color:#fff; font-size:.92rem; padding:.65rem 1.3rem; }
.edf-btn-main:hover { background:#166534; border-color:#166534; color:#fff; }
.edf-btn-main.is-off { background:var(--ed-closed); border-color:var(--ed-closed); }
.edf-btn .bi-file-earmark-pdf-fill { color:#dc2626; }

.edital-bloco { margin-top:2rem; scroll-margin-top:calc(var(--header-h) + 1rem); }
.edb-title { font-family:'Inter',sans-serif; font-size:1.05rem; font-weight:800; color:var(--dark); margin:0 0 .85rem; display:flex; align-items:center; gap:.45rem; }
.edb-title i { color:var(--accent); }
.edb-cargos { list-style:none; padding:0; margin:0; border:1px solid var(--border); border-radius:10px; overflow:hidden; }
.edb-cargos li { padding:.6rem .9rem; font-size:.9rem; border-bottom:1px solid var(--border); }
.edb-cargos li:nth-child(even) { background:var(--bg); }
.edb-cargos li:last-child { border-bottom:0; }
.edb-timeline { list-style:none; margin:0; padding:0 0 0 .4rem; position:relative; }
.edb-timeline::before { content:''; position:absolute; left:.78rem; top:.4rem; bottom:.4rem; width:2px; background:var(--border); }
.edb-timeline li { position:relative; display:flex; gap:.9rem; padding:.45rem 0; }
.tl-dot { width:.8rem; height:.8rem; border-radius:50%; background:var(--bg-white); border:2px solid var(--ed-closed); margin-top:.3rem; flex-shrink:0; position:relative; z-index:1; }
.tl-passou .tl-dot { background:var(--ed-closed); }
.tl-agora .tl-dot { background:var(--ed-open); border-color:var(--ed-open); box-shadow:0 0 0 4px var(--ed-open-bg); }
.tl-futuro .tl-dot { border-color:var(--accent); }
.tl-body { display:flex; flex-direction:column; font-family:'Inter',sans-serif; }
.tl-body strong { font-size:.9rem; color:var(--text); }
.tl-passou .tl-body strong { color:var(--muted); font-weight:600; }
.tl-date { font-size:.78rem; color:var(--muted); }
.tl-date em { color:var(--ed-open); font-style:normal; font-weight:700; }
.edb-docs { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.5rem; font-family:'Inter',sans-serif; }
.edb-docs a { display:flex; align-items:center; gap:.8rem; padding:.75rem .9rem; border:1px solid var(--border); border-radius:10px; background:var(--bg-white); color:var(--text); }
.edb-docs a:hover { border-color:var(--accent); box-shadow:var(--shadow-sm); color:var(--text); }
.edb-doc-ic { font-size:1.7rem; color:#dc2626; flex-shrink:0; }
.edb-docs .is-ext .edb-doc-ic { color:var(--accent); }
.edb-doc-txt { flex:1; min-width:0; display:flex; flex-direction:column; }
.edb-doc-txt strong { font-size:.88rem; line-height:1.3; overflow-wrap:anywhere; }
.edb-doc-txt small { font-size:.72rem; color:var(--muted); }
.edb-doc-go { width:36px; height:36px; border-radius:50%; background:var(--accent-light); color:var(--accent); display:flex; align-items:center; justify-content:center; flex-shrink:0; }

@media (max-width:767.98px) {
  .ed-grid { grid-template-columns:1fr; }
  .eh-row { align-items:flex-start; }
  .eh-stats { width:100%; }
  .eh-stat { flex:1; min-width:0; }
  .eh-search { flex-wrap:wrap; padding:.5rem; }
  .eh-search > i { display:none; }
  .eh-search input { flex:1 1 100%; font-size:16px; padding:.55rem .5rem; border-bottom:1px solid var(--border); }
  .eh-search select { flex:1; border-left:0; max-width:none; font-size:16px; }
  .edf-grid { grid-template-columns:1fr 1fr; }
  .edf-item { padding:.65rem .85rem; }
  .edf-item dd { font-size:.86rem; }
  .edf-actions { padding:.85rem; }
  .edf-btn { flex:1 1 calc(50% - .5rem); justify-content:center; }
  .edf-btn-main { flex-basis:100%; }
  .edf-head { padding:.7rem .85rem; }
}
@media (min-width:768px) and (max-width:991.98px) { .ed-grid-compact { grid-template-columns:1fr 1fr; } }

/* ═══ Assinatura das matérias ═══ */
.byline strong { color:var(--text); font-weight:700; }
.article-signature { margin-top:2rem; border-top:1px solid var(--border); padding-top:1.25rem; display:flex; flex-direction:column; gap:1rem; font-family:'Inter',sans-serif; }
.as-author { display:flex; align-items:center; gap:.85rem; }
.as-avatar { width:46px; height:46px; border-radius:50%; background:var(--accent); color:var(--accent-contrast); display:flex; align-items:center; justify-content:center; font-weight:900; font-size:1.2rem; flex-shrink:0; }
.as-author small { display:block; font-size:.68rem; text-transform:uppercase; letter-spacing:.06em; color:var(--muted); }
.as-author strong { display:block; font-size:1rem; color:var(--dark); line-height:1.25; }
.as-author div span { font-size:.78rem; color:var(--muted); }
.as-copy { display:flex; gap:.6rem; background:var(--bg); border:1px solid var(--border); border-radius:10px; padding:.8rem .95rem; }
.as-copy > i { color:var(--accent); font-size:1.15rem; flex-shrink:0; }
.as-copy p { margin:0; font-size:.76rem; line-height:1.55; color:var(--muted); }
.as-copy a { word-break:break-all; font-weight:600; }

/* ═══ Proteção contra cópia ═══ */
body.cb-protect-bloquear { -webkit-user-select:none; user-select:none; -webkit-touch-callout:none; }
body.cb-protect-bloquear input, body.cb-protect-bloquear textarea, body.cb-protect-bloquear select,
body.cb-protect-bloquear [contenteditable="true"], body.cb-protect-bloquear .cb-allow-copy, body.cb-protect-bloquear .cb-allow-copy * { -webkit-user-select:text; user-select:text; -webkit-touch-callout:default; }
body.cb-protect img { -webkit-user-drag:none; user-drag:none; -webkit-touch-callout:none; }
.cbp-overlay { position:fixed; inset:0; z-index:10050; background:rgba(15,23,42,.6); backdrop-filter:blur(3px); display:none; align-items:center; justify-content:center; padding:1rem; }
.cbp-overlay.open { display:flex; animation:cbpIn .2s ease; }
@keyframes cbpIn { from { opacity:0 } to { opacity:1 } }
.cbp-box { position:relative; background:#fff; border-radius:18px; max-width:440px; width:100%; padding:1.75rem 1.5rem 1.25rem; text-align:center; box-shadow:var(--shadow-lg); border-top:4px solid var(--accent); max-height:90vh; overflow-y:auto; }
.cbp-close { position:absolute; top:.5rem; right:.75rem; background:none; border:0; font-size:1.6rem; line-height:1; color:var(--muted); cursor:pointer; }
.cbp-icon { width:58px; height:58px; margin:0 auto .75rem; border-radius:50%; background:var(--accent-light); color:var(--accent); display:flex; align-items:center; justify-content:center; font-size:1.9rem; }
.cbp-box h2 { font-size:1.12rem; font-weight:800; color:var(--dark); margin:0 0 .5rem; }
.cbp-text { font-size:.86rem; color:#475569; line-height:1.55; margin:0 0 1rem; }
.cbp-label { display:block; text-align:left; font-size:.7rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--muted); margin-bottom:.3rem; }
.cbp-link { display:flex; gap:.4rem; margin-bottom:.75rem; }
.cbp-link input { flex:1; min-width:0; border:1px solid var(--border); border-radius:9px; padding:.55rem .7rem; font-size:.8rem; color:var(--text); background:var(--bg); }
.cbp-copy { background:var(--accent); color:var(--accent-contrast); border:0; border-radius:9px; padding:.55rem .9rem; font-size:.82rem; font-weight:700; white-space:nowrap; cursor:pointer; }
.cbp-copy:hover { background:var(--accent-dark); }
.cbp-share { margin-bottom:.75rem; }
.cbp-wa { display:flex; align-items:center; justify-content:center; gap:.4rem; background:#25d366; color:#fff; border-radius:9px; padding:.6rem; font-size:.85rem; font-weight:700; }
.cbp-wa:hover { color:#fff; background:#1ebe5a; }
.cbp-foot { color:var(--muted); font-size:.68rem; }
.cbp-toast { position:fixed; left:50%; bottom:1.25rem; transform:translate(-50%,150%); z-index:10040; background:var(--dark); color:#fff; border-radius:12px; padding:.75rem 1rem; font-size:.82rem; max-width:min(92vw,460px); box-shadow:var(--shadow-lg); transition:transform .3s ease; display:flex; gap:.5rem; align-items:flex-start; }
.cbp-toast i { color:var(--highlight); }
.cbp-toast.show { transform:translate(-50%,0); }
@media (max-width:480px) { .cbp-link { flex-direction:column; } .cbp-copy { padding:.65rem; } }

/* ═══ Ajuste 2026-10: destaques da home mais compactos (estilo portal) ═══ */
.hero-section { margin-top:1rem; padding-top:1rem; }
.hero-grid { grid-template-columns:minmax(0,1fr) 320px; gap:.85rem; }
.hero-main { min-height:0; height:420px; border-radius:var(--radius); }
.hero-main-img { min-height:0; height:100%; }
.hero-main-body { padding:1.1rem 1.4rem 1.3rem; }
.hero-main-tags { margin-bottom:.55rem; }
.hero-main-title { font-size:clamp(1.2rem,1.9vw,1.6rem); line-height:1.25; margin-bottom:.45rem; }
.hero-main-sub { font-size:.82rem; margin-bottom:.6rem; -webkit-line-clamp:2; }
.hero-stack { gap:.85rem; height:420px; }
.hero-sec-card { flex:1 1 0; min-height:0; }
.hero-sec-thumb { height:96px; flex:0 0 auto; }
.hero-sec-body { padding:.6rem .85rem .65rem; gap:.25rem; overflow:hidden; min-height:0; }
.hero-sec-title { font-size:.86rem; line-height:1.3; flex:0 1 auto; min-height:0; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.hero-sec-sub { display:none; }
.hero-sec-body .item-date { margin-top:auto; }
@media (max-width:991.98px) {
  .hero-grid { grid-template-columns:1fr; }
  .hero-main { height:340px; }
  .hero-stack { height:auto; display:grid; grid-template-columns:1fr 1fr; }
}
@media (max-width:575.98px) {
  .hero-main { height:260px; }
  .hero-main-title { font-size:1.05rem; }
  .hero-main-sub { display:none; }
  .hero-stack { grid-template-columns:1fr; gap:.6rem; }
  .hero-sec-card { flex-direction:row; }
  .hero-sec-thumb { width:112px; height:auto; min-height:84px; }
  .hero-sec-title { font-size:.84rem; }
}

/* ═══ Imagem da matéria: sem cortes, padrão 600×450 (4:3) ═══ */
.article-figure { margin:0 auto 1.75rem; max-width:600px; text-align:center; }
.article-img { width:100%; max-width:600px; height:auto; max-height:450px; aspect-ratio:auto; object-fit:contain; margin:0 auto; border-radius:var(--radius-sm); background:var(--bg); }
.article-figure figcaption { padding:.45rem .25rem 0; background:none; border-bottom:0; text-align:left; }
@media (max-width:767.98px) {
  .article-figure { margin:0 0 1.25rem; max-width:none; }
  .article-figure figcaption { padding:.35rem 0 0; }
  .article-img { aspect-ratio:auto; max-height:none; }
}

/* ═══ Destaque da home: filtro para leitura do título ═══ */
.hero-main-overlay {
  background:
    linear-gradient(to top, rgba(0,0,0,.9) 0%, rgba(0,0,0,.78) 30%, rgba(0,0,0,.5) 52%, rgba(0,0,0,.18) 72%, rgba(0,0,0,.05) 100%);
}
.hero-main-img { filter:brightness(.9) saturate(1.05); }
.hero-main:hover .hero-main-img { filter:brightness(.95) saturate(1.05); }
.hero-main-title { text-shadow:0 1px 2px rgba(0,0,0,.55), 0 2px 12px rgba(0,0,0,.35); }
.hero-main-sub { color:rgba(255,255,255,.88); text-shadow:0 1px 2px rgba(0,0,0,.5); }
.hero-main-meta { color:rgba(255,255,255,.78); }
@media (max-width:575.98px) {
  .hero-main-overlay { background:linear-gradient(to top, rgba(0,0,0,.9) 0%, rgba(0,0,0,.7) 40%, rgba(0,0,0,.15) 75%, rgba(0,0,0,0) 100%); }
}

/* ═══ Autores: foto, biografia e página do autor ═══ */
.byline { display:inline-flex; align-items:center; gap:.35rem; }
.byline-photo { width:26px; height:26px; border-radius:50%; object-fit:cover; display:inline-block; }
.byline-link { color:inherit; }
.byline-link:hover strong { color:var(--accent); }
img.as-avatar.is-photo { width:64px; height:64px; border-radius:50%; object-fit:cover; flex-shrink:0; }
.as-author { align-items:flex-start; }
.as-info { min-width:0; }
.as-info strong a { color:var(--dark); }
.as-info strong a:hover { color:var(--accent); }
.as-bio { margin:.45rem 0 0; font-size:.84rem; line-height:1.55; color:#475569; }
.as-links { display:flex; flex-wrap:wrap; gap:.4rem .9rem; margin-top:.5rem; font-size:.78rem; font-weight:600; }
.autor-hero { background:linear-gradient(135deg,var(--dark) 0%,var(--dark2) 100%); color:#fff; padding:1.75rem 0 2rem; }
.autor-hero .breadcrumb-item a { color:rgba(255,255,255,.6); }
.autor-hero .breadcrumb-item.active { color:rgba(255,255,255,.85); }
.autor-card { display:flex; gap:1.5rem; align-items:center; }
.autor-foto { width:120px; height:120px; border-radius:50%; object-fit:cover; flex-shrink:0; border:4px solid rgba(255,255,255,.15); background:var(--accent); color:var(--accent-contrast); display:flex; align-items:center; justify-content:center; font-size:3rem; font-weight:900; }
.autor-info h1 { font-size:clamp(1.5rem,4vw,2.1rem); font-weight:900; margin:0; }
.autor-cargo { color:var(--highlight); font-weight:700; font-size:.9rem; margin-top:.15rem; }
.autor-bio { color:rgba(255,255,255,.8); margin:.7rem 0 0; max-width:640px; font-size:.95rem; line-height:1.6; }
.autor-meta { display:flex; flex-wrap:wrap; gap:.5rem 1.2rem; margin-top:.8rem; font-size:.82rem; color:rgba(255,255,255,.7); }
.autor-meta a { color:#fff; font-weight:600; }
.autor-meta a:hover { color:var(--highlight); }
.equipe-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:1rem; }
.equipe-card { background:var(--bg-white); border-radius:var(--radius); box-shadow:var(--shadow-sm); padding:1.25rem 1rem; text-align:center; display:flex; flex-direction:column; align-items:center; gap:.3rem; color:var(--text); }
.equipe-card:hover { box-shadow:var(--shadow); color:var(--text); }
.equipe-card:hover strong { color:var(--accent); }
.equipe-foto { width:88px; height:88px; border-radius:50%; object-fit:cover; background:var(--accent-light); color:var(--accent); display:flex; align-items:center; justify-content:center; font-size:2rem; font-weight:900; margin-bottom:.35rem; }
.equipe-cargo { font-size:.75rem; font-weight:700; color:var(--accent); text-transform:uppercase; letter-spacing:.04em; }
.equipe-bio { font-size:.78rem; color:var(--muted); line-height:1.45; }
@media (max-width:575.98px) {
  .autor-card { flex-direction:column; text-align:center; gap:.9rem; }
  .autor-meta { justify-content:center; }
  .autor-foto { width:100px; height:100px; }
}

/* ═══ Feeds externos (notícias de outros sites, automático) ═══ */
.feed-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.85rem; }
.feed-card { display:flex; flex-direction:column; background:var(--bg-white); border-radius:var(--radius); box-shadow:var(--shadow-sm); overflow:hidden; color:var(--text); transition:box-shadow var(--tr),transform var(--tr); min-width:0; }
.feed-card:hover { box-shadow:var(--shadow); transform:translateY(-2px); color:var(--text); }
.feed-card:hover .feed-title { color:var(--accent); }
.feed-thumb { position:relative; display:block; aspect-ratio:16/10; background:var(--accent-light); overflow:hidden; }
.feed-thumb img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:1; transition:transform .5s ease; }
.feed-card:hover .feed-thumb img { transform:scale(1.05); }
.feed-thumb-ph { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:var(--accent); font-size:1.8rem; opacity:.5; }
.feed-body { display:flex; flex-direction:column; gap:.3rem; padding:.7rem .8rem .8rem; flex:1; }
.feed-cat { font-size:.58rem; font-weight:800; text-transform:uppercase; letter-spacing:.07em; color:var(--accent-dark); }
.feed-title { font-size:.84rem; line-height:1.35; font-weight:700; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; transition:color var(--tr); }
.feed-meta { margin-top:auto; font-size:.66rem; color:var(--muted); display:flex; align-items:center; gap:.25rem; flex-wrap:wrap; }
.feed-src { font-weight:600; }
.feed-side-list { list-style:none; margin:0; padding:.25rem .75rem; }
.feed-side-list li { border-bottom:1px solid var(--border); }
.feed-side-list li:last-child { border-bottom:0; }
.feed-side-list a { display:flex; gap:.65rem; padding:.65rem .15rem; color:var(--text); align-items:flex-start; }
.feed-side-list img { width:72px; height:54px; object-fit:cover; border-radius:6px; flex-shrink:0; }
.feed-side-list strong { display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; font-size:.8rem; line-height:1.35; }
.feed-side-list small { display:block; font-size:.66rem; color:var(--muted); margin-top:.2rem; }
.feed-side-list a:hover strong { color:var(--accent); }
@media (max-width:767.98px) { .feed-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:420px) { .feed-grid { grid-template-columns:1fr; } .feed-card { flex-direction:row; } .feed-thumb { width:120px; aspect-ratio:auto; min-height:90px; flex-shrink:0; } }

/* Feeds externos: sempre 3 em grade (no celular, carrossel deslizável) */
.feed-ext .feed-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.85rem; }
.feed-ext .feed-card { flex-direction:column; }
.feed-ext .feed-thumb { width:auto; aspect-ratio:16/10; min-height:0; }
@media (max-width:575.98px) {
  .feed-ext .feed-grid { display:grid; grid-auto-flow:column; grid-template-columns:none; grid-auto-columns:78%; overflow-x:auto; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; padding-bottom:.4rem; scrollbar-width:none; }
  .feed-ext .feed-grid::-webkit-scrollbar { display:none; }
  .feed-ext .feed-card { scroll-snap-align:start; }
}

/* Feed externo na lateral: 1ª com foto grande, demais com miniatura */
.feed-side { display:flex; flex-direction:column; padding:.6rem .75rem .25rem; gap:.1rem; }
.feed-side-item { display:flex; gap:.7rem; align-items:flex-start; padding:.55rem 0; border-bottom:1px solid var(--border); color:var(--text); }
.feed-side-item:last-child { border-bottom:0; }
.feed-side-item:hover { color:var(--text); }
.feed-side-item:hover strong { color:var(--accent); }
.feed-side-img { position:relative; flex-shrink:0; width:84px; height:63px; border-radius:7px; overflow:hidden; background:var(--accent-light); display:flex; align-items:center; justify-content:center; color:var(--accent); }
.feed-side-img i { font-size:1.2rem; opacity:.5; }
.feed-side-img img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:1; transition:transform .4s; }
.feed-side-item:hover .feed-side-img img { transform:scale(1.05); }
.feed-side-txt { min-width:0; display:flex; flex-direction:column; gap:.2rem; }
.feed-side-txt strong { font-size:.82rem; line-height:1.35; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; transition:color var(--tr); }
.feed-side-txt small { font-size:.66rem; color:var(--muted); }
.feed-side-item.is-first { flex-direction:column; gap:.5rem; padding-top:.15rem; }
.feed-side-item.is-first .feed-side-img { width:100%; height:auto; aspect-ratio:16/9; }
.feed-side-item.is-first strong { font-size:.92rem; }

/* Foto do autor nas listas e destaques */
.author-mini { width:20px; height:20px; border-radius:50%; object-fit:cover; display:inline-block; vertical-align:middle; flex-shrink:0; }
.meta-author, .item-author { display:inline-flex; align-items:center; gap:.35rem; }
.hero-main-meta .author-mini { width:22px; height:22px; border:1.5px solid rgba(255,255,255,.85); box-shadow:0 1px 3px rgba(0,0,0,.4); }

/* ═══ NOTÍCIAS RECENTES — lista estilo g1 no computador (out/2026) ═══
   Celular e tablet continuam com os cards em grade. */
.ng-extra, .ngcard-thumb-ph, .ngcard-em { display:none; }
.faixa-pool > .faixa-col:not(.is-padrao) { display:none; }
@media (min-width: 992px) {
  .news-list-g1 {
    display:block;
    background:var(--bg-white);
    border-radius:var(--radius);
    box-shadow:var(--shadow-sm);
    padding:.35rem 1.4rem;
  }
  .news-list-g1.ajustada .ng-extra { display:grid; }
  .news-list-g1 .ngcard.ng-off { display:none !important; }
  .news-list-g1 .ngcard {
    display:grid;
    grid-template-columns:minmax(0, 40%) minmax(0, 1fr);
    gap:1.35rem;
    align-items:start;
    background:none;
    box-shadow:none;
    border-radius:0;
    overflow:visible;
    padding:1.35rem 0;
    border-bottom:1px solid var(--border);
  }
  .news-list-g1 .ngcard:hover { transform:none; box-shadow:none; }
  .news-list-g1 > .ngcard:last-of-type,
  .news-list-g1 .ngcard.is-ultimo { border-bottom:0; }
  .news-list-g1 .ngcard-thumb {
    border-radius:10px;
    overflow:hidden;
    background:var(--border);
  }
  .news-list-g1 .ngcard-thumb img { aspect-ratio:16/10; }
  .news-list-g1 .ngcard-thumb-ph {
    display:flex; align-items:center; justify-content:center;
    aspect-ratio:16/10; font-size:2.2rem; color:var(--muted);
    background:var(--accent-soft, #fff7ed);
  }
  .news-list-g1 .ngcard-body { padding:0; gap:.45rem; }
  .news-list-g1 .ngcard-top { margin-top:.1rem; }
  .news-list-g1 .ngcard-title {
    font-family:'Merriweather', Georgia, serif;
    font-size:1.32rem;
    font-weight:700;
    line-height:1.28;
    letter-spacing:-.005em;
    -webkit-line-clamp:3;
  }
  .news-list-g1 .ngcard-title a { color:var(--text); }
  .news-list-g1 .ngcard:hover .ngcard-title a { color:var(--accent); }
  .news-list-g1 .ngcard-sub {
    position:relative;
    padding-left:.95rem;
    font-size:.88rem;
    line-height:1.5;
    color:#475569;
    flex:0 0 auto;
  }
  .news-list-g1 .ngcard-sub::before {
    content:""; position:absolute; left:.1rem; top:.55em;
    width:6px; height:6px; border-radius:50%;
    background:var(--cat-color, var(--accent)); opacity:.75;
  }
  .news-list-g1 .ngcard-foot {
    border-top:0; padding-top:.1rem; margin-top:0;
    justify-content:flex-start; gap:1rem; flex-wrap:wrap;
    font-size:.76rem;
  }
  .news-list-g1 .ngcard-em { display:inline; }
  .news-list-g1 .ad-slot { margin:1rem 0; }
}
@media (min-width: 1200px) {
  .news-list-g1 .ngcard-title { font-size:1.42rem; }
}

/* ═══ GALERIA DE FOTOS DO POST ═══ */
.post-galeria { margin:2rem 0 1.5rem; }
.post-galeria-tit {
  display:flex; align-items:center; gap:.5rem;
  font-size:1rem; font-weight:800; color:var(--text);
  margin:0 0 .85rem; padding-bottom:.55rem; border-bottom:2px solid var(--accent);
}
.post-galeria-tit i { color:var(--accent); }
.post-galeria-tit span { margin-left:auto; font-size:.75rem; font-weight:600; color:var(--muted); }
.pg-grid { display:grid; grid-template-columns:repeat(6, 1fr); gap:.5rem; }
.pg-item { position:relative; display:block; overflow:hidden; border-radius:10px; background:var(--border); cursor:zoom-in; grid-column:span 2; }
.pg-item[hidden] { display:none; }
.pg-item img { width:100%; height:100%; aspect-ratio:4/3; object-fit:cover; display:block; transition:transform .4s ease; }
.pg-item:hover img { transform:scale(1.04); }
/* 1 foto: inteira */
.pg-n1 .pg-item { grid-column:1 / -1; cursor:zoom-in; }
.pg-n1 .pg-item img { aspect-ratio:auto; max-height:540px; object-fit:contain; background:#0f172a; }
/* 2 fotos: lado a lado */
.pg-n2 .pg-item { grid-column:span 3; }
/* 3 e 4 fotos: a primeira grande em cima */
.pg-n3 .pg-item:first-child, .pg-n4 .pg-item:first-child { grid-column:1 / -1; }
.pg-n3 .pg-item:first-child img, .pg-n4 .pg-item:first-child img { aspect-ratio:16/9; }
.pg-n3 .pg-item:not(:first-child) { grid-column:span 3; }
/* 5 fotos: 2 em cima, 3 embaixo */
.pg-n5 .pg-item:nth-child(-n+2) { grid-column:span 3; }
/* 6 ou mais: mosaico (1 grande + 2 ao lado + 3 embaixo) */
.pg-n6 .pg-item:first-child { grid-column:span 4; grid-row:span 2; }
.pg-mais {
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  background:rgba(15,23,42,.62); color:#fff; font-size:1.8rem; font-weight:800;
}
@media (max-width: 575.98px) {
  .pg-grid { grid-template-columns:1fr 1fr; gap:.35rem; }
  .pg-grid .pg-item { grid-column:span 1 !important; grid-row:auto !important; }
  .pg-grid .pg-item:first-child,
  .pg-n4 .pg-item:nth-child(4), .pg-n6 .pg-item:nth-child(6) { grid-column:1 / -1 !important; }
  .pg-grid:not(.pg-n1) .pg-item:first-child img,
  .pg-n4 .pg-item:nth-child(4) img, .pg-n6 .pg-item:nth-child(6) img { aspect-ratio:16/10; }
  .pg-n2 .pg-item:first-child { grid-column:span 1 !important; }
  .pg-n2 .pg-item:first-child img { aspect-ratio:4/3; }
}

/* Visualizador (lightbox) */
.pg-lb { position:fixed; inset:0; z-index:10000; background:rgba(8,12,20,.94); display:none; flex-direction:column; align-items:center; justify-content:center; padding:3.2rem .75rem 1rem; touch-action:pan-y; }
.pg-lb.open { display:flex; }
.pg-lb-img { max-width:min(1200px, 100%); max-height:calc(100vh - 9rem); object-fit:contain; border-radius:6px; user-select:none; -webkit-user-drag:none; }
.pg-lb-cap { color:#e2e8f0; font-size:.9rem; text-align:center; max-width:900px; margin-top:.75rem; min-height:1.2em; line-height:1.45; }
.pg-lb-cont { position:absolute; top:1rem; left:1.1rem; color:#cbd5e1; font-size:.85rem; font-weight:600; }
.pg-lb button { position:absolute; border:0; background:rgba(255,255,255,.12); color:#fff; border-radius:50%; width:46px; height:46px; display:flex; align-items:center; justify-content:center; font-size:1.35rem; cursor:pointer; transition:background .2s; }
.pg-lb button:hover { background:rgba(255,255,255,.25); }
.pg-lb-fechar { top:.6rem; right:.75rem; }
.pg-lb-ant { left:1rem; top:50%; transform:translateY(-50%); }
.pg-lb-prox { right:1rem; top:50%; transform:translateY(-50%); }
@media (max-width: 575.98px) {
  .pg-lb-ant, .pg-lb-prox { top:auto; bottom:1rem; transform:none; }
  .pg-lb-img { max-height:calc(100vh - 11rem); }
}

/* ═══ Paginação compacta ═══ */
.pag-nav .pagination { flex-wrap:nowrap; gap:.3rem; }
.pag-nav .pag-reticencias .page-link { background:transparent; border-color:transparent; color:var(--muted); padding-left:.35rem; padding-right:.35rem; }
.pag-nav .pag-seta.disabled .page-link { opacity:.45; }
@media (max-width: 575.98px) {
  .pag-nav .pag-longe { display:none; }
  .pag-nav .pag-txt { display:none; }
  .pag-nav .page-link { padding:.4rem .62rem; }
}
.widget-title .widget-periodo { margin-left:auto; font-size:.68rem; font-weight:600; color:var(--muted); text-transform:none; letter-spacing:0; }

/* ═══ Página do autor: matérias em grade ═══ */
.autor-grid { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:1rem; }
.autor-grid .ngcard-thumb img { aspect-ratio:4/3; }
.autor-grid .ngcard-title { font-size:.95rem; }
.autor-grid-ph { display:flex !important; align-items:center; justify-content:center; aspect-ratio:4/3; background:var(--accent-soft); color:var(--accent); font-size:2rem; }
@media (max-width: 991.98px) { .autor-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); } }
@media (max-width: 575.98px) { .autor-grid { grid-template-columns:1fr; } }
.home-economia .feed-cat { color:var(--cat-color, var(--accent-dark)); }

/* ═══ MAIS NOTÍCIAS — 4 em grade, mesmo estilo dos cards do site ═══ */
.home-mais { padding:.5rem 0 2.5rem; }
.mais-grid { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:1rem; }
.mais-grid .faixa-col:not(.is-padrao) { display:none; }
.mais-card .ngcard-thumb img { aspect-ratio:16/10; }
.mais-card .ngcard-title { font-size:.95rem; }
.mais-card .ngcard-foot { flex-wrap:wrap; gap:.35rem .75rem; }
.mais-ph { display:flex !important; align-items:center; justify-content:center; aspect-ratio:16/10; background:var(--accent-soft); color:var(--accent); font-size:2rem; }
@media (max-width: 991.98px) { .mais-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); } }
@media (max-width: 575.98px) { .mais-grid { grid-template-columns:1fr; } }

/* ─── URGENTE (faixa no alto da capa + selo nos cards) ───────── */
.urgente-bar { background:#b91c1c; color:#fff; margin-top:1rem; border-bottom:3px solid #7f1d1d; }
.urgente-in { display:flex; align-items:center; gap:1rem; padding-top:.7rem; padding-bottom:.7rem; }
.urgente-label { flex:0 0 auto; display:inline-flex; align-items:center; gap:.5rem; background:#fff; color:#b91c1c; font-weight:900; font-size:.75rem; letter-spacing:.14em; padding:.35rem .7rem; border-radius:4px; }
.urgente-pulso { width:.55rem; height:.55rem; border-radius:50%; background:#dc2626; animation:urgPulso 1.2s ease-in-out infinite; }
@keyframes urgPulso { 0%,100% { opacity:1; transform:scale(1); } 50% { opacity:.35; transform:scale(.7); } }
.urgente-lista { flex:1; min-width:0; display:flex; flex-direction:column; gap:.3rem; }
.urgente-item { color:#fff; font-weight:800; font-size:1.02rem; line-height:1.3; text-decoration:none; font-family:'Merriweather',serif; }
.urgente-item:hover { color:#fff; text-decoration:underline; }
.urgente-hora { font-family:inherit; font-weight:500; font-size:.72rem; opacity:.8; white-space:nowrap; margin-left:.35rem; font-family:'Inter',system-ui,sans-serif; }
.urgente-bar + .latest-ticker { margin-top:0; }
@media (max-width:575px) {
  .urgente-in { flex-direction:column; align-items:flex-start; gap:.5rem; }
  .urgente-item { font-size:.95rem; }
}
@media (prefers-reduced-motion:reduce) { .urgente-pulso { animation:none; } }
.selo-urgente { display:inline-flex; align-items:center; gap:.25rem; background:#dc2626; color:#fff; font-size:.6rem; font-weight:900; text-transform:uppercase; letter-spacing:.08em; padding:.22rem .55rem; border-radius:3px; margin-right:.35rem; vertical-align:middle; }
.selo-urgente.sm { font-size:.56rem; padding:.15rem .45rem; }

/* ═══ ACESSIBILIDADE ═══════════════════════════════════════════ */
/* Pular para o conteúdo (aparece ao usar o Tab) */
.skip-link { position:absolute; left:.75rem; top:-100px; z-index:10000; background:#fff; color:#111; font-weight:800; padding:.7rem 1rem; border-radius:8px; border:3px solid var(--accent); text-decoration:none; }
.skip-link:focus { top:.75rem; }
#conteudo:focus { outline:none; }
/* Foco visível em tudo que é clicável, só para teclado */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, [tabindex]:focus-visible, summary:focus-visible {
  outline:3px solid #f59e0b !important; outline-offset:2px !important; box-shadow:0 0 0 5px rgba(0,0,0,.55) !important; border-radius:4px;
}
.urgente-bar a:focus-visible { outline-color:#fff !important; }
.urgente-label { margin:0; line-height:1.2; font-family:'Inter',system-ui,sans-serif; }

/* Faixa "Últimas": pausa (botão, foco do teclado) e movimento reduzido */
.latest-ticker { position:relative; }
.ticker-pausa { flex:0 0 auto; width:42px; border:0; border-left:1px solid rgba(255,255,255,.12); background:var(--dark); color:#fff; font-size:1.05rem; display:flex; align-items:center; justify-content:center; cursor:pointer; }
.ticker-pausa:hover { color:var(--highlight, #fbbf24); }
.ticker-track:focus-within, .latest-ticker.parado .ticker-track { animation-play-state:paused; }
.ticker-item { color:rgba(255,255,255,.88); }
@media (prefers-reduced-motion:reduce) {
  .ticker-track { animation:none; overflow-x:auto; }
  .ticker-track [aria-hidden="true"] { display:none; }
}

/* Botão e painel de acessibilidade */
.header-a11y-btn { display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:var(--radius-sm); color:#fff; background:#1d4ed8; border:1px solid rgba(255,255,255,.35); flex-shrink:0; order:2; margin-right:.4rem; font-size:1.25rem; cursor:pointer; }
.header-a11y-btn:hover, .header-a11y-btn[aria-expanded="true"] { background:#1e40af; border-color:#fff; }
.a11y-painel { position:fixed; right:1rem; top:calc(72px + env(safe-area-inset-top)); z-index:9002; width:min(300px, calc(100vw - 2rem)); max-height:calc(100vh - 90px); overflow:auto; background:#fff; color:#0f172a; border-radius:14px; box-shadow:0 12px 40px rgba(0,0,0,.3); padding:1rem; display:flex; flex-direction:column; gap:.45rem; font-size:16px; font-family:'Inter',system-ui,sans-serif; }
.a11y-painel[hidden] { display:none; }
.a11y-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:.25rem; }
.a11y-head h2 { font-size:1.05rem; font-weight:800; margin:0; color:#0f172a; }
.a11y-head h2 i { color:#1d4ed8; }
.a11y-fechar { border:0; background:#f1f5f9; color:#0f172a; width:34px; height:34px; border-radius:8px; cursor:pointer; }
.a11y-fonte { display:flex; align-items:center; justify-content:space-between; gap:.5rem; padding:.5rem .6rem; background:#f8fafc; border:1px solid #e2e8f0; border-radius:10px; font-size:.9rem; font-weight:600; }
.a11y-fonte-ctl { display:flex; align-items:center; gap:.35rem; }
.a11y-fonte-ctl button { width:40px; height:36px; border-radius:8px; border:1px solid #cbd5e1; background:#fff; color:#0f172a; font-weight:800; font-size:1rem; cursor:pointer; }
.a11y-fonte-ctl output { min-width:3.2em; text-align:center; font-weight:700; }
.a11y-op, .a11y-reset { display:flex; align-items:center; gap:.6rem; width:100%; text-align:left; padding:.6rem .75rem; border-radius:10px; border:1px solid #e2e8f0; background:#fff; color:#0f172a; font-size:.92rem; font-weight:600; cursor:pointer; }
.a11y-op i { font-size:1.15rem; color:#1d4ed8; }
.a11y-op::after { content:'Desligado'; margin-left:auto; font-size:.7rem; font-weight:700; color:#64748b; }
.a11y-op[aria-pressed="true"] { background:#1d4ed8; border-color:#1d4ed8; color:#fff; }
.a11y-op[aria-pressed="true"] i { color:#fff; }
.a11y-op[aria-pressed="true"]::after { content:'Ligado'; color:#fff; }
.a11y-reset { justify-content:center; background:#f1f5f9; color:#334155; margin-top:.2rem; }
@media (max-width:575px) { .header-a11y-btn { width:38px; height:38px; margin-right:.3rem; font-size:1.15rem; } .a11y-painel { right:.75rem; top:calc(64px + env(safe-area-inset-top)); } }

/* Destacar links */
html.a11y-links main a, html.a11y-links footer a { text-decoration:underline !important; text-underline-offset:3px; text-decoration-thickness:2px !important; }
/* Texto mais espaçado (WCAG 1.4.12) */
html.a11y-leitura body { letter-spacing:.04em; word-spacing:.12em; }
html.a11y-leitura main p, html.a11y-leitura main li { line-height:1.9 !important; margin-bottom:1.1em; }
/* Parar animações */
html.a11y-pausa *, html.a11y-pausa *::before, html.a11y-pausa *::after { animation-play-state:paused !important; transition:none !important; scroll-behavior:auto !important; }
html.a11y-pausa .ticker-track { animation:none !important; overflow-x:auto; }
html.a11y-pausa .ticker-track [aria-hidden="true"] { display:none; }
html.a11y-pausa .ticker-pausa { display:none; }

/* Alto contraste: fundo preto, texto branco, links amarelos.
   :where() deixa a regra geral com peso baixo, para as exceções abaixo valerem. Anúncios e fotos ficam como estão. */
html.a11y-contraste body, html.a11y-contraste body :where(*:not(img, video, iframe, svg, svg *, picture, .a11y, .a11y *, .ad-inner, .ad-inner *)) {
  background-color:#000 !important; color:#fff !important; border-color:#fff !important; box-shadow:none !important; text-shadow:none !important;
}
html.a11y-contraste body :where(a:not(.a11y *, .ad-inner *)), html.a11y-contraste body :where(a:not(.a11y *, .ad-inner *)) :where(*:not(img)) { color:#ffeb3b !important; }
html.a11y-contraste body :where(button:not(.a11y *)) { border:1px solid #fff !important; }
/* Áreas com foto de fundo: tira o preto e usa uma película escura para o texto */
html.a11y-contraste .hero-main, html.a11y-contraste .hero-main :where(*:not(.hero-main-overlay)) { background-color:transparent !important; }
html.a11y-contraste .hero-main-overlay { background:linear-gradient(to top, rgba(0,0,0,.92) 35%, rgba(0,0,0,.35)) !important; }
html.a11y-contraste .ngcard-thumb, html.a11y-contraste .hero-sec-thumb, html.a11y-contraste .feed-thumb { background-color:#000 !important; }
html.a11y-contraste .ticker-track-wrap::before, html.a11y-contraste .ticker-track-wrap::after { display:none; }
html.a11y-contraste .hcat, html.a11y-contraste .selo-urgente, html.a11y-contraste .urgente-label { border:1px solid #fff !important; }
html.a11y-contraste .urgente-bar { border-top:3px solid #ffeb3b !important; border-bottom:3px solid #ffeb3b !important; }
html.a11y-contraste .ad-slot { background:#fff !important; }

/* Contraste mínimo (WCAG AA 4,5:1) para textos pequenos: usa o tom escuro da cor principal */
.ticker-label, .sf-nl-form button, .ck-btn-accept { background:var(--accent-dark) !important; color:#fff !important; }
.sf-nl-form button:hover, .ck-btn-accept:hover { background:var(--accent-darker, #7c2d12) !important; }
.cf-section-more, .ed-side-more { color:var(--accent-dark); }
.cf-section-more:hover, .ed-side-more:hover { color:var(--accent-darker, #7c2d12); }
.ad-slot .ad-label { color:#5b6576; opacity:1; }
.sf-nl-note { color:rgba(255,255,255,.68); }
.sf-nl-note a { color:rgba(255,255,255,.85); }
.sf-copy { color:rgba(255,255,255,.62); }
.ck-btn-policy { color:rgba(255,255,255,.72) !important; }
/* Links dentro de texto corrido sempre sublinhados (não dependem só da cor) */
main p a:not(.btn), main label a, .content-page li a:not(.btn), .post-body li a:not(.btn), .article-body li a:not(.btn) { text-decoration:underline; text-underline-offset:2px; }
.btn-outline-secondary { --bs-btn-color:#4b5563; --bs-btn-border-color:#6b7280; }

/* Texto ampliado: cards crescem em vez de cortar o título */
html.a11y-ampliado .hero-sec-card { flex:1 0 auto; min-height:auto; }
html.a11y-ampliado .hero-sec-body { overflow:visible; }
html.a11y-ampliado .hero-sec-title, html.a11y-ampliado .ngcard-title, html.a11y-ampliado .feed-title, html.a11y-ampliado .ngcard-sub { -webkit-line-clamp:unset !important; display:block !important; overflow:visible !important; }
html.a11y-ampliado .hero-stack { height:auto; }
html.a11y-ampliado .hero-main { height:auto; min-height:420px; }
@media (max-width:991.98px) { html.a11y-ampliado .hero-main { min-height:340px; } }
@media (max-width:575.98px) { html.a11y-ampliado .hero-main { min-height:260px; } }
html.a11y-contraste .hamburger span { background:#fff !important; }

/* ═══ NOTIFICAÇÕES (sininho no topo + aviso) ═══════════════════ */
.header-push-btn { display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:var(--radius-sm); color:rgba(255,255,255,.85); background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12); flex-shrink:0; order:2; margin-right:.4rem; font-size:1.1rem; cursor:pointer; position:relative; }
.header-push-btn[hidden] { display:none; }
.header-push-btn:hover { color:#fff; background:rgba(255,255,255,.12); }
.header-push-btn[aria-pressed="true"] { color:var(--highlight, #fbbf24); border-color:var(--highlight, #fbbf24); }
.header-push-btn[aria-pressed="true"]::after { content:''; position:absolute; top:7px; right:8px; width:7px; height:7px; border-radius:50%; background:#22c55e; border:1px solid var(--dark); }
@media (max-width:575px) { .header-push-btn { width:38px; height:38px; margin-right:.3rem; } }
.push-aviso { position:fixed; left:50%; transform:translateX(-50%); top:calc(70px + env(safe-area-inset-top)); z-index:9500; width:min(420px, calc(100vw - 2rem)); background:#fff; color:#0f172a; border-radius:12px; box-shadow:0 12px 36px rgba(0,0,0,.28); padding:1rem 1.1rem; font-size:.92rem; line-height:1.45; border-left:5px solid var(--accent); font-family:'Inter',system-ui,sans-serif; }
.push-aviso[hidden] { display:none; }
.push-aviso strong { display:block; margin-bottom:.2rem; }
.push-aviso-btns { display:flex; gap:.5rem; justify-content:flex-end; margin-top:.75rem; flex-wrap:wrap; }
.push-aviso-btns button { border-radius:50px; padding:.42rem 1rem; font-weight:700; font-size:.85rem; cursor:pointer; border:1px solid #cbd5e1; background:#fff; color:#0f172a; }
.push-aviso-btns .pa-sim { background:var(--accent); border-color:var(--accent); color:#fff; }
html.a11y-contraste .push-aviso, html.a11y-contraste .push-aviso * { background:#000 !important; color:#fff !important; border-color:#fff !important; }

/* Quadro "Notificações" na coluna da home */
.widget-push[hidden] { display:none; }
.push-card-body { padding:.9rem 1rem 1rem; }
.push-card-txt { font-size:.86rem; line-height:1.5; margin:0 0 .8rem; color:var(--text); }
.push-card-btn { width:100%; display:flex; align-items:center; justify-content:center; gap:.45rem; border:0; border-radius:50px; padding:.65rem 1rem; font-weight:800; font-size:.9rem; cursor:pointer; background:var(--accent); color:#fff; }
.push-card-btn:hover { background:var(--accent-dark); }
.push-card-btn[aria-pressed="true"] { background:#fff; color:var(--text); border:1px solid var(--border); }
.push-card-btn[aria-pressed="true"]:hover { background:#f1f5f9; }
/* Topo no celular: logo encolhe para caber acessibilidade + sininho + busca + menu */
.site-logo { flex-shrink:1; }
.logo-name { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
@media (max-width:440px) {
  .header-inner { gap:.35rem; }
  .logo-tag { display:none; }
  .header-a11y-btn, .header-push-btn, .header-search-btn, .hamburger { width:36px; height:36px; margin-right:0; }
  .site-logo { gap:.4rem; }
}
@media (max-width:380px) { .logo-name { font-size:1rem; } .logo-icon { width:30px; height:30px; } }

/* Botões do topo discretos, iguais à lupa (acessibilidade e sininho) */
.header-a11y-btn, .header-push-btn { width:40px; height:40px; margin-right:0; color:rgba(255,255,255,.8); background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12); border-radius:var(--radius-sm); font-size:1rem; }
.header-a11y-btn:hover, .header-push-btn:hover, .header-a11y-btn[aria-expanded="true"] { color:#fff; background:rgba(255,255,255,.12); border-color:rgba(255,255,255,.12); }
.header-push-btn[aria-pressed="true"] { color:#fff; border-color:rgba(255,255,255,.12); }
.header-push-btn[aria-pressed="true"]::after { top:8px; right:9px; width:6px; height:6px; }
.header-inner > .header-a11y-btn, .header-inner > .header-push-btn { margin-left:-.35rem; }
@media (max-width:575px) { .header-a11y-btn, .header-push-btn { width:38px; height:38px; } }
@media (max-width:440px) { .header-a11y-btn, .header-push-btn { width:36px; height:36px; } .header-inner > .header-a11y-btn, .header-inner > .header-push-btn { margin-left:0; } }

/* ═══ OUVIR ESTA NOTÍCIA (botão discreto na linha do autor/data) ═══ */
.ouvir { display:inline-flex; align-items:center; gap:.3rem; }
.ouvir[hidden] { display:none; }
.ouvir-play, .ouvir-parar { display:inline-flex; align-items:center; gap:.3rem; border:1px solid var(--border, #e2e8f0); background:transparent; color:inherit; font:inherit; font-weight:600; border-radius:50px; padding:.1rem .6rem; line-height:1.6; cursor:pointer; }
.ouvir-parar { padding:.1rem .45rem; }
.ouvir-parar[hidden] { display:none; }
.ouvir-play i, .ouvir-parar i { color:var(--accent); }
.ouvir-play:hover, .ouvir-parar:hover { border-color:var(--accent); color:var(--accent-dark); }
.ouvir-play[aria-pressed="true"] { border-color:var(--accent); color:var(--accent-dark); }
.ouvir-lendo { background:rgba(250, 204, 21, .28); box-shadow:0 0 0 .3em rgba(250, 204, 21, .28); border-radius:3px; }
html.a11y-contraste .ouvir-lendo { background:#ffeb3b !important; color:#000 !important; }
html.a11y-contraste .ouvir-lendo * { color:#000 !important; background:transparent !important; }

/* ═══════════════════════════════════════════════════════
   HOME — NOTÍCIAS LOCAIS (painel claro: destaque grande com foto + lista com miniaturas)
   Visual próprio, diferente de Economia e Mercado (3 cards claros).
   ═══════════════════════════════════════════════════════ */
.home-local { background:var(--bg-white); color:var(--text); border-radius:var(--radius); border-top:3px solid var(--accent); padding:.95rem 1rem 1.1rem; box-shadow:var(--shadow-sm); }
.cn-head { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin:0 0 .9rem; }
.cn-titulo { margin:0; font-size:.7rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:#fff; background:var(--accent); padding:.4rem .75rem; border-radius:var(--radius-sm); display:inline-flex; align-items:center; gap:.4rem; line-height:1; }
.cn-mais { font-size:.7rem; font-weight:600; color:var(--accent-dark); display:inline-flex; align-items:center; gap:.2rem; white-space:nowrap; transition:gap var(--tr),color var(--tr); }
.cn-mais:hover { color:var(--accent); gap:.45rem; }
.cn-corpo { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); gap:1rem; }
.cn-corpo.cn-so-um { grid-template-columns:1fr; }
.cn-cat { font-size:.6rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:var(--accent-dark); }
.cn-meta { font-size:.68rem; color:var(--muted); display:inline-flex; align-items:center; gap:.25rem; }
.cn-lead { border-radius:var(--radius); overflow:hidden; min-height:100%; }
.cn-lead-link { position:relative; display:block; height:100%; min-height:300px; color:#fff; }
.cn-lead-link:hover { color:#fff; }
.cn-lead-img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }
.cn-ph { display:flex; align-items:center; justify-content:center; background:var(--accent-dark); color:rgba(255,255,255,.35); font-size:3rem; }
.cn-lead-link:hover .cn-lead-img { transform:scale(1.05); }
.cn-lead .cn-cat { color:var(--highlight); }
.cn-lead .cn-meta { color:rgba(255,255,255,.8); }
.cn-lead-shade { position:absolute; inset:0; background:linear-gradient(to top,rgba(20,10,5,.92) 0%,rgba(20,10,5,.45) 48%,rgba(20,10,5,0) 78%); }
.cn-lead-body { position:absolute; left:0; right:0; bottom:0; padding:1rem 1.1rem 1.05rem; display:flex; flex-direction:column; gap:.4rem; }
.cn-lead-title { font-family:'Merriweather',Georgia,serif; font-size:clamp(1.05rem,2.2vw,1.35rem); line-height:1.25; font-weight:900; display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden; }
.cn-lista { display:flex; flex-direction:column; }
.cn-item { display:flex; gap:.8rem; align-items:flex-start; justify-content:space-between; padding:.8rem .1rem; border-bottom:1px solid var(--border); color:var(--text); transition:padding var(--tr); }
.cn-item:first-child { padding-top:.1rem; }
.cn-item:last-child { border-bottom:0; padding-bottom:0; }
.cn-item:hover { color:var(--text); padding-left:.35rem; }
.cn-item:hover .cn-item-title { color:var(--accent); }
.cn-item-txt { display:flex; flex-direction:column; gap:.3rem; min-width:0; }
.cn-item-title { font-size:.9rem; line-height:1.35; font-weight:700; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; transition:color var(--tr); }
.cn-item-thumb { flex:0 0 84px; width:84px; height:84px; border-radius:var(--radius-sm); overflow:hidden; background:var(--accent-light); }
.cn-item-thumb img { width:100%; height:100%; object-fit:cover; }
@media (max-width:767.98px) {
  .cn-corpo { grid-template-columns:1fr; }
  .cn-lead-link { min-height:240px; }
  .home-local { padding:.9rem .85rem 1rem; }
}

/* ═══════════════════════════════════════════════════════
   HOME — COLUNISTAS (faixa compacta, estilo jornal: foto P&B, nome e título da coluna)
   ═══════════════════════════════════════════════════════ */
.home-colunistas { margin-top:1.25rem; }
.col-faixa { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); background:var(--bg-white); border-radius:var(--radius); box-shadow:var(--shadow-sm); padding:.85rem 1rem .9rem; }
.col-item { display:flex; flex-direction:column; gap:.35rem; padding:0 1rem; min-width:0; }
.col-item:first-child { padding-left:0; }
.col-item:last-child { padding-right:0; }
.col-item + .col-item { border-left:1px solid var(--border); }
.col-autor { display:flex; align-items:center; gap:.55rem; min-width:0; }
.col-avatar { width:40px; height:40px; border-radius:50%; object-fit:cover; flex-shrink:0; filter:grayscale(1); }
span.col-avatar { background:var(--dark); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:900; font-size:1rem; filter:none; }
.col-nome { font-family:'Merriweather',Georgia,serif; font-size:.9rem; font-weight:700; line-height:1.2; color:var(--accent-dark); }
.col-autor:hover .col-nome { color:var(--accent); }
.col-titulo { font-family:'Merriweather',Georgia,serif; font-style:italic; font-size:.82rem; line-height:1.4; color:var(--text); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.col-titulo:hover { color:var(--accent); }
@media (max-width:991.98px) {
  .col-faixa { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; scrollbar-width:none; }
  .col-faixa::-webkit-scrollbar { display:none; }
  .col-item { flex:0 0 min(70%,260px); scroll-snap-align:start; }
  .col-item:first-child { padding-left:0; }
}
/* Lateral no computador: ocupa a altura toda da coluna e o último bloco (normalmente um anúncio)
   acompanha a rolagem, para não ficar espaço vazio embaixo da lateral */
@media (min-width: 992px) {
  .main-container > .row > .col-lg-4 { display:flex; flex-direction:column; }
  .main-container > .row > .col-lg-4 > .sidebar-stack { flex:1 1 auto; }
  .main-container > .row > .col-lg-4 > .sidebar-stack > :last-child { position:sticky; top:84px; }
}

/* Menu com mais itens (Guia, Em Números): aperta o espaçamento em telas médias para o nome do site não ser cortado */
@media (min-width:992px) and (max-width:1399.98px) { .nav-list .nav-link { padding:.55rem .5rem; } .nav-list .nav-link.nav-guia i, .nav-list .nav-link.nav-editais i { display:none; } }
@media (min-width:992px) and (max-width:1199.98px) { .nav-list .nav-link { padding:.55rem .34rem; font-size:.72rem; letter-spacing:0; } .nav-list .nav-link.nav-guia i, .nav-list .nav-link.nav-editais i { display:none; } }

/* Blogs e Colunistas — faixa da home (3 a 6 colunas) */
.col-faixa { grid-template-columns:repeat(var(--colq,4),minmax(0,1fr)); }
.col-faixa-cab { display:flex; align-items:baseline; justify-content:space-between; gap:1rem; margin:0 0 .5rem; }
.col-faixa-cab h2 { font-size:.74rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:var(--accent-dark); margin:0; }
.col-faixa-cab h2 i { margin-right:.25rem; }
.col-faixa-cab a { font-size:.78rem; font-weight:700; color:var(--accent-dark); text-decoration:none; white-space:nowrap; }
.col-faixa-cab a:hover { text-decoration:underline; }
.col-data { font-size:.72rem; color:var(--muted); margin-top:auto; }
/* Rótulo editorial dos artigos (OPINIÃO | Autor) */
.rotulo-ed { display:inline-flex; align-items:center; gap:.45rem; font-size:.74rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:var(--accent-dark); margin-bottom:.6rem; }
.rotulo-ed b { background:var(--dark); color:#fff; padding:.18rem .55rem; border-radius:4px; letter-spacing:.08em; }
.rotulo-ed a { color:var(--accent-dark); text-decoration:none; }
.rotulo-ed a:hover { text-decoration:underline; }
.aviso-opiniao { font-size:.82rem; color:var(--muted); border-top:1px solid var(--border); padding-top:.8rem; margin-top:1.4rem; font-style:italic; }
