/* firmin-core / modulo Accessibilità - CSS minimo con fallback per browser datati.
   Le regole delle singole funzioni sono attive solo con la relativa classe sul body
   (aggiunta dal PHP se l'opzione è attiva). */

/* Testo solo per lettori di schermo */
.firmin-sr{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Skip link (visibile solo con il focus) */
.firmin-skip{position:absolute;left:8px;top:-100px;z-index:100000;background:#fff;color:#1b1b1b;
  padding:12px 18px;font:700 16px/1.2 sans-serif;border:3px solid #1b1b1b;text-decoration:none}
.firmin-skip:focus{top:8px}

/* <main> (IE11 e vecchi browser non lo trattano come blocco); il focus programmatico non mostra anelli */
main#firmin-main{display:block}
main#firmin-main:focus,#main-content:focus{outline:0}

/* Focus visibile (WCAG 2.4.7). Divi azzera con ":focus{outline:0}".
   Fallback: nei browser senza :focus-visible l'anello compare a ogni focus. */
body.firmin-a11y-focus a:focus,
body.firmin-a11y-focus button:focus,
body.firmin-a11y-focus input:focus,
body.firmin-a11y-focus select:focus,
body.firmin-a11y-focus textarea:focus,
body.firmin-a11y-focus summary:focus,
body.firmin-a11y-focus [tabindex]:not([tabindex="-1"]):focus{
  outline:3px solid #1b1b1b;outline-offset:2px}
/* Browser recenti: l'anello (scuro + bordo bianco, leggibile su verde e foto) solo da tastiera.
   @supports selector() non esiste nei browser vecchi: lì il blocco è ignorato e vale il fallback. */
@supports selector(:focus-visible){
  body.firmin-a11y-focus a:focus:not(:focus-visible),
  body.firmin-a11y-focus button:focus:not(:focus-visible),
  body.firmin-a11y-focus input:focus:not(:focus-visible),
  body.firmin-a11y-focus select:focus:not(:focus-visible),
  body.firmin-a11y-focus textarea:focus:not(:focus-visible),
  body.firmin-a11y-focus summary:focus:not(:focus-visible),
  body.firmin-a11y-focus [tabindex]:not([tabindex="-1"]):focus:not(:focus-visible){outline:0}
  body.firmin-a11y-focus a:focus-visible,
  body.firmin-a11y-focus button:focus-visible,
  body.firmin-a11y-focus input:focus-visible,
  body.firmin-a11y-focus select:focus-visible,
  body.firmin-a11y-focus textarea:focus-visible,
  body.firmin-a11y-focus summary:focus-visible,
  body.firmin-a11y-focus [tabindex]:not([tabindex="-1"]):focus-visible{
    outline:3px solid #1b1b1b;outline-offset:2px;box-shadow:0 0 0 6px #fff}
}

/* Sottomenu apribile da tastiera (:focus-within: Chrome 60+, Safari 10.1+, Firefox 52+).
   Esc lo chiude (classe messa dal JS) senza spostare il focus (WCAG 1.4.13). */
body.firmin-a11y-submenu .et-menu li:focus-within>ul.sub-menu{opacity:1!important;visibility:visible!important}
body.firmin-a11y-submenu .et-menu li.firmin-sub-closed>ul.sub-menu{opacity:0!important;visibility:hidden!important}

/* Pulsante pausa del video di sfondo */
.firmin-vpause{position:absolute;right:16px;bottom:16px;z-index:50;min-width:44px;min-height:44px;
  padding:8px 14px;background:#fff;color:#1b1b1b;border:2px solid #1b1b1b;border-radius:4px;
  font:700 14px/1.2 sans-serif;cursor:pointer}

/* Errori dei form: non solo a colore */
body.firmin-a11y-forms .et_contact_error{outline:2px solid #b00020;outline-offset:1px}

/* Barre cliccabili rese focalizzabili: mantengono il cursore a mano */
[data-fa11y~="bar"]{cursor:pointer}

/* Movimento ridotto (Chrome 74+, Safari 10.1+, Firefox 63+; nei vecchi viene ignorato) */
@media (prefers-reduced-motion:reduce){
  body.firmin-a11y-motion .et_pb_module,
  body.firmin-a11y-motion .et_animated,
  body.firmin-a11y-motion .et-waypoint,
  body.firmin-a11y-motion .et_pb_section,
  body.firmin-a11y-motion .et_pb_row{
    -webkit-animation:none!important;animation:none!important;
    -webkit-transition:none!important;transition:none!important}
  body.firmin-a11y-motion .et_animated,
  body.firmin-a11y-motion .et-waypoint:not(.et_pb_counters),
  body.firmin-a11y-motion .et-pb-before-scroll-animation{opacity:1!important}
  body.firmin-a11y-motion .et_parallax_bg,
  body.firmin-a11y-motion .et_pb_parallax_css{background-attachment:scroll!important;
    -webkit-transform:none!important;transform:none!important}
}
