#privacy-settings-modal .privacy-category {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 25px !important;
}

#privacy-settings-modal .privacy-category-text {
    flex: 1 1 auto !important;
    min-width: 0 !important;
}

/* Main switch container */
#privacy-settings-modal label.privacy-switch {
    position: relative !important;
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;

    flex: 0 0 56px !important;
    width: 56px !important;
    min-width: 56px !important;
    max-width: 56px !important;

    height: 32px !important;
    min-height: 32px !important;

    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;
    border: 0 !important;

    overflow: visible !important;
    cursor: pointer !important;
    z-index: 10 !important;
}

/* Hide the real checkbox but keep it accessible */
#privacy-settings-modal label.privacy-switch input {
    position: absolute !important;
    display: block !important;

    width: 1px !important;
    height: 1px !important;

    margin: 0 !important;
    padding: 0 !important;

    opacity: 0 !important;
    visibility: visible !important;

    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;

    overflow: hidden !important;
    white-space: nowrap !important;
}

/* Visible switch background */
#privacy-settings-modal label.privacy-switch .privacy-switch-slider {
    position: absolute !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;

    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;

    width: 56px !important;
    height: 32px !important;

    margin: 0 !important;
    padding: 0 !important;

    background: #767676 !important;
    border: 1px solid #555555 !important;
    border-radius: 999px !important;

    cursor: pointer !important;
    transition:
        background-color 0.2s ease,
        border-color 0.2s ease !important;

    box-sizing: border-box !important;
    z-index: 11 !important;
}

/* White round switch handle */
#privacy-settings-modal label.privacy-switch
.privacy-switch-slider::before {
    position: absolute !important;
    display: block !important;
    visibility: visible !important;

    width: 24px !important;
    height: 24px !important;

    left: 3px !important;
    top: 3px !important;
    bottom: auto !important;

    margin: 0 !important;

    background: #ffffff !important;
    border-radius: 50% !important;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.35) !important;

    content: "" !important;

    transform: translateX(0) !important;
    transition: transform 0.2s ease !important;

    box-sizing: border-box !important;
}

/* Switch ON */
#privacy-settings-modal label.privacy-switch
input:checked + .privacy-switch-slider {
    background: #167347 !important;
    border-color: #167347 !important;
}

/* Move round handle when ON */
#privacy-settings-modal label.privacy-switch
input:checked + .privacy-switch-slider::before {
    transform: translateX(24px) !important;
}

/* Necessary category */
#privacy-settings-modal label.privacy-switch
input:disabled + .privacy-switch-slider {
    background: #167347 !important;
    border-color: #167347 !important;
    cursor: not-allowed !important;
    opacity: 0.75 !important;
}

/* Keyboard focus */
#privacy-settings-modal label.privacy-switch
input:focus-visible + .privacy-switch-slider {
    outline: 3px solid #ffbf47 !important;
    outline-offset: 3px !important;
}

/* Mobile */
@media (max-width: 600px) {
    #privacy-settings-modal .privacy-category {
        align-items: center !important;
    }

    #privacy-settings-modal label.privacy-switch {
        flex: 0 0 56px !important;
    }
}