/* Accessibility styles */
.accessibility-panel {
    position: fixed;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    background: white;
    padding: 10px;
    border-radius: 5px 0 0 5px;
    box-shadow: -2px 2px 10px rgba(0,0,0,0.1);
    z-index: 1000;
}

.accessibility-btn {
    display: block;
    width: 40px;
    height: 40px;
    margin-bottom: 10px;
    border: none;
    border-radius: 50%;
    background: #f8f9fa;
    color: #495057;
    font-size: 18px;
    cursor: pointer;
    transition: all 0.3s;
}

.accessibility-btn:hover {
    background: #e9ecef;
}

.accessibility-panel.open {
    right: 220px;
    top: 60%;
}

.accessibility-menu {
    position: fixed;
    top: 50%;
    right: -200px;
    width: 200px;
    transform: translateY(-50%);
    background: white;
    padding: 15px;
    box-shadow: -2px 2px 10px rgba(0,0,0,0.1);
    transition: right 0.3s;
    z-index: 999;
}

.accessibility-menu.open {
    right: 0;
}

.accessibility-option {
    display: block;
    width: 100%;
    padding: 8px;
    margin-bottom: 5px;
    border: none;
    background: #f8f9fa;
    color: #495057;
    cursor: pointer;
    text-align: left;
    transition: all 0.3s;
}

.accessibility-option:hover {
    background: #e9ecef;
}

/* Accessibility classes */
.font-size-small {
    font-size: 14px !important;
}

.font-size-medium {
    font-size: 16px !important;
}

.font-size-large {
    font-size: 18px !important;
}

.font-size-extra-large {
    font-size: 20px !important;
}

.high-contrast {
    background-color: #000 !important;
    color: #fff !important;
}

.high-contrast .navbar,
.high-contrast footer,
.high-contrast .card,
.high-contrast .modal-content {
    background-color: #000 !important;
    color: #fff !important;
    border-color: #fff !important;
}

.high-contrast .text-muted,
.high-contrast .text-white-50 {
    color: #ccc !important;
}

.light-background {
    background-color: #fff !important;
    color: #333 !important;
}

.dark-background {
    background-color: #333 !important;
    color: #fff !important;
}

.blue-yellow-theme {
    background-color: #1a237e !important;
    color: #ffeb3b !important;
}

.underline-links a {
    text-decoration: underline !important;
}

.cursor-large {
    cursor: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><circle cx="16" cy="16" r="14" fill="black"/></svg>'), auto !important;
}

.readable-font {
    font-family: Arial, sans-serif !important;
}