/*
 * Accessibility fixes (Nov 2026 audit). Loaded by inc/a11y.php after
 * main.css; ships unminified (no .min copy to rebuild).
 */

:root {
	--iw-focus: #6633ff;
}
/* light ring on dark ground: dark pages, the footer, the blog promo bar */
body.dark-enabled,
#oldschool,
#blog-banner {
	--iw-focus: #a385ff;
}

/* ------------------------------------------------------- focus ring
   The legacy reset sets outline:0 on every link and nothing put a focus
   style back. !important beats the per-widget outline:0 rules (sliders,
   search fields); outline-offset is left to more specific rules, so the
   header menu keeps its inset ring. */
:focus-visible {
	outline: 2px solid var(--iw-focus) !important;
	outline-offset: 2px;
}
/* containers focused by script (skip link target, consent toggles) */
#iw-main:focus,
#cmplz-manage-consent-container:focus {
	outline: none !important;
}

/* --------------------------------------------- visually hidden text
   site.css sets .screen-reader-text to display:none, which hides it from
   screen readers too. */
.screen-reader-text,
.widget.widget_search form .screen-reader-text {
	display: block !important;
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

/* ------------------------------------------------------- skip link */
.skip-link {
	position: fixed;
	top: 8px;
	left: 8px;
	z-index: 100000; /* above the header (and the consent banner, 99999) */
	padding: 12px 20px;
	border-radius: 50px;
	background: #6633ff;
	color: #fff;
	font-family: "Nunito Sans", sans-serif;
	font-size: 16px;
	font-weight: 700;
	text-decoration: none;
	transform: translateY(-200%);
}
.skip-link:focus {
	transform: none;
	color: #fff;
	text-decoration: none;
}

/* ------------------------------------------- header search (desktop)
   The icon and close are <button>s now; undo the Elementor kit's purple
   pill and Hello's button reset so they look as the old div/span did. */
#search-iv #search-iv-icon,
#search-iv .search-iv-close {
	padding: 0;
	margin: 0;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	text-shadow: none;
	min-width: 0;
	font-family: inherit;
	line-height: inherit;
	-webkit-appearance: none;
	appearance: none;
}
#search-iv #search-iv-icon,
#search-iv #search-iv-icon:hover,
#search-iv #search-iv-icon:focus {
	background-color: transparent;
}
#search-iv .search-iv-close,
#search-iv .search-iv-close:hover,
#search-iv .search-iv-close:focus {
	background: none;
	color: #6633ff;
}
#search-iv input[type="text"]:focus-visible {
	outline-offset: -2px;
}

/* ---------------------------------------- footer column headings
   Menu items with URL "#" render as <a> without href (inc/a11y.php). */
#oldschool .widget_nav_menu a:not([href]) {
	cursor: default;
}

/* ------------------------------------------------- blog promo bar */
@media (prefers-reduced-motion: reduce) {
	#blog-banner {
		transition: none;
	}
}

/* ------------------------------------------- autoplay video toggle
   js/a11y.js adds a pause button next to looping videos that have no
   controls, inside the video's own container (.iw-video-host). */
.iw-video-host {
	position: relative;
}
.iw-video-host .iw-video-toggle {
	position: absolute;
	right: 10px;
	bottom: 10px;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	min-width: 0;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(0, 0, 0, 0.6);
	box-shadow: none;
	color: #fff;
	cursor: pointer;
	opacity: 0;
	transition: opacity 0.2s ease;
}
.iw-video-host .iw-video-toggle svg {
	width: 16px;
	height: 16px;
	fill: currentColor;
}
/* shown on hover, on keyboard focus, and whenever the video is paused */
.iw-video-host:hover .iw-video-toggle,
.iw-video-toggle:focus-visible,
.iw-video-toggle.is-paused {
	opacity: 1;
}
.iw-video-host .iw-video-toggle:hover,
.iw-video-host .iw-video-toggle:focus {
	background: rgba(0, 0, 0, 0.8);
	color: #fff;
}
@media (hover: none) {
	.iw-video-host .iw-video-toggle {
		opacity: 1;
	}
}

/* --------------------------------------------- blog post accordions
   js/a11y.js puts a <button> inside each clickable H2; it should look
   exactly like the heading text it wraps. */
.blog-accordion-wrapper h2 button.iw-accordion-btn,
.blog-accordion-wrapper h2 button.iw-accordion-btn:hover,
.blog-accordion-wrapper h2 button.iw-accordion-btn:focus {
	display: block;
	width: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: none;
	box-shadow: none;
	text-shadow: none;
	min-width: 0;
	color: inherit;
	font: inherit;
	letter-spacing: inherit;
	text-transform: inherit;
	text-align: inherit;
	cursor: inherit;
	-webkit-appearance: none;
	appearance: none;
}
