/* ========== ACCESSIBILITY STYLES ========== */

/* Hoher Kontrast */
body.high-contrast {
    --text-primary: var(--high-contrast-text-primary);
    --text-secondary: var(--high-contrast-text-secondary);
    --bg-primary: var(--high-contrast-bg-primary);
    --bg-secondary: var(--high-contrast-bg-secondary);
    --border-color: var(--high-contrast-border);
    --shadow-sm: var(--high-contrast-shadow);
    --shadow-md: var(--high-contrast-shadow);
    --shadow-lg: var(--high-contrast-shadow);
    --card-border-color: var(--high-contrast-border);
    --form-input-border: 2px solid var(--high-contrast-border);
}

body.high-contrast * {
    border-color: var(--high-contrast-border) !important;
}

body.high-contrast .btn {
    border: 2px solid var(--high-contrast-border);
    font-weight: bold;
}

body.high-contrast input,
body.high-contrast textarea,
body.high-contrast select {
    border: 2px solid var(--high-contrast-border) !important;
    background: var(--high-contrast-bg-primary) !important;
    color: var(--high-contrast-text-primary) !important;
}

/* Große Schrift */
body.large-font {
    font-size: var(--large-font-size-base);
    line-height: 1.6;
}

body.large-font h1 {
    font-size: var(--large-font-size-4xl);
}

body.large-font h2 {
    font-size: var(--large-font-size-3xl);
}

body.large-font h3 {
    font-size: var(--large-font-size-2xl);
}

body.large-font h4 {
    font-size: var(--large-font-size-xl);
}

body.large-font h5 {
    font-size: var(--large-font-size-lg);
}

body.large-font h6 {
    font-size: var(--large-font-size-base);
}

body.large-font p,
body.large-font div,
body.large-font span,
body.large-font label {
    font-size: var(--large-font-size-base);
}

body.large-font .btn {
    font-size: var(--large-font-size-lg);
    padding: 14px 28px;
}

body.large-font input,
body.large-font textarea,
body.large-font select {
    font-size: var(--large-font-size-base);
    padding: 14px 18px;
}

body.large-font .setting-name {
    font-size: var(--large-font-size-lg);
}

body.large-font .setting-description {
    font-size: var(--large-font-size-base);
}

/* Kombination von hohem Kontrast und großer Schrift */
body.high-contrast.large-font {
    --text-primary: var(--high-contrast-text-primary);
    --text-secondary: var(--high-contrast-text-secondary);
    --bg-primary: var(--high-contrast-bg-primary);
    --bg-secondary: var(--high-contrast-bg-secondary);
    --border-color: var(--high-contrast-border);
    --shadow-sm: var(--high-contrast-shadow);
    --shadow-md: var(--high-contrast-shadow);
    --shadow-lg: var(--high-contrast-shadow);
    --card-border-color: var(--high-contrast-border);
    --form-input-border: 2px solid var(--high-contrast-border);
    
    font-size: var(--large-font-size-base);
    line-height: 1.6;
}

/* Responsive Anpassungen für große Schrift */
@media (max-width: 768px) {
    body.large-font {
        font-size: var(--large-font-size-lg);
    }
    
    body.large-font h1 {
        font-size: var(--large-font-size-3xl);
    }
    
    body.large-font h2 {
        font-size: var(--large-font-size-2xl);
    }
    
    body.large-font h3 {
        font-size: var(--large-font-size-xl);
    }
    
    body.large-font .btn {
        font-size: var(--large-font-size-base);
        padding: 12px 24px;
    }
    
    body.large-font input,
    body.large-font textarea,
    body.large-font select {
        font-size: var(--large-font-size-lg);
        padding: 12px 16px;
    }
}

