/* ProMkt Courses - Accessibility Styles */

/* High Contrast Mode */
body.promkt-high-contrast {
    --promkt-bg-primary: #000;
    --promkt-bg-secondary: #1a1a1a;
    --promkt-text-primary: #fff;
    --promkt-text-secondary: #e0e0e0;
    --promkt-border: #fff;
    --promkt-link: #ffff00;
    --promkt-button-bg: #fff;
    --promkt-button-text: #000;
}

body.promkt-high-contrast .promkt-course,
body.promkt-high-contrast .promkt-lesson,
body.promkt-high-contrast .promkt-card {
    background: var(--promkt-bg-secondary);
    color: var(--promkt-text-primary);
    border: 2px solid var(--promkt-border);
}

body.promkt-high-contrast a {
    color: var(--promkt-link);
    text-decoration: underline;
}

body.promkt-high-contrast button,
body.promkt-high-contrast .promkt-button {
    background: var(--promkt-button-bg);
    color: var(--promkt-button-text);
    border: 2px solid var(--promkt-border);
    font-weight: bold;
}

/* Font Size Adjustments */
body.promkt-font-large {
    font-size: 1.125rem; /* 18px */
}

body.promkt-font-large .promkt-course-title {
    font-size: 1.75rem;
}

body.promkt-font-large .promkt-lesson-title {
    font-size: 1.375rem;
}

body.promkt-font-xlarge {
    font-size: 1.25rem; /* 20px */
}

body.promkt-font-xlarge .promkt-course-title {
    font-size: 2rem;
}

body.promkt-font-xlarge .promkt-lesson-title {
    font-size: 1.5rem;
}

/* Caption Support */
.promkt-captions-enabled video::-webkit-media-text-track-display {
    font-size: 1.2em;
    background: rgba(0, 0, 0, 0.8);
}

.promkt-captions-toggle {
    margin: 10px 0;
    padding: 8px 16px;
    background: #333;
    color: #fff;
    border: none;
    cursor: pointer;
    border-radius: 4px;
}

.promkt-captions-toggle:hover {
    background: #555;
}

/* Focus Indicators */
body.promkt-high-contrast *:focus {
    outline: 3px solid #ffff00;
    outline-offset: 2px;
}

/* Skip Links */
.promkt-skip-link {
    position: absolute;
    top: -40px;
    left: 0;
    background: #000;
    color: #fff;
    padding: 8px;
    text-decoration: none;
    z-index: 100;
}

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