/*
 * Minimal reset.
 *
 * Normalises behaviour, never appearance. No font stack, no colours, no
 * spacing scale — anything that would show up as a design decision belongs in
 * the Elementor Theme Builder, not in a theme reused across every project.
 *
 * Kept deliberately short. A heavy reset fights Elementor's own normalisation
 * and produces specificity battles that surface months later on one client's
 * site.
 */

*,
*::before,
*::after {
	box-sizing: border-box;
}

body {
	margin: 0;
	/* Inherits whatever Elementor Site Settings define. */
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

/* Media defaults to block so it stops sitting on the text baseline, and never
   overflows its container. */
img,
picture,
video,
canvas,
svg,
iframe {
	display: block;
	max-width: 100%;
}

img,
video {
	height: auto;
}

/* Form controls do not inherit typography by default in any browser. */
input,
button,
textarea,
select {
	font: inherit;
	color: inherit;
}

/* Long words and URLs must not force horizontal scrolling. */
p,
h1,
h2,
h3,
h4,
h5,
h6 {
	overflow-wrap: break-word;
}

/* Anchor targets clear a sticky Theme Builder header. */
:target {
	scroll-margin-top: var(--enm-header-offset, 0px);
}

/* WordPress core markup classes the theme must support. */
.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

.screen-reader-text:focus {
	position: static !important;
	width: auto;
	height: auto;
	margin: 0;
	overflow: visible;
	clip-path: none;
	white-space: normal;
}

.enmtorres-skip-link:focus {
	z-index: var(--enm-z-skip-link);
}

/* Respect the visitor's motion preference. This is an accessibility
   requirement, not a style choice, which is why it lives in the reset. */
@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}
