/* --- Skip link (skip-link-focus.js + PHP output) --- */
/* :visited / Divi link styles often override plain `color`; use !important and all link states */
a.skip-link,
a.skip-link:link,
a.skip-link:visited,
a.skip-link:hover,
a.skip-link:active,
.skip-link {
	position: absolute;
	left: -9999px;
	z-index: 2147483646;
	padding: 0.75rem 1rem;
	background: #1f75b9 !important;
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
	-webkit-background-clip: border-box !important;
	background-clip: border-box !important;
	font-weight: 600;
	text-decoration: none;
	border-radius: 0 0 4px 0;
}

a.skip-link:focus,
a.skip-link:focus-visible,
.skip-link:focus,
.skip-link:focus-visible {
	position: fixed !important;
	left: 0 !important;
	top: 0 !important;
	right: auto !important;
	width: auto !important;
	height: auto !important;
	max-width: 100vw;
	overflow: visible !important;
	clip: auto !important;
	clip-path: none !important;
	white-space: normal;
	opacity: 1 !important;
	visibility: visible !important;
	transform: none !important;
	pointer-events: auto !important;
	z-index: 2147483647 !important;
	background: #1f75b9 !important;
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
	-webkit-background-clip: border-box !important;
	background-clip: border-box !important;
	outline: 3px solid var(--border-focus, #109cde) !important;
	outline-offset: 2px;
	box-shadow: 0 0 0 2px var(--focus-ring-inner, #ffffff);
}

/* --- accessibility-focus.js: visible keyboard focus (scoped: skip link lives outside #page-container) --- */
#page-container :focus-visible {
	outline: 4px solid var(--focus-ring-outer, #109cde);
	box-shadow: 0 0 0 2px var(--focus-ring-inner, #ffffff);
	position: relative;
	z-index: 1;
}

#page-container .et_pb_toggle_title:focus-visible {
	outline: 4px solid var(--focus-ring-outer, #109cde);
	box-shadow: 0 0 0 2px var(--focus-ring-inner, #ffffff);
	position: relative;
	z-index: 1;
}

#page-container .et_pb_blurb.et_clickable:focus-visible {
	outline: 4px solid var(--focus-ring-outer, #109cde);
	box-shadow: 0 0 0 2px var(--focus-ring-inner, #ffffff);
	position: relative;
	z-index: 1;
}

/* Slick carousel arrows: theme.css sets outline:none on many sliders; restore keyboard focus ring */
#page-container button.slick-arrow:focus-visible {
	outline: 4px solid var(--focus-ring-outer, #109cde) !important;
	outline-offset: 3px;
	box-shadow: 0 0 0 2px var(--focus-ring-inner, #ffffff);
	position: relative;
	z-index: 5;
}

/* --- divi-video-controls.js: injected .fsm-video-control --- */
.fsm-video-control {
	position: absolute;
	top: 1rem;
	right: 1rem;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background-color: var(--video-control-bg, rgba(0, 0, 0, 0.6));
	border: none;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 9999 !important;
	transition: all 0.2s ease;
	box-shadow: 0 2px 8px var(--video-control-shadow, rgba(0, 0, 0, 0.4));
	pointer-events: auto !important;
}

.fsm-video-control-hover {
	opacity: 0;
	pointer-events: none;
}

.fsm-video-control-hover.fsm-video-control-visible,
.fsm-video-control-hover:focus {
	opacity: 1;
	pointer-events: auto;
}

.fsm-video-control:hover {
	background-color: var(--video-control-bg-hover, rgba(0, 0, 0, 0.8));
	transform: scale(1.1);
	box-shadow: 0 4px 12px var(--video-control-shadow-hover, rgba(0, 0, 0, 0.6));
}

.fsm-video-control:focus-visible {
	outline: 4px solid var(--video-control-focus, #fb923c);
	outline-offset: 2px;
}

.fsm-video-control i {
	color: var(--video-control-icon, #ffffff);
	font-size: 14px;
	line-height: 1;
}

.portfolio-featured-video .fsm-video-control,
.gallery-hero .fsm-video-control,
.et-pb-background-video .fsm-video-control,
.et-pb-has-background-video .fsm-video-control,
.et_pb_video_box .fsm-video-control {
	top: auto;
	bottom: 1rem;
	right: 1rem;
}

.portfolio-featured-video .et_pb_video_box,
.gallery-hero,
.et-pb-background-video {
	position: relative;
}

.et-pb-has-background-video {
	position: relative;
}

.et-pb-has-background-video .fsm-video-control {
	z-index: 99999 !important;
}