/**
 * SphereNexus v2.4.3 — hard containment for imported article media.
 * Fixes publisher markup with negative margins, fixed viewport widths,
 * transforms, absolute positioning and legacy width attributes.
 */

.single-main--v23,
.single-article--v23,
.sn-single-v23-shell,
.sn-single-v23-main,
.sn-single-v24-body-card,
.sn-single-v23-content {
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

.single-main--v23,
.single-article--v23,
.sn-single-v23-main,
.sn-single-v24-body-card,
.sn-single-v23-content {
    overflow-x: clip !important;
}

/* Every direct article child must remain inside the editorial column. */
.single-article .sn-single-v23-content > * {
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* Classes are added server-side and reinforced in JavaScript for malformed feeds. */
.single-article .sn-single-v23-content .sn-inline-media-wrap {
    display: block !important;
    position: static !important;
    inset: auto !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    float: none !important;
    clear: both !important;
    transform: none !important;
    translate: none !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 680px !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 26px auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}

.single-article .sn-single-v23-content a.sn-inline-media-wrap {
    text-decoration: none !important;
}

/* Modern-browser fallback for wrappers not caught by malformed server markup. */
.single-article .sn-single-v23-content > :where(p, div, section, figure, picture):has(img),
.single-article .sn-single-v23-content > :where(p, div, section, figure, picture) > :where(a, p, div, figure, picture):has(img) {
    position: static !important;
    inset: auto !important;
    float: none !important;
    transform: none !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 680px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
}

.single-article .sn-single-v23-content img.sn-inline-article-image,
.single-article .sn-single-v23-content .sn-inline-media-wrap img,
.single-article .sn-single-v23-content > :where(p, div, section, figure, picture) img {
    display: block !important;
    position: static !important;
    inset: auto !important;
    float: none !important;
    transform: none !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 520px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    object-fit: contain !important;
    object-position: center !important;
    box-sizing: border-box !important;
    border-radius: 10px !important;
}

/* Imported captions remain under their own image and cannot push the layout. */
.single-article .sn-single-v23-content .sn-inline-media-wrap figcaption,
.single-article .sn-single-v23-content .sn-inline-media-wrap .wp-caption-text,
.single-article .sn-single-v23-content .sn-inline-media-wrap + p:has(> em:only-child) {
    width: 100% !important;
    max-width: 680px !important;
    margin: 8px auto 0 !important;
    padding: 0 8px !important;
    overflow-wrap: anywhere !important;
    box-sizing: border-box !important;
    text-align: center !important;
}

/* Tables, embeds and iframes must not create horizontal overflow either. */
.single-article .sn-single-v23-content table,
.single-article .sn-single-v23-content iframe,
.single-article .sn-single-v23-content video,
.single-article .sn-single-v23-content embed,
.single-article .sn-single-v23-content object {
    max-width: 100% !important;
    box-sizing: border-box !important;
}

@media (max-width: 782px) {
    .single-article .sn-single-v23-content .sn-inline-media-wrap,
    .single-article .sn-single-v23-content > :where(p, div, section, figure, picture):has(img),
    .single-article .sn-single-v23-content > :where(p, div, section, figure, picture) > :where(a, p, div, figure, picture):has(img) {
        max-width: 100% !important;
        margin-top: 20px !important;
        margin-bottom: 20px !important;
    }

    .single-article .sn-single-v23-content img.sn-inline-article-image,
    .single-article .sn-single-v23-content .sn-inline-media-wrap img {
        max-height: 380px !important;
        border-radius: 8px !important;
    }
}

@media (max-width: 480px) {
    .sn-single-v24-body-card {
        padding-left: 13px !important;
        padding-right: 13px !important;
    }

    .single-article .sn-single-v23-content img.sn-inline-article-image,
    .single-article .sn-single-v23-content .sn-inline-media-wrap img {
        max-height: 300px !important;
    }
}
