/* SEO + accessibility HTML enhancements for public pages */
.skip-link {
    position: fixed;
    left: 1rem;
    top: 1rem;
    z-index: 11000;
    transform: translateY(-160%);
    padding: .65rem 1rem;
    border-radius: 999px;
    background: var(--clr-primary, #1e5f74);
    color: #fff;
    font-weight: 700;
    text-decoration: none;
    box-shadow: 0 14px 34px rgba(0,0,0,.18);
}

.skip-link:focus {
    transform: translateY(0);
    outline: 3px solid var(--clr-accent, #3ab0c5);
    outline-offset: 3px;
    color: #fff;
}

#main-content:focus {
    outline: none;
}

.seo-breadcrumb {
    position: relative;
    z-index: 2;
    background: rgba(255,255,255,.94);
    border-bottom: 1px solid rgba(20,68,85,.08);
    padding: .72rem 0;
}

.seo-breadcrumb-list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .45rem;
    list-style: none;
    padding: 0;
    margin: 0;
    font-size: .88rem;
}

.seo-breadcrumb-item {
    display: inline-flex;
    align-items: center;
    color: var(--clr-text-light, #6c757d);
}

.seo-breadcrumb-item + .seo-breadcrumb-item::before {
    content: "/";
    margin-right: .45rem;
    color: rgba(0,0,0,.34);
}

.seo-breadcrumb-item a {
    color: var(--clr-primary, #1e5f74);
    text-decoration: none;
    font-weight: 700;
}

.seo-breadcrumb-item a:hover,
.seo-breadcrumb-item a:focus {
    text-decoration: underline;
}

.seo-breadcrumb-item.is-current {
    color: var(--clr-text, #3d3d3d);
    font-weight: 700;
}

@media (max-width: 767.98px) {
    .seo-breadcrumb {
        padding: .6rem 0;
    }

    .seo-breadcrumb-list {
        font-size: .82rem;
    }
}
