.cruzesti-a11y-root,
.cruzesti-a11y-root * {
	box-sizing: border-box;
}

.cruzesti-a11y-trigger {
	position: fixed;
	right: var(--cruzesti-a11y-offset);
	top: 50%;
	bottom: auto;
	z-index: 999998;
	display: grid;
	place-items: center;
	width: 82px;
	height: 82px;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: #fff;
	box-shadow: none;
	cursor: pointer;
	font: 700 12px/1.1 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	padding: 0;
	transform: translateY(-50%);
}

.cruzesti-a11y-trigger:hover,
.cruzesti-a11y-trigger:focus,
.cruzesti-a11y-trigger:active {
	background: transparent !important;
	color: #fff !important;
}

.cruzesti-a11y-left .cruzesti-a11y-trigger {
	right: auto;
	left: var(--cruzesti-a11y-offset);
}

.cruzesti-a11y-trigger-icon {
	position: absolute;
	left: 50%;
	top: 50%;
	display: block;
	width: 82px;
	height: 82px;
	line-height: 0;
	transform: translate(-50%, -50%);
}

.cruzesti-a11y-trigger-icon img {
	display: block;
	width: 82px !important;
	height: 82px !important;
	max-width: none !important;
	object-fit: contain;
	border: 0 !important;
	border-radius: 50%;
	box-shadow: none !important;
	transform: none !important;
}

.cruzesti-a11y-trigger small {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
}

.cruzesti-a11y-panel[hidden],
.cruzesti-a11y-profile-list[hidden],
.cruzesti-a11y-structure[hidden],
.cruzesti-a11y-reader-guide[hidden],
.cruzesti-a11y-reading-mask[hidden],
.cruzesti-a11y-tooltip[hidden] {
	display: none !important;
}

.cruzesti-a11y-panel {
	position: fixed;
	right: var(--cruzesti-a11y-offset);
	top: 50%;
	bottom: auto;
	z-index: 999999;
	width: min(calc(100vw - 24px), var(--cruzesti-a11y-panel-width));
	max-height: min(760px, calc(100vh - 110px));
	overflow: hidden;
	border-radius: 0 0 12px 12px;
	background: #eef0f5;
	box-shadow: 0 18px 55px rgba(0, 0, 0, 0.28);
	color: #070b12;
	font: 700 15px/1.35 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	transform: translateY(-50%);
}

.cruzesti-a11y-left .cruzesti-a11y-panel {
	right: auto;
	left: var(--cruzesti-a11y-offset);
}

.cruzesti-a11y-oversized .cruzesti-a11y-panel {
	--cruzesti-a11y-panel-width: 520px;
	font-size: 18px;
}

.cruzesti-a11y-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 18px;
	background: var(--cruzesti-a11y-brand);
	color: #fff;
}

.cruzesti-a11y-header h2 {
	margin: 0;
	color: #fff;
	font-size: 18px;
	letter-spacing: 0;
}

.cruzesti-a11y-header h2 span {
	font-size: 0.82em;
}

.cruzesti-a11y-header .cruzesti-a11y-close {
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	border: 0;
	border-radius: 0;
	background: transparent !important;
	color: #fff !important;
	font: 800 30px/1 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	cursor: pointer;
	text-transform: none;
	box-shadow: none;
	padding: 0;
}

.cruzesti-a11y-header .cruzesti-a11y-close:hover,
.cruzesti-a11y-header .cruzesti-a11y-close:focus,
.cruzesti-a11y-header .cruzesti-a11y-close:active {
	background: rgba(255, 255, 255, 0.14) !important;
	color: #fff !important;
	outline: 2px solid rgba(255, 255, 255, 0.75);
	outline-offset: 2px;
}

.cruzesti-a11y-panel-body {
	max-height: calc(min(760px, 100vh - 110px) - 80px);
	overflow: auto;
	padding: 12px;
}

.cruzesti-a11y-row-button,
.cruzesti-a11y-switch-line {
	display: grid;
	grid-template-columns: 46px 1fr 24px;
	gap: 10px;
	align-items: center;
	width: 100%;
	min-height: 58px;
	margin: 0;
	padding: 10px 0;
	border: 0;
	border-bottom: 1px solid #bfc7d8;
	background: transparent;
	color: #070b12;
	text-align: left;
	cursor: pointer;
}

.cruzesti-a11y-pill,
.cruzesti-a11y-profile-icon {
	display: grid;
	place-items: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: #064ff0;
	color: #fff;
	font-weight: 800;
}

.cruzesti-a11y-profile-icon {
	background: #050505;
}

.cruzesti-a11y-switch-line input {
	justify-self: end;
	width: 42px;
	height: 22px;
	accent-color: var(--cruzesti-a11y-brand);
}

.cruzesti-a11y-profile-list {
	display: grid;
	gap: 8px;
	margin: 10px 0;
}

.cruzesti-a11y-profile-list button {
	border: 1px solid #cbd5e1;
	border-radius: 8px;
	padding: 10px 12px;
	background: #fff;
	color: #070b12;
	text-align: left;
	cursor: pointer;
}

.cruzesti-a11y-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	padding: 18px 0;
}

.cruzesti-a11y-tile {
	min-height: 118px;
	display: grid;
	place-items: center;
	gap: 5px;
	border: 2px solid transparent;
	border-radius: 12px;
	padding: 12px 8px;
	background: #fff;
	color: #050505;
	cursor: pointer;
	text-align: center;
}

.cruzesti-a11y-tile span {
	font-size: 34px;
	line-height: 1;
}

.cruzesti-a11y-tile strong {
	font-size: 14px;
	line-height: 1.15;
}

.cruzesti-a11y-tile small {
	color: #536070;
	font-size: 11px;
	font-weight: 600;
}

.cruzesti-a11y-tile.is-active {
	border-color: var(--cruzesti-a11y-brand);
	box-shadow: inset 0 0 0 1px var(--cruzesti-a11y-brand);
}

.cruzesti-a11y-reset {
	display: flex;
	gap: 12px;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 56px;
	border: 0;
	border-radius: 10px;
	background: var(--cruzesti-a11y-brand);
	color: #fff;
	font: inherit;
	cursor: pointer;
}

.cruzesti-a11y-note {
	margin: 10px 0 0;
	color: #536070;
	font-size: 12px;
	font-weight: 500;
	text-align: center;
}

.cruzesti-a11y-structure {
	max-height: 260px;
	overflow: auto;
	margin-bottom: 12px;
	padding: 12px;
	border-radius: 10px;
	background: #fff;
}

.cruzesti-a11y-structure ol {
	margin: 8px 0 0;
	padding-left: 20px;
}

.cruzesti-a11y-structure .level-3,
.cruzesti-a11y-structure .level-4,
.cruzesti-a11y-structure .level-5,
.cruzesti-a11y-structure .level-6 {
	margin-left: 16px;
}

.cruzesti-a11y-live {
	position: fixed;
	left: 50%;
	bottom: 18px;
	z-index: 1000000;
	transform: translateX(-50%);
	max-width: min(560px, calc(100vw - 32px));
	border-radius: 8px;
	padding: 10px 14px;
	background: #111827;
	color: #fff;
	font: 600 14px/1.4 system-ui, sans-serif;
}

.cruzesti-a11y-tooltip {
	position: fixed;
	z-index: 1000001;
	max-width: 260px;
	padding: 8px 10px;
	border-radius: 8px;
	background: #111827;
	color: #fff;
	font: 600 13px/1.35 system-ui, sans-serif;
}

.cruzesti-a11y-reader-guide {
	position: fixed;
	left: 0;
	right: 0;
	z-index: 999997;
	height: 4px;
	background: #ffcc00;
	pointer-events: none;
}

.cruzesti-a11y-reading-mask {
	position: fixed;
	inset: 0;
	z-index: 999996;
	pointer-events: none;
	background: linear-gradient(to bottom, rgba(0, 0, 0, 0.55) 0, rgba(0, 0, 0, 0.55) calc(var(--mask-y, 50vh) - 80px), transparent calc(var(--mask-y, 50vh) - 80px), transparent calc(var(--mask-y, 50vh) + 80px), rgba(0, 0, 0, 0.55) calc(var(--mask-y, 50vh) + 80px));
}

html.cruzesti-a11y-smartContrast body > :not(.cruzesti-a11y-root):not(.cruzesti-a11y-live):not(.cruzesti-a11y-tooltip) {
	filter: contrast(1.2);
}

html.cruzesti-a11y-contrast-invert body > :not(.cruzesti-a11y-root):not(.cruzesti-a11y-live):not(.cruzesti-a11y-tooltip) {
	filter: invert(1) hue-rotate(180deg);
}

html.cruzesti-a11y-contrast-dark body {
	background: #000 !important;
	color: #fff !important;
}

html.cruzesti-a11y-contrast-dark body :not(.cruzesti-a11y-root):not(.cruzesti-a11y-root *) {
	background-color: #000 !important;
	color: #fff !important;
	border-color: #fff !important;
}

html.cruzesti-a11y-contrast-light body {
	background: #fff !important;
	color: #000 !important;
}

html.cruzesti-a11y-contrast-light body :not(.cruzesti-a11y-root):not(.cruzesti-a11y-root *) {
	background-color: #fff !important;
	color: #000 !important;
	border-color: #000 !important;
}

html.cruzesti-a11y-saturation-low body > :not(.cruzesti-a11y-root):not(.cruzesti-a11y-live):not(.cruzesti-a11y-tooltip) {
	filter: saturate(0.5);
}

html.cruzesti-a11y-saturation-high body > :not(.cruzesti-a11y-root):not(.cruzesti-a11y-live):not(.cruzesti-a11y-tooltip) {
	filter: saturate(1.7);
}

html.cruzesti-a11y-saturation-mono body > :not(.cruzesti-a11y-root):not(.cruzesti-a11y-live):not(.cruzesti-a11y-tooltip) {
	filter: grayscale(1);
}

html.cruzesti-a11y-biggerText-1 body {
	font-size: 112% !important;
}

html.cruzesti-a11y-biggerText-2 body {
	font-size: 125% !important;
}

html.cruzesti-a11y-biggerText-3 body {
	font-size: 140% !important;
}

html.cruzesti-a11y-biggerText-4 body {
	font-size: 155% !important;
}

html.cruzesti-a11y-textSpacing-1 body {
	letter-spacing: 0.04em !important;
	word-spacing: 0.08em !important;
}

html.cruzesti-a11y-textSpacing-2 body {
	letter-spacing: 0.08em !important;
	word-spacing: 0.14em !important;
}

html.cruzesti-a11y-textSpacing-3 body {
	letter-spacing: 0.12em !important;
	word-spacing: 0.2em !important;
}

html.cruzesti-a11y-lineHeight-1 body {
	line-height: 1.7 !important;
}

html.cruzesti-a11y-lineHeight-2 body {
	line-height: 2 !important;
}

html.cruzesti-a11y-lineHeight-3 body {
	line-height: 2.3 !important;
}

html.cruzesti-a11y-highlightLinks a {
	outline: 3px solid #ffcc00 !important;
	background: #fff7b0 !important;
	color: #001b44 !important;
	text-decoration: underline !important;
}

html.cruzesti-a11y-hideImages img,
html.cruzesti-a11y-hideImages picture,
html.cruzesti-a11y-hideImages video,
html.cruzesti-a11y-hideImages svg {
	visibility: hidden !important;
}

html.cruzesti-a11y-hideImages .cruzesti-a11y-root img,
html.cruzesti-a11y-hideImages .cruzesti-a11y-root svg,
html.cruzesti-a11y-hideImages .cruzesti-a11y-root video,
html.cruzesti-a11y-hideImages .cruzesti-a11y-root picture {
	visibility: visible !important;
}

html.cruzesti-a11y-dyslexia body {
	font-family: Verdana, Tahoma, Arial, sans-serif !important;
}

html.cruzesti-a11y-cursor-1,
html.cruzesti-a11y-cursor-2,
html.cruzesti-a11y-cursor-3 {
	cursor: zoom-in !important;
}

html.cruzesti-a11y-pauseAnimations *,
html.cruzesti-a11y-pauseAnimations *::before,
html.cruzesti-a11y-pauseAnimations *::after {
	animation-duration: 0.001s !important;
	animation-iteration-count: 1 !important;
	transition-duration: 0.001s !important;
	scroll-behavior: auto !important;
}

html.cruzesti-a11y-pauseAnimations .cruzesti-a11y-root,
html.cruzesti-a11y-pauseAnimations .cruzesti-a11y-root *,
html.cruzesti-a11y-pauseAnimations .cruzesti-a11y-root *::before,
html.cruzesti-a11y-pauseAnimations .cruzesti-a11y-root *::after {
	transition-duration: 0.16s !important;
}

html.cruzesti-a11y-textAlign-left body {
	text-align: left !important;
}

html.cruzesti-a11y-textAlign-center body {
	text-align: center !important;
}

html.cruzesti-a11y-textAlign-right body {
	text-align: right !important;
}

@media (max-width: 640px) {
	.cruzesti-a11y-trigger {
		right: 12px;
		width: 70px;
		height: 70px;
	}

	.cruzesti-a11y-left .cruzesti-a11y-trigger {
		left: 12px;
		right: auto;
	}

	.cruzesti-a11y-trigger-icon,
	.cruzesti-a11y-trigger-icon img {
		width: 70px !important;
		height: 70px !important;
	}

	.cruzesti-a11y-panel {
		left: 12px;
		right: 12px;
		top: 50%;
		bottom: auto;
		width: auto;
	}

	.cruzesti-a11y-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
