:root {
    --easyaccy-font-scale: 1;
    --easyaccy-contrast-scale: 1;
    --easyaccy-letter-spacing: 0.05em;
    --ps-night-bg0: #0d1117;
    --ps-night-bg1: #161b22;
    --ps-night-bg2: #1f2630;
    --ps-night-border: #30363d;
    --ps-night-text: #e6edf3;
    --ps-night-text-muted: #c9d1d9;
    --ps-night-link: #7aa2ff;
    --ps-night-link-hover: #a8c1ff;
    --ps-night-success: #238636;
}

html.easyaccy-letter-spacing {
    letter-spacing: var(--easyaccy-letter-spacing, 0.12em) !important;
}

html.easyaccy-readable {
    font-family: system-ui, Arial, sans-serif !important;
    letter-spacing: 0.05em !important;
    word-spacing: 0.03em !important;
    font-size: 1.08em !important;
    line-height: 1.6 !important;
}

html.easyaccy-night.easyaccy-readable {
    font-family: system-ui, Arial, sans-serif !important;
    letter-spacing: 0.05em !important;
    word-spacing: 0.03em !important;
}
#ps-easyaccy-reading-layer.easyaccy-readable .reading-content-inner {
    font-family: Georgia, 'Times New Roman', serif !important;
    letter-spacing: 0.03em !important;
    word-spacing: 0.02em !important;
    line-height: 1.8 !important;
}
.ps-easyaccy-option {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 12px;
    margin: 8px 0;
    background: #f8fafc;
    border-radius: 8px;
    border: 1px solid #e9eef6;
    transition: all 0.2s ease;
}

.ps-easyaccy-option:hover {
    background: #f0f7ff;
    border-color: #0b57d0;
    transform: translateY(-1px);
}
.ps-easyaccy-switch {
    position: relative;
    display: inline-block;
    width: 54px;
    height: 28px;
    flex-shrink: 0;
}

.ps-easyaccy-switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

.ps-easyaccy-slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #ccc;
    transition: .4s;
    border-radius: 34px;
}

.ps-easyaccy-slider:before {
    position: absolute;
    content: "";
    height: 20px;
    width: 20px;
    left: 4px;
    bottom: 4px;
    background-color: white;
    transition: .4s;
    border-radius: 50%;
    box-shadow: 0 2px 4px rgba(0,0,0,0.2);
}

input:checked + .ps-easyaccy-slider {
    background-color: #0b57d0;
}

input:checked + .ps-easyaccy-slider:before {
    transform: translateX(26px);
}
.ps-easyaccy-label {
    flex-grow: 1;
    font-weight: 500;
    color: #1e293b;
}

.ps-easyaccy-hint {
    display: block;
    font-size: 12px;
    color: #64748b;
    margin-top: 2px;
    line-height: 1.4;
}
.ps-easyaccy-range-control {
    margin-top: 10px;
    padding: 12px;
    background: #f1f5f9;
    border-radius: 8px;
    border-left: 4px solid #0b57d0;
}

.ps-easyaccy-range-control label {
    display: block;
    margin-bottom: 8px;
    font-size: 13px;
    color: #475569;
}

.ps-easyaccy-range-control input[type="range"] {
    width: 100%;
    height: 6px;
    border-radius: 3px;
    background: #e2e8f0;
    outline: none;
    -webkit-appearance: none;
}

.ps-easyaccy-range-control input[type="range"]::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #0b57d0;
    cursor: pointer;
    border: 2px solid white;
    box-shadow: 0 2px 4px rgba(0,0,0,0.2);
}

.ps-easyaccy-range-control input[type="range"]::-moz-range-thumb {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #0b57d0;
    cursor: pointer;
    border: 2px solid white;
    box-shadow: 0 2px 4px rgba(0,0,0,0.2);
}
html.easyaccy-night .ps-easyaccy-option {
    background: var(--ps-night-bg2);
    border-color: var(--ps-night-border);
}

html.easyaccy-night .ps-easyaccy-option:hover {
    background: rgba(11, 87, 208, 0.1);
}

html.easyaccy-night .ps-easyaccy-label {
    color: var(--ps-night-text);
}

html.easyaccy-night .ps-easyaccy-hint {
    color: var(--ps-night-text-muted);
}

html.easyaccy-night .ps-easyaccy-range-control {
    background: var(--ps-night-bg2);
    border-left-color: var(--ps-night-link);
}

html.easyaccy-night .ps-easyaccy-range-control label {
    color: var(--ps-night-text);
}

html.easyaccy-night .ps-easyaccy-range-control input[type="range"] {
    background: var(--ps-night-bg0);
}

html.easyaccy-night .ps-easyaccy-range-control input[type="range"]::-webkit-slider-thumb {
    background: var(--ps-night-link);
}
@media (max-width: 768px) {
    .ps-easyaccy-option {
        padding: 8px 10px;
        gap: 10px;
    }
    
    .ps-easyaccy-switch {
        width: 48px;
        height: 24px;
    }
    
    .ps-easyaccy-slider:before {
        height: 16px;
        width: 16px;
        left: 4px;
        bottom: 4px;
    }
    
    input:checked + .ps-easyaccy-slider:before {
        transform: translateX(24px);
    }
}

/* === FIX PS 9.1.0: el widget NO puede tener transform (crearía stacking context
   que rompería position:fixed del panel). Se usa top+translateY solo en el btn. === */
.ps-easyaccy-widget{
    position: fixed;
    right: 0;
    top: 50%;
    /* SIN transform aquí para no crear nuevo stacking context */
    z-index: 2147483000;
    display: flex;
    align-items: center;
    font: 14px/1.4 system-ui, Arial, sans-serif;
    /* El desplazamiento vertical lo gestiona el botón */
    margin-top: -40px; /* mitad de la altura del botón (80px/2) */
}

.ps-easyaccy-btn{
    width: 50px;
    height: 80px;
    border-radius: 12px 0 0 12px;
    border: 0;
    cursor: pointer;
    background: #0b57d0;
    color: white;
    box-shadow: -4px 4px 12px rgba(0,0,0,.2);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    order: 2;
    position: relative;
    z-index: 2;
}

/* El panel ahora es position:fixed anclado al viewport directamente,
   sin depender del contenedor padre (que ya no tiene transform) */
.ps-easyaccy-panel{
    position: fixed;
    right: 0;
    top: 0;
    width: 380px;
    max-width: calc(100vw - 60px);
    background: #fff;
    color: #222;
    border-radius: 12px 0 0 12px;
    border-left: 1px solid #e9eef6;
    border-top: 1px solid #e9eef6;
    border-bottom: 1px solid #e9eef6;
    box-shadow: -4px 4px 20px rgba(0,0,0,0.15);
    padding: .5rem;
    overflow-y: auto;
    overflow-x: hidden;
    height: 100vh;
    max-height: 100vh;
    transform: translateX(100%);
    transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    order: 1;
    display: block !important;
    z-index: 2147482999;
    /* Sin left:50px — era el causante del desplazamiento incorrecto */
}

.ps-easyaccy-widget.open .ps-easyaccy-panel {
    transform: translateX(0);
}

.ps-easyaccy-btn:hover {
    background: #1a67e8;
    transform: translateX(-2px);
}

.ps-easyaccy-btn:focus{
    outline: 3px solid #99c2ff;
    outline-offset: 2px;
}
.ps-easyaccy-btn svg {
    width: 50px;
    height: 50px;
    transition: transform 0.3s ease;
}
.ps-easyaccy-widget.open {
    right: 380px;
}
.ps-easyaccy-widget:not(.open) {
    right: 0;
}
@media (max-width: 768px) {
    .ps-easyaccy-panel {
        width: 83vw;
        height: 100vh;
        max-height: 100vh;
        border-radius: 12px 0 0 12px;
        padding: 0px;
    }
    
    .ps-easyaccy-widget.open {
        right: 83vw;
    }
    
    .ps-easyaccy-btn {
        width: 48px;
        height: 48px;
    }
    
    .ps-easyaccy-widget {
        margin-top: -24px; /* mitad de 48px */
    }
}
.ps-easyaccy-panel-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:.5rem .5rem .5rem 1rem;
    border-bottom:1px solid #eee;
    margin-left: -0.5rem;
    margin-right: -0.5rem;
    margin-top: -0.5rem;
    background: #f8fafc;
    border-radius: 12px 0 0 0;
}
.ps-easyaccy-close{
    background:none;
    border:0;
    font-size:20px;
    cursor:pointer;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.ps-easyaccy-close:hover {
    background: #eef2f7;
}
.ps-easyaccy-tabs{
    display:flex;
    border-bottom:1px solid #eee;
    margin-bottom:.5rem;
    margin-left: -0.5rem;
    margin-right: -0.5rem;
    padding: 0 0.5rem;
}
.ps-easyaccy-tab{
    flex:1;
    padding:.30rem;
    border:none;
    background:none;
    cursor:pointer;
    border-bottom:3px solid transparent;
    font-size: 13px;
    text-align: center;
}
.ps-easyaccy-tab.active{
    background:#f5f5f5;
    border-bottom-color:#0b57d0;
    font-weight:bold;
}
.ps-easyaccy-tab-content{
    display:none;
    max-height: 60vh;
    overflow-y: auto;
}
.ps-easyaccy-tab-content.active{
    display:block;
}
.ps-easyaccy-group{
    padding:0 .5rem;
}
.ps-easyaccy-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:.5rem;
    flex-wrap:wrap;
}
.ps-easyaccy-toggle{
    display:flex;
    align-items:center;
    gap:.5rem;
    cursor:pointer;
    padding: 5px;
    margin: 0;
    border-radius: 6px;
    transition: background 0.2s;
}
.ps-easyaccy-toggle:hover {
    background: #f8fafc;
}
.ps-easyaccy-footer{
    padding:1rem .5rem;
    text-align:right;
    border-top:1px solid #eee;
    margin-left: -0.5rem;
    margin-right: -0.5rem;
    padding-left: 1rem;
    padding-right: 1rem;
    background: #f8fafc;
    border-radius: 0 0 0 12px;
}
#ps-easyaccy-fontval,#ps-easyaccy-contrastval{
    min-width:3.5ch;
    text-align:center;
    font-weight:700;
    background: #f0f7ff;
    padding: 4px 8px;
    border-radius: 4px;
}
.easyaccy-tooltip{
    cursor:help;
    color:#666;
    font-size:0.9em;
    margin-left:5px;
    width: 16px;
    height: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #f0f0f0;
}
.ps-easyaccy-toggle:hover .easyaccy-tooltip{
    color:#333;
    background: #e0e0e0;
}

html{font-size:calc(100% * var(--easyaccy-font-scale));filter:contrast(var(--easyaccy-contrast-scale))}
html.easyaccy-underline a,html.easyaccy-underline .link,html.easyaccy-underline [role="link"]{text-decoration:underline!important}
html.easyaccy-grayscale{filter:grayscale(1) contrast(var(--easyaccy-contrast-scale))}
html.easyaccy-readable{font-family:system-ui,Arial,sans-serif!important;letter-spacing:.05em;word-spacing:.03em;font-size:1.08em!important}

/* En views/css/widget.css - busca y modifica esta sección */

/* Versión original (demasiado grande) - COMENTADA
html.easyaccy-dyslexia {
    font-family: "OpenDyslexic","Comic Sans MS",Arial,sans-serif!important;
    font-size:1.14em!important;
    line-height:1.9!important;
    letter-spacing:.1em!important;
    word-spacing:.08em!important
}
*/

/* Versión optimizada - AÑADE ESTO */
html.easyaccy-dyslexia {
    font-family: 'OpenDyslexic', 'Comic Sans MS', Arial, sans-serif !important;
    font-size: 1.05em !important;
    line-height: 1.6 !important;
    letter-spacing: 0.03em !important;
    word-spacing: 0.05em !important;
}

/* Mejora específica para párrafos en modo dyslexia */
html.easyaccy-dyslexia p {
    margin-bottom: 1.2em !important;
}

html.easyaccy-dyslexia h1,
html.easyaccy-dyslexia h2,
html.easyaccy-dyslexia h3 {
    font-weight: 700 !important;
    letter-spacing: 0.02em !important;
}

html.easyaccy-focus :focus {
    outline: 3px solid #ff5722 !important;
    outline-offset: 3px !important;
    box-shadow: 0 0 0 3px rgba(255, 87, 34, 0.3) !important;
    border-radius: 3px !important;
    position: relative !important;
    z-index: 9998 !important;
}

html.easyaccy-focus a:focus {
    background-color: rgba(255, 87, 34, 0.1) !important;
    text-decoration: underline !important;
}

html.easyaccy-focus button:focus,
html.easyaccy-focus [type="button"]:focus,
html.easyaccy-focus [type="submit"]:focus {
    background-color: #ff5722 !important;
    color: white !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 8px rgba(255, 87, 34, 0.3) !important;
}

html.easyaccy-focus input:focus,
html.easyaccy-focus select:focus,
html.easyaccy-focus textarea:focus {
    border-color: #ff5722 !important;
    box-shadow: inset 0 0 0 1px #ff5722, 0 0 0 3px rgba(255, 87, 34, 0.2) !important;
}

html.easyaccy-focus .btn:focus,
html.easyaccy-focus .product-miniature:focus,
html.easyaccy-focus .thumbnail-container:focus {
    border: 3px solid #ff5722 !important;
    box-shadow: 0 0 15px rgba(255, 87, 34, 0.5) !important;
}

html.easyaccy-focus :focus {
    transition: all 0.2s ease-in-out !important;
}

html.easyaccy-night.easyaccy-focus :focus {
    outline-color: #ff9800 !important;
    box-shadow: 0 0 0 3px rgba(255, 152, 0, 0.4) !important;
}

html.easyaccy-high-contrast.easyaccy-focus :focus {
    outline: 4px solid #00ff00 !important;
    outline-offset: 4px !important;
    box-shadow: 0 0 0 8px #000 !important;
}
html.easyaccy-protanopia {
  filter: url('#protanopia') contrast(var(--easyaccy-contrast-scale)) !important;
}
html.easyaccy-deuteranopia {
  filter: url('#deuteranopia') contrast(var(--easyaccy-contrast-scale)) !important;
}
html.easyaccy-tritanopia {
  filter: url('#tritanopia') contrast(var(--easyaccy-contrast-scale)) !important;
}
html.easyaccy-achromatopsia {
  filter: grayscale(1) contrast(var(--easyaccy-contrast-scale)) !important;
}
.easyaccy-filters {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
}
html.easyaccy-achromatopsia img,
html.easyaccy-achromatopsia video,
html.easyaccy-achromatopsia iframe {
  filter: grayscale(1) !important;
}

html.easyaccy-achromatopsia {
  --achromatopsia-text-color: #000000;
  --achromatopsia-bg-color: #ffffff;
  --achromatopsia-border-color: #333333;
}

html.easyaccy-achromatopsia body {
  color: var(--achromatopsia-text-color) !important;
  background-color: var(--achromatopsia-bg-color) !important;
}

html.easyaccy-achromatopsia a {
  color: #000000 !important;
  text-decoration: underline !important;
  font-weight: bold !important;
}

html.easyaccy-achromatopsia a:hover {
  color: #333333 !important;
  text-decoration: underline !important;
}

html.easyaccy-achromatopsia button,
html.easyaccy-achromatopsia .btn,
html.easyaccy-achromatopsia input[type="submit"],
html.easyaccy-achromatopsia input[type="button"] {
  background-color: #000000 !important;
  color: #ffffff !important;
  border: 2px solid #000000 !important;
}

html.easyaccy-achromatopsia button:hover,
html.easyaccy-achromatopsia .btn:hover {
  background-color: #333333 !important;
}

html.easyaccy-achromatopsia input:not([type="checkbox"]):not([type="radio"]),
html.easyaccy-achromatopsia select,
html.easyaccy-achromatopsia textarea {
  border: 2px solid #000000 !important;
  background-color: #ffffff !important;
  color: #000000 !important;
}
html.easyaccy-achromatopsia table {
  border: 2px solid #000000 !important;
}

html.easyaccy-achromatopsia th {
  background-color: #000000 !important;
  color: #ffffff !important;
}

html.easyaccy-achromatopsia td {
  border: 1px solid #333333 !important;
}

html.easyaccy-achromatopsia-1 {
    filter: grayscale(0.3) contrast(1.1) !important;
    -webkit-filter: grayscale(0.3) contrast(1.1) !important;
}

html.easyaccy-achromatopsia-2 {
    filter: grayscale(0.6) contrast(1.2) !important;
    -webkit-filter: grayscale(0.6) contrast(1.2) !important;
}

html.easyaccy-achromatopsia-3 {
    filter: grayscale(0.8) contrast(1.3) !important;
    -webkit-filter: grayscale(0.8) contrast(1.3) !important;
}

html.easyaccy-achromatopsia-4 {
    filter: grayscale(1) contrast(1.4) !important;
    -webkit-filter: grayscale(1) contrast(1.4) !important;
}
html.easyaccy-achromatopsia-1 .ps-easyaccy-widget,
html.easyaccy-achromatopsia-2 .ps-easyaccy-widget,
html.easyaccy-achromatopsia-3 .ps-easyaccy-widget,
html.easyaccy-achromatopsia-4 .ps-easyaccy-widget,
html.easyaccy-achromatopsia-1 .ps-easyaccy-btn,
html.easyaccy-achromatopsia-2 .ps-easyaccy-btn,
html.easyaccy-achromatopsia-3 .ps-easyaccy-btn,
html.easyaccy-achromatopsia-4 .ps-easyaccy-btn {
    filter: none !important;
    -webkit-filter: none !important;
}

#footer {
    background: #fff;
    color: #181818;
    padding-top: 2.5rem;
}
html.easyaccy-invert {
    background: #111 !important;
    color: #eee !important;
    filter: invert(1) hue-rotate(180deg) contrast(var(--easyaccy-contrast-scale)) !important;
}
html.easyaccy-invert img,
html.easyaccy-invert video,
html.easyaccy-invert iframe,
html.easyaccy-invert canvas,
html.easyaccy-invert svg:not(.ps-easyaccy-widget svg):not(.ps-easyaccy-btn svg),
html.easyaccy-invert .product-cover img,
html.easyaccy-invert .product-thumbnail img,
html.easyaccy-invert .thumbnail img,
html.easyaccy-invert .thumbnail-container img,
html.easyaccy-invert .product-image img,
html.easyaccy-invert .cart-image img,
html.easyaccy-invert .logo img,
html.easyaccy-invert [data-product-cover],
html.easyaccy-invert .js-qv-product-cover,
html.easyaccy-invert .carousel-item img,
html.easyaccy-invert .owl-carousel .owl-item img,
html.easyaccy-invert .slick-slide img {
    filter: invert(1) hue-rotate(180deg) !important;
    -webkit-filter: invert(1) hue-rotate(180deg) !important;
}
html.easyaccy-invert .no-invert,
html.easyaccy-invert .icon,
html.easyaccy-invert [class*="icon-"],
html.easyaccy-invert .material-icons,
html.easyaccy-invert .svgic,
html.easyaccy-invert .ps-easyaccy-widget,
html.easyaccy-invert .ps-easyaccy-widget *,
html.easyaccy-invert .ps-easyaccy-btn,
html.easyaccy-invert .ps-easyaccy-panel,
html.easyaccy-invert .ps-easyaccy-panel *,
html.easyaccy-invert #ps-easyaccy-widget,
html.easyaccy-invert #ps-easyaccy-widget *,
html.easyaccy-invert #easyaccy-announcer,
html.easyaccy-invert #easyaccy-visual-notification,
html.easyaccy-invert .easyaccy-shortcuts,
html.easyaccy-invert #ps-easyaccy-reading-layer,
html.easyaccy-invert #magnifier-controls,
html.easyaccy-invert #landmarks-modal {
    filter: none !important;
    -webkit-filter: none !important;
}
html.easyaccy-protected-media img,
html.easyaccy-protected-media video,
html.easyaccy-protected-media iframe,
html.easyaccy-protected-media canvas {
    filter: none !important;
    -webkit-filter: none !important;
}

html.easyaccy-night img,
html.easyaccy-night video,
html.easyaccy-night iframe,
html.easyaccy-night canvas {
    filter: brightness(0.9) contrast(1.1) !important;
    -webkit-filter: brightness(0.9) contrast(1.1) !important;
    transition: filter 0.3s ease !important;
}
/* Protección explícita para el widget en modos de filtro */
html.easyaccy-achromatopsia .ps-easyaccy-widget,
html.easyaccy-achromatopsia-1 .ps-easyaccy-widget,
html.easyaccy-achromatopsia-2 .ps-easyaccy-widget,
html.easyaccy-achromatopsia-3 .ps-easyaccy-widget,
html.easyaccy-achromatopsia-4 .ps-easyaccy-widget,
html.easyaccy-protanopia .ps-easyaccy-widget,
html.easyaccy-deuteranopia .ps-easyaccy-widget,
html.easyaccy-tritanopia .ps-easyaccy-widget,
html.easyaccy-grayscale .ps-easyaccy-widget,
html.easyaccy-invert .ps-easyaccy-widget {
    filter: none !important;
    -webkit-filter: none !important;
    transform: none !important;
    position: fixed !important;
    right: 0 !important;
    z-index: 2147483647 !important;
}

/* Asegurar que los elementos internos tampoco se filtren */
html.easyaccy-achromatopsia .ps-easyaccy-widget *,
html.easyaccy-achromatopsia-1 .ps-easyaccy-widget *,
html.easyaccy-achromatopsia-2 .ps-easyaccy-widget *,
html.easyaccy-achromatopsia-3 .ps-easyaccy-widget *,
html.easyaccy-achromatopsia-4 .ps-easyaccy-widget * {
    filter: none !important;
    -webkit-filter: none !important;
}

/* Prevenir desplazamiento horizontal */
html.easyaccy-achromatopsia,
html.easyaccy-achromatopsia-1,
html.easyaccy-achromatopsia-2,
html.easyaccy-achromatopsia-3,
html.easyaccy-achromatopsia-4 {
    overflow-x: hidden !important;
    max-width: 100vw !important;
}

.ps-easyaccy-widget,
#ps-easyaccy-widget {
    will-change: auto;
    backface-visibility: visible;
    /* NO transform aquí: crearía stacking context y rompería position:fixed del panel */
}

html.easyaccy-night,
html.easyaccy-night body {
    background: var(--ps-night-bg0) !important;
    color: var(--ps-night-text) !important;
    color-scheme: dark;
}

html.easyaccy-night #wrapper,
html.easyaccy-night .block_newsletter,
html.easyaccy-night #custom-text,
html.easyaccy-night .modal-content,
html.easyaccy-night .popover,
html.easyaccy-night .alert,
html.easyaccy-night .search-widget,
html.easyaccy-night .facet,
html.easyaccy-night .facet__list,
html.easyaccy-night .nav,
html.easyaccy-night .product-description,
html.easyaccy-night .data-sheet,
html.easyaccy-night .product-comment-list-item,
html.easyaccy-night .product-features>dl.data-sheet dd.value, .product-features>dl.data-sheet dt.name,
html.easyaccy-night .definition-list dl dd, .definition-list dl dt,
html.easyaccy-night .navbar,
html.easyaccy-night .carousel,
html.easyaccy-night .slick-slider,
html.easyaccy-night .owl-carousel,
html.easyaccy-night .product-accessories,
html.easyaccy-night .product-features,
html.easyaccy-night .product-attachments,
html.easyaccy-night .product-discounts,
html.easyaccy-night .product-pack,
html.easyaccy-night .product-customization,
html.easyaccy-night .product-variants,
html.easyaccy-night .product-add-to-cart,
html.easyaccy-night .product-prices,
html.easyaccy-night .product-cover,
html.easyaccy-night .images-container,
html.easyaccy-night .product-flags,
html.easyaccy-night .product-additional-info,
html.easyaccy-night .category-cover,
html.easyaccy-night .category-description,
html.easyaccy-night .category-subcategories,
html.easyaccy-night .cms-categories,
html.easyaccy-night .cms-page,
html.easyaccy-night .page-not-found,
html.easyaccy-night .page-cms,
html.easyaccy-night .page-order,
html.easyaccy-night .page-product,
html.easyaccy-night .page-category,
html.easyaccy-night .page-manufacturer,
html.easyaccy-night .page-supplier,
html.easyaccy-night .page-stores,
html.easyaccy-night .page-contact,
html.easyaccy-night .page-authentication,
html.easyaccy-night .page-registration,
html.easyaccy-night .page-address,
html.easyaccy-night .page-identity,
html.easyaccy-night .page-order-detail,
html.easyaccy-night .page-order-confirmation,
html.easyaccy-night .page-guest-tracking,
html.easyaccy-night .page-cart,
html.easyaccy-night .cart-grid,
html.easyaccy-night .cart-overview,
html.easyaccy-night .cart-detailed-totals,
html.easyaccy-night .blockcart,
html.easyaccy-night .cart-summary,
html.easyaccy-night .checkout-step,
html.easyaccy-night .js-address-form,
html.easyaccy-night .js-delivery-options,
html.easyaccy-night .js-payment-options,
html.easyaccy-night .order-actions,
html.easyaccy-night .order-confirmation,
html.easyaccy-night .credit-slip,
html.easyaccy-night .message-card,
html.easyaccy-night .send-message-form,
html.easyaccy-night .send-renewal-link-form,
html.easyaccy-night .module-notification,
html.easyaccy-night .module-alert,
html.easyaccy-night .module-warning,
html.easyaccy-night .module-success,
html.easyaccy-night .ps-shipping-and-payment,
html.easyaccy-night .ps-account-creation,
html.easyaccy-night .ps-account-login,
html.easyaccy-night .ps-languages-selector,
html.easyaccy-night .ps-currencies-selector,
html.easyaccy-night .ps-shopping-cart,
html.easyaccy-night .ps-contact-info,
html.easyaccy-night .ps-customersignin,
html.easyaccy-night .ps-customeraccountlinks,
html.easyaccy-night .ps-emailsubscription,
html.easyaccy-night .blockwishlist,
html.easyaccy-night .blockreassurance,
html.easyaccy-night .blockcategories,
html.easyaccy-night .blockmanufacturer,
html.easyaccy-night .blocksupplier,
html.easyaccy-night .blockcms,
html.easyaccy-night .blockcms-info,
html.easyaccy-night .blockmyaccount,
html.easyaccy-night .blockmyaccount-footer,
html.easyaccy-night .blockcontact,
html.easyaccy-night .blockcontact-infos,
html.easyaccy-night .blocksocial,
html.easyaccy-night .blocktags,
html.easyaccy-night .blocknewsletter,
html.easyaccy-night .blocknewsletter-home,
html.easyaccy-night .ps_linklist,
html.easyaccy-night .ps_banner,
html.easyaccy-night .ps_imageslider,
html.easyaccy-night .ps_customtext,
html.easyaccy-night .ps_customersignin,
html.easyaccy-night .ps_languageselector,
html.easyaccy-night .ps_currenciesselector,
html.easyaccy-night .ps_contactinfo,
html.easyaccy-night .ps_shoppingcart,
html.easyaccy-night .ps_socialfollow,
html.easyaccy-night .ps_emailsubscription,
html.easyaccy-night .ps_categorytree,
html.easyaccy-night .ps_brandlist,
html.easyaccy-night .ps_supplierlist,
html.easyaccy-night .ps_viewedproduct,
html.easyaccy-night .ps_featuredproducts,
html.easyaccy-night .ps_newproducts,
html.easyaccy-night .ps_bestsellers,
html.easyaccy-night .ps_specials,
html.easyaccy-night .ps_crossselling,
html.easyaccy-night .ps_customeraccountlinks,
html.easyaccy-night .ps_customersignin,
html.easyaccy-night .ps_languageselector,
html.easyaccy-night .ps_currenciesselector,
html.easyaccy-night .ps_contactinfo,
html.easyaccy-night .ps_shoppingcart,
html.easyaccy-night .ps_socialfollow,
html.easyaccy-night .ps_emailsubscription,
html.easyaccy-night .ps_categorytree,
html.easyaccy-night .ps_brandlist,
html.easyaccy-night .ps_supplierlist,
html.easyaccy-night .ps_viewedproduct,
html.easyaccy-night .ps_featuredproducts,
html.easyaccy-night .ps_newproducts,
html.easyaccy-night .ps_bestsellers,
html.easyaccy-night .ps_specials,
html.easyaccy-night .ps_crossselling,
html.easyaccy-night .ps_customeraccountlinks {
    background: var(--ps-night-bg1) !important;
    color: var(--ps-night-text) !important;
    border-color: var(--ps-night-border) !important;
}
html.easyaccy-night :where(
    .header-top, .header-nav, .header, header, 
    .footer-container, footer, 
    .block, .card, .product, .content, 
    .container, .container-fluid, 
    .page-content, .tabs, .breadcrumb, 
    .dropdown-menu, .block-categories,
    #search_filters, .link-item, .product-total,
    .delivery-option, .carrier-extra-content
) {
    background: var(--ps-night-bg1) !important;
    color: var(--ps-night-text) !important;
    border-color: var(--ps-night-border) !important;
}
html.easyaccy-night a {
    color: var(--ps-night-link) !important;
}

html.easyaccy-night a:hover {
    color: var(--ps-night-link-hover) !important;
}
html.easyaccy-night :where(
    p, span, li, small, strong, em, 
    code, pre, mark, blockquote, 
    label, dt, dd, th, td, 
    h1, h2, h3, h4, h5, h6, 
    .h1, .h2, .h3, .h4, .h5, .h6
) {
    color: var(--ps-night-text) !important;
}
html.easyaccy-night table {
    color: var(--ps-night-text) !important;
}

html.easyaccy-night thead,
html.easyaccy-night .table thead th {
    background: var(--ps-night-bg2) !important;
    border-color: var(--ps-night-border) !important;
}

html.easyaccy-night .table-striped tbody tr:nth-of-type(odd) {
    background-color: rgba(255, 255, 255, .04) !important;
}
html.easyaccy-night input:not([type=checkbox]):not([type=radio]),
html.easyaccy-night select,
html.easyaccy-night textarea {
    background: var(--ps-night-bg0) !important;
    color: var(--ps-night-text) !important;
    border: 1px solid var(--ps-night-border) !important;
}

html.easyaccy-night ::placeholder {
    color: var(--ps-night-text-muted) !important;
    opacity: .85;
}
html.easyaccy-night button,
html.easyaccy-night .btn,
html.easyaccy-night [type=button],
html.easyaccy-night [type=submit] {
    background: var(--ps-night-success) !important;
    color: #fff !important;
    border-color: transparent !important;
}

html.easyaccy-night button:hover,
html.easyaccy-night .btn:hover {
    background: #2ea043 !important;
}
html.easyaccy-night .material-icons,
html.easyaccy-night [class*="icon-"],
html.easyaccy-night .svgic,
html.easyaccy-night i {
    color: var(--ps-night-text) !important;
    filter: brightness(0.9) !important;
}
html.easyaccy-night img:not(.ps-easyaccy-widget img):not(.ps-easyaccy-btn img) {
    filter: brightness(0.85) contrast(1.1) !important;
    -webkit-filter: brightness(0.85) contrast(1.1) !important;
    transition: filter 0.3s ease !important;
}

html.easyaccy-night img:hover:not(.ps-easyaccy-widget img):not(.ps-easyaccy-btn img) {
    filter: brightness(0.95) contrast(1.05) !important;
    -webkit-filter: brightness(0.95) contrast(1.05) !important;
}
html.easyaccy-night .banner,
html.easyaccy-night .jumbotron,
html.easyaccy-night .hero,
html.easyaccy-night .cover-bg {
    background-color: var(--ps-night-bg2) !important;
    background-blend-mode: multiply !important;
}
html.easyaccy-night .card,
html.easyaccy-night .product-miniature,
html.easyaccy-night .js-product-miniature {
    background: var(--ps-night-bg1) !important;
    border-color: var(--ps-night-border) !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3) !important;
}

html.easyaccy-night .card:hover,
html.easyaccy-night .product-miniature:hover {
    background: var(--ps-night-bg2) !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4) !important;
}
html.easyaccy-night .price,
html.easyaccy-night .product-price,
html.easyaccy-night .regular-price,
html.easyaccy-night .current-price {
    color: var(--ps-night-link) !important;
}

html.easyaccy-night .discount-percentage,
html.easyaccy-night .discount-amount {
    color: var(--ps-night-success) !important;
    background: rgba(35, 134, 54, 0.2) !important;
}
html.easyaccy-night .badge,
html.easyaccy-night .product-flag,
html.easyaccy-night .discount {
    background: var(--ps-night-success) !important;
    color: white !important;
}
html.easyaccy-night .alert-success {
    background: rgba(35, 134, 54, 0.2) !important;
    border-color: var(--ps-night-success) !important;
    color: var(--ps-night-text) !important;
}

html.easyaccy-night .alert-warning {
    background: rgba(255, 193, 7, 0.2) !important;
    border-color: #ffc107 !important;
    color: var(--ps-night-text) !important;
}

html.easyaccy-night .alert-danger {
    background: rgba(220, 53, 69, 0.2) !important;
    border-color: #dc3545 !important;
    color: var(--ps-night-text) !important;
}

html.easyaccy-night .alert-info {
    background: rgba(23, 162, 184, 0.2) !important;
    border-color: #17a2b8 !important;
    color: var(--ps-night-text) !important;
}
html.easyaccy-night .modal-header {
    background: var(--ps-night-bg2) !important;
    border-bottom-color: var(--ps-night-border) !important;
}

html.easyaccy-night .modal-body {
    background: var(--ps-night-bg1) !important;
}

html.easyaccy-night .modal-footer {
    background: var(--ps-night-bg2) !important;
    border-top-color: var(--ps-night-border) !important;
}
html.easyaccy-night .dropdown-menu {
    background: var(--ps-night-bg2) !important;
}

html.easyaccy-night .dropdown-item {
    color: var(--ps-night-text) !important;
}

html.easyaccy-night .dropdown-item:hover {
    background: var(--ps-night-bg1) !important;
}
html.easyaccy-night .pagination .page-link {
    background: var(--ps-night-bg1) !important;
    border-color: var(--ps-night-border) !important;
    color: var(--ps-night-text) !important;
}

html.easyaccy-night .pagination .page-item.active .page-link {
    background: var(--ps-night-success) !important;
    border-color: var(--ps-night-success) !important;
}
html.easyaccy-night .list-group-item {
    background: var(--ps-night-bg1) !important;
    border-color: var(--ps-night-border) !important;
    color: var(--ps-night-text) !important;
}
html.easyaccy-night .ps-easyaccy-panel {
    background: var(--ps-night-bg1);
    color: var(--ps-night-text);
    border-left-color: var(--ps-night-border);
    border-top-color: var(--ps-night-border);
    border-bottom-color: var(--ps-night-border);
}

html.easyaccy-night .ps-easyaccy-panel-header,
html.easyaccy-night .ps-easyaccy-footer {
    background: var(--ps-night-bg2);
}

html.easyaccy-night .ps-easyaccy-btn {
    background: #3b82f6;
    color: #fff;
    border-color: var(--ps-night-border);
}

html.easyaccy-night .ps-easyaccy-toggle:hover {
    background: var(--ps-night-bg2);
}

html.easyaccy-night .easyaccy-tooltip {
    background: var(--ps-night-bg0);
    color: var(--ps-night-text-muted);
}
html.easyaccy-night .easyaccy-night-enhanced {
    background: var(--ps-night-bg1) !important;
    color: var(--ps-night-text) !important;
    border-color: var(--ps-night-border) !important;
}
html.easyaccy-night #wrapper {
    background: var(--ps-night-bg0) !important;
}
html.easyaccy-night .block_newsletter {
    background: var(--ps-night-bg2) !important;
    border: 1px solid var(--ps-night-border) !important;
}

html.easyaccy-night .block_newsletter h3,
html.easyaccy-night .block_newsletter .title_block,
html.easyaccy-night .block_newsletter .block-title {
    color: var(--ps-night-text) !important;
    border-bottom-color: var(--ps-night-border) !important;
}
html.easyaccy-night #custom-text {
    background: var(--ps-night-bg1) !important;
    padding: 15px !important;
    border-radius: 8px !important;
    border: 1px solid var(--ps-night-border) !important;
}

html.easyaccy-night #custom-text h3,
html.easyaccy-night #custom-text .title_block,
html.easyaccy-night #custom-text .block-title {
    color: var(--ps-night-text) !important;
}
html.easyaccy-pause-animations *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
html.easyaccy-cursor *{cursor:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64'%3E%3Cpolygon points='6,6 30,28 20,28 28,56 18,56 12,30 6,30' fill='white' stroke='black' stroke-width='3'/%3E%3C/svg%3E") 6 6, auto!important}
#ps-easyaccy-reading-layer .reading-content-inner {
    max-width: 900px !important;
    margin: 20px auto !important;
    padding: 40px !important;
    line-height: 1.8 !important;
    font-family: 'Georgia', 'Times New Roman', serif !important;
    font-size: 18px !important;
    background-color: inherit !important;
    z-index: 1 !important;
    pointer-events: auto !important;
}

.reading-title {
    font-size: 2.5em !important;
    line-height: 1.2 !important;
    margin-bottom: 20px !important;
    padding-bottom: 15px !important;
    border-bottom: 3px solid #4CAF50 !important;
    color: #2c3e50 !important;
    text-align: center !important;
}

.reading-metadata {
    display: flex !important;
    justify-content: center !important;
    gap: 30px !important;
    margin-bottom: 40px !important;
    padding: 15px !important;
    background: rgba(76, 175, 80, 0.1) !important;
    border-radius: 10px !important;
    font-size: 0.9em !important;
    color: #555 !important;
}

.reading-toc {
    margin: 40px 0 !important;
    padding: 25px !important;
    background: rgba(76, 175, 80, 0.05) !important;
    border-radius: 12px !important;
    border-left: 5px solid #4CAF50 !important;
}

.toc-header {
    font-size: 1.8em !important;
    margin-bottom: 20px !important;
    color: #2c3e50 !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}

.toc-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.toc-item {
    margin: 8px 0 !important;
    padding: 5px 0 !important;
}

.toc-level-1 { padding-left: 0 !important; }
.toc-level-2 { padding-left: 20px !important; }
.toc-level-3 { padding-left: 40px !important; }
.toc-level-4 { padding-left: 60px !important; }
.toc-level-5 { padding-left: 80px !important; }
.toc-level-6 { padding-left: 100px !important; }

.toc-link {
    color: #2c5282 !important;
    text-decoration: none !important;
    font-size: 1.05em !important;
    transition: all 0.2s !important;
    display: block !important;
    padding: 8px 15px !important;
    border-radius: 6px !important;
}

.toc-link:hover {
    background: rgba(44, 82, 130, 0.1) !important;
    padding-left: 20px !important;
    color: #1a365d !important;
}

.reading-section {
    margin: 60px 0 !important;
    padding: 30px !important;
    background: white !important;
    border-radius: 12px !important;
    box-shadow: 0 5px 20px rgba(0,0,0,0.05) !important;
    scroll-margin-top: 20px !important;
}

.reading-section:focus {
    outline: 3px solid #4CAF50 !important;
    outline-offset: 5px !important;
}

.section-heading {
    font-size: 1.8em !important;
    margin-bottom: 25px !important;
    padding-bottom: 15px !important;
    border-bottom: 2px solid #e0e0e0 !important;
    color: #2c3e50 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
}

.section-navigation {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    margin-top: 40px !important;
    padding-top: 20px !important;
    border-top: 1px solid #e0e0e0 !important;
}

.prev-section, .next-section {
    padding: 10px 20px !important;
    background: #4CAF50 !important;
    color: white !important;
    border: none !important;
    border-radius: 6px !important;
    cursor: pointer !important;
    font-size: 0.9em !important;
    transition: background 0.2s !important;
}

.prev-section:hover, .next-section:hover {
    background: #45a049 !important;
}

.prev-section:disabled, .next-section:disabled {
    background: #cccccc !important;
    cursor: not-allowed !important;
}

.section-counter {
    font-size: 0.9em !important;
    color: #666 !important;
    font-weight: bold !important;
}

.sections-navigation {
    position: sticky !important;
    top: 70px !important;
    background: white !important;
    padding: 20px !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1) !important;
    margin: 40px 0 !important;
    z-index: 10 !important;
}

.sections-nav-header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    margin-bottom: 20px !important;
}

.sections-nav-header h3 {
    margin: 0 !important;
    font-size: 1.2em !important;
    color: #2c3e50 !important;
}

.sections-progress {
    display: flex !important;
    align-items: center !important;
    gap: 15px !important;
}

.progress-bar {
    width: 150px !important;
    height: 8px !important;
    background: #e0e0e0 !important;
    border-radius: 4px !important;
    overflow: hidden !important;
}

.progress-fill {
    height: 100% !important;
    background: #4CAF50 !important;
    transition: width 0.3s !important;
}

.progress-text {
    font-size: 0.9em !important;
    color: #666 !important;
    font-weight: bold !important;
    min-width: 50px !important;
    text-align: center !important;
}

.sections-buttons {
    display: flex !important;
    gap: 15px !important;
    align-items: center !important;
    justify-content: center !important;
    margin-bottom: 20px !important;
}

.nav-btn {
    padding: 12px 25px !important;
    background: #4CAF50 !important;
    color: white !important;
    border: none !important;
    border-radius: 8px !important;
    cursor: pointer !important;
    font-size: 1em !important;
    transition: all 0.2s !important;
    min-width: 120px !important;
}

.nav-btn:hover:not(:disabled) {
    background: #45a049 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 10px rgba(0,0,0,0.2) !important;
}

.nav-btn:disabled {
    background: #cccccc !important;
    cursor: not-allowed !important;
}

.section-selector {
    padding: 12px 20px !important;
    border: 2px solid #4CAF50 !important;
    border-radius: 8px !important;
    font-size: 1em !important;
    background: white !important;
    min-width: 150px !important;
    cursor: pointer !important;
}

.quick-jump {
    display: flex !important;
    gap: 10px !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
}

.quick-jump span {
    font-size: 0.9em !important;
    color: #666 !important;
}

.jump-btn {
    padding: 8px 12px !important;
    background: #f0f0f0 !important;
    border: 1px solid #ddd !important;
    border-radius: 6px !important;
    cursor: pointer !important;
    font-size: 0.9em !important;
    transition: all 0.2s !important;
}

.jump-btn:hover {
    background: #4CAF50 !important;
    color: white !important;
    border-color: #4CAF50 !important;
}
#ps-easyaccy-reading-layer.theme-sepia .reading-section {
    background: #f8f4e8 !important;
}

#ps-easyaccy-reading-layer.theme-sepia .sections-navigation {
    background: #f8f4e8 !important;
}

#ps-easyaccy-reading-layer.theme-dark .reading-section {
    background: #2d2d2d !important;
}

#ps-easyaccy-reading-layer.theme-dark .sections-navigation {
    background: #2d2d2d !important;
}
.reading-content-inner p {
    margin-bottom: 1.5em !important;
    text-align: justify !important;
    font-size: 1.1em !important;
    line-height: 1.8 !important;
}

.reading-content-inner h1, 
.reading-content-inner h2, 
.reading-content-inner h3 {
    font-family: 'Georgia', serif !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    margin-top: 2em !important;
    margin-bottom: 1em !important;
    color: #2c3e50 !important;
}
.reading-content-inner ul,
.reading-content-inner ol {
    margin-left: 2em !important;
    margin-bottom: 1.5em !important;
}

.reading-content-inner li {
    margin-bottom: 0.8em !important;
    line-height: 1.6 !important;
}
.reading-content-inner table {
    border-collapse: collapse !important;
    width: 100% !important;
    margin: 25px 0 !important;
    font-size: 0.95em !important;
}

.reading-content-inner th {
    background: #4CAF50 !important;
    color: white !important;
    padding: 12px 15px !important;
    text-align: left !important;
    font-weight: 600 !important;
}

.reading-content-inner td {
    padding: 10px 15px !important;
    border-bottom: 1px solid #e0e0e0 !important;
    border-right: 1px solid #e0e0e0 !important;
}

.reading-content-inner tr:nth-child(even) {
    background: #f9f9f9 !important;
}
.reading-content-inner img {
    max-width: 100% !important;
    height: auto !important;
    display: block !important;
    margin: 25px auto !important;
    border-radius: 8px !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1) !important;
}
.reading-content-inner code {
    background: #f4f4f4 !important;
    padding: 3px 8px !important;
    border-radius: 4px !important;
    font-family: 'Courier New', monospace !important;
    font-size: 0.9em !important;
}

.reading-content-inner pre {
    background: #2d2d2d !important;
    color: #f8f8f2 !important;
    padding: 20px !important;
    border-radius: 8px !important;
    overflow-x: auto !important;
    margin: 25px 0 !important;
}
@media (max-width: 768px) {
    #ps-easyaccy-reading-layer .reading-content-inner {
        padding: 20px !important;
        font-size: 16px !important;
    }
    
    .reading-title {
        font-size: 2em !important;
    }
    
    .sections-buttons {
        flex-direction: column !important;
    }
    
    .nav-btn {
        width: 100% !important;
        margin-bottom: 10px !important;
    }
    
    .section-selector {
        width: 100% !important;
    }
}
html.easyaccy-landmarks [role="banner"],
html.easyaccy-landmarks [role="navigation"],
html.easyaccy-landmarks [role="main"],
html.easyaccy-landmarks [role="search"],
html.easyaccy-landmarks [role="contentinfo"],
html.easyaccy-landmarks [role="complementary"],
html.easyaccy-landmarks [role="form"],
html.easyaccy-landmarks header,
html.easyaccy-landmarks nav,
html.easyaccy-landmarks main,
html.easyaccy-landmarks footer,
html.easyaccy-landmarks section,
html.easyaccy-landmarks article,
html.easyaccy-landmarks aside {
    outline: 4px solid #ff5722 !important;
    outline-offset: 4px !important;
    position: relative !important;
    border-radius: 4px !important;
    box-shadow: 0 0 0 4px rgba(255, 87, 34, 0.3) !important;
    transition: outline-color 0.3s !important;
}

html.easyaccy-landmarks [role="banner"]:hover,
html.easyaccy-landmarks [role="navigation"]:hover,
html.easyaccy-landmarks [role="main"]:hover,
html.easyaccy-landmarks [role="search"]:hover,
html.easyaccy-landmarks [role="contentinfo"]:hover,
html.easyaccy-landmarks header:hover,
html.easyaccy-landmarks nav:hover,
html.easyaccy-landmarks main:hover,
html.easyaccy-landmarks footer:hover {
    outline-color: #ff9800 !important;
    box-shadow: 0 0 0 4px rgba(255, 152, 0, 0.5) !important;
}
html.easyaccy-landmarks [role="banner"]::before,
html.easyaccy-landmarks [role="navigation"]::before,
html.easyaccy-landmarks [role="main"]::before,
html.easyaccy-landmarks [role="search"]::before,
html.easyaccy-landmarks [role="contentinfo"]::before,
html.easyaccy-landmarks [role="complementary"]::before,
html.easyaccy-landmarks [role="form"]::before {
    content: attr(role) !important;
    position: absolute !important;
    top: -25px !important;
    left: 0 !important;
    background: #ff5722 !important;
    color: white !important;
    padding: 3px 10px !important;
    font-size: 12px !important;
    font-weight: bold !important;
    border-radius: 4px 4px 0 0 !important;
    z-index: 9999 !important;
    pointer-events: none !important;
    white-space: nowrap !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}
html.easyaccy-landmarks header::before,
html.easyaccy-landmarks nav::before,
html.easyaccy-landmarks main::before,
html.easyaccy-landmarks footer::before,
html.easyaccy-landmarks section::before,
html.easyaccy-landmarks article::before,
html.easyaccy-landmarks aside::before {
    content: attr(class) !important;
    position: absolute !important;
    top: -25px !important;
    left: 0 !important;
    background: #2196f3 !important;
    color: white !important;
    padding: 3px 10px !important;
    font-size: 12px !important;
    font-weight: bold !important;
    border-radius: 4px 4px 0 0 !important;
    z-index: 9999 !important;
    pointer-events: none !important;
    white-space: nowrap !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    max-width: 200px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}
html.easyaccy-landmarks header:not([class])::before,
html.easyaccy-landmarks nav:not([class])::before,
html.easyaccy-landmarks main:not([class])::before,
html.easyaccy-landmarks footer:not([class])::before,
html.easyaccy-landmarks section:not([class])::before,
html.easyaccy-landmarks article:not([class])::before,
html.easyaccy-landmarks aside:not([class])::before {
    content: attr(tag) !important;
}
html.easyaccy-landmarks h1,
html.easyaccy-landmarks h2,
html.easyaccy-landmarks h3,
html.easyaccy-landmarks h4,
html.easyaccy-landmarks h5,
html.easyaccy-landmarks h6 {
    outline: 3px dashed #4caf50 !important;
    outline-offset: 3px !important;
    position: relative !important;
    margin-top: 30px !important;
}

html.easyaccy-landmarks h1::before,
html.easyaccy-landmarks h2::before,
html.easyaccy-landmarks h3::before,
html.easyaccy-landmarks h4::before,
html.easyaccy-landmarks h5::before,
html.easyaccy-landmarks h6::before {
    content: 'H' attr(aria-level) !important;
    position: absolute !important;
    top: -25px !important;
    left: 0 !important;
    background: #4caf50 !important;
    color: white !important;
    padding: 2px 8px !important;
    font-size: 11px !important;
    font-weight: bold !important;
    border-radius: 3px !important;
    z-index: 9999 !important;
    pointer-events: none !important;
}
html.easyaccy-landmarks h1::before { content: 'H1' !important; }
html.easyaccy-landmarks h2::before { content: 'H2' !important; }
html.easyaccy-landmarks h3::before { content: 'H3' !important; }
html.easyaccy-landmarks h4::before { content: 'H4' !important; }
html.easyaccy-landmarks h5::before { content: 'H5' !important; }
html.easyaccy-landmarks h6::before { content: 'H6' !important; }
html.easyaccy-landmarks form,
html.easyaccy-landmarks [role="form"] {
    outline: 3px solid #9c27b0 !important;
    outline-offset: 4px !important;
    padding: 15px !important;
    background: rgba(156, 39, 176, 0.05) !important;
    border-radius: 8px !important;
}

html.easyaccy-landmarks form::before,
html.easyaccy-landmarks [role="form"]::before {
    content: 'FORM' !important;
    background: #9c27b0 !important;
}
html.easyaccy-landmarks table {
    outline: 2px solid #ff9800 !important;
    outline-offset: 3px !important;
}
html.easyaccy-landmarks ul,
html.easyaccy-landmarks ol {
    outline: 2px dashed #00bcd4 !important;
    outline-offset: 2px !important;
    padding-left: 30px !important;
}
html.easyaccy-landmarks a[href^="#"],
html.easyaccy-landmarks a[href*="javascript:"] {
    outline: 2px dotted #795548 !important;
    outline-offset: 2px !important;
    background: rgba(121, 85, 72, 0.1) !important;
}
html.easyaccy-landmarks button,
html.easyaccy-landmarks [type="button"],
html.easyaccy-landmarks [type="submit"],
html.easyaccy-landmarks [role="button"] {
    outline: 2px solid #f44336 !important;
    outline-offset: 2px !important;
}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.easyaccy-shortcuts{position:fixed;bottom:20px;left:20px;background:rgba(0,0,0,0.9);color:white;padding:15px;border-radius:8px;z-index:99999;font-size:14px}
.easyaccy-shortcuts kbd{background:#333;padding:2px 6px;border-radius:4px;margin:0 3px}

.easyaccy-text-align-left p,
.easyaccy-text-align-left h1,
.easyaccy-text-align-left h2,
.easyaccy-text-align-left h3,
.easyaccy-text-align-left h4,
.easyaccy-text-align-left h5,
.easyaccy-text-align-left h6,
.easyaccy-text-align-left li,
.easyaccy-text-align-left td,
.easyaccy-text-align-left th,
.easyaccy-text-align-left div {
  text-align: left !important;
}

.easyaccy-letter-spacing p,
.easyaccy-letter-spacing h1,
.easyaccy-letter-spacing h2,
.easyaccy-letter-spacing h3,
.easyaccy-letter-spacing h4,
.easyaccy-letter-spacing h5,
.easyaccy-letter-spacing h6,
.easyaccy-letter-spacing li,
.easyaccy-letter-spacing td,
.easyaccy-letter-spacing th,
.easyaccy-letter-spacing span,
.easyaccy-letter-spacing a,
.easyaccy-letter-spacing button {
  letter-spacing: var(--easyaccy-letter-spacing, 0) !important;
}

input[data-easyaccy-toggle="letter-spacing"]:checked ~ #letter-spacing-control {
  display: block !important;
}

#speech-controls {
    transition: all 0.3s ease;
    border: 1px solid #e2e8f0;
}

#speech-controls select,
#speech-controls input[type="range"] {
    font-size: 13px;
}

#speech-controls input[type="range"] {
    -webkit-appearance: none;
    height: 6px;
    background: #e2e8f0;
    border-radius: 3px;
    outline: none;
}

#speech-controls input[type="range"]::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 16px;
    height: 16px;
    background: #0b57d0;
    border-radius: 50%;
    cursor: pointer;
}

#speech-controls input[type="range"]::-moz-range-thumb {
    width: 16px;
    height: 16px;
    background: #0b57d0;
    border-radius: 50%;
    cursor: pointer;
    border: none;
}

html.easyaccy-night #speech-controls {
    background: var(--ps-night-bg2);
    border-color: var(--ps-night-border);
}

html.easyaccy-night #speech-controls select {
    background: var(--ps-night-bg1);
    color: var(--ps-night-text);
    border-color: var(--ps-night-border);
}

html.easyaccy-night #speech-controls input[type="range"] {
    background: var(--ps-night-bg0);
}

html.easyaccy-night #speech-controls input[type="range"]::-webkit-slider-thumb {
    background: var(--ps-night-link);
}

html.easyaccy-magnifier {
  overflow: hidden !important;
}

html.easyaccy-magnifier body {
  transform-origin: 0 0;
  transition: transform 0.1s ease-out;
  cursor: zoom-in;
}

@media (max-width: 767px) {
  html.easyaccy-magnifier {
    overflow: auto !important;
  }
  
  html.easyaccy-magnifier body {
    transform: none !important;
  }
}

#landmarks-modal {
  animation: slideDown 0.3s ease-out;
}

@keyframes slideDown {
  from {
    opacity: 0;
    transform: translate(-50%, -20px);
  }
  to {
    opacity: 1;
    transform: translate(-50%, 0);
  }
}

.landmark-item:focus {
  outline: 3px solid #0b57d0 !important;
  outline-offset: 2px !important;
  box-shadow: 0 0 0 3px rgba(11, 87, 208, 0.3) !important;
}
html.easyaccy-show-landmarks [role="banner"],
html.easyaccy-show-landmarks [role="navigation"],
html.easyaccy-show-landmarks [role="main"],
html.easyaccy-show-landmarks [role="contentinfo"],
html.easyaccy-show-landmarks header,
html.easyaccy-show-landmarks nav,
html.easyaccy-show-landmarks main,
html.easyaccy-show-landmarks footer {
  position: relative;
}

html.easyaccy-show-landmarks [role="banner"]::before,
html.easyaccy-show-landmarks [role="navigation"]::before,
html.easyaccy-show-landmarks [role="main"]::before,
html.easyaccy-show-landmarks [role="contentinfo"]::before,
html.easyaccy-show-landmarks header::before,
html.easyaccy-show-landmarks nav::before,
html.easyaccy-show-landmarks main::before,
html.easyaccy-show-landmarks footer::before {
  content: attr(role) " (" attr(class) ")";
  position: absolute;
  top: -25px;
  left: 0;
  background: #ff5722;
  color: white;
  padding: 2px 8px;
  font-size: 11px;
  border-radius: 4px;
  z-index: 10000;
  pointer-events: none;
  white-space: nowrap;
  max-width: 200px;
  overflow: hidden;
  text-overflow: ellipsis;
}

html.easyaccy-show-landmarks h1::before,
html.easyaccy-show-landmarks h2::before,
html.easyaccy-show-landmarks h3::before,
html.easyaccy-show-landmarks h4::before,
html.easyaccy-show-landmarks h5::before,
html.easyaccy-show-landmarks h6::before {
  content: "H" attr(aria-level);
  position: absolute;
  top: -20px;
  left: 0;
  background: #0b57d0;
  color: white;
  padding: 2px 6px;
  font-size: 10px;
  border-radius: 3px;
  z-index: 10000;
  pointer-events: none;
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translate(-50%, 20px);
  }
  to {
    opacity: 1;
    transform: translate(-50%, 0);
  }
}

.ps-easyaccy-btn.disabled {
  opacity: 0.5 !important;
  cursor: not-allowed !important;
  pointer-events: none !important;
}

.ps-easyaccy-btn.disabled::after {
  content: " (Magnifier active)";
  position: absolute;
  top: -30px;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(0,0,0,0.8);
  color: white;
  padding: 5px 10px;
  border-radius: 4px;
  font-size: 12px;
  white-space: nowrap;
  opacity: 0;
  transition: opacity 0.3s;
  pointer-events: none;
}

.ps-easyaccy-btn.disabled:hover::after {
  opacity: 1;
}

#magnifier-block-msg {
  animation: fadeInUp 0.3s ease-out;
}

#magnifier-block-msg button:hover {
  transform: translateY(-2px);
  transition: transform 0.2s;
}

#ps-easyaccy-widget.open {
    right: 380px !important;
}

#easyaccy-announcer,
#easyaccy-visual-notification,
.easyaccy-shortcuts,
#ps-easyaccy-reading-layer,
#magnifier-controls,
#landmarks-modal {
    filter: none !important;
    -webkit-filter: none !important;
}

.ps-easyaccy-btn {
    filter: none !important;
    -webkit-filter: none !important;
    position: relative !important;
    z-index: 2147483001 !important;
}

body.easyaccy-achromatopsia-active {
}

body.easyaccy-achromatopsia-active #ps-easyaccy-widget,
body.easyaccy-achromatopsia-active #ps-easyaccy-widget *,
body.easyaccy-achromatopsia-active .ps-easyaccy-widget,
body.easyaccy-achromatopsia-active .ps-easyaccy-widget * {
    filter: none !important;
    -webkit-filter: none !important;
}

@media (max-width: 768px) {
    #ps-easyaccy-widget {
        position: fixed !important;
        right: 0 !important;
        top: 50% !important;
        margin-top: -24px !important;
        /* SIN transform: rompería position:fixed del panel */
    }
    
    #ps-easyaccy-widget.open {
        right: 83vw !important;
    }
}

/* ============================================================
   FIX PS 9.1.0 - STACKING CONTEXT
   Cualquier transform en .ps-easyaccy-widget / #ps-easyaccy-widget
   crea un stacking context que hace que position:fixed del panel
   se ancle al widget en vez del viewport, mostrándolo siempre abierto.
   Este bloque al final del archivo anula todos los transforms previos.
   ============================================================ */

.ps-easyaccy-widget,
#ps-easyaccy-widget {
    transform: none !important;
    will-change: auto !important;
}

/* El panel: siempre anclado al viewport, oculto por defecto */
.ps-easyaccy-panel {
    position: fixed !important;
    right: 0 !important;
    top: 0 !important;
    left: auto !important;
    height: 100vh !important;
    transform: translateX(110%) !important;
    transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
}

/* Solo visible cuando el widget tiene clase .open */
.ps-easyaccy-widget.open .ps-easyaccy-panel,
#ps-easyaccy-widget.open .ps-easyaccy-panel {
    transform: translateX(0) !important;
}
