:root{
  --a11y-font-scale:1;
  --a11y-contrast-scale:1;
  /* Paleta noche */
  --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;
}

/* ===== Widget ===== */
.ps-a11y-widget{position:fixed;bottom:1rem;right:1rem;z-index:2147483000;font:14px/1.4 system-ui,Arial,sans-serif}
.ps-a11y-btn:focus{outline:3px solid #99c2ff;outline-offset:2px}
.ps-a11y-panel{position:absolute;right:0;bottom:64px;width:320px;max-width:calc(100vw - 2rem);background:#fff;color:#222;border-radius:12px;box-shadow:0 16px 40px rgba(0,0,0,.22);padding:.5rem;border:1px solid #e9eef6}
.ps-a11y-panel[hidden]{display:none!important}
.ps-a11y-panel-header{display:flex;justify-content:space-between;align-items:center;padding:.5rem;border-bottom:1px solid #eee}
.ps-a11y-group{padding:.5rem;display:grid;gap:.6rem}
.ps-a11y-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap}
.ps-a11y-toggle{display:flex;align-items:center;gap:.5rem;cursor:pointer}
.ps-a11y-footer{padding:.5rem;border-top:1px solid #eee;display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}
.ps-a11y-declaration-link{font-size:13px;text-decoration:underline;color:#0b57d0}
#ps-a11y-fontval,#ps-a11y-contrastval{min-width:3.5ch;text-align:center;font-weight:700}
#ps-a11y-widget button{font:inherit;border-radius:4px;border:1px solid #d7dce5;background:#f7f8fa;color:#222;padding:.35rem .55rem;cursor:pointer}
#ps-a11y-widget button:hover{background:#eef1f6}
#ps-a11y-widget .ps-a11y-btn{width:52px;height:52px;border-radius:50%;border:0;cursor:pointer;background:#0b57d0;color:#fff;box-shadow:0 6px 18px rgba(0,0,0,.2);display:flex;align-items:center;justify-content:center;padding:0}
#ps-a11y-widget .ps-a11y-close{background:none;border:0;font-size:18px;line-height:1;color:#222;padding:.25rem}
#ps-a11y-widget .ps-a11y-reset{font-weight:600}

/* ===== Base global ===== */
html{font-size:calc(100% * var(--a11y-font-scale));filter:contrast(var(--a11y-contrast-scale))}

/* Enlaces subrayados */
html.a11y-underline a,html.a11y-underline .link,html.a11y-underline [role="link"]{text-decoration:underline!important}

/* Escala de grises */
html.a11y-grayscale{filter:grayscale(1) contrast(var(--a11y-contrast-scale))}

/* Fuente legible (más notoria) */
html.a11y-readable{font-family:system-ui,Arial,sans-serif!important;letter-spacing:.05em;word-spacing:.03em;font-size:1.08em!important}

/* Fuente dislexia (muy marcada) */
html.a11y-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}

/* Foco visible */
html.a11y-focus :focus{outline:3px solid #ff9800!important;outline-offset:2px!important}

/* ===== Invertir SIN afectar a imágenes / vídeos / canvas / muchos bg-image ===== */
html.a11y-invert{background:#111!important;color:#eee!important;filter:invert(1) hue-rotate(180deg) contrast(var(--a11y-contrast-scale))}
html.a11y-invert img,
html.a11y-invert video,
html.a11y-invert picture,
html.a11y-invert canvas,
html.a11y-invert svg image{filter:invert(1) hue-rotate(180deg)!important}
/* comunes en PrestaShop con background-image */
html.a11y-invert .product-cover,
html.a11y-invert .product-thumbnail,
html.a11y-invert .thumbnail,
html.a11y-invert .thumbnail-container,
html.a11y-invert .product-image,
html.a11y-invert .cart-image,
html.a11y-invert .logo,
html.a11y-invert .slick-slide,
html.a11y-invert .owl-carousel .owl-item img{filter:invert(1) hue-rotate(180deg)!important}
/* clase de escape por si ves algún bloque afectado */
html.a11y-invert .no-invert{filter:invert(1) hue-rotate(180deg)!important}

/* ===== MODO NOCHE (override fuerte y homogéneo) ===== */
html.a11y-night,html.a11y-night body{background:var(--ps-night-bg0)!important;color:var(--ps-night-text)!important;color-scheme:dark}
html.a11y-night a{color:var(--ps-night-link)!important}
html.a11y-night a:hover{color:var(--ps-night-link-hover)!important}

/* texto en la mayoría de elementos (alta especificidad sin romper layout) */
html.a11y-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}

/* contenedores típicos del tema */
html.a11y-night :where(.header-top,.header-nav,.header,header,.footer-container,footer,.block,.card,.product,.content,.container,.container-fluid,.page-content,.tabs,.breadcrumb,.modal-content,.dropdown-menu,.popover,.alert,.search-widget,.facet,.facet__list,.nav,.navbar){background:var(--ps-night-bg1)!important;color:var(--ps-night-text)!important;border-color:var(--ps-night-border)!important}

/* tablas y listas */
html.a11y-night table{color:var(--ps-night-text)!important}
html.a11y-night thead,html.a11y-night .table thead th{background:var(--ps-night-bg2)!important;border-color:var(--ps-night-border)!important}
html.a11y-night .table-striped tbody tr:nth-of-type(odd){background-color:rgba(255,255,255,.04)!important}

/* inputs */
html.a11y-night input:not([type=checkbox]):not([type=radio]),
html.a11y-night select,html.a11y-night textarea{background:var(--ps-night-bg0)!important;color:var(--ps-night-text)!important;border:1px solid var(--ps-night-border)!important}
html.a11y-night ::placeholder{color:var(--ps-night-text-muted)!important;opacity:.85}

/* botones */
html.a11y-night button,
html.a11y-night .btn,
html.a11y-night [type=button],
html.a11y-night [type=submit]{background:var(--ps-night-success)!important;color:#fff!important;border-color:transparent!important}
html.a11y-night button:hover,
html.a11y-night .btn:hover,
html.a11y-night [type=button]:hover,
html.a11y-night [type=submit]:hover{background:#2ea043!important}

/* panel del widget en noche */
html.a11y-night .ps-a11y-panel{background:var(--ps-night-bg1);color:var(--ps-night-text);border-color:var(--ps-night-border)}
html.a11y-night #ps-a11y-widget button{background:var(--ps-night-bg2)!important;color:var(--ps-night-text)!important;border-color:var(--ps-night-border)!important}
html.a11y-night #ps-a11y-widget button:hover{background:#2b3340!important}
html.a11y-night #ps-a11y-widget .ps-a11y-btn{background:#3b82f6!important;color:#fff!important;border:0!important}
html.a11y-night #ps-a11y-widget .ps-a11y-close{background:none!important;color:var(--ps-night-text)!important;border:0!important}
html.a11y-night .ps-a11y-declaration-link{color:var(--ps-night-link)!important}

/* Pausar animaciones */
html.a11y-pause-animations *{animation:none!important;transition:none!important;scroll-behavior:auto!important}

/* Cursor flecha grande */
html.a11y-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}
