/* Accessibility Styles */

/* High Contrast Mode */
body.high-contrast {
    --primary-blue: #000080;
    --deep-blue: #000000;
    --warm-orange: #FF6600;
    --warm-green: #006600;
    --white: #FFFFFF;
    --text-color: #000000;
    --text-light: #000000;
    --light-gray: #F0F0F0;
    --medium-gray: #808080;
    --dark-gray: #000000;
    background: var(--white);
    color: var(--text-color);
}

body.high-contrast .service-card,
body.high-contrast .service-item {
    border: 2px solid var(--text-color);
}

body.high-contrast .nav-link,
body.high-contrast .footer-section a {
    color: var(--text-color);
}

body.high-contrast .nav-link:hover,
body.high-contrast .nav-link.active {
    background: var(--text-color);
    color: var(--white);
}

/* Font Size Adjustments */
body.font-small {
    --font-size-base: 14px;
    --font-size-h1: 2rem;
    --font-size-h2: 1.75rem;
    --font-size-h3: 1.25rem;
    --font-size-h4: 1.1rem;
}

body.font-medium {
    --font-size-base: 16px;
    --font-size-h1: 2.5rem;
    --font-size-h2: 2rem;
    --font-size-h3: 1.5rem;
    --font-size-h4: 1.25rem;
}

body.font-large {
    --font-size-base: 18px;
    --font-size-h1: 3rem;
    --font-size-h2: 2.5rem;
    --font-size-h3: 1.75rem;
    --font-size-h4: 1.5rem;
}

body.font-xlarge {
    --font-size-base: 20px;
    --font-size-h1: 3.5rem;
    --font-size-h2: 3rem;
    --font-size-h3: 2rem;
    --font-size-h4: 1.75rem;
}

/* Focus Styles for Keyboard Navigation */
a:focus,
button:focus,
input:focus,
textarea:focus,
select:focus {
    outline: 3px solid var(--warm-orange);
    outline-offset: 2px;
}

/* Skip to Main Content Link */
.skip-link {
    position: absolute;
    top: -40px;
    left: 0;
    background: var(--primary-blue);
    color: var(--white);
    padding: 0.5rem 1rem;
    text-decoration: none;
    z-index: 1001;
}

.skip-link:focus {
    top: 0;
}

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

