/*
Theme Name: cbctech
Theme URI: https://example.com/
Author: CBC TECH
Author URI: https://40graus.com.br
Description: Tema leve, clean e profissional para portal de notícias. Layout editorial com hero + últimas + editorias + sidebar com colunistas.
Version: 2.5.9.96
License: GPLv2 or later
Text Domain: cbctech
Tags: news, blog, two-columns, custom-logo, custom-menu, featured-images, responsive-layout
*/

/* =========================================================
   Embeds responsivos (YouTube, Instagram, X/Twitter, Facebook etc.)
   Complementa o add_theme_support('responsive-embeds') no functions.php
   ========================================================= */
.entry-content iframe,
.entry-content embed,
.entry-content object{
  max-width: 100%;
}

:root{
  --accent:#ff5a1f;
  --text:#111;
  --muted:#667085;
  --line:#eaeaea;
  --bg:#ffffff;
  --card:#ffffff;
  --radius:14px;
  --shadow: 0 8px 24px rgba(17,17,17,.06);
  --max: 1140px;
  --fg40-header-offset: 112px; /* fallback: altura do header sticky */
}

/* =========================================================
   Refino: botão de busca (lupa) mais profissional
   - remove aparência "amadora" de contorno forte
   - melhora contraste, hover e foco
   (v2.5.9.13)
   ========================================================= */
.site-topbar .search-toggle{
  width:44px !important;
  height:44px !important;
  min-width:44px !important;
  border-radius:999px !important;
  border:1px solid rgba(17,17,17,.14) !important;
  background:#fff !important;
  color:var(--text) !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  box-shadow:0 10px 24px rgba(0,0,0,.08) !important;
  transition: background .15s ease, border-color .15s ease, color .15s ease, transform .12s ease;
}

.site-topbar .search-toggle svg{
  width:20px !important;
  height:20px !important;
  display:block;
}

.site-topbar .search-toggle:hover,
.site-topbar .search-toggle:focus{
  background: var(--accent) !important;
  border-color: var(--accent) !important;
  color:#fff !important;
}

.site-topbar .search-toggle:active{ transform: translateY(1px); }

.site-topbar .search-toggle:focus-visible{
  outline: none;
  box-shadow: 0 0 0 4px rgba(255,90,31,.22), 0 10px 24px rgba(0,0,0,.10) !important;
}

/* =========================================================
   40GRAUS – refinamento final (v2.5.8)
   - Info-strip (data/clima) mais fina e discreta
   - Destaques (mini) mais compactos, menos "branco" sobrando
   ========================================================= */

/* Faixa superior: mais fina e discreta (não compete com o menu) */
.info-strip{
  font-size: 11px !important;
  border-bottom: 1px solid rgba(255,255,255,.06) !important;
}
.info-strip-inner{
  padding: 6px 0 !important;
}
.info-strip .info-line{
  gap: 8px !important;
}
.info-strip .sep{
  margin: 0 6px !important;
}

/* Clima: remove "pílula" e deixa apenas um inline elegante */
.weather-pill,
.weather-inline{
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
}
.weather-pill .wx,
.weather-inline .wx{
  opacity: .85;
}
.weather-pill .wx-temp,
.weather-inline .wx-temp{
  font-weight: 700;
}

/* Destaques (cards mini): mais densos */
.mini{
  padding: 10px 12px !important;
  grid-template-columns: 80px 1fr !important;
  gap: 10px !important;
}
.mini .thumb{
  width: 80px !important;
  height: 58px !important;
}
.mini h3{
  margin: 0 0 4px !important;
  line-height: 1.2 !important;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.mini .meta{
  line-height: 1.1;
}

.mini{
  align-items:flex-start !important;
}
.mini > div{
  display:flex;
  flex-direction:column;
  gap:4px;
}
.mini .mini-kicker{ margin:0 0 2px !important; line-height:1.1; }
.mini .meta{ margin:0 !important; opacity:.85; }

/* Mobile: ainda mais discreto e com toque confortável */
@media (max-width: 768px){
  .info-strip{ font-size: 10.5px !important; }
  .info-strip-inner{ padding: 6px 0 !important; }
  .mini{ padding: 10px 12px !important; }
}

*{ box-sizing:border-box; }
html,body{ margin:0; padding:0; }
body{
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, "Helvetica Neue", Arial, "Noto Sans", "Apple Color Emoji", "Segoe UI Emoji";
  color:var(--text);
  background:var(--bg);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

a{ color:inherit; text-decoration:none; }
a:hover{ color:var(--accent); }

img{ max-width:100%; height:auto; display:block; }
.container{ width:min(var(--max), calc(100% - 32px)); margin-inline:auto; }

.skip-link{
  position:absolute; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden;
}
.skip-link:focus{ left:16px; top:16px; width:auto; height:auto; padding:10px 12px; background:#fff; border:1px solid var(--line); border-radius:10px; z-index:9999; }

.site-topbar{
  border-bottom:1px solid var(--line);
  background:#fff;
  position:sticky; top:0; z-index:1000;
}
.topbar-inner{
  display:flex; align-items:center; justify-content:space-between;
  gap:16px; padding:14px 0;
}

.brand{
  display:flex; align-items:center; gap:10px;
  font-weight:800; letter-spacing:-.03em;
  line-height:1;
}
.nav{
  display:flex; align-items:center; gap:18px;
  font-size:13px; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
}
.nav a{ color:var(--text); opacity:.86; padding:10px 8px; border-radius:10px; }

/* Hover leve (editorial, sem "pílula" chamativa) */
.nav a:hover{
  background:rgba(255,90,31,.10);
  color:var(--accent);
  opacity:1;
}

/* Estado ativo (ex.: INÍCIO) com destaque real usando o laranja da marca */
.nav .current-menu-item > a,
.nav .current_page_item > a,
.nav a[aria-current="page"],
.nav a[aria-current="true"]{
  background:var(--accent);
  color:#fff;
  opacity:1;
  box-shadow:0 6px 16px rgba(255,90,31,.22);
}

.header-right{
  display:flex; align-items:center; gap:10px;
}
.search-toggle, .btn{
  border:1px solid var(--line);
  background:#fff;
  padding:10px 12px;
  border-radius:12px;
  cursor:pointer;
  font-weight:700;
}
.btn-accent{
  background:var(--accent);
  color:#fff;
  border-color:transparent;
}

/* Botão "Últimas": mantém legibilidade no hover (evita herdar o a:hover global) */
.btn.btn-accent:hover,
.btn.btn-accent:focus,
.btn.btn-accent:focus-visible{
  color: #fff !important;
  background: var(--accent) !important;
  box-shadow: 0 10px 22px rgba(17,17,17,.16);
}

/* Reforço extra (caso algum plugin aplique regra mais específica no topo do header) */
.site-topbar .header-right a.btn.btn-accent:hover{
  color:#fff !important;
}

/* Ensure Últimas button text stays visible on hover */
.header-actions .btn.btn-accent:hover,
.header-actions .btn.btn-accent:focus{ color:#fff !important; }


/* Ultra-specific ("Últimas") para neutralizar qualquer regra de plugin */
.site-topbar .header-actions a.js-latest:hover,
.site-topbar .header-actions a.js-latest:focus,
.site-topbar .header-actions a.js-latest:active{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}

/* ==========================================================
   Refinos de mobile (header)
   - Remove "Últimas" no mobile (evita corte)
   - Garante menu sanduíche visível/clicável
   - Visual mais consistente com a marca
   ========================================================== */

/* Corrige hover do botão "Últimas" (em alguns browsers o texto sumia) */
.btn-latest:hover,
.btn-latest:focus,
.btn-latest:active{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}

@media (max-width: 720px){
  /* some com o botão no mobile (mantém busca + menu) */
  .btn-latest{ display:none !important; }

  /* dá espaço e impede "corte" no topo */
  .site-header .header-actions{ gap:10px; }

  /* menu sanduíche com cor da marca */
  .menu-toggle{
    display:inline-flex !important;
    width:42px;
    height:42px;
    border:0;
    border-radius:12px;
    background: var(--accent);
    align-items:center;
    justify-content:center;
    box-shadow: 0 8px 24px rgba(17,17,17,.10);
  }
  .menu-toggle span{
    background:#fff !important;
  }


  /* busca com o mesmo “look” do desktop (ícone limpo) e coerente com o botão do menu */
  .search-toggle{
    display:inline-flex !important;
    width:42px;
    height:42px;
    border:0 !important;
    border-radius:12px !important;
    padding:0 !important;
    background: var(--accent) !important;
    color:#fff !important;
    box-shadow: 0 8px 24px rgba(17,17,17,.10) !important;
    align-items:center;
    justify-content:center;
  }
  .search-toggle svg{
    width:20px;
    height:20px;
  }

  /* garante que a navegação fique acima do conteúdo quando abrir */
  .site-nav{ z-index: 9999; }
  .nav-overlay{ z-index: 9998; }
}

.searchbar{
  display:none;
  border-top:1px solid var(--line);
  background:#fff;
}
.searchbar.active{ display:block; }
.searchbar form{ padding:12px 0; display:flex; gap:10px; }
.searchbar input[type="search"]{
  flex:1;
  border:1px solid var(--line);
  border-radius:12px;
  padding:12px 14px;
  font-size:14px;
}
.searchbar button{
  border:none;
  border-radius:12px;
  padding:12px 14px;
  background:var(--accent);
  color:#fff;
  font-weight:800;
}

.main{
  padding:24px 0 56px;
}
.grid{
  display:grid;
  gap:22px;
}
.grid-hero{
  grid-template-columns: 1.45fr 1fr;
  align-items: start;
}
@media (max-width: 980px){
  .grid-hero{ grid-template-columns: 1fr; }
  .nav{ display:none; }
}

.card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:var(--shadow);
}

.hero .thumb{
  aspect-ratio: 16/9;
  background:#f6f6f6;
  overflow:hidden;
}
.hero .content{
  padding: 12px 16px 12px;
}

.hero-share{
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid var(--line);
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.hero-share .share-btn{
  width:36px;
  height:36px;
  border-radius:12px;
  border:1px solid var(--line);
  background:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:var(--text);
  opacity:.9;
  transition:transform .15s ease, border-color .15s ease, box-shadow .15s ease, opacity .15s ease;
}
.hero-share .share-btn:hover{
  opacity:1;
  border-color: rgba(255,90,31,.35);
  box-shadow: 0 8px 18px rgba(12,12,13,.08);
  transform: translateY(-1px);
}
.hero-share .share-btn svg{
  width:16px;
  height:16px;
  fill: currentColor;
}
.hero-share .share-btn.is-copied{
  border-color: rgba(255,90,31,.6);
  box-shadow: 0 10px 22px rgba(255,90,31,.12);
}

.kicker{
  display:inline-flex; align-items:center;
  gap:8px;
  font-size:12px; font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--accent);
}
.kicker::before{
  content:"";
  width:10px; height:10px;
  border-radius:999px;
  background:var(--accent);
  display:inline-block;
  opacity:.9;
}
.hero h2{
  margin:6px 0 8px;
  font-size:28px;
  line-height:1.15;
  letter-spacing:-.03em;
}
.meta{
  color:var(--muted);
  font-size:13px;
}

.stack{
  display:grid;
  gap:12px;
}
.mini{
  display:grid;
  grid-template-columns: 78px 1fr;
  gap:10px;
  padding:10px 12px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
}
.mini .thumb{
  width:78px; height:56px;
  border-radius:12px;
  overflow:hidden;
  background:#f3f3f3;
}
.mini h3{
  margin:0 0 4px;
  font-size:13.5px;
  line-height:1.22;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  letter-spacing:-.02em;
}
.mini .meta{ font-size:12px; }

.layout{
  display:grid;
  grid-template-columns: 1fr 320px;
  gap:24px;
  margin-top:24px;
}
@media (max-width: 980px){
  .layout{ grid-template-columns: 1fr; }
}


/* Layout sem sidebar (páginas institucionais) */
.layout.layout-full{
  grid-template-columns: 1fr;
}

/* Ajuste fino: evita o título da sidebar “subir” visualmente em relação ao conteúdo */
.layout > .sidebar{
  margin-top:2px;
  align-self:start;
}

@media (min-width: 981px){
  .layout > .sidebar{
    position: sticky;
    top: calc(var(--fg40-header-offset, 112px) + 14px);
  }
}

.section{
  margin-top:26px;
}
.section-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:6px 0 12px;
}
.section-head h1,
.section-head h2,
.section-head h3{
  margin:0;
}
.section-title{
  font-size:14px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--muted);
  line-height:1.1;
}
.section-title strong{ color:var(--text); }
.section a.more{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:13px;
  font-weight:700;
  line-height:1;
  color:var(--accent);
}

.posts-list{
  display:grid;
  gap:12px;
}
.post-row{
  display:grid;
  grid-template-columns: 120px 1fr;
  gap:12px;
  padding:12px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
}
.post-row .thumb{
  /*
    IMPORTANTE (mobile): antes o grid encolhia para 104px, mas o thumb ficava fixo em 120px,
    então a imagem “invadia” a coluna do texto e parecia engolir o conteúdo.
    Agora o thumb acompanha a coluna do grid (100%) e mantém proporção estável.
  */
  display:block;
  width:100%;
  aspect-ratio: 120 / 78;
  border-radius:12px;
  overflow:hidden;
  background:#f3f3f3;
}
.thumb-placeholder{
  width:100%;
  height:100%;
  display:grid;
  place-items:center;
  background: rgba(255,90,31,.06);
  color: rgba(255,90,31,.55);
}
.thumb-placeholder svg{ width: 28px; height: 28px; display:block; }
.post-row .thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.post-row h3{
  margin:0 0 6px;
  font-size:16px; line-height:1.25; letter-spacing:-.02em;
}
.post-row p{
  margin:0;
  color:var(--muted);
  font-size:13px;
  line-height:1.5;
}

.editorias{
  display:grid;
  grid-template-columns: repeat(2, 1fr);
  gap:18px;
}
@media (max-width: 980px){
  .editorias{ grid-template-columns:1fr; }
}
.block{
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
  overflow:hidden;
}
.block .block-head{
  padding:14px 14px 12px;
  display:flex; align-items:center; justify-content:space-between;
  border-bottom:1px solid var(--line);
}
.block .block-head h3{
  margin:0;
  font-size:13px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--muted);
}
.block .block-head a{
  font-size:13px; font-weight:700; color:var(--accent);
}
.block .block-body{
  padding:14px;
  display:grid;
  gap:10px;
}
.block .lead h4{
  margin:0 0 6px;
  font-size:18px; line-height:1.2; letter-spacing:-.02em;
}
.block .lead .meta{ font-size:12px; }
.block ul{
  margin:0; padding:0 0 0 16px;
  color:var(--text);
}
.block li{
  margin:8px 0;
  color:var(--muted);
  font-size:14px;
}
.block li a{ color:var(--text); }
.block li a:hover{ color:var(--accent); }

.widget{
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
  padding:14px;
  box-shadow:var(--shadow);
  margin-bottom:16px;
}

/* Sidebar alignment: make "Colunistas" line up with the "Últimas notícias" header row */
.sidebar .section-head{margin:6px 0 12px}
.widget.widget-colunistas{padding-top:14px}
.widget-title{
  margin:0 0 10px;
  font-size:12px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--muted);
}

/* Colunistas (sidebar) - humano/editorial */
.columnists{ display:grid; gap:10px; }
.columnist{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
}
.columnist .avatar{
  border-radius:999px;
  overflow:hidden;
  flex:0 0 auto;
}
.columnist .name{
  font-weight:500;
  font-size:14px;
  line-height:1.2;
  letter-spacing:-.01em;
}
.columnist .role{
  font-size:12px;
  color:var(--muted);
  margin-top:2px;
}

.site-footer{
  border-top:1px solid var(--line);
  background:#0b0b0d;
  color:#f4f4f5;
  padding:38px 0;
}
.footer-grid{
  display:grid;
  grid-template-columns: 1.2fr 1fr 1fr 1fr;
  gap:18px;
}
@media (max-width: 980px){
  .footer-grid{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px){
  .footer-grid{ grid-template-columns: 1fr; }
}
.site-footer a{ color:#f4f4f5; opacity:.9; }
.site-footer a:hover{ color:var(--accent); opacity:1; }
.footer-title{
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size:12px;
  color:#c7c7cc;
  margin:0 0 10px;
}
.footer-note{
  color:#c7c7cc;
  font-size:13px;
  line-height:1.6;
  margin:0;
}
.footer-bottom{
  margin-top:22px;
  border-top:1px solid rgba(255,255,255,.12);
  padding-top:16px;
  color:#c7c7cc;
  font-size:12px;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:space-between;
}


/* Footer - Colunistas (rodapé) */
.footer-columnists li{ margin:0 0 10px; }
.footer-col-link{ display:flex; flex-direction:column; gap:2px; }
.footer-col-column{
  font-size:12px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  opacity:.95;
}
.footer-col-person{
  font-size:13px;
  color:#c7c7cc;
  opacity:.95;
  font-weight:500;
}
.footer-col-link:hover .footer-col-person{ color:var(--accent); opacity:1; }

/* Colunistas v2 (título da coluna + nome) */
.columnist-v2 .col-title{
  font-size:12px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--accent);
  line-height:1.1;
  margin-bottom:6px;
}
.columnist-v2 .role{
  margin-top:4px;
}

/* Card "Coluna em destaque" */
.featured-col{
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
  box-shadow:var(--shadow);
}
.featured-col:hover{
  border-color: rgba(255,90,31,.35);
}

/* Menu (corrige bullets e hover duplicado) */
.nav ul{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  align-items:center;
  gap:18px;
}
.nav li{ margin:0; padding:0; }
.nav a{ display:block; }
.nav li:hover > a{
  background: rgba(255,90,31,.08);
  color: var(--accent);
  opacity: 1;
}

/* Logo maior no header */
.brand img{
  max-height:56px;
}

/* Ícones de redes sociais (rodapé) */
.social-icons{
  display:flex;
  gap:10px;
  align-items:center;
  margin-top:8px;
}
.social-icons a{
  width:38px;
  height:38px;
  border-radius:12px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  color:#f4f4f5;
  transition: transform .08s ease, border-color .08s ease, background .08s ease;
}
.social-icons a:hover{
  transform: translateY(-1px);
  border-color: rgba(255,90,31,.45);
  background: rgba(255,90,31,.12);
  color: #fff;
}

/* Header menu: força horizontal (evita lista vertical/bullets) */
.nav .menu, .nav ul{
  list-style:none !important;
  margin:0 !important;
  padding:0 !important;
  display:flex !important;
  flex-wrap:wrap;
  align-items:center;
  gap:18px;
}
.nav .menu > li, .nav ul > li{
  margin:0 !important;
  padding:0 !important;
}
.nav .menu > li > a, .nav ul > li > a{
  display:block;
  padding:10px 10px;
  border-radius:12px;
}
.nav .menu > li:hover > a, .nav ul > li:hover > a{
  background: rgba(255,90,31,.08);
  color: var(--accent);
}

/* Logo (custom logo do WP) */
.custom-logo{
  height:56px !important;
  width:auto !important;
}
.brand .custom-logo-link{
  display:flex;
  align-items:center;
}

.footer-logo .custom-logo{
  height:40px !important;
  width:auto !important;
}

/* Publicidade (slots e placeholders) */
.ad-slot{ margin:16px 0; --ad-min-h: 0px; }
.ad-slot .ad-label{
  font-size:11px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:rgba(0,0,0,.55);
  margin:0 0 8px;
}
.ad-slot .ad-inner{ max-width:100%; overflow:hidden; min-height: var(--ad-min-h); position:relative; }
.ad-slot .ad-image{ max-width:100%; height:auto; display:block; }

/* Skeleton (evita CLS e dá cara de portal grande enquanto o anúncio carrega) */
.ad-slot.is-loading .ad-inner{
  border-radius:16px;
  background: rgba(0,0,0,.03);
}
.ad-slot.is-loading .ad-inner::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:16px;
  background: linear-gradient(90deg, rgba(0,0,0,.03), rgba(0,0,0,.07), rgba(0,0,0,.03));
  background-size: 200% 100%;
  animation: fg40-shimmer 1.2s ease-in-out infinite;
  pointer-events:none;
}
.ad-slot.is-loaded .ad-inner{ background: transparent; }
.ad-slot.is-loaded .ad-inner::before{ display:none; }

@keyframes fg40-shimmer{
  0%{ background-position: 200% 0; }
  100%{ background-position: -200% 0; }
}

@media (prefers-reduced-motion: reduce){
  .ad-slot.is-loading .ad-inner::before{ animation:none; }
}
.ad-placeholder{
  border:1px dashed rgba(0,0,0,.18);
  border-radius:16px;
  padding:18px;
  text-align:center;
  color:var(--muted);
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  background: rgba(0,0,0,.02);
}
body .ad-slot.ad-top .ad-placeholder{ padding:22px; }
body .ad-slot.ad-sidebar .ad-placeholder{ padding:18px; }

/* Ads: ajustes de espaçamento (in-feed / loops) */
.ad-slot--home_infeed,
.ad-slot--loop_infeed {
  margin: 12px 0 18px;
  --ad-min-h: 280px;
}
@media (max-width: 740px){
  .ad-slot--home_infeed,
  .ad-slot--loop_infeed {
    --ad-min-h: 250px;
  }
}
.post-row--ad {
  margin: 10px 0 18px;
}
/* Se por algum motivo um wrapper de anúncio ficar sem conteúdo, não deixa "buraco". */
.post-row--ad:empty{ display:none; }

/* Se o runtime detectar slot vazio (adblock/sem preenchimento), colapsa. */
.ad-slot.is-empty{ display:none; }

/* Aviso opcional de AdBlock */
.fg40-adblock {
  position: fixed;
  left: 14px;
  right: 14px;
  bottom: 14px;
  z-index: 9999;
  display: flex;
  justify-content: center;
  pointer-events: none;
}
.fg40-adblock__inner {
  pointer-events: auto;
  max-width: 960px;
  width: 100%;
  background: rgba(12, 12, 12, 0.92);
  color: #fff;
  border-radius: 14px;
  padding: 12px 14px;
  display: flex;
  align-items: center;
  gap: 12px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.25);
}
.fg40-adblock__text {
  flex: 1;
  font-size: 13px;
  line-height: 1.25;
}
.fg40-adblock__close {
  border: 0;
  background: transparent;
  color: #fff;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  opacity: 0.85;
}
.fg40-adblock__close:hover {
  opacity: 1;
}

/* Blindagem do menu superior (horizontal sempre) */
.nav{ display:flex; align-items:center; }
.nav ul, .nav ul.menu{
  list-style:none !important;
  margin:0 !important;
  padding:0 !important;
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:wrap;
  gap:18px;
  align-items:center;
}
.nav ul li{ width:auto !important; }
.nav ul li a{ white-space:nowrap; }

/* Logo: garante tamanho bom mesmo com "Logo do WordPress" */
.custom-logo{ max-height:56px !important; height:56px !important; width:auto !important; }
.footer-logo .custom-logo{ max-height:44px !important; height:44px !important; width:auto !important; }

/* Rodapé: linha final com crédito */
.footer-bottom{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}
.footer-bottom .dev{
  opacity:.85;
  font-size:12px;
}

/* MENU TOPO: força horizontal (mesmo quando o WP envolve em containers) */
.site-header nav,
.site-header .nav{
  display:flex !important;
  align-items:center;
}
.site-header nav .menu,
.site-header nav ul,
.site-header .nav .menu,
.site-header .nav ul,
.site-header .menu-primary-container > ul,
.site-header .menu > ul{
  list-style:none !important;
  margin:0 !important;
  padding:0 !important;
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:wrap;
  align-items:center;
  gap:18px;
}
.site-header nav li,
.site-header .nav li{
  margin:0 !important;
  padding:0 !important;
  width:auto !important;
}
.site-header nav li a,
.site-header .nav li a{
  display:block;
  white-space:nowrap;
  padding:10px 10px;
  border-radius:12px;
}
.site-header nav li:hover > a,
.site-header .nav li:hover > a{
  background: rgba(255,90,31,.08);
  color: var(--accent);
}

/* Rodapé: créditos no mesmo lado */
.footer-bottom{
  justify-content:flex-start !important;
  gap:12px;
  flex-wrap:wrap;
}
.footer-bottom span{ display:inline-flex; align-items:center; }
.footer-bottom .sep{ opacity:.45; }

/* Faixa superior: Teresina - PI | data | hora | clima */
.info-strip{
  background:#0b0c10;
  color:rgba(255,255,255,.92);
  border-bottom:1px solid rgba(255,255,255,.08);
  font-size:12px;
}
.info-strip-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 0;
}
.info-strip .dot{ opacity:.5; margin:0 8px; }
.info-strip strong{ color:#fff; }
.info-strip .weather strong{ color:#fff; }

.header-ad{ background:#fff; border-bottom:1px solid rgba(0,0,0,.06); }
.header-ad .container{ padding:10px 0; }

/* Header: menu horizontal no topo, sem bullets, centralizado */
.site-topbar .topbar-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:18px 0;
}
.site-topbar .brand{ flex:0 0 auto; }
.site-topbar .custom-logo,
.site-topbar .brand img{
  /* Mantém o logo do HEADER no mesmo tamanho do FOOTER (56px no desktop) */
  height:var(--brand-logo-h, 56px) !important;
  max-height:var(--brand-logo-h, 56px) !important;
  width:auto !important;
}

/* Força o wp_nav_menu a virar flex horizontal */
.site-topbar nav.nav{ flex:1 1 auto; display:flex; justify-content:center; }
.site-topbar nav.nav ul,
.site-topbar nav.nav .menu{
  list-style:none !important;
  margin:0 !important;
  padding:0 !important;
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:wrap;
  align-items:center;
  gap:18px;
}
.site-topbar nav.nav li{
  list-style:none !important;
  margin:0 !important;
  padding:0 !important;
}
.site-topbar nav.nav li::marker{ content:""; }
.site-topbar nav.nav a{
  display:block;
  padding:10px 10px;
  border-radius:12px;
  white-space:nowrap;
}

/* ===== Topo V2: faixa mais bonita + menu em linha abaixo da logo ===== */
.info-strip{
  background: linear-gradient(180deg, #0b0c10 0%, #0a0b0f 100%);
  color: rgba(255,255,255,.92);
  border-bottom: 1px solid rgba(255,255,255,.08);
  font-size: 12px;
}
.info-strip-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 0;
}
.info-strip .pin{ margin-right:8px; opacity:.9; }
.info-strip .sep{ opacity:.45; margin:0 10px; }
.weather-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 10px;
  border-radius:999px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.10);
  color: rgba(255,255,255,.92);
}
.weather-pill .wx{ opacity:.9; }
.weather-pill .wx-temp{ color:#fff; }

.site-topbar .topbar-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:18px 0 10px 0;
}
.site-topbar .custom-logo,
.site-topbar .brand img{
  /* Mantém o logo do HEADER no mesmo tamanho do FOOTER (56px no desktop) */
  height:var(--brand-logo-h, 56px) !important;
  max-height:var(--brand-logo-h, 56px) !important;
  width:auto !important;
}

/* Menu abaixo da logo, horizontal e sem bullets */
.site-topbar nav.nav-row{
  padding: 6px 0 14px 0;
  border-bottom: 1px solid rgba(0,0,0,.06);
}
.site-topbar nav.nav-row ul,
.site-topbar nav.nav-row .menu{
  list-style:none !important;
  margin:0 !important;
  padding:0 !important;
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:wrap;
  align-items:center;
  gap:18px;
}
.site-topbar nav.nav-row li{
  list-style:none !important;
  margin:0 !important;
  padding:0 !important;
}
.site-topbar nav.nav-row li::marker{ content:""; }
.site-topbar nav.nav-row a{
  display:block;
  padding:10px 10px;
  border-radius:12px;
  white-space:nowrap;
  font-weight:700;
  letter-spacing:.02em;
  text-transform:uppercase;
  font-size:12px;
}
.site-topbar nav.nav-row li:hover > a{
  background: rgba(255,90,31,.16);
  color: var(--accent);
}
.site-topbar nav.nav-row li.current-menu-item > a,
.site-topbar nav.nav-row li.current_page_item > a,
.site-topbar nav.nav-row li.current-menu-ancestor > a{
  background: var(--accent);
  color:#fff;
  box-shadow: 0 8px 18px rgba(255,90,31,.20);
}
/* Responsivo */
@media (max-width: 980px){
  .info-strip-inner{ flex-wrap:wrap; justify-content:flex-start; }
  .site-topbar nav.nav-row ul{ gap:12px; }
}

/* MENU DEITADO: override máximo (quando algum CSS externo insiste em lista vertical) */
.site-topbar nav.nav-row ul.menu,
.site-topbar nav.nav-row ul{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  gap:18px !important;
  list-style:none !important;
  list-style-type:none !important;
  margin:0 !important;
  padding:0 !important;
}
.site-topbar nav.nav-row li{
  display:inline-flex !important;
  width:auto !important;
  list-style:none !important;
  list-style-type:none !important;
  margin:0 !important;
  padding:0 !important;
}
.site-topbar nav.nav-row li::marker{ content:"" !important; }
.site-topbar nav.nav-row li::before{ content:none !important; display:none !important; }
.site-topbar nav.nav-row a{
  display:inline-flex !important;
}

/* ===== Polimento: menu mais moderno + faixa superior em 1 linha ===== */

/* Faixa superior: tudo em uma linha (quebra só no mobile) */
.info-strip-inner{
  flex-wrap:nowrap !important;
}
.info-left, .info-right{ display:flex; align-items:center; }
.info-left{ gap:0; }
.info-right{ gap:10px; }
.weather-pill{
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.14);
  box-shadow: 0 6px 18px rgba(0,0,0,.18);
}
.weather-pill .wx-text{ opacity:.92; }

/* Mobile: quebra com carinho */
@media (max-width: 720px){
  .info-strip-inner{ flex-wrap:wrap !important; gap:8px; }
  .info-right{ width:100%; }
}

/* Menu: estilo mais editorial (sem "pill feio") */
.site-topbar nav.nav-row{
  border-bottom: 1px solid rgba(0,0,0,.06);
  background: rgba(255,255,255,.96);
  backdrop-filter: blur(8px);
}
.site-topbar nav.nav-row a{
  padding:12px 10px;
  border-radius:10px;
  position:relative;
  transition: background .18s ease, color .18s ease, transform .18s ease;
  color: rgba(11,11,15,.88);
}
.site-topbar nav.nav-row li:hover > a{
  background: rgba(255,90,31,.10);
  color: rgba(11,11,15,.92);
  transform: translateY(-1px);
}
/* Indicador moderno no item ativo (underline suave) */
.site-topbar nav.nav-row .current-menu-item > a,
.site-topbar nav.nav-row .current_page_item > a{
  background: rgba(255,90,31,.12);
  color: rgba(11,11,15,.95);
}
.site-topbar nav.nav-row .current-menu-item > a::after,
.site-topbar nav.nav-row .current_page_item > a::after{
  content:"";
  position:absolute;
  left:10px;
  right:10px;
  bottom:6px;
  height:2px;
  border-radius:2px;
  background: rgba(255,90,31,.85);
}

/* ===== Menu V3: editorial moderno (underline animado + separadores) ===== */
.site-topbar nav.nav-row ul{ gap:14px !important; }
.site-topbar nav.nav-row li{ position:relative; }

.site-topbar nav.nav-row li + li{
  padding-left:14px;
}
.site-topbar nav.nav-row li + li::before{
  content:"";
  position:absolute;
  left:0;
  top:50%;
  transform:translateY(-50%);
  width:1px;
  height:16px;
  background: rgba(0,0,0,.10);
}

.site-topbar nav.nav-row a{
  background: transparent !important;
  transform:none !important;
}
.site-topbar nav.nav-row a::after{
  content:"";
  position:absolute;
  left:10px;
  right:10px;
  bottom:6px;
  height:2px;
  border-radius:2px;
  background: rgba(255,90,31,.85);
  transform: scaleX(0);
  transform-origin:left;
  transition: transform .18s ease;
}
.site-topbar nav.nav-row li:hover > a::after{
  transform: scaleX(1);
}
.site-topbar nav.nav-row li:hover > a{
  background: transparent !important;
}
.site-topbar nav.nav-row .current-menu-item > a::after,
.site-topbar nav.nav-row .current_page_item > a::after{
  transform: scaleX(1);
}
.site-topbar nav.nav-row .current-menu-item > a,
.site-topbar nav.nav-row .current_page_item > a{
  background: transparent !important;
}

/* ===== Mobile: botão de menu + navegação responsiva ===== */
.menu-toggle{
  display:none;
  border:1px solid rgba(0,0,0,.10);
  background:#fff;
  width:40px;
  height:40px;
  border-radius:12px;
  font-size:18px;
  line-height:1;
}
@media (max-width: 980px){
  .menu-toggle{ display:inline-flex; align-items:center; justify-content:center; }
  /* no mobile, o menu vira "gaveta" abaixo */
  .site-topbar nav.nav-row{
    display:none;
    padding:10px 0 14px 0;
  }
  .site-topbar nav.nav-row.is-open{ display:block; }
  .site-topbar nav.nav-row ul{
    gap:10px !important;
    justify-content:flex-start;
  }
  .site-topbar nav.nav-row li + li{
    padding-left:0;
  }
  .site-topbar nav.nav-row li + li::before{ display:none; }
  .site-topbar nav.nav-row a{
    padding:10px 12px;
    border-radius:12px;
    background: rgba(0,0,0,.03) !important;
  }
  .site-topbar nav.nav-row a::after{ display:none; }
}
/* Faixa do topo: mantém 1 linha no desktop, quebra elegante no mobile */
@media (max-width: 720px){
  .info-strip-inner{ flex-wrap:wrap !important; }
  .info-left{ width:100%; }
  .info-right{ width:100%; justify-content:flex-start; }
}

/* ===== V4 FIXES ===== */

/* Faixa topo: 1 linha no desktop */
.info-strip-inner{ display:flex; align-items:center; }
.info-line{
  display:flex;
  align-items:center;
  gap:0;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.info-line .sep{ opacity:.45; margin:0 10px; }
.weather-inline{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 10px;
  border-radius:999px;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.14);
  box-shadow: 0 6px 18px rgba(0,0,0,.18);
}

/* Menu: tira o "pill" laranja no ativo, fica só underline */
.site-topbar nav.nav-row .current-menu-item > a,
.site-topbar nav.nav-row .current_page_item > a{
  background: transparent !important;
  box-shadow: none !important;
}
.site-topbar nav.nav-row .current-menu-item > a{ color: rgba(11,11,15,.95) !important; }

/* Garantir comportamento desktop vs mobile */
@media (min-width: 981px){
  .menu-toggle{ display:none !important; }
  .site-topbar nav.nav-row{ display:block !important; }
}
@media (max-width: 980px){
  /* no mobile, a faixa pode quebrar */
  .info-line{ white-space:normal; flex-wrap:wrap; row-gap:6px; }
}

/* ===== V6: menu premium + breakpoint mobile ===== */

/* Menu: remove qualquer fundo no hover/ativo; destaque só no underline */
.site-topbar nav.nav-row a,
.site-topbar nav.nav-row li:hover > a,
.site-topbar nav.nav-row .current-menu-item > a,
.site-topbar nav.nav-row .current_page_item > a{
  background: transparent !important;
  box-shadow: none !important;
}
.site-topbar nav.nav-row a{
  position: relative;
  color: rgba(11,11,15,.88) !important;
}
.site-topbar nav.nav-row a::after{
  content:"";
  position:absolute;
  left:10px;
  right:10px;
  bottom:5px;
  height:3px;
  border-radius:3px;
  background: rgba(255,90,31,1);
  transform: scaleX(0);
  transform-origin:left;
  transition: transform .18s ease;
}
.site-topbar nav.nav-row li:hover > a{ color: rgba(11,11,15,1) !important; }
.site-topbar nav.nav-row li:hover > a::after{ transform: scaleX(1); }
.site-topbar nav.nav-row .current-menu-item > a,
.site-topbar nav.nav-row .current_page_item > a{
  color: rgba(11,11,15,1) !important;
}
.site-topbar nav.nav-row .current-menu-item > a::after,
.site-topbar nav.nav-row .current_page_item > a::after{
  transform: scaleX(1);
}

/* Botão ☰: escondido no desktop, só aparece em telas pequenas */
.menu-toggle{ display:none !important; }
@media (max-width: 860px){
  .menu-toggle{ display:inline-flex !important; align-items:center; justify-content:center; }
  .site-topbar nav.nav-row{ display:none; }
  .site-topbar nav.nav-row.is-open{ display:block; }
}
@media (min-width: 861px){
  .site-topbar nav.nav-row{ display:block !important; }
}

/* ===== V8: menu mais forte + esconder hamburger no desktop ===== */

/* Item ativo: forte (laranja sólido), sem aparência "morta" */
.site-topbar nav.nav-row .current-menu-item > a,
.site-topbar nav.nav-row .current_page_item > a{
  background: rgba(255,90,31,1) !important;
  color: #fff !important;
  border-radius: 10px !important;
  box-shadow: 0 8px 20px rgba(255,90,31,.22) !important;
}
.site-topbar nav.nav-row .current-menu-item > a::after,
.site-topbar nav.nav-row .current_page_item > a::after{
  background: rgba(255,255,255,.92) !important;
  height: 3px !important;
  bottom: 6px !important;
  transform: scaleX(1) !important;
}

/* Hover: elegante (texto laranja + underline), sem fundo */
.site-topbar nav.nav-row li:hover > a{
  background: transparent !important;
  color: rgba(255,90,31,1) !important;
  transform: none !important;
}
.site-topbar nav.nav-row li:hover > a::after{
  background: rgba(255,90,31,1) !important;
  height: 3px !important;
  bottom: 6px !important;
  transform: scaleX(1) !important;
}

/* Hamburger: NUNCA no desktop */
.menu-toggle{ display:none !important; }
@media (max-width: 860px){
  .menu-toggle{ display:inline-flex !important; align-items:center; justify-content:center; }
}


/* ===== STANDALONE V10: header/menu definitivo ===== */
/* Esconde o botão ☰ no desktop SEM EXCEÇÃO */
button.menu-toggle{ display:none !important; }

/* Desktop: navegação horizontal sempre visível */
@media (min-width: 861px){
  nav.nav-row{ display:flex !important; flex-wrap:wrap; gap:6px; }
  nav.nav-row ul{ display:flex !important; flex-wrap:wrap; gap:6px; margin:0; padding:0; list-style:none; }
  nav.nav-row li{ margin:0; padding:0; }
  nav.nav-row a{ display:inline-flex; align-items:center; padding:10px 14px; border-radius:10px; background:transparent !important; }
}

/* Mobile: mostra ☰ e esconde menu até abrir */
@media (max-width: 860px){
  button.menu-toggle{ display:inline-flex !important; }
  nav.nav-row{ display:none !important; width:100%; }
  nav.nav-row.is-open{ display:block !important; }
  nav.nav-row ul{ display:block; }
  nav.nav-row a{ display:block; padding:12px 10px; }
}

/* Menu moderno: sem "pílula morta" no hover */
nav.nav-row a{
  position:relative;
  color: rgba(11,11,15,.88) !important;
  font-weight:700;
  letter-spacing:.02em;
}
nav.nav-row a::after{
  content:"";
  position:absolute;
  left:10px;
  right:10px;
  bottom:6px;
  height:3px;
  border-radius:3px;
  background:#ff5a1f;
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .18s ease;
  opacity:1;
}
nav.nav-row li:hover > a{ color: rgba(11,11,15,1) !important; }
nav.nav-row li:hover > a::after{ transform:scaleX(1); }

nav.nav-row .current-menu-item > a,
nav.nav-row .current_page_item > a{
  color: #111 !important;
  background: transparent !important;
}
nav.nav-row .current-menu-item > a::after,
nav.nav-row .current_page_item > a::after{
  transform:scaleX(1);
  height:4px;
}


/* Footer menu */
.footer-menu{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.footer-menu a{color:rgba(255,255,255,.9);text-decoration:none}
.footer-menu a:hover{color:#fff;text-decoration:none}


/* ------------------------------------------------------------
   Post content: galerias / imagens (grid moderno)
------------------------------------------------------------ */

/* Suporta: Gutenberg Gallery (wp-block-gallery), shortcode [gallery] (div.gallery),
   e imagens avulsas com legenda (wp-caption / figcaption). */

.entry-content .wp-block-gallery,
.entry-content ul.wp-block-gallery,
.entry-content .wp-block-gallery.has-nested-images{
  display:grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px !important;
  margin: 18px 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

/* 2 colunas em telas menores */
@media (max-width: 920px){
  .entry-content .wp-block-gallery,
  .entry-content ul.wp-block-gallery,
  .entry-content .wp-block-gallery.has-nested-images{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px !important;
  }
}

@media (max-width: 520px){
  .entry-content .wp-block-gallery,
  .entry-content ul.wp-block-gallery,
  .entry-content .wp-block-gallery.has-nested-images{
    grid-template-columns: 1fr;
    gap: 10px !important;
  }
}

/* Normaliza itens de galeria (Gutenberg + shortcode) */
.entry-content .wp-block-gallery figure.wp-block-image,
.entry-content .gallery .gallery-item,
.entry-content .gallery figure{
  margin: 0 !important;
  width: 100% !important;
  overflow: hidden;
  border-radius: 14px;
  background: #0b0c10;
  position: relative;
  box-shadow: 0 10px 26px rgba(0,0,0,.08);
  border: 1px solid rgba(0,0,0,.06);
}

/* Link/ícone do shortcode */
.entry-content .gallery .gallery-icon{
  margin: 0 !important;
}

/* Thumb consistente: corta com elegância */
.entry-content .wp-block-gallery img,
.entry-content .gallery img{
  display:block;
  width: 100% !important;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  object-position: center;
  transition: transform .25s ease, filter .25s ease;
  filter: saturate(1.02);
}

/* Efeito sutil (desktop) */
@media (hover:hover){
  .entry-content .wp-block-gallery figure:hover img,
  .entry-content .gallery .gallery-item:hover img{
    transform: scale(1.03);
  }
}

/* Legenda como “tarja” moderna */
.entry-content .wp-block-gallery figcaption,
.entry-content .gallery .gallery-caption,
.entry-content figure.wp-caption figcaption,
.entry-content .wp-caption-text{
  font-size: 13px;
  line-height: 1.25;
  color: #fff;
  margin: 0 !important;
  padding: 10px 12px;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.72) 75%, rgba(0,0,0,.82) 100%);
  text-shadow: 0 1px 2px rgba(0,0,0,.35);
}

/* Imagens avulsas com legenda: vira card */
.entry-content figure.wp-caption{
  overflow: hidden;
  border-radius: 14px;
  box-shadow: 0 10px 26px rgba(0,0,0,.08);
  border: 1px solid rgba(0,0,0,.06);
  margin: 18px 0;
  position: relative;
}
.entry-content figure.wp-caption > img{
  width: 100%;
  height: auto;
  display:block;
}
.entry-content figure.wp-caption figcaption{
  position: relative;
  background: #0f1115;
  color: #d8dbe3;
  text-shadow: none;
}

/* Alinha comportamento do bloco “image” */
.entry-content .wp-block-image{
  margin: 18px 0;
}
.entry-content .wp-block-image img{
  border-radius: 14px;
}

/* Em posts, evita “coluna infinita” */


.single .entry-content > * {
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
}
.single .entry-content > .wp-block-gallery,
.single .entry-content > .blocks-gallery-grid,
.single .entry-content > .gallery,
.single .entry-content > .wp-block-image,
.single .entry-content > .wp-block-embed,
.single .entry-content > .wp-block-cover,
.single .entry-content > .wp-block-media-text {
  max-width: 980px;
}

/* ------------------------------------------------------------
   Comentários: card limpo e inputs bonitos
------------------------------------------------------------ */
.comments-area { margin-top: 24px; }
.comments-card {
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 18px;
  padding: 18px;
  box-shadow: 0 14px 40px rgba(0,0,0,.06);
}
.comments-title { margin: 0 0 14px; font-size: 18px; }
.comment-list { margin: 0; padding-left: 0; list-style: none; }
.comment-list li.comment { border-top: 1px solid rgba(0,0,0,.08); padding: 14px 0; }
.comment-list li.comment:first-child { border-top: 0; padding-top: 0; }
.comment-body { display: grid; grid-template-columns: 48px 1fr; gap: 12px; }
.comment-author img { border-radius: 999px; }
.comment-meta { font-size: 12px; color: rgba(0,0,0,.60); margin-bottom: 6px; }
.comment-meta a { color: inherit; }
.comment-content { font-size: 14px; line-height: 1.6; color: rgba(0,0,0,.86); }
.reply a {
  display: inline-block;
  margin-top: 8px;
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
  padding: 8px 10px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.10);
  background: rgba(255, 90, 31, .08);
  color: #ff5a1f;
}
.reply a:hover { background: rgba(255, 90, 31, .14); }

.fg40-label { display:block; font-size: 12px; font-weight: 800; margin: 10px 0 6px; color: rgba(0,0,0,.70); }
.fg40-input, .fg40-textarea {
  width: 100%;
  border: 1px solid rgba(0,0,0,.12);
  border-radius: 14px;
  padding: 12px 12px;
  font-size: 14px;
  outline: none;
  background: #fff;
}
.fg40-input:focus, .fg40-textarea:focus {
  border-color: rgba(255, 90, 31, .55);
  box-shadow: 0 0 0 4px rgba(255, 90, 31, .12);
}
.fg40-btn {
  appearance: none;
  border: 0;
  border-radius: 999px;
  padding: 12px 16px;
  font-weight: 900;
  cursor: pointer;
  background: linear-gradient(135deg, #ff5a1f, #ff2d1a);
  color: #fff;
  box-shadow: 0 12px 26px rgba(255, 90, 31, .24);
}
.fg40-btn:hover { filter: brightness(1.02); }

/* ------------------------------------------------------------
   Menu: estado ativo/hover mais moderno (sem “laranja morto”)
------------------------------------------------------------ */
nav.nav-row a:hover {
  background: rgba(255, 90, 31, .12);
  border-color: rgba(255, 90, 31, .20);
  color: #0f172a;
}
nav.nav-row li.current-menu-item a,
nav.nav-row li.current_page_item a {
  background: linear-gradient(135deg, rgba(255, 90, 31, .18), rgba(255, 45, 26, .14));
  border-color: rgba(255, 90, 31, .28);
  color: #ff3a1a;
}

/* ------------------------------------------------------------
   Desktop x Mobile: esconde botão de menu no desktop
------------------------------------------------------------ */
button.menu-toggle { display: none !important; }
@media (max-width: 980px) {
  button.menu-toggle { display: inline-flex !important; }
}


/* --- Auto Gallery (consecutive images) --- */
.auto-gallery{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 18px 0 26px;
}
@media (min-width: 860px){
  .auto-gallery{ grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
}
@media (min-width: 1100px){
  .auto-gallery{ grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.auto-gallery figure,
.auto-gallery p{
  margin: 0 !important;
}
.auto-gallery img{
  width:100%;
  height:auto;
  display:block;
  border-radius: 14px;
  box-shadow: 0 10px 30px rgba(0,0,0,.10);
}
.auto-gallery figcaption{
  margin-top: 8px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.35;
}

/* --- Typography polish for posts --- */
.single .entry-content{
  font-size: 17px;
  line-height: 1.85;
  letter-spacing: .1px;
}
@media (min-width: 860px){
  .single .entry-content{ font-size: 18px; }
}
.single .entry-content p{ margin: 0 0 1.15em; }
.single .entry-content a{
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
}
.single .entry-content h2,
.single .entry-content h3{
  margin-top: 1.6em;
}
.single .entry-content blockquote{
  border-left: 4px solid var(--accent);
  padding-left: 14px;
  margin: 1.4em 0;
  color: #222;
  background: rgba(255,90,0,.06);
  border-radius: 12px;
  padding: 14px 16px;
}

/* --- Nav hover: stronger + cleaner --- */
.site-nav a{
  border-radius: 999px;
  background: transparent;
  transition: background .15s ease, color .15s ease, transform .15s ease;
}
.site-nav a:hover{
  background: rgba(255, 90, 0, .12);
  color: var(--accent);
  transform: translateY(-1px);
}
.site-nav .current-menu-item > a,
.site-nav .current_page_item > a,
.site-nav a[aria-current="page"]{
  background: rgba(255, 90, 0, .16);
  color: var(--accent);
}

/* --- Mobile menu button visibility (desktop OFF) --- */
.menu-toggle{
  display:none !important;
}
@media (max-width: 768px){
  .menu-toggle{
    display:inline-flex !important;
  }
}

/* Menu (desktop) - visual mais forte e moderno */
.site-topbar nav.nav-row a{
  border-radius:999px;
  transition: background .18s ease, color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.site-topbar nav.nav-row a:hover{
  background: rgba(255, 90, 31, .18);
  color: #ff5a1f;
  box-shadow: 0 6px 16px rgba(0,0,0,.06);
  transform: translateY(-1px);
}
.site-topbar nav.nav-row a.is-active,
.site-topbar nav.nav-row a[aria-current="page"],
.site-topbar nav.nav-row .current-menu-item > a{
  background: linear-gradient(180deg, #ff6a2b, #ff4f12);
  color:#fff;
  box-shadow: 0 10px 22px rgba(255, 90, 31, .22);
}

/* Mobile: o botão aparece e o menu vira painel */
.site-topbar .menu-toggle{ display:none !important; }
@media (max-width: 768px){
  .site-topbar .menu-toggle{ display:inline-flex !important; }
  .site-topbar nav.nav-row{ display:none !important; }
  .site-topbar nav.nav-row.is-open{ display:block !important; }
  .site-topbar nav.nav-row a{ display:block; padding:12px 14px; border-radius:12px; }
}


/* === v14: Nav mais forte e elegante === */
.site-topbar nav.nav-row a{
  border-radius: 999px;
  padding: 8px 12px;
  transition: background .18s ease, color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.site-topbar nav.nav-row a:hover{
  background: rgba(255, 77, 26, .14);
  color: var(--accent);
}
.site-topbar nav.nav-row .current-menu-item > a,
.site-topbar nav.nav-row .current_page_item > a{
  background: var(--accent);
  color: #fff !important;
  box-shadow: 0 6px 16px rgba(255, 77, 26, .25);
}
.site-topbar nav.nav-row .current-menu-item > a:hover,
.site-topbar nav.nav-row .current_page_item > a:hover{
  transform: translateY(-1px);
}

/* Desktop vs Mobile (breakpoint 768px) */
.site-topbar .menu-toggle{ display:none !important; }
.site-topbar nav.nav-row{ display:flex !important; }

@media (max-width: 768px){
  .site-topbar .menu-toggle{ display:inline-flex !important; }
  .site-topbar nav.nav-row{ display:none !important; }
  .site-topbar nav.nav-row.is-open{ display:block !important; }
}

/* menu com hover/ativo mais “vivo” (menos laranja “morto”) */
.site-topbar nav.nav-row a{
  transition: background .15s ease, color .15s ease, transform .15s ease, box-shadow .15s ease;
}
.site-topbar nav.nav-row a:hover{
  background: rgba(255, 77, 26, .18);
  color: var(--accent);
  box-shadow: 0 10px 22px rgba(255, 77, 26, .12);
  transform: translateY(-1px);
}
.site-topbar nav.nav-row .current-menu-item > a,
.site-topbar nav.nav-row .current_page_item > a{
  background: linear-gradient(180deg, #ff5a1f, #ff3f1a);
  color: #fff !important;
  box-shadow: 0 10px 26px rgba(255, 77, 26, .28);
}
.site-topbar nav.nav-row a:focus-visible{outline:2px solid rgba(255,90,31,.55);outline-offset:2px;}

/* ==========================================================
   CBC TECH refinamento final (v2.1.2)
   Colocado no fim do CSS para vencer regras antigas duplicadas
   ========================================================== */

/* MENU: visual mais moderno (sem “laranja morto”) */
.site-topbar nav.nav-row a{
  background: transparent !important;
}
.site-topbar nav.nav-row li:hover > a,
.site-topbar nav.nav-row a:hover{
  background: transparent !important;
  color: var(--accent) !important;
}
.site-topbar nav.nav-row a{
  position: relative;
}
.site-topbar nav.nav-row a::after{
  content:"";
  position:absolute;
  left:14px;
  right:14px;
  bottom:6px;
  height:3px;
  border-radius:999px;
  background: linear-gradient(90deg, #ff4d1a, #ff7a3b);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .18s ease;
  opacity:.95;
}
.site-topbar nav.nav-row li:hover > a::after,
.site-topbar nav.nav-row a:hover::after{
  transform: scaleX(1);
}
.site-topbar nav.nav-row .current-menu-item > a,
.site-topbar nav.nav-row .current_page_item > a,
.site-topbar nav.nav-row .current-menu-ancestor > a{
  background: linear-gradient(135deg, #ff4d1a, #ff7a3b) !important;
  color:#fff !important;
  box-shadow: 0 12px 26px rgba(255,77,26,.28);
}
.site-topbar nav.nav-row .current-menu-item > a::after,
.site-topbar nav.nav-row .current_page_item > a::after,
.site-topbar nav.nav-row .current-menu-ancestor > a::after{
  transform: scaleX(0) !important;
}

/* Botão “menu mobile” só aparece no mobile de verdade */
.site-topbar .menu-toggle{ display:none !important; }
@media (max-width: 760px){
  .site-topbar .menu-toggle{ display:inline-flex !important; }
}

/* Topbar info: mantém tudo numa linha e com “cara” mais premium */
.info-strip .info-pill{
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
}
.info-strip .info-pill strong{ color:#fff; }

/* Tipografia do post: menos “cru” */
.content{
  font-size: 16.5px;
  line-height: 1.75;
  color: rgba(20,20,24,.92);
}
@media (max-width: 640px){
  .content{ font-size:16px; }
}
.content p{ margin: 0 0 1.05em; }
.content h2,.content h3,.content h4{ letter-spacing:-.01em; }
.content h2{ font-size: 1.65rem; margin: 1.6em 0 .55em; }
.content h3{ font-size: 1.35rem; margin: 1.4em 0 .5em; }
.content blockquote{
  margin: 1.4em 0;
  padding: 14px 16px;
  border-left: 4px solid var(--accent);
  background: rgba(255,90,31,.06);
  border-radius: 14px;
}
.content a{ text-underline-offset: 3px; text-decoration-thickness: 2px; }

/* Imagens do post: mais “editorial” */
.content img{
  border-radius: 18px;
  box-shadow: 0 14px 40px rgba(15,15,18,.08);
}
.content figure{ margin: 18px 0; }

/* Galerias (Gutenberg): grid tipo revista, com legenda bonita */
.content .wp-block-gallery{
  column-count: 2;
  column-gap: 16px;
  margin: 18px 0 26px;
}
@media (min-width: 980px){
  .content .wp-block-gallery{ column-count: 3; }
}
@media (max-width: 520px){
  .content .wp-block-gallery{ column-count: 1; }
}
.content .wp-block-gallery .wp-block-image,
.content .wp-block-gallery figure.wp-block-image{
  display: inline-block;
  width: 100%;
  margin: 0 0 16px;
  break-inside: avoid;
}
.content .wp-block-gallery .wp-block-image a{ display:block; }
.content .wp-block-gallery img{ width:100%; height:auto; }

/* Legendas */
.content figcaption,
.content .wp-element-caption,
.content .wp-caption-text{
  margin-top: 8px;
  font-size: 13px;
  line-height: 1.35;
  color: rgba(25,25,30,.78);
  padding-left: 10px;
  border-left: 3px solid rgba(255,90,31,.55);
}

/* Paginação: botões mais claros */
.pagination .nav-links,
.nav-links{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:center;
  margin: 26px 0 8px;
}
.pagination .page-numbers,
.nav-links .page-numbers{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:40px;
  height:40px;
  padding:0 12px;
  border-radius: 999px;
  border:1px solid rgba(15,15,18,.10);
  background:#fff;
  color: rgba(15,15,18,.85);
  font-weight: 800;
}
.pagination .page-numbers:hover,
.nav-links .page-numbers:hover{
  border-color: rgba(255,90,31,.35);
  box-shadow: 0 10px 24px rgba(255,90,31,.10);
}
.pagination .page-numbers.current,
.nav-links .page-numbers.current{
  background: linear-gradient(135deg, #ff4d1a, #ff7a3b);
  color:#fff;
  border-color: transparent;
}

/* Comentários: mais “limpos” */
.comment-list .comment{
  margin: 0 0 14px;
}
.comment-list .comment-body{
  display:grid;
  grid-template-columns: 56px 1fr;
  gap: 12px;
  align-items:flex-start;
  padding: 16px;
  border-radius: 18px;
  border: 1px solid rgba(15,15,18,.08);
  background: #fff;
}
.comment-list .comment-author img{
  border-radius: 999px;
  box-shadow: 0 10px 22px rgba(15,15,18,.10);
}
.comment-list .comment-meta{
  font-size: 12px;
  color: rgba(20,20,24,.62);
  margin: 2px 0 8px;
}
.comment-list .comment-content p{ margin: 0 0 .9em; }
.comment-list .reply a{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top: 8px;
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid rgba(255,90,31,.22);
  color: var(--accent);
  font-weight: 800;
  text-decoration:none;
}
.comment-list .reply a:hover{
  background: rgba(255,90,31,.08);
}
@media (max-width: 520px){
  .comment-list .comment-body{ grid-template-columns: 44px 1fr; }
}

/* Stronger active state for menu (overrides older duplicated rules) */
.site-topbar nav.nav-row li.current-menu-item > a,
.site-topbar nav.nav-row li.current_page_item > a,
.site-topbar nav.nav-row li.current-menu-ancestor > a{
  background: linear-gradient(135deg, var(--accent), var(--accent2)) !important;
  color: #fff !important;
  box-shadow: 0 10px 22px rgba(255,90,31,.28) !important;
}
.site-topbar nav.nav-row li.current-menu-item > a::after,
.site-topbar nav.nav-row li.current_page_item > a::after{ display:none !important; }

/* =========================================================
   v2.1.3 Mobile + polish overrides (kept at end to win)
   ========================================================= */

/* Topbar: single line, centered, scroll-safe */
.site-topbar .topbar-inner{
  flex-wrap: nowrap;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.site-topbar .topbar-inner::-webkit-scrollbar{ display:none; }
.site-topbar .topbar-left, .site-topbar .topbar-right{ flex: 0 0 auto; }

@media (max-width: 768px){
  .site-topbar{ position: sticky; top: 0; z-index: 60; }
  .site-topbar .topbar-inner{
    justify-content: center;
    padding: 10px 0;
  }
  .site-topbar .topbar-left{ font-size: 12px; }
  .site-topbar .topbar-weather{ padding: 6px 10px; font-size: 12px; }
}

/* NAV: Desktop shows horizontal bar; mobile becomes a drawer */
@media (min-width: 901px){
  .menu-toggle{ display: none !important; }
  .site-nav{
    position: static !important;
    transform: none !important;
    width: auto !important;
    height: auto !important;
    box-shadow: none !important;
    background: transparent !important;
    padding: 0 !important;
  }
  .mobile-nav-overlay{ display:none !important; }
}

.mobile-nav-overlay{
  position: fixed;
  inset: 0;
  background: rgba(10,12,16,.55);
  backdrop-filter: blur(2px);
  display: none;
  z-index: 9998;
}
.mobile-nav-overlay.is-open{ display:block; }

@media (max-width: 900px){
  .site-nav{
    position: fixed;
    top: 0;
    left: 0;
    height: 100vh;
    width: min(86vw, 360px);
    background: #ffffff;
    padding: 88px 16px 18px;
    border-right: 1px solid rgba(15,15,18,.08);
    box-shadow: 0 18px 50px rgba(10,12,16,.25);
    transform: translateX(-110%);
    transition: transform .22s ease;
    z-index: 9999;
    overflow-y: auto;
  }
  .site-nav.is-open{ transform: translateX(0); }
  .site-nav ul{
    display: flex;
    flex-direction: column;
    gap: 10px;
  }
  .site-nav a{
    justify-content: space-between;
    padding: 12px 14px;
    border-radius: 14px;
    border: 1px solid rgba(15,15,18,.08);
    background: rgba(250,250,252,1);
  }
  .site-nav a:hover{ background: rgba(255,90,31,.10); }
}

/* More modern active state (desktop + mobile) */
.site-nav .current-menu-item > a,
.site-nav a[aria-current="page"]{
  background: linear-gradient(180deg, rgba(255,90,31,1) 0%, rgba(255,122,41,1) 100%) !important;
  color: #fff !important;
  border-color: rgba(255,90,31,.45) !important;
  box-shadow: 0 10px 22px rgba(255,90,31,.20);
}

/* Post mobile: improve readability + stop "soltas" feeling */
@media (max-width: 768px){
  .article-title{ font-size: 30px; line-height: 1.08; }
  .article-body{ font-size: 17px; line-height: 1.75; }
  .article-body img{ border-radius: 18px; }
}

/* Captions: cleaner, more "editorial" */
.wp-caption-text,
.gallery-caption,
figcaption{
  font-size: 13px;
  color: rgba(20,20,24,.70);
  line-height: 1.35;
  margin-top: 8px;
  padding-left: 10px;
  border-left: 3px solid rgba(255,90,31,.35);
}

/* Pagination: make numbers look like buttons */
.pagination .page-numbers,
.nav-links .page-numbers{
  min-width: 40px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  border: 1px solid rgba(15,15,18,.10);
  background: #fff;
  color: rgba(20,20,24,.85);
  font-weight: 800;
}
.pagination .page-numbers.current,
.nav-links .page-numbers.current{
  background: linear-gradient(180deg, rgba(255,90,31,1) 0%, rgba(255,122,41,1) 100%);
  color: #fff;
  border-color: rgba(255,90,31,.45);
  box-shadow: 0 10px 22px rgba(255,90,31,.18);
}
.pagination .page-numbers:hover,
.nav-links .page-numbers:hover{
  background: rgba(255,90,31,.08);
}

/* Footer mobile: better spacing + hierarchy */
@media (max-width: 768px){
  .footer-inner{
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .footer-social a{
    width: 44px;
    height: 44px;
    border-radius: 14px;
  }
  .footer-brand p{ font-size: 15px; }
  .footer-bottom{ text-align: center; }
}

/* Stronger active state for top menu */
.site-topbar nav.nav-row li.current-menu-item > a,
.site-topbar nav.nav-row li.current_page_item > a,
.site-topbar nav.nav-row li.current-menu-ancestor > a{
  background: linear-gradient(180deg, rgba(255,90,31,1) 0%, rgba(255,122,41,1) 100%) !important;
  color: #fff !important;
  border-color: rgba(255,90,31,.55) !important;
  box-shadow: 0 10px 22px rgba(255,90,31,.20) !important;
}

.site-topbar nav.nav-row li.current-menu-item > a:hover,
.site-topbar nav.nav-row li.current_page_item > a:hover{
  filter: brightness(1.02);
}


/* ==========================================================
   Gallery & captions refinements (v2.1.5)
   Goal: menos "fotos soltas" e um visual mais moderno.
========================================================== */

/* Classic WP gallery shortcode */
.gallery{
  /* WP often injects widths/floats; we neutralize and rebuild */
  display:block !important;
  margin:18px 0 26px;
  column-gap:14px;
  column-count:3;
}
@media (max-width: 980px){
  .gallery{ column-count:2; }
}
@media (max-width: 640px){
  .gallery{ column-count:1; column-gap:12px; }
}

.gallery .gallery-item{
  float:none !important;
  width:100% !important;
  margin:0 0 14px !important;
  padding:0 !important;
  display:inline-block; /* required for column layout */
  break-inside:avoid;
}
@media (max-width: 640px){
  .gallery .gallery-item{ margin-bottom:12px !important; }
}

.gallery .gallery-icon{ margin:0 !important; }

.gallery .gallery-icon a{
  display:block;
  overflow:hidden;
  border-radius:18px;
  background:rgba(15, 23, 42, .04);
  box-shadow: 0 10px 28px rgba(15, 23, 42, .08);
  transform: translateZ(0);
}

.gallery .gallery-icon img{
  display:block;
  width:100% !important;
  height:auto !important;
  border-radius:0;
  transition: transform .25s ease, filter .25s ease;
}

@media (hover:hover){
  .gallery .gallery-icon a:hover img{ transform: scale(1.02); filter: saturate(1.03) contrast(1.02); }
}

/* Captions in galleries */
.gallery .gallery-caption{
  margin-top:8px;
  padding:0 4px;
  font-size:13px;
  line-height:1.35;
  color: var(--muted);
}

/* Block editor gallery */
.wp-block-gallery{
  margin:18px 0 26px;
}

.wp-block-gallery .wp-block-image,
.wp-block-gallery figure{
  border-radius:18px;
  overflow:hidden;
  box-shadow: 0 10px 28px rgba(15, 23, 42, .08);
}

.wp-block-gallery img{
  display:block;
  width:100%;
  height:auto;
}

/* Generic image captions */
.wp-caption,
figure.wp-caption{
  width:auto !important;
  margin:18px 0;
}

.wp-caption img,
figure.wp-caption img{
  border-radius:18px;
  box-shadow: 0 10px 28px rgba(15, 23, 42, .08);
}

.wp-caption-text,
figcaption,
.wp-block-image figcaption{
  margin-top:10px;
  font-size:13px;
  line-height:1.4;
  color: var(--muted);
  text-align:left;
}

/* Post typography polish (applies to body text + comments) */
.entry-content,
.post-content{
  font-size: 17px;
  line-height: 1.85;
}
@media (max-width: 640px){
  .entry-content,
  .post-content{ font-size:16px; line-height:1.85; }
}

.entry-content p,
.post-content p{
  margin: 0 0 14px;
}

.entry-content h2,
.post-content h2{ margin-top:28px; }
.entry-content h3,
.post-content h3{ margin-top:22px; }

/* Comment readability */
.comment-content{
  font-size:16px;
  line-height:1.75;
}
.comment-content p{ margin:0 0 12px; }
.comment-metadata{ opacity:.85; }

/* Make comment author/date block less "cru" */
.comment-body{
  gap:14px;
}
.comment-author{
  font-weight:700;
}

/* Pagination: clearer click targets */
.pagination .page-numbers{
  min-width: 40px;
  min-height: 40px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

/* ==========================================================
   Gallery & captions refinements (v2.1.5)
   Goal: menos "fotos soltas" e um visual mais moderno.
========================================================== */

/* Classic WP gallery shortcode (.gallery) */
.gallery{
  /* WP injeta width/floats inline em muitos temas/plugins */
  display:block !important;
  margin:18px 0 26px;
  padding:0 !important;
  column-count:3;
  column-gap:14px;
}

@media (max-width: 920px){
  .gallery{ column-count:2; }
}
@media (max-width: 560px){
  .gallery{ column-count:1; }
}

.gallery .gallery-item{
  float:none !important;
  width:100% !important;
  margin:0 0 14px !important;
  padding:0 !important;
  display:inline-block;
  break-inside: avoid;
}

.gallery .gallery-icon{
  margin:0 !important;
}

.gallery .gallery-icon a{
  display:block;
  overflow:hidden;
  border-radius:16px;
  background: rgba(17, 24, 39, 0.04);
  border: 1px solid rgba(17, 24, 39, 0.08);
  box-shadow: 0 8px 28px rgba(0,0,0,.05);
}

.gallery .gallery-icon img{
  display:block;
  width:100% !important;
  height:auto !important;
  transform: translateZ(0);
  transition: transform .25s ease, filter .25s ease;
}

@media (hover:hover){
  .gallery .gallery-icon a:hover img{
    transform: scale(1.03);
    filter: saturate(1.05);
  }
}

.gallery .gallery-caption{
  margin-top:8px;
  padding:0 2px;
  font-size:13px;
  line-height:1.35;
  color: rgba(17, 24, 39, 0.78);
}

/* Block editor gallery (wp-block-gallery) */
.wp-block-gallery{
  gap:14px !important;
  margin:18px 0 26px;
}

.wp-block-gallery .wp-block-image{
  margin:0 !important;
}

.wp-block-gallery .wp-block-image > a,
.wp-block-gallery .wp-block-image > figure,
.wp-block-gallery .wp-block-image > img{
  border-radius:16px;
}

.wp-block-gallery .wp-block-image > a,
.wp-block-gallery figure{
  overflow:hidden;
  border: 1px solid rgba(17, 24, 39, 0.08);
  box-shadow: 0 8px 28px rgba(0,0,0,.05);
  background: rgba(17, 24, 39, 0.04);
}

.wp-block-gallery img{
  width:100%;
  height:auto;
}

.wp-block-gallery figcaption{
  font-size:13px;
  line-height:1.35;
  padding:10px 12px;
  color: rgba(17, 24, 39, 0.78);
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(6px);
}

/* Captions for single images */
.wp-caption{
  max-width:100%;
  margin:18px 0 26px;
}

.wp-caption img{
  border-radius:16px;
  border: 1px solid rgba(17, 24, 39, 0.08);
  box-shadow: 0 8px 28px rgba(0,0,0,.05);
}

.wp-caption-text,
figcaption.wp-caption-text,
figure figcaption{
  margin-top:8px;
  font-size:13px;
  line-height:1.45;
  color: rgba(17, 24, 39, 0.78);
}

/* Keep text comfortable under images on mobile */
@media (max-width: 560px){
  .gallery .gallery-caption,
  .wp-caption-text,
  figure figcaption,
  .wp-block-gallery figcaption{ font-size:12.5px; }
}


/* ==========================================================
   Gallery & captions refinements (v2.1.5)
   Goal: menos "fotos soltas" e um visual mais moderno.
========================================================== */

/* Classic WP gallery shortcode (.gallery) */
.gallery{
  /* WP às vezes injeta widths/floats inline: neutralizamos e reconstruímos */
  display:block !important;
  margin:18px 0 26px;
  padding:0 !important;
  column-gap:14px;
  column-count:3;
}

/* Responsivo: 2 colunas no tablet, 1 no celular */
@media (max-width: 980px){
  .gallery{ column-count:2; }
}
@media (max-width: 560px){
  .gallery{ column-count:1; }
}

.gallery .gallery-item{
  float:none !important;
  width:100% !important;
  max-width:none !important;
  margin:0 0 14px !important;
  padding:0 !important;
  display:inline-block; /* necessário para column layout */
  break-inside:avoid;
}

.gallery .gallery-icon{
  margin:0;
}

.gallery .gallery-icon a{
  display:block;
  position:relative;
  overflow:hidden;
  border-radius:18px;
  background:linear-gradient(180deg, rgba(0,0,0,.03), rgba(0,0,0,0));
  box-shadow:0 10px 24px rgba(0,0,0,.08);
}

.gallery .gallery-icon img{
  width:100% !important;
  height:auto !important;
  display:block;
  transform:translateZ(0);
  transition:transform .25s ease, filter .25s ease;
}

@media (hover:hover){
  .gallery .gallery-icon a:hover img{
    transform:scale(1.02);
    filter:saturate(1.05);
  }
}

.gallery .gallery-caption{
  margin-top:8px;
  padding:0 2px;
  font-size:13px;
  line-height:1.35;
  color:var(--muted, #5a6573);
}

/* Block gallery (Gutenberg) */
.wp-block-gallery{
  margin:18px 0 26px;
}

.wp-block-gallery .wp-block-image,
.wp-block-gallery figure{
  border-radius:18px;
  overflow:hidden;
  background:linear-gradient(180deg, rgba(0,0,0,.03), rgba(0,0,0,0));
  box-shadow:0 10px 24px rgba(0,0,0,.08);
}

.wp-block-gallery img{
  width:100%;
  height:auto;
  display:block;
}

.wp-block-gallery figcaption{
  font-size:13px;
  line-height:1.35;
  color:var(--muted, #5a6573);
  padding:10px 12px;
  background:rgba(255,255,255,.92);
}

/* Captions gerais (imagens soltas com legenda) */
.wp-caption{
  margin:18px auto 24px;
  max-width:100%;
}

.wp-caption img{
  border-radius:18px;
  box-shadow:0 10px 24px rgba(0,0,0,.08);
}

.wp-caption-text{
  margin-top:10px;
  font-size:13px;
  line-height:1.35;
  color:var(--muted, #5a6573);
  text-align:left;
}

/* =========================================================
   FIX: legenda/caption “estourando” (barra atravessando a tela)
   Alguns plugins/blocos aplicam width:100vw + position:absolute/relative
   e a legenda vira uma faixa que ignora o container.
   Aqui garantimos que TODAS as legendas respeitem o bloco/coluna.
   (v2.5.9.43)
   ========================================================= */

/* O wrapper precisa segurar overflow caso a legenda venha “maluca” */
.entry-content figure,
.post-content figure,
.entry-content .wp-caption,
.post-content .wp-caption,
.article-featured figure,
.article-featured .wp-caption{
  max-width: 100%;
  overflow: hidden;
}

/* Reseta qualquer tentativa de “full-width caption” */
.entry-content .wp-element-caption,
.post-content .wp-element-caption,
.entry-content .wp-caption-text,
.post-content .wp-caption-text,
.entry-content figcaption,
.post-content figcaption,
.entry-content .wp-block-image figcaption,
.entry-content .wp-block-video figcaption,
.entry-content .wp-block-embed figcaption,
.article-featured .wp-element-caption,
.article-featured .wp-caption-text,
.article-featured figcaption{
  position: static !important;
  inset: auto !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
  bottom: auto !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  transform: none !important;
  box-sizing: border-box;
}

/* Textos (posts) com mais "respiro" e leitura */
.post-content,
.entry-content{
  font-size:17px;
  line-height:1.75;
  color:var(--text, #111827);
}

.post-content p,
.entry-content p{
  margin:0 0 1.05em;
}

.post-content h2,
.entry-content h2{
  margin-top:1.45em;
}

/* Comentários: tipografia mais "editorial" */
.comment-content,
.comment-content p{
  font-size:16px;
  line-height:1.7;
}

.comment-content p{
  margin:0 0 .85em;
}

.comment-meta,
.comment-metadata{
  font-size:13px;
  color:var(--muted, #5a6573);
}

.comment-reply-link{
  border-radius:999px;
}

/* Paginação: números mais claros e clicáveis */
.pagination .page-numbers{
  min-width:40px;
  height:40px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

/* ==========================================================
   Gallery & captions refinements (v2.1.5)
   Goal: menos "fotos soltas" e um visual mais moderno.
========================================================== */

/* Classic WP gallery shortcode (.gallery) */
.gallery{
  display:block !important;
  margin:18px 0 26px;
  padding:0 !important;
  column-gap:14px;
  column-count:3;
}

/* WP frequentemente aplica width/float inline na .gallery-item */
.gallery .gallery-item{
  width:100% !important;
  float:none !important;
  margin:0 0 14px !important;
  padding:0 !important;
  break-inside:avoid;
  -webkit-column-break-inside:avoid;
  display:inline-block;
}

.gallery .gallery-icon{ margin:0 !important; }

.gallery .gallery-icon a{
  display:block;
  overflow:hidden;
  border-radius:18px;
  background:rgba(0,0,0,.04);
  box-shadow:0 12px 30px rgba(0,0,0,.08);
  transform:translateZ(0);
}

.gallery .gallery-icon img{
  display:block;
  width:100% !important;
  height:auto !important;
  transform:scale(1);
  transition:transform .25s ease, filter .25s ease;
}

.gallery .gallery-icon a:hover img{
  transform:scale(1.03);
  filter:saturate(1.05);
}

.gallery .gallery-caption{
  margin-top:8px;
  padding:0 4px;
  font-size:13px;
  line-height:1.35;
  color:var(--muted);
}

/* Block editor galleries */
.wp-block-gallery,
.blocks-gallery-grid{
  gap:14px !important;
}

.wp-block-gallery .blocks-gallery-item,
.wp-block-gallery .wp-block-image,
.blocks-gallery-grid .blocks-gallery-item{
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 12px 30px rgba(0,0,0,.08);
}

.wp-block-gallery img,
.blocks-gallery-grid img{
  width:100% !important;
  height:auto !important;
  display:block;
}

/* Captions (geral): WP caption + figure + gallery */
.wp-caption,
figure.wp-caption{
  max-width:100%;
}

.wp-caption .wp-caption-text,
figcaption.wp-caption-text,
figcaption.blocks-gallery-caption{
  font-size:13px;
  line-height:1.35;
  color:var(--muted);
  margin-top:8px;
  padding:0 4px;
}

/* Melhor legibilidade de texto no post (sem ficar "cru") */
.prose p,
.post-content p,
.entry-content p{
  line-height:1.8;
}

.prose h2,
.post-content h2,
.entry-content h2{
  letter-spacing:-.02em;
}

/* Comentários: mais respirável */
.comment-content,
.comment-content p{
  line-height:1.75;
}

.comment-metadata,
.comment-meta{
  color:var(--muted);
}

/* Responsive: colunas da galeria */
@media (max-width: 980px){
  .gallery{ column-count:2; }
}
@media (max-width: 560px){
  .gallery{ column-count:1; }
  .gallery .gallery-icon a{ border-radius:16px; }
}


/* ===============================
   GALERIA: grid + lightbox (acessível)
=============================== */
.gallery{
  display:grid;
  gap:12px;
}
.gallery.gallery-columns-1{ grid-template-columns:1fr; }
.gallery.gallery-columns-2{ grid-template-columns:repeat(2,1fr); }
.gallery.gallery-columns-3{ grid-template-columns:repeat(3,1fr); }
.gallery.gallery-columns-4{ grid-template-columns:repeat(4,1fr); }
.gallery.gallery-columns-5{ grid-template-columns:repeat(5,1fr); }
.gallery.gallery-columns-6{ grid-template-columns:repeat(6,1fr); }
.gallery.gallery-columns-7{ grid-template-columns:repeat(7,1fr); }
.gallery.gallery-columns-8{ grid-template-columns:repeat(8,1fr); }
.gallery.gallery-columns-9{ grid-template-columns:repeat(9,1fr); }

@media (max-width: 780px){
  .gallery.gallery-columns-3,
  .gallery.gallery-columns-4,
  .gallery.gallery-columns-5,
  .gallery.gallery-columns-6,
  .gallery.gallery-columns-7,
  .gallery.gallery-columns-8,
  .gallery.gallery-columns-9{
    grid-template-columns:repeat(2,1fr);
  }
}
@media (max-width: 420px){
  .gallery{ grid-template-columns:1fr !important; }
}
.gallery .gallery-item{margin:0;}
.gallery .gallery-item a{
  display:block;
  border-radius:14px;
  overflow:hidden;
  position:relative;
  background:#f2f2f2;
}
.gallery .gallery-item img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.gallery .gallery-item a:focus-visible{
  outline:3px solid rgba(255,98,0,.55);
  outline-offset:3px;
}
.gallery .gallery-caption{
  font-size:.92rem;
  line-height:1.35;
  color:rgba(0,0,0,.72);
  margin-top:6px;
}

/* Lightbox overlay */
.cbctech-lightbox{
  position:fixed;
  inset:0;
  z-index:99999;
  background:rgba(0,0,0,.82);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
}
.cbctech-lightbox[hidden]{display:none;}
.cbctech-lightbox__dialog{
  width:min(980px, 100%);
  max-height:calc(100vh - 36px);
  display:flex;
  flex-direction:column;
  background:rgba(20,20,20,.75);
  border:1px solid rgba(255,255,255,.12);
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 18px 60px rgba(0,0,0,.55);
}
.cbctech-lightbox__top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 12px;
  background:rgba(0,0,0,.25);
}
.cbctech-lightbox__meta{
  display:flex;
  align-items:center;
  gap:10px;
  color:rgba(255,255,255,.9);
  font-size:.9rem;
}
.cbctech-lightbox__count{opacity:.85;}
.cbctech-lightbox__controls{
  display:flex;
  align-items:center;
  gap:8px;
}
.cbctech-lightbox__btn{
  appearance:none;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.06);
  color:#fff;
  border-radius:999px;
  padding:8px 12px;
  font-weight:700;
  cursor:pointer;
}
.cbctech-lightbox__btn:hover{background:rgba(255,255,255,.12);}
.cbctech-lightbox__btn:focus-visible{outline:3px solid rgba(255,98,0,.6);outline-offset:2px;}
.cbctech-lightbox__close{padding:8px 12px;}

.cbctech-lightbox__stage{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:12px;
}
.cbctech-lightbox__img{
  width:100%;
  height:auto;
  max-height:64vh;
  object-fit:contain;
  border-radius:14px;
  background:#111;
}
.cbctech-lightbox__caption{
  padding:10px 14px 14px;
  color:rgba(255,255,255,.86);
  font-size:.95rem;
  line-height:1.4;
}
.cbctech-lightbox__caption:empty{display:none;}

@media (max-width: 520px){
  .cbctech-lightbox{padding:10px;}
  .cbctech-lightbox__dialog{border-radius:14px;}
  .cbctech-lightbox__img{max-height:56vh;}
  .cbctech-lightbox__btn{padding:8px 10px;}
}

@media (max-width: 680px){
  .gallery{gap:10px;}
  .gallery.gallery-columns-3,
  .gallery.gallery-columns-4,
  .gallery.gallery-columns-5,
  .gallery.gallery-columns-6,
  .gallery.gallery-columns-7,
  .gallery.gallery-columns-8,
  .gallery.gallery-columns-9{
    grid-template-columns:repeat(2,1fr);
  }
  .cbctech-lightbox-prev,
  .cbctech-lightbox-next{width:42px;height:42px;font-size:22px;}
  .cbctech-lightbox-caption{font-size:13px;}
}



/* =========================
   cbctech Premium Lightbox
   ========================= */
.cblx{position:fixed;inset:0;display:none;z-index:999999;}
.cblx.is-open{display:block;}
.cblx__backdrop{position:absolute;inset:0;background:rgba(10,10,10,.92);}
.cblx__panel{position:absolute;inset:18px;max-width:1100px;margin:auto;display:grid;grid-template-rows:auto 1fr auto;gap:10px;}
@media (max-width:720px){.cblx__panel{inset:10px;}}
.cblx__close{position:absolute;top:12px;right:12px;width:46px;height:46px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:rgba(20,20,20,.6);color:#fff;font-size:20px;cursor:pointer}
.cblx__close:hover{background:rgba(20,20,20,.8);}
.cblx__top{display:flex;justify-content:space-between;align-items:center;color:rgba(255,255,255,.9);font-size:14px;padding:6px 4px;}
.cblx__counter{font-weight:800;letter-spacing:.02em;}
.cblx__hint{opacity:.85;font-weight:600;}
.cblx__hint.is-show{opacity:1;}
.cblx__stage{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;outline:none;}
.cblx__figure{margin:0;position:relative;border-radius:16px;overflow:hidden;background:#111;box-shadow:0 18px 50px rgba(0,0,0,.35);min-height:220px;display:grid;grid-template-rows:1fr auto;}
.cblx__img{width:100%;height:min(72vh,720px);object-fit:contain;display:block;cursor:pointer;}
@media (max-width:720px){.cblx__img{height:min(70vh,560px);}}
.cblx__caption{color:rgba(255,255,255,.92);font-size:14px;line-height:1.4;padding:10px 12px;background:linear-gradient(to top, rgba(0,0,0,.7), rgba(0,0,0,.25));}
.cblx__nav{width:54px;height:54px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:rgba(255,74,26,.85);color:#fff;font-size:34px;line-height:1;display:grid;place-items:center;cursor:pointer;user-select:none;box-shadow:0 10px 30px rgba(0,0,0,.25);}
.cblx__nav:hover{filter:brightness(.95);}
@media (max-width:720px){.cblx__nav{width:58px;height:58px;font-size:36px;}}
.cblx__thumbs{display:flex;gap:10px;overflow:auto;padding:6px 2px 2px;scrollbar-width:thin;}
.cblx__thumb{border:2px solid transparent;border-radius:12px;overflow:hidden;background:#111;cursor:pointer;padding:0;flex:0 0 auto;opacity:.9}
.cblx__thumb img{display:block;width:86px;height:60px;object-fit:cover;}
@media (max-width:720px){.cblx__thumb img{width:78px;height:56px;}}
.cblx__thumb.is-active{border-color:rgba(255,74,26,.95);opacity:1;}
html.cblx-open{overscroll-behavior:contain;}



/* Footer bottom: evita texto grudado e melhora no mobile */
.footer-bottom{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-top:18px;padding-top:14px;border-top:1px solid rgba(15,23,42,.12);}
.footer-bottom .sep{opacity:.6;}
@media (max-width:640px){
  .footer-bottom{justify-content:center;text-align:center;}
  .footer-bottom .sep{display:none;}
  .footer-bottom .copyright, .footer-bottom .dev{width:100%;}
}



/* =========================================================
   Portal refinements (v2.2.0)
   ========================================================= */

.breadcrumbs{
  font-size: 13px;
  color: var(--muted);
  margin: 6px 0 10px;
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  align-items:center;
}
.breadcrumbs a{ color: var(--muted); text-decoration:none; }
.breadcrumbs a:hover{ color: var(--text); text-decoration:underline; }
.breadcrumbs .bc-sep{ opacity:.6; }

.article-card{ padding: 20px; }
.article-title{
  margin: 10px 0 10px;
  font-size: 38px;
  line-height: 1.12;
  letter-spacing: -0.03em;
}
@media (max-width: 980px){
  .article-title{ font-size: 30px; }
}

/* Resumo / subtítulo do post (single) */
.article-subtitle{
  margin: -4px 0 14px;
  font-size: 16px;
  line-height: 1.6;
  color: var(--muted);
}
@media (max-width: 980px){
  .article-subtitle{ font-size: 15px; }
}

.article-meta{
  display:flex;
  justify-content: space-between;
  align-items:flex-start;
  gap: 14px;
  flex-wrap: wrap;
  margin-bottom: 14px;
}
.author-chip{
  display:flex;
  gap: 10px;
  align-items:center;
}
.author-chip img{
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.08);
}
.author-line{
  display:flex;
  align-items:center;
  gap: 8px;
  color: var(--muted);
  font-size: 13px;
}
.author-name{
  color: var(--text);
  text-decoration:none;
  font-weight: 700;
}
.author-name:hover{ text-decoration: underline; }
.author-bio{ color: var(--muted); font-size: 12px; margin-top:2px; }

.meta-line{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  color: var(--muted);
  font-size: 12px;
  margin-top: 4px;
}
.meta-line .reading-time{ font-weight: 800; letter-spacing: -0.01em; }
.meta-line .updated time{ color: var(--muted); }

.fg40-toc{
  margin: 10px 0 12px;
  border: 1px solid rgba(15,23,42,.08);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 6px 14px rgba(2,6,23,.035);
  overflow: hidden;
  position: relative;
}
.fg40-toc::before{
  content:'';
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width: 3px;
  background: rgba(255,90,31,1);
}
.fg40-toc__summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 10px;
  padding: 9px 12px 7px 14px;
  cursor:pointer;
  user-select:none;
  list-style:none;
}
.fg40-toc__summary::-webkit-details-marker{ display:none; }
.fg40-toc__summary:focus-visible{
  outline: 2px solid rgba(255,90,31,.35);
  outline-offset: 3px;
  border-radius: 12px;
}
.fg40-toc__summary::after{
  content:'';
  width: 9px;
  height: 9px;
  border-right: 2px solid rgba(15,23,42,.55);
  border-bottom: 2px solid rgba(15,23,42,.55);
  transform: rotate(45deg);
  transition: transform .18s ease;
  flex: 0 0 auto;
}
.fg40-toc[open] .fg40-toc__summary::after{
  transform: rotate(-135deg);
}
.fg40-toc__title{
  font-size: 12.8px;
  font-weight: 700;
  letter-spacing: -0.01em;
  text-transform: none;
  color: rgba(15,23,42,.92);
}
.fg40-toc__list{
  list-style:none;
  margin: 0;
  padding: 7px 12px 9px 14px;
  display:flex;
  flex-direction:column;
  gap: 4px;
  border-top: 1px solid rgba(15,23,42,.06);
}
.fg40-toc__item{ margin: 0; }
.fg40-toc__item a{
  display:block;
  padding: 5px 7px;
  border-radius: 10px;
  color: rgba(15,23,42,.78);
  text-decoration:none;
  font-weight: 550;
  font-size: 12.7px;
  line-height: 1.22;
  transition: background .15s ease, color .15s ease;
}
.fg40-toc__item a:hover{
  background: rgba(255,90,31,.08);
  color: rgba(15,23,42,.92);
}
.fg40-toc__item.is-h2 a{
  padding-left: 12px;
  border-left: 2px solid rgba(15,23,42,.10);
}
.fg40-toc__item.is-h3 a{
  padding-left: 18px;
  border-left: 2px solid rgba(15,23,42,.10);
}

/* Desktop: deixa o TOC mais “baixo” usando 2 colunas quando tiver espaço */
@media (min-width: 981px){
  .fg40-toc--cols-2 .fg40-toc__list{
    display:grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 10px;
    row-gap: 5px;
  }
}
.share-bar{
  display:flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items:center;
}
.share-label{ color: var(--muted); font-size: 12px; }
.share-btn{
  appearance:none;
  border: 1px solid rgba(0,0,0,.10);
  background: rgba(0,0,0,.02);
  padding: 9px 12px;
  border-radius: 999px;
  font-size: 13px;
  color: var(--text);
  text-decoration:none;
  cursor:pointer;
}
.share-btn:hover{ background: rgba(255,90,31,.08); border-color: rgba(255,90,31,.25); }
.share-btn.copy.copied{ background: rgba(255,90,31,.14); border-color: rgba(255,90,31,.35); }

/* Tags do post (chips) */
.fg40-post-tags{
  max-width: 760px;
  margin: 10px auto 6px;
  display:flex;
  flex-wrap:wrap;
  gap: 10px;
  align-items:center;
}
.fg40-post-tags__label{
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--muted);
}
.fg40-post-tags__list{
  display:flex;
  flex-wrap:wrap;
  gap: 8px;
  align-items:center;
}
.fg40-tag{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 7px 11px;
  border-radius: 999px;
  border: 1px solid rgba(255,90,31,.24);
  background: rgba(255,90,31,.06);
  color: rgba(15,23,42,.92);
  font-size: 12.8px;
  font-weight: 650;
  text-decoration:none;
  line-height: 1;
  transition: background .15s ease, border-color .15s ease, color .15s ease, transform .12s ease;
}
.fg40-tag:hover{
  background: var(--accent);
  border-color: var(--accent);
  color: #fff;
}
.fg40-tag:active{ transform: translateY(1px); }
.fg40-tag:focus-visible{
  outline: none;
  box-shadow: 0 0 0 4px rgba(255,90,31,.22);
}
@media (max-width: 980px){
  .fg40-post-tags{ margin: 10px auto 2px; }
}

.article-featured{
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid var(--line);
  margin: 10px 0 16px;
}
.article-featured img{ display:block; width:100%; height:auto; }
.article-featured__caption{
  padding: 10px 12px;
  background: rgba(0,0,0,.02);
  border-top: 1px solid var(--line);
  font-size: 13px;
  line-height: 1.35;
  color: rgba(0,0,0,.66);
}

/*
  FIX (desktop): em alguns cenários a legenda/crédito da imagem destacada pode “vazar” em largura total
  (uma faixa atravessando toda a tela). Garantimos que a legenda respeite o container do artigo.
*/
.article-featured figure,
.article-featured figure.wp-caption,
.article-featured .wp-caption{
  max-width: 100%;
  overflow: hidden;
}

.article-featured__caption{
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
}

.entry-content{
  font-size: 18px;
  line-height: 1.75;
  color: rgba(17,17,17,.92);
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
}
.entry-content p{ margin: 0 0 1.05em; }

.single .entry-content > p:first-of-type{
  font-size: 1.06em;
  line-height: 1.78;
  color: rgba(17,17,17,.88);
}
.entry-content h2, .entry-content h3{
  letter-spacing: -0.02em;
  line-height: 1.2;
  margin: 1.3em 0 .6em;
  scroll-margin-top: calc(var(--fg40-header-offset, 112px) + 16px);
}
.entry-content h2{ font-size: 24px; }
.entry-content h3{ font-size: 20px; }
.entry-content blockquote{
  margin: 1.2em 0;
  padding: 14px 16px;
  border-left: 4px solid rgba(255,90,31,.75);
  background: rgba(255,90,31,.06);
  border-radius: 14px;
  color: rgba(17,17,17,.9);
}
.entry-content a{ color: rgba(255,90,31,1); }
.entry-content a:hover{ text-decoration: underline; }
.entry-content ul, .entry-content ol{ padding-left: 20px; }
.entry-content li{ margin: .3em 0; }
@media (max-width: 980px){
  .entry-content{ font-size: 17px; }
}

.related{ margin-top: 22px; }
.related-grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 12px;
}
@media (min-width: 980px){
  .related-grid{ grid-template-columns: repeat(4, minmax(0,1fr)); }
}
.related-card{
  border: 1px solid var(--line);
  border-radius: 16px;
  overflow:hidden;
  background: #fff;
  box-shadow: 0 10px 26px rgba(17,17,17,.05);
}
.related-card .thumb img{ width:100%; height:160px; object-fit:cover; display:block; }
.related-card .body{ padding: 10px 12px 12px; }
.related-card .meta{ color: var(--muted); font-size: 12px; margin-bottom: 6px; }
.related-card h3{ margin: 0; font-size: 14px; line-height: 1.25; letter-spacing: -0.01em; }
.related-card h3 a{ color: var(--text); text-decoration:none; }
.related-card h3 a:hover{ text-decoration:underline; }

.footer-grid-portal{ grid-template-columns: 1.3fr 1fr 1fr 1fr; gap: 22px; }
@media (max-width: 980px){
  .footer-grid-portal{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 560px){
  .footer-grid-portal{ grid-template-columns: 1fr; }
}
.footer-badges{ display:flex; gap:10px; flex-wrap:wrap; margin-top: 12px; }
.footer-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
  color: #fff;
  text-decoration:none;
  font-size: 13px;
}
.footer-pill:hover{ background: rgba(255,90,31,.18); border-color: rgba(255,90,31,.35); }

/* Top info strip: remove time + keep clean (all breakpoints) */
.info-strip .info-time{ display:none !important; }
.info-strip .wx-text{ display:none !important; }

/* =========================================================
   Refinos visuais (v2.2.2)
   - Compartilhamento com ícones e cores oficiais
   - Sidebar de colunistas unificada (usa o mesmo bloco da home)
   - Menu mais elegante e consistente
   ========================================================= */

/* Share buttons: ícone + cor da rede (sem "cara de plugin") */
.share-bar{ gap:10px; }
.share-btn{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding: 8px 12px 8px 10px;
  border-radius: 999px;
  border: 1px solid rgba(15,23,42,.10);
  background: #fff;
  box-shadow: 0 8px 18px rgba(2,6,23,.06);
  font-weight: 700;
}
.share-btn .share-ic{
  width:30px;
  height:30px;
  border-radius: 999px;
  display:inline-grid;
  place-items:center;
  color:#fff;
  flex:0 0 30px;
}
.share-btn .share-txt{ font-size: 13px; letter-spacing: -.01em; }
.share-btn:hover{ transform: translateY(-1px); }

.share-wa .share-ic{ background:#25D366; }
.share-x  .share-ic{ background:#0F172A; }
.share-fb .share-ic{ background:#1877F2; }
.share-copy .share-ic{ background: rgba(255,90,31,.95); }

.share-btn svg{ display:block; }
.share-btn svg path{ fill: currentColor; }

.share-btn.share-copy.copied{
  border-color: rgba(255,90,31,.35);
  box-shadow: 0 10px 22px rgba(255,90,31,.14);
}

@media (max-width: 520px){
  /* No mobile: mantém elegante e compacto */
  .share-btn{ padding:8px 10px; }
  .share-btn .share-txt{ display:none; }
}

/* Menu: menos "vazio", mais editorial e consistente */
.site-topbar nav.nav-row{
  background: rgba(255,255,255,.98);
  border-bottom: 1px solid rgba(15,23,42,.08);
}
.site-topbar nav.nav-row ul{ gap:18px !important; justify-content:center; }
.site-topbar nav.nav-row a{
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: 12px 10px;
  color: rgba(15,23,42,.86);
}
.site-topbar nav.nav-row a::after{ background: rgba(255,90,31,.92); }
.site-topbar nav.nav-row li + li::before{ background: rgba(15,23,42,.10); }

@media (max-width: 980px){
  .site-topbar nav.nav-row ul{ justify-content:flex-start; }
  .site-topbar nav.nav-row li + li{ padding-left:0; }
  .site-topbar nav.nav-row li + li::before{ display:none; }
}

/* Footer colunistas: hierarquia elegante (coluna em destaque, autor discreto) */
.footer-columnists .footer-col-link{
  display:flex;
  flex-direction:column;
  gap:2px;
  text-decoration:none;
}
.footer-col-column{
  color: rgba(255,90,31,.95);
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-size: 12px;
}
.footer-col-person{
  color: rgba(255,255,255,.92);
  font-weight: 500;
  font-size: 13px;
}
.footer-columnists a:hover .footer-col-person{ text-decoration: none; }

/* =========================
   Refinamento: faixa de contexto (desktop + mobile)
   - Mantém local + data + clima (ícone + temperatura)
   - Alinha e evita "vazio"/quebra feia
========================= */
.info-strip-inner{
  justify-content:center !important;
}
.info-strip .info-line{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
  text-align:center;
}
.info-strip .sep{ opacity:.45; }
.info-strip .info-date{ white-space:nowrap; }
.weather-inline{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 10px;
  border-radius:999px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.10);
}
.weather-inline .wx{ opacity:.92; }
.weather-inline .wx-temp{ color:#fff; font-weight:800; }

@media (max-width: 520px){
  .info-strip-inner{ padding:8px 0 !important; }
  .info-strip .info-line{ gap:10px; }
  .info-strip .sep{ margin:0 6px !important; }
}

/* Prevent background scroll when nav drawer is open */
html.nav-open, html.nav-open body{ overflow:hidden; }

/* Nav drawer header (mobile) */
.nav-drawer-head{
  display:none;
}
.nav-drawer-actions{ display:none; }

@media (max-width: 900px){
  .nav-drawer-head{
    position: fixed;
    top: 0;
    left: 0;
    width: min(86vw, 360px);
    display:flex;
    align-items:center;
    justify-content: space-between;
    gap: 10px;
    padding: 14px 14px 10px;
    background: #fff;
    border-bottom: 1px solid rgba(15,15,18,.08);
    z-index: 10000;
  }
  .nav-drawer-actions{
    display:block;
    margin-bottom: 10px;
  }
  .nav-close{
    border: 1px solid rgba(0,0,0,.10);
    background: rgba(0,0,0,.02);
    width: 40px;
    height: 40px;
    border-radius: 12px;
    cursor:pointer;
    font-size: 18px;
    line-height: 1;
  }
  .nav-close:hover{ background: rgba(255,90,31,.08); border-color: rgba(255,90,31,.25); }
  .site-nav{ padding-top: 86px !important; } /* space for fixed drawer head */
}


/* =========================================================
   40graus Refinements (Top/Menu/Hero/Sidebar/Footer)
   ========================================================= */
/* Brand logo sizing (header + footer): keep consistent and crisp */
:root{
  --brand-logo-h:56px;
  --brand-logo-h-md:50px;
  --brand-logo-h-sm:46px;
}

.site-logo-img,
.footer-logo-img{
  height:var(--brand-logo-h);
  width:auto;
  display:block;
  filter:none;
}

@media (max-width: 900px){
  .site-logo-img,
  .footer-logo-img{ height:var(--brand-logo-h-md); }
}
@media (max-width: 520px){
  .site-logo-img,
  .footer-logo-img{ height:var(--brand-logo-h-sm); }
}

@media (max-width: 520px){
  .site-logo-img{ height:46px; }
}

/* Logo in <picture> wrapper behaves like the old <img> */
.site-logo-picture{display:block; line-height:0;}
.site-logo-picture.is-drawer{display:block;}

/* Featured column title: reduce overly heavy inline weight (desktop + mobile) */
.featured-col__title{
  font-weight:700;
  font-size:18px;
  line-height:1.2;
  letter-spacing:-.02em;
  margin-top:6px;
}
@media (max-width: 640px){
  .featured-col__title{font-weight:600; font-size:16px; line-height:1.25;}
}

/* Lightbox: loading state (prevents "it froze" feeling) */
.cblx__figure.is-loading{cursor:progress;}
.cblx__figure.is-loading::after{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.25);
}
.cblx__figure.is-loading::before{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:34px;
  height:34px;
  margin-left:-17px;
  margin-top:-17px;
  border-radius:999px;
  border:3px solid rgba(255,255,255,.25);
  border-top-color: rgba(255,255,255,.9);
  animation:cblxSpin .9s linear infinite;
}
@keyframes cblxSpin{to{transform:rotate(360deg);}}
.cblx.is-locked .cblx__nav,
.cblx.is-locked .cblx__thumb{pointer-events:none; opacity:.75;}

.site-logo-img.is-drawer{ height:44px; }

/* footer logo follows brand variables above */



.topbar-inner{padding:6px 0;} /* reduce empty vertical space */

/* Make main nav feel like an editorial bar */
.grid-hero .stack{display:flex !important;flex-direction:column;gap:10px !important;align-items:stretch;}
.grid-hero .stack > article.mini{display:grid !important;grid-template-columns:56px 1fr;gap:12px !important;align-items:start !important;padding:14px 16px !important;height:auto !important;min-height:0 !important;}
.grid-hero .stack > article.mini > div{justify-content:flex-start !important;}
.grid-hero .stack > article.mini .meta{margin-top:6px !important;}

/* Reduce empty space inside the main featured card */
.grid-hero .feature .content{padding:18px 22px !important;}
.grid-hero .feature .kicker{margin:0 0 8px !important;}
.grid-hero .feature h2{margin:0 0 10px !important;line-height:1.12;}
.grid-hero .feature .meta{margin:0 !important;}

@media (max-width: 720px){
  .grid-hero .stack > article.mini{grid-template-columns:52px 1fr;}
  .grid-hero .feature .content{padding:16px 18px !important;}
}
.site-nav{
  border-top:1px solid rgba(0,0,0,.06);
  background:#fff;
}
.site-nav .menu{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:6px 0 10px;
  margin:0;
  list-style:none;
}
.site-nav .menu > li{position:relative;}
.site-nav .menu > li > a{
  display:inline-block;
  padding:10px 12px;
  border-radius:12px;
  color:var(--text);
  opacity:.92;
  font-weight:800;
  font-size:13px;
  letter-spacing:.06em;
  text-transform:uppercase;
  position:relative;
}
.site-nav .menu > li > a::after{
  content:"";
  position:absolute;
  left:12px; right:12px; bottom:6px;
  height:2px;
  background:transparent;
  border-radius:999px;
  transition:transform .18s ease, background-color .18s ease, opacity .18s ease;
  transform:scaleX(.25);
  opacity:0;
}
.site-nav .menu > li > a:hover{
  opacity:1;
  background:rgba(255,90,31,.06);
}
.site-nav .menu > li > a:hover::after{
  background:var(--accent);
  transform:scaleX(1);
  opacity:1;
}
.site-nav .menu > li.current-menu-item > a,
.site-nav .menu > li.current_page_item > a{
  opacity:1;
  background:rgba(255,90,31,.10);
  color:var(--accent);
}
.site-nav .menu > li.current-menu-item > a::after,
.site-nav .menu > li.current_page_item > a::after{
  background:var(--accent);
  transform:scaleX(1);
  opacity:1;
}

/* Tighten the featured card spacing (remove the “empty” band) */
.hero .content{padding:10px 16px 12px !important;}
.hero .content .kicker{margin:0 0 4px !important;}
.hero h2{margin:4px 0 6px !important;}

/* Improve hero right stack cards */
.stack{gap:10px;}
.stack .mini{
  /* Keep compact: do not stretch, no equal-height cards */
  display:grid !important;
  grid-template-columns: 78px 1fr !important;
  gap:10px !important;
  padding:8px 10px !important;
  align-items:start !important;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
  box-shadow:0 6px 20px rgba(0,0,0,.04);
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.stack .mini:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 26px rgba(0,0,0,.06);
  border-color:rgba(255,90,31,.25);
}
.stack .mini .thumb img{border-radius:12px; width:78px; height:56px; object-fit:cover;}
.stack .mini-kicker{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--accent);
  opacity:.95;
  margin-bottom:4px;
}
.stack .mini h3{margin:0 0 4px; font-size:13.5px; line-height:1.22; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;}
.stack .mini .meta{font-size:12px; color:var(--muted);}

/* Footer links: remove harsh underline, use elegant hover */
.site-footer a{
  text-decoration:none;
  border-bottom:none !important;
}
.site-footer a:hover{
  color:var(--accent);
}
.site-footer .footer-links a{
  position:relative;
}
.site-footer .footer-links a::after{
  content:"";
  position:absolute;
  left:0; right:auto;
  bottom:-3px;
  width:0;
  height:2px;
  background:var(--accent);
  border-radius:999px;
  transition:width .18s ease;
  opacity:.9;
}
.site-footer .footer-links a:hover::after{
  width:100%;
}

/* Legacy gallery: navigation is handled by our JS lightbox, so keep it clickable */
.c-gallery a,
a.lsvr-lightbox{
  pointer-events:auto;
  cursor:zoom-in;
}

/* Footer: keep hover clean (no underline bars) */
.site-footer .footer-links a::after,
.site-footer a::after{
  display:none !important;
}

/* Galeria legacy: visual de portal */
.c-gallery{
  margin:18px 0;
}
.c-gallery .gallery-images{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:14px;
}
@media (min-width: 768px){
  .c-gallery .gallery-images{grid-template-columns:repeat(3, minmax(0, 1fr)); gap:16px;}
}
@media (min-width: 1100px){
  .c-gallery .gallery-images{grid-template-columns:repeat(4, minmax(0, 1fr));}
}
.c-gallery .gallery-images > li{
  margin:0;
  padding:0;
}
.c-gallery .gallery-images img{
  width:100%;
  height:auto;
  display:block;
  border-radius:14px;
  background:#f2f2f2;
  aspect-ratio:4 / 3;
  object-fit:cover;
  box-shadow:0 8px 22px rgba(0,0,0,.06);
}

/* =========================
   Refinamento: faixa de contexto (desktop + mobile)
   Mantém local + data + clima (ícone + temperatura)
   ========================= */
.info-strip-inner{
  justify-content:center !important;
}
.info-strip .info-line{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  flex-wrap:wrap;
  text-align:center;
}
.info-strip .sep{
  opacity:.45;
  margin:0 8px;
}
.weather-inline{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.10);
}
.weather-inline .wx{ opacity:.9; }
.weather-inline .wx-temp{ color:#fff; font-weight:700; }

@media (max-width: 520px){
  .info-strip-inner{ padding:8px 0 !important; }
  .info-strip .sep{ margin:0 6px; }
  .weather-inline{ padding:6px 10px; }
}

/* =========================
   Refinamento: rodapé sem sublinhado agressivo
   ========================= */
.site-footer a,
.site-footer a:hover{
  text-decoration:none !important;
}
.site-footer a:hover{ opacity:.95; }



/* =========================================================
   MENU PRO (v2.5.1) – identidade + hierarquia editorial
   Objetivo: fugir do "tema free": tabs em container, ativo premium,
   hover com underline animado, sem pílula chapada.
   ========================================================= */
.site-nav{
  justify-content:center;
}
.site-nav ul,
.site-nav .menu{
  display:inline-flex !important;
  align-items:center;
  gap:2px !important;
  padding:6px !important;
  background:#f4f5f7;
  border:1px solid rgba(0,0,0,.06);
  border-radius:16px;
  box-shadow: 0 8px 24px rgba(0,0,0,.04);
}
.site-nav li{ margin:0 !important; }
.site-nav a{
  position:relative;
  border-radius:12px !important;
  background:transparent !important;
  color:#1f1f1f !important;
  opacity:.9;
  padding:10px 14px !important;
  font-weight:800;
  letter-spacing:.05em;
  text-transform:uppercase;
  transition: transform .16s ease, background .16s ease, box-shadow .16s ease, color .16s ease;
}
.site-nav a:hover{
  transform: translateY(-1px);
  background: rgba(255,90,31,.10) !important;
  color: var(--accent) !important;
  box-shadow: 0 10px 22px rgba(0,0,0,.06);
}
.site-nav a::after{
  content:"";
  position:absolute;
  left:12px;
  right:12px;
  bottom:8px;
  height:2px;
  background: var(--accent);
  border-radius:999px;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .18s ease;
  opacity:.9;
}
.site-nav a:hover::after{ transform: scaleX(1); }

.site-nav .current-menu-item > a,
.site-nav .current_page_item > a,
.site-nav a[aria-current="page"]{
  background:#fff !important;
  color:#111 !important;
  opacity:1;
  box-shadow: 0 14px 26px rgba(0,0,0,.08);
}
.site-nav .current-menu-item > a::after,
.site-nav .current_page_item > a::after,
.site-nav a[aria-current="page"]::after{
  transform: scaleX(1);
}

/* Desktop: dê um destaque persistente para o item "INÍCIO" (home)
   para ficar alinhado com o tratamento da versão mobile. */
@media (min-width: 901px){
  .site-nav .menu-item-home > a{
    border: 1px solid rgba(255,90,31,.55) !important;
    box-shadow: 0 10px 22px rgba(255,90,31,.10);
  }
}

/* Mobile: menu mais “app-like” e escaneável */
@media (max-width: 768px){
  .site-nav ul,
  .site-nav .menu{
    width:100%;
    overflow-x:auto;
    -webkit-overflow-scrolling: touch;
    justify-content:flex-start;
    border-radius:14px;
    padding:6px !important;
    gap:6px !important;
    scrollbar-width:none;
  }
  .site-nav ul::-webkit-scrollbar{ display:none; }
  .site-nav a{
    white-space:nowrap;
    padding:10px 12px !important;
  }
}

/* Arquivos: tirar "Categoria:" e deixar só o nome com presença */
.archive .section-head{
  margin-bottom:18px;
}
.archive .section-title{
  font-size: 18px;
  letter-spacing:.10em;
  text-transform: uppercase;
}
.archive .section-title strong{
  font-size: 20px;
  letter-spacing:.08em;
}



/* =========================================================
   40GRAUS • MENU EDITORIAL RESPONSIVO (DESKTOP + MOBILE)
   Ajuste premium: barra preta, caixa alta, ativo com brilho
   ========================================================= */

:root{
  --accent:#ff5a1f;
}

/* Barra preta “jornal” */
nav#site-nav.nav.nav-row.site-nav{
  background:#111 !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.06),
    inset 0 -1px 0 rgba(0,0,0,.35) !important;
}

/* UL do menu: sem cápsula, sem blur, sem quebrar */
nav#site-nav.nav.nav-row.site-nav ul.menu.header-menu,
nav#site-nav.nav.nav-row.site-nav ul#menu-full.menu.header-menu,
nav#site-nav.nav.nav-row.site-nav ul#menu-header-menu.menu.header-menu{
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  backdrop-filter:none !important;

  width:100% !important;
  max-width:none !important;
  margin:0 !important;

  display:flex !important;
  flex-wrap:nowrap !important;
  justify-content:center !important;
  align-items:center !important;

  gap:18px !important;
  padding:8px 14px !important;
}

/* Links: editorial, caixa alta respirável */
nav#site-nav.nav.nav-row.site-nav ul.menu.header-menu a{
  position:relative;
  color:rgba(255,255,255,.92) !important;
  background:transparent !important;
  text-decoration:none !important;

  text-transform:uppercase !important;
  letter-spacing:.06em !important;
  font-weight:700 !important;
  font-size:12px !important;

  padding:8px 10px !important;
  border-radius:8px !important; /* mata o pill 999px antigo */
  box-shadow:none !important;
  transition: background .15s ease, color .15s ease;
}

nav#site-nav.nav.nav-row.site-nav ul.menu.header-menu a:hover{
  background:rgba(255,255,255,.08) !important;
  color:#fff !important;
}

/* HOME sempre com mais destaque (editorial): cor da marca */
nav#site-nav .menu-full li.menu-item-home > a,
nav#site-nav .menu-full li.menu-item-home.current-menu-item > a,
nav#site-nav .menu-full li.menu-item-home.current_page_item > a {
  background: var(--accent) !important;
  color: #111 !important;
  border: 1px solid rgba(0,0,0,.12) !important;
  box-shadow: 0 6px 18px rgba(255,90,31,.18);
}
nav#site-nav .menu-full li.menu-item-home > a:hover{
  filter: brightness(1.06);
}

/* Item ativo (quando não for HOME): destaque sutil, sem “sumir” */
nav#site-nav .menu-full li.current-menu-item:not(.menu-item-home) > a,
nav#site-nav .menu-full li.current_page_item:not(.menu-item-home) > a,
nav#site-nav .menu-full li.current-menu-ancestor:not(.menu-item-home) > a {
  background: rgba(255,255,255,.12) !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.14) !important;
}

/* Active (editorial): orange outline */
nav#site-nav .menu-full li.current-menu-item:not(.menu-item-home) > a,
nav#site-nav .menu-full li.current_page_item:not(.menu-item-home) > a{
  background: rgba(255,255,255,.06) !important;
  box-shadow: inset 0 0 0 1px var(--accent), 0 6px 14px rgba(0,0,0,.18);
  color: #fff !important;
}
/* Remove underline to avoid doubling */
nav#site-nav .menu-full li.current-menu-item:not(.menu-item-home) > a::after,
nav#site-nav .menu-full li.current_page_item:not(.menu-item-home) > a::after{
  display: none !important;
}
/* Mobile: faixa rolável */
@media (max-width:768px){
  nav#site-nav.nav.nav-row.site-nav ul.menu.header-menu{
    justify-content:flex-start !important;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    gap:12px !important;
    padding:10px 14px !important;
  }
  nav#site-nav.nav.nav-row.site-nav ul.menu.header-menu::-webkit-scrollbar{ display:none; }

  nav#site-nav.nav.nav-row.site-nav ul.menu.header-menu a{
    white-space:nowrap;
    font-size:11.5px !important;
    padding:10px 10px !important;
  }

  nav#site-nav.nav.nav-row.site-nav ul.menu.header-menu li.current-menu-item > a::after,
  nav#site-nav.nav.nav-row.site-nav ul.menu.header-menu li.current_page_item > a::after{
    bottom:-5px;
  }
}

/* =========================================================
   HERO: reduz espaço “kicker → título” apenas no destaque
   ========================================================= */
.stack > .content .kicker{ margin:0 0 6px !important; line-height:1.1 !important; }
.stack > .content h2{ margin-top:0 !important; padding-top:0 !important; line-height:1.12 !important; }
.stack > .content{ gap:0 !important; }



/* Logo sizing: mobile (keep header == footer) */
@media (max-width:768px){
  .topbar-inner .site-logo-img{ max-height: var(--brand-logo-h-md) !important; max-width:240px; }
  .site-footer .footer-logo-img{ max-height: var(--brand-logo-h-md) !important; max-width:220px; margin:0 auto; }
}

/* =========================================================
   Ajuste pontual: INÍCIO (menu) com texto na cor da marca
   (sem alterar os demais itens)
   ========================================================= */
nav#site-nav #menu-item-66183 > a,
nav#site-nav #menu-item-66183 > a:hover,
nav#site-nav #menu-item-66183 > a:focus,
nav#site-nav #menu-item-66183 > a:active{
  color: var(--accent) !important;
}

/* =========================================================
   Refinos de mobile (header)
   - Remove "Últimas" no mobile (evita corte)
   - Garante menu sanduíche visível e com cor de marca
   ========================================================= */
@media (max-width: 768px){
  /* some com o botão de Últimas no mobile */
  .site-topbar .header-actions .btn-latest{ display:none !important; }

  /* garante os botões visíveis e alinhados */
  .site-topbar .header-actions{
    gap:10px !important;
  }

  /* botão do menu sanduíche em laranja da marca */
  .site-topbar .menu-toggle{
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    width:44px;
    height:44px;
    border-radius:12px;
    border:0 !important;
    background:var(--accent) !important;
    box-shadow:0 8px 20px rgba(17,17,17,.10);
  }
  .site-topbar .menu-toggle span{
    background:#fff !important;
  }
  .site-topbar .menu-toggle:hover{
    filter:brightness(1.02);
  }

  /* botão de busca continua discreto (bordas claras) */
  .site-topbar .search-toggle{
    width:44px;
    height:44px;
  }
}

/* =========================================================
   Fix: hover do botão "Últimas" (desktop)
   - Em alguns navegadores o texto sumia por herança de cor
   ========================================================= */
.site-topbar .header-actions .btn-latest:hover,
.site-topbar .header-actions .btn-latest:focus,
.site-topbar .header-actions .btn-latest:active{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}

/* =============================
   Mobile header + drawer menu (refino 40graus)
   ============================= */
@media (max-width: 768px) {
  /* Remove o botão "Últimas" no topo do mobile (fica disponível dentro do menu) */
  .btn.btn-latest { display: none !important; }

  .topbar-inner { gap: 10px !important; }

  /* Botões do topo (menu + busca) com pegada mais "tech" */
  .menu-toggle,
  .search-toggle{
    width: 44px !important;
    height: 44px !important;
    border-radius: 14px !important;
    border: 1px solid rgba(0,0,0,.10) !important;
    background: rgba(255,255,255,.92) !important;
    box-shadow: 0 10px 24px rgba(0,0,0,.08) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  .search-toggle{ font-size: 18px !important; }

  /* Ícone hamburger (3 linhas) */
  .menu-toggle .menu-icon{
    width: 20px;
    height: 14px;
    display: inline-flex;
    flex-direction: column;
    justify-content: space-between;
  }
  .menu-toggle .menu-icon span{
    display:block;
    height: 2px;
    width: 100%;
    border-radius: 2px;
    background: #ff5a1f;
    transition: transform .18s ease, opacity .18s ease;
  }

  /* Estado aberto: vira um X */
  body.nav-open .menu-toggle .menu-icon span:nth-child(1){
    transform: translateY(6px) rotate(45deg);
  }
  body.nav-open .menu-toggle .menu-icon span:nth-child(2){
    opacity: 0;
  }
  body.nav-open .menu-toggle .menu-icon span:nth-child(3){
    transform: translateY(-6px) rotate(-45deg);
  }

  /* Drawer (override de quaisquer estilos anteriores) */
  #site-nav.site-nav{
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    left: auto !important;
    height: 100vh !important;
    width: min(86vw, 360px) !important;
    transform: translateX(105%) !important;
    transition: transform .22s ease !important;
    z-index: 9999 !important;
    background: rgba(12, 13, 15, .92) !important;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    /* Leave space for the fixed drawer header */
    padding: 90px 14px 14px !important;
    border-left: 1px solid rgba(255,255,255,.08) !important;
    box-shadow: -20px 0 60px rgba(0,0,0,.35) !important;
    overflow-y: auto !important;
  }
  #site-nav.site-nav.is-open{ transform: translateX(0) !important; }

  /* Overlay */
  .nav-overlay{
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.42);
    opacity: 0;
    pointer-events: none;
    transition: opacity .22s ease;
    z-index: 9998;
  }
  .nav-overlay.is-open{
    opacity: 1;
    pointer-events: auto;
  }

  body.nav-open{ overflow: hidden; }

  /* Conteúdo do drawer */
  #site-nav .menu-header-menu{
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 8px !important;
    padding: 10px 6px 18px !important;
  }
  #site-nav .menu-header-menu > li > a{
    display: flex !important;
    width: 100% !important;
    padding: 14px 12px !important;
    border-radius: 14px !important;
    background: rgba(255,255,255,.06) !important;
    border: 1px solid rgba(255,255,255,.08) !important;
    color: rgba(255,255,255,.92) !important;
    font-weight: 800 !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
  }
  #site-nav .menu-header-menu > li.current-menu-item > a,
  #site-nav .menu-header-menu > li > a:hover{
    background: rgba(255,90,31,.16) !important;
    border-color: rgba(255,90,31,.35) !important;
    color: #fff !important;
  }

  /* Cabeçalho do drawer */
  #site-nav .nav-drawer-head{
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    padding: 6px 6px 12px !important;
    border-bottom: 1px solid rgba(255,255,255,.08) !important;
  }
  #site-nav .nav-title{
    color: rgba(255,255,255,.92) !important;
    font-weight: 900 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
    font-size: 12px !important;
  }
  #site-nav .nav-close{
    width: 40px !important;
    height: 40px !important;
    border-radius: 12px !important;
    border: 1px solid rgba(255,255,255,.10) !important;
    background: rgba(255,255,255,.06) !important;
    color: rgba(255,255,255,.95) !important;
    font-size: 22px !important;
    line-height: 1 !important;
  }
}

/* Mobile nav drawer header: keep it "tech" and avoid covering menu items */
@media (max-width: 768px) {
  .nav-drawer-head{
    background: rgba(12, 13, 15, .92) !important;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-bottom: 1px solid rgba(255,255,255,.08) !important;
  }
  .nav-drawer-head .logo{
    background: #fff;
    border-radius: 12px;
    padding: 4px 8px;
  }
}

/* ------------------------------------------------------------
   Mobile header refinements (menu + actions)
   - Fixes hamburger rendering (no more "white square")
   - Ensures drawer opens reliably
   - Removes the "Últimas" button on mobile
------------------------------------------------------------- */

@media (max-width: 768px) {
  /* Remove the "Últimas" CTA on mobile (keeps header clean) */
  .header-right .btn-latest,
  .header-right .btn.btn-accent {
    display: none !important;
  }

  /* Hamburger button: techy outline style in the brand orange */
  .site-topbar .menu-toggle,
  .site-topbar .search-toggle {
    width: 44px;
    height: 44px;
    padding: 0;
    border-radius: 14px;
    background: transparent !important;
    border: 2px solid var(--accent) !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.06);
  }

  /* Search icon colors (match the menu button) */
  .site-topbar .search-toggle {
    color: var(--accent);
  }
  .site-topbar .search-toggle svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
  }

  .site-topbar .menu-toggle .menu-icon {
    width: 22px;
    height: 16px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }

  /* IMPORTANT: do NOT style every span inside .menu-toggle (it breaks the icon) */
  .site-topbar .menu-toggle span {
    background: transparent;
  }

  .site-topbar .menu-toggle .menu-icon span {
    display: block;
    height: 2px;
    width: 100%;
    border-radius: 2px;
    background: var(--accent);
    transition: transform 0.18s ease, opacity 0.18s ease;
  }

  .site-topbar .menu-toggle[aria-expanded="true"] {
    background: var(--accent) !important;
  }

  .site-topbar .menu-toggle[aria-expanded="true"] .menu-icon span {
    background: #fff;
  }

  .site-topbar .menu-toggle[aria-expanded="true"] .menu-icon span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
  }

  .site-topbar .menu-toggle[aria-expanded="true"] .menu-icon span:nth-child(2) {
    opacity: 0;
  }

  .site-topbar .menu-toggle[aria-expanded="true"] .menu-icon span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
  }

  /* Mobile drawer menu */
  .site-nav {
    position: fixed;
    top: 0;
    left: 0;
    height: 100vh;
    width: min(86vw, 340px);
    background: #0f0f10;
    color: #fff;
    transform: translateX(-105%);
    transition: transform 0.22s ease;
    z-index: 2000;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding-top: 72px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.35);
  }

  .site-nav.is-open {
    transform: translateX(0);
  }

  .site-nav .nav-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
  }

  .site-nav a {
    width: 100%;
    padding: 14px 18px;
    border-radius: 0;
    color: #fff;
  }

  .site-nav a:hover,
  .site-nav a:focus {
    background: rgba(255, 255, 255, 0.06);
  }

  .nav-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease;
    z-index: 1900;
  }

  .nav-overlay.is-open {
    opacity: 1;
    pointer-events: auto;
  }

  /* Scroll lock only when menu is open */
  body.nav-open {
    overflow: hidden;
    touch-action: none;
  }
}

/* =========================================================
   Mobile nav: final overrides (keep desktop untouched)
   Fixes: hamburger rendering, drawer layout, scroll locking
   ========================================================= */
@media (max-width: 768px) {
  /* Hide the "Últimas" button on mobile (requested) */
  .site-topbar .btn-latest { display: none !important; }

  /* Ensure the overlay/drawer sits ABOVE everything (including header) */
  #site-nav {
    position: fixed !important;
    inset: 0 !important;
    z-index: 5000 !important;
    pointer-events: none;
    background: transparent;
  }
  #site-nav.is-open { pointer-events: auto; }

  /* Full-screen overlay */
  #site-nav .nav-overlay {
    position: absolute !important;
    inset: 0 !important;
    background: rgba(0,0,0,0.50) !important;
    opacity: 0;
    pointer-events: none;
    transition: opacity .18s ease;
    z-index: 1;
  }
  #site-nav.is-open .nav-overlay,
  #site-nav .nav-overlay.is-open {
    opacity: 1;
    pointer-events: auto;
  }

  /* Drawer panel */
  #site-nav .nav-drawer {
    position: absolute !important;
    top: 0 !important;
    right: -100% !important;
    width: min(86vw, 340px) !important;
    height: 100dvh !important;
    background: #0f0f10 !important;
    box-shadow: -12px 0 30px rgba(0,0,0,.35) !important;
    z-index: 2;
    padding: 18px 16px 18px !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    transition: right .22s ease;
  }
  #site-nav.is-open .nav-drawer { right: 0 !important; }

  /* Drawer header area (optional: show logo smaller inside the drawer) */
  #site-nav .nav-drawer .drawer-brand {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 6px 2px 14px;
    border-bottom: 1px solid rgba(255,255,255,.08);
    margin-bottom: 12px;
  }
  #site-nav .nav-drawer .drawer-brand img {
    max-height: 34px;
    height: auto;
    width: auto;
  }

  /* Menu list */
  #site-nav .menu {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
  }
  #site-nav .menu a {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    padding: 12px 12px !important;
    border-radius: 12px !important;
    background: rgba(255,255,255,.06) !important;
    color: #fff !important;
    text-decoration: none;
    font-weight: 700;
    letter-spacing: .02em;
  }
  #site-nav .menu a:hover,
  #site-nav .menu a:focus {
    background: rgba(255,255,255,.10) !important;
  }

  /* Scroll lock: JS uses html.nav-open (not body.nav-open) */
  html.nav-open { overflow: hidden !important; }
  html.nav-open body { overflow: hidden !important; }

  /* Top-right controls: make menu + search match in size/style */
  .site-topbar .header-right {
    gap: 10px !important;
  }

  /* No mobile, removemos o botão "Últimas" do topo (evita corte e poluição visual) */
  .site-topbar .header-right .btn-latest {
    display: none !important;
  }
  .site-topbar .menu-toggle,
  .site-topbar .search-toggle {
    width: 44px !important;
    height: 44px !important;
    border-radius: 12px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 2px solid rgba(255, 94, 0, 0.55) !important;
    background: rgba(255,255,255,0.92) !important;
    color: #ff5e00 !important;
    box-shadow: 0 10px 22px rgba(0,0,0,.10) !important;
  }

  /* Hamburger icon: 3 bars (the earlier rules were turning spans into squares) */
  .site-topbar .menu-toggle .menu-icon {
    width: 18px !important;
    height: 14px !important;
    display: inline-flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
  }
  .site-topbar .menu-toggle .menu-icon span {
    display: block !important;
    width: 100% !important;
    height: 2px !important;
    border-radius: 999px !important;
    background: currentColor !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    transform: none;
    opacity: 1;
  }

  /* Animate to "X" when open */
  html.nav-open .site-topbar .menu-toggle .menu-icon span:nth-child(1) {
    transform: translateY(6px) rotate(45deg);
  }
  html.nav-open .site-topbar .menu-toggle .menu-icon span:nth-child(2) {
    opacity: 0;
  }
  html.nav-open .site-topbar .menu-toggle .menu-icon span:nth-child(3) {
    transform: translateY(-6px) rotate(-45deg);
  }

  /* Search icon color harmonized */
  .site-topbar .search-toggle svg,
  .site-topbar .search-toggle i {
    color: #ff5e00 !important;
    fill: #ff5e00 !important;
  }
}
@media (max-width: 768px) {
  /* Remove "Últimas" button everywhere on mobile */
  .site-nav .nav-drawer-actions { display: none !important; }

  /* Drawer header: logo + close alinhados, visual mais "tech" */
  .site-nav .nav-drawer-head {
    background: #0b0b0c !important;
    border-radius: 0 !important;
    padding: 14px 16px !important;
    border-bottom: 1px solid rgba(255,255,255,.08) !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
  }
  .site-nav .nav-drawer-brand {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
    border-radius: 0 !important;
  }
  .site-nav .nav-drawer-brand img {
    height: 28px !important;
    width: auto !important;
    max-width: 180px !important;
    object-fit: contain !important;
    display: block !important;
  }
  .site-nav .nav-close {
    margin-left: auto !important;
    width: 44px !important;
    height: 44px !important;
    border-radius: 14px !important;
    border: 1px solid rgba(255,255,255,.18) !important;
    background: rgba(255,255,255,.06) !important;
    color: #fff !important;
    font-size: 20px !important;
  }
}

/* ======================================================================== */
/*  Mobile refinements (menu + busca)
/*  (Overrides at end to avoid conflicts with earlier blocks)
/* ======================================================================== */

@media (max-width: 768px){
  /* Remove o botão "Últimas" no mobile (desktop permanece igual) */
  .site-topbar .header-right .btn-latest{display:none !important;}

  /* Botões do topo (menu + busca) com mesma aparência */
  .site-topbar .header-right{gap:12px;}
  .site-topbar .menu-toggle,
  .site-topbar .search-toggle{
    width:48px;
    height:48px;
    border:2px solid var(--accent);
    border-radius:14px;
    background:#fff;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    box-shadow:0 10px 24px rgba(0,0,0,.10);
  }

  .site-topbar .menu-toggle .menu-icon span{
    height:3px;
    border-radius:3px;
    background:var(--accent) !important;
  }

  .site-topbar .search-toggle{color:var(--accent) !important;}
  .site-topbar .search-toggle svg{width:22px;height:22px;}

	  /* Colunistas dentro do drawer (estilo parecido com a sidebar do desktop) */
	  .site-nav .drawer-section{
	    margin-top:18px;
	    padding-top:14px;
	    border-top:1px solid rgba(255,255,255,.10);
	  }
	  .site-nav .drawer-section__title{
	    margin:0 0 10px;
	    font-size:12px;
	    letter-spacing:.10em;
	    text-transform:uppercase;
	    color:rgba(255,255,255,.70);
	  }
	  .site-nav .columnists--drawer{display:flex;flex-direction:column;gap:10px;margin:0;padding:0;}
	  .site-nav .columnist--drawer{
	    display:flex;
	    align-items:center;
	    gap:12px;
	    padding:12px 14px;
	    border-radius:16px;
	    border:1px solid rgba(255,255,255,.10);
	    background:rgba(255,255,255,.05);
	    color:#fff;
	    text-decoration:none;
	  }
	  .site-nav .columnist--drawer:active{transform:scale(.99);}
	  .site-nav .columnist--drawer .avatar{flex:0 0 auto;width:44px;height:44px;}
	  .site-nav .columnist--drawer .avatar img{width:44px;height:44px;border-radius:50%;object-fit:cover;}
	  .site-nav .columnist--drawer .info{min-width:0;}
	  .site-nav .columnist--drawer .title{font-weight:800;letter-spacing:.02em;color:var(--accent);}
	  .site-nav .columnist--drawer .desc{font-size:12px;color:rgba(255,255,255,.65);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
}

/* =========================================================
   HOTFIX: Drawer mobile sem quebrar o desktop
   (todas as regras aqui são “mobile-only” ou “desktop-hide”)
   ========================================================= */

/* Nunca deixar o drawer aparecer no desktop */
@media (min-width: 901px){
  .nav-overlay,
  .nav-drawer,
  .nav-drawer-head,
  .nav-drawer-actions,
  .drawer-section--colunistas{ display: none !important; }

  html.nav-open, body.nav-open{ overflow: auto !important; }
}

@media (max-width: 768px){
  /* No mobile: remover o botão "Últimas" (desktop permanece igual) */
  .header-right .btn-latest{ display:none !important; }

  /* Botões do topo (menu e busca) com mesmo tamanho/estilo */
  .site-topbar .menu-toggle,
  .site-topbar .search-toggle{
    width: 44px;
    height: 44px;
    min-width: 44px;
    border-radius: 14px;
    border: 2px solid #ff5a1f;
    background: transparent;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: none;
  }
  .site-topbar .menu-toggle:hover,
  .site-topbar .search-toggle:hover{ background: rgba(255,90,31,.08); }

  /* Ícone do menu */
  .site-topbar .menu-toggle .menu-icon span{ background:#ff5a1f; }

  /* Ícone da busca (SVG) */
  .site-topbar .search-toggle svg{ stroke:#ff5a1f; }

  /* Colunistas no drawer: layout igual ao da sidebar, adaptado pro fundo escuro */
  .nav-drawer .drawer-section--colunistas{ margin-top: 10px; }
  .nav-drawer .drawer-section__title{
    color: rgba(255,255,255,.75);
    letter-spacing: .12em;
    font-weight: 800;
  }

  .nav-drawer .columnists--drawer{
    display: flex;
    flex-direction: column;
    gap: 12px;
  }

  .nav-drawer .columnists--drawer .col-item{
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 14px;
    border-radius: 14px;
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.10);
    text-decoration: none;
  }

  .nav-drawer .columnists--drawer .col-img{
    width: 54px;
    height: 54px;
    border-radius: 14px;
    object-fit: cover;
    flex: 0 0 auto;
    border: 1px solid rgba(255,255,255,.10);
  }

  .nav-drawer .columnists--drawer .col-meta{ display:flex; flex-direction:column; min-width:0; }
  .nav-drawer .columnists--drawer .col-badge{
    color:#ff5a1f;
    font-weight: 900;
    font-size: .75rem;
    letter-spacing: .10em;
    text-transform: uppercase;
  }
  .nav-drawer .columnists--drawer .col-name{
    color: rgba(255,255,255,.95);
    font-weight: 800;
    line-height: 1.15;
    margin-top: 2px;
  }
  .nav-drawer .columnists--drawer .col-desc{
    color: rgba(255,255,255,.65);
    font-size: .85rem;
    line-height: 1.25;
    margin-top: 2px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .nav-drawer .columnists--drawer .col-item:active{ transform: translateY(1px); }
}


/* =========================================================
   HOTFIX: Drawer mobile sem quebrar o desktop (v2612)
   ========================================================= */

/* Nunca deixar o drawer aparecer no desktop */
@media (min-width: 901px){
  .nav-overlay,
  .nav-drawer,
  .nav-drawer-head,
  .nav-drawer-actions,
  .drawer-section--colunistas{ display:none !important; }

  html.nav-open,
  body.nav-open{ overflow:auto !important; }
}

/* Mobile: remover “Últimas” e padronizar botões (menu + busca) */
@media (max-width: 768px){
  .btn-latest{ display:none !important; }

  .menu-toggle,
  .search-toggle{
    width:44px !important;
    height:44px !important;
    border-radius:14px !important;
    border:2px solid #ff6a00 !important;
    background:transparent !important;
    box-shadow:none !important;
  }

  .menu-icon span{
    height:2px !important;
    border-radius:2px !important;
    background:#ff6a00 !important;
  }

  .search-toggle svg{
    width:18px !important;
    height:18px !important;
    color:#ff6a00 !important;
  }
  .search-toggle svg path{
    stroke:#ff6a00 !important;
  }
}

/* Mobile drawer: colunistas com cara de sidebar (no tema escuro) */
@media (max-width: 900px){
  .nav-drawer .drawer-section--colunistas{
    margin-top:18px;
    padding-top:18px;
    border-top:1px solid rgba(255,255,255,.08);
  }

  .nav-drawer .drawer-section__title{
    font-size:12px;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:rgba(255,255,255,.75);
    margin:0 0 12px;
  }

  .nav-drawer .columnists--drawer{
    display:flex;
    flex-direction:column;
    gap:12px;
  }

  .nav-drawer .columnists--drawer .col-item{
    display:flex;
    align-items:center;
    gap:12px;
    padding:12px 14px;
    background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.10);
    border-radius:16px;
    text-decoration:none;
  }

  .nav-drawer .columnists--drawer .col-img{
    width:54px;
    height:54px;
    border-radius:14px;
    object-fit:cover;
    flex:0 0 auto;
    border:1px solid rgba(255,255,255,.12);
  }

  .nav-drawer .columnists--drawer .col-meta{
    display:flex;
    flex-direction:column;
    gap:2px;
    min-width:0;
  }

  .nav-drawer .columnists--drawer .col-badge{
    font-size:11px;
    font-weight:800;
    letter-spacing:.10em;
    text-transform:uppercase;
    color:#ff6a00;
    line-height:1.1;
  }

  .nav-drawer .columnists--drawer .col-name{
    font-size:16px;
    font-weight:800;
    color:#fff;
    line-height:1.1;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  .nav-drawer .columnists--drawer .col-desc{
    font-size:12px;
    color:rgba(255,255,255,.70);
    line-height:1.2;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  .nav-drawer .columnists--drawer .col-item:active{
    transform:scale(.99);
  }
}



/* Mobile drawer - colunistas no mesmo visual da sidebar (adaptado para fundo escuro) */
@media (max-width: 768px) {
  .nav-drawer .colunistas-list--drawer {
    display: grid;
    gap: 12px;
  }

  .nav-drawer .columnist.columnist-v2.columnist--drawer {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.10);
    box-shadow: none;
    text-decoration: none;
  }

  .nav-drawer .columnist--drawer:hover,
  .nav-drawer .columnist--drawer:focus {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.14);
  }

  .nav-drawer .columnist--drawer .columnist-avatar {
    flex: 0 0 56px;
    width: 56px;
    height: 56px;
    border-radius: 14px;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.10);
  }

  .nav-drawer .columnist--drawer .columnist-avatar img {
    width: 56px;
    height: 56px;
    object-fit: cover;
    border-radius: 14px;
    display: block;
  }

  .nav-drawer .columnist--drawer .columnist-meta {
    display: grid;
    gap: 2px;
    min-width: 0;
  }

  .nav-drawer .columnist--drawer .columnist-tag {
    color: var(--accent);
    font-weight: 800;
    letter-spacing: 0.08em;
    font-size: 0.72rem;
  }

  .nav-drawer .columnist--drawer .columnist-name {
    color: #fff;
    font-weight: 800;
    font-size: 1.02rem;
    line-height: 1.15;
  }

  .nav-drawer .columnist--drawer .columnist-bio {
    color: rgba(255, 255, 255, 0.78);
    font-size: 0.9rem;
    line-height: 1.2;
  }
}

/* =========================================================
   HOTFIX v2615 – Isolar MOBILE e corrigir rolagem/menu + legenda da foto
   (NÃO altera o desktop)
   ========================================================= */

/* 1) Legenda/caption nunca pode virar “barra” fixa atravessando o site */
.article-featured__caption,
.article-featured .wp-element-caption,
.article-featured .wp-caption-text,
.article-featured figcaption {
  position: static !important;
  inset: auto !important;
  width: auto !important;
  max-width: 100% !important;
  display: block !important;
  box-sizing: border-box;
  z-index: auto !important;
}



/* 1b) Legendas no corpo do post: habilitadas (comportamento editorial).
   Se vier alguma legenda vazia, escondemos apenas a vazia. */
.entry-content figcaption:empty,
.entry-content .wp-element-caption:empty,
.entry-content .wp-caption-text:empty,
.entry-content .gallery-caption:empty{
  display:none !important;
}

/* Legendas do conteúdo (imagens/figuras): padrão consistente */
.entry-content figcaption,
.entry-content .wp-element-caption,
.entry-content .wp-caption-text,
.entry-content .gallery-caption{
  display:block !important;
  margin-top: 8px;
  font-size: 12.5px;
  line-height: 1.35;
  color: rgba(15,23,42,.68);
  padding-left: 10px;
  border-left: 3px solid rgba(255,90,31,.45);
}

/* Se algum plugin aplicar position absoluta na legenda, garante contexto */
.article-featured {
  position: relative;
}

@media (max-width: 768px) {
  /* 2) Mobile: ao abrir o drawer, trava o fundo mas mantém rolagem no menu */
  html.nav-open,
  body.nav-open {
    overflow: hidden !important;
    height: 100% !important;
    touch-action: none;
  }

  .nav-drawer {
    display: block;
    position: fixed;
    inset: 0;
    z-index: 99999;
    pointer-events: none;
  }
  .nav-drawer.is-open {
    pointer-events: auto;
  }

  .nav-drawer__overlay {
    position: absolute;
    inset: 0;
  }

  /* Painel rola por conta própria (evita “menu abre mas não aparece tudo”) */
  .nav-drawer__panel {
    position: absolute;
    top: 0;
    right: 0;
    height: 100vh;
    max-height: 100vh;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
  }

  /* 3) Mobile: remove o botão “Últimas” (mantém busca + menu) */
  .btn-latest {
    display: none !important;
  }
}

@media (min-width: 769px) {
  /* 4) Desktop: garante que nada do drawer “vaze” para a navegação */
  .nav-drawer {
    display: none !important;
  }
  html.nav-open,
  body.nav-open {
    overflow: auto !important;
    height: auto !important;
    touch-action: auto;
  }
}


/* =========================================================
   Hotfix v2616
   - Desktop: search dropdown (no full-width bar)
   - Desktop: align menu with logo (left)
   - Desktop: fix gallery/figure caption bar bleeding across page
   - Mobile: columnists block styled like sidebar (dark)
   - Desktop: hide mobile-only drawer elements
   ========================================================= */

@media (min-width: 769px){
  /* keep mobile drawer elements from impacting desktop layout */
  .nav-mobile-only{ display:none !important; }

  /* align menu items with logo (no center) */
  #site-nav .nav-row{
    display:flex;
    justify-content:flex-start;
  }
  #site-nav .nav-row ul.menu{
    justify-content:flex-start;
  }

  /* search: turn the bar into a compact dropdown */
  .topbar-inner{ position:relative; }
  .searchbar{
    position:absolute;
    right:16px;
    top:100%;
    margin-top:10px;
    width:420px;
    max-width:calc(100vw - 32px);
    padding:10px;
    background:#fff;
    border:1px solid rgba(0,0,0,.08);
    border-radius:14px;
    box-shadow:0 12px 28px rgba(0,0,0,.12);
    z-index:60;
  }
  .searchbar:not(.is-open){
    display:none;
  }
  .searchbar form{
    display:flex;
    gap:10px;
    align-items:stretch;
  }
  .searchbar input[type="search"]{
    flex:1;
    border-radius:12px;
  }
  .searchbar button[type="submit"]{
    border-radius:12px;
    white-space:nowrap;
  }
}

/* Caption bar bleed fix: ensure captions are constrained to their media box */
.entry-content .wp-block-gallery figure,
.entry-content .gallery .gallery-item,
.entry-content .wp-block-image,
.entry-content figure.wp-caption{
  position:relative;
}
.entry-content .wp-block-gallery figure,
.entry-content .gallery .gallery-item,
.entry-content .wp-block-image{
  overflow:hidden;
}

@media (max-width: 768px){
  /* Columnists in mobile menu: mimic sidebar layout, adapted to dark drawer */
  .drawer-section--colunistas{ margin-top:18px; }
  .drawer-section--colunistas h3{
    font-size:12px;
    letter-spacing:.14em;
    color:rgba(255,255,255,.65);
    margin:0 0 10px;
  }
  .colunistas-list--drawer{
    display:flex;
    flex-direction:column;
    gap:12px;
    padding:0;
  }
  .columnist--drawer{
    display:flex;
    align-items:center;
    gap:12px;
    padding:12px;
    border-radius:16px;
    background:rgba(255,255,255,.03);
    border:1px solid rgba(255,255,255,.08);
    box-shadow:0 10px 24px rgba(0,0,0,.22);
  }
  .columnist--drawer .avatar,
  .columnist--drawer img{
    width:44px !important;
    height:44px !important;
    border-radius:999px !important;
    object-fit:cover;
    flex:0 0 44px;
  }
  .columnist--drawer .meta{ min-width:0; }
  .columnist--drawer .section{
    display:block;
    font-size:11px;
    font-weight:800;
    letter-spacing:.16em;
    text-transform:uppercase;
    color:var(--accent);
    margin-bottom:2px;
  }
  .columnist--drawer strong{
    display:block;
    font-size:15px;
    color:#fff;
    line-height:1.1;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .columnist--drawer .desc{
    display:block;
    font-size:12.5px;
    color:rgba(255,255,255,.68);
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    margin-top:2px;
  }
}

/* =========================================================
   Hotfix v2616
   ========================================================= */

/* 1) Desktop: never render mobile-only drawer DOM */
@media (min-width: 769px){
  .nav-mobile-only{ display:none !important; }
}

/* 2) Desktop: search should open as a small dropdown, not a full-width bar */
@media (min-width: 769px){
  .site-topbar .topbar-inner{ position: relative; }

  .searchbar{
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    width: 380px;
    max-width: calc(100vw - 32px);
    padding: 12px;
    border-radius: 14px;
    background: #fff;
    border: 1px solid rgba(0,0,0,.08);
    box-shadow: 0 18px 50px rgba(0,0,0,.14);
    z-index: 2000;
    display: none;
  }
  .searchbar.is-open{ display: block; }

  .searchbar form{ display:flex; gap:10px; }
  .searchbar input[type="search"]{ flex:1; min-width: 0; }
  .searchbar button[type="submit"]{ white-space: nowrap; }
}

/* 3) Desktop: align categories with logo (left) */
@media (min-width: 769px){
  #site-nav .nav-row{ display:flex; justify-content:flex-start; }
  #site-nav .nav-row ul{ justify-content:flex-start; }
  #site-nav .nav-row .menu{ justify-content:flex-start; }
}

/* 4) Desktop: fix caption/legend bar bleeding across the whole page */
.entry-content .wp-block-gallery figure,
.entry-content .gallery .gallery-item,
.entry-content figure.wp-caption,
.entry-content .wp-block-image figure{
  position: relative;
}

.entry-content .wp-block-gallery figcaption,
.entry-content .gallery-caption,
.entry-content .wp-caption-text{
  left: 0;
  right: 0;
  max-width: 100%;
}

/* Safety: if any caption was accidentally fixed to the viewport */
.entry-content figcaption[style*="position: fixed"],
.entry-content .wp-caption-text[style*="position: fixed"]{
  position: absolute !important;
}

/* 5) Mobile: columnists in drawer should match the sidebar layout, but adapted to dark */
@media (max-width: 768px){
  .drawer-section--colunistas{ margin-top: 22px; }

  .colunistas-list--drawer{
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    margin-top: 10px;
  }

  .columnist--drawer{
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 12px;
    border-radius: 16px;
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.08);
    box-shadow: 0 14px 36px rgba(0,0,0,.18);
  }

  .columnist--drawer .avatar,
  .columnist--drawer img{
    width: 56px;
    height: 56px;
    border-radius: 999px;
    object-fit: cover;
    flex: 0 0 56px;
    border: 2px solid rgba(255,255,255,.10);
  }

  .columnist--drawer .meta{ min-width: 0; }

  .columnist--drawer .section{
    display: inline-block;
    margin: 0 0 4px;
    font-size: 12px;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--accent);
  }

  .columnist--drawer .name{
    margin: 0;
    font-size: 16px;
    font-weight: 800;
    color: rgba(255,255,255,.94);
    line-height: 1.15;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .columnist--drawer .desc{
    margin: 3px 0 0;
    font-size: 13px;
    color: rgba(255,255,255,.64);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}

/* =========================================================
   Hotfix v2616
   ========================================================= */

/* 1) Desktop: never render mobile-only drawer DOM */
@media (min-width: 769px){
  .nav-mobile-only{ display:none !important; }
}

/* 2) Desktop: search should open as a small dropdown, not a full-width bar */
@media (min-width: 769px){
  .site-topbar .topbar-inner{ position: relative; }

  .searchbar{
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    width: 380px;
    max-width: calc(100vw - 28px);
    padding: 10px;
    border: 1px solid rgba(0,0,0,.08);
    border-radius: 14px;
    box-shadow: 0 14px 40px rgba(0,0,0,.14);
    background: #fff;
    display: none;
    z-index: 999;
  }
  .searchbar.is-open{ display: block; }

  .searchbar form{ display:flex; gap:10px; }
  .searchbar input[type="search"]{ width:100%; }
  .searchbar button{ white-space: nowrap; }
}

/* 3) Desktop: align categories with logo (left aligned) */
@media (min-width: 769px){
  #site-nav .nav-row{ justify-content: flex-start !important; }
  #site-nav .nav-row ul{ justify-content: flex-start !important; }
}

/* 4) Desktop: fix caption bar bleeding across the whole page */
.entry-content .wp-block-gallery figure,
.entry-content .gallery .gallery-item,
.entry-content figure.wp-caption,
.entry-content .wp-block-image figure{
  position: relative;
  overflow: hidden;
}

/* Keep the caption overlay, but constrain it to the figure bounds */
.entry-content .wp-block-gallery figcaption,
.entry-content .wp-caption-text,
.entry-content figcaption.wp-caption-text{
  left: 0;
  right: 0;
  width: auto;
}

/* 5) Mobile: columnists inside drawer should look like sidebar, but dark */
@media (max-width: 768px){
  .drawer-section--colunistas{ margin-top: 22px; }

  .colunistas-list--drawer{
    display: grid;
    gap: 12px;
    margin-top: 12px;
  }

  .columnist--drawer{
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px;
    border-radius: 16px;
    border: 1px solid rgba(255,255,255,.10);
    background: rgba(255,255,255,.04);
    box-shadow: 0 10px 24px rgba(0,0,0,.25);
  }

  .columnist--drawer .avatar{
    width: 54px;
    height: 54px;
    border-radius: 50%;
    object-fit: cover;
    flex: 0 0 54px;
    border: 2px solid rgba(255,255,255,.12);
  }

  .columnist--drawer .columnist-meta{ min-width: 0; }

  .columnist--drawer .columnist-section{
    display: block;
    font-size: 12px;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--accent);
    font-weight: 700;
    margin-bottom: 2px;
  }

  .columnist--drawer .columnist-name{
    display: block;
    font-size: 16px;
    font-weight: 800;
    color: #fff;
    line-height: 1.2;
  }

  .columnist--drawer .columnist-desc{
    display: block;
    font-size: 13px;
    color: rgba(255,255,255,.68);
    line-height: 1.2;
    margin-top: 2px;
  }
}

/* =========================================================
   Hotfix v2616
   ========================================================= */

/* 1) Desktop: never render mobile-only drawer DOM */
@media (min-width: 769px){
  .nav-mobile-only{ display:none !important; }
}

/* 2) Desktop: search should open as a small dropdown, not a full-width bar */
@media (min-width: 769px){
  .site-topbar .topbar-inner{ position: relative; }
  .searchbar{
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    width: 380px;
    max-width: calc(100vw - 32px);
    padding: 10px;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 12px 35px rgba(0,0,0,.12);
    border: 1px solid rgba(0,0,0,.08);
    z-index: 999;
  }
  .searchbar:not(.is-open){
    display: none;
  }
  .searchbar .search-form{ margin: 0; }
  .searchbar .search-form .search-field{ width: 100%; }
}

/* 3) Desktop: menu alignment with logo (no centered categories) */
@media (min-width: 769px){
  #site-nav .nav-row{ justify-content: flex-start; }
  #site-nav .nav-row .menu{ justify-content: flex-start; }
}

/* 4) Desktop: fix caption overlay bleeding across layout */
.entry-content .wp-block-gallery figure,
.entry-content .gallery .gallery-item,
.entry-content .wp-block-image,
.entry-content figure.wp-caption,
.entry-content figure.wp-block-image{
  position: relative;
}

/* Guard rails: captions stay within the media box */
.entry-content .wp-block-gallery figcaption,
.entry-content .wp-block-image figcaption,
.entry-content .wp-caption-text,
.entry-content .wp-element-caption{
  max-width: 100%;
  left: 0;
  right: 0;
}

/* 5) Mobile: columnists list inside drawer styled like sidebar, but dark */
@media (max-width: 768px){
  .colunistas-list--drawer{
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 0 2px 8px;
  }
  .columnist--drawer{
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 12px;
    border-radius: 16px;
    border: 1px solid rgba(255,255,255,.10);
    background: rgba(255,255,255,.03);
    text-decoration: none;
    -webkit-tap-highlight-color: transparent;
  }
  .columnist--drawer:hover{ background: rgba(255,255,255,.05); }

  .columnist--drawer .avatar,
  .columnist--drawer img{
    width: 52px !important;
    height: 52px !important;
    border-radius: 50% !important;
    object-fit: cover;
    flex: 0 0 52px;
  }

  .columnist--drawer .meta{ display: flex; flex-direction: column; gap: 3px; }
  .columnist--drawer .section{
    font-size: 12px;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--accent, #ff5a1f);
  }
  .columnist--drawer .name{
    color: #fff;
    font-weight: 800;
    font-size: 15px;
    line-height: 1.1;
  }
  .columnist--drawer .desc{
    color: rgba(255,255,255,.70);
    font-size: 12.5px;
    line-height: 1.25;
  }

  /* spacing header like sidebar */
  .drawer-section--colunistas h4{
    margin-top: 18px;
    margin-bottom: 12px;
  }
}


/* =========================================================
   Hotfix v2616
   ========================================================= */

/* 1) Desktop: never render mobile-only drawer DOM */
@media (min-width: 769px){
  .nav-mobile-only{ display: none !important; }
}

/* 2) Desktop: search should open as a small dropdown, not a full-width bar */
@media (min-width: 769px){
  .site-topbar .topbar-inner{ position: relative; }

  .searchbar{
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    width: 380px;
    max-width: calc(100vw - 32px);
    padding: 12px;
    border-radius: 14px;
    background: #ffffff;
    box-shadow: 0 18px 50px rgba(0,0,0,.18);
    z-index: 200;
    display: none;
  }

  .searchbar.is-open{ display: block; }

  .searchbar .search-form{
    display: flex;
    gap: 10px;
    align-items: center;
  }

  .searchbar input[type="search"]{ width: 100%; }
  .searchbar button[type="submit"]{ white-space: nowrap; }
}

/* 3) Desktop: align menu items with the logo (left, not centered) */
@media (min-width: 769px){
  #site-nav .nav-row{ justify-content: flex-start !important; }
  #site-nav .nav-row .menu{ justify-content: flex-start !important; }
}

/* 4) Desktop: fix caption/tarja bleeding across the page */
.entry-content .wp-block-gallery figure,
.entry-content .gallery .gallery-item,
.entry-content .wp-block-image figure,
.entry-content figure.wp-caption,
.entry-content .wp-caption{
  position: relative;
  overflow: hidden;
}

/* If any earlier rule accidentally makes captions fixed/absolute relative to page, force it back */
.entry-content .wp-block-gallery figcaption,
.entry-content .wp-caption-text,
.entry-content figcaption{
  left: 0;
  right: 0;
  max-width: 100%;
}

/* 5) Mobile: columnists block in drawer should look like the desktop sidebar cards, but dark */
@media (max-width: 768px){
  .drawer-section--colunistas{
    padding: 20px 16px 24px;
    border-top: 1px solid rgba(255,255,255,.08);
  }

  .drawer-section--colunistas h3{
    margin: 0 0 12px;
    letter-spacing: .08em;
    font-size: 12px;
    text-transform: uppercase;
    color: rgba(255,255,255,.7);
  }

  .colunistas-list--drawer{
    display: grid;
    gap: 12px;
  }

  .columnist--drawer{
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px;
    border-radius: 16px;
    border: 1px solid rgba(255,255,255,.10);
    background: rgba(255,255,255,.04);
  }

  .columnist--drawer .avatar,
  .columnist--drawer img{
    width: 46px;
    height: 46px;
    border-radius: 50%;
    object-fit: cover;
    flex: 0 0 46px;
  }

  .columnist--drawer .info{ min-width: 0; }

  .columnist--drawer .section{
    display: block;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--accent, #ff5a1f);
    margin-bottom: 2px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .columnist--drawer .name{
    display: block;
    font-size: 15px;
    font-weight: 800;
    color: #ffffff;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .columnist--drawer .desc{
    display: block;
    font-size: 13px;
    color: rgba(255,255,255,.70);
    line-height: 1.2;
    margin-top: 2px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}

/* =========================================================
   Hotfix v2616
   ========================================================= */

@media (min-width: 769px){
  /* Hide the mobile drawer on desktop */
  .nav-mobile-only{ display: none !important; }

  /* Desktop: the search dropdown is positioned by JS (fixed) so it never covers header buttons */
  .site-topbar .searchbar{ width: 420px; }

  /* Desktop menu aligned with logo (left) */
  #site-nav .nav-row{ justify-content: flex-start !important; }
  #site-nav .nav-row .menu{ justify-content: flex-start !important; }
}

/* =========================================================
   Search dropdown UX (desktop + mobile)
   - doesn't block header buttons
   - has overlay + close button
   ========================================================= */
.site-topbar .search-overlay{
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.20);
  backdrop-filter: blur(1px);
  z-index: 998;
  display: none;
}
.site-topbar .search-overlay.is-open{ display: block; }

.site-topbar .searchbar{
  position: fixed; /* JS sets top/left/right for perfect anchoring */
  z-index: 999;
  padding: 44px 12px 12px;
  border-radius: 14px;
  box-shadow: 0 16px 40px rgba(0,0,0,.18);
  background: #fff;
  display: none;
}
.site-topbar .searchbar.active{ display: block; }

.site-topbar .searchbar .search-form{
  display: flex;
  gap: 10px;
  align-items: center;
  margin: 0;
}
.site-topbar .searchbar input[type="search"]{
  width: 100%;
  height: 44px;
  border-radius: 12px;
}
.site-topbar .searchbar .search-submit{
  height: 44px;
  border-radius: 12px;
  white-space: nowrap;
}

.site-topbar .searchbar-close{
  position: absolute;
  top: 8px;
  left: 8px;
  width: 32px;
  height: 32px;
  border-radius: 999px;
  border: 1px solid rgba(17,17,17,.14);
  background: #fff;
  color: #111;
  font-size: 16px;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.site-topbar .searchbar-close:hover{ background: rgba(17,17,17,.04); }

@media (max-width: 768px){
  /* Mobile: allow full width panel */
  .site-topbar .searchbar{ width: auto; max-width: calc(100vw - 32px); }
  body.search-is-open{ overflow: hidden; }
}

/* 3) Desktop: prevent caption overlay from bleeding outside its figure */
.entry-content .wp-block-gallery figure,
.entry-content .gallery .gallery-item,
.entry-content .wp-block-image figure,
.entry-content figure.wp-caption{
  position: relative;
  overflow: hidden;
}

/* 4) Mobile: columnist cards in the drawer like sidebar, but dark */
@media (max-width: 768px){
  .drawer-section--colunistas{ padding: 20px 0 0; }
  .drawer-section--colunistas .drawer-title{
    color: rgba(255,255,255,.82);
    font-weight: 800;
    letter-spacing: .08em;
    margin: 0 0 12px;
  }
  .colunistas-list--drawer{
    display: grid;
    gap: 12px;
    margin: 0;
    padding: 0;
  }
  .columnist--drawer{
    display: flex;
    gap: 12px;
    align-items: center;
    padding: 12px;
    border-radius: 16px;
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.10);
  }
  .columnist--drawer:hover{ background: rgba(255,255,255,.06); }
  .columnist--drawer .avatar,
  .columnist--drawer img.avatar{
    width: 52px !important;
    height: 52px !important;
    border-radius: 50% !important;
    object-fit: cover;
    flex: 0 0 52px;
  }
  .columnist--drawer .columnist-meta{ min-width: 0; }
  .columnist--drawer .columnist-badge{
    font-size: 12px;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--accent);
    line-height: 1;
  }
  .columnist--drawer .columnist-name{
    margin-top: 6px;
    font-size: 16px;
    font-weight: 800;
    color: #fff;
    line-height: 1.1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .columnist--drawer .columnist-desc{
    margin-top: 4px;
    font-size: 13px;
    color: rgba(255,255,255,.68);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}

/* ===============================
   SEARCH MOBILE = DESKTOP STYLE
================================ */
@media (max-width: 768px) {

  .search-toggle {
    width: 44px;
    height: 44px;
    background: #ff6a00;
    border-radius: 12px;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 6px 14px rgba(0,0,0,.18);
    transition: all .2s ease;
  }

  .search-toggle svg {
    width: 22px;
    height: 22px;
    stroke: #fff;
  }

  .search-toggle:hover,
  .search-toggle:focus {
    background: #e85f00;
    transform: translateY(-1px);
  }

  .header-right {
    gap: 10px;
  }

}

/* ===============================
   FORCE SEARCH = MENU STYLE (MOBILE)
================================ */
@media (max-width: 768px) {

  button.search-toggle {
    background: #ff6a00 !important;
    border: none !important;
    border-radius: 10px !important;
    width: 44px;
    height: 44px;
    box-shadow: 0 6px 14px rgba(0,0,0,.18);
  }

  button.search-toggle span,
  button.search-toggle svg {
    color: #fff !important;
    fill: #fff !important;
    stroke: #fff !important;
  }

}

/* ===============================
   SEARCH ICON UPGRADE
================================ */
.search-toggle svg {
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* ===============================
   FIX: avoid dimming page on search open
================================ */
body:not(.nav-open) .nav-overlay,
html:not(.nav-open) .nav-overlay{
  opacity: 0 !important;
  pointer-events: none !important;
}

/* ===============================
   SEARCH SVG: prevent filled lens
================================ */
.search-toggle svg,
.search-toggle svg *{
  fill: none !important;
}

/* ===============================
   MOBILE SEARCH WIDTH TWEAK
================================ */
@media (max-width: 768px) {
  .search-form,
  .searchform,
  .header-search {
    padding: 0 12px;
  }

  .search-form input[type="search"],
  .searchform input[type="search"] {
    max-width: calc(100% - 90px);
  }
}

/* ===============================
   MOBILE SEARCH: narrower input + keep icon white when active
================================ */
@media (max-width: 768px) {

  /* a bit more breathing room for the input (space for button + padding) */
  .search-form input[type="search"],
  .searchform input[type="search"]{
    max-width: calc(100% - 120px) !important;
  }

  /* ensure the search button icon never turns orange on click/focus */
  button.search-toggle,
  button.search-toggle:active,
  button.search-toggle:focus,
  button.search-toggle[aria-expanded="true"],
  body.search-open button.search-toggle,
  body.menu-open button.search-toggle{
    color: #fff !important;
  }

  button.search-toggle svg,
  button.search-toggle svg *{
    stroke: #fff !important;
    fill: none !important;
  }
}

/* ===============================
   MOBILE SEARCH: center the row (input + button)
================================ */
@media (max-width: 768px) {

  /* make the search row a centered flex container */
  .search-form,
  form.search-form,
  .searchform,
  form.searchform,
  .header-search,
  .header-search form{
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    box-sizing: border-box;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* keep input centered and balanced */
  .search-form input[type="search"],
  .searchform input[type="search"]{
    flex: 1 1 auto;
    min-width: 0; /* prevents overflow in flex */
    max-width: 320px !important; /* ensures it doesn't look stretched */
    margin: 0 !important;
  }

  /* keep button consistent and not pushing layout */
  .search-form button,
  .searchform button,
  .search-form input[type="submit"],
  .searchform input[type="submit"]{
    flex: 0 0 auto;
    margin: 0 !important;
    white-space: nowrap;
  }
}

/* ===============================
   SEARCH TOGGLE ICON COLOR STATES
   - default: accent (orange) on white button
   - active/open: white on orange button
================================ */
:root{
  --fg-accent: #ff6a00;
  --fg-accent-dark: #e85f00;
}

button.search-toggle{
  color: var(--fg-accent) !important;
}

button.search-toggle svg,
button.search-toggle svg *{
  stroke: currentColor !important;
  fill: none !important;
}

/* when search is open/pressed, make icon white (works with your JS/body classes) */
button.search-toggle:active,
button.search-toggle:focus,
button.search-toggle[aria-expanded="true"],
body.search-open button.search-toggle{
  color: #fff !important;
}

/* if you keep the search button as orange background in mobile, keep hover darker */
@media (max-width: 768px){
  button.search-toggle:hover,
  body.search-open button.search-toggle{
    background: var(--fg-accent-dark) !important;
  }
}

/* ===============================
   SEARCH FIX: icon color on active/open + more breathing room
   Problem seen in computed:
   - button.search-toggle uses white bg + orange color
   - on click/open it becomes orange and icon inherits orange => "sumiu"
================================ */
@media (max-width: 768px){

  /* Search row: center and give comfortable gutters */
  .header-search,
  .header-search form,
  form.search-form,
  .search-form,
  form.searchform,
  .searchform{
    width: 100%;
    box-sizing: border-box;
    padding-left: 14px !important;
    padding-right: 14px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* Make input less "apertado": constrain whole row and let input grow */
  .header-search form,
  .search-form,
  .searchform{
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 10px;
    max-width: 520px; /* keeps it from touching edges on wide mobiles */
  }

  .header-search input[type="search"],
  .search-form input[type="search"],
  .searchform input[type="search"]{
    flex: 1 1 auto;
    min-width: 0;
    width: 100%;
    /* leave more room for the submit button */
    max-width: none !important;
    padding-left: 14px;
    padding-right: 14px;
  }

  /* Submit button: keep consistent size */
  .header-search button[type="submit"],
  .search-form button[type="submit"],
  .searchform button[type="submit"],
  .header-search input[type="submit"],
  .search-form input[type="submit"],
  .searchform input[type="submit"]{
    flex: 0 0 auto;
    min-width: 92px;
  }

  /* Icon color logic:
     - default (button is white): icon orange
     - open/active/focus/expanded: icon white (so it doesn't blend with orange bg)
     Use very specific selectors to beat theme defaults.
  */
  .header-right button.search-toggle,
  header .header-right button.search-toggle,
  .site-header .header-right button.search-toggle{
    color: var(--accent, #ff5a1f) !important;
  }

  .header-right button.search-toggle svg,
  .header-right button.search-toggle svg *{
    stroke: currentColor !important;
    fill: none !important;
  }

  /* When pressed/opened: force icon white */
  .header-right button.search-toggle:active,
  .header-right button.search-toggle:focus,
  .header-right button.search-toggle:focus-visible,
  .header-right button.search-toggle[aria-expanded="true"],
  body.search-open .header-right button.search-toggle,
  body.is-search-open .header-right button.search-toggle{
    color: #fff !important;
  }

  .header-right button.search-toggle:active svg,
  .header-right button.search-toggle:focus svg,
  .header-right button.search-toggle:focus-visible svg,
  .header-right button.search-toggle[aria-expanded="true"] svg,
  body.search-open .header-right button.search-toggle svg,
  body.is-search-open .header-right button.search-toggle svg{
    stroke: #fff !important;
  }
}


/* ===============================
   FINAL: Search open state + mobile search layout
================================ */

/* Search toggle visual states (desktop + mobile) */
.site-header .header-right button.search-toggle{
  background: rgba(255,255,255,.92) !important;
  border: 2px solid rgba(255,94,0,.55) !important;
  border-radius: 12px !important;
  color: var(--accent, #ff5a1f) !important; /* icon orange by default */
}
.site-header .header-right button.search-toggle svg,
.site-header .header-right button.search-toggle svg *{
  stroke: currentColor !important;
  fill: none !important;
}

/* Real "open" state driven by JS (body.search-is-open) */
body.search-is-open .site-header .header-right button.search-toggle{
  background: var(--accent, #ff5a1f) !important;
  border-color: var(--accent, #ff5a1f) !important;
  color: #fff !important; /* icon white when open */
}

/* Mobile search bar: centered, less tight, consistent spacing */
@media (max-width: 768px){
  .header-search,
  .header-search form,
  form.search-form,
  .search-form,
  form.searchform,
  .searchform{
    box-sizing: border-box;
  }

  .header-search{
    width: 100%;
    padding: 0 14px;
  }

  .header-search form,
  .search-form,
  .searchform{
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 10px;
    max-width: 520px;
    margin: 0 auto;
  }

  .header-search input[type="search"],
  .search-form input[type="search"],
  .searchform input[type="search"]{
    flex: 1 1 auto;
    min-width: 0;
    width: 100%;
    padding-left: 14px;
    padding-right: 14px;
  }

  .header-search button[type="submit"],
  .search-form button[type="submit"],
  .searchform button[type="submit"],
  .header-search input[type="submit"],
  .search-form input[type="submit"],
  .searchform input[type="submit"]{
    flex: 0 0 auto;
    min-width: 92px;
    white-space: nowrap;
  }
}


/* ===============================
   HOTFIX: prevent icon turning orange on click/open (high specificity)
================================ */

/* Default state (button white): icon accent */
.site-header .header-right button.search-toggle{
  color: var(--accent, #ff5a1f) !important;
}
.site-header .header-right button.search-toggle svg,
.site-header .header-right button.search-toggle svg *{
  stroke: currentColor !important;
  fill: none !important;
}

/* Open/active/focus states: force icon white no matter what rule wins */
html.search-is-open .site-header .header-right button.search-toggle,
body.search-is-open .site-header .header-right button.search-toggle,
.site-header .header-right button.search-toggle:active,
.site-header .header-right button.search-toggle:focus,
.site-header .header-right button.search-toggle:focus-visible,
.site-header .header-right button.search-toggle[aria-expanded="true"]{
  color: #fff !important;
}

html.search-is-open .site-header .header-right button.search-toggle svg,
html.search-is-open .site-header .header-right button.search-toggle svg *,
body.search-is-open .site-header .header-right button.search-toggle svg,
body.search-is-open .site-header .header-right button.search-toggle svg *,
.site-header .header-right button.search-toggle:active svg,
.site-header .header-right button.search-toggle:active svg *,
.site-header .header-right button.search-toggle:focus svg,
.site-header .header-right button.search-toggle:focus svg *,
.site-header .header-right button.search-toggle:focus-visible svg,
.site-header .header-right button.search-toggle:focus-visible svg *,
.site-header .header-right button.search-toggle[aria-expanded="true"] svg,
.site-header .header-right button.search-toggle[aria-expanded="true"] svg *{
  stroke: #fff !important;
  fill: none !important;
}


/* ===============================
   FINAL FIX: decouple search icon stroke from currentColor
   The theme changes button `color` on active/open which made the SVG turn orange.
   We set a dedicated CSS variable and drive the SVG stroke from it.
================================ */

.site-header .header-right button.search-toggle{
  --search-icon-color: var(--accent, #ff5a1f);
}

/* When search is open: icon must be white regardless of button text color rules */
html.search-is-open .site-header .header-right button.search-toggle,
body.search-is-open .site-header .header-right button.search-toggle,
.site-header .header-right button.search-toggle[aria-expanded="true"]{
  --search-icon-color: #fff;
}

/* Force stroke to the dedicated variable (beats prior currentColor rules) */
html body .site-header .header-right button.search-toggle svg.icon-search,
html body .site-header .header-right button.search-toggle svg.icon-search *{
  stroke: var(--search-icon-color) !important;
  fill: none !important;
  stroke-linecap: round;
  stroke-linejoin: round;
}


/* ===============================
   DEFINITIVE FIX: Search icon as mask (no SVG inheritance on touch)
================================ */

.site-header .header-right button.search-toggle {
  position: relative;
  --search-icon-color: var(--accent, #ff5a1f);
}

.site-header .header-right button.search-toggle .search-icon {
  width: 22px;
  height: 22px;
  display: block;
}

.site-header .header-right button.search-toggle .search-icon::before {
  content: "";
  display: block;
  width: 22px;
  height: 22px;
  background-color: var(--search-icon-color);
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns="http://www.w3.org/2000/svg"%20viewBox="0%200%2024%2024"%3E%20%3Cg%20stroke="black"%20stroke-width="2.4"%20stroke-linecap="round"%20stroke-linejoin="round"%20fill="none"%3E%20%3Ccircle%20cx="10.8"%20cy="10.8"%20r="6.2"/%3E%20%3Cpath%20d="M15.9%2015.9L20.4%2020.4"/%3E%20%3C/g%3E%20%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg%20xmlns="http://www.w3.org/2000/svg"%20viewBox="0%200%2024%2024"%3E%20%3Cg%20stroke="black"%20stroke-width="2.4"%20stroke-linecap="round"%20stroke-linejoin="round"%20fill="none"%3E%20%3Ccircle%20cx="10.8"%20cy="10.8"%20r="6.2"/%3E%20%3Cpath%20d="M15.9%2015.9L20.4%2020.4"/%3E%20%3C/g%3E%20%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: 22px 22px;
  mask-size: 22px 22px;
}

/* Open/active/focus: icon white regardless of theme `color` changes */
html.search-is-open .site-header .header-right button.search-toggle,
body.search-is-open .site-header .header-right button.search-toggle,
.site-header .header-right button.search-toggle:active,
.site-header .header-right button.search-toggle:focus,
.site-header .header-right button.search-toggle:focus-visible,
.site-header .header-right button.search-toggle[aria-expanded="true"]{
  --search-icon-color: #fff;
}


/* ===============================
   MASK ICON HOTFIX: use base64 data-uri (more compatible than url-encoded svg)
   Fixes: icon not showing on some browsers due to URL encoding parsing.
================================ */
.site-header .header-right button.search-toggle .search-icon{
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
}
.site-header .header-right button.search-toggle .search-icon::before{
  content: "" !important;
  display: block !important;
  width: 22px;
  height: 22px;
  background-color: var(--search-icon-color, var(--accent, #ff5a1f)) !important;
  -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+CjxnIHN0cm9rZT0iYmxhY2siIHN0cm9rZS13aWR0aD0iMi40IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGZpbGw9Im5vbmUiPgo8Y2lyY2xlIGN4PSIxMC44IiBjeT0iMTAuOCIgcj0iNi4yIi8+CjxwYXRoIGQ9Ik0xNS45IDE1LjlMMjAuNCAyMC40Ii8+CjwvZz4KPC9zdmc+") !important;
  mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+CjxnIHN0cm9rZT0iYmxhY2siIHN0cm9rZS13aWR0aD0iMi40IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGZpbGw9Im5vbmUiPgo8Y2lyY2xlIGN4PSIxMC44IiBjeT0iMTAuOCIgcj0iNi4yIi8+CjxwYXRoIGQ9Ik0xNS45IDE1LjlMMjAuNCAyMC40Ii8+CjwvZz4KPC9zdmc+") !important;
  -webkit-mask-repeat: no-repeat !important;
  mask-repeat: no-repeat !important;
  -webkit-mask-position: center !important;
  mask-position: center !important;
  -webkit-mask-size: 22px 22px !important;
  mask-size: 22px 22px !important;
}


/* ===============================
   FINAL OVERRIDE: search icon color NEVER inherits button `color`
   Theme forces `stroke: currentColor !important` on click. We beat it with higher specificity.
================================ */

/* default icon color (normal state) */
html body .site-header .header-right button.search-toggle{
  --search-icon-color: var(--accent, #ff5a1f);
}

/* open/active/focus states: icon white (so it doesn't blend with orange bg) */
html body .site-header .header-right button.search-toggle:active,
html body .site-header .header-right button.search-toggle:focus,
html body .site-header .header-right button.search-toggle:focus-visible,
html body .site-header .header-right button.search-toggle[aria-expanded="true"],
html.search-is-open body .site-header .header-right button.search-toggle,
body.search-is-open .site-header .header-right button.search-toggle{
  --search-icon-color: #fff;
}

/* force stroke directly on shapes; beat any `currentColor !important` from the theme */
html body .site-header .header-right button.search-toggle span.search-icon svg.icon-search,
html body .site-header .header-right button.search-toggle span.search-icon svg.icon-search *{
  stroke: var(--search-icon-color) !important;
  fill: none !important;
  stroke-width: 2.4 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

/* if theme hides SVG somehow, ensure visibility */
html body .site-header .header-right button.search-toggle span.search-icon svg.icon-search{
  display: block !important;
  visibility: visible !important;
}


/* ===============================
   FINAL UX: keep search button white (no orange fill on open/active) + remove jump
   Goal: editorial look like desktop. Use orange only in icon/border.
================================ */
.site-header .header-right button.search-toggle{
  transform: none !important;
}

/* force white background even when theme tries to paint it orange */
html body .site-header .header-right button.search-toggle:active,
html body .site-header .header-right button.search-toggle:focus,
html body .site-header .header-right button.search-toggle:focus-visible,
html body .site-header .header-right button.search-toggle[aria-expanded="true"],
html.search-is-open body .site-header .header-right button.search-toggle,
body.search-is-open .site-header .header-right button.search-toggle,
body.search-open .site-header .header-right button.search-toggle{
  background-color: rgba(255, 255, 255, 0.92) !important;
  border-color: rgba(255, 94, 0, 0.55) !important;
  color: var(--accent, #ff5a1f) !important;
  transform: none !important;
}

/* icon stays orange (since background remains white) */
html body .site-header .header-right button.search-toggle svg.icon-search,
html body .site-header .header-right button.search-toggle svg.icon-search *{
  stroke: var(--accent, #ff5a1f) !important;
  fill: none !important;
}


/* ===============================
   FINAL (Mobile): Keep search button white ALWAYS (no orange fill)
   Reason: theme paints it orange on active/open states. We override the exact selectors.
================================ */
@media (max-width: 768px){
  .header-right button.search-toggle,
  .header-right button.search-toggle:active,
  .header-right button.search-toggle:focus,
  .header-right button.search-toggle:focus-visible,
  .header-right button.search-toggle[aria-expanded="true"],
  body.search-open .header-right button.search-toggle,
  body.search-is-open .header-right button.search-toggle,
  html.search-is-open body .header-right button.search-toggle{
    background-color: rgba(255,255,255,0.92) !important;
    border-color: rgba(255, 94, 0, 0.55) !important;
    color: var(--accent, #ff5a1f) !important;
    transform: none !important;
  }

  /* Make sure icon is visible (always orange) */
  .header-right button.search-toggle svg.icon-search,
  .header-right button.search-toggle svg.icon-search *{
    stroke: #ff5a1f !important;
    fill: none !important;
  }
}



/* ===============================
   DESKTOP INDEPENDENT OVERRIDES (DO NOT TOUCH MOBILE)
   Goal: keep search toggle editorial on desktop AND ensure searchbar can open using theme's existing JS.
   NOTE: All rules are inside (min-width: 769px).
================================ */
@media (min-width: 769px){
  /* 1) Prevent orange-fill hover/active/open on desktop (icon stays visible) */
  header.site-topbar button.search-toggle:hover,
  header.site-topbar button.search-toggle:active,
  header.site-topbar button.search-toggle:focus,
  header.site-topbar button.search-toggle:focus-visible,
  header.site-topbar button.search-toggle[aria-expanded="true"],
  body.search-open header.site-topbar button.search-toggle,
  body.search-is-open header.site-topbar button.search-toggle{
    background-color: rgba(255,255,255,0.92) !important;
    border-color: rgba(255, 94, 0, 0.55) !important;
    color: var(--accent, #ff5a1f) !important;
    transform: none !important;
  }

  /* 2) Ensure the SVG icon is always orange on desktop */
  header.site-topbar button.search-toggle svg.icon-search,
  header.site-topbar button.search-toggle svg.icon-search *{
    stroke: var(--accent, #ff5a1f) !important;
    fill: none !important;
  }

  /* 3) Searchbar visibility: if theme toggles .active (mobile), make it work on desktop too */
  .searchbar.active,
  [data-searchbar].active{
    display: block !important;
  }
}



/* Author page: clean title spacing (avoid inline styles / encoding issues) */
.author-title{
  margin:8px 0 6px;
  font-size:30px;
  line-height:1.12;
  letter-spacing:-.03em;
  font-weight:800;
}
.author-bio{
  margin:0;
  color:var(--muted);
  font-size:14px;
  line-height:1.6;
}
@media (max-width: 520px){
  .author-title{ font-size:24px; }
}


/* =========================================================
   40GRAUS – "água pro vinho" (v2.5.9.59)
   Ajustes visuais PROFISSIONAIS (baixo risco, mobile-first):
   - Tipografia mais editorial (menos "peso" exagerado)
   - Hierarquia e espaçamento mais consistentes
   - Cards com interação sutil (hover/focus)
   - Home mobile menos "parede de texto" (editorias mais enxutas)
   - Página de colunista: Coluna -> Título -> Nome (sem repetição)
   ========================================================= */

/* Tipografia: menos "marreta", mais editorial */
.kicker{
  font-weight: 800;
  letter-spacing: .10em;
}

.section-title{
  font-weight: 700;
  letter-spacing: .10em;
  line-height:1.1;
}

/* Títulos gerais: um pouco menos pesado para leitura */
.hero h2{ font-weight: 700; }
.post-row h3 a{ font-weight: 600; letter-spacing:-.012em; }
.mini h3 a{ font-weight: 600; }

/* Cards: hover/focus mais elegante e acessível */
.card, .mini, .post-row, .block{
  transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}

.card:hover, .mini:hover, .post-row:hover, .block:hover{
  transform: translateY(-1px);
  box-shadow: 0 10px 26px rgba(17,17,17,.08);
  border-color: rgba(17,17,17,.12);
}

.card:focus-within, .mini:focus-within, .post-row:focus-within, .block:focus-within{
  outline: none;
  box-shadow: 0 0 0 4px rgba(255,90,31,.20), 0 10px 26px rgba(17,17,17,.08);
}

/* Logo: header e footer no MESMO tamanho (consistência + evita aparência pixelada)
   - usamos variáveis de marca e !important para vencer regras antigas do tema
*/
.topbar-inner .site-logo-img,
.site-footer .footer-logo-img{
  height: var(--brand-logo-h) !important;
  max-height: var(--brand-logo-h) !important;
  width: auto;
}
@media (max-width: 900px){
  .topbar-inner .site-logo-img,
  .site-footer .footer-logo-img{
    height: var(--brand-logo-h-md) !important;
    max-height: var(--brand-logo-h-md) !important;
  }
}
@media (max-width: 520px){
  .topbar-inner .site-logo-img,
  .site-footer .footer-logo-img{
    height: var(--brand-logo-h-sm) !important;
    max-height: var(--brand-logo-h-sm) !important;
  }
}

/* Página de colunista (author) */
.author-card{ padding: 18px; }
.author-head{
  display:flex;
  gap:14px;
  align-items:flex-start;
  margin-bottom: 14px;
}
.author-avatar{
  border-radius:999px;
  overflow:hidden;
  border:1px solid var(--line);
  flex:0 0 auto;
}
.author-text{ min-width: 0; }
.author-kicker{ margin-bottom:6px; }
.author-column-title{
  margin: 0;
  font-size: 34px;
  line-height: 1.08;
  letter-spacing: -0.03em;
}
.author-name{
  margin-top: 6px;
  font-size: 15px;
  color: var(--muted);
  font-weight: 700;
}
.author-bio{
  margin-top: 10px;
  color: var(--muted);
  max-width: 62ch;
}
@media (max-width: 640px){
  .author-card{ padding: 14px; }
  .author-column-title{ font-size: 26px; }
  .author-head{ align-items:center; }
}

/* Lista (post-row): leitura e toque melhor */
.post-row{
  border-radius: 16px;
}
.post-row p{
  color: var(--muted);
  margin: 6px 0 8px;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media (max-width: 640px){
  .post-row{ grid-template-columns: 104px 1fr; }
}

/* Home: Editorias menos longas no mobile (reduz "rolagem infinita") */
@media (max-width: 640px){
  .editorias .block-body ul li:nth-child(n+4){
    display:none;
  }
  .editorias .block-body ul{
    margin-top: 8px;
  }
  .editorias .block{
    border-radius: 16px;
  }
}

/* Archive/Category intro text (helps UX + SEO, v2.5.9.73) */
.archive-description{
  margin: 10px 0 18px;
  color: var(--muted);
  line-height: 1.55;
}
.archive-description p{ margin: 0 0 10px; }

/* Archive (Tag): breadcrumb + contador */

/* Archive titles: peso consistente com o tema (v2.5.9.95) */
.archive .section-title strong{ font-weight:700; }
.archive-lead h2,
.archive-lead h2 a{ font-weight:700; }
.archive-breadcrumb{
  display:flex;
  flex-wrap:wrap;
  gap: 6px;
  align-items:center;
  font-size: 12px;
  color: var(--muted);
  margin: 4px 0 10px;
}
.archive-breadcrumb a{ color: var(--muted); }
.archive-breadcrumb a:hover{ color: var(--accent); text-decoration: underline; }
.archive-breadcrumb .sep{ opacity: .6; }

.archive-meta{ display:flex; align-items:center; }
.archive-count{
  display:inline-flex;
  align-items:center;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background:#fff;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--muted);
}

/* =========================================================
   Home: Coluna em destaque + Em alta (v2.5.9.76)
   ========================================================= */
.featured-col{
  display:flex;
  gap:14px;
  padding:14px;
  align-items:center;
}
.featured-col__avatar{
  border-radius:999px;
  overflow:hidden;
  border:1px solid var(--line);
  flex:0 0 auto;
}
.featured-col__body{ display:block; }
.featured-col .meta{ margin-top:6px; }

.section-hot{ margin-top: 18px; }
.hot-grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 12px;
}
@media (min-width: 980px){
  .hot-grid{ grid-template-columns: repeat(4, minmax(0,1fr)); }
}
.hot-card{
  border:1px solid var(--line);
  border-radius: 16px;
  overflow:hidden;
  background:#fff;
  box-shadow: 0 10px 26px rgba(17,17,17,.05);
}
.hot-card .thumb img{ width:100%; height: 150px; object-fit:cover; }
.hot-card .body{ padding: 10px 12px 12px; }
.hot-card .meta{ color: var(--muted); font-size: 12px; margin-bottom: 6px; }
.hot-card h3{ margin:0; font-size: 14px; line-height: 1.25; letter-spacing: -0.01em; }
.hot-card h3 a{ color: var(--text); }
.hot-card h3 a:hover{ text-decoration: underline; }

/* Sidebar: Em alta */
.widget-hot .section-head{ margin-top: 0; }
.hot-list{
  margin: 0;
  padding: 0;
  list-style: none;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.hot-item{
  display:flex;
  gap: 10px;
  align-items:flex-start;
}
.hot-n{
  width: 28px;
  height: 28px;
  border-radius: 10px;
  display:grid;
  place-items:center;
  font-weight: 800;
  color:#fff;
  background: var(--accent);
  flex: 0 0 28px;
  box-shadow: 0 10px 20px rgba(255,90,31,.22);
}
.hot-link{ line-height:1.25; font-weight: 750; }

/* Archive: lead + chips */
.term-chips{
  display:flex;
  flex-wrap:wrap;
  gap: 10px;
  margin: 6px 0 18px;
}
.term-chips .chip{
  display:inline-flex;
  align-items:center;
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: #fff;
  color: rgba(17,17,17,.86);
  font-weight: 800;
  font-size: 12px;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.term-chips .chip:hover{ border-color: rgba(255,90,31,.35); background: rgba(255,90,31,.06); color: var(--accent); }

.archive-lead{
  border: 1px solid var(--line);
  border-radius: 18px;
  overflow:hidden;
  background:#fff;
  box-shadow: var(--shadow);
  margin: 14px 0 18px;
}
.archive-lead .thumb img{ width:100%; height: 320px; object-fit:cover; }
.archive-lead .thumb .thumb-placeholder{ height: 320px; }
.archive-lead .thumb .thumb-placeholder svg{ width: 44px; height: 44px; }
.archive-lead .body{ padding: 14px 14px 16px; }
.archive-lead .kicker{ font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: rgba(17,17,17,.72); }
.archive-lead h2{ margin: 8px 0 8px; line-height: 1.15; letter-spacing: -0.03em; }
.archive-lead p{ margin: 0 0 10px; color: var(--muted); line-height: 1.45; }
.archive-lead .meta{ color: var(--muted); font-size: 12px; }
@media (max-width: 768px){
  .archive-lead .thumb img{ height: 220px; }
  .archive-lead .thumb .thumb-placeholder{ height: 220px; }
}

/* Pages (page.php + 404) */
.page-card{ padding: 16px; }
.page-head{ margin-bottom: 12px; }
.page-title{ margin: 4px 0 0; font-size: 28px; line-height: 1.1; letter-spacing: -0.03em; }
.page-subtitle{ margin: 10px 0 0; color: var(--muted); line-height: 1.5; }
.page-actions{
  display:flex;
  gap: 12px;
  align-items:center;
  flex-wrap:wrap;
}
.page-actions form{ flex: 1 1 240px; }
.page-actions input[type="search"]{
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 12px 12px;
}
.page-actions .btn{ white-space: nowrap; }
.page-actions .search-submit{ padding: 12px 14px; }

/* Search form (global) - alinhado e com cara do tema */
.search-form{
  display:flex;
  gap: 10px;
  align-items:center;
}
.search-form .search-label{ flex: 1 1 auto; margin:0; }
.search-form .search-field{ width: 100%; min-width: 0; }
.search-form .search-submit{ flex: 0 0 auto; }

/* Botão secundário (borda da marca) */
.btn-outline{
  background: #fff;
  color: var(--accent);
  border-color: rgba(255,90,31,.35);
}
.btn.btn-outline:hover,
.btn.btn-outline:focus,
.btn.btn-outline:focus-visible{
  background: rgba(255,90,31,.06);
  border-color: rgba(255,90,31,.55);
  color: var(--accent);
}

@media (max-width: 768px){
  .page-actions{ align-items: stretch; }
  .page-actions .btn{ width: 100%; justify-content: center; }
  .search-form{ width: 100%; }
  .search-form{ flex-wrap: wrap; }
  .search-form .search-submit{ width: 100%; }
}
.page-section-head{ margin-top: 18px; }

/* Header: botão de últimas no drawer (sem inline) */
.nav-drawer-latest{ width:100%; justify-content:center; }

/* Footer refinements */
.footer-brand{ margin-bottom: 12px; }
.footer-divider{ height: 1px; background: rgba(255,255,255,.12); margin: 14px 0; }
.footer-contact{ margin-top: 12px; }


/* =========================================================
   Ajustes finos (v2.5.9.80)
   - Tipografia: menos "pesada" na home/listas
   - Search form: alinhamento perfeito no 404 e no header
   ========================================================= */
.search-form{
  flex-wrap: nowrap;
}
.search-form .search-label{
  min-width: 0;
}
.search-form .search-field{
  min-width: 0;
}
@media (max-width: 520px){
  .search-form{ flex-wrap: wrap; }
  .search-form .search-submit{ width: 100%; }
}



/* Notices (sucesso/alerta) */
.notice{
  border:1px solid var(--line);
  background:#fff;
  border-radius:14px;
  padding:12px 14px;
  margin: 12px 0;
  font-size:14px;
}
.notice-success{
  border-color: rgba(34,197,94,.35);
  background: rgba(34,197,94,.06);
}
.notice-warn{
  border-color: rgba(245,158,11,.35);
  background: rgba(245,158,11,.06);
}

/* Página Contato */
.page-grid{
  display:grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 16px;
  align-items:start;
}
.contact-card{
  border:1px solid var(--line);
  border-radius: 14px;
  padding: 14px;
  background:#fff;
}
.contact-item{ margin: 0 0 10px; }
.contact-social{ display:flex; flex-wrap:wrap; gap:10px; margin-top:12px; }
.form-help{
  margin: 10px 0 0;
  font-size: 13px;
  color: var(--muted);
}
.form-actions{
  display:flex;
  gap: 10px;
  align-items: baseline;
  flex-wrap: wrap;
  margin-top: 12px;
}
.hp-field{
  position:absolute !important;
  left:-9999px !important;
  width:1px !important;
  height:1px !important;
  opacity:0 !important;
}
.h2-lite{
  font-size: 18px;
  margin: 0 0 10px;
  font-weight: 800;
}
@media (max-width: 980px){
  .page-grid{ grid-template-columns: 1fr; }
}



/* =========================================================
   Formulários (v2.5.9.82)
   - visual consistente (inputs, labels, botões)
   - mobile-first
   ========================================================= */
.form{
  display:grid;
  gap:12px;
  margin-top: 10px;
}
.form-row{ display:grid; gap:12px; grid-template-columns: 1fr 1fr; }
@media (max-width: 680px){ .form-row{ grid-template-columns: 1fr; } }
.form-field label{
  display:block;
  font-size:13px;
  color: var(--muted);
  margin: 0 0 6px;
}
.form-field input,
.form-field textarea{
  width:100%;
  border:1px solid var(--line);
  border-radius:12px;
  padding:12px 12px;
  font-size:14px;
  outline:none;
  background:#fff;
}
.form-field textarea{ min-height: 140px; resize: vertical; }
.form-field input:focus,
.form-field textarea:focus{
  border-color: rgba(255,90,31,.55);
  box-shadow: 0 0 0 4px rgba(255,90,31,.18);
}
.form-actions{ display:flex; gap:10px; align-items:baseline; flex-wrap:wrap; }
.form-actions .btn{ white-space: nowrap; }
@media (max-width: 520px){ .form-actions .btn{ width: 100%; justify-content:center; } }
.form-help{
  font-size:12px;
  color: var(--muted);
  line-height: 1.5;
  margin: 0;
}


/* 404: links rápidos (v2.5.9.82) */
.quick-links{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin: 10px 0 16px;
}
.pill{
  display:inline-flex;
  align-items:center;
  gap:6px;
  border:1px solid var(--line);
  border-radius:999px;
  padding:8px 12px;
  font-size:13px;
  font-weight:700;
  color: var(--text);
  background:#fff;
}
.pill:hover{ border-color: rgba(255,90,31,.35); color: var(--accent); background: rgba(255,90,31,.06); }


/* Contact form alignment */
.form-actions{ align-items:baseline; }
.form-help{ margin:0; line-height:1.4; }
@media (max-width:520px){
  .form-help{ flex-basis:100%; }
}


/* ==========================================================
   Captions: unificar estilo (v2.5.9.91)
   - Todas as legendas/créditos das imagens no conteúdo ficam iguais
     à legenda da imagem destacada (fundo claro + borda sutil).
   - Corrige “tarja escura” em imagens do corpo do post.
========================================================== */

/* Estruturas mais comuns: Gutenberg (wp-element-caption), wp-caption clássico,
   galerias (wp-block-gallery / shortcode .gallery) */
.single .entry-content .wp-caption-text,
.single .entry-content .wp-element-caption,
.single .entry-content figure.wp-caption figcaption,
.single .entry-content figure.wp-block-image figcaption,
.single .entry-content .wp-block-gallery figcaption,
.single .entry-content .gallery .gallery-caption{
  position: relative !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  margin: 0 !important;
  padding: 10px 12px !important;
  background: rgba(0,0,0,.02) !important;
  border-top: 1px solid var(--line) !important;
  color: rgba(0,0,0,.66) !important;
  text-shadow: none !important;
  backdrop-filter: none !important;
}

/* Garante que a legenda fique “abaixo” da imagem (não overlay) */
.single .entry-content figure.wp-caption,
.single .entry-content figure.wp-block-image,
.single .entry-content .wp-block-gallery figure,
.single .entry-content .gallery .gallery-item{
  display: flex;
  flex-direction: column;
}

/* Remove fundos escuros herdados em wrappers de galeria (mantém borda/sombra) */
.single .entry-content .wp-block-gallery figure.wp-block-image,
.single .entry-content .gallery .gallery-item,
.single .entry-content .gallery figure{
  background: rgba(0,0,0,.02) !important;
}

/* Se a legenda estiver vazia, não ocupa espaço */
.single .entry-content .wp-caption-text:empty,
.single .entry-content .wp-element-caption:empty,
.single .entry-content figure.wp-caption figcaption:empty,
.single .entry-content figure.wp-block-image figcaption:empty,
.single .entry-content .wp-block-gallery figcaption:empty,
.single .entry-content .gallery .gallery-caption:empty{
  display: none !important;
}
