/* Smooth background transition */
body {
    transition: background 0.5s ease-in-out;
}

.theme-dropdown {
    opacity: 0;
    transform: translateY(-10px); /* Start slightly above */
    visibility: hidden;
    position: absolute;
    top: 100%;
    left: 0;
    background-color: transparent;
    padding: 0px;
    z-index: 10;
    transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s;
}

.theme-toggle {
	padding: 5px;
    border-radius: 100px;
    background-color: rgba(255, 255, 255, 0.0);
}

.theme-toggle:hover {
	background-color: rgba(255, 255, 255, 0.4);
}

.theme-container-outer {
	cursor: pointer;
	display: flex;
	flex-direction: row;
	align-items: center;
}

.theme-arrow {
	padding-left: 5px;
}

.theme-container {
    position: relative;
}

.theme-status-container, .theme-dropdown {
	padding: 5px;
	width: 60px;
	height: 60px;
}

.theme-container-outer:hover .theme-dropdown,
.theme-status-container:hover + .theme-dropdown,
.theme-dropdown:hover {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
}

.theme-container-outer:hover > div > div,
.theme-container:hover > div {
	background-color: rgba(255, 255, 255, 0.2); /* Transparent white */
    transition: background-color 0.3s ease;
}

.theme-container-outer:hover .theme-status-container,
.theme-container:hover .theme-status-container  {
	border-radius: 30px 30px 0px 0px;
}

.theme-container-outer:hover .theme-dropdown,
.theme-container:hover .theme-dropdown  {
	border-radius: 0px 0px 30px 30px;
}

.theme-status,
.theme-toggle {
    transition: opacity 0.3s ease-in-out;
}

/* Immediately hide inactive theme */
.summer-theme .winter-theme,
.winter-theme .summer-theme {
    display: none;
}

/* Fade in active theme */
.summer-theme .summer-theme,
.winter-theme .winter-theme {
    display: block;
    opacity: 0;
    animation: fadeIn 0.5s ease-in-out forwards;
}


/* Keyframe for smooth fade-in effect */
@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}
