/*
Theme Name: FastNews Premium TURBO
Author: Imprensa 24h
Description: Tema premium ultra-rápido para portais de notícias com sidebar e modo ULTRA (atraso de scripts/ads para melhorar LCP/CLS).
Version: 2.3.4
Requires at least: 5.8
Tested up to: 6.6
Requires PHP: 7.4
Text Domain: fastnews
*/

/* Reset */
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Inter,Arial,sans-serif;color:#0B0F14;background:#fff;line-height:1.7}
a{color:#E11D48;text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;height:auto;display:block}
.container{max-width:1200px;margin:0 auto;padding:0 16px}

/* Header */
.site-header{border-bottom:1px solid #EAECF0;background:#fff}
.header{padding:12px 0}
.header-desktop{
  display:grid;
  grid-template-columns:minmax(260px,1fr) minmax(320px,2fr) minmax(220px,320px);
  gap:14px;align-items:center;
}
.brand{display:flex;gap:10px;align-items:center;min-width:0}
.brand-inner{min-width:0}
.site-title{margin:0;font-weight:800;font-size:18px;line-height:1.2;word-break:break-word}
.site-title a{color:#0B0F14}
.site-desc{margin:2px 0 0;color:#667085;font-size:13px}
.custom-logo{height:40px;width:auto;max-width:52px}
.primary-nav{display:flex;justify-content:center}
.primary-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:12px;flex-wrap:wrap}
.primary-nav a{color:#E11D48;font-weight:600;font-size:14px}
.search-mini{display:flex;gap:8px;justify-content:end}
.search-mini input[type="search"]{border:1px solid #EAECF0;border-radius:10px;padding:10px 12px;font-size:14px;max-width:240px;width:100%}
.search-mini button{border:0;background:#0B0F14;color:#fff;border-radius:10px;padding:10px 12px;font-size:14px}

/* Mobile header: LOGO+NOME / BUSCA / MENU */
.site-header .header-mobile{display:none}
.nav-toggle{border:0;background:#0B0F14;color:#fff;border-radius:10px;padding:10px 12px;font-size:14px}

@media (max-width: 980px){
  .site-header .header-desktop{display:none !important}
  .site-header .header-mobile{display:grid !important;gap:10px}
  .mobile-top{display:flex;gap:10px;align-items:center;justify-content:space-between}
  .mobile-top .brand{flex:1}
  .mobile-search .search-mini{justify-content:stretch}
  .mobile-search .search-mini input[type="search"]{max-width:none}
  .primary-nav{display:none;justify-content:flex-start}
  .primary-nav.open{display:block}
  .primary-nav ul{flex-direction:column;gap:10px;padding:6px 0}
}

/* Layout */
.main{padding:18px 0}
.grid{display:grid;grid-template-columns:1fr 340px;gap:22px}
@media (max-width: 980px){.grid{grid-template-columns:1fr}}

/* Cards & Typography */
.card{border:1px solid #EAECF0;border-radius:14px;overflow:hidden;background:#fff}
.card-pad{padding:14px}
.kicker{color:#667085;font-size:13px;margin:0 0 6px}
.h1{font-size:28px;line-height:1.15;margin:0 0 10px}
.h2{font-size:22px;line-height:1.2;margin:0 0 10px}
.h3{font-size:18px;line-height:1.25;margin:0 0 8px}
.meta{color:#667085;font-size:13px;margin:10px 0 0}
.excerpt{margin:10px 0 0;color:#111827}

/* Stable media (anti-CLS) */
.thumb{aspect-ratio:16/9;background:#F8FAFC;display:block}
.thumb img{width:100%;height:100%;object-fit:cover}

/* Home list */
.list{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width: 620px){.list{grid-template-columns:1fr}}

/* Content */
.entry-content{font-size:16px}
.entry-content p{margin:0 0 14px}
.entry-content h2{font-size:20px;line-height:1.25;margin:18px 0 10px}
.entry-content h3{font-size:18px;line-height:1.25;margin:18px 0 10px}

/* Sidebar */
.sidebar .widget{border:1px solid #EAECF0;border-radius:14px;padding:14px;margin:0 0 14px;background:#fff}
.sidebar .widget-title{margin:0 0 10px;font-size:16px;line-height:1.2}

/* Ads placeholders (mantém layout estável) */
.ad-top{min-height:250px;margin:14px 0}
.ad-mid{min-height:250px;margin:18px 0}
.ad-side{min-height:600px}

/* Footer */
.site-footer{border-top:1px solid #EAECF0;padding:18px 0;color:#667085;font-size:13px}

/* FASTNEWS_ADSLOT_FIX: não mostrar caixa vazia de anúncio */
.ad-slot.ad-top,
.ad-slot.ad-inline,
.ad-slot.ad-side{
  display:none !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
}
.ad-slot.fn-ad-filled{
  display:block !important;
  margin:14px 0 !important;
}
/* quando existir anúncio real, deixa o container com altura mínima (evita layout jump) */
.ad-slot.fn-ad-filled.fn-ad-fixed{
  min-height:250px !important;
}


/* FIX: esconder anúncio do meio quando não houver anúncio real */
.ad-slot.ad-mid{
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
}

.ad-slot.ad-mid:not(:has(ins)):not(:has(iframe)){
  display:none !important;
}
