/*
 * Elastic text baseline shared by every NMH widget.
 *
 * A word longer than the line it sits on — a large title in a narrow column, a
 * long e-mail address in a footer — overflowed its widget instead of wrapping,
 * because `overflow-wrap: normal` never breaks inside a word. `anywhere` breaks
 * only when a word cannot fit on a line of its own, so ordinary text is
 * unchanged, and unlike `break-word` it also lowers the min-content width, which
 * lets flex and grid items shrink instead of forcing the widget wider.
 *
 * `:where()` keeps specificity at zero and the value is inherited, so any
 * declaration a widget or the site makes on a descendant still wins, and
 * `white-space: nowrap` elements (marquees, oversized backdrop words) are
 * unaffected.
 */
:where([class*="elementor-widget-noise-"]) {
	overflow-wrap: anywhere;
}

/*
 * Visually hidden text for assistive technology. Five widgets print
 * `screen-reader-text` labels (menu toggle, carousel arrows, ratings, social
 * links) and relied on the theme to hide them. Themes that do not define the
 * class, or pages that do not load the theme stylesheet, showed "Toggle
 * navigation" on screen and squeezed the mobile header. This is WordPress core's
 * own definition, scoped to NMH widgets.
 */
:where([class*="elementor-widget-noise-"]) .screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	clip-path: inset(50%);
	border: 0;
	white-space: nowrap;
	word-wrap: normal !important;
}
