/* PIP Accessibilità 1.9.1 — focus ipovisione / leggibilità */

:root {
  --pipa-font-scale: 1;
  --pipa-readable-width: 800px;
}

.pipa-vision-toolbar {
  position: fixed !important;
  top: 8px !important;
  right: 8px !important;
  z-index: 2147483000 !important;
  max-width: min(980px, calc(100vw - 16px)) !important;
  font-family: Arial, Helvetica, sans-serif !important;
}

.pipa-toggle,
.pipa-panel button {
  min-height: 44px !important;
  min-width: 44px !important;
  padding: 8px 12px !important;
  border: 2px solid #111 !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: #111 !important;
  -webkit-text-fill-color: #111 !important;
  font: 700 15px/1.2 Arial, Helvetica, sans-serif !important;
  cursor: pointer !important;
}

.pipa-toggle {
  box-shadow: 0 8px 28px rgba(0,0,0,.22) !important;
}


.pipa-panel[hidden] {
  display: none !important;
}

.pipa-panel {
  margin-top: 8px !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  max-width: min(980px, calc(100vw - 16px)) !important;
  padding: 10px !important;
  border: 2px solid #111 !important;
  border-radius: 12px !important;
  background: #fff !important;
  color: #111 !important;
  box-shadow: 0 8px 28px rgba(0,0,0,.22) !important;
}

.pipa-panel button[aria-pressed="true"] {
  background: #111 !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

.pipa-toggle:focus-visible,
.pipa-panel button:focus-visible {
  outline: 4px solid #005fcc !important;
  outline-offset: 3px !important;
}

.pipa-close {
  margin-left: auto !important;
}

/* WCAG 1.4.4 Resize Text + 1.4.10 Reflow */
html {
  font-size: calc(100% * var(--pipa-font-scale)) !important;
}

.pipa-vision-readable main,
.pipa-vision-readable [role="main"],
.pipa-vision-readable .site-main,
.pipa-vision-readable .entry-content {
  max-width: min(var(--pipa-readable-width), 100%) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* WCAG 1.4.12 Text Spacing */
.pipa-vision-spacing body,
.pipa-vision-spacing p,
.pipa-vision-spacing li,
.pipa-vision-spacing blockquote {
  letter-spacing: .12em !important;
  word-spacing: .16em !important;
}

.pipa-vision-lineheight body,
.pipa-vision-lineheight p,
.pipa-vision-lineheight li,
.pipa-vision-lineheight blockquote {
  line-height: 1.8 !important;
}

.pipa-vision-spacing p,
.pipa-vision-spacing li,
.pipa-vision-spacing blockquote,
.pipa-vision-lineheight p,
.pipa-vision-lineheight li,
.pipa-vision-lineheight blockquote {
  margin-bottom: 1.5em !important;
}

/* Contrasto elevato */
.pipa-vision-contrast body,
.pipa-vision-contrast .site,
.pipa-vision-contrast .site-content,
.pipa-vision-contrast main,
.pipa-vision-contrast article,
.pipa-vision-contrast .entry-content,
.pipa-vision-contrast header,
.pipa-vision-contrast footer,
.pipa-vision-contrast nav,
.pipa-vision-contrast aside {
  background: #000 !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

.pipa-vision-contrast a {
  color: #ffeb3b !important;
  -webkit-text-fill-color: #ffeb3b !important;
  text-decoration: underline !important;
  text-decoration-thickness: .12em !important;
  text-underline-offset: .16em !important;
}

.pipa-vision-contrast img {
  filter: none !important;
}

/* Link più riconoscibili */
.pipa-vision-links a {
  text-decoration: underline !important;
  text-decoration-thickness: .14em !important;
  text-underline-offset: .16em !important;
}

.pipa-vision-links a:visited {
  text-decoration-style: double !important;
}

/* Focus visibile */
.pipa-vision-focus a:focus-visible,
.pipa-vision-focus button:focus-visible,
.pipa-vision-focus input:focus-visible,
.pipa-vision-focus select:focus-visible,
.pipa-vision-focus textarea:focus-visible,
.pipa-vision-focus [tabindex]:focus-visible {
  outline: 4px solid #005fcc !important;
  outline-offset: 4px !important;
  box-shadow: 0 0 0 2px #fff !important;
}

/* Reflow */
img,
video,
iframe,
table {
  max-width: 100% !important;
}

img,
video {
  height: auto !important;
}

@media (max-width: 900px) {
  .pipa-vision-toolbar {
    left: 8px !important;
    right: 8px !important;
    top: 8px !important;
    max-width: none !important;
  }

  .pipa-panel {
    max-width: none !important;
  }

  .pipa-panel button,
  .pipa-toggle {
    flex: 1 1 140px !important;
  }

  .pipa-close {
    margin-left: 0 !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  * {
    scroll-behavior: auto !important;
    transition-duration: .001ms !important;
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
  }
}


/* Mobile + barra amministratore WordPress:
   il pulsante Accessibilità non deve coprire i controlli superiori */
@media (max-width: 782px) {
  body.admin-bar .pipa-vision-toolbar {
    display: none !important;
  }
}
