/* Utilitários e páginas — complementos ao site.css do template */

/* Banner superior (top bar): sem "Publicidade" e sem espaçamento vertical */
.band-sup{
  padding:0 !important;
  margin:0 !important;
  line-height:0;
  background:var(--ink-90);
  text-align:center;
  overflow:hidden;
}
.band-sup .pub,
.ad-wrap--superior .pub{display:none !important}
.band-sup .slot,
.band-sup .ad-wrap{
  margin:0 auto;
  line-height:0;
}
.band-sup .s-superior{max-width:100%}
.band-sup .ph{margin:0}
@media(max-width:1320px){
  .band-sup{padding-left:0 !important;padding-right:0 !important}
}

/* Logo maior + slogan ao lado */
.brand-row{
  display:flex;
  align-items:center;
  gap:24px;
  flex-wrap:wrap;
  min-width:0;
}
.brand-logo{display:block;flex-shrink:0}
.brand-logo img{
  display:block;
  height:96px;
  width:auto;
  max-width:320px;
  object-fit:contain;
}
.brand-slogan{
  font-family:var(--cond);
  font-size:24px;
  font-weight:700;
  line-height:1.28;
  letter-spacing:.3px;
  color:var(--ink);
  margin:0;
  max-width:360px;
}
@media(max-width:760px){
  .brand-slogan{font-size:17px;max-width:100%}
  .brand-logo img{height:68px;max-width:240px}
}

/* "Publicidade" overlay — canto inferior direito da imagem */
.ad-wrap{
  position:relative;
  display:inline-block;
  max-width:100%;
  vertical-align:top;
  line-height:0;
}
.band-topo .ad-wrap,
.band-h .ad-wrap{
  display:block;
  margin:0 auto;
  width:fit-content;
  max-width:100%;
}
.ad-wrap .pub,
.ad-wrap .pub-d{
  position:absolute !important;
  right:8px;
  bottom:6px;
  z-index:6;
  margin:0 !important;
  padding:3px 7px;
  background:rgba(0,0,0,.55);
  color:#E8E8E8 !important;
  font-size:9px !important;
  font-weight:600;
  letter-spacing:1.6px;
  text-transform:uppercase;
  line-height:1.2;
  pointer-events:none;
  text-align:right;
}
.rail .ad-wrap .pub{color:#E8E8E8 !important}
.band-topo{padding-bottom:18px}
.band-topo .pub.pub-d,
.band-h > .pub,
.rail > .pub{display:none} /* labels soltos acima — migrados para .ad-wrap */

/* Expansão no hover — painel sobe para o body via JS (position:fixed, z-index máximo) */
.band-topo,
.band-h,
.side,
.cols,
.wrap,
.rail,
.home-top,
.home-top__main,
.home-top__ext{
  overflow:visible !important;
}
.ad-expand{
  position:relative;
  z-index:5;
  isolation:isolate;
}
.ad-expand-panel{
  position:absolute;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  z-index:1;
}
/* Estado aberto: fixo sobre TODO o site */
.ad-expand-panel.is-open{
  position:fixed !important;
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  z-index:2147483000 !important;
  filter:drop-shadow(0 22px 48px rgba(0,0,0,.55));
  margin:0;
}
.ad-expand-panel--topo.is-open{
  width:max-content;
  max-width:min(1250px,96vw);
  transform:translateX(-50%);
}
.ad-expand-panel--topo .s-topo-open{
  width:min(1250px,96vw);
  height:auto;
  max-height:min(600px,78vh);
}
.ad-expand-panel--topo .s-topo-open img{
  width:100%;
  height:auto;
  max-height:min(600px,78vh);
  object-fit:contain;
  background:#111;
  display:block;
}
/* Vertical: âncora à direita do slot, cresce para a esquerda */
.ad-expand-panel--vert.is-open{
  transform:none;
  width:min(720px,92vw);
  max-width:min(720px,92vw);
}
.ad-expand-panel--vert .s-vertical-open{
  width:100%;
  height:auto;
  max-height:min(720px,85vh);
}
.ad-expand-panel--vert .s-vertical-open img{
  width:100%;
  height:auto;
  max-height:min(720px,85vh);
  object-fit:contain;
  object-position:right center;
  background:#111;
  display:block;
}
/* Externo: âncora à direita do slot, cresce para a esquerda */
.ad-expand-panel--externo.is-open{
  transform:none;
  width:min(900px,92vw);
  max-width:min(900px,92vw);
}
.ad-expand-panel--externo .s-externo-open{
  width:100%;
  height:auto;
  max-height:min(800px,88vh);
}
.ad-expand-panel--externo .s-externo-open img{
  width:100%;
  height:auto;
  max-height:min(800px,88vh);
  object-fit:contain;
  object-position:right center;
  background:#111;
  display:block;
}

/* Home: Topo Extensível + Slides | Externo à direita (fluxo, sem fixed/sticky) */
.home-top{
  display:grid;
  grid-template-columns:minmax(0,var(--site)) 180px;
  grid-template-areas:"main ext";
  align-items:center;
  justify-content:center;
  column-gap:24px;
  width:fit-content;
  max-width:calc(100% - 40px);
  margin:0 auto;
  overflow:visible;
}
.home-top__main{
  grid-area:main;
  min-width:0;
  width:100%;
}
.home-top__main .band-topo{
  padding-left:0;
  padding-right:0;
  position:relative;
  z-index:6; /* expand do topo acima do hero, sem prender o painel fixed */
}
.home-top__main .s-topo,
.home-top__main .s-topo-open{
  max-width:100%;
}
.home-top__ext{
  grid-area:ext;
  width:180px;
  position:relative; /* fluxo — não fixed/sticky */
  z-index:5;
  overflow:visible;
}
.home-top__ext .ad-wrap{display:block}
.home-top__ext .s-externo{margin:0}
@media(max-width:1520px){
  .home-top{
    grid-template-columns:minmax(0,1fr);
    grid-template-areas:
      "main"
      "ext";
    width:100%;
    max-width:var(--site);
    row-gap:0;
    align-items:stretch;
  }
  /* Ritmo mobile: sequência clara hero → externo → próximo bloco */
  .home-top__ext{
    width:auto;
    justify-self:center;
    margin-top:28px;
    margin-bottom:8px;
    padding-top:20px;
    border-top:1px solid var(--rule-soft);
  }
}
@media(max-width:1080px){
  .home-top__ext{
    width:300px;
    max-width:100%;
    margin-top:32px;
    margin-bottom:12px;
    padding-top:24px;
  }
}
@media(max-width:760px){
  .home-top{
    max-width:calc(100% - 24px);
  }
  .home-top__ext{
    margin-top:28px;
    margin-bottom:16px;
    padding-top:20px;
  }
}
.ad-expand.is-active{z-index:2147482000}
.rail-btn,.exp,.exp-l{display:none !important} /* sem "Expandir anúncio" */

/* Ícones sociais reais */
.social a img,
.foot-s a img{
  width:18px;
  height:18px;
  display:block;
  object-fit:contain;
}
.social a:hover img{
  filter:invert(1);
}
.foot-s a{
  border-radius:0;
}
.foot-s a img{
  filter:invert(1);
  opacity:.75;
}
.foot-s a:hover img{opacity:1;filter:invert(1)}
.foot-logo{
  display:block;
  height:56px;
  width:auto;
  margin-bottom:14px;
  object-fit:contain;
}
.nc-i img,.nl-i img,.exc-i img,.era-i img,.art-foto img,.dest-i img,.it-i img,.capa img,.hero-foto{
  width:100%;height:100%;object-fit:cover;display:block;
}
.hero-s.has-img .hero-bg{
  background-size:cover;background-position:center;
}
.hero-s.has-img .hero-art{display:none}
.img-ph{
  width:100%;height:100%;
  background:linear-gradient(145deg,#1a1a1a,#2a2a2a);
  display:flex;align-items:center;justify-content:center;
  color:#666;font-family:var(--cond);font-size:13px;letter-spacing:1px;text-transform:uppercase;
}
.ed-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;padding:40px 0 60px}
.ed-card{background:var(--card);cursor:pointer;transition:transform .25s}
.ed-card:hover{transform:translateY(-4px)}
.ed-card-capa{aspect-ratio:3/4;overflow:hidden;background:var(--ink-80)}
.ed-card-capa img{width:100%;height:100%;object-fit:cover}
.ed-card-b{padding:16px 18px}
.ed-card-n{font-family:var(--cond);font-size:14px;font-weight:700;color:var(--red);letter-spacing:1.5px;text-transform:uppercase}
.ed-card-t{font-family:var(--serif);font-size:18px;font-weight:700;margin-top:6px;line-height:1.35}
@media(max-width:1080px){.ed-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.ed-grid{grid-template-columns:1fr}}

/* Artigo */
.trilha{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:28px 0 8px;font-family:var(--cond);font-size:14px;letter-spacing:.8px;color:var(--ink-45)}
.trilha a{color:var(--ink-45)}.trilha a:hover{color:var(--red)}
.trilha .sep{opacity:.5}
.trilha .voltar{margin-left:auto;color:var(--red);font-weight:700;text-transform:uppercase;letter-spacing:1.2px}
.art-cols{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:48px;padding:20px 0 60px;align-items:start}
.art-cat{font-family:var(--cond);font-size:14px;font-weight:700;letter-spacing:2.2px;text-transform:uppercase;color:var(--red)}
.art-h1{font-family:var(--serif);font-size:40px;font-weight:700;line-height:1.25;margin:14px 0 16px}
.art-olho{font-size:20px;color:var(--ink-60);line-height:1.65;margin-bottom:22px}
.art-meta{display:flex;flex-wrap:wrap;gap:14px 22px;align-items:center;padding:16px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);margin-bottom:28px;font-family:var(--cond);font-size:14px;color:var(--ink-45)}
.art-autor{font-weight:700;color:var(--ink);text-transform:uppercase;letter-spacing:1px}
.art-share{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-left:auto}
.art-share > span{font-weight:700;text-transform:uppercase;letter-spacing:1.2px;color:var(--ink-45)}
.art-share .share-btn{padding:7px 11px;font-size:12px}
.art-foto{margin-bottom:10px;overflow:hidden;background:var(--ink-90);aspect-ratio:16/9}
.art-legenda{font-size:14px;color:var(--ink-45);margin-bottom:28px}
.corpo{font-size:18px;line-height:1.8;color:var(--ink-80)}
.corpo p{margin-bottom:1.15em}
.corpo h2{font-family:var(--serif);font-size:26px;margin:1.4em 0 .6em}
.corpo img{max-width:100%;height:auto;margin:1em 0}
.corpo iframe{max-width:100%}
.share-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:36px 0;padding:20px 0;border-top:1px solid var(--rule)}
.share-bar b{font-family:var(--cond);text-transform:uppercase;letter-spacing:1.5px;margin-right:8px}
.share-btn{font-family:var(--cond);font-size:14px;font-weight:700;letter-spacing:1px;text-transform:uppercase;padding:10px 16px;border:1px solid var(--rule);background:var(--card);cursor:pointer}
.share-btn:hover{border-color:var(--red);color:var(--red)}
.tags{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:40px}
.tags-l{font-family:var(--cond);font-size:13px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--ink-45);margin-right:6px}
.tag{font-family:var(--cond);font-size:13px;font-weight:600;letter-spacing:1px;text-transform:uppercase;padding:7px 12px;border:1px solid var(--rule);color:var(--ink-60)}
.tag:hover{border-color:var(--red);color:var(--red)}
.ed-side{background:var(--ink-90);padding:22px;text-align:center}
.ed-side-k{font-family:var(--cond);font-size:13px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold-lt);margin-bottom:14px}
.ed-side-capa{width:140px;height:190px;margin:0 auto 14px;overflow:hidden;box-shadow:6px 6px 0 var(--red-dk)}
.ed-side-t{font-family:var(--cond);font-size:16px;color:#ccc;line-height:1.4;margin-bottom:14px}
.ed-side-b{display:inline-block;font-family:var(--cond);font-size:14px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;background:var(--red);color:#fff;padding:10px 18px}
@media(max-width:1080px){.art-cols{grid-template-columns:1fr}}
@media(max-width:760px){.art-h1{font-size:28px}}

/* Listagem */
.ls-top{padding:36px 0 10px}
.ls-top h1{font-family:var(--cond);font-size:42px;font-weight:800;text-transform:uppercase;letter-spacing:2px}
.ls-top p{color:var(--ink-45);margin-top:8px}
.filtros{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:18px 0 28px;border-bottom:1px solid var(--rule);margin-bottom:28px}
.pill{font-family:var(--cond);font-size:14px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;padding:9px 16px;border:1px solid var(--rule);background:var(--card);cursor:pointer;color:var(--ink-60)}
.pill.on,.pill:hover{background:var(--red);border-color:var(--red);color:#fff}
.busca{margin-left:auto;display:flex;align-items:center;gap:8px;border:1px solid var(--rule);padding:8px 14px;background:var(--card);min-width:220px}
.busca input{border:none;outline:none;font-family:var(--sans);font-size:15px;width:100%;background:transparent}
.ls-cols{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:48px;align-items:start;padding-bottom:60px}
.dest{display:grid;grid-template-columns:1.1fr 1fr;gap:0;background:var(--card);margin-bottom:28px;overflow:hidden}
.dest-i{min-height:280px;overflow:hidden;background:var(--ink-90)}
.dest-b{padding:32px}
.dest-flag{font-family:var(--cond);font-size:12px;font-weight:800;letter-spacing:2px;text-transform:uppercase;background:var(--gold);color:var(--ink);padding:4px 10px}
.dest-c{font-family:var(--cond);font-size:14px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--red);margin:14px 0 10px}
.dest-t{font-family:var(--serif);font-size:28px;font-weight:700;line-height:1.3;margin-bottom:12px}
.dest:hover .dest-t{color:var(--red)}
.dest-d{color:var(--ink-60);line-height:1.65;margin-bottom:14px}
.dest-m{font-family:var(--cond);font-size:14px;color:var(--ink-45)}
.it{display:grid;grid-template-columns:180px minmax(0,1fr);gap:0;background:var(--card);margin-bottom:3px;transition:transform .2s}
.it:hover{transform:translateX(3px)}
.it-i{height:120px;overflow:hidden;background:var(--ink-90)}
.it-b{padding:18px 22px}
.it-c{font-family:var(--cond);font-size:13px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--red)}
.it-t{font-family:var(--serif);font-size:20px;font-weight:700;line-height:1.35;margin:6px 0}
.it:hover .it-t{color:var(--red)}
.it-d{font-size:15px;color:var(--ink-60);line-height:1.5}
.it-m{font-family:var(--cond);font-size:13px;color:var(--ink-45);margin-top:8px}
.pag{display:flex;flex-wrap:wrap;gap:6px;margin-top:32px}
.pg{font-family:var(--cond);font-size:14px;font-weight:700;padding:10px 14px;border:1px solid var(--rule);background:var(--card);color:var(--ink-60)}
.pg.on,.pg:hover{background:var(--red);border-color:var(--red);color:#fff}
.pg.off{opacity:.4;pointer-events:none}
@media(max-width:1080px){.ls-cols{grid-template-columns:1fr}.dest{grid-template-columns:1fr}}
@media(max-width:760px){.it{grid-template-columns:110px 1fr}.dest-t{font-size:22px}.busca{margin-left:0;width:100%}}
