#wpaw-widget #accessibility-toggle {
	display: flex;
	position: fixed;
	bottom: 10px;
	left: 10px;
	width: 40px;
	height: 40px;
	justify-content: center;
	align-items: center;
	border: 1px solid #a3a3a3;
	border-radius: 10px;
	font-size: 3rem !important;
	box-shadow: 0 2px 6px rgba(0,0,0,0.2);
	background-color: white !important;
	transform: scale(calc(1 / var(--zoom-level, 1)));
	transform-origin: top right;
	cursor: pointer;
	z-index: 10000;
}
#wpaw-widget #accessibility-panel{
	position: fixed;
	box-sizing: border-box;
	bottom: 55px;
	left: 10px;
	height: 80%;
	max-width: 600px;
	width: 100%;
	color:black !important;
	background-color: #e1e1e1 !important;
	padding: 0;
	border-radius: 20px;
	z-index: 9999;
	font-size: 1.6rem !important;
	box-shadow: 0 2px 6px rgba(0,0,0,0.2);
	transform: scale(calc(1 / var(--zoom-level, 1)));
	transform-origin: bottom right;
	display:flex;
	flex-direction: column;
}
#wpaw-widget #accessibility-panel #accessibility-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 0px;
	background: linear-gradient(45deg, #dc6c2f, #d43061);
	color: white;
	padding: 10px;
	border-radius: 20px;
	flex-direction: column;
	text-align: center;
	padding-bottom:9rem;
}
#wpaw-widget #accessibility-panel #accessibility-header .header-button{
	display: flex;
	gap:1rem;
	background: white;
	color: black;
	padding: 10px;
	border-radius: 20px;
	text-align: center;
}
#accessibility-panel #accessibility-close{
	position:absolute;
	right:-0.5rem;
	top:-1rem;
	background:transparent;
	display:flex;
}

#wpaw-widget #accessibility-panel .title {
	margin-top: 0;
	text-transform: uppercase;
	color:#fff !important;
	font-size:2.5rem !important;
	font-weight:400;
	align-self:flex-start;
}
#accessibility-panel .accessibility-body {
	width: 90%;
	margin: auto;
	margin-top: -6rem;
	height: 100%;
	overflow-y: scroll;
	border-radius:25px;
	
}

#accessibility-panel .accessibility-body > div {
	max-width: 100%;
	box-sizing: border-box;
	overflow-x: auto;
	
	background: white;
	margin-bottom: 20px;
	border-radius: 25px;
	padding: 20px;
}


#accessibility-panel .accessibility-body .grid-content {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 15px;
	width: 100%;
	box-sizing: border-box;
}
#accessibility-panel .accessibility-body .grid-content2 {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 15px;
	width: 100%;
	box-sizing: border-box;
}

#accessibility-panel .accessibility-body .grid-content > label,
#accessibility-panel .accessibility-body .grid-content2 > label {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: space-around;
	font-size: 1.6rem;
	cursor: pointer;
	background: #e1e1e1;
	padding: 10px;
	text-align: center;
	white-space: normal;
	word-break: break-word;
	border-radius: 16px;
	height:110px;
	line-height:1.3;
	font-weight:500;
}

.access-range {
	-webkit-appearance: none;
	appearance: none;
	width: auto;
	height: 10px;
	background white;
	border-radius: 10px;
	border: 1px solid #b5b1b1;
}

/* Chrome, Edge, Safari */
.access-range::-webkit-slider-thumb {
	-webkit-appearance: none;
	appearance: none;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: linear-gradient(45deg, #dc6c2f, #d43061);
	/* border: 2px solid #333; */
	cursor: pointer;
	transition: background 0.3s;
}
.access-range::-webkit-slider-thumb:hover {
	background: #ff8800;
}

/* Firefox */
.access-range::-moz-range-thumb {
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: linear-gradient(45deg, #dc6c2f, #d43061);
	/* border: 2px solid #333; */
	cursor: pointer;
	transition: background 0.3s;
}
.access-range::-moz-range-thumb:hover {
	background: #ff8800;
}


.high-contrast {
	background-color: #000 !important;
	background: #000 !important;
	color: #fff !important;
}

.large-text {
	font-size: 1.25em;
}
.high-contrast,
.high-contrast :not(#accessibility-panel):not(#accessibility-panel *):not(#accessibility-toggle) {
	background-color: #000 !important;
	color: #fff !important;
	border-color: #fff !important;
}

.high-contrast a:not(#accessibility-panel a) {
	color: #0ff !important;
}

.high-contrast button:not(#accessibility-toggle):not(#accessibility-panel button) {
	background-color: #111 !important;
	color: #fff !important;
	border-color: #fff !important;
}
.large-text,
.large-text * {
	font-size: 1.15em !important;
	line-height: 1.5 !important;
}

body.focus-visible button:focus,
body.focus-visible input:focus,
body.focus-visible select:focus,
body.focus-visible textarea:focus,
body.focus-visible a:focus,
body.focus-visible a:focus img {
	outline: none !important;

	box-shadow: 0 0 6px 3px #ffff00, 0 0 2px #333 inset !important;
	border: 2px solid #000 !important;
	position: relative;
	z-index: 10000;
}
body button:focus,
body input:focus,
body select:focus,
body textarea:focus,
body a:focus,
body a:focus img {
	outline: 2px solid #005fcc; /* blu accessibile */
	outline-offset: 2px;
	border-radius: 4px; /* per evidenziare meglio il contorno */
	z-index: 1000;
}


/* Focus visibile solo in modalità tastiera */
body.keyboard-nav :focus {
	outline: none !important;
	box-shadow: 0 0 6px 3px #ffff00, 0 0 2px #333 inset !important;
	border: 2px solid #000 !important;
	position: relative;
	z-index: 10000;
}

.reduce-motion *, .reduce-motion *::before, .reduce-motion *::after {
	animation: none !important;
	transition: none !important;
	scroll-behavior: auto !important;
}
.hover-highlight :hover:not(#accessibility-panel):not(#accessibility-panel *):not(#accessibility-toggle):not(#accessibility-toggle *) {
	outline: none !important;
	box-shadow: 0 0 0 3px orange !important;
	border-radius: 3px;
	position: relative;
	/* box-sizing: border-box; */
}

body.big-cursor {
	cursor: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="48" height="48"><path d="M0,0 L0,40 L10,30 L20,48 L24,46 L14,28 L26,28 Z" fill="black" stroke="black" stroke-width="2"/></svg>') 0 0, auto !important;
}

body.big-cursor a,
body.big-cursor button,
body.big-cursor [role="button"],
body.big-cursor input[type="submit"],
body.big-cursor input[type="button"] {
	cursor: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="50" height="45" viewBox="1003.04 -508.97 1435.76 1841.82" fill="black"><path d="M 1485.67 590.407 C 1500.7 589.503 1508.31 581.987 1508.45 567.859 C 1509.57 477.719 1510.09 423.984 1510.01 406.654 C 1508.85 114.109 1507.57 -97.041 1510.19 -357.64 C 1510.51 -386.26 1512.49 -406.67 1516.16 -418.86 C 1528.17 -458.85 1554.63 -490.61 1596.98 -497.73 C 1663.84 -508.97 1713.74 -468.84 1723.51 -403.48 C 1725.91 -387.42 1727.04 -368.85 1726.92 -347.81 C 1725.52 -106.55 1725.16 102.029 1725.83 277.919 C 1725.86 287.629 1728.28 294.509 1733.12 298.559 C 1746.44 309.799 1767.32 300.659 1767.25 282.679 C 1766.65 143.159 1766.52 59.239 1766.86 30.939 C 1767.52 -28.031 1808.62 -75.141 1869.29 -76.461 C 1885.69 -76.801 1897.01 -76.491 1903.23 -75.571 C 1935.28 -70.791 1959.43 -53.971 1975.68 -25.091 C 1991.6 3.199 1990.87 26.439 1990.94 64.639 C 1991.1 138.869 1990.63 223.469 1989.55 318.439 C 1989.42 330.369 1990.39 337.989 1992.45 341.299 C 2002.99 358.149 2029.99 351.369 2030.11 329.129 C 2030.83 205.259 2031.58 137.189 2032.36 124.919 C 2034.57 90.129 2055.14 54.879 2088.69 41.439 C 2110.81 32.599 2145.52 32.489 2167.57 37.559 C 2202.67 45.699 2227.5 74.789 2236.22 109.579 C 2238.23 117.539 2239.19 131.729 2239.08 152.159 C 2238.52 275.069 2238.22 354.549 2238.19 390.576 C 2238.19 401.088 2239.69 408.126 2242.69 411.69 C 2252.18 422.887 2271.67 419.826 2277.44 405.143 C 2278.14 403.361 2278.51 396.581 2278.53 384.803 C 2278.63 345.799 2278.43 302.219 2277.94 254.049 C 2277.8 237.679 2278.8 225.899 2280.97 218.719 C 2288.99 191.989 2309.44 172.579 2337.96 171.069 C 2387.05 168.469 2423.88 196.249 2434.89 243.399 C 2436.73 251.269 2437.57 264.639 2437.4 283.489 C 2436.74 362.299 2436.87 439.533 2437.83 515.209 C 2438.8 593.519 2437.62 652.174 2434.34 691.174 C 2420.68 854.148 2378.62 1008.88 2308.16 1155.37 C 2288.89 1195.38 2265.44 1234.28 2237.81 1272.06 C 2228.4 1284.92 2218.77 1293.72 2208.9 1298.45 C 2202.99 1301.26 2190.35 1304.92 2170.98 1309.41 C 2153.96 1313.36 2138.29 1316.01 2123.98 1317.35 C 1958.98 1332.85 1793.44 1329.9 1627.89 1301.93 C 1607.29 1298.45 1593.27 1295.89 1579.36 1279.66 C 1553.59 1249.59 1536.15 1214.88 1517.8 1175.52 C 1484.79 1104.8 1449.74 1031.82 1412.68 956.556 C 1396.46 923.651 1379.85 892.49 1362.83 863.072 C 1307.44 767.225 1249.74 678.544 1189.74 597.032 C 1173.94 575.543 1155.74 553.021 1135.24 529.466 C 1086.44 473.367 1052.85 434.703 1034.35 413.472 C 1011.25 386.779 1003.04 355.899 1025.94 326.499 C 1100.24 231.189 1231.05 307.439 1290.85 376.823 C 1345.06 439.817 1404.65 507.731 1469.63 580.566 C 1472.99 584.337 1477.11 587.372 1481.95 589.671 C 1483.1 590.23 1484.38 590.483 1485.67 590.407 Z"/></svg>') 0 0, pointer !important;
}

body.grayscale::before {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #000;
  mix-blend-mode: saturation;
  pointer-events: none;
  z-index: 999999;
}

body.line-height-adjusted {
	--custom-line-height: 1.5;
}

body.line-height-adjusted * {
	line-height: var(--custom-line-height) !important;
}

.wpaw-btn:active {
  background-color: #367c39; /* Cambia colore quando premuto */
  transform: translateY(1px); /* Aggiunge un leggero effetto di pressione */
}


body.invert-colors {
	position: relative;
}

body.invert-colors::before {
	content: "";
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: white;
	mix-blend-mode: difference;
	pointer-events: none;
	z-index: 999999; /* sopra a tutto ma senza bloccare clic */
}

.accessibility-body h4 .title{
	align-self: flex-start;
}
.accessibility-body h5{
	color: black;
    font-size: 2.1rem;
    line-height: 2;
    font-weight: 600;
    letter-spacing: .05ch;
}
/* .wpaw-btn:active{
	color: #ff5d1b
} */

/* Cambia colore testo e svg quando attivo */
.wpaw-btn.active {
    color: #dc6c2f; /* esempio: arancione */
	border:1px solid #dc6c2f;
}

.wpaw-btn.active .focus-icon svg path {
    fill: #dc6c2f !important; /* stesso colore del testo */
}
.wpaw-zoom-label {
    font-size: 1rem;
    margin-bottom: 10px;
}
.wpaw-zoom-label input[type="range"] {
    accent-color: #dc6c2f;
}
.wpaw-zoom-label span {
    font-family: 'Work Sans', 'Livvic', Arial, sans-serif;
    color: #4c4d4e;
}
