/* Shared storefront constraints. Keep scrolling local to content that needs it;
   do not hide page overflow or constrain carousel tracks and dropdown panels. */
.c-layout-page {
    overflow-wrap: anywhere;
}

/* The prefooter adds padding outside Bootstrap's fixed-width container. */
.c-layout-footer-6 .c-prefooter > .container {
    max-width: 100%;
}

/* Bootstrap columns may also become flex/grid children in individual views. */
.c-layout-page .row > [class*="col-"],
.c-layout-page .c-layout-sidebar-content,
.c-layout-page .tab-content,
.c-layout-page .tab-pane,
.c-layout-page .c-product-meta,
.c-layout-page .c-info,
.c-layout-page .text-edit {
    min-width: 0;
}

/* Scale oversized content media down without enlarging small originals. */
.c-layout-page img,
.c-layout-page video {
    max-width: 100%;
    height: auto;
}

/* CMS editors can save inline image heights, which otherwise distort images
   when their width is constrained on a phone. */
.c-layout-page .c-layout-sidebar-content img {
    height: auto !important;
}

/* Preserve authored embed heights: maps and embedded players need them. */
.c-layout-page iframe,
.c-layout-page embed,
.c-layout-page object {
    max-width: 100%;
}

.c-layout-page pre {
    max-width: 100%;
    overflow-x: auto;
}

@media (max-width: 991px) {
    /* An editorial image plus its float margin can exceed the content width. */
    .c-layout-page img.alignleft,
    .c-layout-page img.alignright {
        float: none;
        margin-left: 0;
        margin-right: 0;
    }
}
