/* theme-toggle_demo4.css - Demo 4: Playful Creative */

.theme-toggle-button-d4 {
    position: relative;
    width: 60px;
    height: 30px;
    margin-left: 20px;
    cursor: pointer;
    background: none;
    border: none;
}

.toggle-track {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #DDDDDD;
    border-radius: 30px;
    transition: background-color 0.3s ease;
}

body[data-theme='dark'] .toggle-track {
    background-color: #666666;
}

.toggle-thumb {
    position: absolute;
    top: 2px;
    left: 2px;
    width: 26px;
    height: 26px;
    background-color: #FFFFFF;
    border-radius: 50%;
    transition: transform 0.3s ease, background-color 0.3s ease;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
}

body[data-theme='dark'] .toggle-thumb {
    transform: translateX(30px);
    background-color: #FFE66D; /* Yellow for moon */
}

.toggle-track::before {
    content: "☀️";
    position: absolute;
    top: 6px;
    left: 7px;
    font-size: 14px;
    opacity: 1;
    transition: opacity 0.3s ease;
}

.toggle-track::after {
    content: "🌙";
    position: absolute;
    top: 6px;
    right: 7px;
    font-size: 14px;
    opacity: 0;
    transition: opacity 0.3s ease;
}

body[data-theme='dark'] .toggle-track::before {
    opacity: 0;
}

body[data-theme='dark'] .toggle-track::after {
    opacity: 1;
}

.theme-toggle-button-d4:hover .toggle-thumb {
    box-shadow: 0 0 8px var(--color-accent);
}

.theme-toggle-button-d4:focus {
    outline: none;
}

.theme-toggle-button-d4:focus .toggle-track {
    box-shadow: 0 0 0 2px var(--color-accent);
}
