/* ── Skip Navigation Link ─────────────────────────────────────── */
.a11y-skip-link-7f52fcb0 {
    position: absolute;
    top: -100px;
    left: 0;
    z-index: 999999;
    padding: 12px 24px;
    background: #000;
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    text-decoration: none;
    border-radius: 0 0 4px 0;
    transition: top 0.15s ease;
}
.a11y-skip-link-7f52fcb0:focus {
    top: 0;
    outline: 3px solid #ffbf47;
    outline-offset: 2px;
}
body.admin-bar .a11y-skip-link-7f52fcb0:focus {
    top: var(--wp-admin--admin-bar--height, 32px);
}
@media screen and (max-width: 782px) {
    body.admin-bar .a11y-skip-link-7f52fcb0:focus {
        top: 46px;
    }
}

/* ── Focus Indicators (WCAG 2.1 AA 2.4.7) ─────────────────────── */
a:focus,
button:focus,
[role="button"]:focus,
input:focus,
textarea:focus,
select:focus,
[tabindex]:focus {
    outline: 3px solid #005fcc !important;
    outline-offset: 3px !important;
    border-radius: 2px;
}

/* ── Links must be distinguishable (not by colour alone) ─────────── */
a:not([class]),
.entry-content a {
    text-decoration: underline;
}

/* ── Minimum contrast for inline light-text suspects ─────────────
   Targets inline colour:#fff / #ccc / #ddd on light backgrounds  */
[style*="color:#fff"],
[style*="color: #fff"],
[style*="color:#ccc"],
[style*="color: #ccc"],
[style*="color:#ddd"],
[style*="color: #ddd"] {
    /* Force dark text so WCAG AA 4.5:1 is always met on light bg */
    color: #1a1a1a !important;
}
/* Exception: these selectors are inside dark containers — revert */
.has-black-background-color [style*="color:#fff"],
.has-dark-background-color [style*="color:#fff"],
[class*="dark"] [style*="color:#fff"],
[class*="bg-dark"] [style*="color:#fff"],
.elementor-section.has-bg [style*="color:#fff"] {
    color: #fff !important;
}

/* ── Sufficient touch target size (WCAG 2.5.5) ───────────────────── */
nav a,
.menu-item a,
.elementor-nav-menu a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
}

/* ── aria-hidden decorative elements ─────────────────────────────── */
[aria-hidden="true"] {
    pointer-events: none;
}
