/* ══════════════════════════════════════════════════════════════════
   Strumenti di accessibilità — Farmacia Santa Marta
   Il pulsante sta in basso a sinistra, perché a destra c'è WhatsApp.
   Il pannello usa misure in px: le regolazioni del testo cambiano la
   pagina, non il pannello che le comanda.
   ══════════════════════════════════════════════════════════════════ */

:root{--acc-testo:100%;--acc-riga:1;--acc-lettere:0em}

/* ---------- Preferenze applicate alla pagina ----------
   Gli attributi data-acc-* compaiono solo quando la regolazione è
   attiva: a impostazioni normali il tema resta esattamente com'è. */
html[data-acc-testo]{font-size:var(--acc-testo)}

html[data-acc-riga] body :is(p,li,dd,dt,figcaption,blockquote,td,th,label,summary,.btn):not(.acc-pannello *){
  line-height:calc(1.65 * var(--acc-riga)) !important}
html[data-acc-riga] body :is(h1,h2,h3,h4,h5,h6):not(.acc-pannello *){line-height:calc(1.12 * var(--acc-riga)) !important}

html[data-acc-lettere] body :not(.acc-pannello):not(.acc-pannello *){
  letter-spacing:var(--acc-lettere) !important;word-spacing:calc(var(--acc-lettere) * 2)}

html[data-acc-contrasto],html[data-acc-contrasto] body{background:#000 !important;color:#fff}
/* :where() azzera la specificità: le regole mirate qui sotto possono vincere */
html[data-acc-contrasto] body :where(:not(.acc-pannello, .acc-pannello *, .acc-apri, .acc-apri *, .acc-lente, .acc-maschera)){
  background-color:transparent !important;background-image:none !important;color:#fff !important;
  border-color:#fff !important;box-shadow:none !important;text-shadow:none !important}
/* ciò che si sovrappone alla pagina (testate, tendine, riquadri flottanti) resta pieno */
html[data-acc-contrasto] body :is(.site-header,.topbar,.nav-mobile,.mega-in,.sub-menu,.tb-settimana,.hero-badge,
  .prenota-badge,.news-overlay,.offerte-barra,.indice-scheda-pdf,.salta-al-contenuto,.fab-wa){background-color:#000 !important}
html[data-acc-contrasto] body :is(.mega-in,.sub-menu,.tb-settimana,.hero-badge,.prenota-badge,.fab-wa){border:2px solid #fff !important}
html[data-acc-contrasto] body .cookie-wrap > *{background-color:#000 !important;border:2px solid #fff !important}
html[data-acc-contrasto] body .fsm-lightbox{background-color:rgba(0,0,0,.94) !important}
html[data-acc-contrasto] body a:not(.acc-pannello *):not(.acc-apri){color:#FFE14D !important;text-decoration:underline !important}
html[data-acc-contrasto] body svg:not(.acc-pannello *):not(.acc-apri *){color:#fff !important}
html[data-acc-contrasto] body img:not(.acc-pannello *){filter:grayscale(1) contrast(1.15)}

html[data-acc-leggibile] body :not(.acc-pannello):not(.acc-pannello *){
  font-family:Verdana,"Trebuchet MS","DejaVu Sans",Tahoma,sans-serif !important}

html[data-acc-collegamenti] body a:not(.acc-pannello *):not(.acc-apri){
  text-decoration:underline !important;text-underline-offset:3px;outline:2px dashed currentColor;outline-offset:2px}

html[data-acc-titoli] body :is(h1,h2,h3,h4,h5,h6):not(.acc-pannello *){
  outline:2px solid var(--verde,#287840);outline-offset:6px;border-radius:4px}

html[data-acc-immagini] body :is(img,picture,video,iframe):not(.acc-pannello *){visibility:hidden !important}
html[data-acc-immagini] body :is(.hero-visual,.hero-anello){visibility:hidden !important}

html[data-acc-animazioni]{scroll-behavior:auto !important}
html[data-acc-animazioni] body *:not(.acc-pannello):not(.acc-pannello *),
html[data-acc-animazioni] body *::before,html[data-acc-animazioni] body *::after{
  animation:none !important;transition:none !important;scroll-behavior:auto !important}
html[data-acc-animazioni] .js .reveal{opacity:1 !important;transform:none !important}

html[data-acc-allineamento="left"] body :is(p,li,h1,h2,h3,h4,figcaption):not(.acc-pannello *){text-align:left !important}
html[data-acc-allineamento="center"] body :is(p,li,h1,h2,h3,h4,figcaption):not(.acc-pannello *){text-align:center !important}
html[data-acc-allineamento="right"] body :is(p,li,h1,h2,h3,h4,figcaption):not(.acc-pannello *){text-align:right !important}

/* ---------- Maschera di lettura e lente ---------- */
.acc-maschera{position:fixed;inset:0;z-index:96;pointer-events:none;
  background:rgba(21,30,24,.72);
  -webkit-mask:linear-gradient(#000 0 0) 0 0/100% var(--acc-mask-top,0px) no-repeat,
               linear-gradient(#000 0 0) 0 var(--acc-mask-bottom,0px)/100% 100% no-repeat;
          mask:linear-gradient(#000 0 0) 0 0/100% var(--acc-mask-top,0px) no-repeat,
               linear-gradient(#000 0 0) 0 var(--acc-mask-bottom,0px)/100% 100% no-repeat}
.acc-maschera[hidden],.acc-lente[hidden]{display:none}
.acc-lente{position:fixed;z-index:97;pointer-events:none;max-width:min(520px,90vw);
  padding:14px 18px;background:#fff;color:#2B2621;border:2px solid var(--verde,#287840);
  border-radius:14px;box-shadow:0 20px 50px -18px rgba(0,0,0,.55);
  font-family:system-ui,-apple-system,"Segoe UI",sans-serif;font-size:26px;line-height:1.35;font-weight:600;letter-spacing:0}

/* ---------- Pulsante di apertura (in basso a sinistra) ---------- */
.acc-apri{position:fixed;left:24px;bottom:24px;z-index:70;width:60px;height:60px;
  display:flex;align-items:center;justify-content:center;padding:0;
  border:3px solid #fff;border-radius:50%;background:var(--verde-scuro,#206038);color:#fff;cursor:pointer;
  box-shadow:0 16px 36px -14px rgba(21,69,42,.85);transition:transform .2s ease,background .2s ease}
.acc-apri:hover{transform:scale(1.07);background:var(--verde-profondo,#15452A)}
.acc-apri:focus-visible{outline:3px solid #FFE14D;outline-offset:3px}
.acc-apri[aria-expanded="true"]{background:var(--verde-profondo,#15452A)}

/* ---------- Pannello ---------- */
.acc-pannello{position:fixed;left:24px;bottom:96px;z-index:120;width:min(380px,calc(100vw - 32px));
  max-height:min(76vh,700px);overflow-y:auto;overscroll-behavior:contain;background:#fff;color:#2B2621;
  border:1px solid rgba(0,0,0,.1);border-radius:20px;
  box-shadow:0 30px 70px -24px rgba(0,0,0,.45);
  font-family:system-ui,-apple-system,"Segoe UI",sans-serif;font-size:15px;line-height:1.45;letter-spacing:0;
  text-align:left !important}
.acc-pannello[hidden]{display:none}
.acc-pannello *{letter-spacing:0;text-align:left}
.acc-testa{display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:18px 20px;border-bottom:1px solid rgba(0,0,0,.09);position:sticky;top:0;z-index:1;background:#fff;border-radius:20px 20px 0 0}
.acc-pannello h2{margin:0;font-family:inherit;font-size:19px;line-height:1.2;font-weight:700;color:var(--verde-profondo,#15452A)}
.acc-chiudi{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;
  border:1px solid rgba(0,0,0,.14);border-radius:50%;background:#fff;color:#2B2621;cursor:pointer}
.acc-chiudi:hover{background:var(--verde-carta,#EEF5EF)}
.acc-corpo{padding:14px 20px 22px}

.acc-livello,.acc-allineamento{display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:10px 0;border-bottom:1px solid rgba(0,0,0,.07)}
.acc-allineamento{flex-direction:column;align-items:flex-start}
.acc-etichetta{font-weight:600;color:#2B2621}
.acc-comandi{display:flex;align-items:center;gap:8px}
.acc-allineamento .acc-comandi{width:100%}
.acc-comandi button{min-width:40px;height:40px;padding:0 12px;border:1px solid rgba(0,0,0,.16);
  border-radius:10px;background:#fff;color:#2B2621;font-family:inherit;font-size:18px;font-weight:700;line-height:1;cursor:pointer;
  transition:background .18s ease,border-color .18s ease}
.acc-comandi button:disabled{opacity:.4;cursor:default}
.acc-allineamento .acc-comandi button{flex:1;font-size:13px;font-weight:600;text-align:center}
.acc-comandi button:hover:not(:disabled){background:var(--verde-carta,#EEF5EF);border-color:var(--verde,#287840)}
.acc-comandi button:focus-visible,.acc-opzione:focus-visible,.acc-ripristina:focus-visible,
.acc-chiudi:focus-visible,.acc-nota a:focus-visible{outline:3px solid var(--verde,#287840);outline-offset:2px}
.acc-comandi button[aria-pressed="true"]{background:var(--verde-scuro,#206038);border-color:var(--verde-scuro,#206038);color:#fff}
.acc-valore{min-width:62px;text-align:center !important;font-variant-numeric:tabular-nums;font-weight:700;color:var(--verde-profondo,#15452A)}

.acc-interruttori{display:grid;gap:8px;margin:16px 0}
.acc-opzione{display:flex;align-items:center;gap:12px;width:100%;padding:11px 13px;
  border:1px solid rgba(0,0,0,.12);border-radius:12px;background:#fff;color:#2B2621;font-family:inherit;cursor:pointer}
.acc-opzione:hover{background:#F6F9F7}
.acc-opzione[aria-pressed="true"]{border-color:var(--verde,#287840);background:var(--verde-carta,#EEF5EF)}
.acc-spia{flex:none;width:40px;height:23px;border-radius:100px;background:#C9C9C4;position:relative;transition:background .2s ease}
.acc-spia::after{content:"";position:absolute;top:3px;left:3px;width:17px;height:17px;border-radius:50%;
  background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.3);transition:transform .2s ease}
.acc-opzione[aria-pressed="true"] .acc-spia{background:var(--verde-scuro,#206038)}
.acc-opzione[aria-pressed="true"] .acc-spia::after{transform:translateX(17px)}
.acc-opzione-testo{display:flex;flex-direction:column;gap:1px;min-width:0}
.acc-opzione-testo strong{font-size:15px;font-weight:600;color:#2B2621}
.acc-opzione-testo small{font-size:12.5px;color:#5E5850}

.acc-ripristina{width:100%;margin-top:6px;padding:13px;border:0;border-radius:12px;
  background:var(--verde-profondo,#15452A);color:#fff;font-family:inherit;font-size:15px;font-weight:600;text-align:center !important;cursor:pointer}
.acc-ripristina:hover{background:var(--verde-scuro,#206038)}
.acc-nota{margin:14px 0 0;font-size:12.5px;line-height:1.5;color:#5E5850}
.acc-nota a{color:var(--verde-scuro,#206038);text-decoration:underline}

.sr-only{position:absolute !important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;
  clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}

/* in alto contrasto il pannello resta leggibile e il pulsante si vede sul nero */
html[data-acc-contrasto] .acc-apri{background:#FFE14D !important;color:#000 !important;border-color:#000 !important}

@media (max-width:560px){
  .acc-apri{left:16px;bottom:16px;width:54px;height:54px}
  .acc-pannello{left:8px;right:8px;bottom:80px;width:auto;max-height:72vh}
}
@media (prefers-reduced-motion:reduce){
  .acc-apri,.acc-spia,.acc-spia::after,.acc-comandi button{transition:none}
  .acc-apri:hover{transform:none}
}
@media print{.acc-apri,.acc-pannello,.acc-maschera,.acc-lente{display:none !important}}
