/* Keyboard-only focus ring (WCAG 2.4.7).
   Theme CSS sets outline:0 on :focus / :focus-visible; this file loads last. */
:focus-visible,
a:focus-visible,
button:focus-visible,
[type="button"]:focus-visible,
[type="submit"]:focus-visible,
[type="reset"]:focus-visible,
[type="checkbox"]:focus-visible,
[type="radio"]:focus-visible,
[href]:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible,
.btn:focus-visible,
.nav-link:focus-visible,
.navbar-toggler:focus-visible,
.dropdown-item:focus-visible,
.dropdown-toggle:focus-visible,
.form-control:focus-visible,
.form-select:focus-visible,
.form-check-input:focus-visible,
.page-link:focus-visible,
.hamburger:focus-visible {
    outline: 2px solid #3e7c78 !important;
    outline-offset: 2px !important;
    box-shadow: 0 0 0 2px #ffffff !important;
}

footer :focus-visible,
footer a:focus-visible,
footer [href]:focus-visible,
footer button:focus-visible,
footer .btn:focus-visible,
footer input:focus-visible {
    outline: 2px solid #7ec8c3 !important;
    outline-offset: 2px !important;
    box-shadow: 0 0 0 2px #ffffff !important;
}

@media (max-width: 991.98px) {
    .offcanvas-nav :focus-visible,
    .offcanvas-nav a:focus-visible,
    .offcanvas-nav [href]:focus-visible,
    .offcanvas-nav button:focus-visible {
        outline: 2px solid #7ec8c3 !important;
        outline-offset: 2px !important;
        box-shadow: 0 0 0 2px #ffffff !important;
    }
}

/* Card links already ring the inner panel — keep a single indicator. */
.service-card:focus-visible,
.video-card:focus-visible {
    outline: none !important;
    box-shadow: none !important;
}

.service-card:focus-visible .service-card__inner,
.video-card:focus-visible .video-card__inner {
    outline: 2px solid #3e7c78 !important;
    outline-offset: 2px !important;
    box-shadow: 0 0 0 2px #ffffff !important;
}
