/* Dimensões da aba ES - NOVOS BLOCOS: desktop e mobile. */
.ad-slot:is([data-ad-slot-desktop^="Billboard_topo_"], [data-ad-slot-mobile^="Billboard_topo_"]) {
    --ad-width-desk: 970px;
    --ad-height-desk: 250px;
    --ad-width-mob: 320px;
    --ad-height-mob: 100px;
}

.ad-slot:is([data-ad-slot-desktop^="Billboard_centro_"], [data-ad-slot-mobile^="Billboard_centro_"]) {
    --ad-width-desk: 970px;
    --ad-height-desk: 250px;
    --ad-width-mob: 336px;
    --ad-height-mob: 250px;
}

.ad-slot:is([data-ad-slot-desktop^="Retangulo_a_"], [data-ad-slot-mobile^="Retangulo_a_"]) {
    --ad-width-desk: 336px;
    --ad-height-desk: 280px;
    --ad-width-mob: 320px;
    --ad-height-mob: 250px;
}

.ad-slot:is([data-ad-slot-desktop^="Retangulo_b_"], [data-ad-slot-mobile^="Retangulo_b_"]) {
    --ad-width-desk: 590px;
    --ad-height-desk: 400px;
    --ad-width-mob: 336px;
    --ad-height-mob: 280px;
}

.ad-slot:is([data-ad-slot-desktop^="Meia_pagina_"], [data-ad-slot-mobile^="Meia_pagina_"]) {
    --ad-width-desk: 300px;
    --ad-height-desk: 600px;
    --ad-width-mob: 336px;
    --ad-height-mob: 280px;
}

.ad-slot:is([data-ad-slot-desktop^="Superbanner_"], [data-ad-slot-mobile^="Superbanner_"]) {
    --ad-width-desk: 728px;
    --ad-height-desk: 90px;
    --ad-width-mob: 320px;
    --ad-height-mob: 250px;
}

.ad-slot:is([data-ad-slot-desktop^="Mega_billboad_"], [data-ad-slot-mobile^="Mega_billboad_"]) {
    --ad-width-desk: 1190px;
    --ad-height-desk: 330px;
    --ad-width-mob: 336px;
    --ad-height-mob: 280px;
}

/* Os três formatos comerciais de Social têm as mesmas dimensões. */
.ad-slot:is(
    [data-ad-slot-desktop^="Retangulo_diamante_"],
    [data-ad-slot-mobile^="Retangulo_diamante_"],
    [data-ad-slot-desktop^="Retangulo_ouro_"],
    [data-ad-slot-mobile^="Retangulo_ouro_"],
    [data-ad-slot-desktop^="Retangulo_prata_"],
    [data-ad-slot-mobile^="Retangulo_prata_"]
) {
    --ad-width-desk: 578px;
    --ad-height-desk: 100px;
    --ad-width-mob: 300px;
    --ad-height-mob: 250px;
}

/* Linhas 65/75: colunas individuais. A agregadora usa a medida da linha 56. */
body:not(.post-type-archive-colunascpt) .ad-slot:is([data-ad-slot-desktop="Superbanner_coluna_desk"], [data-ad-slot-mobile="Superbanner_coluna_mob"]) {
    --ad-width-mob: 336px;
    --ad-height-mob: 280px;
}

/* Reserva fixa durante o carregamento, com anúncio e sem preenchimento. */
.ad-slot.ad-slot--reserved {
    --ad-width: var(--ad-width-desk);
    --ad-height: var(--ad-height-desk);
    --ad-label: 0px;

    position: relative;
    display: flex;
    flex: 0 0 auto;
    width: 100%;
    min-width: 0;
    height: calc(var(--ad-height) + var(--ad-label)) !important;
    min-height: calc(var(--ad-height) + var(--ad-label)) !important;
    max-height: calc(var(--ad-height) + var(--ad-label)) !important;
    overflow: hidden;
    contain: layout;
}

/* O rótulo do tema ocupa 28px além da área do criativo. */
.ad-slot.ad-slot--reserved.ad-slot--billboard {
    --ad-label: 28px;
}

.ad-slot--reserved > pubguru {
    position: absolute !important;
    top: var(--ad-label) !important;
    left: 50% !important;
    right: auto !important;
    bottom: auto !important;
    transform: translateX(-50%);
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: var(--ad-width) !important;
    max-width: 100%;
    height: var(--ad-height) !important;
    overflow: hidden;
}

.ad-slot--reserved .ad-slot__placeholder {
    position: absolute;
    top: var(--ad-label);
    margin: 0;
    width: min(var(--ad-width), 100%);
    height: var(--ad-height);
}

/* O rótulo do provedor não deve alterar a altura reservada. */
.ad-slot--reserved .pg-ad-label {
    display: none !important;
}

/* Mantém também o padding do topo, inclusive contra a regra antiga de no-fill. */
.wrapper.ad.ad_container[data-position="top"]#header1_home:has(> .ad-slot--reserved),
.wrapper.ad.ad_container[data-position="top"]#header1_home.ad-slot-empty:not(.filled):has(> .ad-slot--reserved) {
    display: flex !important;
    padding: 5px 0 15px;
    min-height: 298px;
    height: 298px;
}

@media (max-width: 800px) {
    .ad-slot.ad-slot--reserved {
        --ad-width: var(--ad-width-mob);
        --ad-height: var(--ad-height-mob);
    }
    .wrapper.ad.ad_container[data-position="top"]#header1_home:has(> .ad-slot--reserved),
    .wrapper.ad.ad_container[data-position="top"]#header1_home.ad-slot-empty:not(.filled):has(> .ad-slot--reserved) {
        min-height: 148px;
        height: 148px;
    }
    .ad-slot--reserved.onlydesktop {
        display: none !important;
    }
}

@media (min-width: 801px) {
    .ad-slot--reserved.onlymobile {
        display: none !important;
    }
}

/* O Billboard ocupa uma linha inteira na listagem flex de colunas. */
.c-lists__list > .c-lists__ad {
    flex: 0 0 100%;
    display: block;
    width: 100%;
}

/* Retângulo B aprovado: faixa própria abaixo de Mais Lidas, fora da lateral. */
.l-news .l-news__ad--wide {
    width: 100%;
    max-width: 590px;
    margin: 0 auto 4.8rem;
}

.l-news .l-news__ad--wide > .ad-slot {
    max-width: 590px;
}

/* A listagem com anúncio deve caber na coluna também no mobile. */
.n-column__list.n-column__list--ads {
    width: 100%;
    min-width: 0;
}

/* O tema não emite body_class(); identificar a agregadora pelo seu próprio main. */
.columns-archive .ad-slot.ad-slot--reserved:is([data-ad-slot-desktop="Superbanner_coluna_desk"], [data-ad-slot-mobile="Superbanner_coluna_mob"]) {
    --ad-width-mob: 320px;
    --ad-height-mob: 250px;
}

/* Espaço para o Superbanner de 728px nas novas posições de Social/calendário. */
.internal--social-ads .internal__content {
    max-width: 728px;
}

.social-page.social-page--ads .wrapper.social-page__content,
.coluna-cal.coluna-cal--ads .wrapper.coluna-cal__layout {
    width: min(112rem, calc(100% - 3.2rem));
    grid-template-columns: minmax(0, 1fr) 33.6rem;
}

@media (max-width: 1136px) {
    .social-page.social-page--ads .wrapper.social-page__content,
    .coluna-cal.coluna-cal--ads .wrapper.coluna-cal__layout {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* ES: o contêiner externo também precisa sobreviver ao timeout sem criativo. */
.wrapper.ad.ad_container[data-position="top"].ad-container--reserved-es {
    display: flex !important;
    padding: 0;
    height: 278px;
    min-height: 278px;
}

@media (max-width: 800px) {
    .wrapper.ad.ad_container[data-position="top"].ad-container--reserved-es {
        height: 128px;
        min-height: 128px;
    }
}

/* As laterais ES precisam comportar o Retângulo A de 336px sem encolher. */
@media (min-width: 801px) {
    .n-column--ads-es .n-column__plub,
    .internal--ads-es .internal__sidebar {
        flex: 0 0 336px;
        width: 336px;
    }

    .n-column--ads-es .n-column__main,
    .internal--ads-es .internal__main {
        flex: 1 1 0;
        min-width: 0;
    }
}

/* Em telas intermediárias, empilhar evita cortar Superbanner e lateral. */
@media (min-width: 801px) and (max-width: 1279px) {
    .n-column--ads-es .n-column__container,
    .internal--ads-es .internal__wrapper {
        flex-direction: column;
    }

    .n-column--ads-es .n-column__main,
    .internal--ads-es .internal__main {
        flex: auto;
        width: 100%;
        max-width: none;
    }

    .n-column--ads-es .n-column__plub,
    .internal--ads-es .internal__sidebar {
        flex: auto;
    }

    .n-column--ads-es .n-column__wrapper,
    .internal--ads-es .internal__wrapper {
        padding-left: 16px;
        padding-right: 16px;
    }
}

.internal--ads-es .internal__wrapper {
    max-width: 1266px;
}

/* O tema esconde a lateral em 1024px; o anúncio só muda para mobile em 800px. */
@media (min-width: 801px) and (max-width: 1024px) {
    .m-story .wrapper.m-story__wrapper > .m-story__aside--ads-es {
        display: flex;
        flex: 1 1 100%;
        max-width: none;
    }

    .m-story__aside--ads-es > :not(.ad) {
        display: none;
    }
}
