/*
 * CNSBII 1.6.16.171A · Fondazione qualità del Portale pubblico
 * Livello finale limitato ad accessibilità, reflow e correzioni misurate.
 */

:root {
  --cns171a-focus: #0b63ce;
  --cns171a-ink: #111827;
  --cns171a-paper: #ffffff;
  --cns171a-dark: #071426;
  --cns171a-light-text: #ffffff;
}

html {
  box-sizing: border-box;
  text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

*,
*::before,
*::after {
  box-sizing: inherit;
}

body[data-cns-quality="1.6.16.171A"] {
  min-width: 0;
  overflow-x: hidden;
}

body[data-cns-quality="1.6.16.171A"] [hidden] {
  display: none !important;
}

body[data-cns-quality="1.6.16.171A"] :where(main,section,article,aside,nav,header,footer,div,form,fieldset,details) {
  min-width: 0;
}

body[data-cns-quality="1.6.16.171A"] :where(img,svg,video,canvas,iframe) {
  max-width: 100%;
}

body[data-cns-quality="1.6.16.171A"] :where(p,li,dt,dd,figcaption,address,label,legend,summary,code,pre) {
  overflow-wrap: anywhere;
}

body[data-cns-quality="1.6.16.171A"] :where(input,select,textarea,button) {
  max-width: 100%;
  font: inherit;
}

body[data-cns-quality="1.6.16.171A"] :where(table) {
  max-width: 100%;
}

body[data-cns-quality="1.6.16.171A"] :where(dialog) {
  width: min(680px, calc(100% - 24px));
  max-width: 100%;
  max-height: calc(100dvh - 24px);
  overflow: auto;
}

body[data-cns-quality="1.6.16.171A"] :where(a,button,input,select,textarea,summary,[tabindex]):focus-visible {
  outline: 3px solid var(--cns171a-focus) !important;
  outline-offset: 3px !important;
  box-shadow: none;
}

body[data-cns-quality="1.6.16.171A"] .skip-link {
  position: fixed !important;
  z-index: 10000 !important;
  top: 8px !important;
  left: 8px !important;
  max-width: calc(100vw - 16px) !important;
  padding: 11px 15px !important;
  border: 2px solid #111827 !important;
  border-radius: 6px !important;
  background: #ffffff !important;
  color: #111827 !important;
  -webkit-text-fill-color: #111827 !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  transform: translateY(-160%) !important;
}

body[data-cns-quality="1.6.16.171A"] .skip-link:focus-visible {
  transform: translateY(0) !important;
}

body[data-cns-quality="1.6.16.171A"] main :where(a:not([class]),a[class*="text-link"],a[class*="inline-link"]) {
  text-decoration-thickness: .09em;
  text-underline-offset: .17em;
}

body[data-cns-quality="1.6.16.171A"] :target {
  scroll-margin-top: 96px;
}

/* Classi applicate soltanto dopo una misura WCAG sul colore calcolato. */
body[data-cns-quality="1.6.16.171A"] .cns171a-auto-light {
  color: var(--cns171a-light-text) !important;
  -webkit-text-fill-color: var(--cns171a-light-text) !important;
}

body[data-cns-quality="1.6.16.171A"] .cns171a-auto-dark {
  color: var(--cns171a-ink) !important;
  -webkit-text-fill-color: var(--cns171a-ink) !important;
}

body[data-cns-quality="1.6.16.171A"] .cns171a-auto-light.cns171a-auto-halo {
  padding-inline: .16em !important;
  background: rgba(3,7,18,.88) !important;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}

body[data-cns-quality="1.6.16.171A"] .cns171a-auto-dark.cns171a-auto-halo {
  padding-inline: .16em !important;
  background: rgba(255,255,255,.94) !important;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}

body[data-cns-quality="1.6.16.171A"] .cns171a-placeholder-light::placeholder {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
}

body[data-cns-quality="1.6.16.171A"] .cns171a-placeholder-dark::placeholder {
  color: #111827 !important;
  -webkit-text-fill-color: #111827 !important;
  opacity: 1 !important;
}

@media (max-width: 760px) {
  body[data-cns-quality="1.6.16.171A"] :where(input:not([type="checkbox"]):not([type="radio"]),select,textarea) {
    min-height: 44px;
    font-size: 16px !important;
  }

  body[data-cns-quality="1.6.16.171A"] :where(button,a[class*="button"],a[class*="btn"],[role="button"]) {
    min-height: 44px;
  }

  body[data-cns-quality="1.6.16.171A"] :where(pre,.table-scroll,.table-wrap,[class*="table-wrap"],[class*="table-scroll"]) {
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
  }
}

@media (max-width: 340px) {
  body[data-cns-quality="1.6.16.171A"] {
    overflow-wrap: anywhere;
  }
}

@media (prefers-reduced-motion: reduce) {
  body[data-cns-quality="1.6.16.171A"] *,
  body[data-cns-quality="1.6.16.171A"] *::before,
  body[data-cns-quality="1.6.16.171A"] *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

@media (forced-colors: active) {
  body[data-cns-quality="1.6.16.171A"] :where(a,button,input,select,textarea,summary,[tabindex]):focus-visible {
    outline: 3px solid Highlight !important;
  }

  body[data-cns-quality="1.6.16.171A"] :where(.cns171a-auto-light,.cns171a-auto-dark,.cns171a-auto-halo) {
    forced-color-adjust: auto;
    color: CanvasText !important;
    -webkit-text-fill-color: CanvasText !important;
    background: Canvas !important;
  }
}

@media print {
  body[data-cns-quality="1.6.16.171A"] {
    overflow: visible !important;
    background: #ffffff !important;
    color: #000000 !important;
  }

  body[data-cns-quality="1.6.16.171A"] :where(.skip-link,.floating-share) {
    display: none !important;
  }
}
