.easwp-toolbar {
    position: fixed;
    padding: 15px;
    background: #f5f5f5;
    border: 1px solid #ddd;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    color: #333;
    width: 90vw;
    max-width: 400px;
    height: auto;
    max-height: 80vh;
    overflow-y: auto;
    display: none;
    border-radius: 10px;
    z-index: 10000;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif !important;
}

/* FONT ISOLATION: Prevent themes from overriding toolbar fonts */
.easwp-toolbar *,
.easwp-toolbar button,
.easwp-toolbar a,
.easwp-toolbar h3,
.easwp-toolbar h4,
.easwp-toolbar h5,
.easwp-toolbar p,
.easwp-toolbar span,
.easwp-toolbar div,
.easwp-toolbar label,
.easwp-toolbar input,
.easwp-toolbar select,
.easwp-toggle-btn,
.easwp-toggle-btn *,
.easwp-submenu,
.easwp-submenu *,
.easwp-submenu button,
.easwp-submenu a,
.easwp-submenu span,
.easwp-submenu div {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif !important;
}
.easwp-toolbar.top_left { top: 10px; left: 10px; bottom: auto; right: auto; }
.easwp-toolbar.top_right { top: 10px; right: 10px; bottom: auto; left: auto; }
.easwp-toolbar.bottom_left { bottom: 10px; left: 10px; top: auto; right: auto; }
.easwp-toolbar.bottom_right { bottom: 10px; right: 10px; top: auto; left: auto; }
/* Toolbar must never be grayscale - filter:none prevents inheritance */
body.easwp-grayscale .easwp-toolbar, .easwp-grayscale-wrapper.easwp-grayscale .easwp-toolbar { filter: none !important; }
.easwp-toolbar .easwp-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
@media (min-width: 768px) {
    .easwp-toolbar .easwp-grid { grid-template-columns: repeat(3, 1fr); }
}
.easwp-toolbar button, .easwp-toolbar a {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin: 5px 0;
    padding: 10px;
    border: none;
    background: #0073aa;
    color: #fff;
    text-decoration: none;
    text-align: center;
    font-size: 14px;
    border-radius: 8px;
    width: 100%;
    height: 80px;
    transition: background 0.3s;
}
.easwp-toolbar button:hover, .easwp-toolbar a:hover { background: #005177; }
.easwp-toggle-btn {
    position: fixed;
    bottom: 10px;
    right: 10px;
    padding: 15px;
    background: #0073aa;
    color: #fff;
    border: none;
    font-size: 24px;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    z-index: 10001;
    cursor: pointer;
}
.easwp-toggle-btn:hover { background: #005177; }
.easwp-section { margin-bottom: 20px; }
.easwp-section h4 { margin: 0 0 10px; color: #333; font-size: 16px; font-weight: bold; }
.easwp-button-icon { font-size: 24px; margin-bottom: 5px; }
body.easwp-font-large *:not(.easwp-toolbar):not(.easwp-toolbar *):not(.easwp-toggle-btn):not(.easwp-toggle-btn *):not(.easwp-submenu):not(.easwp-submenu *) { font-size: 1.2em; }
body.easwp-font-larger *:not(.easwp-toolbar):not(.easwp-toolbar *):not(.easwp-toggle-btn):not(.easwp-toggle-btn *):not(.easwp-submenu):not(.easwp-submenu *) { font-size: 1.4em; }
@media (max-width: 767px) {
    body.easwp-font-large *:not(.easwp-toolbar):not(.easwp-toolbar *):not(.easwp-toggle-btn):not(.easwp-toggle-btn *):not(.easwp-submenu):not(.easwp-submenu *) { font-size: 1.04em; }
    body.easwp-font-larger *:not(.easwp-toolbar):not(.easwp-toolbar *):not(.easwp-toggle-btn):not(.easwp-toggle-btn *):not(.easwp-submenu):not(.easwp-submenu *) { font-size: 1.08em; }
    .easwp-toolbar.mobile_only { display: block; }
    .easwp-toolbar.desktop_only { display: none; }
}
@media (min-width: 768px) {
    .easwp-toolbar.mobile_only { display: none; }
    .easwp-toolbar.desktop_only { display: block; }
}
body.easwp-high-contrast { background: #000; color: #fff; }
body.easwp-high-contrast a:not(.easwp-toolbar a):not(.easwp-toolbar *):not(.easwp-toggle-btn):not(.easwp-toggle-btn *):not(.easwp-submenu):not(.easwp-submenu *) { color: #ff0; }
/* CAUTION: Never apply filter to html or body — it creates a new containing block
 * that breaks position:fixed for the toolbar. Grayscale is applied via
 * body > *:not(.easwp-toolbar) in toolbar.php inline CSS instead. */
html.easwp-grayscale {
    filter: none !important;
}

/* Toolbar positioning protection */
.easwp-toolbar,
.easwp-toggle-btn,
.easwp-submenu {
    position: fixed !important;
    z-index: 10000 !important;
}
.easwp-underline a:not(.nav-link) { text-decoration: underline; }
.easwp-no-images img { display: none; }
.easwp-no-images *:not(.easwp-toolbar):not(.easwp-toolbar *):not(.easwp-toggle-btn) {
    background-image: none !important;
}
body.easwp-dyslexic *:not(.easwp-toolbar):not(.easwp-toolbar *):not(.easwp-toggle-btn):not(.easwp-toggle-btn *):not(.easwp-submenu):not(.easwp-submenu *) { font-family: 'Open Dyslexic', sans-serif !important; }
body.easwp-readable-font *:not(.easwp-toolbar):not(.easwp-toolbar *):not(.easwp-toggle-btn):not(.easwp-toggle-btn *):not(.easwp-submenu):not(.easwp-submenu *) { font-family: Georgia, 'Times New Roman', serif !important; font-size: 1.1em !important; }
body.easwp-text-spacing *:not(.easwp-toolbar):not(.easwp-toolbar *):not(.easwp-toggle-btn):not(.easwp-toggle-btn *):not(.easwp-submenu):not(.easwp-submenu *) { letter-spacing: 0.1em; line-height: 1.6; }
body.easwp-pause-animations *:not(.easwp-toolbar):not(.easwp-toolbar *):not(.easwp-toggle-btn):not(.easwp-toggle-btn *):not(.easwp-submenu):not(.easwp-submenu *) { animation-play-state: paused !important; }

/* Ensure toolbar animations always run */
body.easwp-pause-animations .easwp-toolbar,
body.easwp-pause-animations .easwp-toolbar *,
body.easwp-pause-animations .easwp-toggle-btn,
body.easwp-pause-animations .easwp-toggle-btn *,
body.easwp-pause-animations .easwp-submenu,
body.easwp-pause-animations .easwp-submenu * {
    animation-play-state: running !important;
}
body.easwp-smart-contrast > *:not(.easwp-toolbar):not(.easwp-toggle-btn):not(.easwp-submenu) { filter: contrast(1.5) brightness(1.1); }
/* FIX 9: Exclude toolbar elements from highlight links/headings so
 * white-on-yellow text inside the toolbar stays readable. */
body.easwp-highlight-links a:not(.easwp-toolbar a):not(.easwp-toolbar *):not(.easwp-toggle-btn *):not(.easwp-submenu *) { background: #ffff00 !important; color: #000 !important; padding: 2px 4px !important; border-radius: 3px !important; }
body.easwp-highlight-headings h1:not(.easwp-toolbar *):not(.easwp-submenu *),
body.easwp-highlight-headings h2:not(.easwp-toolbar *):not(.easwp-submenu *),
body.easwp-highlight-headings h3:not(.easwp-toolbar *):not(.easwp-submenu *),
body.easwp-highlight-headings h4:not(.easwp-toolbar *):not(.easwp-submenu *),
body.easwp-highlight-headings h5:not(.easwp-toolbar *):not(.easwp-submenu *),
body.easwp-highlight-headings h6:not(.easwp-toolbar *):not(.easwp-submenu *) {
    background: #ffff00 !important;
    padding: 5px !important;
    border-left: 4px solid #ff6600 !important;
}
/* Big Cursor - Hide default cursor and use custom element */
body.easwp-big-cursor,
body.easwp-big-cursor *,
body.easwp-big-black-cursor,
body.easwp-big-black-cursor *,
body.easwp-big-white-cursor,
body.easwp-big-white-cursor * {
    cursor: none !important;
}

/* White cursors - default */
#easwp-custom-cursor {
    position: fixed;
    width: 48px;
    height: 48px;
    pointer-events: none;
    z-index: 2147483647;
    background: url('data:image/svg+xml;utf8,<svg width="48" height="48" viewBox="0 0 256 256" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M35.1997 193.036V22.3693L152.533 139.703H102.27L130.721 201.94C134.64 210.512 130.868 220.639 122.295 224.558C113.723 228.476 103.597 224.704 99.678 216.131L72.2039 156.032L35.1997 193.036Z" fill="white" stroke="black" stroke-width="6"/></svg>') no-repeat;
    background-size: contain;
    transform: translate(-4px, -4px);
    transition: transform 0.1s ease;
}

#easwp-custom-cursor.pointer {
    width: 48px;
    height: 48px;
    background: url('data:image/svg+xml;utf8,<svg width="48" height="48" viewBox="0 0 256 256" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M77.9602 59.7333L77.6474 157.099L53.9492 144.067C45.8354 139.733 37.5702 137.819 31.3218 144.067C25.0734 150.316 25.0734 160.447 31.3218 166.695L72.6271 208C77.9604 214.4 88.6271 225.067 99.2935 225.067H179.293C196.409 225.067 205.96 210.182 205.96 193.067V123.733C205.96 114.897 198.797 107.733 189.96 107.733C181.123 107.733 173.96 114.897 173.96 123.733V113.067C173.96 104.23 166.797 97.0666 157.96 97.0666C149.123 97.0666 141.96 104.23 141.96 113.067C141.96 104.23 134.797 97.0666 125.96 97.0666C117.124 97.0666 109.96 104.23 109.96 113.067V59.7333C109.96 50.8967 102.797 43.7333 93.9602 43.7333C85.1237 43.7333 77.9602 50.8967 77.9602 59.7333Z" fill="white" stroke="black" stroke-width="6"/></svg>') no-repeat;
    background-size: contain;
    transform: translate(-18px, -12px);
}

#easwp-custom-cursor.text {
    width: 32px;
    height: 48px;
    background: url('data:image/svg+xml;utf8,<svg width="32" height="48" viewBox="0 0 256 256" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M67.2 43.7334H88.5332C90.3975 43.7334 93.1545 44.7729 95.6574 47.2759C98.1605 49.7789 99.2 52.5358 99.2 54.4V193.067C99.2 194.931 98.1605 197.688 95.6574 200.191C93.1545 202.693 90.3915 203.733 88.5273 203.733H67.2V225.067H88.5333C96.8786 225.067 104.421 221.208 109.867 216.123C115.312 221.208 122.855 225.067 131.2 225.067H152.533V203.733H131.206C129.342 203.733 126.579 202.693 124.076 200.191C121.573 197.688 120.533 194.931 120.533 193.067V54.4C120.533 52.5358 121.573 49.7789 124.076 47.2759C126.579 44.7729 129.336 43.7334 131.2 43.7334H152.533V22.4H131.2C122.855 22.4001 115.312 26.2595 109.867 31.3446C104.421 26.2595 96.8786 22.4001 88.5333 22.4H67.2V43.7334Z" fill="white" stroke="black" stroke-width="6"/></svg>') no-repeat;
    background-size: contain;
    transform: translate(-16px, -24px);
}

#easwp-custom-cursor.copy {
    width: 52px;
    height: 52px;
    background: url('data:image/svg+xml;utf8,<svg width="52" height="52" viewBox="0 0 256 256" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M188.37 150.984C186.281 150.984 184.703 152.561 184.703 154.651V182.337H155.603C153.513 182.337 151.936 183.914 151.936 186.004V210.73C151.936 212.82 153.514 214.397 155.603 214.397H184.703V242.083C184.703 244.172 186.281 245.75 188.37 245.75H212.685C214.774 245.75 216.352 244.172 216.352 242.083V214.397H244.51C246.599 214.397 248.176 212.82 248.176 210.73V186.004C248.176 183.914 246.599 182.337 244.51 182.337H216.352V154.651C216.352 152.561 214.774 150.984 212.685 150.984H188.37Z" fill="white" stroke="black" stroke-width="6"/><path d="M35.2002 193.036V22.3691L152.534 139.702H102.27L130.722 201.94C134.641 210.512 130.868 220.639 122.296 224.558C113.723 228.476 103.597 224.704 99.6785 216.131L72.2044 156.032L35.2002 193.036Z" fill="white" stroke="black" stroke-width="6"/></svg>') no-repeat;
    background-size: contain;
    transform: translate(-8px, -8px);
}

#easwp-custom-cursor.zoom-in {
    width: 52px;
    height: 52px;
    background: url('data:image/svg+xml;utf8,<svg width="52" height="52" viewBox="0 0 256 256" fill="none" xmlns="http://www.w3.org/2000/svg"><circle cx="121" cy="108" r="70" fill="transparent" stroke="white" stroke-width="16"/><path d="M106.074 69.0073C102.844 69.0074 99.7468 70.2905 97.4631 72.5742C95.1793 74.858 93.8963 77.9554 93.8962 81.1851V91.7629H83.3184C80.0887 91.763 76.9913 93.046 74.7075 95.3298C72.4238 97.6135 71.1407 100.711 71.1406 103.941V111.526C71.1407 114.756 72.4238 117.853 74.7075 120.137C76.9913 122.42 80.0887 123.704 83.3184 123.704H93.8962V134.281C93.8963 137.511 95.1793 140.609 97.4631 142.892C99.7468 145.176 102.844 146.459 106.074 146.459H113.659C116.889 146.459 119.986 145.176 122.27 142.892C124.554 140.609 125.837 137.511 125.837 134.281V123.704H136.415C139.644 123.704 142.742 122.42 145.025 120.137C147.309 117.853 148.592 114.756 148.592 111.526V103.941C148.592 100.711 147.309 97.6135 145.025 95.3298C142.742 93.046 139.644 91.763 136.415 91.7629H125.837V81.1851C125.837 77.9554 124.554 74.858 122.27 72.5742C119.986 70.2905 116.889 69.0074 113.659 69.0073H106.074Z" fill="white" stroke="black" stroke-width="6"/><line x1="180" y1="180" x2="220" y2="220" stroke="white" stroke-width="16" stroke-linecap="round"/></svg>') no-repeat;
    background-size: contain;
    transform: translate(-12px, -12px);
}

#easwp-custom-cursor.zoom-out {
    width: 52px;
    height: 52px;
    background: url('data:image/svg+xml;utf8,<svg width="52" height="52" viewBox="0 0 256 256" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M121.106 24.0498C74.9515 24.0465 37.5352 61.771 37.5386 108.306C37.5352 154.84 74.9515 192.565 121.106 192.561C136.3 192.526 151.196 188.313 164.193 180.378L201.757 218.27C207.188 223.745 215.938 223.745 221.369 218.27C226.799 212.795 226.799 203.972 221.369 198.497L185.299 162.13C197.791 147.019 204.646 127.977 204.673 108.306C204.677 61.771 167.26 24.0465 121.106 24.0498ZM121.106 51.3204C152.321 51.3211 177.625 76.8338 177.625 108.306C177.625 139.777 152.321 165.29 121.106 165.291C89.8911 165.29 64.5872 139.777 64.5864 108.306C64.5872 76.8338 89.8911 51.3211 121.106 51.3204Z" fill="white" stroke="black" stroke-width="6"/><rect x="95" y="100" width="52" height="16" fill="black"/></svg>') no-repeat;
    background-size: contain;
    transform: translate(-12px, -12px);
}

/* Black cursor variants */
#easwp-custom-cursor.cursor-black {
    background: url('data:image/svg+xml;utf8,<svg width="48" height="48" viewBox="0 0 256 256" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M35.1997 193.036V22.3693L152.533 139.703H102.27L130.721 201.94C134.64 210.512 130.868 220.639 122.295 224.558C113.723 228.476 103.597 224.704 99.678 216.131L72.2039 156.032L35.1997 193.036Z" fill="black" stroke="white" stroke-width="6"/></svg>') no-repeat;
    background-size: contain;
}
#easwp-custom-cursor.cursor-black.pointer {
    background: url('data:image/svg+xml;utf8,<svg width="48" height="48" viewBox="0 0 256 256" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M77.9602 59.7333L77.6474 157.099L53.9492 144.067C45.8354 139.733 37.5702 137.819 31.3218 144.067C25.0734 150.316 25.0734 160.447 31.3218 166.695L72.6271 208C77.9604 214.4 88.6271 225.067 99.2935 225.067H179.293C196.409 225.067 205.96 210.182 205.96 193.067V123.733C205.96 114.897 198.797 107.733 189.96 107.733C181.123 107.733 173.96 114.897 173.96 123.733V113.067C173.96 104.23 166.797 97.0666 157.96 97.0666C149.123 97.0666 141.96 104.23 141.96 113.067C141.96 104.23 134.797 97.0666 125.96 97.0666C117.124 97.0666 109.96 104.23 109.96 113.067V59.7333C109.96 50.8967 102.797 43.7333 93.9602 43.7333C85.1237 43.7333 77.9602 50.8967 77.9602 59.7333Z" fill="black" stroke="white" stroke-width="6"/></svg>') no-repeat;
    background-size: contain;
}
#easwp-custom-cursor.cursor-black.text {
    background: url('data:image/svg+xml;utf8,<svg width="32" height="48" viewBox="0 0 256 256" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M67.2 43.7334H88.5332C90.3975 43.7334 93.1545 44.7729 95.6574 47.2759C98.1605 49.7789 99.2 52.5358 99.2 54.4V193.067C99.2 194.931 98.1605 197.688 95.6574 200.191C93.1545 202.693 90.3915 203.733 88.5273 203.733H67.2V225.067H88.5333C96.8786 225.067 104.421 221.208 109.867 216.123C115.312 221.208 122.855 225.067 131.2 225.067H152.533V203.733H131.206C129.342 203.733 126.579 202.693 124.076 200.191C121.573 197.688 120.533 194.931 120.533 193.067V54.4C120.533 52.5358 121.573 49.7789 124.076 47.2759C126.579 44.7729 129.336 43.7334 131.2 43.7334H152.533V22.4H131.2C122.855 22.4001 115.312 26.2595 109.867 31.3446C104.421 26.2595 96.8786 22.4001 88.5333 22.4H67.2V43.7334Z" fill="black" stroke="white" stroke-width="6"/></svg>') no-repeat;
    background-size: contain;
}
#easwp-custom-cursor.cursor-black.copy {
    background: url('data:image/svg+xml;utf8,<svg width="52" height="52" viewBox="0 0 256 256" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M188.37 150.984C186.281 150.984 184.703 152.561 184.703 154.651V182.337H155.603C153.513 182.337 151.936 183.914 151.936 186.004V210.73C151.936 212.82 153.514 214.397 155.603 214.397H184.703V242.083C184.703 244.172 186.281 245.75 188.37 245.75H212.685C214.774 245.75 216.352 244.172 216.352 242.083V214.397H244.51C246.599 214.397 248.176 212.82 248.176 210.73V186.004C248.176 183.914 246.599 182.337 244.51 182.337H216.352V154.651C216.352 152.561 214.774 150.984 212.685 150.984H188.37Z" fill="black" stroke="white" stroke-width="6"/><path d="M35.2002 193.036V22.3691L152.534 139.702H102.27L130.722 201.94C134.641 210.512 130.868 220.639 122.296 224.558C113.723 228.476 103.597 224.704 99.6785 216.131L72.2044 156.032L35.2002 193.036Z" fill="black" stroke="white" stroke-width="6"/></svg>') no-repeat;
    background-size: contain;
}
#easwp-custom-cursor.cursor-black.zoom-in {
    background: url('data:image/svg+xml;utf8,<svg width="52" height="52" viewBox="0 0 256 256" fill="none" xmlns="http://www.w3.org/2000/svg"><circle cx="121" cy="108" r="70" fill="transparent" stroke="black" stroke-width="16"/><path d="M106.074 69.0073C102.844 69.0074 99.7468 70.2905 97.4631 72.5742C95.1793 74.858 93.8963 77.9554 93.8962 81.1851V91.7629H83.3184C80.0887 91.763 76.9913 93.046 74.7075 95.3298C72.4238 97.6135 71.1407 100.711 71.1406 103.941V111.526C71.1407 114.756 72.4238 117.853 74.7075 120.137C76.9913 122.42 80.0887 123.704 83.3184 123.704H93.8962V134.281C93.8963 137.511 95.1793 140.609 97.4631 142.892C99.7468 145.176 102.844 146.459 106.074 146.459H113.659C116.889 146.459 119.986 145.176 122.27 142.892C124.554 140.609 125.837 137.511 125.837 134.281V123.704H136.415C139.644 123.704 142.742 122.42 145.025 120.137C147.309 117.853 148.592 114.756 148.592 111.526V103.941C148.592 100.711 147.309 97.6135 145.025 95.3298C142.742 93.046 139.644 91.763 136.415 91.7629H125.837V81.1851C125.837 77.9554 124.554 74.858 122.27 72.5742C119.986 70.2905 116.889 69.0074 113.659 69.0073H106.074Z" fill="black" stroke="white" stroke-width="6"/><line x1="180" y1="180" x2="220" y2="220" stroke="black" stroke-width="16" stroke-linecap="round"/></svg>') no-repeat;
    background-size: contain;
}
#easwp-custom-cursor.cursor-black.zoom-out {
    background: url('data:image/svg+xml;utf8,<svg width="52" height="52" viewBox="0 0 256 256" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M121.106 24.0498C74.9515 24.0465 37.5352 61.771 37.5386 108.306C37.5352 154.84 74.9515 192.565 121.106 192.561C136.3 192.526 151.196 188.313 164.193 180.378L201.757 218.27C207.188 223.745 215.938 223.745 221.369 218.27C226.799 212.795 226.799 203.972 221.369 198.497L185.299 162.13C197.791 147.019 204.646 127.977 204.673 108.306C204.677 61.771 167.26 24.0465 121.106 24.0498ZM121.106 51.3204C152.321 51.3211 177.625 76.8338 177.625 108.306C177.625 139.777 152.321 165.29 121.106 165.291C89.8911 165.29 64.5872 139.777 64.5864 108.306C64.5872 76.8338 89.8911 51.3211 121.106 51.3204Z" fill="black" stroke="white" stroke-width="6"/><rect x="95" y="100" width="52" height="16" fill="white"/></svg>') no-repeat;
    background-size: contain;
}

body.easwp-keyboard-nav a:focus,
body.easwp-keyboard-nav button:focus,
body.easwp-keyboard-nav input:focus,
body.easwp-keyboard-nav select:focus,
body.easwp-keyboard-nav textarea:focus,
body.easwp-keyboard-nav [tabindex]:focus {
    outline: 3px solid #0073aa !important;
    outline-offset: 2px !important;
    box-shadow: 0 0 0 5px rgba(0, 115, 170, 0.3) !important;
}
/* Enhanced keyboard focus indicator */
.easwp-keyboard-focus {
    outline: 3px solid #ff6600 !important;
    outline-offset: 3px !important;
    box-shadow: 0 0 0 6px rgba(255, 102, 0, 0.4) !important;
    background: rgba(255, 255, 0, 0.2) !important;
    border-radius: 3px !important;
    position: relative !important;
}
.easwp-keyboard-focus::before {
    content: "🔘";
    position: absolute;
    top: -25px;
    left: -5px;
    background: #ff6600;
    color: white;
    padding: 2px 6px;
    border-radius: 3px;
    font-size: 12px;
    z-index: 10000;
}
body.easwp-screen-reader [aria-live] { position: absolute; left: -9999px; }
body.easwp-screen-reader img:not([alt]) { opacity: 0.3; }
body.easwp-screen-reader img:not([alt]) { border: 2px dashed #ff0000; }
body.easwp-screen-reader .easwp-no-alt-label {
    display: inline-block;
    margin-left: 6px;
    padding: 2px 6px;
    font-size: 11px;
    color: #fff;
    background: #c62828;
    border-radius: 3px;
}
body.easwp-screen-reader a:not([title]):not([aria-label]) { border: 2px dashed #ff0000; }
body.easwp-screen-reader *:focus { outline: 3px solid #0073aa !important; }
/* Vision profile - for partial blindness, enhance visibility - EXCLUDE TOOLBAR */
body.easwp-profile-blind img:not(.easwp-toolbar img):not(.easwp-toolbar * img) { 
    filter: contrast(150%) brightness(110%) !important; 
}
body.easwp-profile-blind h1:not(.easwp-toolbar h1):not(.easwp-toolbar * h1), 
body.easwp-profile-blind h2:not(.easwp-toolbar h2):not(.easwp-toolbar * h2), 
body.easwp-profile-blind h3:not(.easwp-toolbar h3):not(.easwp-toolbar * h3), 
body.easwp-profile-blind h4:not(.easwp-toolbar h4):not(.easwp-toolbar * h4), 
body.easwp-profile-blind h5:not(.easwp-toolbar h5):not(.easwp-toolbar * h5), 
body.easwp-profile-blind h6:not(.easwp-toolbar h6):not(.easwp-toolbar * h6) {
    background: #ffff99 !important; 
    color: #000 !important;
    padding: 5px !important;
}
body.easwp-profile-blind a:not(.easwp-toolbar a):not(.easwp-toolbar * a) {
    background: #cceeff !important; 
    color: #0066cc !important;
    text-decoration: underline !important;
    font-weight: bold !important;
}
body.easwp-profile-dyslexia { font-family: 'Open Dyslexic', sans-serif !important; line-height: 1.6; }
body.easwp-profile-seizure * { animation: none !important; }

/* Color Blind Profile - Deuteranopia/Protanopia adjustments */
html.easwp-color-blind-adjustments body > *:not(.easwp-toolbar):not(.easwp-toggle-btn):not(.easwp-submenu) {
    filter: sepia(0.3) saturate(1.2) hue-rotate(180deg) brightness(1.1) !important;
}

body.easwp-color-blind-filter {
    /* Enhanced contrast for color blind users */
    --color-primary: #0066cc;
    --color-secondary: #ff6600;
    --color-success: #008800;
    --color-warning: #ffaa00;
    --color-danger: #cc0000;
}

body.easwp-color-blind-filter a {
    color: #0066cc !important;
    text-decoration: underline !important;
}

body.easwp-color-blind-filter button {
    border: 2px solid #333 !important;
}

/* ADHD Profile - Simplification */
html.easwp-adhd-simplify body > *:not(.easwp-toolbar):not(.easwp-toggle-btn):not(.easwp-submenu) {
    filter: contrast(1.1) brightness(0.95);
}

html.easwp-adhd-simplify body *:not(.easwp-toolbar):not(.easwp-toolbar *):not(.easwp-toggle-btn):not(.easwp-toggle-btn *):not(.easwp-submenu):not(.easwp-submenu *) {
    transition: none !important;
    animation: none !important;
}

/* Deaf Profile - Visual enhancements */
html.easwp-deaf-visual-enhancements {
    /* Enhanced visual indicators */
}

body.easwp-deaf-visual-enhancements {
    /* Visual feedback for audio cues */
}

body.easwp-deaf-visual-enhancements video,
body.easwp-deaf-visual-enhancements audio {
    border: 3px solid #ff6600 !important;
    outline: 2px solid #ffffff !important;
}

body.easwp-deaf-visual-enhancements .easwp-video-muted-indicator {
    display: inline-block;
    margin-left: 8px;
    background: #ff6600;
    color: white;
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: bold;
}

/* Reading Level Badge styles moved from inline markup for CSP compatibility */
.easwp-reading-level-badge {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    margin: 16px 0;
    background: #f8f9fa;
    border: 1px solid #e2e4e7;
    border-radius: 8px;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
    font-size: 13px;
    color: #1d2327;
    line-height: 1.5;
}
.easwp-reading-level-badge .easwp-rl-item {
    display: flex;
    align-items: center;
    gap: 6px;
}
.easwp-reading-level-badge .easwp-rl-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    flex-shrink: 0;
}
.easwp-reading-level-badge .easwp-rl-label {
    color: #646970;
    font-size: 12px;
}
.easwp-reading-level-badge .easwp-rl-value {
    font-weight: 600;
}
.easwp-reading-level-badge .easwp-rl-divider {
    width: 1px;
    height: 20px;
    background: #dcdcde;
}
@media (max-width: 480px) {
    .easwp-reading-level-badge {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }
    .easwp-reading-level-badge .easwp-rl-divider {
        display: none;
    }
}

/* Language Translation Styles */
.easwp-translate-info {
    padding: 20px;
    background: rgba(59, 130, 246, 0.1);
    border-radius: 8px;
    margin-bottom: 25px;
    border: 1px solid rgba(59, 130, 246, 0.2);
    text-align: center;
}

.easwp-translate-info p {
    margin: 0;
    font-size: 16px;
    color: #ffffff;
    font-weight: 600;
}

.easwp-translate-info strong {
    color: #ffffff;
    font-weight: 700;
}

#easwp-current-lang {
    color: #ffffff;
    font-weight: 600;
    background: #3b82f6;
    padding: 2px 8px;
    border-radius: 4px;
}

.easwp-language-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin-bottom: 20px;
}

.easwp-translate-lang {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px 10px;
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
    border: 1px solid #dee2e6;
    border-radius: 8px;
    font-size: 15px;
    font-weight: 600;
    color: #495057;
    cursor: pointer;
    transition: all 0.2s ease;
    text-align: center;
    line-height: 1.4;
    min-height: 50px;
}

.easwp-translate-lang:hover {
    background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);
    color: white;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(59, 130, 246, 0.3);
}

.easwp-translate-lang.active {
    background: linear-gradient(135deg, #10b981 0%, #059669 100%);
    color: white;
    box-shadow: 0 4px 12px rgba(16, 185, 129, 0.3);
}

.easwp-translate-actions {
    text-align: center;
    padding-top: 15px;
    border-top: 1px solid #e5e7eb;
}

.easwp-translate-reset {
    background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
    color: white;
    border: none;
    border-radius: 8px;
    padding: 10px 20px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    margin-bottom: 10px;
}

.easwp-translate-reset:hover {
    background: linear-gradient(135deg, #dc2626 0%, #b91c1c 100%);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(239, 68, 68, 0.3);
}

.easwp-translate-note {
    font-size: 11px;
    color: #6b7280;
    margin: 10px 0 0 0;
    font-style: italic;
}

/* Translation loading state */
.easwp-translating {
    pointer-events: none;
    opacity: 0.7;
}

.easwp-translating::after {
    content: "Translating...";
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: rgba(0, 0, 0, 0.8);
    color: white;
    padding: 15px 25px;
    border-radius: 8px;
    font-size: 14px;
    z-index: 100000;
}

/* Submenu content sizing */
.easwp-submenu-content {
    min-height: auto;
    overflow: visible;
}

.easwp-submenu-header {
    flex-shrink: 0;
}

/* Language grid improvements */
.easwp-language-grid {
    min-height: auto;
}

/* Make translation submenu larger but contained within toolbar */
#easwp-submenu-language-translate {
    max-width: 420px !important;
    width: 100% !important;
}

#easwp-submenu-language-translate .easwp-submenu-content {
    padding: 25px !important;
}

/* Mobile submenu adjustments */
@media (max-width: 480px) {
    .easwp-language-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 12px;
    }
    
    .easwp-translate-lang {
        padding: 16px 10px;
        font-size: 14px;
        min-height: 50px;
    }
    
    #easwp-submenu-language-translate {
        max-width: 95vw !important;
        width: 95vw !important;
    }
    
    .easwp-submenu-header {
        padding: 15px 15px 8px;
    }
    
    .easwp-submenu-content {
        padding: 15px;
    }
    
    .easwp-submenu {
        min-height: 120px;
        max-height: 90vh;
    }
}
