/* ============================================================
   B9 — Slots de publicidade (.ad-slot) · Google Ad Manager (GPT).
   Tamanhos IAB padrão por breakpoint (size mapping no partials/ad-slot.hbs).
   Renderizados só p/ não-assinantes-pagos.
   ============================================================ */
.ad-slot { display: block; text-align: center; }
.ad-slot__label {
  display: block; font-family: var(--mono); font-size: 10px; font-weight: 700;
  letter-spacing: 0.18em; text-transform: uppercase; color: var(--fg-muted);
  margin: 0 0 8px;
}
/* O container ABRAÇA o creative (fit-content + margin auto centraliza) →
   nunca corta (sem overflow:hidden) nem mostra bege sobrando (sem background).
   O min-height por variante reserva espaço p/ reduzir layout shift antes de carregar;
   se o slot vier vazio, o default.hbs esconde a .ad-slot inteira. */
.ad-slot__ins {
  display: block; width: -moz-fit-content; width: fit-content;
  max-width: 100%; margin: 0 auto; line-height: 0;
}

/* board — faixa na home (entre "No radar" e as newsletters). O bloco de
   newsletter já tem padding-top próprio → bottom enxuto p/ não somar vão.
   fit-content (herdado) faz o container ABRAÇAR o creative → margin auto CENTRALIZA
   (um creative menor que 970 fica no centro, não encostado à esquerda).
   max-width 970 = teto do billboard IAB; creative MAIOR/"fluid" no GAM ainda corta. */
.ad-band { padding: clamp(8px, 1.6vw, 20px) 0 clamp(6px, 1vw, 12px); }
.ad-slot--board .ad-slot__ins { max-width: 970px; min-height: 90px; }

/* hero — topo do post (antes da categoria/data). Respiro maior embaixo.
   Cap em 728 (leaderboard) — cabe no cabeçalho de 820px e centraliza (fit-content).
   O hero usa o MESMO ad unit horizontal da home (v8-horizontal); os tamanhos
   pedidos são 728x90 + mobile (sem 970, que não caberia aqui). */
.ad-slot--hero { margin: 0 0 clamp(34px, 4.5vw, 52px); }
.ad-slot--hero .ad-slot__ins { max-width: 728px; min-height: 50px; }

/* side — primeiro item da sidebar do post */
.ad-slot--side { margin: 0 0 clamp(20px, 2.4vw, 30px); }
.ad-slot--side .ad-slot__ins { min-height: 250px; }

/* mobile: a sidebar vira faixa horizontal de blocos; o anúncio ocupa a linha toda */
@media (max-width: 900px) {
  .art-aside .ad-slot--side { flex: 1 1 100%; }
}
