.screen-reader-text,
.tfs-visually-hidden {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.screen-reader-text:focus {
	position: static !important;
	width: auto;
	height: auto;
	margin: 0;
	overflow: visible;
	clip: auto;
	white-space: normal;
}

/* WPForms uploader — WCAG AA contrast
   WPForms applies opacity:0.6 to .modern-hint, compositing #767676 → #adadad (2.24:1 FAIL).
   Fix: force opacity:1 and use #767676 (4.54:1 PASS) to restore readability. */
.wpforms-uploader .modern-title,
.wpforms-uploader .modern-title span {
	color: #767676 !important;
}
.wpforms-uploader .modern-hint {
	color: #767676 !important;
	opacity: 1 !important;
}

.has-focus-ring:focus-visible {
	outline: 3px solid #f8002e;
	outline-offset: 2px;
}

.tfs-container {
	width: min(1220px, 100% - 2rem);
	margin-inline: auto;
}

/* Font-size switcher — applied to <html> so all rem values cascade */
html.tfs-font-normal {
	font-size: 100%;    /* 16px — default */
}

html.tfs-font-large {
	font-size: 112.5%;  /* 18px */
}

html.tfs-font-xlarge {
	font-size: 125%;    /* 20px */
}
