/**
 * WCAG 2.1 AA Compliance Fixes
 * Focus states, Color Contrast, and Semantic structure helpers.
 */

/* FOCUS VISIBILITY */
*:focus-visible {
    outline: 2px solid #00ff00; /* High contrast neon green */
    outline-offset: 2px;
    z-index: 9999;
}

/* Button focus override for better visibility on dark backgrounds */
.btn:focus-visible, 
button:focus-visible, 
a.button:focus-visible {
    box-shadow: 0 0 0 3px rgba(0, 255, 0, 0.5);
    outline: none;
}

/* COLOR CONTRAST HELPERS */
/* Ensure text on dark backgrounds is readable */
.bg-dark p, .bg-dark span, .bg-dark li {
    color: #e0e0e0; /* Light grey instead of dark grey */
}

.text-muted {
    color: #b0b0b0 !important; /* Lighten muted text for better contrast on dark */
}

/* Ensure links have sufficient contrast */
a {
    color: #64ffda; /* Cyan/Neon Green */
}
a:hover {
    color: #ffffff;
}

/* Form Inputs */
input, select, textarea {
    background-color: #1a1a1a;
    color: #ffffff;
    border: 1px solid #444;
}
input:focus, select:focus, textarea:focus {
    border-color: #00ff00;
    background-color: #000;
}

/* Skip Link */
.skip-link {
    position: absolute;
    top: -40px;
    left: 0;
    background: #000;
    color: #00ff00;
    padding: 8px;
    z-index: 10000;
    transition: top 0.3s;
}
.skip-link:focus {
    top: 0;
}
