/*
 * Advanced Accessibility Tools - Thèmes CSS
 * Version: 2.1
 * Fichier externe pour les thèmes d'accessibilité
 */

/* =========================
   VARIABLES ET BASE
   ========================= */
:root {
    --a11y-font-size: 62.5%;
    --a11y-line-height: 1.5;
    --a11y-letter-spacing: 0px;
}

.a11y-tools-active {
    font-size: var(--a11y-font-size) !important;
}

.a11y-tools-active body,
.a11y-tools-active p,
.a11y-tools-active div,
.a11y-tools-active span,
.a11y-tools-active li,
.a11y-tools-active header,
.a11y-tools-active footer,
.a11y-tools-active .ast-primary-header-bar p,
.a11y-tools-active .entry-content p,
.a11y-tools-active .entry-content ul,
.a11y-tools-active .entry-content ol,
.a11y-tools-active .site-below-footer-wrap[data-section="section-below-footer-builder"] {
    line-height: var(--a11y-line-height) !important;
    letter-spacing: var(--a11y-letter-spacing) !important;
}

/* =========================
   THÈME SOMBRE
   ========================= */
.a11y-theme-dark body,
.a11y-theme-dark p,
.a11y-theme-dark ul,
.a11y-theme-dark ol,
.a11y-theme-dark li,
.a11y-theme-dark div,
.a11y-theme-dark span,
.a11y-theme-dark section,
.a11y-theme-dark article,
.a11y-theme-dark main,
.a11y-theme-dark .content,
.a11y-theme-dark .entry-content,
.a11y-theme-dark .post-content,
.a11y-theme-dark header,
.a11y-theme-dark footer,
.a11y-theme-dark .ast-primary-header-bar,
.a11y-theme-dark .site-below-footer-wrap[data-section="section-below-footer-builder"],
.a11y-theme-dark .site-header,
.a11y-theme-dark .site-footer,
.a11y-theme-dark .widget,
.a11y-theme-dark .sidebar {
    background: #1a1a1a !important;
    color: #e0e0e0 !important;
}

.a11y-theme-dark h1,
.a11y-theme-dark h2,
.a11y-theme-dark h3,
.a11y-theme-dark h4,
.a11y-theme-dark h5,
.a11y-theme-dark h6,
.a11y-theme-dark .h1,
.a11y-theme-dark .h2,
.a11y-theme-dark .h3,
.a11y-theme-dark .h4,
.a11y-theme-dark .h5,
.a11y-theme-dark .h6,
.a11y-theme-dark .entry-title,
.a11y-theme-dark .page-title,
.a11y-theme-dark .post-title,
.a11y-theme-dark .site-title,
.a11y-theme-dark .widget-title,
.a11y-theme-dark .entry-header h1,
.a11y-theme-dark .entry-header h2,
.a11y-theme-dark .entry-header h3,
.a11y-theme-dark .entry-content h1,
.a11y-theme-dark .entry-content h2,
.a11y-theme-dark .entry-content h3,
.a11y-theme-dark .entry-content h4,
.a11y-theme-dark .entry-content h5,
.a11y-theme-dark .entry-content h6,
.a11y-theme-dark .post-content h1,
.a11y-theme-dark .post-content h2,
.a11y-theme-dark .post-content h3,
.a11y-theme-dark .post-content h4,
.a11y-theme-dark .post-content h5,
.a11y-theme-dark .post-content h6,
.a11y-theme-dark .wp-block-heading,
.a11y-theme-dark .has-large-font-size,
.a11y-theme-dark .has-huge-font-size,
.a11y-theme-dark .elementor-heading-title,
.a11y-theme-dark .elementor-widget-heading h1,
.a11y-theme-dark .elementor-widget-heading h2,
.a11y-theme-dark .elementor-widget-heading h3,
.a11y-theme-dark .elementor-widget-heading h4,
.a11y-theme-dark .elementor-widget-heading h5,
.a11y-theme-dark .elementor-widget-heading h6 {
    color: #fff !important;
    text-shadow: 0 1px 2px rgba(0,0,0,0.3) !important;
}

.a11y-theme-dark a {
    color: #66b3ff !important;
}
.a11y-theme-dark a:hover,
.a11y-theme-dark a:focus {
    color: #80c7ff !important;
    text-decoration: underline !important;
}

.a11y-theme-dark input,
.a11y-theme-dark textarea,
.a11y-theme-dark select {
    background: #333 !important;
    color: #e0e0e0 !important;
    border: 1px solid #555 !important;
}

.a11y-theme-dark button,
.a11y-theme-dark .button,
.a11y-theme-dark input[type="submit"],
.a11y-theme-dark input[type="button"] {
    background: #444 !important;
    color: #e0e0e0 !important;
    border: 1px solid #666 !important;
}

/* =========================
   THÈME CONTRASTE ÉLEVÉ
   ========================= */
.a11y-theme-contrast body,
.a11y-theme-contrast p,
.a11y-theme-contrast ul,
.a11y-theme-contrast ol,
.a11y-theme-contrast li,
.a11y-theme-contrast div,
.a11y-theme-contrast span,
.a11y-theme-contrast section,
.a11y-theme-contrast article,
.a11y-theme-contrast main,
.a11y-theme-contrast .content,
.a11y-theme-contrast .entry-content,
.a11y-theme-contrast .post-content,
.a11y-theme-contrast header,
.a11y-theme-contrast footer,
.a11y-theme-contrast .ast-primary-header-bar,
.a11y-theme-contrast .site-below-footer-wrap[data-section="section-below-footer-builder"],
.a11y-theme-contrast .site-header,
.a11y-theme-contrast .site-footer,
.a11y-theme-contrast .widget,
.a11y-theme-contrast .sidebar {
    background: #000 !important;
    color: #ffff00 !important;
}

.a11y-theme-contrast h1,
.a11y-theme-contrast h2,
.a11y-theme-contrast h3,
.a11y-theme-contrast h4,
.a11y-theme-contrast h5,
.a11y-theme-contrast h6,
.a11y-theme-contrast .h1,
.a11y-theme-contrast .h2,
.a11y-theme-contrast .h3,
.a11y-theme-contrast .h4,
.a11y-theme-contrast .h5,
.a11y-theme-contrast .h6,
.a11y-theme-contrast .entry-title,
.a11y-theme-contrast .page-title,
.a11y-theme-contrast .post-title,
.a11y-theme-contrast .site-title,
.a11y-theme-contrast .widget-title,
.a11y-theme-contrast .entry-header h1,
.a11y-theme-contrast .entry-header h2,
.a11y-theme-contrast .entry-header h3,
.a11y-theme-contrast .entry-content h1,
.a11y-theme-contrast .entry-content h2,
.a11y-theme-contrast .entry-content h3,
.a11y-theme-contrast .entry-content h4,
.a11y-theme-contrast .entry-content h5,
.a11y-theme-contrast .entry-content h6,
.a11y-theme-contrast .post-content h1,
.a11y-theme-contrast .post-content h2,
.a11y-theme-contrast .post-content h3,
.a11y-theme-contrast .post-content h4,
.a11y-theme-contrast .post-content h5,
.a11y-theme-contrast .post-content h6,
.a11y-theme-contrast .wp-block-heading,
.a11y-theme-contrast .has-large-font-size,
.a11y-theme-contrast .has-huge-font-size,
.a11y-theme-contrast .elementor-heading-title,
.a11y-theme-contrast .elementor-widget-heading h1,
.a11y-theme-contrast .elementor-widget-heading h2,
.a11y-theme-contrast .elementor-widget-heading h3,
.a11y-theme-contrast .elementor-widget-heading h4,
.a11y-theme-contrast .elementor-widget-heading h5,
.a11y-theme-contrast .elementor-widget-heading h6 {
    color: #fff !important;
    background: #000 !important;
    text-shadow: none !important;
    font-weight: bold !important;
    border: 2px solid #ffff00 !important;
    padding: 4px 8px !important;
    margin: 8px 0 !important;
    display: inline-block !important;
}

.a11y-theme-contrast a {
    color: #ffff00 !important;
    text-decoration: underline !important;
    font-weight: bold !important;
    border: 1px solid #ffff00 !important;
    padding: 2px 4px !important;
    background: #000 !important;
}
.a11y-theme-contrast a:hover,
.a11y-theme-contrast a:focus {
    color: #000 !important;
    background: #ffff00 !important;
    text-decoration: none !important;
}

.a11y-theme-contrast input,
.a11y-theme-contrast textarea,
.a11y-theme-contrast select {
    background: #000 !important;
    color: #ffff00 !important;
    border: 2px solid #ffff00 !important;
}

.a11y-theme-contrast button,
.a11y-theme-contrast .button,
.a11y-theme-contrast input[type="submit"],
.a11y-theme-contrast input[type="button"] {
    background: #ffff00 !important;
    color: #000 !important;
    border: 2px solid #ffff00 !important;
    font-weight: bold !important;
}

/* =========================
   THÈME BLEU
   ========================= */
.a11y-theme-blue body,
.a11y-theme-blue p,
.a11y-theme-blue ul,
.a11y-theme-blue ol,
.a11y-theme-blue li,
.a11y-theme-blue div,
.a11y-theme-blue span,
.a11y-theme-blue section,
.a11y-theme-blue article,
.a11y-theme-blue main,
.a11y-theme-blue .content,
.a11y-theme-blue .entry-content,
.a11y-theme-blue .post-content,
.a11y-theme-blue header,
.a11y-theme-blue footer,
.a11y-theme-blue .ast-primary-header-bar,
.a11y-theme-blue .site-below-footer-wrap[data-section="section-below-footer-builder"],
.a11y-theme-blue .site-header,
.a11y-theme-blue .site-footer,
.a11y-theme-blue .widget,
.a11y-theme-blue .sidebar {
    background: #f0f8ff !important;
    color: #003366 !important;
}

.a11y-theme-blue h1,
.a11y-theme-blue h2,
.a11y-theme-blue h3,
.a11y-theme-blue h4,
.a11y-theme-blue h5,
.a11y-theme-blue h6,
.a11y-theme-blue .h1,
.a11y-theme-blue .h2,
.a11y-theme-blue .h3,
.a11y-theme-blue .h4,
.a11y-theme-blue .h5,
.a11y-theme-blue .h6,
.a11y-theme-blue .entry-title,
.a11y-theme-blue .page-title,
.a11y-theme-blue .post-title,
.a11y-theme-blue .site-title,
.a11y-theme-blue .widget-title,
.a11y-theme-blue .entry-header h1,
.a11y-theme-blue .entry-header h2,
.a11y-theme-blue .entry-header h3,
.a11y-theme-blue .entry-content h1,
.a11y-theme-blue .entry-content h2,
.a11y-theme-blue .entry-content h3,
.a11y-theme-blue .entry-content h4,
.a11y-theme-blue .entry-content h5,
.a11y-theme-blue .entry-content h6,
.a11y-theme-blue .post-content h1,
.a11y-theme-blue .post-content h2,
.a11y-theme-blue .post-content h3,
.a11y-theme-blue .post-content h4,
.a11y-theme-blue .post-content h5,
.a11y-theme-blue .post-content h6,
.a11y-theme-blue .wp-block-heading,
.a11y-theme-blue .has-large-font-size,
.a11y-theme.blue .has-huge-font-size,
.a11y-theme-blue .elementor-heading-title,
.a11y-theme-blue .elementor-widget-heading h1,
.a11y-theme.blue .elementor-widget-heading h2,
.a11y-theme-blue .elementor-widget-heading h3,
.a11y-theme.blue .elementor-widget-heading h4,
.a11y-theme-blue .elementor-widget-heading h5,
.a11y-theme.blue .elementor-widget-heading h6 {
    color: #001a33 !important;
    font-weight: 600 !important;
}

.a11y-theme-blue a {
    color: #0066cc !important;
    font-weight: 500 !important;
}
.a11y-theme-blue a:hover,
.a11y-theme.blue a:focus {
    color: #004499 !important;
    text-decoration: underline !important;
}

.a11y-theme-blue input,
.a11y-theme.blue textarea,
.a11y-theme-blue select {
    background: #fff !important;
    color: #003366 !important;
    border: 1px solid #0066cc !important;
}

.a11y-theme-blue button,
.a11y-theme.blue .button,
.a11y-theme-blue input[type="submit"],
.a11y-theme.blue input[type="button"] {
    background: #e6f2ff !important;
    color: #003366 !important;
    border: 1px solid #0066cc !important;
}

/* =========================
   RESPONSIVE & ACCESSIBILITÉ
   ========================= */
@media (max-width: 768px) {
    .a11y-theme-contrast h1,
    .a11y-theme-contrast h2,
    .a11y-theme-contrast h3,
    .a11y-theme-contrast h4,
    .a11y-theme-contrast h5,
    .a11y-theme-contrast h6 {
        padding: 2px 4px !important;
        font-size: 0.9em !important;
    }
}
@media (prefers-reduced-motion: reduce) {
    .a11y-theme-dark h1,
    .a11y-theme-dark h2,
    .a11y-theme-dark h3,
    .a11y-theme-dark h4,
    .a11y-theme-dark h5,
    .a11y-theme-dark h6 {
        text-shadow: none !important;
    }
}
@media print {
    .a11y-theme-dark h1,
    .a11y-theme-dark h2,
    .a11y-theme-dark h3,
    .a11y-theme-dark h4,
    .a11y-theme-dark h5,
    .a11y-theme-dark h6,
    .a11y-theme-contrast h1,
    .a11y-theme-contrast h2,
    .a11y-theme-contrast h3,
    .a11y-theme-contrast h4,
    .a11y-theme-contrast h5,
    .a11y-theme-contrast h6,
    .a11y-theme-blue h1,
    .a11y-theme-blue h2,
    .a11y-theme-blue h3,
    .a11y-theme-blue h4,
    .a11y-theme-blue h5,
    .a11y-theme-blue h6 {
        color: #000 !important;
        background: transparent !important;
        border: none !important;
        text-shadow: none !important;
    }
}