/* Ad slots: zero layout space until Google actually serves an ad */
.ad-slot {
    display: none !important;
    width: 100%;
    min-height: 0 !important;
    max-height: none;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: hidden;
    background: transparent !important;
    line-height: 0;
}

.ad-slot.is-filled,
.ad-slot.is-fallback-active,
.ad-slot.ad-slot-prefill-fallback {
    display: block !important;
    margin-bottom: 1rem !important;
    line-height: normal;
    overflow: visible;
}

.ad-slot.ad-slot-fallback-only {
    display: block !important;
    margin-bottom: 1rem !important;
    line-height: normal;
}

.ad-slot.is-hidden {
    display: none !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.ad-slot.is-loading {
    display: none !important;
    min-height: 0 !important;
    margin: 0 !important;
    opacity: 0;
    pointer-events: none;
}

.ad-slot:not(.is-filled) .adsbygoogle,
.ad-slot.is-hidden .adsbygoogle {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
    visibility: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
}

.adsense-unit {
    overflow: hidden;
    background: transparent;
}

.adsense-in-article.ad-slot.is-filled {
    max-width: 100%;
    margin: 1rem auto !important;
}

/* Host wrappers — collapsed until a child ad is filled */
.ad-host-section-mid,
.ad-host-cat-mid,
.ad-host-home-infeed,
.ad-host-latest-infeed,
.home-pre-footer-ad,
.ad-host-sidebar-single,
.ad-host-home-after-slider,
.ad-host-latest-prefooter,
.section-mid-ad,
.section-cat-mid-ad,
.adsense-home-infeed {
    display: none;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
}

.ad-host-section-mid.is-ad-visible,
.ad-host-cat-mid.is-ad-visible,
.ad-host-home-infeed.is-ad-visible,
.ad-host-latest-infeed.is-ad-visible,
.home-pre-footer-ad.is-ad-visible,
.ad-host-sidebar-single.is-ad-visible,
.ad-host-home-after-slider.is-ad-visible,
.ad-host-latest-prefooter.is-ad-visible,
.section-mid-ad.is-ad-visible,
.section-cat-mid-ad.is-ad-visible,
.adsense-home-infeed.is-ad-visible {
    display: block;
}

.adsense-home-infeed.is-ad-visible {
    width: 100%;
}

.ad-host-section-mid.is-collapsed,
.ad-host-cat-mid.is-collapsed,
.ad-host-home-infeed.is-collapsed,
.ad-host-latest-infeed.is-collapsed,
.home-pre-footer-ad.is-collapsed,
.ad-host-sidebar-single.is-collapsed,
.ad-host-home-after-slider.is-collapsed,
.ad-host-latest-prefooter.is-collapsed,
.section-mid-ad.is-collapsed,
.section-cat-mid-ad.is-collapsed,
.adsense-home-infeed.is-collapsed {
    display: none !important;
}

.page-ad-rail .ad-slot.is-filled {
    min-height: 0;
}

.category-grid-3x3 .adsense-home-infeed.is-ad-visible {
    width: 100%;
}

/* Admin/custom banner containers: hide when empty (keep fallback visible) */
.ad-slot-custom.is-hidden,
.ad-slot-custom:not(.is-filled):not(.is-fallback-active) {
    display: none !important;
}

.ad-slot-custom.is-hidden + .container-bn,
.ad-slot-custom:not(.is-filled) .container-bn {
    display: none !important;
    min-height: 0 !important;
    margin: 0 !important;
}

.container-bn:has(.ad-slot.is-filled),
.container-bn:has(.ad-slot-custom.is-filled) {
    display: block;
}

.container-bn:not(:has(.ad-slot.is-filled)):not(:has(.ad-slot.is-fallback-active)):not(:has(.bn-inner iframe)) {
    display: none !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.container-bn:has(.ad-slot.is-fallback-active) .fallback-ad-img {
    max-height: 72px !important;
}

#footer.footer-modern {
    margin-top: 0.75rem;
}

body.news .section-latest-posts,
body.magazine .section-latest-posts {
    margin-bottom: 0 !important;
}

@media (max-width: 1199px) {
    .page-ad-rail {
        display: none !important;
    }
}
