/* Police OpenDyslexic */
@font-face {
    font-family: 'OpenDyslexic';
    src: url('/plugins/themephilo_access/css/fonts/OpenDyslexic3-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

:root {
    /* Couleurs Sienna */
    --acces-primary-color: #667eea;
    --acces-primary-dark: #000091;
    --acces-primary-gradient: linear-gradient(135deg, #003ebb 0%, #764ba2 100%);
    --acces-danger-color: #e74c3c;
    --acces-success-color: #27ae60;

    /* Couleurs de fond */
    --acces-bg-panel: #f8f9fa;
    --acces-bg-white: #ffffff;
    --acces-bg-light: #f8f9fa;
    --acces-bg-lighter: #f0f2f5;

    /* Couleurs de texte */
    --acces-text-primary: #2c3e50;
    --acces-text-secondary: #7f8c8d;
    --acces-text-light: #ffffff;
    --acces-text-on-primary: #ffffff;

    /* Bordures */
    --acces-border-color: #e1e5e9;
    --acces-border-light: #f0f2f5;
    --acces-border-lighter: #f8f9fa;

    /* Ombres Sienna */
    --acces-shadow-panel: 0 10px 40px rgba(0, 0, 0, 0.15);

    /* Typographie */
    --acces-font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    --acces-font-size-base: 15px;
    --acces-font-size-sm: 14px;
    --acces-font-size-xs: 11px;
    --acces-font-size-lg: 18px;
    --acces-font-size-xl: 22px;

    /* Icônes */
    --acces-icon-size: 24px;
    --acces-icon-color: #000091;
    --acces-icon-size-xl: 32px;
    --acces-icon-size-sm: 18px;

    /* Espacements */
    --acces-spacing-xs: 8px;
    --acces-spacing-sm: 12px;
    --acces-spacing-md: 16px;
    --acces-spacing-lg: 20px;
    --acces-spacing-xl: 24px;

    /* Bordures radius */
    --acces-radius-sm: 6px;
    --acces-radius-md: 8px;
    --acces-radius-lg: 12px;
    --acces-radius-xl: 16px;
}

/* Styles généraux */
.themephilo_access-widget {
    position: fixed;
    z-index: 10000;
    font-family: var(--acces-font-family);
    font-size: var(--acces-font-size-base);
    isolation: isolate; /* Nouveau: isole le widget des effets de filtre */
}

/* S'assurer que le widget n'est jamais affecté par les filtres */
.themephilo_access-widget,
.themephilo_access-widget * {
    filter: none !important;
}

/* Bouton principal Sienna */
.themephilo_access-toggle {
    background: var(--acces-bg-white);
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    padding: .125em;
    border-radius: 50%;
    border: none;
    color: var(--acces-primary-dark);
    font-size: 42px;
    cursor: pointer;
    transition: all 0.3s ease;
    outline: none;
    box-shadow: 0 0 0 3px var(--acces-primary-dark);
    overflow: hidden;
}
.themephilo_access-toggle:hover {
    background: var(--acces-primary-dark)!important;
}

.themephilo_access-toggle::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(255, 255, 255, 0.1);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.themephilo_access-toggle:hover::before {
    opacity: 1;
}

/* Panneau principal Sienna */
.themephilo_access-panel {
    position: absolute;
    background: var(--acces-bg-panel);
    border-radius: var(--acces-radius-md);
    padding: 0;
    box-shadow: var(--acces-shadow-panel);
    min-width: 320px;
    width: 380px;
    max-height: 80vh;
    opacity: 0;
    visibility: hidden;
    transform: scale(0.9) translateY(-10px);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    font-family: var(--acces-font-family);
    font-size: var(--acces-font-size-base);
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.themephilo_access-panel.active {
    opacity: 1;
    visibility: visible;
    transform: scale(1) translateY(0);
}

/* Contenu scrollable */
.themephilo_access-content {
    overflow-y: auto;
    flex: 1;
    max-height: calc(80vh - 140px);
    padding: var(--acces-spacing-xs);
}
.themephilo_access-content h3 {
    padding-left: var(--acces-spacing-xs);
    font-size: var(--acces-font-size-lg);
}

/* En-tête Sienna */
.themephilo_access-header {
    background: var(--acces-primary-dark);
    color: var(--acces-text-light);
    padding: var(--acces-spacing-sm);
    font-family: var(--acces-font-family);
    flex-shrink: 0;
}

.themephilo_access-header-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: var(--acces-spacing-md);
}

.themephilo_access-header h2 {
    margin: 0;
    font-size: var(--acces-font-size-lg);
    font-weight: 600;
    font-family: var(--acces-font-family);
    flex: 1;
    line-height: 1.3;
    color: var(--acces-text-light);
}

/* Actions du header Sienna */
.themephilo_access-header-actions {
    display: flex;
    gap: var(--acces-spacing-xs);
    flex-shrink: 0;
}

.themephilo_access-header-btn {
    width: 32px;
    height: 32px;
    border: none;
    border-radius: var(--acces-radius-sm);
    background: rgba(255, 255, 255, 0.2);
    color: var(--acces-text-light);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
    backdrop-filter: blur(10px);
}

.themephilo_access-header-btn:hover {
    background: rgba(255, 255, 255, 0.3);
    transform: scale(1.05);
}

.themephilo_access-header-btn:focus {
    outline: none;
    box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5);
}

.themephilo_access-header-btn .themephilo_access-icon {
    font-size: var(--acces-font-size-xl) !important;
    color: var(--acces-text-light);
}

/* Label du sélecteur de langue */
.themephilo_access-language-label {
    color: var(--acces-text-light);
    font-size: var(--acces-font-size-base);
    font-weight: 500;
    text-wrap: nowrap;
    cursor: pointer;
}

.themephilo_access-language-label .themephilo_access-icon {
    font-size: 16px !important;
    color: var(--acces-text-light);
}

/* Sélecteur de langue Sienna */
.themephilo_access-language-selector {
    display: flex;
    align-items: center;
    gap: 1em;
    width: 100%;
}

.themephilo_access-language-dropdown {
    width: 100%;
    background: rgba(255, 255, 255, 0.15);
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: var(--acces-radius-sm);
    color: var(--acces-text-light);
    margin: 0;
    padding: 10px 12px;
    font-size: var(--acces-font-size-base);
    font-family: var(--acces-font-family);
    cursor: pointer;
    backdrop-filter: blur(10px);
    transition: all 0.2s ease;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M3 4.5L6 7.5L9 4.5' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 12px;
}

.themephilo_access-language-dropdown:hover {
    background-color: rgba(255, 255, 255, 0.25);
    border-color: rgba(255, 255, 255, 0.5);
}

.themephilo_access-language-dropdown:focus {
    outline: none;
    background-color: rgba(255, 255, 255, 0.25);
    border-color: rgba(255, 255, 255, 0.8);
    box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.3);
}

.themephilo_access-language-dropdown option {
    background: var(--acces-bg-panel);
    color: var(--acces-text-primary);
    padding: var(--acces-spacing-sm);
}

/* Sections Sienna */
.themephilo_access-section {
    padding: var(--acces-spacing-lg) 0;
    border-bottom: 1px solid var(--acces-border-light);
    font-family: var(--acces-font-family);
}

.themephilo_access-section:last-child {
    border-bottom: none;
    padding-bottom: var(--acces-spacing-md);
}

.themephilo_access-section h3 {
    margin: 0 0 var(--acces-spacing-md) 0;
    font-size: var(--acces-font-size-base);
    font-weight: 600;
    color: var(--acces-text-primary);
    font-family: var(--acces-font-family);
    text-transform: none;
    letter-spacing: 0;
}

/* Style commun pour toutes les icônes */
.themephilo_access-icon {
    font-family: 'material-icons-accessibility' !important;
    display: flex;
    align-items: center;
    justify-content: center;
    user-select: none;
    font-style: normal;
    font-weight: normal;
    line-height: 1;
}

/* Contrôle de taille de police Sienna */
.themephilo_access-font-size-option-group {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--acces-spacing-sm);
    border: 1px solid var(--acces-border-color);
    border-radius: var(--acces-radius-md);
    background: var(--acces-bg-white);
    font-family: var(--acces-font-family);
    margin-bottom: var(--acces-spacing-md);
}

.themephilo_access-font-label {
    display: flex;
    align-items: center;
    gap: var(--acces-spacing-sm);
    flex: 1;
}

.themephilo_access-font-label .themephilo_access-icon {
    font-size: var(--acces-icon-size-xl)!important;
    color: var(--acces-icon-color);
    width: 20px;
}

.themephilo_access-font-label span {
    font-size: var(--acces-font-size-base);
    color: var(--acces-text-primary);
    font-weight: 500;
    font-family: var(--acces-font-family);
}

/* Contrôles de taille de police Sienna */
.themephilo_access-font-size-controls {
    display: flex;
    align-items: center;
    gap: var(--acces-spacing-xs);
    font-family: var(--acces-font-family);
}

.themephilo_access-font-btn {
    width: 32px;
    height: 32px;
    border: 1px solid var(--acces-border-color);
    background: var(--acces-bg-lighter);
    border-radius: var(--acces-radius-sm);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
    font-family: var(--acces-font-family);
    padding: 0;
}

.themephilo_access-font-btn:hover {
    background: var(--acces-bg-light);
    border-color: var(--acces-primary-color);
}

.themephilo_access-font-btn:focus {
    outline: none;
    border-color: var(--acces-primary-color);
    box-shadow: 0 0 0 2px rgba(102, 126, 234, 0.2);
}

.themephilo_access-font-btn .themephilo_access-icon {
    font-size: 16px !important;
    color: var(--acces-icon-color);
    transition: all 0.2s ease;
}

.themephilo_access-font-btn:hover .themephilo_access-icon {
    color: var(--acces-primary-color);
}

.themephilo_access-font-size-value {
    font-size: var(--acces-font-size-sm);
    font-weight: 600;
    color: var(--acces-text-primary);
    min-width: 40px;
    text-align: center;
    font-family: var(--acces-font-family);
}

/* Grille d'options Sienna */
.themephilo_access-options-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--acces-spacing-sm);
    margin-bottom: var(--acces-spacing-sm);
}

/* Styles pour les boutons d'options Sienna */
.themephilo_access-option,
.themephilo_access-color-option,
.themephilo_access-tool-option {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: var(--acces-spacing-sm);
    border: 2px solid var(--acces-border-light);
    border-radius: var(--acces-radius-md);
    background: var(--acces-bg-white);
    cursor: pointer;
    transition: all 0.2s ease;
    font-size: var(--acces-font-size-xs);
    font-weight: 500;
    text-align: center;
    min-height: 80px;
    justify-content: center;
    font-family: var(--acces-font-family);
}

.themephilo_access-option:hover,
.themephilo_access-color-option:hover,
.themephilo_access-tool-option:hover {
    background-color: white!important;
    border-color: var(--acces-primary-color);
}

.themephilo_access-option:focus,
.themephilo_access-color-option:focus,
.themephilo_access-tool-option:focus {
    outline: 2px solid var(--acces-primary-color);
    outline-offset: 2px;
}

.themephilo_access-option.active,
.themephilo_access-color-option.active,
.themephilo_access-tool-option.active {
    background: var(--acces-primary-color);
    color: white;
    border-color: var(--acces-primary-color);
}

/* Styles pour les icônes dans les boutons Sienna */
.themephilo_access-option .themephilo_access-icon,
.themephilo_access-color-option .themephilo_access-icon,
.themephilo_access-tool-option .themephilo_access-icon {
    font-size: var(--acces-icon-size-xl) !important;
    color: var(--acces-icon-color);
    margin-bottom: var(--acces-spacing-xs);
    height: var(--acces-icon-size);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
}

.themephilo_access-option.active .themephilo_access-icon,
.themephilo_access-tool-option.active .themephilo_access-icon,
.themephilo_access-color-option.active .themephilo_access-icon {
    color: white;
}
.themephilo_access-option.active:hover .themephilo_access-icon,
.themephilo_access-tool-option.active:hover .themephilo_access-icon,
.themephilo_access-color-option.active:hover .themephilo_access-icon {
    color: var(--acces-primary-dark);
}

/* Conteneurs de boutons Sienna */
.themephilo_access-color-options,
.themephilo_access-tool-options {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--acces-spacing-sm);
    margin-bottom: var(--acces-spacing-sm);
}

/* Texte dans les boutons Sienna */
.themephilo_access-option span:not(.themephilo_access-icon),
.themephilo_access-tool-option span:not(.themephilo_access-icon),
.themephilo_access-color-option span:not(.themephilo_access-icon) {
    font-size: var(--acces-font-size-base) !important;
    color: var(--acces-text-primary) !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
    font-family: var(--acces-font-family) !important;
    text-align: center !important;
}

/* Pied de page Sienna */
.themephilo_access-footer {
    background: var(--acces-primary-dark);
    font-family: var(--acces-font-family);
    flex-shrink: 0;
}

.themephilo_access-reset-btn {
    width: 100%;
    padding: var(--acces-spacing-sm) var(--acces-spacing-md);
    background: var(--acces-primary-dark);
    color: var(--acces-text-light);
    cursor: pointer;
    font-size: var(--acces-font-size-base);
    font-weight: 500;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--acces-spacing-sm);
    transition: all 0.2s ease;
    font-family: var(--acces-font-family);
    border: none;
}

.themephilo_access-reset-btn:hover {
    background: var(--acces-bg-light);
    border: none;
    border-radius: 0;;
}
.themephilo_access-reset-btn .themephilo_access-icon {
    font-size: var(--acces-font-size-xl)!important;
    color: var(--acces-text-light);
}
.themephilo_access-clear {
    font-size: var(--acces-font-size-lg);
}
/* Overlay invisible mais cliquable */
.themephilo_access-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: transparent;
    z-index: 9999;
    display: none;
}

.themephilo_access-overlay.active {
    display: block;
}

/* Style de la scrollbar Sienna */
.themephilo_access-content::-webkit-scrollbar {
    width: 6px;
}

.themephilo_access-content::-webkit-scrollbar-track {
    background: var(--acces-bg-light);
    border-radius: var(--acces-radius-sm);
}

.themephilo_access-content::-webkit-scrollbar-thumb {
    background: var(--acces-primary-color);
    border-radius: var(--acces-radius-sm);
}

.themephilo_access-content::-webkit-scrollbar-thumb:hover {
    background: var(--acces-primary-dark);
}

/* Positions Sienna */
.themephilo_access-widget[data-position="top-right"] {
    top: 20px;
    right: 20px;
}
.themephilo_access-widget[data-position="top-right"] .themephilo_access-panel {
    top: -5px;
    right: -5px;
    bottom: auto;
}

.themephilo_access-widget[data-position="top-left"] {
    top: 20px;
    left: 20px;
}
.themephilo_access-widget[data-position="top-left"] .themephilo_access-panel {
    top: -5px;
    left: -5px;
    bottom: auto;
}

.themephilo_access-widget[data-position="middle-right"] {
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
}
.themephilo_access-widget[data-position="middle-right"] .themephilo_access-panel {
    top: 50%;
    right: -5px;
    transform: translateY(-50%);
    left: auto;
}

.themephilo_access-widget[data-position="middle-left"] {
    top: 50%;
    left: 20px;
    transform: translateY(-50%);
}
.themephilo_access-widget[data-position="middle-left"] .themephilo_access-panel {
    top: 50%;
    left: -5px;
    transform: translateY(-50%);
    right: auto;
}

.themephilo_access-widget[data-position="bottom-right"] {
    bottom: 20px;
    right: 20px;
}
.themephilo_access-widget[data-position="bottom-right"] .themephilo_access-panel {
    bottom: -5px;
    right: -5px;
    top: auto;
}

.themephilo_access-widget[data-position="bottom-left"] {
    bottom: 20px;
    left: 20px;
}
.themephilo_access-widget[data-position="bottom-left"] .themephilo_access-panel {
    bottom: -5px;
    left: -5px;
    top: auto;
}

//* STYLES POUR LES FONCTIONNALITÉS D'ACCESSIBILITÉ */

/* Police dyslexique */
.themephilo_access-dyslexic-font {
    font-family: 'OpenDyslexic', 'Comic Sans MS', 'Segoe UI', sans-serif !important;
}

/* S'assurer que le widget n'est PAS affecté par la police dyslexique */
.themephilo_access-dyslexic-font .themephilo_access-widget,
.themephilo_access-dyslexic-font .themephilo_access-widget * {
    font-family: var(--acces-font-family) !important;
}

/* Hauteur de ligne */
.themephilo_access-line-height {
    line-height: 2 !important;
}

/* S'assurer que le widget n'est PAS affecté par la hauteur de ligne */
.themephilo_access-line-height .themephilo_access-widget,
.themephilo_access-line-height .themephilo_access-widget * {
    line-height: normal !important;
}

/* Surlignage titres - EXCLURE le widget */
.themephilo_access-highlight-titles h1:not(.themephilo_access-header h2):not(.themephilo_access-section h3):not(.themephilo_access-widget h1):not(.themephilo_access-widget h2):not(.themephilo_access-widget h3):not(.themephilo_access-widget h4):not(.themephilo_access-widget h5):not(.themephilo_access-widget h6),
.themephilo_access-highlight-titles h2:not(.themephilo_access-header h2):not(.themephilo_access-section h3):not(.themephilo_access-widget h1):not(.themephilo_access-widget h2):not(.themephilo_access-widget h3):not(.themephilo_access-widget h4):not(.themephilo_access-widget h5):not(.themephilo_access-widget h6),
.themephilo_access-highlight-titles h3:not(.themephilo_access-header h2):not(.themephilo_access-section h3):not(.themephilo_access-widget h1):not(.themephilo_access-widget h2):not(.themephilo_access-widget h3):not(.themephilo_access-widget h4):not(.themephilo_access-widget h5):not(.themephilo_access-widget h6),
.themephilo_access-highlight-titles h4:not(.themephilo_access-header h2):not(.themephilo_access-section h3):not(.themephilo_access-widget h1):not(.themephilo_access-widget h2):not(.themephilo_access-widget h3):not(.themephilo_access-widget h4):not(.themephilo_access-widget h5):not(.themephilo_access-widget h6),
.themephilo_access-highlight-titles h5:not(.themephilo_access-header h2):not(.themephilo_access-section h3):not(.themephilo_access-widget h1):not(.themephilo_access-widget h2):not(.themephilo_access-widget h3):not(.themephilo_access-widget h4):not(.themephilo_access-widget h5):not(.themephilo_access-widget h6),
.themephilo_access-highlight-titles h6:not(.themephilo_access-header h2):not(.themephilo_access-section h3):not(.themephilo_access-widget h1):not(.themephilo_access-widget h2):not(.themephilo_access-widget h3):not(.themephilo_access-widget h4):not(.themephilo_access-widget h5):not(.themephilo_access-widget h6),
.themephilo_access-highlight-titles h1 a:not(.themephilo_access-widget a),
.themephilo_access-highlight-titles h2 a:not(.themephilo_access-widget a),
.themephilo_access-highlight-titles h3 a:not(.themephilo_access-widget a),
.themephilo_access-highlight-titles h4 a:not(.themephilo_access-widget a),
.themephilo_access-highlight-titles h5 a:not(.themephilo_access-widget a),
.themephilo_access-highlight-titles h6 a:not(.themephilo_access-widget a),
.themephilo_access-highlight-titles h1 span:not(.themephilo_access-widget span),
.themephilo_access-highlight-titles h2 span:not(.themephilo_access-widget span),
.themephilo_access-highlight-titles h3 span:not(.themephilo_access-widget span),
.themephilo_access-highlight-titles h4 span:not(.themephilo_access-widget span),
.themephilo_access-highlight-titles h5 span:not(.themephilo_access-widget span),
.themephilo_access-highlight-titles h6 span:not(.themephilo_access-widget span) {
    background: var(--acces-primary-dark)!important;
    color: white!important;
    padding-right: 1rem!important;
    padding-left: 1rem!important;
}

/* Surlignage liens - EXCLURE le widget */
.themephilo_access-highlight-links a:not(.themephilo_access-widget a):not(.themephilo_access-option):not(.themephilo_access-color-option):not(.themephilo_access-tool-option):not(.themephilo_access-header-btn):not(.themephilo_access-font-btn):not(.themephilo_access-reset-btn):not(.themephilo_access-language-dropdown) {
    text-decoration: underline!important;
    text-underline-offset: 0.25em!important;
}

/* Espacement des lettres - EXCLURE le widget */
.themephilo_access-letter-spacing {
    letter-spacing: 0.15em !important;
}

/* S'assurer que le widget n'est PAS affecté par l'espacement des lettres */
.themephilo_access-letter-spacing .themephilo_access-widget,
.themephilo_access-letter-spacing .themephilo_access-widget * {
    letter-spacing: normal !important;
}

/* Poids de police - EXCLURE le widget */
.themephilo_access-font-weight {
    font-weight: 900 !important;
}

/* S'assurer que le widget n'est PAS affecté par le poids de police */
.themephilo_access-font-weight .themephilo_access-widget,
.themephilo_access-font-weight .themephilo_access-widget * {
    font-weight: normal !important;
}

/* Modes couleur */

/* Dark contrast */
.themephilo_access-dark-contrast {
    filter: brightness(0.8) contrast(1.4) !important;
}

/* Light contrast */
.themephilo_access-light-contrast {
    filter: brightness(1.4) contrast(1.2) !important;
}

/* High contrast */
.themephilo_access-high-contrast {
    background: #000000 !important;
    color: #ffffff !important;
}

.themephilo_access-high-contrast a:not(.themephilo_access-widget a) {
    color: #ffff00 !important;
}

/* Saturation */
.themephilo_access-high-saturation {
    filter: saturate(2.5) !important;
}

.themephilo_access-low-saturation {
    filter: saturate(0.5) !important;
}

/* Monochrome */
.themephilo_access-monochrome {
    filter: grayscale(100%) !important;
}

/* Curseur */
.themephilo_access-big-cursor,
.themephilo_access-big-cursor * {
	cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='98px' height='98px' viewBox='0 0 48 48'%3E%3Cpath fill='%23E0E0E0' d='M27.8 39.7c-.1 0-.2 0-.4-.1s-.4-.3-.6-.5l-3.7-8.6-4.5 4.2c-.1.2-.3.3-.6.3-.1 0-.3 0-.4-.1-.3-.1-.6-.5-.6-.9V12c0-.4.2-.8.6-.9.1-.1.3-.1.4-.1.2 0 .5.1.7.3l16 15c.3.3.4.7.3 1.1-.1.4-.5.6-.9.7l-6.3.6 3.9 8.5c.1.2.1.5 0 .8-.1.2-.3.5-.5.6l-2.9 1.3c-.2-.2-.4-.2-.5-.2z'/%3E%3Cpath fill='%23212121' d='m18 12 16 15-7.7.7 4.5 9.8-2.9 1.3-4.3-9.9L18 34V12m0-2c-.3 0-.5.1-.8.2-.7.3-1.2 1-1.2 1.8v22c0 .8.5 1.5 1.2 1.8.3.2.6.2.8.2.5 0 1-.2 1.4-.5l3.4-3.2 3.1 7.3c.2.5.6.9 1.1 1.1.2.1.5.1.7.1.3 0 .5-.1.8-.2l2.9-1.3c.5-.2.9-.6 1.1-1.1.2-.5.2-1.1 0-1.5l-3.3-7.2 4.9-.4c.8-.1 1.5-.6 1.7-1.3.3-.7.1-1.6-.5-2.1l-16-15c-.3-.5-.8-.7-1.3-.7z'/%3E%3C/svg%3E") 40 15, auto !important;
}

/* S'assurer que le widget n'est PAS affecté par le gros curseur */
.themephilo_access-big-cursor .themephilo_access-widget,
.themephilo_access-big-cursor .themephilo_access-widget * {
    cursor: auto !important;
}

/* Arrêt des animations */
.themephilo_access-stop-animations * {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
}

/* S'assurer que le widget n'est PAS affecté par l'arrêt des animations */
.themephilo_access-stop-animations .themephilo_access-widget,
.themephilo_access-stop-animations .themephilo_access-widget * {
    animation-duration: initial !important;
    animation-iteration-count: initial !important;
    transition-duration: initial !important;
}

/* Guide de lecture */
.themephilo_access-reading-guide {
    position: relative;
}

.themephilo_access-reading-guide::before {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom,
        transparent 0%,
        transparent 89%,
        rgba(255, 193, 7, 0.3) 89%,
        rgba(255, 193, 7, 0.3) 91%,
        transparent 91%,
        transparent 100%);
    background-size: 100% 1.5em;
    pointer-events: none;
    z-index: 9998;
}

/* Responsive */
@media (max-width: 768px) {
    .themephilo_access-toggle {
        font-size: 32px;
    }
    .themephilo_access-panel {
        width: 95vw;
        max-width: 400px;
        left: 50%;
        transform: translateX(-50%) scale(0.9) translateY(-10px);
        margin: 0;
    }

    .themephilo_access-panel.active {
    }

    .themephilo_access-header-top {
        flex-direction: column;
        align-items: stretch;
        gap: var(--acces-spacing-sm);
    }

    .themephilo_access-header-actions {
        align-self: flex-end;
    }

    .themephilo_access-header h2 {
        text-align: center;
    }

    .themephilo_access-options-grid,
    .themephilo_access-color-options,
    .themephilo_access-tool-options {
        grid-template-columns: repeat(2, 1fr);
    }

    .themephilo_access-content {
        padding: var(--acces-spacing-sm);
    }

    .themephilo_access-widget[data-position="middle-right"] .themephilo_access-panel,
    .themephilo_access-widget[data-position="middle-left"] .themephilo_access-panel {
        left: 50%;
        right: auto;
        transform: translateX(-50%) translateY(-50%);
    }
}

@media (max-width: 480px) {
    .themephilo_access-options-grid,
    .themephilo_access-color-options,
    .themephilo_access-tool-options {
        grid-template-columns: 1fr;
    }
    
    .themephilo_access-panel {
        width: 92vw;
        max-width: none;
        border-radius: 0;
        max-height: 95vh;
    }
    
    .themephilo_access-content {
        max-height: calc(100vh - 200px);
    }
    
    .themephilo_access-font-size-option-group {
        flex-direction: column;
        gap: var(--acces-spacing-sm);
        align-items: stretch;
    }
    
    .themephilo_access-font-label {
        justify-content: center;
    }
}
/* États de focus améliorés */
.themephilo_access-option:focus-visible,
.themephilo_access-color-option:focus-visible,
.themephilo_access-tool-option:focus-visible {
    outline: 3px solid var(--acces-primary-color);
    outline-offset: 2px;
}

/* États de chargement */
.themephilo_access-widget.loading .themephilo_access-toggle {
    animation: pulse 1.5s ease-in-out infinite;
}

@keyframes pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.7; }
}

/* États d'erreur */
.themephilo_access-widget.error .themephilo_access-toggle {
    background: var(--acces-danger-color) !important;
}

/* Amélioration des transitions */
.themephilo_access-option,
.themephilo_access-color-option,
.themephilo_access-tool-option {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Support réduit des animations */
@media (prefers-reduced-motion: reduce) {
    .themephilo_access-toggle,
    .themephilo_access-option,
    .themephilo_access-color-option,
    .themephilo_access-tool-option {
        transition: none;
    }
    
    .themephilo_access-panel {
        transition: opacity 0.1s ease;
    }
}
/* Styles spécifiques pour le guide de lecture Ran Bush */
.access_read_guide_bar {
    box-sizing: border-box;
    background: var(--acces-menu-read-guide-bg, #000000);
    width: 100%!important;
    min-width: 100%!important;
    position: fixed!important;
    height: var(--acces-menu-read-guide-height, 12px) !important;
    border: var(--acces-menu-read-guide-border, solid 3px #20ff69);
    border-radius: 5px;
    top: 15px;
    z-index: 2147483647;
    pointer-events: none;
    transition: top 0.1s ease-out;
}

/* Support reduced-motion */
@media (prefers-reduced-motion: reduce) {
    .access_read_guide_bar {
        transition: none;
    }
}