/* One authoritative banner geometry layer. Loaded after legacy theme fixes. */
.top-ad-wrap,
.wide-banner-wrap,
.home-after-market-ad,
.content-wide-ad,
.ad-slot--top,
.ad-slot--wide,
.ad-slot--footer {
    display: flex;
    justify-content: center;
}

.top-ad-wrap > *,
.wide-banner-wrap > *,
.home-after-market-ad > *,
.content-wide-ad > *,
.ad-slot--top > *,
.ad-slot--wide > *,
.ad-slot--footer > * {
    width: min(100%, 1080px) !important;
    max-width: 1080px !important;
}

.managed-banner {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    aspect-ratio: var(--banner-ratio-desktop) !important;
    overflow: hidden;
    background: #f5f2ea;
}

.managed-banner picture,
.managed-banner img {
    display: block;
    width: 100% !important;
    height: 100% !important;
}

.managed-banner img {
    object-fit: contain !important;
    object-position: center !important;
}

@media (max-width: 767px) {
    .managed-banner {
        width: min(100%, 320px) !important;
        margin-inline: auto;
        aspect-ratio: var(--banner-ratio-mobile) !important;
    }
}
