/* ==========================================
   MODULES
   ========================================== */

/*-----modulo scala contanuti-----*/
html.accessibility-content-size{	zoom: calc(var(--accessibility-content-size) / 100); }
/*-----modulo font leggibile-----*/
html.accessibility-readable-font * { font-family: Arial, Helvetica, sans-serif !important; }
/*-----moduli align left/center/right*/
html.accessibility-align-left *:not(.accessibility):not(.accessibility *) { text-align: left !important; }
html.accessibility-align-right *:not(.accessibility):not(.accessibility *) { text-align: right !important; }
html.accessibility-align-center *:not(.accessibility):not(.accessibility *) {	text-align: center !important; }
/*-----modulo line height-----*/
html.accessibility-line-height *{ line-height: calc(var(--accessibility-line-height) / 100 * var(--line-height-base))!important;}
/*-----modulo letter spacing-----*/
html.accessibility-letter-spacing *:not(.accessibility, .accessibility *){	letter-spacing: calc((var(--accessibility-letter-spacing) - 100) * 0.05px)!important; }
/*-----modulo font size-----*/
html.accessibility-font-size {font-size: calc(var(--accessibility-font-size) / 100 * var(--font-size-base))!important;}
/*-----modulo dark contrast-----*/
html.accessibility-dark-contrast *:not(.accessibility):not(.accessibility *) {background: #000 !important;color: #fff !important;}
/*-----modulo light contrast-----*/
html.accessibility-light-contrast *:not(.accessibility):not(.accessibility *) {background: #fff !important;color: #000 !important;}
/*-----modulo high contrast-----*/
html.accessibility-high-contrast{filter:contrast(150);}
/*-----modulo high saturation-----*/
html.accessibility-high-saturation:not(.accessibility):not(.accessibility *) {filter: saturate(200%);}
/*-----modulo monochrome-----*/
html.accessibility-monochrome body > *{filter: grayscale(100%);}
/*-----modulo low saturation-----*/
html.accessibility-low-saturation{filter: saturate(20%);}
/*-----modulo hide images-----*/
html.accessibility-hide-images *:not(.accessibility):not(.accessibility *) {background-image: none !important;}
html.accessibility-hide-images img:not(.accessibility):not(.accessibility *) {opacity: 0 !important;visibility: hidden !important;  }
/*-----modulo highlight hover-----*/
html.accessibility-highlight-hover a:hover:not(.accessibility):not(.accessibility *),
html.accessibility-highlight-hover button:hover:not(.accessibility):not(.accessibility *),
html.accessibility-highlight-hover input:hover,
html.accessibility-highlight-hover select:hover,
html.accessibility-highlight-hover textarea:hover {outline:2px solid #005FCC!important;outline-offset:3px !important;
outline:2px solid #005FCC!important;box-shadow: 0 0 0 2px #fff !important;outline-offset:4px !important;}
/*-----modulo highlight link-----*/
html.accessibility-highlight-link a:not(.accessibility):not(.accessibility *),
html.accessibility-highlight-hover button:not(.accessibility):not(.accessibility *),
html.accessibility-highlight-hover input[type="submit"]{outline:2px solid #005FCC!important;box-shadow: 0 0 0 2px #fff !important;outline-offset:4px !important;}
/*-----modulo big black cursor-----*/
html.accessibility-big-black-cursor * {
	cursor: url('/wp-content/plugins/ap-accessibility/assets/cursors/cursor-black-auto.svg') 0 0, auto !important;
}
html.accessibility-big-black-cursor a:hover,
html.accessibility-big-black-cursor a:hover *,
html.accessibility-big-black-cursor button:hover,
html.accessibility-big-black-cursor button:hover *,
html.accessibility-big-black-cursor input[type="submit"]:hover,
html.accessibility-big-black-cursor input[type="submit"]:hover *
{
	cursor: url("/wp-content/plugins/ap-accessibility/assets/cursors/cursor-black-pointer.svg") 20 -5, pointer !important;
}

/*-----modulo big white cursor-----*/
html.accessibility-big-white-cursor * {
	cursor: url('/wp-content/plugins/ap-accessibility/assets/cursors/cursor-white-auto.svg') 0 0, auto !important;
}
html.accessibility-big-white-cursor a:hover,
html.accessibility-big-white-cursor a:hover *,
html.accessibility-big-white-cursor button:hover,
html.accessibility-big-white-cursor button:hover *,
html.accessibility-big-white-cursor input[type="submit"]:hover,
html.accessibility-big-white-cursor input[type="submit"]:hover *{
	cursor: url("/wp-content/plugins/ap-accessibility/assets/cursors/cursor-white-pointer.svg") 0 0, pointer !important;
}

/*------modulo reading guide-----*/
.accessibility-reading_guide .accessibility-reading-guide {
    position: fixed;
    left: 0;
    width:620px;
    height: 12px;
    background:#002CAD;border: 2px solid #FFF;border-radius:12px;
    border-bottom: 2px solid rgba(0,0,0,.15);
    pointer-events: none;
    z-index: 2147483647;
	top: calc(var(--accessibility-follow-y) + 20px) ;left:calc(var(--accessibility-follow-x) - 310px);
}


html.accessibility-reading_mask::before {content: "";position: fixed;inset: 0;pointer-events: none;
	z-index: 2147483647;
	background:
		linear-gradient(
			to bottom,
			rgba(0,0,0,.7) 0,
			rgba(0,0,0,.7) calc(var(--accessibility-follow-y) - 100px),
			transparent calc(var(--accessibility-follow-y) - 100px),
			transparent calc(var(--accessibility-follow-y) + 100px),
			rgba(0,0,0,.7) calc(var(--accessibility-follow-y) + 100px),
			rgba(0,0,0,.7) 100%);}

/* .reading-mask {
    position: fixed;
    left: 0;
    width: 100%;
    background: rgba(0,0,0,.55);
    pointer-events: none;
    z-index: 2147483647;
}
.reading-mask-top{top:0;height:calc(var(--accessibility-follow-y)) - 80px;}
.reading-mask-bottom{bottom:0;height:calc(var(--accessibility-follow-y)) + 80px;}
 */

/*RESET STYLE*/
html.accessibility-align-left .accessibility *, 
html.accessibility-align-center .accessibility *,
html.accessibility-align-right .accessibility *{text-align:left!important;}

html.accessibility-align-left .accessibility-panel__tab,
html.accessibility-align-left .accessibility-control-toggle .accessibility-control__label,
html.accessibility-align-left .accessibility-reset, 
html.accessibility-align-left .accessibility-panel__close,
html.accessibility-align-left .accessibility-panel-footer-copy,
html.accessibility-align-center .accessibility-panel__tab,
html.accessibility-align-center .accessibility-control-toggle .accessibility-control__label,
html.accessibility-align-center .accessibility-reset, 
html.accessibility-align-center .accessibility-panel__close,
html.accessibility-align-center .accessibility-panel-footer-copy,
html.accessibility-align-right .accessibility-panel__tab,
html.accessibility-align-right .accessibility-control-toggle .accessibility-control__label,
html.accessibility-align-right .accessibility-reset, 
html.accessibility-align-right .accessibility-panel__close,
html.accessibility-align-right .accessibility-panel-footer-copy,
html.accessibility-align-left .accessibility-stepper,
html.accessibility-align-center .accessibility-stepper,
html.accessibility-align-right .accessibility-stepper{text-align:center!important;}

html.accessibility-letter-spacing .accessibility *, .accessibility *{letter-spacing:0!important;}

html.accessibility-line-height .accessibility *,  .accessibility *{line-height:22px!important;}
html.accessibility-line-height .accessibility .accessibility-panel__title, .accessibility-panel__title{line-height:40px!important;}
html.accessibility-line-height .accessibility .accessibility-control__label, .accessibility .accessibility-control__label{line-height:18px!important;}
html.accessibility-line-height .accessibility .accessibility-stepper {line-height: 33px !important;}


/* ==========================================
   CONTAINER
   ========================================== */

.accessibility {position: fixed;z-index: 999999;}
.accessibility *{}

/* ==========================================
   POSIZIONAMENTO
   ========================================== */

.accessibility-position-bottom-right {right: 20px;bottom: 20px;}
.accessibility-position-bottom-left {left: 20px;bottom: 20px;}
.accessibility-position-top-right {right: 20px;top: 20px;}
.accessibility-position-top-left {left: 20px;top: 20px;}
.accessibility-position-middle-right {right: 20px;top: 50%;transform: translateY(-50%);}
.accessibility-position-middle-left {left: 20px;top: 50%;transform: translateY(-50%);}

/* ==========================================
   WIDGET
   ========================================== */

.accessibility-widget {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 60px;
	height: 60px;padding:10px;
	background: #384C97;
	background: linear-gradient(180deg, rgba(56, 76, 151, 1) 0%, rgba(25, 45, 95, 1) 100%);
	border:0;
	border-radius:100%;
	cursor: pointer;
	color: #fff;
	box-shadow:0 3px 15px rgba(0,0,0,.4);
	transition:transform .2s ease, box-shadow .2s ease;}

.accessibility-widget:hover {transform: scale(1.05);box-shadow:0 3px 15px rgba(0,0,0,.8);}
.accessibility-widget:focus {outline: 2px solid #000;outline-offset: 2px;}
.accessibility-widget__icon {display: flex;align-items: center;justify-content: center;width: 40px;height: 40px;}

.accessibility-widget__icon svg {width: 100%;height: 100%;fill: currentColor;}

/* ==========================================
   BADGE
   ========================================== */

.accessibility-widget__badge {display:block;position: absolute;bottom:0;left: -10px;
width: 22px;height: 22px;color:#192D5F;border-radius:100%;background: #FFF;opacity: 0;
transform: scale(.5);transition: opacity .2s ease, transform .2s ease;}

.accessibility-has-active-tools .accessibility-widget__badge {opacity: 1;transform: scale(1);}
.accessibility-widget__badge svg {vertical-align:top;

	width: 100%;
	height: 100%;

	fill: currentColor;

}

/* ==========================================
   PANNELLO
   ========================================== */

.accessibility-panel {
position: absolute;width: 540px;max-width: calc(100vw - 40px);
font-family:Arial, Helvetica, sans-serif!important;font-size:16px!important;color:#01040D !important;
background:#FBFBFC!important;
border-radius: 12px;box-shadow: 0 12px 40px rgba(0,0,0,.15);border: 10px solid #1C3065;
visibility: hidden;opacity: 0;
pointer-events: none;transition:opacity .2s ease,
		transform .2s ease,
		visibility .2s ease;}

/* ==========================================
   POSIZIONE PANNELLO
   ========================================== */

.accessibility-position-bottom-right .accessibility-panel {
	right: 0;
	bottom: 75px;
	transform: translateX(20px);
}

.accessibility-position-bottom-left .accessibility-panel {
	left: 0;
	bottom: 75px;
	transform: translateX(-20px);
}

.accessibility-position-top-right .accessibility-panel {
	right: 0;
	top: 75px;
	transform: translateX(20px);
}

.accessibility-position-top-left .accessibility-panel {
	left: 0;
	top: 75px;
	transform: translateX(-20px);
}

.accessibility-position-middle-right .accessibility-panel {
	right: 0;
	top: 50%;
	transform:
		translateY(-50%)
		translateX(20px);
}

.accessibility-position-middle-left .accessibility-panel {
	left: 0;
	top: 50%;
	transform:
		translateY(-50%)
		translateX(-20px);
}

/* ==========================================
   STATO APERTO
   ========================================== */

.accessibility-panel {height:70vh;}
.accessibility-open .accessibility-panel {visibility: visible;opacity: 1;pointer-events: auto;}

.accessibility-panel-main{position: relative;height: calc(100% - 80px);overflow-y: scroll;scrollbar-color: silver transparent;scrollbar-width: thin;}

.accessibility-position-bottom-right.accessibility-open .accessibility-panel,
.accessibility-position-top-right.accessibility-open .accessibility-panel,
.accessibility-position-bottom-left.accessibility-open .accessibility-panel,
.accessibility-position-top-left.accessibility-open .accessibility-panel {
	transform: translateX(0);
}
.accessibility-position-middle-right.accessibility-open .accessibility-panel {
	transform:
		translateY(-50%)
		translateX(0);
}
.accessibility-position-middle-left.accessibility-open .accessibility-panel {
	transform:
		translateY(-50%)
		translateX(0);
}

/* ==========================================
   HEADER
   ========================================== */

.accessibility-panel__header {display: flex;align-items: flex-start;justify-content: space-between;padding: 20px;}
.accessibility-panel__heading {position:relative;  padding-left: 75px;}
.accessibility-panel__heading__icon{position:absolute;top:5px;left:0;width: 60px;height: 60px;border-radius: 100%;background: #384C97 !important;color: #FFF;
background: linear-gradient(180deg, rgba(56, 76, 151, 1) 0%, rgba(25, 45, 95, 1) 100%) !important;padding:14px;}
.accessibility-panel__heading__icon svg{fill:#FFF;}
.accessibility-panel__title {font-size:24px!important;color:#01040D!important;text-align:left!important;}
.accessibility-panel__subtitle {font-size:14px!important;color:#4C525E!important;text-align:left!important;}

/* ==========================================
   TAB
   ========================================== */

.accessibility-panel__tabs {display: flex;border-bottom: 1px solid #e5e7eb;border-top: 1px solid #e5e7eb;}
.accessibility-panel__tab {flex: 1;padding: 14px;border: 0;background: transparent;cursor: pointer; color: #4C525E !important;
font-size:18px!important;}
.accessibility-panel__tab .accessibility-panel__tools__icon,
.accessibility-panel__tab .accessibility-panel__information__icon{padding-right:5px;}
.accessibility-panel__tab .accessibility-panel__tools__icon svg,
.accessibility-panel__tab .accessibility-panel__information__icon svg{width:22px;height:22px;fill:#4C525E;vertical-align:top;}
.accessibility-panel__tab--active {color:#002CAD!important;border-bottom: 2px solid #002CAD;border-top:2px solid #002CAD;}
.accessibility-panel__tab--active .accessibility-panel__tools__icon svg,
.accessibility-panel__tab--active .accessibility-panel__information__icon svg{fill:#002CAD;}

.accessibility-panel__content {display: none;padding: 20px;}
.accessibility-panel__content--active {display: block;}

/* ==========================================
   CATEGORIE
   ========================================== */

.accessibility-category + .accessibility-category {margin-top: 24px;}
.accessibility-category__title {margin: 0 0 12px;font-size: 16px !important;font-weight: 700;text-align:left!important;}
.accessibility-category__controls {display: grid;grid-template-columns: repeat(4, minmax(0, 1fr));gap: 12px;}
.accessibility-category.accessibility-category-color .accessibility-category__controls {display: grid;grid-template-columns: repeat(3, minmax(0, 1fr));gap: 12px;}


/* ==========================================
   TOGGLE
   ========================================== */

.accessibility-control-toggle {
display: flex;flex-direction: column;align-items: center;justify-content: center;
gap: 12px;width: 100%;padding: 16px;

	border: 1px solid #d1d5db;
	border-radius: 12px;

	background: #fff;

	cursor: pointer;

	text-align: center;

	transition:
		background .2s ease,
		border-color .2s ease,
		transform .2s ease;

}
.accessibility-control-toggle[data-state="on"]
.accessibility-control__icon img {

	filter: brightness(0) invert(1);

}
.accessibility-control-toggle:hover {

	background: #f9fafb;

	transform: translateY(-2px);

}

.accessibility-control-toggle[data-state="on"] {

	background: #002CAD;

	color: #fff;

	border-color: #002CAD;

}

.accessibility-control-toggle .accessibility-control__icon {display: flex;align-items: center;justify-content: center;}
.accessibility-control-toggle .accessibility-control__icon img,
.accessibility-control-toggle .accessibility-control__icon svg {width:20px;height:20px;display: block;}

.accessibility-control-toggle .accessibility-control__label{
	font-size: 14px!important;font-weight: 400!important;line-height: 1.3em!important;text-align: center!important;
}

/* ==========================================
   STEPPER
   ========================================== */

.accessibility-control-stepper {grid-column: span 2;gap: 12px;width: 100%;padding: 12px;border: 1px solid #d1d5db;
border-radius: 8px;background: #fff;position:relative;}
.accessibility-control-stepper .accessibility-control__icon {width: 20px;height: 20px;position:absolute;left:12px;top:10px;}
.accessibility-control-stepper .accessibility-control__icon img{width: 20px;height: 20px;}
.accessibility-control-stepper .accessibility-control__label {text-align: left!important;
	font-size: 14px !important;
  line-height: 16px !important;
  display: block;padding-left:30px;min-height: 35px;
  margin-bottom: 10px;letter-spacing:0!important;}
.accessibility-stepper{position:relative;text-align:center!important;  line-height: 33px !important;}
.accessibility-stepper button{position:absolute;top:0;position: absolute;display: inline-flex;justify-content: center;align-items: center;width: 70px;height: 33px;
top: 0px;border:0;border-radius:12px;cursor: pointer;line-height: 1;z-index: 2;transform: translateZ(0px);
background-color:#002CAD;transition: 0.15s;color:#FFF;}
.accessibility-stepper button:disabled{opacity:0.4;cursor:default;}
.accessibility-stepper button.accessibility-stepper__button--decrease{left:0;}
.accessibility-stepper button.accessibility-stepper__button--increase{right:0;}
.accessibility-stepper .accessibility-stepper__value{color:#002CAD;}

/* ==========================================
   MANIFESTO
   ========================================== */

.accessibility-manifest__title {

	margin-top: 0;
	margin-bottom: 16px;

}

.accessibility-manifest__content {

	line-height: 1.6;

}

/* ==========================================
   FOOTER
   ========================================== */
.accessibility-panel-footer {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;padding:10px 20px 5px 20px;  border-top: 1px solid #e5e7eb;
}

 .accessibility-panel__close{padding:5px 5px;background:#002CAD!important;cursor: pointer;font-size:14px!important;text-align:center!important;
color: #EDF5FD !important;border: 2px solid #002CAD;border-radius:12px;}
 .accessibility-reset{padding:5px 5px;background:#002CAD!important;cursor: pointer;font-size:14px!important;text-align:center!important;
color: #EDF5FD !important;border: 2px solid #002CAD;border-radius:12px;}
 .accessibility-reset:disabled{padding:5px 5px;background:#EDF5FD!important;cursor: default;font-size:14px!important;text-align:center!important;
color: #002CAD !important;border: 2px solid #002CAD;border-radius:12px;opacity:0.5;}
.accessibility-panel-footer-icon{padding-right:5px;}
.accessibility-panel-footer-icon svg{width:17px;}
.accessibility-reset .accessibility-panel-footer-icon svg{fill:#EDF5FD;}
.accessibility-reset:disabled .accessibility-panel-footer-icon svg{fill:#002CAD;}
.accessibility-panel__close .accessibility-panel-footer-icon svg{fill:#EDF5FD;}

.accessibility-panel-footer-copy {padding: 0 20px;font-size: 12px!important;text-align: center!important;color:#4C525E !important;}
.accessibility-panel-footer-copy a{color:#4C525E;text-decoration: underline;}
.accessibility-panel-footer-copy a:active, .accessibility-panel-footer-copy a:hover {color:#002CAD !important;text-decoration: underline;}

/* ==========================================
   MOBILE
   ========================================== */

@media (max-width: 720px) {
	.accessibility-reading-guide {width:440px;top: calc(var(--accessibility-follow-y));left:calc(var(--accessibility-follow-x) - 220px);}
}

@media (max-width: 560px) {

	.accessibility-panel {

		width: calc(100vw - 20px);

	}

	.accessibility-category__controls {

		  grid-template-columns: repeat(2, minmax(0, 1fr));

	}

	.accessibility-control-stepper {

		    grid-column: span 2;

	}
	.accessibility-panel-footer{  grid-template-columns: repeat(1, minmax(0, 1fr));}
	.accessibility-panel-main{  height: calc(100% - 125px);}
	
	.accessibility-reading-guide {width:280px;top: calc(var(--accessibility-follow-y));left:calc(var(--accessibility-follow-x) - 140px);}
}






