/*
 * Ragazzo Control Panel® · Widget de Anúncios — CSS base (mecânica/estrutura)
 * O visual por tema fica em skins/{tema}.css. Aqui só o esqueleto responsivo.
 */
.wc-ad {
    display: block;
    margin: 1.25rem auto;
    max-width: 100%;
    text-align: center;
}
.wc-ad__label {
    display: block;
    font-size: 10px;
    line-height: 1;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #b6c0cc;
    margin-bottom: 4px;
    user-select: none;
}
.wc-ad__slot {
    display: flex;
    justify-content: center;
    align-items: center;
}
/* Criativo (imagem / vídeo) sempre responsivo, nunca estoura o container. */
.wc-ad__img,
.wc-ad__video {
    display: block;
    max-width: 100%;
    height: auto;
}
.wc-ad__link {
    display: inline-block;
    line-height: 0;
}
.wc-ad__html {
    width: 100%;
}
.wc-ad__html iframe,
.wc-ad__html img {
    max-width: 100%;
}
/* AdSense responsivo.
   IMPORTANTE: o <ins> do AdSense é um bloco VAZIO (sem largura intrínseca) — como
   item de flex centralizado ele computa largura 0 e o adsbygoogle.js explode com
   "No slot size for availableWidth=0". Para AdSense o slot vira bloco normal e o
   <ins> ocupa 100% da largura do container (o Google dimensiona a partir dela). */
.wc-ad--adsense .wc-ad__slot {
    display: block;
}
.wc-ad--adsense .adsbygoogle {
    display: block;
    width: 100%;
}
/* Sem preenchimento (consent negado, inventário vazio, site em validação): o Google
   marca data-ad-status="unfilled" — esconde o wrapper todo (sem caixa "Publicidade" vazia). */
.wc-ad--adsense:has(.adsbygoogle[data-ad-status="unfilled"]) {
    display: none;
}
/* Variante barra lateral: pode ficar "sticky" no tema. */
.wc-ad--sidebar {
    position: relative;
}
