.ad-home:empty,
.ad-placement:empty,
.content-ad-placement:empty,
[data-ad-desktop-group][hidden],
.ad-placement[hidden] {
    display: none !important;
}

.advertisement {
    width: 100%;
    margin: 0;
    overflow: hidden;
    background: #fff;
}

.advertisement--horizontal {
    aspect-ratio: 8 / 3;
}

.advertisement--vertical {
    width: min(100%, 360px);
    aspect-ratio: 3 / 5;
    margin-inline: auto;
}

.advertisement__link,
.advertisement__picture {
    display: block;
    width: 100%;
    height: 100%;
    line-height: 0;
}

.advertisement__image {
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
    object-fit: contain;
    object-position: center;
}

.content-ad-placement {
    width: min(100%, 1000px);
    margin: 1.75rem auto;
}

.content-ad-placement .advertisement {
    width: 100%;
    max-width: none;
    aspect-ratio: 8 / 3;
    margin-inline: 0;
}

.content-ad-placement--intro {
    margin-block: 1.25rem 1.75rem;
}

.content-ad-placement--article {
    margin-block: 2rem;
}

.archive-cards__ad {
    grid-column: 1 / -1;
}

.archive-cards__ad .content-ad-placement {
    margin-block: 0.15rem 0.35rem;
}

@media (hover: hover) {
    .advertisement__link:hover {
        opacity: 0.92;
    }
}

@media (min-width: 640px) and (max-width: 1023px) {
    .advertisement[data-ad-tablet-ready="0"] {
        display: none;
    }
}

@media (max-width: 639px) {
    .content-ad-placement {
        width: min(100%, 360px);
        margin-block: 1.35rem;
    }

    .content-ad-placement .advertisement {
        aspect-ratio: 3 / 5;
    }

    .advertisement[data-ad-mobile-ready="0"] {
        display: none;
    }
}

@media (min-width: 1024px) {
    .advertisement[data-ad-desktop-ready="0"] {
        display: none;
    }
}
