/**
 * N Point Strategies – MemberPress accessibility overrides.
 * Loaded late / with mepr- handle so ReadyLaunch does not strip it.
 */

/* Logo CLS */
.mepr-guest-layout .site-branding img.site-logo,
.mepr-guest-layout .site-branding picture.site-logo img,
.mepr-guest-layout .site-branding picture img {
	width: auto !important;
	height: auto !important;
	max-width: 100% !important;
	max-height: 100px !important;
	aspect-ratio: 338 / 153;
}

/* Focus outline (override .mp_wrapper :focus { outline: 0 } and outline-style: none).
   Scanners evaluate :focus specifically — :focus-visible alone is not enough. */
.mp_wrapper a:focus,
.mp_wrapper a:focus-visible,
.mp_wrapper button:focus,
.mp_wrapper button:focus-visible,
.mp_wrapper select:focus,
.mp_wrapper select:focus-visible,
.mp_wrapper textarea:focus,
.mp_wrapper textarea:focus-visible,
.mp_wrapper input:focus,
.mp_wrapper input:focus-visible,
.mp_wrapper [tabindex]:focus,
.mp_wrapper [tabindex]:focus-visible,
.form-wrapper a:focus,
.form-wrapper a:focus-visible,
.form-wrapper button:focus,
.form-wrapper button:focus-visible,
.form-wrapper select:focus,
.form-wrapper select:focus-visible,
.form-wrapper textarea:focus,
.form-wrapper textarea:focus-visible,
.form-wrapper input:focus,
.form-wrapper input:focus-visible,
.mepr-checkout-container a:focus,
.mepr-checkout-container a:focus-visible,
.mepr-checkout-container select:focus,
.mepr-checkout-container select:focus-visible,
.mepr-checkout-container input:focus,
.mepr-checkout-container input:focus-visible,
.mepr-checkout-container textarea:focus,
.mepr-checkout-container textarea:focus-visible,
.mepr-checkout-container button:focus,
.mepr-checkout-container button:focus-visible,
#mepr-template-login a:focus,
#mepr-template-login a:focus-visible,
#mepr-template-login select:focus,
#mepr-template-login select:focus-visible,
#mepr-template-login input:focus,
#mepr-template-login input:focus-visible,
#mepr-template-login button:focus,
#mepr-template-login button:focus-visible,
a.have-coupon-link:focus,
a.have-coupon-link:focus-visible {
	outline: 2px solid #2271b1 !important;
	outline-style: solid !important;
	outline-width: 2px !important;
	outline-color: #2271b1 !important;
	outline-offset: 2px !important;
	box-shadow: 0 0 0 2px #2271b1 !important;
}

/* Undo base outline-style: none on MP form controls so focus can show. */
.mp_wrapper select,
.mp_wrapper textarea,
.mp_wrapper input[type="text"],
.mp_wrapper input[type="url"],
.mp_wrapper input[type="email"],
.mp_wrapper input[type="tel"],
.mp_wrapper input[type="number"],
.mp_wrapper input[type="password"] {
	outline-style: auto;
}

/* Accordion title look without heading-in-button */
.sow-accordion .sow-accordion-title {
	font-family: "Fira Sans", sans-serif;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.3;
	margin: 0;
}

/*
 * WCAG 1.4.11 – input border contrast.
 * MemberPress uses #ced4da (~1.49:1 on white). Need >= 3:1.
 * #6c757d is ~4.5:1 on white.
 */
#mepr-template-login .mepro-form input,
#mepr-template-login .mepro-form select,
#mepr-template-login .mepr-form input,
#mepr-template-login .mepr-form select,
#mepr-template-login .mepro-form textarea,
#mepr-template-login .mepr-form textarea,
.mepr-checkout-container .form-wrapper input[type="text"],
.mepr-checkout-container .form-wrapper input[type="email"],
.mepr-checkout-container .form-wrapper input[type="url"],
.mepr-checkout-container .form-wrapper input[type="tel"],
.mepr-checkout-container .form-wrapper input[type="password"],
.mepr-checkout-container .form-wrapper input[type="number"],
.mepr-checkout-container .form-wrapper select,
.mepr-checkout-container .form-wrapper textarea,
.form-wrapper .mp-form-row input[type="text"],
.form-wrapper .mp-form-row input[type="email"],
.form-wrapper .mp-form-row input[type="url"],
.form-wrapper .mp-form-row input[type="tel"],
.form-wrapper .mp-form-row input[type="password"],
.form-wrapper .mp-form-row input[type="number"],
.form-wrapper .mp-form-row select,
.form-wrapper .mp-form-row textarea,
.form-wrapper .mepr-form-input,
.mp_wrapper .mepr-form-input,
.mp_wrapper input[type="text"],
.mp_wrapper input[type="email"],
.mp_wrapper input[type="url"],
.mp_wrapper input[type="tel"],
.mp_wrapper input[type="password"],
.mp_wrapper input[type="number"],
.mp_wrapper select,
.mp_wrapper textarea,
.mepr-form input[type="text"],
.mepr-form input[type="email"],
.mepr-form input[type="url"],
.mepr-form input[type="tel"],
.mepr-form input[type="password"],
.mepr-form input[type="number"],
.mepr-form select,
.mepr-form textarea,
.mepr-form .mepr-form-input {
	border: 1px solid #6c757d !important;
	border-color: #6c757d !important;
}

/*
 * WCAG 1.4.11 – Ninja Forms control edges.
 * Fields use a near-white fill (rgb(240,246,251)) with no/empty border
 * against white page background (~1.09:1). Need >= 3:1.
 */
.nf-form-content .ninja-forms-field,
.nf-form-content input[type="text"],
.nf-form-content input[type="email"],
.nf-form-content input[type="tel"],
.nf-form-content input[type="url"],
.nf-form-content input[type="number"],
.nf-form-content input[type="password"],
.nf-form-content input[type="date"],
.nf-form-content select,
.nf-form-content textarea {
	border: 1px solid #6c757d !important;
	border-color: #6c757d !important;
}

/* Keep honeypot out of layout; JS sets tabindex=-1 / inert for AT. */
.nf-form-hp {
	position: absolute !important;
	left: -10000px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}
