/* ==========================================================================
   SITE-WIDE RESPONSIVE SAFETY NET
   Loaded last, after main.css / redesign.css / robotics.css / group-menu.css
   / faqs.css / goc.css, which already carry the bulk of the theme's own
   breakpoints. This file only closes the small, generic gaps that any
   component could hit — a wide table, an unconstrained image, a fixed-width
   embed — rather than re-styling anything those files already own.
   ========================================================================== */

/* Never let a single element force horizontal scroll on the page. */
html { overflow-x: hidden; }

img, svg, video, iframe, embed, object, canvas {
	max-width: 100%;
	height: auto;
}

/* Tables in editor content (the_content) don't get the app's own grid
   treatment, so give any that appear their own scroll rail instead of
   pushing the viewport wide. */
.prose table,
.entry-content table,
article table {
	display: block;
	max-width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

/* Long unbroken strings (URLs, tracking codes, long SKUs) in body copy. */
.prose, .entry-content, article, .fq-a, .goc-card__p {
	overflow-wrap: break-word;
	word-break: break-word;
}

/* Code blocks scroll rather than overflow. */
pre, code { max-width: 100%; overflow-x: auto; }

/* Buttons and pill links wrap onto a second line instead of clipping. */
.btn, .button, a[class*="btn-"], a[class*="cta"] {
	white-space: normal;
	word-break: break-word;
}

/* Any container using a fixed pixel width falls back to 100% under it. */
@media (max-width: 480px) {
	.container { padding-left: 16px; padding-right: 16px; }
}

/* Large desktop monitors: keep line length readable instead of stretching
   prose full-bleed on ultra-wide screens. */
@media (min-width: 1800px) {
	.prose--page, .prose--article, .container--narrow { max-width: 1120px; margin-left: auto; margin-right: auto; }
}
