#neurobit-accessibility {
	box-sizing: border-box;
	width: 390px;
	max-width: calc(100% - 24px);
	max-height: calc(100dvh - 32px);
	margin: auto;
	padding: 0;
	overflow: auto;
	border: 1px solid #dce4e8;
	border-radius: 8px;
	background: #fff;
	color: #252a2e;
	box-shadow: 0 12px 40px rgba(20, 31, 38, .2);
	font-family: Arial, Helvetica, sans-serif;
	font-size: 16px;
	line-height: 1.5;
	letter-spacing: 0;
}

#neurobit-accessibility:not([open]) {
	display: none;
}

#neurobit-accessibility::backdrop {
	background: rgba(20, 31, 38, .35);
}

.neurobit-accessibility__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 20px;
	border-bottom: 3px solid #01abec;
}

#neurobit-accessibility h2 {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0;
}

#neurobit-accessibility h2 i {
	color: #007da9;
	font-size: 24px;
}

#neurobit-accessibility button,
.neurobit-accessibility-footer button {
	color: #252a2e;
	background: #fff;
	border: 1px solid #ced9df;
	border-radius: 4px;
	font: 600 14px/1.4 Arial, Helvetica, sans-serif;
	cursor: pointer;
	letter-spacing: 0;
}

#neurobit-accessibility .neurobit-accessibility__close {
	display: grid;
	place-items: center;
	flex: 0 0 40px;
	width: 40px;
	height: 40px;
	padding: 0;
	font-size: 18px;
}

.neurobit-accessibility__options {
	padding: 4px 20px;
}

#neurobit-accessibility label {
	display: grid;
	grid-template-columns: 24px minmax(0, 1fr) 24px;
	align-items: center;
	gap: 12px;
	min-height: 66px;
	margin: 0;
	padding: 12px 0;
	border-bottom: 1px solid #e5eaed;
	font-weight: 500;
	cursor: pointer;
}

#neurobit-accessibility label:last-child {
	border-bottom: 0;
}

#neurobit-accessibility label > i {
	color: #007da9;
	text-align: center;
}

#neurobit-accessibility input[type="checkbox"] {
	appearance: auto;
	position: static;
	width: 22px;
	height: 22px;
	margin: 0;
	opacity: 1;
	accent-color: #007da9;
	cursor: pointer;
}

.neurobit-accessibility__footer {
	padding: 18px 20px;
	border-top: 1px solid #e5eaed;
	background: #f5f8f9;
}

#neurobit-accessibility .neurobit-accessibility__reset {
	width: 100%;
	min-height: 44px;
	padding: 10px;
}

.neurobit-accessibility__reset i {
	margin-right: 6px;
}

#neurobit-accessibility button:hover,
.neurobit-accessibility-footer button:hover {
	color: #005f80;
	border-color: #007da9;
	background: #edfaff;
}

#neurobit-accessibility :focus-visible,
[data-neurobit-accessibility]:focus-visible {
	outline: 3px solid #007da9;
	outline-offset: 3px;
}

.neurobit-accessibility-footer {
	padding: 16px;
	background: #fff;
	text-align: center;
}

.neurobit-accessibility-footer button {
	min-height: 44px;
	padding: 10px 16px;
}

html.neurobit-a11y-modal-open {
	overflow: hidden;
}

html.neurobit-a11y-font body,
html.neurobit-a11y-font :is(h1, h2, h3, h4, h5, h6, p, a, button, label, input, select, textarea, th, td, .price) {
	font-family: Arial, Helvetica, sans-serif !important;
}

html.neurobit-a11y-links a[href] {
	text-decoration-line: underline !important;
	text-decoration-thickness: 2px !important;
	text-underline-offset: 3px !important;
}

html.neurobit-a11y-focus body :focus {
	outline: 3px solid #111 !important;
	outline-offset: 3px !important;
	box-shadow: 0 0 0 3px #ffdf00 !important;
}

html.neurobit-a11y-motion,
html.neurobit-a11y-motion *,
html.neurobit-a11y-motion *::before,
html.neurobit-a11y-motion *::after {
	scroll-behavior: auto !important;
	animation-duration: .01ms !important;
	animation-iteration-count: 1 !important;
	transition-duration: .01ms !important;
	transition-delay: 0ms !important;
}

@media (min-width: 1440px) {
	#neurobit-accessibility {
		inset: 80px auto auto calc(var(--neurobit-commerce-rail-width, 82px) + 16px);
		max-height: calc(100dvh - 96px);
		margin: 0;
	}

	.neurobit-accessibility-footer {
		display: none;
	}

	#neurobit-commerce-rail .neurobit-commerce-rail__accessibility {
		margin-top: 8px;
		color: #007da9;
		font-size: 9px;
	}

	#neurobit-commerce-rail .neurobit-commerce-rail__accessibility > i {
		font-size: 23px;
	}
}

/* Keep every rail action visible on shorter screens, including browser zoom. */
@media (min-width: 1440px) and (max-height: 740px) {
	#neurobit-commerce-rail {
		padding-top: 6px;
		padding-bottom: 6px;
	}

	#neurobit-commerce-rail .neurobit-commerce-rail__brand {
		margin-bottom: 4px;
		padding-top: 2px;
		padding-bottom: 4px;
	}

	#neurobit-commerce-rail .neurobit-commerce-rail__item {
		padding-top: 2px;
		padding-bottom: 2px;
		gap: 3px;
	}

	#neurobit-commerce-rail .neurobit-commerce-rail__group--business {
		padding-top: 4px;
	}

	#neurobit-commerce-rail .neurobit-commerce-rail__accessibility {
		margin-top: 4px;
	}
}

@media (min-width: 1440px) and (max-height: 520px) {
	#neurobit-commerce-rail .neurobit-commerce-rail__brand,
	#neurobit-commerce-rail .neurobit-commerce-rail__item {
		gap: 2px;
	}

	#neurobit-commerce-rail .neurobit-commerce-rail__item > i {
		font-size: 17px;
	}

	#neurobit-commerce-rail .neurobit-commerce-rail__brand > i {
		font-size: 19px;
	}
}
