/**
 * Theme Switcher (Dark/Light Mode Toggle)
 */

.menu-item-theme-toggle {
	align-items: center;
	display: flex;
}

.theme-switch-wrapper {
	align-items: center;
	display: flex;
	justify-content: center;
	padding: var(--spacing-sm);
}

.theme-switch {
	cursor: pointer;
	display: inline-block;
	height: 30px;
	position: relative;
	width: 60px;
}

.theme-switch input {
	height: 0;
	opacity: 0;
	width: 0;
}

.theme-switch .slider {
	background-color: var(--accent);
	border-radius: 30px;
	bottom: 0;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
	transition: all var(--transition-speed) var(--transition-easing);
}

.theme-switch .slider:before {
	background-color: rgba(255, 255, 255, 0.9);
	border-radius: 50%;
	bottom: 4px;
	box-shadow: var(--shadow-cards);
	content: "";
	height: 22px;
	left: 4px;
	position: absolute;
	transition: all var(--transition-speed) var(--transition-easing);
	width: 22px;
}

.theme-switch input:checked+.slider {
	background-color: rgba(0, 0, 0, 0.3);
}

.theme-switch input:checked+.slider:before {
	background-color: var(--accent);
	transform: translateX(30px);
}

.theme-switch .slider.round {
	border-radius: 30px;
}

.theme-switch .slider.round:before {
	border-radius: 50%;
}

/* Focus state for accessibility */
.theme-switch input:focus+.slider {
	outline: 2px solid var(--accent);
	outline-offset: 2px;
}

/* Hover state */
.theme-switch:hover .slider {
	opacity: 0.9;
}

/* Mobile menu positioning */
@media (max-width: 1024px) {
	.menu-item-theme-toggle {
		border-bottom: 0;
		border-top: 1px solid var(--base-3);
		justify-content: center;
		margin-top: var(--spacing-base);
		padding: var(--spacing-base) 0;
	}
}
