/* ==========================================================
   Factor Security — Accessibility Overrides
   Israeli Standard 5568 / WCAG 2.0 Level AA
   ========================================================== */

/* ----------------------------------------------------------
   Skip-to-content link
   ---------------------------------------------------------- */
.skip-link {
    position: absolute;
    top: -120px;
    left: 0;
    z-index: 100001;
    background: #e05a4e;
    color: #fff;
    padding: 12px 24px;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    border-radius: 0 0 6px 0;
    transition: top 0.2s ease;
    white-space: nowrap;
}
.skip-link:focus {
    top: 0;
    outline: 3px solid #fff;
    outline-offset: 2px;
}

/* ----------------------------------------------------------
   Screen-reader only utility
   ---------------------------------------------------------- */
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* ----------------------------------------------------------
   Keyboard focus indicators
   Restores visibility killed by style.css outline:none/0
   ---------------------------------------------------------- */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
[tabindex]:focus-visible,
[role="button"]:focus-visible {
    outline: 3px solid #e05a4e !important;
    outline-offset: 3px !important;
    border-radius: 2px;
}

/* Slightly softer ring for large/block elements */
.btn-main:focus-visible,
.btn-line:focus-visible,
a.btn-main:focus-visible {
    outline: 3px solid #e05a4e !important;
    outline-offset: 4px !important;
}

/* Inputs and textareas — show ring inside border */
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
    outline: 3px solid #e05a4e !important;
    outline-offset: 0 !important;
}

/* ----------------------------------------------------------
   Color contrast fixes
   #797a8c body text on dark backgrounds fails AA.
   Bump to a minimum ~4.7:1 ratio on dark backgrounds.
   ---------------------------------------------------------- */
.dark-scheme p,
.section-dark p,
.bg-dark p,
.bg-dark-2 p {
    color: rgba(255, 255, 255, 0.85);
}

/* Muted/secondary text: rgba(255,255,255,0.5) fails — raise to 0.75 */
.dark-scheme .text-muted,
.section-dark .text-muted {
    color: rgba(255, 255, 255, 0.75) !important;
}

/* ----------------------------------------------------------
   Icon-only interactive elements
   Ensure font-icon buttons/links have enough click area
   ---------------------------------------------------------- */
.social-icons a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    min-height: 36px;
}

/* ----------------------------------------------------------
   Reduce motion — respect user OS preference
   ---------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}
