/* Accessibility Styles */

/* High Contrast mode */
body.high-contrast {
    background-color: #000 !important;
    color: #fff !important;
}
body.high-contrast a,
body.high-contrast button {
    color: #ff0 !important;
    background-color: #000 !important;
}
body.high-contrast a:hover,
body.high-contrast button:hover {
    color: #fff !important;
    background-color: #333 !important;
}
body.high-contrast img {
    filter: grayscale(100%) contrast(150%) !important;
}
body.high-contrast .bg-white,
body.high-contrast .bg-blue-50,
body.high-contrast .bg-gray-50 {
    background-color: #000 !important;
    color: #fff !important;
}

/* Low Contrast mode */
body.low-contrast {
    background-color: #f0f0f0 !important;
    color: #333 !important;
}
body.low-contrast a,
body.low-contrast button {
    color: #777 !important;
}

/* Invert Colors */
body.invert-colors {
    filter: invert(100%) hue-rotate(180deg);
}
body.invert-colors img {
    filter: invert(100%) hue-rotate(180deg);
}
body.invert-colors iframe {
    filter: invert(100%) hue-rotate(180deg);
}

/* Grayscale */
body.grayscale {
    filter: grayscale(100%);
}
body.grayscale img {
    filter: grayscale(100%);
}

/* Base font size scaling - initial state is 16px (1rem) */
html.font-size-small {
    font-size: 14px;
}

html.font-size-large {
    font-size: 18px;
}