/* MBSS Accessibility Fixes */

/* 2.4.1 Skip link: hidden until focused */
.mbss-skip-link {
	position: absolute;
	top: -100px;
	left: 8px;
	z-index: 100000;
	padding: 12px 20px;
	background: #1a1a1a;
	color: #ffffff;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	border-radius: 0 0 4px 4px;
	transition: top 0.15s ease-in-out;
}
.mbss-skip-link:focus {
	top: 0;
	color: #ffffff;
	outline: 3px solid #ffbf47;
	outline-offset: 0;
}

/* Screen reader only text (WordPress ships .screen-reader-text; this is a local copy in case the theme removes it) */
.mbss-sr-only,
.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* 2.4.7 Focus visible: a clear indicator on every interactive element.
   Uses :focus-visible so mouse clicks do not show the ring. */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible,
[role="button"]:focus-visible {
	outline: 3px solid #005fcc !important;
	outline-offset: 2px;
	box-shadow: 0 0 0 5px #ffffff;
}
a:focus:not(:focus-visible),
button:focus:not(:focus-visible) {
	outline: none;
}

/* Demoted duplicate h1 keeps the theme's look via its original classes.
   Add font rules here if the theme styled the element selector instead of a class. */
.mbss-demoted-h1 {
	margin: 0;
}

/* 2.2.2 Slider Revolution pause / play control */
.mbss-slider-pause {
	position: absolute;
	right: 16px;
	bottom: 16px;
	z-index: 60;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 2px solid #ffffff;
	border-radius: 50%;
	background: rgba(0, 0, 0, 0.65);
	color: #ffffff;
	font-size: 14px;
	line-height: 40px;
	text-align: center;
	cursor: pointer;
}
.mbss-slider-pause:hover,
.mbss-slider-pause:focus-visible {
	background: rgba(0, 0, 0, 0.9);
}
.mbss-slider-pause .mbss-icon-play { display: none; }
.mbss-slider-pause.is-paused .mbss-icon-pause { display: none; }
.mbss-slider-pause.is-paused .mbss-icon-play { display: inline; }

/* 2.3.3 Reduce motion for users who asked for it */
@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto !important;
	}
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}
}

/* 2.5.5 Target size helper for the tiny header icons (adjust selectors to the theme) */
.header-social a,
.social-icons a,
.top-bar a[href*="facebook"],
.top-bar a[href*="instagram"] {
	min-width: 24px;
	min-height: 24px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}


/* Gardis theme corrections, verified against the site's form and menu markup. */
.mbss-skip-link { position: fixed; }
.page_content_wrap .content[tabindex="-1"] { scroll-margin-top: 110px; }
.menu_mobile[aria-hidden="true"] { visibility: hidden !important; }
.menu_mobile[aria-hidden="false"] { visibility: visible !important; }
.menu-collapse.mbss-submenu-open > ul {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}
.menu-collapse.mbss-submenu-closed > ul { display: none !important; }
.sc_layouts_menu .menu-collapse > ul a { color: #243746 !important; }
.sc_layouts_menu .menu-collapse > ul { background: #e8f1f9 !important; }
/* Restore WooCommerce's native keyboard control in place of nonfocusable swatches. */
.variations select.trx_addons_attrib_color {
    display: inline-block !important;
    visibility: visible !important;
    min-height: 44px;
    max-width: 100%;
    color: #243746 !important;
    background: #e8f1f9 !important;
    border: 1px solid #526777 !important;
}
.variations select.trx_addons_attrib_color + .trx_addons_attrib_extended { display: none !important; }
.mbss-field-label {
    display: block;
    margin-bottom: .4em;
    font-size: 1rem;
    line-height: 1.5;
    color: #243746;
}
.wpcf7-form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
.wpcf7-form textarea, .wpcf7-form select {
    color: #243746 !important;
    background-color: #e8f1f9 !important;
    border: 1px solid #526777 !important;
}
.wpcf7-form input::placeholder, .wpcf7-form textarea::placeholder {
    color: #4b5f6e !important;
    opacity: 1;
}
.wpcf7-form input[type="submit"], .wpcf7-form button[type="submit"] {
    color: #fff !important;
    background-color: #096487 !important;
}
.wpcf7-form .wpcf7-not-valid-tip { color: #a71919 !important; }
.sc_layouts_menu_mobile_button a, .menu_mobile_close, .menu-collapse > a,
.aicwz-carousel-prev, .aicwz-carousel-next, .search_submit {
    min-width: 44px;
    min-height: 44px;
    box-sizing: border-box;
}

