/**
 * Accessibility Styles
 * Provides styles for the accessibility toolbar and different contrast modes
 */

/* Accessibility Toolbar */
.accessibility-toolbar {
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 9999;
    font-family: 'Montserrat', sans-serif;
}

.accessibility-toggle {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background-color: var(--primary-green);
    color: white;
    border: none;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
    cursor: pointer;
    font-size: 1.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.3s, transform 0.3s;
}

.accessibility-toggle:hover {
    background-color: var(--dark-green);
    transform: scale(1.05);
}

.accessibility-toggle:focus {
    outline: 3px solid var(--primary-magenta);
}

.accessibility-options {
    position: absolute;
    bottom: 60px;
    right: 0;
    background-color: white;
    border-radius: 10px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.2);
    padding: 15px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-width: 220px;
}

.accessibility-button {
    background-color: var(--light-gray);
    border: none;
    border-radius: 5px;
    padding: 10px 15px;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 10px;
    transition: background-color 0.3s;
    color: var(--dark-gray);
    text-align: left;
}

.accessibility-button:hover {
    background-color: var(--light-green);
}

.accessibility-button:focus {
    outline: 2px solid var(--primary-magenta);
}

.accessibility-button.active {
    background-color: var(--primary-green);
    color: white;
}

.accessibility-button i {
    width: 20px;
    text-align: center;
}

/* High Contrast Mode */
body.high-contrast {
    --primary-green: #005000;
    --primary-magenta: #b30065;
    --light-green: #007000;
    --soft-cream: #ffffff;
    --neutral-beige: #f0f0f0;
    --dark-green: #003000;
    --gold: #a07000;
    --light-gray: #e0e0e0;
    --dark-gray: #000000;
    
    color: #000000;
    background-color: #ffffff;
}

body.high-contrast a {
    color: #0000cc;
    text-decoration: underline;
}

body.high-contrast .navbar,
body.high-contrast .feature-box,
body.high-contrast .treatment-list,
body.high-contrast section[style*="background-color"] {
    background-color: #ffffff !important;
    color: #000000 !important;
    border: 2px solid #000000 !important;
}

body.high-contrast .btn-primary {
    background-color: #0000cc !important;
    color: #ffffff !important;
    border: 2px solid #000000 !important;
}

body.high-contrast .navbar-nav .nav-link {
    color: #000000 !important;
}

body.high-contrast .navbar-nav .nav-link:hover,
body.high-contrast .navbar-nav .nav-link.active {
    color: #0000cc !important;
    font-weight: bold;
}

body.high-contrast .footer {
    background-color: #000000 !important;
    color: #ffffff !important;
}

body.high-contrast .footer a,
body.high-contrast .footer p {
    color: #ffffff !important;
}

/* Dark Mode */
body.dark-mode {
    --primary-green: #68a367;
    --primary-magenta: #ff5cb8;
    --light-green: #8cc08b;
    --soft-cream: #222222;
    --neutral-beige: #333333;
    --dark-green: #486e47;
    --gold: #e6b64c;
    --light-gray: #444444;
    --dark-gray: #dddddd;
    --white: #333333;
    --black: #f0f0f0;
    
    color: #f0f0f0;
    background-color: #121212;
}

body.dark-mode a {
    color: #8cc0ff;
}

body.dark-mode .navbar {
    background-color: #222222 !important;
}

body.dark-mode .navbar-nav .nav-link {
    color: #f0f0f0 !important;
}

body.dark-mode .navbar-nav .nav-link:hover,
body.dark-mode .navbar-nav .nav-link.active {
    color: #ff5cb8 !important;
}

body.dark-mode .card,
body.dark-mode .feature-box,
body.dark-mode .treatment-list,
body.dark-mode section[style*="background-color"] {
    background-color: #222222 !important;
    color: #f0f0f0 !important;
}

body.dark-mode .card-title,
body.dark-mode .feature-box h3,
body.dark-mode h2,
body.dark-mode h3,
body.dark-mode h4 {
    color: #8cc08b !important;
}

body.dark-mode .footer {
    background-color: #000000 !important;
}

body.dark-mode .btn-primary {
    background-color: #ff5cb8 !important;
    border-color: #ff5cb8 !important;
}

/* Font Size Adjustments */
body {
    font-size-adjust: 100%;
}