/* ========================================
   FORM CHECKBOX COMPONENT
   ======================================== */

.form-checkbox {
    display: flex;
    align-items: center;
    cursor: pointer;
}

.form-checkbox-input {
    width: 20px;
    height: 20px;
    border: var(--input-border-width) solid var(--color-border-default);
    border-radius: var(--radius-sm);
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    background-color: var(--color-bg-primary);
    transition:
        background-color var(--transition-fast),
        border-color var(--transition-fast),
        box-shadow var(--transition-fast);
}

.form-checkbox-input:checked {
    background-color: var(--color-brand-primary);
    border-color: var(--color-brand-primary);
    background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e");
    background-size: 100%;
    background-position: center;
    background-repeat: no-repeat;
}

.form-checkbox-input:focus {
    outline: none;
    border-color: var(--color-brand-primary);
    box-shadow: var(--shadow-focus);
}

.form-checkbox-input:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.form-checkbox-label {
    margin-left: var(--space-2);
    font-size: var(--font-size-sm);
    color: var(--color-text-muted);
    user-select: none;
}

.form-checkbox-input:disabled ~ .form-checkbox-label {
    opacity: 0.5;
    cursor: not-allowed;
}
