/* Allow the content column to shrink to the available width, including after
   a third-party ad is inserted. Never crop or scale an advertising creative. */
body.mcf-azure > .page > main,
body.mcf-azure > .page > .sidebar,
.news-article__layout,
.news-article__main,
.news-article__content,
.hp-home,
.mp-wrap,
.mpf-wrap {
    min-width: 0;
    max-width: 100%;
}

/* Direct banners use a full-width flow container, not a flex/grid card. */
.ad-slot,
.mcf-ad-slot {
    box-sizing: border-box;
    display: block;
    clear: both;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    margin-block: 24px;
    grid-column: 1 / -1;
}
.ad-slot__box { min-width: 0; max-width: 100%; }
.ad-slot__box > a { display: block; }
.ad-slot__box img { display: block; width: 100%; height: auto; object-fit: contain; }

/* A download row is an indivisible control, not an advertising slot. On a
   phone its action needs its own line instead of overflowing the card. */
.mp-dl-info { min-width: 0; overflow-wrap: anywhere; }
.mp-dl-meta { flex-wrap: wrap; }
.br-page .br-hero { position: relative; }
@media (max-width: 680px) {
    .mp-dl-option { display: grid; grid-template-columns: auto minmax(0, 1fr); }
    .mp-dl-btn-wrap { grid-column: 1 / -1; min-width: 0; }
    .mp-dl-btn-wrap .btn-mp { width: 100%; white-space: normal; justify-content: center; }
}
@media (max-width: 600px) {
    /* Keep the download shortcut clear of the recovery notice. */
    body:has(#recoveryNoticeLauncher) #modStickyCta {
        bottom: calc(88px + env(safe-area-inset-bottom));
    }
}
@media (max-width: 420px) {
    .mcf-azure .azure-catalog-hero .cat-stats { flex-wrap: wrap; }
    .mcf-azure .azure-catalog-hero .cat-stat { flex: 1 1 100px; min-width: 0; }
}
