.zyre-addon-toggle .zyre-toggle-switch-control {
	transition: background var(--zy-transition-duration);
}

.zyre-addon-toggle .zyre-toggle-switch-control::before {
	--horizontal-position: 0px;
	--vertical-position: 0px;
	--transition-duration: 400ms;
    content: "";
    transform: translateX(0);
	position: absolute;
	bottom: var(--vertical-position);
	z-index: 1;
	transition: all var(--transition-duration);
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.zyre-addon-toggle .zyre-toggle-switch-type-switch .zyre-toggle-switch-control,
.zyre-addon-toggle .zyre-toggle-switch-type-title .zyre-toggle-switch-text {
	cursor: pointer;
}

body:not(.rtl) .zyre-addon-toggle .zyre-toggle-switch-control::before {
	left: var(--horizontal-position);
}

body.rtl .zyre-addon-toggle .zyre-toggle-switch-control::before {
	right: var(--horizontal-position);
}

body:not(.rtl) .zyre-addon-toggle .zyre-toggle-switch-type-switch .zyre-toggle-switch-input:checked + .zyre-toggle-switch-control::before {
	left: 100%;
	transform: translateX(calc(-100% - var(--horizontal-position)));
}

body.rtl .zyre-addon-toggle .zyre-toggle-switch-type-switch .zyre-toggle-switch-input:checked + .zyre-toggle-switch-control::before {
	right: 100%;
	transform: translateX(calc(100% + var(--horizontal-position)));
}

.zyre-addon-toggle .zyre-toggle-switch-control::after {
	position: absolute;
}

.zyre-addon-toggle .zyre-toggle-switch-input:not(:checked) + .zyre-toggle-switch-control:not(.text-above-switcher-button)::after,
.zyre-addon-toggle .zyre-toggle-switch-input:not(:checked) + .zyre-toggle-switch-control.text-above-switcher-button::before {
	content: attr(data-inactive_text);
}

body:not(.rtl) .zyre-addon-toggle .zyre-toggle-switch-input:not(:checked) + .zyre-toggle-switch-control:not(.text-above-switcher-button)::after {
    right: 20px;
    left: auto;
}

body.rtl .zyre-addon-toggle .zyre-toggle-switch-input:not(:checked) + .zyre-toggle-switch-control:not(.text-above-switcher-button)::after {
    left: 20px;
    right: auto;
}

.zyre-addon-toggle .zyre-toggle-switch-input:checked + .zyre-toggle-switch-control:not(.text-above-switcher-button)::after,
.zyre-addon-toggle .zyre-toggle-switch-input:checked + .zyre-toggle-switch-control.text-above-switcher-button::before {
	content: attr(data-active_text);
}

body:not(.rtl) .zyre-addon-toggle .zyre-toggle-switch-type-switch .zyre-toggle-switch-input:checked + .zyre-toggle-switch-control:not(.text-above-switcher-button)::after {
	left: 20px;
	right: auto;
}

body.rtl .zyre-addon-toggle .zyre-toggle-switch-type-switch .zyre-toggle-switch-input:checked + .zyre-toggle-switch-control:not(.text-above-switcher-button)::after {
	right: 20px;
	left: auto;
}

.zyre-addon-toggle .zyre-toggle-content-section:not(.active) {
    display: none;
}