/* Accessibility basics: skip link + visible keyboard focus */

.shifke-skip-link {
	position: absolute;
	z-index: 100000;
	top: 0;
	right: 12px;
	padding: 10px 14px;
	border-radius: 0 0 8px 8px;
	background: #1f2933;
	color: #fff;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.3;
	text-decoration: none;
	transform: translateY(-120%);
	transition: transform 0.15s ease;
}

.shifke-skip-link:focus,
.shifke-skip-link:focus-visible {
	transform: translateY(0);
	outline: 3px solid #1f7a5c;
	outline-offset: 2px;
	color: #fff;
}

#primary:focus {
	outline: none;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
[tabindex]:not([tabindex="-1"]):focus-visible,
.button:focus-visible,
.wpcf7 input[type="submit"]:focus-visible,
.wpcf7 .wpcf7-submit:focus-visible {
	outline: 3px solid #1f7a5c !important;
	outline-offset: 2px;
}

/* Contact form fields use their own focus ring (no outward outline over labels). */
.wpcf7 input[type="text"]:focus-visible,
.wpcf7 input[type="email"]:focus-visible,
.wpcf7 input[type="tel"]:focus-visible,
.wpcf7 input[type="url"]:focus-visible,
.wpcf7 input[type="number"]:focus-visible,
.wpcf7 textarea:focus-visible,
.wpcf7 select:focus-visible,
.wpcf7 .shifke-cf7__select-trigger:focus-visible {
	outline: none !important;
	outline-offset: 0 !important;
}

/* Restore focus where the parent theme removes outlines. */
a:focus:not(:focus-visible),
button:focus:not(:focus-visible),
.button:focus:not(:focus-visible),
input[type="submit"]:focus:not(:focus-visible) {
	outline: none;
}
